/*============ DEFAULT =============*/
@font-face {
    font-family: neoSans;
    src: url('../lib/fonts/neo-sans-std-bold.otf');
}

@font-face {
    font-family: neoSans-medium;
    src: url('../lib/fonts/neo-sans-std-medium.otf');
}

@font-face {
    font-family: neoSans-bold;
    src: url('../lib/fonts/neo-sans-std-black.otf');
}

@font-face {
    font-family: helvetica;
    src: url('../lib/fonts/helvetica.otf');
}


* {
    margin: 0;
    padding: 0;
    outline: none;
}

body {
    font-family: helvetica, Arial, sans-serif !important;
    color: #3f3f3f !important;
}

/*======= BOTOES ======*/
.btn-round{
    border-radius: 20px !important;
}

.btn-dark-gray{
    font-family: helvetica;
    font-weight: bold !important;
    color: #fff !important;
    background-color: #363636;
    border: solid 2px #363636 !important;
    padding: 8px !important;
}

.btn-dark-gray:hover{
    background-color: #2c2c2c;
}

.btn-grande{
    width: 220px;
}

.btn-o{
    background: none !important;
}

.btn-o:hover{
    background: rgba(54, 54, 54, 0.08) !important;
}

.btn-white-hover:hover{
    border-color: #f4f4f4 !important;
    background-color: #f4f4f4 !important;
    color: #363636 !important;
}

/*======= FONTE ======*/
.dark-gray-font{
    color: #363636 !important;
}

.gray-font{
    color: #939393 !important;
}

.light-gray-font{
    color: #b0b0b0 !important;
}

.orange-font{
    color: #ff843e !important;
}

.yellow-font{
    color: #ffbb04 !important;
}
.yellow-orange-font{
    color: #f09411 !important;
}

.green-font{
    color: #00a85a !important;
}

.green-light-font{
    color: #04b66d !important;
}

.red-font{
    color: #c03739 !important;
}

.blue-font{
    color: #479bd9 !important;
}

.neoSans-font{
    font-family: neoSans !important;
}
.neoSans-medium-font{
    font-family: neoSans-medium !important;
}

.neoSans-bold-font{
    font-family: neoSans-bold !important;
}

.font-size-22{
    font-size: 22px;
}

.font-size-18{
    font-size: 18px;
}




/*============ PRELOADER =============*/
body {
    overflow: hidden;
}

#status img{
    width: 100%;
}

#preloader {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #000 !important;
    z-index: 9999;
    opacity: 0.9;
  }
  
  #status {
    width: 300px;
    height: auto;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -100px 0 0 -150px;
  }

/*============ NAVBAR =============*/

#navbarDoControl{
    background-color: #363636 !important;
    padding: 0;
}

#navbarDoControl .navbar-brand{
    max-width: 100%;
}

#navbarDoControl .navbar-brand img{
    max-width: 180px;
    padding: 10px;
}

#navbarDoControl .nav-link{
    color: #b0b0b0;
    font-family: neoSans;
    padding: 30px 20px;
    border-top: 5px solid #363636;
    font-size: 14px;
}

#navbarDoControl .nav-item.active .nav-link{
    color: #fff;
    border-color: #ff843e !important;
    box-shadow: 0px -5px 25px rgb(0, 0, 0, 0.2);
}

#navbarDoControl .nav-item:hover .nav-link{
    box-shadow: 0px -5px 25px rgb(0, 0, 0, 0.2);
}

.color-line{
    width: 100%;
    background-image: url('../img/color-line.png');
    height: 10px;
}

#mobileNav .nav-link{
    color: #b0b0b0;
    font-family: neoSans;
    padding: 20px 20px;
    border-left: 5px solid #363636;
    font-size: 14px;
}

#mobileNav .nav-item.active .nav-link{
    color: #fff;
    border-color: #ff843e !important;
    box-shadow: 0px -5px 25px rgb(0, 0, 0, 0.2);
}

#mobileNav .nav-item:hover .nav-link{
    box-shadow: 0px -5px 25px rgb(0, 0, 0, 0.2);
}

#mobileNav .close{
    color: #b0b0b0;
}

#mobileNav.modal.left.fade.show .modal-dialog {
    right: 0;
}

#mobileNav.modal.left .modal-dialog {
    position: fixed;
    margin: auto;
    width: 245px;
    height: 100%;
    -webkit-transform: translate3d(0%, 0, 0);
    -ms-transform: translate3d(0%, 0, 0);
    -o-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
}

