/* START CLEAR ALL STYLES */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
} 

/* END CLEAR ALL STYLES */


body {
    font-family: objektiv-mk3, sans-serif;
    color: #202126;
    background-color: #F4F4F2;

}

.default-button {
    border: 1px solid #202126;
    background-color: #F4F4F2;
    border-radius: 50px;
    padding: 5px 20px 5px 20px;
    max-width: fit-content;
    max-height: fit-content;
    box-shadow: 2px 3px rgb(32, 33, 38, 0.25);

}


/* START FONTS */

@import url("https://use.typekit.net/qeg1tpp.css");

.large-slanted {
    font-weight: 200;
    text-transform: uppercase;
    font-style: italic;
}

.large {
    font-size: 4em;
    font-weight: 200;
    text-transform: uppercase;
}

.title {
    font-size: 2em;
    font-weight: 200;
    text-transform: uppercase;
}

.subtext {
    font-size: 0.7em;
    font-weight: 300;
    text-transform: uppercase;
}

.body-text {
    font-size: 1.2em;
    font-weight: 300;
    line-height: 1.3em;
}

a {
    color: #202126;
    text-decoration: none;
}

.default-button {
    font-size: 1em;
    font-weight: 300;
    text-transform: uppercase;
}

.caption {
    font-size: 0.7em;
    font-weight: 500;
    text-transform: uppercase;
    color: rgb(32, 33, 38, 0.25);
}

.footer-title {
    font-size: 0.7em;
    font-weight: 500;
    text-transform: uppercase;
    color: #F4F4F2;
}

.footer-text {
    font-size: 0.7em;
    font-weight: 300;
    color: #F4F4F2;
    padding-top: 5px;

}
.footer-subtext {
    font-size: 0.5em;
    font-weight: 300;
    text-transform: uppercase;
    color: #F4F4F2;
}

/* END FONTS */

/* START ANIMATIONS */


.button:hover {
    background-color: white;
    transform: scale(1.1);
    transition: all ease 500ms;
}

.button:active {
    background-color: #dedede;
}

.menu-item:hover {
    background-color: white;
}

.menu-item:active {
    background-color: #dedede;
}

.fixed-logo:hover {
    transform: skewX(-5deg);
    transition: 0.2s all ease;
}


.reveal{
    position: relative;
    transform: translateY(150px);
    opacity: 0;
    transition: 0.6s all ease;
  }
  
  .reveal.active{
    transform: translateY(0);
    opacity: 1;
  }





/* END ANIMATIONS */

/* START HAMBURGER STYLES */
  
  #hamburger-icon {
    width: 20px;
    height: 20px;
    position: relative;
    margin: 0px auto;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
  }
  
  #hamburger-icon span {
    position: absolute;
    height: 1px;
    width: 100%;
    background: #202126;
    border-radius: 0px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
  }
  
  
  #hamburger-icon span:nth-child(1) {
    top: 0px;
  }
  
  #hamburger-icon span:nth-child(2), #hamburger-icon span:nth-child(3) {
    top: 10px;
  }
  
  #hamburger-icon span:nth-child(4) {
    top: 20px;
  }
  
  #hamburger-icon.open span:nth-child(1) {
    top: 10px;
    width: 0%;
    left: 50%;
  }
  
  #hamburger-icon.open span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  
  #hamburger-icon.open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  
  #hamburger-icon.open span:nth-child(4) {
    top: 10px;
    width: 0%;
    left: 50%;
  }
  
//
  
#hamburger-icon.close span:nth-child(1) {
    top: 0px;
    width: 100%;
    left: 0%;
  }
  
  #hamburger-icon.close span:nth-child(2) {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  
  #hamburger-icon.close span:nth-child(3) {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  
  #hamburger-icon.close span:nth-child(4) {
    top: 20px;
    width: 100%;
    left: 0%;
  }
  
  
  /* END HAMBURGER STYLES */


/* START STICKY STYLES */
.menu-box {
    box-sizing: border-box;
    position: fixed;
    right: 0;
    min-height: 100vh;
    max-height: 100vh;
    min-width: 100vw;
    display: none;
    background-color: rgb(244, 244, 242);
    z-index: 100001;
}

.menu {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
    min-height: 100vh;
}

