/*

Theme Name: Dev Gusta

Theme URI: http://exemplo.com

Author: Gustavo Silva

Description: Tema personalizado criado do zero para o site

Version: 1.0

Text Domain: devgusta

*/





@import url('https://fonts.googleapis.com/css2?family=Encode+Sans:wght@100..900&family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Quicksand:wght@300..700&display=swap');











/* Carrosel */

.slick-prev {

    position: absolute;

    top: 50%;

    left: 0%;

    transform: translate(-42%, -50%) !important;

    z-index: 9;

}



.slick-next {

    position: absolute;

    top: 50%;

    right: 0%;

    transform: translate(50%, 50%);

    z-index: 9;

}





.slick-slider button {

    background-color: transparent;

    font-size: 20px;

    cursor: pointer;

}



/* Fim Carrosel */





/* Blog */

.blog-card {

    border-radius: 10px;

    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;

    overflow: hidden;

    height: 100%;

    min-height: 450px;

}



.post-thumbnail {

    height: 100%;

    min-height: 400px;

}



.post-thumbnail img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius: 10px;

}



.recent-post-thumb img {

    border-radius: 10px;

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.search-form-blog {

    position: relative;

    margin-bottom: 32px;

}



.search-form-blog input {

    background-color: #ECECEC;

    padding: 16px;

    border-radius: 30px;

    position: relative;

    width: 100%;



}



.search-submit {

    position: absolute;

    top: 0;

    right: 0;

    background-color: var(--primary-color);

    padding: 16px;

    border-radius: 30px;

    color: white;

}



.thumb-resultados {

    max-height: 300px;

    overflow: hidden;

    border-radius: 10px;

}



.thumb-resultados img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius: 10px;

}



.imagem-blog {

    margin-bottom: 16px;

}



.imagem-blog img {

    border-radius: 10px;

    box-sizing: border-box;

    height: auto;

    max-width: 100%;

    width: 100% !important;

    max-height: 520px !important;

    object-fit: cover;

    vertical-align: bottom;

}



.wp-element-caption {

    display: none !important;

}



.list-blog {

    border-radius: 10px;

    background-color: #F2F2F2;

}



.post-links {

    margin: 0 0 20px 10px;

}



.post-links li {

    list-style: none;

    font-size: 12px;

    text-transform: uppercase;



}



.post-links li a {

    color: black;

    transition: all .3s ease-in-out;

}



.post-links li a:hover {

    color: var(--primary-color);

}



.paginacao {

    margin-top: 3rem !important;

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 5px;

}



.page-numbers.current {

    margin-inline: 0.5rem;

}



.paginacao a {

    display: inline-block;

    font-size: 0.8em;

    margin: 0 8px;

    padding: 8px 8px;

    background: #f2f2f2;

    color: #000;

    text-decoration: none;

    border-radius: 4px;

}



.paginacao a.current {

    background: #007bff;

    color: #fff;

    font-weight: bold;

}



.paginacao a:hover {

    background: #0056b3;

    color: #fff;

}





/* Fim Blog */







/* Serviços */

.body-serv {

    height: 410px !important;

    width: 338px;

    display: flex !important;

    flex-direction: column;

    align-items: flex-end;

    justify-content: space-between;

}



.servicos-carousel .body-serv {

    height: 427px !important;

}



.body-serv-1 {

    transform: rotate(4deg) !important;

}



.body-serv-1 figure {

    transform: rotate(-4deg) !important;

}



.body-serv-2 {

    transform: rotate(-4deg) !important;

}



.body-serv-2 figure {

    transform: rotate(4deg) !important;

}



.body-serv a {

    color: black;

    position: relative;

    z-index: 9;

}


.linha-cta {

    top: 0;

    left: 0;

    transform: translate(130px, 80px) rotate(-4deg);

}

@media only screen and (max-width: 1440px) {
 .container-servicos-home .grid-servicos{
justify-items: center;
 }
    .container-servicos-home .body-serv {
        width: 245px;
    }

    .linha-cta {
        transform: translate(20px, 10px);
    }

    .linha-dire {
        z-index: -1;
    }

    .linha-empresa-1 {
        transform: translateY(-290px);
        z-index: -1;
    }

    .body-serv {

        width: 280px;

    }



    .body-serv figure {

        width: 239px;
        height: 423px;

    }



    .body-serv figure img {

        object-fit: fill;



    }



    .text-title-servicos h2 {

        font-size: 18px;

    }



    .grid-servicos {

        grid-template-columns: repeat(3, 1fr);

    }

}



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

    .grid-servicos {

        grid-template-columns: repeat(2, 1fr);

    }

}



/* Fim Serviços */





/* cta */

.btn-cta {

    color: black;

    background-color: #F9F9F9;

}



.btn-cta:hover {

    background-color: var(--primary-color);

    color: white;

}







.container-cta .wrapper {

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center;

    padding: 136px;

}



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

    .container-cta .wrapper {



        padding: 97px;

    }

}



/* fim cta */



/* esconde o menu por padrão (mobile) */

/* container do menu - overlay dropdown mobile */





#menu-menu-cabecalho {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 68px;

    margin: 0 0 0px 0px;

}



