*, html{
    margin: 0;
    padding: 0;
    font-family: 'Proxima Nova', 'Roboto' , sans-serif;
    color: #605c6d;

    scroll-behavior: smooth;
}

.body{
    line-height: 200%;
    font-weight: 300;
    color: #333;
}

.main-container{
    display: grid;
    grid-template-rows: 1fr 150px 120px;
    
    height: 100vh;
    background-image: url("../img/bg1.jpg");

    background-attachment: fixed;
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    -o-background-size: cover;
    -moz-background-size: cover;
    -webkit-background-size: cover;
}

.active1, #menu div:hover:before  {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0px;
    left: 0;
    background-color: #0079B4;
    color: white;
}

.header{
    position: fixed;
    width: 80%;
    color: #333;
    display: grid;
    grid-template-columns: repeat( 2, 1fr );
    padding: 0 10%;
    font-size: 1.2em;
    background-color: whitesmoke;
    border-bottom: solid #B2A46D 2px;
    z-index: 9999;
}


.nav{
    display: grid;
    grid-template-columns: repeat( 4, 1fr );
    height: 50%;
    margin: auto 0;
}

.menu-toggle, .nav-copy{
    display: none;
}

.close{
    display: none;
}

.nav div{
    position: relative; 
    text-align: center;
    margin: auto;
    margin: 2%;
}


.nav div a{
    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;
    width: 100%;
    height: 100%;
}

.nav div:before{
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0px;
    left: 0;
    background-color: #0079B4;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all .2s ease-in-out 0s;
    transition: all .2s ease-in-out 0s;
}

.nav div:hover:before {
    visibility: visible;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}


@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.title{
    display: flex;
    align-items: center;
    justify-content: center;
}

.title .title-grid{
    display: grid;
}

.title h1{
    margin-top: 100px;
    font-size: 6em;
    font-weight: 300;
    color: white;
    

    -webkit-animation: fadein 3s; 
       -moz-animation: fadein 3s; 
        -ms-animation: fadein 3s; 
         -o-animation: fadein 3s; 
            animation: fadein 3s;
}

.title h2{
    text-align: center;
    font-size: 3em;
    font-weight: 200;
    color: white;
    

    -webkit-animation: fadein 3s; 
       -moz-animation: fadein 3s; 
        -ms-animation: fadein 3s; 
         -o-animation: fadein 3s; 
            animation: fadein 3s;
}

.arrow-down{
    text-align: center;
    position: relative !important;
    background-color: transparent !important;
}

/*Main Grid*/

.main-grid{
    display: grid;
}

/*COMPANY*/

.push1{
    height: 127px;
}

.text{
    text-align: center;
    width: 65%;
    margin: auto;
    line-height: 2;
}

.company{
    max-height: 1100px;
}

.company .title{
    text-align: center;
    line-height: 200%;
    font-weight: 300;
    color: #333;
    font-size: 3em; 
}

.company .title-hr{
    border: solid #0079B4 0.4px;

    width: 200px;
    margin: auto;
    margin-bottom: 50px;
}

.company .icons{
    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 40px;
}

.company .icons-grid{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    width: 65%;
}

.company .icons-grid h2{
    line-height: 200%;
    font-weight: 300;
    margin: 0 auto;
}

.company .icons-grid img{
    margin: 0 auto;
}

.dot{
    height: 10px;
    width: 10px;
    background-color: #B2A46D;
    margin: 20px auto;
    border-radius: 50%;
}

.company .content .text:last-child{
    margin-bottom: 150px;
}

/*PRODUCTS*/

.products{
    position: relative;
    min-height: 1100px;
    background-color: #eee;
}

.products .title{
    margin-top: 130px;
    text-align: center;
    line-height: 200%;
    font-weight: 300;
    color: #333;
    font-size: 3em; 
}

.products .title-hr{
    width: 200px;
    border: solid #0079B4 0.4px;
    margin: auto;
}

.products .content{
    display: grid;
    width: 65%;
    margin: auto;
    margin-bottom: 50px;
    min-height: 600px;
}

.products .product-title{
    line-height: 250%;
    font-weight: 100;
    font-size: 1.5em;
    margin: auto;
    margin-top: 50px;
    color: #B2A46D;
}