.menu-spacing {

}
.menu-item {
    border-bottom: 1px solid #202126;
    background-color: #F4F4F2;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}


.fixed-logo {
    position: fixed;
    z-index: 100000;
    min-height: 100px;
    min-width: 100px;
    margin-left: 100px;
}


.fixed-logo-content{
    box-sizing: border-box;
    padding: 25px 0 0 25px;
}



.fixed-nav {
    box-sizing: border-box;
    max-height: 100px;
    max-width: 150px;
    padding: 25px;
    position: fixed;
    right: 0;
    z-index: 100002;
}

.fixed-nav-content {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 25px;
}
  
.non-fixed-nav {
    box-sizing: border-box;
    width: 100%;
    height: 100px;
    padding-right: 150px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 25px;
}

.fixed-contact-border {
    box-sizing: border-box;
    border-right: 1px solid #202126;
    background-color: #F4F4F2;
    min-width: 100px;
    max-width: 100px;
    height: 100%;
    position: fixed;
    z-index: 100000;
}

.fixed-contact-text {
    box-sizing: border-box;
    padding-bottom: 115px;
    padding-right: 25px;
    margin-top: -25px;
    width: 90vh;
    max-height: 100px;
    min-height: 100px;
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   position: fixed;
   transform-origin: left;
   transform: rotate(90deg);
   z-index: 100000;

}

.hamburger {
    box-sizing: border-box;
    height: 50px;
    width: 50px;
    background-color:#F4F4F2;
    border-radius: 50%;
    border: 1px solid #202126;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    
}

.darkmode {
    box-sizing: border-box;
    max-height: 25px;
    min-height: 25px;
    max-width: 25px;
    min-width: 25px;
    background-color:#F4F4F2;
    border-radius: 50%;
    border: 1px solid #202126;
    /* toggle: display: flex */
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 3px;
}

/* END STICKY STYLES */


/* START CONTENT STYLES */

.base-grid {
    padding: 100px 15vh 100px 125px;
    min-height: 90vh;
    max-width: 100vw;
    box-sizing: border-box;
    border-bottom: 1px solid #202126;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 50px 25px;
}

.hero-box {
    min-height: 100px;
    max-width: 70%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 25px;
}
.contact-box {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-template-rows: auto;
    gap: 25px;
}

.image-box {
    height: 100%;
    width: 100%;
    background-size: cover;
}

.box {
    min-height: 100px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.hero-empty-box {
    min-height: 30vh;
    max-width: 100%;
}

.image-gradient {
    height: 60vh;
    background-image: linear-gradient(to top, transparent, rgb(244, 244, 242, 0.8));
    background-size: cover;
}

.image1 {
    width: 100%;
    height: 100vh;
    background-image: url(welding_singapore_autoply.jpg);
    background-size: cover;
    background-position: bottom;
    
}

.image2 {
    width: 100%;
    height: 100vh;
    background-image: url(welding_singapore_autoply2.jpg);
    background-size: cover;
    background-position: center;
    
}

.caption {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 25px;
}

.project-slideshow {
    width: 100%;
    height: 100vh;
    background-image: url(construction_site_singapore_autoply.jpg);
    background-size: cover;
    background-position: bottom;
    
}

/* START FORM STYLES */
.form-item {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}
/* END FORM STYLES */

/* END CONTENT STYLES */

footer {
box-sizing: border-box;
background-color: #202126;
min-height: 100vh;
max-height: 100vh;
padding-top: 25vh;
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
}

.footer-body {
    display: grid;
    grid-template-columns: 3fr 1fr 1fr;
    padding-left: 150px;
    padding-right: 150px;
}


.footer-item {
    padding-bottom: 5vh;
}

.footer-item-content {
    display: flex;
    flex-direction: column;
}

.footer-bottom {
    border-top: 1px solid #F4F4F2;
    padding: 10px;
    text-align: center;

}

/* START RESPONSIVE ADJUSTMENTS */
   
    /* BREAKPOINT 1 */ 
        @media screen and (max-width: 1240px) {
        
            .hidden-bp1 {
                    display: none;
                }

                .large {
                    font-size: 3.5em;
                }

        }
            

    /* BREAKPOINT 2 */ 
        @media screen and (max-width: 1150px) {

            .hidden-bp2 {
                display: none;
            }

            .large {
                font-size: 3em;
            }

            .base-grid {
                grid-template-columns: 1fr;
                grid-template-rows: auto;

            }
            
            .hero-box {
                padding-top: 25vh;
                width: 50vh;
            }

            .image1 {
                max-height: 50vh;
            }

            .image2 {
                max-height: 50vh;
            }

        }
    /* BREAKPOINT 3 */ 
        @media screen and (max-width: 700px) {
        
        

            .hero-box {
                width: auto;
            }


            .footer-body {
                grid-template-columns: 1fr 1fr 1fr;
            }

            .hidden-bp3 {
                display: none;
            }

            .large {
                font-size: 2.5em;
            }

            .title {
                font-size: 1.8em;
            }

            .body-text {
                font-size: 1em;
            }

            .fixed-contact-border {
                box-sizing: border-box;
                border-right: 1px solid #202126;
                background-color: #F4F4F2;
                min-width: 50px;
                max-width: 100px;
                height: 100%;
                position: fixed;
            }
            
            .fixed-contact-text {
                box-sizing: border-box;
                padding-bottom: 60px;
                padding-right: 25px;
                margin-top: 0px;
                width: 90vh;
                max-height: 50px;
                min-height: 50px;
               display: flex;
               flex-direction: row;
               justify-content: space-between;
               position: fixed;
               transform-origin: left;
               transform: rotate(90deg);
            }
    
            .fixed-logo {
                margin-left: 50px;
            }
    
            .base-grid {
                padding: 50px 25px 50px 75px;
            }

        }
    /* BREAKPOINT 4 */
        @media screen and (max-width: 560px) {


            .footer-body {
                padding-left: 25px;
                padding-right: 25px;
            }

            .large {
                padding-top: 10vh;
                font-size: 2em;
            }

            

        }


    /* BREAKPOINT 5 */
    @media screen and (max-width: 400px) {


        .menu-box {
            border-left: transparent;
            background-color: rgb(244, 244, 242, 0.5);
            
        }

        .contact-box {
            font-size: 0.75em;
        }

        
    }

    /* BREAKPOINT 6 */
    @media screen and (max-width: 350px) {
        .large {
            font-size: 1.5em;
        }

        .title {
            font-size: 1.5em;
        }

    }
    

/* END RESPONSIVE ADJUSTMENTS */