#menu-menu-cabecalho li {

    list-style: none;



    text-transform: uppercase;

}



#menu-menu-cabecalho li a {

    color: black;

    transition: all .2s ease-in-out;

}



#menu-menu-cabecalho li a:hover {

    color: var(--primary-color);

}

















/* empresa home */

.container-text-empresa-home-2 {
    display: flex;
    align-items: center;
    justify-content: center;

    height: 320px;

    border-radius: 40px;

    width: 587px;

    transform: rotate(-1deg);

}




/* fim empresa home */



/* equipe home */

.container-equipe {

    background-repeat: no-repeat;

    background-size: cover;

    background-position: 0px -110px;

}



.container-especialidade {

    background-repeat: no-repeat;

    background-size: cover;

    background-position: 0px -30px;

}



.linha-equipe {

    right: 0;

    transform: translate(-260px, -140px);

}



.linha-quipe-2 {

    left: 0;

    transform: translate(560px, 350px);

}



/* fim equipe home */



/* banner */



.container-banner {

    height: var(--slider-height);

    background-size: cover;

    background-repeat: no-repeat;

}



.container-banner .wrapper {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: flex-start;

    height: 100%;

}



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

    :root {

        --slider-height: 590px;

    }

}



/* fim banner */



/* galeria */

.imagem-galeria figure {

    height: 320px;

    overflow: hidden;

    border-radius: 10px;

}



.imagem-galeria figure img {

    border-radius: 10px;

}



/* fim galeria */





/* =============================== SEÇÃO CONTATO =============================== */



.modal-overlay {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background: rgba(0, 0, 0, 0.6);

    display: flex;

    align-items: center;

    justify-content: center;

    z-index: 9999;

}



.modal-content {

    background: #fff;

    padding: 2rem;

    border-radius: 8px;

    width: 90%;

    max-width: 400px;

    text-align: center;

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);

}



.modal-content h2 {

    margin-bottom: 1rem;

}



.modal-content.success h2 {

    color: #28a745;

}



.modal-content.error h2 {

    color: #dc3545;

}



.modal-content button {

    margin-top: 1rem;

    padding: 0.5rem 1rem;

    background: #007bff;

    color: #fff;

    border: none;

    border-radius: 4px;

    cursor: pointer;

}



.container-contato {

    margin-top: 220px;

}



.contato--page {

    position: relative;

}



.fundo-contato {

    position: absolute;

    height: 350px;

    width: 100%;

    top: 0;

    left: 0;

    z-index: -1;

}



.fundo-contato img {

    height: 100%;

    width: 100%;

    object-fit: cover;

}



/* FORMULÁRIO */

.contato .contato__form {

    display: flex;

    flex-direction: column;

    width: 100%;

}



.ir input[type='submit'] {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    width: 100%;

    height: 100%;

    background: transparent;

    border: none;

    cursor: pointer;

    margin: 0px 0;

    color: transparent;

}



.ir {

    position: relative;

    background-color: #84BE34;

    width: 100%;

    height: 50px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

}



.ir label {

    font-size: 16px !important;

    color: white;

    text-transform: uppercase;

}



.contato .contato__form :is(input, textarea, select) {

    -webkit-box-sizing: border-box;

    box-sizing: border-box;

    padding: 1em;



    width: 100%;

    margin: 0.8em 0;



    border: 2px solid #ccc;



    font: 12px var(--primary-font);

    color: var(--grey);



    -webkit-transition: .3s;

    transition: .3s;



    outline: none;

    text-align: left;

}



.contato .contato__form select {

    padding: 0.9em;

}



.contato .contato__form :is(input, textarea, select):focus {

    border-color: var(--grey);

    outline: none;

}



.contato .contato__form label,

.contato .contato__form option,

.contato .contato__form :is(input, textarea)::placeholder {

    font: 12px var(--primary-font);

    color: var(--grey);

}



.contato .contato__form label {

    text-transform: uppercase;

}



/* BOTÃO SUBMIT */

.contato .contato__form .ir {

    display: block;

    position: relative;



    max-width: 242px;

    width: 100%;

    height: 50px;



    border: 2px solid var(--grey);



    transition: .3s;

}



.contato .contato__form .ir:hover {

    border-color: var(--primary-color);

}



.contato .contato__form .ir:before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 1%;

    height: 100%;

    background-color: var(--primary-color);

    transition: .3s;

    z-index: 0;

    opacity: 0;

}



.contato .contato__form .ir:hover:before {

    width: 100%;

    opacity: 1;

}



.contato .contato__form .ir label,

.contato .contato__form .ir [type='submit'] {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    z-index: 1;

    width: 100%;

    margin: 0;

    text-align: center;

}



.contato .contato__form .ir label {

    color: var(--grey);

    font-size: 14px;

    font-weight: bold;

}



.contato .contato__form .ir:hover label {

    color: #fff;

}



.contato .contato__form .ir [type='submit'] {

    background-color: transparent;

    outline: none;

    border: none;

}



/* INFORMAÇÕES DE CONTATO */



.contato .contato__item {

    display: block;

    width: 100%;

}



