@import url('https://fonts.googleapis.com/css2?family=Gentium+Book+Basic&family=IM+Fell+English&family=IM+Fell+English+SC&display=swap');

:root{

    --font1: 'IM Fell English', serif;
    --font2: 'Gentium Book Basic', serif;
    --font3: 'IM Fell English SC', serif;

    --fontTT: 35pt;
    --fontGR: 26pt;
    --fontSL: 20pt;
    --fontMD: 16pt;
    --fontSM: 14pt;

    --colorMain: #f4f4f4;
    --colorScnd: #213d3f;
    --colorHlt: #8b8632;
    --colorGrey: #5c5c5d;
    --colorBlack: #231f20;
        

}

*{text-decoration: none;}


html{
    scroll-behavior: smooth;
    
}

a{
    color: var(--colorBlack);
    position: relative;
    z-index: 2;
}

a:visited{
    color: var(--colorBlack);
}

a:hover{
    color: var(--colorHlt);
}

a.current{
    color: var(--colorHlt);
}

input{
    z-index: 2;
}

textarea{
    z-index: 2;
}

button{
    z-index: 3;
}

/* .menu-bottom a:hover{
    color: var(--colorHlt);

}

.menu-bottom a{
    color: var(--colorGrey);

} */

body{
    background-color: var(--colorMain);
    height: 100vh;
    
}

.vLine {
    position: fixed;
    float: left;
    width: 37px;
    background-color: var(--colorScnd);
    height: 100%;
    
}

.cabecalho{
    padding-top: 45px;
    padding-left: 85px;
    padding-bottom: 87px;
    position: fixed;
    
    
    
}

.logo{
    display: flex;
    flex-direction: column;
}

.title1{
    font-size: var(--fontTT);
    font-family: var(--font1);
    color: var(--colorBlack);
    line-height: 85%;
    padding-bottom: 2px;
    

}

.title2{
    font-size: var(--fontTT);
    font-family: var(--font1);
    color: var(--colorBlack);
    line-height: 85%;
    padding-bottom: 10px;
    

}


.subtitle{
    font-size: var(--fontSM);
    font-family: var(--font2);
    color: var(--colorGrey);

}

#btn-mobile{
    display: none;
    
}

.menu-main{
    padding-top: 70px;
    display: flex;
    flex-direction: column;
    align-items: left;
    justify-content: flex-start;
    gap: 27px;
    font-family: var(--font3);
    font-size: var(--fontSL);
    color: var(--colorBlack);
    line-height: 70%;
    letter-spacing: 2px;
    border-bottom: 72px;

}

.menu-bottom{
    padding-top: 50px;
    display: flex;
    flex-direction: column;
    align-items: left;
    justify-content: flex-start;
    font-family: var(--font3);
    font-size: var(--fontMD);
    padding-bottom: 19px;


}


.line{
    width: 250px;
    height: 1px;
    background: var(--colorHlt);

 }

.icon-contact{
    display: flex;
    flex-direction: row;
    align-items: left;
    justify-content: flex-start;
    padding-top: 19px;
    gap: 10px;

}

.rodape-div{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-family: var(--font2);
    font-size: var(--fontSM);
    color: var(--colorBlack);
    margin-top: 30px;
    margin-bottom: 40px;
}

.rodape-conteudo{
    display: flex;
    align-items: center;
    gap: 20px;
}

.signature{
   transform: translateY(-6px);
}


/* MEDIA QUERY */

@media screen and (max-width: 1700px){
    .vLine{
        height: 90vw;
    }
    
    .rodape-div{
        margin-top: -3vw;
        font-size: 1vw;
    }

    .signature{
        transform: translateY(-0.4vw);
        width: 30vw;
    }

    .rodape-conteudo{
        gap: 1vw;
    }
}

@media screen and (max-width: 1370px){
    .title1{
        font-size: 3vw;
        
    }

    .title2{
        font-size: 3vw;
        padding-bottom: 0.5vw;
    }

    .subtitle{
        font-size: 1.3vw;
    }

    .menu-main{
        font-size: 2vw;
        padding-top: 5vw;
        gap: 2vw;
    }

    .menu-bottom{
        font-size: 1.5vw;
        padding-top: 3vw;
        padding-bottom: 1vw;
    }

    .line{
        width: 19.5vw;
    }

    .icon-contact{
        gap: 1vw;
        padding-top: 1vw;
    }

    .icon-item{
        width: 2.5vw;
    }

}