.products .content .list{
    margin: 25px 0;
    line-height: 200%;
    text-align: left;
    margin-left: 300px;
}

.products .content .list li{
    color: #0079B4;
}

.tab{
    margin-top: 50px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}


.tab button {
    background-color: inherit;
    width: 270px;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 16px;
    transition: 0.3s;
    font-size: 17px;
    transition: all .2s ease-in-out 0s;

    border: 1px lightgrey solid;
}

.tab button.active{
    background-color: #ccc;
}

.active-button{
    background-color: #ccc !important;
}


.tab button:hover {
    background-color: #ddd;
}


.tabcontent {
    text-align: center;
    display: none;
    padding: 6px 12px;
    border-top: none;
}


.active-content{
    display: inline;
}


/*CONTACT*/

.false{
    color: red;
}

.false::placeholder{
    color: red;
}

.push{
    height: 50px;
}

.contact{
    height: 1400px;
    background-color: white;
}

.contact .title{
    text-align: center;
    line-height: 200%;
    font-weight: 300;
    color: #333;
    font-size: 3em;
    
    margin-top: 127px;
}

.contact .title-hr{
    border: solid #0079B4 0.4px;
    width: 200px;
    margin: auto;
    
}

.contact .contact-title{
    line-height: 250%;
    font-weight: 100;
    font-size: 1.5em;
    margin: auto;
    margin-top: 50px;
    color: #B2A46D;
    text-align: center;
}

.contact .content{
    display: grid;
    width: 65%;
    margin: auto;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr 1fr;
}

.google-map{
    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 30px;
}

.google-map iframe{
    width: 45%;
}


.input-field{
    height: 50px;
    width: 400px;
    border: none;
    background-color: #eee;
    padding-left: 30px;
    padding-right: 30px;
}

.textarea{
    box-sizing: border-box;
    border: none;
    background-color: #eee;
    resize: none;
    width: 100%;
    height: 200px;
    margin-bottom: 30px;
    padding: 20px 30px;
}

.contact-form{
    margin-top: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.field-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    margin-bottom: 30px;
    margin-top: -20px;
}

.button-center{
    display: flex;
    align-items: center;
    justify-content: center;
}

.button-center-grid{
    text-align: center;
}

.buttom-submit{
    height: 50px;
    width: 120px;
    margin-top: 20px;
    border: none;
    background-color: #0079B4;
    color: whitesmoke;
    font-weight: 400;
    cursor: pointer;
    transition: all .2s ease 0s;
}

.buttom-submit:hover{
    background-color: rgb(3, 77, 114);
}

/*FOOTER*/

.footer{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    background-color: #0079B4;
    height: 50px;
}

.copy{
    color: whitesmoke;
    display: flex;
    justify-content: center;
    align-items: center;
}

.copyright1{
    font-size: 9pt;
    margin-right: 20px;
    color: whitesmoke;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.copyright1 a{
    color: whitesmoke; 
    background-color: transparent;
    text-decoration: none;
}


/*SNACKBAR*/


#snackbar {
    visibility: hidden;
    min-width: 250px;
    margin-left: -125px;
    background-color: rgb(3, 77, 114);
    color: #fff;
    text-align: center;
    border-radius: 2px;
    padding: 16px;
    position: fixed;
    z-index: 999999;
    left: 50%;
    bottom: 30px;
    font-size: 17px;
}

#snackbar.show {
visibility: visible;
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

@-webkit-keyframes fadein {
from {bottom: 0; opacity: 0;} 
to {bottom: 30px; opacity: 1;}
}

@keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 30px; opacity: 1;}
}

@-webkit-keyframes fadeout {
from {bottom: 30px; opacity: 1;} 
to {bottom: 0; opacity: 0;}
}