.contato .contato__icon {

    width: 65px;

    height: 65px;

    border-radius: 100%;

    font-size: 1.8em;

    background-color: var(--primary-color);

    color: #fff;

    display: flex;

    align-items: center;

    justify-content: center;

    -webkit-box-sizing: border-box;

    box-sizing: border-box;

    padding: 1em;

    float: left;

    transition: .3s;





}



.contato .contato__icon:hover {

    background-color: var(--dark);

    outline-color: var(--dark);

    outline-offset: 0.3em;

}



.contato .contato__info {

    float: left;

    padding: 0 0 2rem 1.5rem;

}



.contato .contato__info strong {

    display: block;

    margin-bottom: 1em;

    font: bold 15px var(--primary-font);

    text-transform: uppercase;

    color: var(--primary-color);

}



.contato .contato__info :is(span, a):not(.social__link, .roll) {

    display: block;



    color: var(--grey);

    font-size: 13px;

    line-height: 22px;

    transition: .3s;

}



.contato .contato__info a:hover {

    color: var(--primary-color);

}



/* ÍCONES REDES SOCIAIS */



.contato .contato__social {

    display: flex;

    align-items: center;

    justify-content: flex-start;

    gap: 5px;

}



.contato .social__icons {

    width: 35px;

    height: 35px;

    border: 2px solid #ccc;



    overflow: hidden;

    position: relative;

    transition: .3s;

}



.contato .social__icons i {

    display: flex;

    align-items: center;

    justify-content: center;



    width: 100%;

    height: 100%;

    text-align: center;

    color: var(--grey);

    font-size: 1rem;





    position: absolute;

    top: 50%;

    left: 50%;

    transition: all .5s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}



.contato .social__icons:hover {

    border-color: var(--primary-color);

    background-color: var(--primary-color);

    color: #fff;

}



.contato .social__icons:hover i {

    color: #fff;

}







.contato .social__icons i {

    transform: translate(-50%, -50%);

}







.contato .social__icons:hover i {

    transform: translate(-50%, -50%) scale(1.25) rotate(-6deg);

}





/* EXTRA SMALL DEVICE */



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



    .contato .contato__icon,

    .contato .contato__info {

        float: none;

        margin: 0 auto;

        padding: 1rem;

        text-align: center;

    }



    .contato .contato__social {

        justify-content: center;

    }



}



/* ===============================  END SEÇÃO CONTATO =============================== */





/* Empresa */

.linha-empresa-2 {

    position: absolute;

    top: 50%;

    left: 0;

    transform: translateY(-50%);

    z-index: -1;

}





/* =============================== CARD =============================== */



.linha-esq {

    transform: translate(5%, 32%);

}



.linha-esq img {

    width: 100%;

    height: 100%;

    object-fit: contain;

}



.linha-central {

    top: 50%;

    left: 50%;

    transform: translate(-50%, -75%);

}



.linha-central img {

    width: 100%;

    height: 100%;

    object-fit: contain;

}



.linha-dire {

    bottom: 0;

    right: 0;

    transform: translate(0%, 33%);

}



.linha-dire img {

    width: 100%;

    height: 100%;

    object-fit: contain;

}



.card--mod-05 {

    width: 490px;

    height: 330px;

    position: relative;

    transition: all 0.6s ease;

    transform-style: preserve-3d;

    perspective: 1000px;

    overflow: unset !important;

}



.card--mod-05-2 {

    top: 150px;

    margin-bottom: 7rem;

}



.quadra-ponti img {

    width: 100%;

    height: 100%;



}



.quadra-ponti-2 img {

    width: 100%;

    height: 100%;



}



.quadra-ponti {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    z-index: 9;

    width: 100%;

    height: 330px;

}



.quadra-ponti-2 {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%) rotate(3deg);

    z-index: 9;

    width: 100%;

    height: 330px;

}





.rotate-1-front {

    transform: rotateY(0deg) rotateZ(-3deg);

}



.rotate-1-back {

    transform: rotateY(180deg) rotateZ(-3deg);

}



.card--mod-05:hover .rotate-1-front {

    transform: rotateY(-180deg) rotateZ(-3deg);

}



.card--mod-05:hover .rotate-1-back {

    transform: rotateY(0deg) rotateZ(-3deg);

}





.rotate-2-front {

    transform: rotateY(0deg) rotateZ(-0deg);

}



.rotate-2-back {

    transform: rotateY(180deg) rotateZ(-0deg);

}



.card--mod-05:hover .rotate-2-front {

    transform: rotateY(-180deg) rotateZ(-0deg);

}



.card--mod-05:hover .rotate-2-back {

    transform: rotateY(0deg) rotateZ(-0deg);

}







/* .card--mod-05:hover .card__front {

    transform: rotateY(-180deg);

} */



/* .card--mod-05:hover .card__back {

    transform: rotateY(0deg);

} */



.card--mod-05 .card__face {

    position: absolute;

    width: 490px;

    height: 330px;

    backface-visibility: hidden;

    display: flex;

    justify-content: center;

    align-items: center;

    flex-direction: column;

    font-size: 24px;

    padding: 32px;

    transition: all 0.9s ease;

    border-radius: 60px;

}



