/*------------------------------------*\
    Básico
\*------------------------------------*/

/*
 * Wordpress - Adminbar
 */
#wpadminbar { z-index: 1499; }

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

body {
    font: 400 17px/100% 'Odibee Sans', sans-serif;
    color: #0099dd;
}

p,
li { line-height: 125%; }

p:last-child { margin-bottom: 0; }




/*------------------------------------*\
    Misto
\*------------------------------------*/

/*
 * Aplica aspect ratio para imagens responsivas
 */
.ratio-img {
    position: relative;
    z-index: 1;
    display: block;
}
.ratio-img > img {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



.lazyload,
.lazyloading { opacity: 0 }
.lazyloaded {
    opacity: 1;
    transition: opacity 300ms;
}



.page-container {}



.main {}



/* Header */
.header {
    border: 2px solid #ff0000;
    background-color: #410000;
    position: relative;
}
.header:before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 12px;
    right: 12px;
    bottom: 12px;
    left: 12px;
    display: block;
    background: #1c0000 url(../img/header-bg.png) repeat;
    border: 2px solid #ff0000;
    border-radius: 5px;
}
.header__container {
    position: relative;
    z-index: 2;
    padding-top: 30px;
    padding-bottom: 30px;
}



.main-navigation {
    padding: 35px 20px 25px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
@media (min-width: 1140px) {
    .main-navigation {
        justify-content: space-between;
        padding: 15px 40px;
    }
}
.main-navigation__brand { display: inline-block; }
.main-navigation__brand:hover { text-decoration: none; }
.main-navigation__brand img { max-width: 100%; }
@media (min-width: 1140px) and (max-width: 1199.999px) {
    .main-navigation__brand img { width: 200px; }
}
@media (min-width: 1200px) {
    .main-navigation__brand img { width: 300px; }
}
.main-navigation__brand .-logo {
    width: 116px;
    margin-right: 15px;
}
.main-navigation__brand .-selo { width: 90px; }



.menu {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-wrap: wrap;
    flex-direction: row;
    width: 100%;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}
@media (min-width: 1140px) {
    .menu {
        width: auto;
        justify-content: end;
        margin-top: 0;
    }
}
.menu li {
    position:relative;
    z-index: 2;
    margin-bottom: 15px;
}
@media (min-width: 1140px) {
    .menu > li {
        margin-bottom: 0;
    }
}
.menu li > a {
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    text-align: left;
    text-transform: uppercase;
    display: block;
    margin: 0 13px;
    padding-bottom: 4px;
    transition: all .3s ease;
    line-height: 100%;
    letter-spacing: 2px;
}
.menu li a:hover { text-decoration: none; }
.menu ul li:last-child a { border: 0 none !important; }
.menu > li:first-child > a { margin-left: 0; }
.menu > li:last-child > a { margin-right: 0; }
.menu > li > a { border-bottom: 3px solid transparent; }
.menu li:hover > a { text-decoration: none; }
.menu > li.current-menu-item > a,
.menu > li:not(.whatsapp):hover > a {
    text-decoration: none;
    border-color: #fff;
}
.menu > li.menu-item-has-children:not(.whatsapp):hover > a { border-bottom: 2px solid transparent; }


.menu li ul {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 100%;
    display: none;
    min-width: 210px;
    margin: 0;
    padding: 16px 0 14px;
    list-style: none;
    background-color: #fff;
}
.menu > li > ul { border-top: 1px solid #5e5e5e; }
.menu li > ul > li ul {
    border-left: 1px solid #5e5e5e;
    margin-top: -17px;
}
.menu > li > ul {
    top: 100%;
    left: 0;
}
.menu > li > ul li {
    position: relative;
    z-index: 2;
}
.menu > li > ul li.menu-item-has-children:after,
.menu > li > ul li.dropdow:after {
    position: absolute;
    top: 50%;
    right: 10px;
    z-index: 3;
    content: '';
    display: block;
    color: #5e5e5e;
    font-size: 20px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #ccc;
    margin-top: -5px;
}
.menu > li > ul li.menu-item-has-children:hover:after,
.menu > li > ul li.dropdow:hover:after {
    border-left-color: #5e5e5e;
}
.menu > li > ul li a {
    padding-top: 10px;
    padding-bottom: 10px;
    font-weight: 500;
    color: #6f7380;
}
.menu > li > ul li:hover {}
.menu > li > ul li:hover > a {
    text-decoration: none;
    color: #5e5e5e;
}
@keyframes menu-ul-in {
    0% {
        opacity: 0;
        transform: scale3d(1.07, 1.07, 1.07);
    }
    100% {
        opacity: 1;
        transform: scale3d(1, 1, 1);
    }
}
.menu li ul {}
.menu li:hover > ul {
    display: block;
    animation: menu-ul-in .5s cubic-bezier(0.25, 0.1, 0, 0.99);
}



.whatsapp-link {
    display: inline-block;
    transition: all .2s;
    margin: 0 !important;
}
.whatsapp-link:hover { transform: translate3d(0, -7px, 0); }
.whatsapp-link img {
    width: 50px;
    height: auto;
}




.footer {
    border: 2px solid #ff0000;
    background-color: #410000;
    position: relative;
}
.footer:before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 12px;
    right: 12px;
    bottom: 12px;
    left: 12px;
    display: block;
    background-color: #ff0000;
    border: 2px solid #ff6868;
    border-radius: 5px;
}
.footer > .container {
    position: relative;
    z-index: 2;
    padding-top: 30px;
    padding-bottom: 30px;
}
.footer__social {
    font-size: 0;
    text-align: center;
}
.footer__social a {
    display: inline-block;
    margin: 0 5px;
    transition: all .2s;
}
.footer__social a:hover {
    transform: translate3d(0, -7px, 0);
}



/* Slide principal */
.main-slider-w {}
.main-slider { background-color: #ccc; }
.main-slider__list,
.main-slider__item { width: 100% !important; }
.main-slider__content {
    display: block;
    padding-top: 35.4166%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 20vh;
    max-height: 70vh;
}
.main-slider__img { max-width: 100%; }
@media only screen and (min-width: 992px) {
    .main-slider__img { opacity: 0; }
}
.main-slider__prev,
.main-slider__next {
    font-size: 14px;
    font-weight: 700;
    line-height: 14px;
    color: #fff;
    width: auto;
    height: auto;
    padding: 8px 6px;
    background: rgba(0, 0, 0, .5) !important;
    opacity: .45;
    transition: all .3s ease;
}
.main-slider__prev { left: 0; }
.main-slider__next { right: 0; }
@media only screen and (min-width: 560px) {
    .main-slider__prev,
    .main-slider__next {
        font-size: 22px;
        line-height: 14px;
        padding: 14px 12px;
    }
}
.main-slider__prev:focus,
.main-slider__next:focus { outline: none; }
.main-slider__prev:hover,
.main-slider__next:hover { opacity: 1; }
.swiper-slide-active .swiper-lazy-preloader:after { display: none; }

.main-slider__pagination {}
.main-slider__pagination.swiper-pagination-bullets {}
.main-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 13px;
    height: 13px;
    background-color: #ff0000;
    opacity: 1;
    border: 0 none;
}
.main-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet-active { background-color: #dadada; }



.slide-footer {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0 50px;
    height: 126px;
    background: #000 url(../img/slide-footer-bg.png) no-repeat center center;
    background-size: cover;
}



/* Home */
.h-section {}
.h-section--quem-somos {}



.s-quem-somos {}
.s-quem-somos__title {
    font-size: 6vw;
    font-family: 'Dancing Script';
    text-align: center;
    margin: 0;
    padding: 30px 15px;
    color: #fff;
    background-color: #8f8f8f;
}
@media (min-width: 992px) {
    .s-quem-somos__title { font-size: 3.7vw; }
}
.s-quem-somos__content-w {
    position: relative;
    background: #000 url(../img/quem-somos-texto-bg.png) repeat;
}
.s-quem-somos__content-w:before {
    content: '';
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    left: 20px;
    display: block;
    background-color: rgba(0, 0, 0, .85);
}
.s-quem-somos__content-w > .container {
    position: relative;
    z-index: 15;
}
.s-quem-somos__content { width: 100%; }
@media (min-width: 992px) {
    .s-quem-somos__content {
        width: 40%;
        position: absolute;
        z-index: 2;
        top: 0;
        right: 50%;
        left: 0;
    }
}
.s-quem-somos__text { width: 100%; }
@media (min-width: 992px) {
    .s-quem-somos__text { background: #000 url(../img/quem-somos-texto-bg.png) repeat; }
}
.s-quem-somos__text-content {
    margin: 0 40px;
    padding: 40px 20px;
    font-size: 20px;
    line-height: 1.4;
    text-align: justify;
    color: #fff;
}
@media (min-width: 992px) {
    .s-quem-somos__text-content { background-color: rgba(0, 0, 0, .85); }
}



.s-quem-somos__slide {
    height: 450px;
    background: #ececec url(../img/quem-somos-bg.jpg) no-repeat left bottom;
    background-size: cover;
    display: flex;
    align-items: flex-end;
}
@media (min-width: 992px) {
    .s-quem-somos__slide { height: 533px; }
}
.s-quem-somos__slide-container { position: relative; }
@media (min-width: 992px) {
    .s-quem-somos__slide-slider {
        max-width: 60%;
        margin-left: auto;
    }
}
.qs-slide-w {
    padding-top: 68.9655%;
    background: url(../img/quem-somos-portal-bg-2.png) no-repeat center center;
    background-size: 100% 100%;
    transform: translate3d(0, 28px, 0);
}
.qs-slider {
    position: absolute;
    z-index: 10;
    top: 10.5%;
    right: 13.5%;
    bottom: 5.5%;
    left: 12.7%;
    background-color: #ccc;
}
.qs-slider__list,
.qs-slider__item { width: 100% !important; }
.qs-slider__content {
    display: block;
    padding-top: 78.52%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 20vh;
    max-height: 70vh;
}
.qs-slider__img { max-width: 100%; }
@media only screen and (min-width: 992px) {
    .qs-slider__img { opacity: 0; }
}
.qs-slider__prev,
.qs-slider__next {
    font-size: 14px;
    font-weight: 700;
    line-height: 14px;
    color: #fff;
    width: auto;
    height: auto;
    padding: 8px 6px;
    background: rgba(0, 0, 0, .5) !important;
    opacity: .45;
    transition: all .3s ease;
}
.qs-slider__prev { left: 0; }
.qs-slider__next { right: 0; }
@media only screen and (min-width: 560px) {
    .qs-slider__prev,
    .qs-slider__next {
        font-size: 22px;
        line-height: 14px;
        padding: 14px 12px;
    }
}
.qs-slider__prev:focus,
.qs-slider__next:focus { outline: none; }
.qs-slider__prev:hover,
.qs-slider__next:hover { opacity: 1; }
.swiper-slide-active .swiper-lazy-preloader:after { display: none; }

.qs-slider__pagination {}
.qs-slider__pagination.swiper-pagination-bullets {}
.qs-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background-color: #ff0000;
    opacity: 1;
    border: 0 none;
}
.qs-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet-active { background-color: #dadada; }


.s-quem-somos__slide-footer {
    display: block;
    height: 113px;
    background: #ececec url(../img/quem-somos-rodape-bg.png) no-repeat center bottom;
    background-size: cover;
}


.qs-slide-w__port-w {
    position: absolute;
    z-index: 11;
    top: 10.5%;
    right: 13.5%;
    bottom: 5.5%;
    left: 12.7%;
}
.qs-slide-w__port-wrap { overflow: hidden; }
.qs-slide-w__port {
    background-color: #ccc;
    padding-top: 78.52%;
    background: url(../img/quem-somos-porta-bg.png) no-repeat;
    background-size: cover;
    transition: transform 1.5s ease-out;
}
.qs-slide-w__port.active {
    transform: translate3d(0, -100%, 0);
}



.s-quem-somos__footer {
    padding: 20px 0;
    background-color: #8f8f8f;
}
.s-quem-somos__footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: start;
}
@media (min-width: 1200px) {
    .s-quem-somos__footer ul { justify-content: space-between; }
}
.s-quem-somos__footer li {
    font-size: 26px;
    margin: 10px;
    color: #000;
    cursor: pointer;
    transition: all .2s;
}
.s-quem-somos__footer li:first-child { margin-left: 0; }
.s-quem-somos__footer li:last-child { margin-right: 0; }
.s-quem-somos__footer li.active,
.s-quem-somos__footer li:hover { color: #fff; }
.s-quem-somos__footer .texts { background-color: #8f8f8f; }
.s-quem-somos__footer .texts > div {
    display: none;
    text-align: center;
    font-size: 30px;
    line-height: 1.4;
    background-color: #fff;
    padding: 20px;
}
.s-quem-somos__footer .texts > div.active { display: block; }
.s-quem-somos__footer .texts p { color: #000; }



.s-servicos {
    padding: 50px 0 40px;
    background: #ff0000 url(../img/servicos-bg.png) repeat-x left top;
}
.s-servicos__title-w {
    text-align: center;
    padding: 0 15px;
}
.s-servicos__title {
    font-size: 0;
    display: inline-block;
    margin: 0;
    width: 357px;
    max-width: 100%;
}
.s-servicos__title:after {
    content: '';
    display: block;
    padding-top: 33.0532%;
    background: url(../img/titulo-servicos.png) no-repeat center center;
    background-size: 100% 100%;
}


.servicos-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}
.servicos-list__item {
    width: 100%;
    text-align: center;
}
@media (min-width: 420px) {
    .servicos-list__item { width: 50%; }
}
@media (min-width: 768px) {
    .servicos-list__item { width: 33.3333%; }
}
@media (min-width: 992px) {
    .servicos-list__item { width: 25%; }
}
@media (min-width: 1140px) {
    .servicos-list__item { width: 20%; }
}

.servico-card {
    display: inline-block;
    cursor: pointer;
}
.servico-card h4 {
    font-size: 22px;
    text-align: center;
    color: #fff;
    margin: 12px 0 0;
}
.servico-card__img-w {
    width: 132px;
    max-width: 90%;
    margin: 0 auto;
}
.servico-card__img {
    position: relative;
    z-index: 2;
    padding-top: 100%;
    background-color: #dadada;
    transition: all .2s;
}
.servico-card:hover .servico-card__img {
    transform: translate3d(0, -10px, 0);
}
.servico-card__img img {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



.service-popup {
    position: relative;
    padding: 50px 30px;
    width: auto;
    max-width: 600px;
    margin: 20px auto;
    background-color: #fff;
    line-height: 1.4;
    color: #000;
    font-size: 22px;
}
.service-popup .popup-modal-dismiss {
    position: absolute;
    top: -20px;
    right: -20px;
    font-size: 40px;
    background: red;
    width: 40px;
    height: 40px;
    line-height: 37px;
    text-align: center;
    color: #fff;
}
.service-popup .popup-modal-dismiss:hover {
    text-decoration: none;
}



.s-orcamento {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    z-index: 2;
    padding: 50px 0;
    background: url(../img/orcamento-bg.jpg) no-repeat center bottom;
    background-size: cover;
}
.s-orcamento:before {
    background: url(../img/orcamento-bg-top.png) no-repeat center top;
    content: '';
    display: block;
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 16px;
}
.s-orcamento__container {}
.s-orcamento__title {
    text-align: center;
    margin: 0;
}



.pc {
    max-width: 100%;
    width: 1134px;
    margin: 30px auto 0;
    position: relative;
    z-index: 2;
}
.pc__top {
    top: 0;
    left: 0;
    right: 0;
    background: url(../img/pc/top.png) no-repeat center top;
    /*background-size: 100% auto;*/
    /*padding-top: 1.222%;*/
    background-size: 100% 14px;
    padding-top: 14px;
}
.pc__bottom {
    right: 0;
    bottom: 0;
    left: 0;
    background: url(../img/pc/bottom.png) no-repeat center bottom;
    background-size: 100% auto;
    padding-top: 25.3086%;
}
.pc__content {
    position: relative;
    z-index: 2;
    margin: 0 12.39% 0 2.8%;
    padding: 30px 30px;
    background-color: #f0f0f0;
}
.pc__content:before {
    content: '';
    display: block;
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: 0;
    width: 14px;
    height: 100%;
    background: #000 url(../img/pc/right.png) repeat-y left top;
}
.pc__content:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    bottom: 0;
    width: 15px;
    height: 100%;
    background: #000 url(../img/pc/left.png) repeat-y left top;
}


.wpcf7-form-control-wrap {
    display: block;
}
.wpcf7-form .form-field {
    margin-bottom: 20px;
}
.wpcf7-form .form-field > label {
    text-transform: lowercase;
    font-size: 26px;
    color: #777;
    display: block;
}
.wpcf7-form .form-field input,
.wpcf7-form .form-field textarea {
    width: 100%;
    padding: 9px 12px;
    border: 0 none;
    background-color: #fff;
}
.wpcf7-form .form-field input:focus,
.wpcf7-form .form-field textarea:focus { outline: 0 }
.wpcf7-form .form-field textarea {
    height: 130px;
}
.wpcf7-form .form-field input[type="file"] {
    width: auto;
}
.wpcf7-submit {
    font-size: 0;
    padding: 0;
    display: inline-block;
    border: 0 none;
    background: url(../img/orcamento-btn.png) no-repeat;
    width: 160px;
    height: 35px;
}
.wpcf7-submit:hover {
    opacity: .85;
}


.s-onde-estamos {
    background:
        repeating-linear-gradient(
            45deg,
            transparent,
            transparent 30px,
            #d2a702 30px,
            #d2a702 60px
        );
    background-color: #000;
}
.onde-estamos > .container {}
.onde-estamos__left {}
.onde-estamos__left-content {
    text-align: center;
    padding: 40px 0 50px;
}
.onde-estamos__right {}
.onde-estamos__right-content {
    background: #000 url(../img/onde-estamos-bg.png) repeat-y;
    background-size: 100% auto;
    height: 100%;
    padding: 40px 30px;
    font-size: 22px;
    line-height: 1.2;
    color: #fff;
}