#mobileNav.modal.left.fade .modal-dialog {
    right: -320px;
    -webkit-transition: opacity 0.3s linear, right 0.3s ease-out;
    -moz-transition: opacity 0.3s linear, right 0.3s ease-out;
    -o-transition: opacity 0.3s linear, right 0.3s ease-out;
    transition: opacity 0.3s linear, right 0.3s ease-out;
}

#mobileNav.modal.left .modal-content {
    height: 100%;
    overflow-y: auto;
}

#mobileNav .modal-content {
    border-radius: 0 !important;
    border: none !important;
    background-color: #363636 !important;
}

#mobileNav .modal-header{
    border: none !important;
}

#mobileNav .modal-header img{
    max-width: 150px;
}

#mobileNav {
    top: 92px;
}
.container-nav{
    z-index: 2000 !important;
    position: relative;
}


/*============ HOME =============*/

#carroselServicos .carousel-control-prev:hover i, 
#carroselServicos .carousel-control-next:hover i,
#portifolio .swiper-control-prev:hover i,
#portifolio .swiper-control-next:hover i,
#textoServicos  .carousel-control-prev:hover i,
#textoServicos  .carousel-control-next:hover i{
    background-color: #363636;
    color: #fff;
}

.seta-baixo:hover{
    color: #363636 !important;
}

#carroselBannerHome .btn.btn-dark-gray, #orcamento #enviar{
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/*====== PORTIFOLIO ======*/

.containerOverlay {
    position: relative;
    width: 100%;
}

#formCategoria label{
    font-size: 20px;
}

#pesquisaCategoria{
    border-radius: 5px;
    /* font-size: 18px; */
    padding: 5px 40px;
}

.image {
    opacity: 1;
    display: block;
    width: 100%;
    height: auto;
    transition: .5s ease;
    backface-visibility: hidden;
}

.image img{
    max-width: 100%;
    height: auto;
    opacity: 0.5;
}
.overlay {
    transition: .5s ease;
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    height: 100%;
    padding: 20px;
}

.containerOverlay:hover .image {
    opacity: 0.3;
}

.containerOverlay:hover .overlay {
    opacity: .8; 
}

.containerOverlay:hover {
    background-image: linear-gradient(to left top, #ff843e, #fdbf9a, #fff);
    /* background-image: linear-gradient(to left top, #ff843e, #ff9090, #ff843e, #ebcfea, #e8e8e8); */
}

.text a, .text a:hover {
    color: #363636;
}

.seta-portifolio{
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 10px;
}

#portifolio .veja-mais{
    width: 100%;
    background-color: #ebebeb;
    padding-top: 35px;
    padding-bottom: 35px;
}

#portifolio .veja-mais a{
    color: #939393;
    font-size: 14px;
}


/*====== Swiper ======*/

#portifolio{
    background-color: #fbfbfb;
}
#cliente .titulo span{
    font-family: helvetica;
}

.banner {
    padding-left: 0.1px;
    padding-right: 0.1px;
}

.principal {
    width: 100%;
    height: 300px;
    overflow: hidden;
}

.swiper-container {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    width: 85%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

/*====== ORÇAMENTO ======*/
#orcamento input, #orcamento select, #orcamento textarea{
    border: none;
    border-bottom: solid 2px #b0b0b0;
    border-radius: 0%;
    font-size: 14px;
    width: 90%;
    padding-left: 0;
}

::-webkit-input-placeholder {
    color: #b0b0b0 !important;
    font-style: italic;
    font-family: neoSans;
}
 
:-moz-placeholder { /* Firefox 18- */
    color: #b0b0b0 !important;
    font-style: italic;  
    font-family: neoSans;
}
 
::-moz-placeholder {  /* Firefox 19+ */
    color: #b0b0b0 !important;
    font-style: italic;  
    font-family: neoSans;
}
 
:-ms-input-placeholder {  
    color: #b0b0b0 !important;
    font-style: italic;  
    font-family: neoSans;
}

.img-orcamento{
     width: 80%;
     max-width: 300px !important;
}

#orcamento p{
    color: #939393;
}

#orcamento p a{
    color: #363636;
}

option[value=""][disabled] {
    display: none;
}

#formOrcamento{
    padding: 10px;
}

#formOrcamento .form-group{
    position: relative;
}

.valido, .invalido{
    position: absolute;
    right: 3%;
    bottom: 20%;
}