@keyframes fadeout {
from {bottom: 30px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}

@media screen and (max-width:1400px){

    .main-container{
        background-attachment: scroll;
        background-size: cover;
        -o-background-size: cover;
        -moz-background-size: cover;
        -webkit-background-size: cover;
    }

    .nav{
        display: block;
        width: 0%;
        overflow-x: hidden;
        height: 100vh;
        z-index: 10;
        position: absolute;
        background: #0079B4;
        transition: .2s;
    }

    .nav-copy{
        margin: auto 0;
        color: whitesmoke;
        font-size: 10px;
        display: block;
        padding: 1em 0;
        clear: left;
        position: absolute;
        text-decoration: none;
        width: 100%;
        height: auto;
        text-align: center;
        bottom: 0;

    }

    .nav div:first-child{
        margin-top: 25vh;
    }

    .nav div{
        margin: 0 auto;
        width: 50%;
    }

    .nav div a{
        margin: auto 0;
        color: whitesmoke;
        font-size: 20px;
        display: block;
        padding: 1em 0;
        clear: left;
        text-decoration: none;
        width: auto;
        height: auto;
    }
    
    .menu-item:hover{
        color: #B2A46D;
    }
    
    @media (hover){
        .nav div:before{
            content: "";
            position: relative;
            width: 0;
            height: 0;
            bottom: 0;
            left: 0;
            background-color: none;
            visibility: hidden;
            -webkit-transform: none;
            transform: none;
            -webkit-transition: none;
            transition: none;
        }
    }
    
    .active1, #menu div:hover:before  {
        position: relative;
        width: auto;
        height: auto;
        bottom: auto;
        left: auto;
        background-color: transparent;
        color: #B2A46D !important;
    }

    
    .img-logo{
        height: 75px;
    }
    
    .menu-drop-open{
        height: 50px;
        width: 50px;
        float: right;
        background: url("../img/drop.png");
        background-position: top center;
        background-size: 15px 45px;
        background-repeat: no-repeat;
        cursor: pointer;

        
    }

    .menu-drop-close{
        display: block;
        height: 50px;
        width: 50px;
        float: right;
        background: url("../img/close2.png");
        position: relative;
        background-position: center center;
        background-size: 40px 40px;
        background-repeat: no-repeat;
        cursor: pointer;
        z-index: 9999999;
    }

    .menu-toggle{
        grid-column: 2/4;
        display: block;
        margin: auto 0;
    }
    

    .header{
        position: fixed;
        width: 80%;
        color: #333;
        display: grid;
        grid-template-columns: repeat( 3, 1fr );
        padding: 0 10%;
        font-size: 1.2em;
        background-color: whitesmoke;
        border-bottom: solid #B2A46D 2px;
        z-index: 9999;
    }

    .title-grid h1{
        font-size: 4em;
        text-align: center;
        margin-top: 150px;
        margin-bottom: 10%;
    }

    .title-grid h2{
        font-size: 1.5em;
    }

    .arrow-down{
        margin-top: 6vh;
    }

    .main-container, .company, .products, .contact, .contact-title, .contact-form, .footer{
        max-width: 100vw;
    }

    .company{
        max-height: 1200px;
    }

    .company .title{
        text-align: center;
        font-size: 2em; 
    }

    .text{
        max-width: 100% !important;
        width: 100%;
        line-height: 1.7;
        word-break: normal;
    }

    .company .icons-grid{
        width: 100%;
    }

    .icons-grid img{
        height: 80px;
    }

    .icons-grid h2{
       font-size: 1em;
       text-align: center;
    }

    .products .title{
        font-size: 2em; 
    }

    .products .content{
        width: 100%;
    }

    .tab{
        width: 100vw;
    }

    .tab button {
        width: 35%;
        height: 68px;
        overflow: hidden;

        border: 1px lightgrey solid;
    }

    .tabcontent{
        max-width: 100vw;
    }

    .products .product-title{
        width: 100%;
    }

    .products .content .list{
        margin-left: 20%;
    }

    .contact{
        height: 1700px;
    }

    .contact .title{
        font-size: 2em;
    }

    .contact .content{
        width: 100vw;
        grid-template-rows: repeat(4, 1fr);
        grid-template-columns: 1fr;
        
    }

    .contact-title-1{
        grid-row: 1 / 2;
        
    }

    .text-1{
        grid-row: 2 / 3;
        margin-top: -15px;
    }

    .text-2{
        margin-top: -15px;
    }

    .google-map iframe{
        width: 90%;
    }
}


@media screen and (max-width:950px){
    .input-field{
        height: 50px;
        width: 70vw;
        
        margin: 5px auto;
    }

    .contact-form{
        margin: 0 auto;
    }

    .field-grid{
        grid-gap: 0px;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr 1fr;
        margin-top: 0;
    }
}