/* .card--mod-05 .card__front {

    transform: rotateY(0deg);



} */



.card--mod-05 .card__image {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.card--mod-05 .card__overlay {

    position: absolute;

    top: 0;

    left: 0;

    width: 490px;

    height: 330px;

    border-radius: 60px;

    opacity: 1;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

}



/* .card--mod-05 .card__back {



    transform: rotateY(180deg);

    padding: 20px;

} */







.card--mod-05 .card__icon {

    font-size: 2.4rem;

    color: var(--secondary-color);

}



.card--mod-05 .card__title {

    font-size: 3rem;



    text-align: center;

}



.color-title-1-aspectos {

    color: #98A883;

}



.color-title-2-aspectos {

    color: #6D91B2;

}



.card--mod-05 .card__desc {

    font-size: 1rem;

    color: var(--light);

    text-align: center;

}



.card--mod-05 .card__btn {

    border-radius: 4px;

    color: var(--light);

    font-size: 0.9rem;

    text-transform: uppercase;

    padding: 10px 20px;

    background-color: var(--secondary-color);

    transition: all 0.4s ease;

}



.card--mod-05 .card__btn:hover {

    background-color: var(--secondary-color);

    color: var(--light);

}



@media only screen and (max-width:1440px) {
    .body-serv-2 figure {
        transform: rotate(2deg) !important;
    }

    .card--mod-05 .card__title {

        font-size: 2rem;

    }



    .quadra-ponti {



        width: 330px;

        height: 290px;

    }



    .quadra-ponti-2 {



        width: 330px;

        height: 290px;

    }



    .card--mod-05 {

        width: 100%;

        height: 290px;

    }



    .card--mod-05 .card__overlay {



        width: 100%;

        height: 290px;

    }



    .card--mod-05 .card__face {

        position: absolute;

        width: 100%;

        height: 290px;

    }



    .linha-esq {

        transform: translate(5%, 32%);

    }



    .text-face {

        font-size: 0.8rem;

    }

}



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

    .quadra-ponti {

        width: 280px;

        height: 290px;

    }



    .quadra-ponti-2 {



        width: 280px;

        height: 290px;

    }



    .linha-esq {

        transform: translate(5%, 32%);



    }



    .text-face {

        font-size: 11px;

    }

}



/* fim Empresa */



/* =============================== HEADER =============================== */



/* HEADER */

header {

    background-color: #F8F9FA;

    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;

}



header .logo img {

    display: block;

    margin: 20px 0;

    width: 100%;

    max-width: 160px;

    object-fit: contain;

}



/* TOPO */

header .topo {

    background-color: var(--primary-color);

    padding: 8px 0;

    font-size: 13px;

    color: #fff;

}



header .topo :is(span, a) {

    font: 13px var(--primary-font);

    color: #fff;



    border-bottom: 1px solid transparent;

    transition: .3s;

}



.social {

    display: flex;

    flex-direction: row;

    flex-wrap: wrap;

    gap: 8px;

}



.social a {

    display: flex;

    align-items: center;

    justify-content: center;

    background-color: #84BE34;

    height: 25px;

    width: 25px;

    color: white;

    font: 13px var(--primary-font);

    border-radius: 3px;

}



header .topo a:hover {



    color: var(--secondary-color);

}



/* MENU */

header #menu {

    text-align: center;

    width: 100%;

    position: relative;

}



header #menu ul {

    list-style: none;

    margin: 0;

    padding: 0;

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    height: 100%;

    width: 100%;

    gap: 8px;

    margin: 8px 0
}



header #menu li {

    position: relative;

    display: inline-block;

    margin: 0;

}



header #menu a {

    font-size: 14px;

    display: block;

    box-sizing: border-box;

    padding: 14px;

    text-align: center;

    color: var(--dark);

    border-bottom: 2px solid transparent;

    transition: .3s;

    text-transform: uppercase;

}



header #menu>ul>li:hover>a,

header #menu>ul>li>a.active-menu-topo {

    border-bottom-color: var(--primary-color);

    color: var(--primary-color);

}



/* SUB MENU */

header #menu .dropdown :is(.sub-menu, .sub-menu-info) {

    display: none;

    margin: 0;

    position: absolute;

    top: 100%;

    left: 0;

    z-index: 7;

    width: 230px;

    height: auto;

    background-color: var(--primary-color);

}



header #menu ul>li.dropdown:hover> :is(.sub-menu, .sub-menu-info) {

    display: block;

}



header #menu ul>li.dropdown>:where(.sub-menu, .sub-menu-info)>li.dropdown>:where(.sub-menu, .sub-menu-info) {

    display: none;

    top: 0;

    left: 100%;

}



header #menu>ul>li:nth-last-child(-n+3).dropdown> :is(.sub-menu, .sub-menu-info) {

    left: initial;

    right: 0;

}



header #menu>ul>li:nth-last-child(-n+3).dropdown> :is(.sub-menu, .sub-menu-info) :is(.sub-menu, .sub-menu-info) {

    left: initial;

    right: 100%;

}



