*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body{
    max-width: 100%;
    overflow-x: hidden;
}
body{
    /*background-image: url(./images/crane4.jpg);*/
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: 0 5vh;
    
    background: linear-gradient(90deg, rgb(233, 233, 233) 0%, rgb(255, 255, 255) 25%,rgb(255, 255, 255) 75%, rgb(233, 233, 233) 100%);
   
    overflow-x: hidden;
    
}
body.newgallery{
    background-image: none;
    background: white;
    overflow-x: hidden;
}

nav{
    position: fixed;
    top: 0;
    display: flex;
    justify-content: space-around;
    align-items: center;
    color: snow;
    /* background-color: darkred; */
    background: rgb(0, 116, 44);
    background: linear-gradient(90deg, rgb(127, 211, 141) 0%, rgb(74, 199, 126) 50%, rgb(113, 209, 150) 100%);
    
    border-bottom: 0.8vh solid rgb(206, 172, 24);
    height: 12vh;
    width: 100vw;
    margin: auto;
    z-index: 1;
}

.logo{
    display: flex;
    font-size: 2.5vh;
    text-shadow: 0.1vh 0.1vh 0.1em rgb(0, 0, 0);
    /* color: maroon;
    background-color: snow;
    border: 0.4vh solid rgb(94, 0, 0); */
    color: rgb(206, 172, 24);
    border-radius: 4vh;
    margin-left: 1vw;
    padding: 1.5vh 3vh;
    position: relative;
    padding-bottom: 3vh;
    font-family: 'Vidaloka', serif;
    font-weight: lighter;
    white-space: nowrap;
}
.logo:hover{
    background-color: rgb(56, 146, 94);
}
#a-logo{
    text-decoration: none;
}
.subhead{
    font-size: 2vh;
    text-shadow: 0.1vh 0.1vh 0.1em rgb(0, 0, 0);
    position: absolute;
    color: white;
    top: 6.8vh;
    left: 14vh;
    pointer-events: none;
    font-family: 'Marck Script', cursive;
}

.nav-links{
    display: flex;
    position: fixed;
    flex-direction: column;
    align-items: center;
    height: 88vh;
    width: 50vw;
    top: 12vh;
    right: 0px;
    background-color: rgb(74, 199, 126);
    
    transform: translateX(100vw);
    transition: transform 0.4s ease;
    z-index: 1;
    justify-content: center;
    list-style: none;
}
.nav-links a{
    color: snow;
    font-size: 1.5em;
    text-decoration: none;
    text-align: center;
    align-content: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50vw;
    height: 29.4vh;
    border-bottom: 0.5vh solid rgb(206, 172, 24);
    border-left: 0.5vh solid rgb(206, 172, 24);
    font-family: 'Oswald', sans-serif;
}
nav li:hover{
    background-color: rgb(56, 146, 94);
    
}
.nav-links #phone-icon{
    width: 2em;
    background-color: blue;
    display: flex;
    justify-content: center;
    align-items: center;
}

.burger-line{
    height: 1vh;
    width: 5vh;
    background-color: rgb(206, 172, 24);
    margin: 1vh;
    border-bottom: 0.4vh solid rgb(161, 135, 19);
}  
.flex-burger{
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    flex: 1;
    /*background-color: mediumaquamarine;*/
    width: 100%;
    height: 2vh;
}
.burger{
    margin-right: 2vh;
}
.burger-on{
    background-color: rgb(56, 146, 94);
}
.nav-active{
    transform: translateX(0%);     
}