@media screen and (max-width: 1024px){
    .vLine{
        height: 130vh;
    }
}



@media screen and (max-width: 800px){

    .div-btn{
        position: absolute;
        padding-top: 4vw;
        padding-left: 85vw;
        z-index: 1001;
    }   

    #btn-mobile{
        display: flex;
        padding: 1vw;
        font-size: 2vw;
        border: none;
        background: none;
        cursor: pointer;
    }

    #hamburger{
        display: block;
        border-top: 0.5vw solid;
        width: 3vw;
        color: var(--colorHlt);
        
    }

    #hamburger::after, #hamburger::before{
        content: '';
        display: block;
        height: 0.5vw;
        width: 3vw;
        background-color: currentColor;
        margin-top: 0.7vw;
        transition: .3s;
        position: relative;
    }

    #hamburger.active{
        border-top-color: transparent;
    }

    #hamburger.active::before{
        transform: rotate(135deg);
    }

    #hamburger.active::after{
        transform: rotate(-135deg);
        top: -1.1vw;
    }

    #header-mobile{
        /* display: flex; */
        position: absolute;
        height: 0vw;
        width: 100vw;
        top: 0px;
        bottom: 27px;
        padding-top: 6vw;
        right: 0px;
        left: 0px;
        background: var(--colorScnd);
        transition: .6s;
        
        z-index: 1000;
        visibility: hidden;
        overflow: hidden;
        
    }

    #header-mobile.active{
        height: 50vw;
        width: 100vw;
        visibility: visible;
}

    #headerMain{
        position: absolute;
        padding-left: 43vw;
        font-size: 3vw;
        line-height: 80%;
        gap: 3vw;
        z-index: 1002;
        text-align: center;
    }

    #headerMain, a:visited, a{
        color: #9a9a9a;
    }

    #headerMain, a.current, a:hover{
        color: var(--colorHlt);
    }

    #headerBottom{
        position: absolute;
        padding-left: 43vw;
        font-size: 3vw;
        gap: 3vw;
        line-height: 80%;
        top: 0px;
        padding-top: 40.6vw;
        text-align: center;
       
        z-index: 1000;


    }

    #overlay {
        position: fixed;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 998;
        background: rgba(0, 0, 0, 0.5);
        
        visibility: hidden;
      }

      #overlay.active{
        visibility: visible;
      }

    .vLine{
        visibility: hidden;
    }

    .logo{
        display: flex;
        flex-direction: row;
        gap: 0.6vw;

    }

    .cabecalho{
        padding-top: 4vw;
        padding-left: 8vw;
        padding-bottom: 87px;
        position: absolute;

    }

    .title1{
        font-size: 4vw;
    }

    .title2{
        font-size: 4vw;
        
    }

    .subtitle{
        font-size: 2vw;
        padding-top: 0.5vw;
        padding-bottom: -10vw;
        
    }

    .line{
        margin-top: -1vw;
        width: 27.8vw;
    } 

    .icon-item{
        width: 3.8vw;
    }

    .rodape-div{
        margin-top: -3vw;
        font-size: 1.8vw;
    }

    .signature{
        transform: translateY(-0.6vw);
        width: 50vw;
    }

    .rodape-conteudo{
        gap: 1.2vw;
    }


}


@media screen and (max-width: 600px){
    .line{
        margin-top: -1.8vw;
    } 

    #headerBottom{
        padding-left: 45vw;
    }
}

@media screen and (max-width: 500px){
    .line{
        margin-top: -2.3vw;
    } 

    .icon-contact{
        gap: 0.7vw;
        
    }
}

@media screen and (max-width: 400px){
    .line{
        margin-top: -3.6vw;
    } 

    .icon-contact{
        gap: 0.7vw;
        
    }
}

@media screen and (max-width: 300px){
    .line{
        margin-top: -5vw;
    } 

    .icon-contact{
        gap: 0.7vw;
        margin-top: -0.8vw;
    }
}