header #menu ul>li.dropdown> :is(.sub-menu, .sub-menu-info)>li.dropdown:hover> :is(.sub-menu, .sub-menu-info) {

    display: block;

}



header #menu .dropdown :is(.sub-menu, .sub-menu-info) li {

    position: relative;

    display: block;

    margin: 0;

    width: 100%;

    padding: 0 12px;

    box-sizing: border-box;

}



header #menu .dropdown :is(.sub-menu, .sub-menu-info) li:first-of-type {

    padding-top: 12px;

}



header #menu .dropdown :is(.sub-menu, .sub-menu-info) li:last-of-type {

    padding-bottom: 12px;

}



header #menu .dropdown :is(.sub-menu, .sub-menu-info) li a {

    display: block;

    width: 100%;

    font-size: 12px;

    padding: 12px;

    text-align: left;

    text-decoration: none;

    color: #fff;

    border-bottom: 2px solid transparent;

}



header #menu .dropdown> :is(.sub-menu, .sub-menu-info)>li:hover>a,

header #menu .dropdown> :is(.sub-menu, .sub-menu-info)>li>a.active-menu-topo {

    border-bottom-color: #fff;

}



/* SUB MENU SCROLL */

header #menu .dropdown :is(.sub-menu, .sub-menu-info).sub-menu-scroll {

    max-height: 400px;

    height: auto;

    overflow-y: auto;

    overflow-x: hidden;

}



/* MENU DROPDOWN ARROWS */

header #menu>ul>li.dropdown:not([data-icon-menu])>a::after {

    content: "\f107";

    font-family: "FontAwesome";

    color: var(--grey);

    margin-left: 4px;

    font-size: 14px;

    transition: 0.3s;

}



header #menu>ul>li.dropdown:not([data-icon-menu])>a.active-menu-topo::after,

header #menu>ul>li.dropdown:not([data-icon-menu]):hover>a::after {

    color: var(--primary-color);

}



/* HEADER HOME */



header.header-home:not(.headerFixed) {

    position: absolute;

    max-width: var(--window-width);

    width: 100%;

    top: 0;

    left: 50%;

    transform: translateX(-50%);

    z-index: 999;

    background: linear-gradient(to bottom, rgb(104 100 100 / 50%), transparent);

}



header.header-home:not(.headerFixed) #menu a {

    color: #fff;

}



header.header-home:not(.headerFixed) #menu>ul>li:hover>a,

header.header-home:not(.headerFixed) #menu>ul>li>a.active-menu-topo {

    color: var(--primary-color);

}



header.header-home:not(.headerFixed) #menu>ul>li.dropdown:not([data-icon-menu])>a::after {

    color: #fff;

}



header.header-home:not(.headerFixed) #menu>ul>li.dropdown:not([data-icon-menu]):hover>a::after {

    color: var(--primary-color);

}



header.header-home:not(.headerFixed) .search input,

header.header-home:not(.headerFixed) .search input::placeholder,

header.header-home:not(.headerFixed) .search button {

    color: #FFF;

}



/* SEARCH */

.search {

    position: relative;

}



.search input {

    width: 100%;

    box-sizing: border-box;

    padding: 12px 12px;

    border: 1px solid #ccc;

    border-radius: var(--border-radius);

    color: var(--grey);

    background-color: transparent;

    font: normal 12px/normal var(--primary-font);

}



.search input::placeholder {

    font: normal 14px/normal var(--primary-font);

    color: var(--grey);

}



.search button {

    border: none;

    outline: none;

    text-decoration: none;

    background-color: transparent;

    color: var(--grey);

    font-size: 18px;

    width: max-content;

    -webkit-transition: .3s;

    -o-transition: .3s;

    transition: .3s;

}



.search--topo {

    margin: 8px 0
}



.search--topo button {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    right: 12px;

    width: max-content;

}



.search button:hover {

    color: var(--dark);

}



.search .button-group {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    right: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

}



.search-content {

    opacity: 0;

    transition: opacity .2s ease .2s;

}



.search-content.search-active {

    opacity: 1;

}



.search-content .no-results {

    margin: 0 0 32px 0;

    text-align: left;

    font-size: 18px;

}



.search-content ul {

    margin: 0;

}



.search-content ul li {

    margin: 0;

    list-style: none;

}



.search-content ul li a {

    float: left;

    appearance: button;

    background-color: var(--primary-color);

    background-image: none;

    border: 1px solid var(--primary-color);

    border-radius: var(--border-radius);

    box-shadow: #fff 4px 4px 0 0, var(--primary-color) 4px 4px 0 1px;

    box-sizing: border-box;

    color: #fff;

    cursor: pointer;

    display: inline-block;

    font-size: 14px;

    font-weight: 400;

    line-height: 20px;

    margin: 6px 6px 12px 6px;

    overflow: visible;

    padding: 12px 40px;

    text-align: center;

    text-transform: none;

    touch-action: manipulation;

    user-select: none;

    -webkit-user-select: none;

    vertical-align: middle;

    transition: .3s;

}



.search-content ul li a:focus {

    text-decoration: none;

}



.search-content ul li a:not([disabled]):active,

.search-content li a:not([disabled]):hover {

    box-shadow: unset;

    transform: translate(3px, 3px);

}





