/*Autor: Alan Varela Ferreira
email: alan.varela404@gmail.com
*/
.clearfix::before,
.clearfix::after{
    content:"";
    display:table;
}

.clearfix::after{
    clear:both;
}
.clearfix{
    *zoom: 1;
}

.clear{clear: both;}

html, body{
    overflow-x: hidden;
}

html{
    font-size: 62.5%;
}

body{
    font-family: 'Montserrat';
    font-size: 1.6rem;
}

/****************BANNER*****************/

.banner{
    height: 100%;
    position: relative;
    z-index: -1;
}

.banner #carouselsite, .banner #carouselsite .carousel-inner{
    height: 100%;
}

.banner .carousel-item{
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 100%;
}

.banner--titulo{
    position: absolute;
    right: 0;
    bottom: 1rem;
    display: block;
    text-align: right;
    color: #fff;
    font-size: 5rem;
    padding-right: 10rem;
    letter-spacing: .5rem;
    font-weight: bold;
}

.banner--titulo::before{
    position: absolute;
    content: '';
    height: .3rem;
    width: 100%;
    background-color: #fff;
    top: 55%;
    left: 0;
    transform: translate(-102%, -50%);
    margin-right: 2rem;
}


.banner--pg{
    position: absolute;
    width: 100%;
    height: 50rem;
    top: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
}
/****************FIM BANNER*****************/

/****************TOPO*****************/

.topo--main{
    position: relative;
    height: 50rem;
    padding-left: 0px;
    padding-right: 0px;
}

.topo--logo{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: #fff;
    width: 40%;
    padding: 5rem 0rem;
}

.topo--logo img{
    width: 25%;
    display: block;
    margin: auto;
}

.topo--menu-btn{
    position: fixed;
    top: 0;
    right: 3rem;
    width: 8rem;
    height: 15rem;
    background-color: #0f3156;
    z-index: 5;
    cursor: pointer;
    transition: all .2s;

}

.topo--menu-btn:hover{
    box-shadow: 0 .3rem .6rem rgba(0,0,0,.5);
}

.open--menu-icon{
    content: url(../img/menu-open.png);
    position: relative;
    width: 40%;
    left: 50%;
    top: 8rem;
    transform: translate(-50%);
    transition: all .5s;
}

.menu-icon-close{
    transform: rotate(180deg) translate(50%);
    top: 2rem;
}


.topo--menu{
    position: fixed;
    width: 100%;
    height: 0vh;
    background-color: #fff;
    z-index: 2;
    top: 0;
    overflow: hidden;
    opacity: 0;
    transition: all .5s;
}

.menu-show{
    opacity: 1;
    height: 100vh;
}


.topo--menu .row{
    height: 100%;
}