.valido{
    color: #40ce31;
}

.invalido{
    color: #b43434;
}

.style-tipo-projeto, .font-form{
    color: #b0b0b0 !important;
    font-style: italic;  
    font-family: neoSans !important;
    font-size: 14px;
}

.style-tipo-projeto option{
    color: #363636 !important;
    font-style: inherit !important;
    font-family: helvetica !important;
}


.icons-contato{
    background-image: url('../img/sprite.png');
    background-repeat: no-repeat;
    margin: auto;
    height: 68px;
    margin-bottom: 15px;
}

.icons-contato.phone{
    background-position: 54.97% 18.333%;
	width: 68px;
}

.icons-contato.adress{
    background-position:  65.154% 18.232%;
	width: 49px;
}

.icons-contato.email{
    background-position: 77.677% 21.026%;
	width: 69px;
}

.dados-contato{
    background-color: #f4f4f4;
}

.dados-contato p{
    color: #939393;
    font-weight: bold;
    font-size: 18px;
}


#mapa{
    background-color: red;
}
/*====== FOOTER ======*/

#footer{
    background-color: #363636;
}

#footer .back-to-top {
    background-color: #404040;
    padding: 10px 0;
}

#footer .back-to-top .seta:hover{
    color: #363636;
    background-color: #fff;
    transition: .5s ease;
}


#footer .back-to-top .seta{
    color: #fff;
    font-size: 20px;
    border: 2px solid #fff;
    border-radius: 50%;
    padding: 10px 14px;
}

#footer .links a{
    color: #b0b0b0;
    display: table;
    margin: auto;
}

#footer .links  a:hover{
    color: #fff;
}

#footer .links{
    padding: 30px 0;
}

#footer .links p{
    color: #fff;
}

#backToTop{
    cursor: pointer;
}

.footer-line{
    border-top: 2px solid #545454;
    background-color: #545454;
    width: 100%;
    margin: 0;
}

#footer .contato .col-md-6 img{
    width: 190px;
}
.icon-contato{
    background-image: url('../img/sprite.png');
    background-repeat: no-repeat;
    width: 45px !important;
	height: 45px !important;
}

.icon-contato:hover{
    opacity: 0.6;
}

.phone{
    background-position: 5.386% 77.941%;
}

.marker{
    background-position: 17.493% 77.941%;
}

.envelope{
    background-position: 29.694% 77.941%;
}

.w-70{
    width: 70% !important;
}

/*====== DISPOSITIVOS ======*/

/*====== TABLET ======*/

@media screen and (max-width: 767px){
    .w-70-mob{
        width: 70%;
    }
}

@media screen and (min-width: 768px) and (max-width:1023px){
    .overlay p{
        font-size: 14px;
    }

    .overlay h3{
        font-size: 18px;
    }
}

@media screen and (min-width: 768px){

    .text-md-justify{
        text-align: justify !important;
    }

    .w-md-90{
        width: 90% !important;
    }

    .w-md-70{
        width: 70% !important;
    }

    #footer .links a{
        margin: 0;
    }

    .dados-contato .col-md-4:nth-child(2){
        border-left: solid 2px #b0b0b0;
        /* border-right: solid 2px #b0b0b0; */
    }

    /* .dados-contato .col-md-4:nth-child(2){
        border-left: solid 2px #b0b0b0;
        border-right: solid 2px #b0b0b0;
    } */

    #textoServicos .carousel-inner {
        width: 75%;
        margin: auto;
    }
}

/*====== DESK 1024 UP ======*/
@media screen and (min-width: 1024px){
    .font-size-titulo{
        font-size: 2.5em;
    }

    .font-size-subtitulo{
        font-size: 1.6em;
    }

    #navbarDoControl .nav-link{
        padding: 30px 0;
        width: 122px;
        text-align: center;
    }

    #footer .contato .col-lg-2 {
        -ms-flex: 0 0 20.666667%;
        flex: 0 0 20.666667%;
        max-width: 20.666667%;
    }

    .titulos{
        font-size: 40px;
    }
}

/*====== DESK 1366 UP ======*/
@media screen and (min-width: 1366px){
    #footer .contato .col-lg-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }

    .titulos{
        font-size: 48px;
    }
}

/*====== DESK 1800 UP ======*/
@media screen and (min-width: 1800px){


}

/*====== DESK 1920 UP ======*/
@media screen and (min-width: 1920px){

}