/* BREADCRUMB BASE */



.contato--page .bread * {

    color: white !important;

}



.bread {

    padding: 14px;



}



.bread__title {

    margin: 0;

    margin-top: 0.5rem;

    color: #000;

    font-size: 2rem;

}



#breadcrumb {

    display: inline-flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 6px;

    clear: both;

    margin: 0;

}



#breadcrumb * {

    -webkit-transition: .3s;

    transition: .3s;

    color: black;

}



#breadcrumb a {

    display: inline-flex;

    align-items: center;

    height: fit-content;

    color: black;

}



#breadcrumb a:hover * {

    color: var(--primary-color);

}



#breadcrumb .bread__column {

    display: inline-flex;

    align-items: center;

}



#breadcrumb .bread__column,

#breadcrumb .bread__column a {

    font: 12px var(--primary-font);

    color: #fff;

    text-transform: uppercase;

}



.bread:is(.bread--default, .bread--mpi) .bread__column:first-child:before {

    content: "\e3af";

    font-family: "FontAwesome";

    font-size: 12px;

    margin-right: 4px;

}



.bread:is(.bread--default, .bread--mpi) .bread__column:not(:last-child)::after {

    content: "❱";

    margin-left: 6px;

    font-size: 14px;

}





/* SMALL DEVICE */

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



    #breadcrumb .bread__column,

    #breadcrumb .bread__column a {

        display: flex;

        max-width: 82px;

        -webkit-line-clamp: 1;

        overflow: hidden;

        text-overflow: ellipsis;

        white-space: nowrap;

    }



}





/* ASIDE CONFIG*/



aside nav {

    list-style: none;

    margin: 0;

    padding: 0;

    max-height: 400px;

    height: auto;

    overflow-y: auto;

    overflow-x: hidden;

}



aside nav ul {

    margin: 0
}



aside nav>ul>li>ul {

    display: none;

}



aside li {

    margin: 6px 0 0 0;

    list-style: none;

}



aside li a {

    font-size: 12px;

    text-transform: uppercase;

}



aside nav ul li a.active-menu-aside {

    color: var(--primary-color);

    font-weight: bold !important;

}





/* SMALL DEVICE */

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

    aside {

        width: 100%;

        float: none;

        margin: 16px 0;

    }



}





/* ASIDE COMPONENTS */

.aside .aside__btn,

.aside .aside__menu h2,

.aside .aside__contato h2 {

    font-size: 14px;

    background-color: var(--primary-color);

    padding: 12px;

    display: block;

    transition: .3s;

    color: #fff;

    border-radius: var(--border-radius);

}



.aside .aside__btn {

    color: #fff;

    text-align: center;

    border-radius: var(--border-radius);

    margin-bottom: 16px;

}



.aside .aside__btn:hover {

    background-color: var(--dark);

}



.aside .aside__menu h2 a {

    color: #fff;

}



.aside .aside__menu nav ul li {

    border-left: 2px solid var(--primary-color);

    margin: 12px 0;

    padding: 6px;

    transition: .2s;

}



.aside .aside__menu nav ul li a {

    color: var(--dark);

    font-size: 12px;

    border-left: 0;

    padding: 0;

    transition: .3s;

}



.aside .aside__menu nav ul li:hover {

    border-left-color: var(--dark);

    background-color: #f0f0f0;

}



.aside .aside__menu nav ul li a.active-menu-aside {

    color: var(--primary-color);

    font-weight: bold;

}



.aside .aside__contato h2 {

    text-align: center;

}



.aside .aside__contato a {

    color: var(--dark);

    text-align: center;

    display: block;

    margin: 12px;

    transition: all .2s ease;

}



.aside .aside__contato a:hover {

    color: #5492c3;

}



.aside .fb-page {

    display: block;

    margin-bottom: 24px;

}





/* FORMULARIO / CONTATO PAGE */

.form {

    display: flex;

    flex-direction: column;

    width: 100%;

    background-color: transparent;

}



.form *:focus,

.form *:active {

    outline: unset;

}



.form :is(input, textarea, select) {

    -webkit-box-sizing: border-box;

    box-sizing: border-box;

    padding: 12px;

    width: 100%;

    margin: 8px 0;

    border: 1px solid black;

    border-radius: 10px;

    font: 12px/normal var(--primary-font);

    background-color: #fff;

    color: var(--grey);

    -webkit-transition: .3s;

    transition: .3s;

}



/* .form :is(input, textarea, select):hover,

.form :is(input, textarea, select):active,

.form :is(input, textarea, select):focus {

    outline: currentColor solid 2px;

} */



.form label,

.form :is(input, textarea)::placeholder {

    font: 12px/normal var(--primary-font);



}



.form textarea {

    height: 150px;

}







.form__obrigatory {

    display: block;

    margin: 16px 0;

    font-size: 12px;

    color: var(--grey);

}



.contato .address {

    font-style: normal;

}



.contato .address :is(span, a) {

    display: block;

    font: 13px/22px var(--primary-font);

    color: var(--grey);

}



.contato .address a:hover {

    color: var(--primary-color);

}