.topo--menu-img {
    background-image: url(../img/img-menu.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.topo--menu-main{
    background-color: #031829;
    
}

.topo--menu-itens{
    display: inline-block;
    list-style: none;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin-bottom: 0rem;
    padding-left: 7rem;
}

.topo--menu-itens li{
    margin-bottom: 1rem;
}

.topo--menu-itens a{
    color: #fff;
    font-weight: 600;
    font-size: 4rem;
    transition: all .2s;
    display: block;
}

.topo--menu-itens a:hover{
    text-decoration: none;
    color: #e1ae7f;
    transform: translateY(-.3rem);
}

.topo--menu-itens a:active{
    transform: translateY(.1rem);
}

.topo--menu-redes{
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-bottom: 0rem;
    padding-right: 4.7rem;
}

.topo--menu-redes a{
    display: block;
    color: #001b35;
    background-color: #e1ae7f;
    width: 5rem;
    height: 5rem;
    border: .2rem solid #e1ae7f;
    border-radius: 50%;
    position: relative;
    margin-bottom: 1rem;
    transition: all .2s;
}

.topo--menu-redes a:hover{
    color: #e1ae7f;
    background-color: #001b35;
}

.topo--menu-redes a i{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    font-size: 3rem;
}

/****************FIM TOPO*****************/

/****************FOOTER*****************/

.footer--main{
    background-color: #0f3156;
    padding-top: 5rem;
}

.footer--main, .footer--main a{
    color: #fff;
}

.footer--logo{
    display: block;
    width: 100%;
}

.footer--logo img{
    display: block;
    margin: auto;
    width: 20rem;
    margin-bottom: 3rem;
}

.footer--infos{
    margin-bottom: 2rem;
}

.footer--contato, .footer--email, .footer--endereco {
    text-align: center;
    margin-bottom: 1rem;
}

.footer--tel-icon{
    content: url(../img/tel-footer-icone.png);
    width: 3rem;
    position: relative;
    top: 1rem;
    margin-right: 1rem;
}

.footer--email-icon{
    content: url(../img/email-footer-icone.png);
    width: 3rem;
    position: relative;
    top: 1rem;
    margin-right: 1rem;
}

.footer--endereco-icon{
    content: url(../img/endereco-footer-icone.png);
    width: 3rem;
    position: relative;
    top: 1rem;
    margin-right: 1rem;
}



.footer--redes{
    display: block;
    margin: auto;
    margin-bottom: 5rem;
}

.footer--redes span{
    text-align: center;
    text-transform: uppercase;
    display: block;
    margin-bottom: 1rem;
}

.footer--redes-icons{
    display: block;
    text-align: center;
}

.footer--redes-icons a{
    color: #0f3156;
    background: #fff;
    display: inline-block;
    text-align: center;
    width: 2.5rem;
    height: 2.5rem;
    border: .1rem solid #fff;
    border-radius: 50%;
    margin: auto;
    position: relative;
    transition: all .2s;
}

.footer--redes-icons a:hover{
    color: #fff;
    background: #0f3156;
    transform: translateY(-.3rem);
}

.footer--redes-icons a:active{
    transform: translateY(.1rem);
}


.footer--redes-icons i{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.copyright{
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 3rem;
}

/****************FIM FOOTER*****************/

/****************HOME*****************/

.container-fluid{
    padding-left: 0;
    padding-right: 0;
}

.home--empresa{
    background-color: #e1ae7f;
    color: #fff;
}

.home--empresa-texto{
    padding: 16rem 0rem 0rem 0rem;
}

.home--empresa-texto h2{
    text-align: right;
    font-size: 5rem;
    font-weight: bold;
}

.home--empresa-texto p{
    text-align: right;
    font-size: 1.6rem;
    line-height: 1.7;
}

.home--empresa-titulo h2{
    font-weight: bold;
    font-size: 27.5rem;
    line-height: .79;
    opacity: .2;
    letter-spacing: 1rem;
    position: absolute;

}

.home--empresa-titulo img{
    position: absolute;
    top: 15.5rem;
    width: 80%;
}

.linha-1, .linha-2{
    width: .2rem;
    height: 100vh;
    background: #e7e7e7;
    position: absolute;
    top: -10rem;
    opacity: .5;
    z-index: -1;
}

.linha-1{
    left: 25%;
}

.linha-2{
    left: 75%;
}

.home--empresa-saiba-mais{
    padding: 5rem 0rem 30rem;
}

.home--empresa-saiba-mais .btn--saiba-mais{
    float: right;
    margin-right: 1.5rem;
}

.btn--saiba-mais{
    background-color: #0f3156;
    color: #fff;
    padding: 0rem 3rem;
    font-size: 2.5rem;
    display: inline-block;
    transition: all .2s;
}

.btn--saiba-mais:hover{
    color: #fff;
    text-decoration: none;
    transform: translateY(-.3rem);
}

.btn--saiba-mais:active{
    transform: translateY(.1rem);
}

.home--servicos{
    background-color: #fff;
    margin-top: 4rem;
}

.home--servicos-titulo h2{
    color: #efefef;
    font-weight: bold;
    font-size: 27.5rem;
    line-height: .4;
    letter-spacing: 1.5rem;
    position: absolute;

}

.home--servicos-texto{
    color: #626262;
    padding-top: 13rem;
    position: relative;
}

.home--servicos-texto h2{
    font-size: 5rem;
    font-weight: bold;
}

.home--servicos-texto p{
    font-size: 1.6rem;
}

.home--servicos-imagem{
    position: absolute;
    top: -8rem;
    right: 0;
    width: 30rem;
}

.home--servicos-saiba-mais{
    margin-top: 6rem;
    margin-bottom: 20rem;
}

.home--servicos-saiba-mais .btn--saiba-mais{
    position: relative;
    left: 25%;
    transform: translate(-50%);
    transition: all .2s;
}

.home--servicos-saiba-mais .btn--saiba-mais:hover{
    transform: translate(-50%, -.3rem);
}

.home--servicos-saiba-mais .btn--saiba-mais:active{
    transform: translate(-50%, .1rem);
}

/*********************EMPRESA*******************/
.empresa--main{
    padding-top: 8rem;
    padding-bottom: 12rem;
}

.empresa--titulo h2{
    position: absolute;
    color: #efefef;
    font-weight: bold;
    font-size: 27.5rem;
    line-height: .4; 
}

.empresa--texto{
    padding-top: 15rem;
    color: #626262;
}

.empresa--texto h2{
    font-weight: bold;
    font-size: 5rem;
}

.empresa--texto p{
    line-height: 2;
}

.empresa--transporte{
    background-color: #e1ae7f;
    color: #fff;
}

.empresa--transporte-titulo h2{
    position: absolute;
    font-size: 27.5rem;
    opacity: .1;
    font-weight: bold;
    line-height: .6;
}

.empresa--transporte-texto{
    padding-top: 17rem;
}

.empresa--transporte-texto h2{
    font-weight: bold;
    font-size: 5rem;
}

.empresa--transporte-texto p{
    line-height: 2;
}

.empresa--transporte-img img{
    position: absolute;
    right: 0;
    top: 3rem;
    width: 75%;
}

.empresa--orc{
    padding-top: 5rem;
    padding-bottom: 15rem;
}
/*********************FIM EMPRESA*******************/

/*********************CLIENTES*******************/

.clientes--main{
    padding-top: 5rem;
    padding-bottom: 15rem;
}

.clientes--titulo h2{
    position: absolute;
    color: #efefef;
    font-weight: bold;
    font-size: 27.5rem;
    line-height: .9;
}

.clientes--texto{
    padding-top: 21rem;
    color: #626262;
}

.clientes--texto h2{
    font-weight: bold;
    font-size: 5rem;
}

.clientes--texto p{
    line-height: 2;
}

.clientes--imagens{
    background-color: #e1ae7f;
    margin-bottom: 20rem;
}

.cliente--item{
    position: relative;
    top: 11rem;
}

.cliente--item-img{
    background-color: #fff;
    width: 25rem;
    height: 25rem;
    box-shadow: 0 0.1rem 0.5rem rgba(0,0,0,.3);
}

.cliente--item-img img{
    width: 60%;
    display: block;
    margin: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.cliente--item-nome{
    font-size: 2rem;
    margin-top: 1rem;
    text-align: center;
}
/*********************FIM CLIENTES*******************/

/*******************CONTATO********************/
.contato--main{
    padding-top: 6rem;
}

.contato--titulo h2 {
    position: absolute;
    color: #efefef;
    font-weight: bold;
    font-size: 27.5rem;
    line-height: .62;
}

.contato--texto{
    padding-top: 17rem;
    color: #626262;
    margin-bottom: 5rem;
}


.contato--texto h2{
    font-weight: bold;
    font-size: 5rem;
}

.contato--texto p{
    line-height: 2;
}

.contato--form{
    padding-bottom: 10rem;
}

.contato--form input, .contato--form textarea{
    width: 100%;
    margin-bottom: 2rem;
    padding: .5rem 1rem;
    border: .1rem solid #626262;
    border-radius: .5rem;
}

.contato--form textarea{
    min-height: 20rem;
    margin-bottom: 5rem;
}

.contato--form-enviar{
    text-align: center;
    display: block;
    width: 100%;
}

.contato--form-enviar .btn--saiba-mais{
    border: none;
}
/*****************FIM CONTATO******************/

/****************PORTFOLIO******************/
.portfolio--main{
    padding-top: 5rem;
    padding-bottom: 12rem;
}

.portfolio--titulo h2{
    position: absolute;
    color: #efefef;
    font-weight: bold;
    font-size: 27.5rem;
    line-height: .87;
}

.portfolio--texto{
    color: #626262;
    padding-top: 21rem;
}
.portfolio--texto h2{
    font-weight: bold;
    font-size: 5rem;
}

.portfolio--texto p{
    line-height: 2;
}

.portfolio--exposicao{
    color: #626262;
    background-image: url(../img/portfolio-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-bottom: 30rem;
}

.portfolio--exposicao-conteudo{
    background-color: #fff;
    position: relative;
    padding-top: 5rem;
}

.portfolio--exposicao-conteudo::before{
    content: '';
    position: absolute;
    width: 50rem;
    height: 100%;
    background-color: #fff;
    top: 0;
    left: 0;
    transform: translate(-100%)
}

.portfolio--exposicao-conteudo h2{
 font-weight: bold;
 font-size: 5rem;
}

.portfolio--exposicao-conteudo p{
    line-height: 2;
}

.portfolio--exposicao-btns{
    padding-top: 4rem;
    padding-bottom: 5rem;
}

.btn--exposicao{
    background-color: #f8efe6;
    color: #5d6164;
    padding: 1.5rem;
    margin-right: 1.5rem;
    border-radius: 1rem;
    position: relative;
    transition: .2s;
    cursor: pointer;
}

.btn--exposicao:after{
    position: absolute;
    content: '';
    height: .2rem;
    width: 50%;
    left: 1.2rem;
    bottom: -.7rem;
    background-color: #edd5bd;
    opacity: 0;
    transition: .2s;
}

.btn--exposicao:hover, .btn--exposicao.active{
    background-color: #edd5bd;
    color: #5d6164;
    text-decoration: none;
}

.btn--exposicao:hover::after, .btn--exposicao.active::after{ 
    opacity: 1;
}

.portfolio--carousel{
    top: -23rem;
    visibility: hidden;
    height: 0;
}

.portfolio--carousel .item{
    padding: 3rem;
}

.portfolio--carousel.owl-theme .owl-dots .owl-dot span{
    width: 14px !important;
    height: 14px !important;
    border: 1px solid #626262 !important;
    background: #fff !important;
    opacity: .2;
}

.portfolio--carousel.owl-theme .owl-dots .owl-dot.active span{
    background: #626262 !important;
}

.portfolio--carousel.owl-theme .owl-dots .owl-dot{
    outline: none;
    position: relative;
}

.portfolio--carousel.owl-theme .owl-dots{
    position: relative;
}
.portfolio--carousel.owl-theme .owl-dots::after{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: transparent; 
    top: 0;
    left: 0;  
}

.portfolio--swipe{
    top: -20rem;
    position: relative;
    display: block;
    text-align: center;
   
}

.swipe-icon{
    content: url(../img/swipe-icon.png);
    width: 4rem;
    margin-right: 1rem;
    top: 1rem;
    position: relative;
    opacity: .5;
}

.portfolio--exposicao-texto{
    visibility: hidden;
    height: 0;
}

.ativo{
    visibility: visible;
    height: auto;
    animation-name: toLeft;
    animation-duration: 1s;
}

@keyframes toLeft{
    0%{
        opacity: 0;
        transform: translate(20rem);
    }

    100%{
        opacity: 1;
        transform: translate(0);
    }
}

/**************FIM PORTFOLIO******************/

/**************SERVIÇOS******************/
.servicos--main{
    padding-top: 10rem;
    padding-bottom: 10rem;
}

.servicos--titulo h2{
    position: absolute;
    color: #efefef;
    font-weight: bold;
    font-size: 27.5rem;
    line-height: .87;
    
}

.servicos--texto{
    color: #626262;
    padding-top: 21rem;
}

.servicos--texto h2{
    font-weight: bold;
    font-size: 5rem;
}

.servicos--texto p{
    line-height: 2;
}

.servicos--itens{
    background-color: #e1ae7f;
    padding-top: 10rem;
    padding-bottom: 10rem;
}

.servico--item{
    width: 100%;
    position: relative;
    height: 40rem;
    margin-bottom: 15rem;
}

.servico--item .container{
    height: 100%;
    position: relative;
}

.servico--item .container .row{
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.servico--item-img{
    position: absolute;
    right: 0;
    width: 60%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


.servico--item-texto{
    background: #fff;
    position: relative;
    color: #626262;
    padding: 2rem 1.5rem;
    height: 22rem;
}

.servico--item-texto-center{
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.servico--item-texto h2{
    font-size: 4rem;
    font-weight: bold;
}

.servico--item-texto p{
    line-height: 2;
}

.servico--item-texto::before{
    content: '';
    position: absolute;
    width: 50rem;
    height: 100%;
    background-color: #fff;
    top: 0;
    left: 0;
    transform: translate(-99%);
}

.servico--item-btn{
    position: absolute;
    top: 100%;
    transform: translateY(-100%);
}
/**************FIM SERVIÇOS******************/

/****************SERVIÇO******************/

.servico--main{
    padding-top: 8rem;
}

.servico--titulo h2{
    position: absolute;
    color: #efefef;
    font-weight: bold;
    font-size: 20.5rem;
    line-height: .87;
    white-space: nowrap;
}

.servico--texto{
    color: #626262;
    padding-top: 15rem;
}

.servico--texto h2{
    font-weight: bold;
    font-size: 5rem;
}

.servico--texto p{
    line-height: 2;
}

.servico--btn-orc{
    padding-top: 5rem;
    display: block;
    text-align: right;
}

.servico--img-section{
    position: relative;
    margin-bottom: 10rem;
}

.servico--img-section:last-child{
    margin-bottom: 20rem;
}

.servico--img-bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 70%;
    background-color: #0f3156;
}

.servico--img{
    padding-top: 10rem;
    width: 60%;
    float: right;
}

.right .servico--img-bg{
    left: unset;
    right: 0;
}

.right .servico--img{
    float: left;
}


/****************FIM SERVIÇO******************/