.text{
    font-family: 'Fraunces', serif;;
    color: rgb(0, 0, 0);
    /*text-shadow: 0.2vh 0.2vh 0.5vh black;*/
    text-align: center;
    display: flex;
    flex-direction: column;
    width: 40vw;
    font-size: 16px;
    
    
}
.text h2{
    font-size: 2em;
    text-shadow: 0.05vh 0.05vh 0.05em rgb(0, 0, 0);
    color: rgb(206, 172, 24);
}
.text p{
    font-size: 0.9em;
    font-weight: lighter;
    margin-bottom: 2vh;
}
.cta{
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.cta a{
    letter-spacing: 0.1em;
    border-radius: 0.5em;
    text-decoration: none;
    /* font-family: 'Oswald', sans-serif; */
    font-family: 'Hind Vadodara', sans-serif;
    font-size: 1.2em;
    font-weight: bold;
    padding: 0.5em 1em;
    text-shadow: none;
    margin: 0 1vw;
    
}
.red{
    /* background: #ED213A;  
    background: -webkit-linear-gradient(to right, #93291E, #ED213A);  
    background: linear-gradient(to right, #93291E, #ED213A);  */
    background: rgb(255,30,30);
background: linear-gradient(180deg, rgba(255,30,30,1) 0%, rgba(151,10,10,1) 100%);

    box-shadow: 0.1em 0.1em 0.1em rgb(151, 10, 10);
    color: white;
    font-weight: bolder;
}
.blue{
    background-color: rgba(81,134,236,255);
    box-shadow: 0.1em 0.1em 0.1em royalblue;
    color: white;
}
.yellow{
    background: rgb(255,166,30);
    background: linear-gradient(180deg, rgba(255,166,30,1) 0%, rgba(241,131,52,1) 100%);
    box-shadow: 0.1em 0.1em 0.1em rgb(153, 105, 15);
    color:white;
    /* background: rgb(16,185,0);
    background: linear-gradient(90deg, rgba(16,185,0,1) 0%, rgba(114,240,94,1) 50%, rgba(0,191,25,1) 100%);
    box-shadow: 0.1em 0.1em 0.1em rgb(21, 121, 21); */
}
.green{
    background-color: rgb(50, 204, 44);
    box-shadow: 0.1em 0.1em 0.1em rgb(7, 145, 7);
    color:white;
    /* background: rgb(16,185,0);
    background: linear-gradient(90deg, rgba(16,185,0,1) 0%, rgba(114,240,94,1) 50%, rgba(0,191,25,1) 100%);
    box-shadow: 0.1em 0.1em 0.1em rgb(21, 121, 21); */
}

.blue:hover{
    background-color: rgb(82, 103, 221);
}
.yellow:hover{
    background: none;
    background-color: rgb(226, 137, 4);
}
.green:hover{
    background-color: rgb(37, 122, 44);
}



.image-container{
    width: 40vw;
    display: flex;
    /* 2. Center the children (the <a> tag) horizontally */
    justify-content: center; 
    
    /* 3. Center the children vertically (optional, but good practice) */
    align-items: center;
    margin: 0 2.5vw;
    border: 5px solid white;   
}
.image-container:hover{
    border: 5px solid wheat;   
}
.image{
    width: 100%;
    height: 100%;
}
.splash{
    background-color: rgb(206, 172, 24);
    color: snow;
    border: 0.2em solid snow;
    border-radius: 2vh;
    margin: 2vh 0;
    font-size: 1em;
    
}
.splash ul{
    list-style: none;
}

.body_image{
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
article{
    width: 90%;
    margin: 10vw auto;
    display: flex;
    justify-content: space-between;   
}
#hero{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 85%;
    margin: auto;
    margin-top: 20vw;
    margin-bottom: 30vw;
    background: none;
}
#hero .text{
    width: 40vw;
}
@keyframes slideInFromTop {
    0% {
      transform: translateY(-100%);
      opacity: 0;
    }
    40%{
        opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
      
    }
  }
#hero .text h2{
      animation: 1.5s ease 0s 1 slideInFromTop;
}
#hero .text p{
    animation: 4s ease-out 0s 1 slideInFromTop;
}
#hero .cta{
    animation: 5s ease-out 0s 1 slideInFromTop;
}

.services{
    flex-direction: row-reverse;
}
.servicePageWrapper{
    padding-top: 9vh;
    background-color: rgba(255, 255, 255, 0.829);
    
}
.servicePageWrapper .text h2{
   text-decoration: underline;
   margin-bottom: 2vh;
}
.servicePageWrapper .text{
  text-align: left;
  
  border-radius: 2%;
  
}
section{
    margin: 9vh 0;
    display: flex;
    justify-content: space-around;
    align-items: center;
}



#gallery-page{
    margin-top: 12vh;
    background-color: white;
    display: flex;
    flex-direction: row;
    width: 100vw;
}
.column{
    display: flex;
    flex-direction: column;
}
.row{
    display: flex;
    justify-content: center;
    align-items: center;
}
.gallery-image{
    width: 25vw;
}