.contato .social {

    display: flex;

    align-items: center;

    justify-content: flex-start;

    gap: 8px
}



.contato .social .social__icons {

    color: var(--dark);

    font-size: 18px;

    margin-top: 8px;

    transition: .3s;

}



.contato .social .social__icons:hover {

    color: var(--primary-color);

}



.contato .mapa {

    width: 100%;

    height: 258px;

}



.g-recaptcha {

    -webkit-transform: scale(0.8);

    transform: scale(0.8);

    -webkit-transform-origin: 0 0;

    transform-origin: 0 0;

}



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

    .form textarea {

        height: auto;

    }

}





/* FOOTER */



.logo-footer {

    max-width: 242px;

    margin: 0 auto;

}



.logo-footer img {

    width: 100%;

    height: 100%;

    object-fit: contain;

}



footer {

    -webkit-box-sizing: border-box;

    box-sizing: border-box;

    clear: both;



}



footer .footer__title {

    margin: 0 0 8px 0;

    font-size: 14px;

    color: #2A2A2A;

    text-transform: uppercase;

}



footer .footer__link {

    font-size: 14px;

    display: block;

    margin: 0 0 22px 0;

    color: #2A2A2A;

    outline: transparent solid 1px;

    outline-offset: 5px;

    transition: .3s;

}







footer .footer__menu nav ul {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    justify-content: flex-end;

    margin: 0;

}



footer .footer__menu nav ul li {

    display: inline;

    margin: 3px 0;

    color: #2A2A2A;

}



footer .footer__menu nav ul li a {

    color: #2A2A2A;

    font-size: 14px;



    transition: .3s;

}

















/* COPYRIGHT FOOTER */

footer .footer__copyright {

    background-color: var(--primary-color);

    padding-block: 0.4rem
}



footer .footer__copyright .copyright__text {

    color: #fff;

    font-size: 10px;

}



footer .footer__copyright .copyright__selos {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 8px;

}



footer .footer__copyright .copyright__selos a {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

}



footer .footer__copyright .copyright__selos i {

    font-size: 14px;

    color: #fff;

}



footer .footer__copyright .copyright__selos strong {



    color: #fff;

    padding: 1px 6px;

    font-size: 8px
}



footer .footer__copyright .copyright__selos img {

    aspect-ratio: 1/1;

    object-fit: contain;

}



footer .footer__copyright .row {

    margin-left: -4px;

    margin-right: -4px;

}



footer .footer__copyright [class*=col-] {

    padding: 4px;

}





/* SMALL DEVICE */

@media (max-width: 767.98px) {



    footer * {

        text-align: center;

    }



    footer .footer__link {

        margin-left: auto;

        margin-right: auto;

    }



    footer .footer__menu nav ul {

        flex-direction: column;

        width: 100%;

    }



    footer .footer__menu nav ul li {

        max-width: 80%;

        width: 100%;

        margin: 0 auto;

    }



    footer .footer__menu nav ul li a {

        width: 100%;



    }



    footer .social,

    footer .footer__copyright .copyright__selos {

        justify-content: center;

    }



    .quadra-ponti {

        width: 370px;

        height: 290px;

    }



    .quadra-ponti-2 {

        width: 360px;

        height: 270px;

    }



    .card--mod-05-2 {

        top: 0px;



        margin-block: 2rem;

    }



    .linha-dire {

        display: none;

    }



    .linha-empresa-1 img {

        width: 100%;

        height: 100%;

    }



    .linha-esq {



        display: none;

    }



    .grid-servicos {

        grid-template-columns: repeat(1, 1fr);

        justify-items: center;



    }



    .body-serv {

        width: 80%;

    }



    .grid-servicos .body-serv-1 figure img {

        width: 100%;

        height: 100%;

    }



    .grid-servicos .linha-servicos-2 img {

        width: 100%;

    }



    .container-empresa-home .ml-0 {

        margin: 0 auto;

    }



    .linha-quipe-2 {

        display: none;

    }



    header .topo {

        display: none !important;

    }



    .bread__title {

        font-size: 1rem;

    }



    .imagem-blog {

        margin-block: 16px;

    }



    .recent-post-title {

        font-size: 1em;

    }

}





/* evitar problemas em telas grandes (o menu fica sempre visível) */

@media (min-width: 993px) {

    #menu-toggle {

        display: none;

    }



    #nav-menu {

        position: static;

        opacity: 1;

        transform: none;

        visibility: visible;

        pointer-events: auto;

        transition: none;

        will-change: auto;

    }

}



/* acessibilidade: respeitar preferência por menos movimento */