footer{
    width: 100%;
    height: 35vh;
    /* background-color: darkred; */
    background: rgb(127, 211, 141);
    background: linear-gradient(90deg, rgb(127, 211, 141) 0%, rgb(74, 199, 126) 50%, rgb(113, 209, 150) 100%);
    border-top: 0.5vh solid rgb(206, 172, 24);
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: top;
    bottom: 0;
    position: static;
    z-index: 1;
    margin-top: 5vh;
}
.column-container{
    display: flex;
    justify-content: space-around;
    align-items: top;
}
footer .column1{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 45vw;
    flex: 1;
}
footer .column2{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    width: 45vw;
    flex: 1;
}

footer .footer-text1{
    font-size: 0.8em;
    color: white;
    margin: 2vh;
    font-family: 'Hind Vadodara', sans-serif;
    
}
footer ul{
    list-style: none;
}
footer .footer-text2 h2{
    margin-top: 1em;
    font-size: 0.8em;
    color: white;
    text-align: center;
}
.footer-image{
    width: 6em;
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer-image2{
    display: none;
}
.footer-image-gallery{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80vh;
}
footer .cta{
    margin-top: 2vh;
    margin-bottom: 2vh;
    display: flex;
    justify-content: flex-end;
}

footer .cta a{
    font-size: 0.8em;
    white-space: nowrap;
}
#gallery-footer{
    height: 20vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
#gallery-footer h1{
    font-size: 4vw;
    color: snow;
}

/*Masonry Grid Stuff*/
.grid{
    top: 12.5vh;
    margin: auto;
    width: 100%;
    margin-bottom: 18vh;
   
}
.grid-item{
    width: 25%;
    margin: 0 0;
    border: 0.2em solid white;
    border-bottom: 0;
    border-top: 0;
}
.grid-image{
    width: 100%;
}
@media screen and (max-width: 770px){

    .grid-item{
        width: 33.3%;
    }
    .row{
        flex-direction: column;
    }
    
    #hero{
        justify-content: center;
        margin-top: 20vh;
        margin-bottom: 5vh;
        
    }
    #hero .text{
        width: 100%;
    }

  

    .gallery-image{
        width: 50vw;
        border: 0.2vh solid white;
    }
    .image-container{
        width: 70vw;
        height: 50vw;
        background-color: blanchedalmond;
        margin: 3vh 0;
    }

    .text{
        width: 85vw;
        text-shadow: none;
    }
    
    article{
        margin: 8vh auto;
        /* padding-bottom: 8vh; */
        /* border-bottom: 0.15em solid rgba(255, 255, 255, 0.466); */
        
    }
    footer{
        height: 45vh;
    }

    .divider{
        margin: auto;
        width: 90vw;
        height: 0.6vh;
        background: rgb(255,255,255);
        background: linear-gradient(90deg, rgba(206, 172, 24, 0) 0%, rgba(206, 172, 24, 1) 50%, rgba(206, 172, 24, 0) 100%);
    }
   
}
@media screen and (max-width: 440px){

    footer{
        height: 50vh;
        
    }
    .footer-image{
        justify-content: flex-end;
        align-items: flex-end;
        display: none;
        white-space: nowrap;
    }
    .footer-image2{
        width: 100vw;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    footer .column1{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        width: 45vw;
        
        
    }
    footer .column2{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;
        width: 45vw;
        
    }
    #blue-btn{
        justify-content: center;
    }
}
@media screen and (max-width: 290px){
    footer{
        flex-direction: column;
    }
}

@media screen and (min-width: 1100px){
    .text h3{
        font-size: 2em;
    }
    .text h2{
        font-size: 3em;
    }
    .text p{
        font-size: 1.5em;
        font-weight: lighter;
    }

    .nav-links a{
        font-size: 2em;
    }
    
}
   
@media screen and (max-height: 440px){
    nav{
        height: 18vh;
    }
    .logo{
        font-size: 3.6vh;
        padding: 1.5vh 5vh;
        position: relative;
        padding-bottom: 3.6vh;
        border-radius: 6vh;
    }
    .subhead{
        font-size: 3vh;
        position: absolute;
        top: 10.8vh;
        left: 18.5vh;
    }
    #a-logo{
        text-decoration: none;
    }
    .burger-line{
        height: 1.5vh;
        width: 8vh;
        background-color: white;
        margin: 1.5vh;
        border-bottom: 0.4vh solid rgb(128, 105, 0);
    }
    .nav-links{
        top: 18vh;
        height: 82vh;
    }

    .nav-links a{
        height: 27.3vh;
    }
    footer{
        height: 58vh;
    }

    .grid{
        top: 18.5vh;
    }
}




  