@media (prefers-reduced-motion: reduce) {

    #nav-menu {

        transition: none !important;

        transform: none !important;

    }

}



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

    #nav-menu {

        position: absolute;

        /* tira do fluxo para não empurrar conteúdo */

        top: 100%;

        left: 0;

        right: 0;

        width: 100%;

        margin: 0;

        background: #fff;

        z-index: 9999;



        opacity: 0;

        transform: translateY(-10px) translateZ(0);

        visibility: hidden;

        pointer-events: none;



        /* animar só opacity e transform (GPU-friendly) */

        transition: opacity 260ms cubic-bezier(.2, .8, .2, 1),

            transform 260ms cubic-bezier(.2, .8, .2, 1);

        will-change: opacity, transform;

    }



    /* estado aberto */

    #nav-menu.open {

        opacity: 1;

        transform: translateY(0) translateZ(0);

        visibility: visible;

        pointer-events: auto;

    }



    .menu {

        position: relative;

        flex-direction: column;

        gap: 0px !important;

        right: 0%;

        top: -50%;

        margin: 0 0 20px 20px;

        padding: 16px;

        z-index: 9;

        transform: translate(84%, 10%);

        min-width: 220px;

        width: 100%;

    }



    #menu-menu-cabecalho {

        background-color: #F8F9FA;

    }



    .menu-topo-d-flex {

        position: absolute;

    }



    .menu-toggle {

        position: relative;

        font-size: 30px;

        color: var(--primary-color);

        background: transparent;

    }



    .menu-item-has-children {

        list-style: none;

    }



    #menu-menu-cabecalho li {

        list-style: none;

    }



    .imagem-empresa-home {

        width: 100%;



    }



    .imagem-empresa-home img {

        width: 100%;

        height: 100%;

    }



    .linha-home-1 {

        width: 90%;

        height: 50%;

    }



    .linha-home-1 img {

        width: 100%;

        height: 100%;

    }



    .container-text-empresa-home-2 {

        width: 100%;

        height: 223px;

    }



    .linha-quadra-quem-somos-verde img {

        width: 100%;

        height: 219px;

    }



    .body-serv-1 figure {

        width: 100%;

        height: 410px;

    }



    .body-serv-1 figure img {

        width: 100%;

        height: 100%;

    }



    .linha-servicos-2 {



        width: 297px !important;

        height: 410px;



    }



    .linha-servicos-2 img {

        width: 100%;

        height: 100%;

    }



    .container-especialidade {

        background-position: 0px 0px;

    }



    .w-100 {

        width: 100%;

    }



    .h-100 {

        height: 100%;

    }



    .container-cta .wrapper {

        padding: 57px;

    }



    .linha-cta {

        display: none;

    }



    footer {

        padding: 16px
    }



    footer .border-right {

        border-right: none;

        border-bottom: 1px solid #2A2A2A;

    }



    footer .footer__menu nav ul li {

        width: auto;

        max-width: 200px;

        margin-block: 5px;

    }



    .logo-blog {



        bottom: -2px !important;

    }



    .servicos-carousel .linha-servicos-2 {

        width: 361px !important;



    }

}



/******************** CONTEÚDO PÁGINAS ********************/



/* EMPRESA */

.empresa img {

    object-fit: cover;

    aspect-ratio: 6/6;

}



/* CATEGORIAS MPI */



.card--categorias .card__link {

    position: relative;

    display: block;

}



.card--categorias .card__link .card__title {

    position: absolute;

    bottom: 0;

    left: 0;

    margin: 0;

    display: flex;

    width: 100%;

    height: 60px;

    justify-content: center;

    align-items: center;

    background: var(--primary-color);

    color: #fff;

    text-transform: uppercase;

    font-size: 10px;

    color: white;

    padding: 15px;

    text-align: center;

    transition: height 0.3s;

}



.card--categorias .card__link:hover .card__title {

    height: 100%;

}



.card--categorias .card__link .card__cover {

    width: 100%;

    height: 300px;

    object-fit: cover;

    display: block;

    margin: 0 auto;

}



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

    .card--categorias .card__link .card__cover {

        aspect-ratio: 3/3;

        height: auto;

        object-fit: cover;

    }

}



/* PROVA SOCIAL */

.prova-social .card--prova-social {

    padding: 16px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: space-between;

    text-align: center;

    width: 100%;

    height: 100%;

    background-color: var(--light);

    border-radius: var(--border-radius);

}



.prova-social .card--prova-social .card__image {

    display: block;

    margin: 0 auto;

    width: auto;

    filter: brightness(0.5);

    aspect-ratio: 6/2;

    object-fit: contain;

}



.prova-social .card--prova-social .card__body {

    min-height: 320px;

    height: 100%;

    padding: 32px 16px;

    text-align: center;

    margin-top: 32px;

    border-radius: var(--border-radius);

    background-color: #fff;



    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;



    position: relative;

}



.prova-social .card--prova-social .card__body .card__text {

    flex: 3;

}



:root {

    --inicialCliente: '';

}



.prova-social .card--prova-social .card__body::after {

    content: var(--inicialCliente);

    position: absolute;

    top: 0;

    left: 50%;

    transform: translate(-50%, -50%);

    background-color: var(--primary-color);

    color: #fff;

    font-weight: 900;

    width: 50px;

    height: 50px;

    font-size: 13px;

    border-radius: 50px;

    display: flex;

    align-items: center;

    justify-content: center;

    outline: #fff solid 2px;

    outline-offset: -5px;

}



.prova-social .card--prova-social .card__body .card__stars {

    color: var(--primary-color);

}



.prova-social .card--prova-social .card__body :is(.card__text, .card__name) {

    font-size: 14px;

    text-align: center;

}