﻿@import url('assets/css/font.css');

img {
    width: auto; /* ignora o width do HTML para o visual */
    height: auto; /* ignora o height do HTML para o visual */
    max-width: 100%; /* nunca ultrapassa o container */
    display: block; /* evita espaços extras abaixo da imagem */
}

p {
    color: #fff;
}

    p b {
        font-family: GalanoGrotesqueBold;
    }

.row-center {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

p {
    font-family: GalanoGrotesque;
}

.float {
    position: fixed;
    width: 50px;
    height: 50px;
    line-height: 50px;
    z-index: 9999999 !important;
    bottom: 90px;
    right: 20px;
    background-color: #25d366;
    color: #FFF !important;
    border-radius: 50px;
    text-align: center;
    font-size: 25px;
    line-height: 53px;
}



@media (max-width:991px) {
    .float {
        position: fixed;
        width: 50px;
        height: 50px;
        line-height: 50px;
        z-index: 999 !important;
        bottom: 25px;
        right: 20px;
        background-color: #25d366;
        color: #FFF !important;
        border-radius: 50px;
        text-align: center;
        font-size: 23px;
        line-height: 50px;
    }

    .bootstrapiso .pbr-lgpd-2 .pbr-lgpd-4 #btnAccept, .bootstrapiso .pbr-lgpd-2 .pbr-lgpd-4 #btnManager {
        margin-bottom: 2px !important;
    }

    .btn-group-fab {
        z-index: 999 !important;
    }

    .mobile-nav {
        z-index: 9999;
    }
}

.float:hover {
    opacity: 0.8;
}

@media (max-width:991px) {
    .whats-web {
        display: none !important;
    }

    .whats-mobile {
        display: block !important;
    }

    .display-mobile {
        display: block;
    }

    .display-web {
        display: none !important;
    }

    .btn-group-fab {
        z-index: 9999 !important;
    }

    .mobile-nav-overly {
        display: none !important;
    }
}

@media (min-width:992px) {
    .whats-web {
        display: block !important;
    }

    .whats-mobile {
        display: none !important;
    }

    .display-mobile {
        display: none;
    }

    .display-web {
        display: block;
    }
}

.containerCopyright {
    display: none !important;
}

#footer .copyright {
    margin-bottom: 0 !important;
}

/*LOADING*/
.btnEnviar {
    background-color: #0071b2;
    color: #fff;
    border: 0 solid #015494;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 700;
    padding: 0.75em 1em;
    position: relative;
    margin-left: 2em;
    margin-right: 2em;
}

    .btnEnviar * {
        transition: opacity 0.3s ease-in;
    }

    .btnEnviar .loader {
        position: absolute;
        display: block;
        fill: transparent;
        top: calc(50% - 0.75rem);
        left: calc(50% - 0.75rem);
        width: 1.5rem;
        height: 1.5rem;
        animation: rotating 1.5s linear infinite;
        display: none;
        opacity: 0;
    }

    .btnEnviar.loading span {
        color: transparent;
        opacity: 0;
    }

    .btnEnviar.loading .loader {
        fill: transparent;
        display: block;
        opacity: 1;
    }

@-webkit-keyframes rotating {
    0% {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(1turn);
    }
}

@keyframes rotating {
    0% {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(1turn);
    }
}

.no-margin {
    margin: 0 !important;
}

.no-padding {
    padding: 0 !important;
}

.alert .close {
    margin-left: 15px;
}

.img-center {
    margin: auto !important;
    display: block !important;
}

#instagram {
    padding: 60px 0;
}

#insta img:hover, #insta video:hover {
    opacity: 0.9;
}

.insta-default {
    margin: auto;
    max-width: fit-content;
}

    .insta-default a {
        padding: 15px 30px;
        display: flex;
        background-color: #E33E5C;
        box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1);
        color: #FFF;
        border-radius: 4px;
        text-transform: uppercase;
        font-weight: bold;
        text-decoration: none;
        transition: all 0.3s;
        align-items: center;
    }

        .insta-default a:hover {
            box-shadow: 0 0 4px 3px rgba(0, 0, 0, 0.15);
            transition: all 0.3s;
        }

        .insta-default a i {
            color: #FFF;
            font-size: 18px;
            margin-right: 15px;
        }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

#header {
    background: transparent !important;
    padding: 25px 0 !important;
}

.logo img {
    max-height: auto !important;
}

.whats-topbar {
    background: #FC4F03;
    color: #fff !important;
    font-family: GalanoGrotesqueAltExtraLight;
    display: block;
    width: 100%;
    max-width: 268px;
    margin-left: auto;
    padding: 8px 25px;
    border-radius: 25px;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 14px;
    line-height: 14px;
}

.button-opacity:hover {
    opacity: 0.7;
}

.whats-topbar svg {
    font-size: 24px;
}

.nav-menu a {
    color: #fff !important;
    text-decoration: none;
    text-transform: uppercase;
}

.justify-content-center {
    justify-content: center;
}

.nav-menu a {
    font-size: 18px;
    font-family: GalanoGrotesqueAltThin;
    letter-spacing: 2px;
}

.nav-menu .ulmenu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}

    .nav-menu .ulmenu li + li {
        margin-left: 3.5px;
        padding-left: 15px;
    }

.nav-menu > ul > li {
    padding: 0px 10px;
}

#banner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

    #banner video#video-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 120%;
        object-fit: cover;
        z-index: 1;
    }



    #banner > .container {
        position: relative;
        z-index: 3;
    }



/*#banner {
    position: relative;*/ /* necessário para o ::before se posicionar dentro */
/*background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 100vh;
    background-image: url('img/ban.webp');
    z-index: 1;
    padding-top: 100px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

    #banner::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.7);*/ /* 50% preto */
/*z-index: 2;
    }*/

/* garantir que o conteúdo do banner fique acima do overlay */
/*#banner > * {
        position: relative;
        z-index: 3;
    }*/

.banner-div {
    display: block;
}

h1, h2, h3, h4, h5, h6 {
    font-family: BebasNeue;
}

.banner-div h2 {
    font-size: 35px;
    font-family: BebasNeue;
    letter-spacing: 2px;
    text-align: center;
    color: #fff;
    font-weight: 700;
}

.banner-div {
    max-width: 800px;
    margin: auto;
    display: block;
}

.filter {
    display: flex;
    justify-content: space-between; /* distribui */
    align-items: center;
    background: #292929;
    border-radius: 25px;
    overflow: hidden; /* evita "vazar" borda arredondada */
    margin-top: 60px !important;
}

    .filter a {
        flex: 1; /* ocupa espaço igual */
        text-align: center;
        padding: 12px 0; /* altura interna */
        background: #292929;
        color: #fff !important;
        font-family: worksanssemibold;
        text-decoration: none;
        transition: background 0.3s;
        border-radius: 25px;
        font-size: 14px;
        text-transform: uppercase;
    }

        /* exemplo de hover */
        .filter a:hover {
            background: #E41F20;
        }

.img-imovel {
    min-height: 300px;
}

.row-800 {
    max-width: 800px;
    width: 100%;
    margin: auto;
}

.img-imovel {
    min-height: 300px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 15px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    position: relative;
}

.left-fixed {
    background: #E41F20;
    max-width: fit-content;
    padding: 5px 10px;
    color: #fff;
    text-decoration: none;
    font-family: 'WorkSansBold';
    font-size: 13px;
    border: 2px solid #fff !important;
    border-radius: 10px;
    position: absolute;
    bottom: 10px;
    left: 10px;
}

.box-imovel a {
    text-decoration: none !important;
}

.left-fixed {
    background: #E41F20;
    max-width: fit-content;
    padding: 5px 10px;
    color: #fff;
    text-decoration: none;
    font-family: 'WorkSansBold';
    font-size: 13px;
    border: 2px solid #fff !important;
    border-radius: 10px;
    position: absolute;
    bottom: 10px;
    left: 10px;
}

.right-fixed {
    background: #E41F20;
    max-width: fit-content;
    padding: 5px 10px;
    color: #fff;
    text-decoration: none;
    font-family: 'WorkSansBold';
    font-size: 13px;
    border: 2px solid #fff !important;
    border-radius: 10px;
    position: absolute;
    bottom: 10px;
    right: 10px;
}

.box-imovel {
    padding: 5px;
    border: 3px solid #E41F20;
    border-radius: 15px;
    margin-bottom: 25px;
    background: #fff;
}

.section-header h3::before {
    display: none;
}

.section-header h3::after {
    display: none;
}

#novidades {
    background: #000;
}

    #novidades h3 {
        color: #fff !important;
        font-size: 42px;
    }

.description-imovel {
    padding: 15px;
}

    .description-imovel .titulo-imovel {
        text-transform: uppercase;
        color: #E41F20;
        font-family: BebasNeue;
        font-size: 25px;
        font-weight: 900;
    }

.color-red {
    color: #E41F20 !important;
}

.descricao-imovel img {
    display: none;
}

.descricao-imovel p, .descricao-imovel ul {
    margin-bottom: 5px;
    color: #000;
    font-size: 14px;
}

.descricao-imovel {
    display: -webkit-box; /* necessário para o line-clamp */
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 8; /* limita a 8 linhas */
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 170px;
}

.btn-default {
    background: #E41F20 !important;
    font-family: worksansregular;
    padding: 15px 30px;
    color: #fff !important;
    text-decoration: none;
    font-size: 14px;
    letter-spacing: 1px;
    display: block;
    margin: auto;
    max-width: 200px !important;
    width: 100%;
    border-radius: 10px;
    font-weight: 600;
    text-align: center !important;
}

    .btn-default:hover {
        opacity: 0.7;
    }


#clients {
    background: #fff !important;
}

    #clients h3 {
        color: #000;
    }


.clients-carousel {
    position: relative;
}

    .clients-carousel .owl-nav {
        position: absolute;
        top: 50%;
        width: 100%;
        transform: translateY(-50%);
        display: flex;
        justify-content: space-between;
        pointer-events: none;
    }

        .clients-carousel .owl-nav button {
            background: #000; /* fundo preto fixo */
            color: #fff; /* ícones brancos */
            border: none;
            border-radius: 50%;
            width: 45px;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 4px 10px rgba(0,0,0,0.3);
            transition: transform 0.2s ease;
            pointer-events: all;
        }

            .clients-carousel .owl-nav button i {
                font-size: 18px;
                color: #fff; /* garante branco */
            }

            .clients-carousel .owl-nav button:hover {
                transform: scale(1.1);
            }

    .clients-carousel .owl-next {
        background: #000 !important;
        color: #fff !important;
    }

    .clients-carousel .owl-prev {
        background: #000 !important;
        color: #fff !important;
    }

#clients img {
    max-width: 100%;
    opacity: 1;
    transition: .3s;
    padding: 20px;
    min-height: 180px;
    max-height: 180px;
    object-fit: contain;
    margin: auto;
    display: block;
    max-width: 210px;
}

.clients-carousel .owl-prev {
    position: absolute;
    left: -60px; /* afasta para fora */
}

.clients-carousel .owl-next {
    position: absolute;
    right: -60px; /* afasta para fora */
}

#clients h3 {
    font-size: 42px;
    color: #000;
}

#sobre {
    background: #f5f2e9 !important;
}

    #sobre h3 {
        text-align: right;
        font-size: 60px;
        margin-bottom: 0;
        padding-bottom: 0;
    }

        #sobre h3 span {
            display: block;
        }


    #sobre .title1 {
        font-size: 80px;
        background: #E41F20;
        color: #fff;
        padding-right: 40px;
    }

    #sobre .section-header {
        max-width: 600px;
        width: 100%;
    }


#fotos {
    background: #E41F20 !important;
}

    #fotos img {
        max-height: max-content;
        margin: auto;
    }

.logo img {
    max-height: 85px;
}

#depoimentos-donos .pBold {
    font-size: 25px;
    font-family: BebasNeue;
    font-weight: 700;
    letter-spacing: 0.5px;
    line-height: 30px;
}

.box-white {
    max-width: 585px;
    margin: auto;
    background: #fff;
    text-align: center;
    margin-top: -90px;
    position: relative;
    padding: 20px 100px;
    border-radius: 50px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    font-size: 14px;
    line-height: 18px;
}

/*.box-white {
    max-width: 560px;
    margin: auto;
    background: #fff;
    text-align: center;
    margin-top: -116px;
    position: relative;
    padding: 20px;
    border-radius: 50px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
*/
#fotos-4 p {
    max-width: 400px;
    text-align: center;
    margin: auto;
    font-family: WorkSansBold;
    font-size: 16px;
    position: relative;
    margin-bottom: -75px;
    z-index: 9;
}

#fotos-4 {
    background: #f5f2e9 !important;
    padding-bottom: 0 !important;
    padding-top: 15px !important;
}

#depoimentos-donos {
    background: #f5f2e9 !important;
    padding-bottom: 10px !important;
}

#fotos-4 img {
    display: block;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0) 0px, rgba(0,0,0,1) 100px, rgba(0,0,0,1) 100%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: top;
    -webkit-mask-size: 100% 100%;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0) 0px, rgba(0,0,0,1) 100px, rgba(0,0,0,1) 100%);
    mask-repeat: no-repeat;
    mask-position: top;
    mask-size: 100% 100%;
}

#mapa img {
    width: 100% !important;
    max-height: 630px;
    object-fit: cover;
    object-position: center center;
}

#footer {
    background: #FC4F03 !important;
    padding: 40px 0;
    padding-top: 0;
}

    #footer p {
        font-size: 16px;
    }

    #footer a {
        text-decoration: none !important;
        color: #000;
    }

.copyright {
    font-size: 13px !important;
}

    .copyright a {
        color: #fff !important;
    }

#blog {
    background: #E41F20 !important;
}

    #blog h3 {
        color: #fff !important;
        font-size: 42px;
    }

.img-blog {
    width: 200px;
    height: 200px;
    border-radius: 50%; /* deixa redonda */
    border: 7px solid #E41F20; /* borda vermelha */
    box-shadow: 0 0 15px rgba(0,0,0,0.4); /* sombra ao redor */
    background-size: cover;
    background-position: center;
    margin: 0 auto; /* centralizar se precisar */
    background-repeat: no-repeat;
}

.box-blog {
    background: #fff;
    padding: 35px;
    margin: auto;
    display: block;
    border: 5px solid #000;
    border-radius: 25px;
    box-shadow: 0 0 15px rgba(0,0,0,0.4); /* sombra ao redor */
}

    .box-blog a {
        text-decoration: none !important;
    }

    .box-blog .titulo {
        text-align: center;
        margin-top: 25px;
        text-decoration: none;
        font-family: 'WorkSansBold';
        font-size: 20px;
        text-transform: uppercase;
        letter-spacing: 2px;
        margin-bottom: 10px;
    }

    .box-blog .descricao {
        display: -webkit-box;
        -webkit-line-clamp: 5;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 12px;
        text-align: center;
        font-weight: 500;
        margin-bottom: 25px;
    }

    .box-blog .btn-default {
        background: #F5F2E9 !important;
        color: #E41F20 !important;
        max-width: 100% !important;
        padding: 3px 10px;
        font-size: 18px;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: 0;
        font-family: 'WorkSansBold';
    }


.btn-default-inverted {
    background: #fff !important;
    color: #E41F20 !important;
}

.formulario {
    background: #f5f2e9 !important;
}

.row-form {
    max-width: 750px;
    margin: auto;
}

.formulario .p1 {
    font-family: BebasNeue;
    font-size: 25px;
    margin-bottom: 0 !important;
    font-weight: 700;
}

.formulario .p2 {
    font-family: WorkSansBold;
    margin-bottom: 0 !important;
}

.formulario .p3 {
    margin-bottom: 0 !important;
}

.form-contato {
    background: rgba(217, 217, 217, 0.25) !important; /* 25% opaco */
    padding: 35px;
    border-radius: 25px;
    margin-top: 20px;
    border: 1px solid #e3e1e1;
}

    .form-contato label {
        font-weight: 600;
        color: #000;
        font-size: 12px;
    }


    .form-contato button {
        border: 0;
        margin-top: 20px;
    }

.formulario .whats-topbar {
    font-size: 12px !important;
}

.pages, #imoveis, .pages #blog {
    padding-top: 175px !important;
}


#imoveis {
    background: #f5f2e9 !important;
    border-bottom: 5px solid #000;
}

#btnBuscar {
    max-width: 100%;
    padding: 10px 10px !important;
    color: #fff;
    text-decoration: none;
    font-family: 'WorkSansBold';
    font-size: 13px;
    text-transform: uppercase;
    border: 0 !important;
}

.pQuantidade {
    color: #000;
    font-size: 22px;
    letter-spacing: 0;
}

.campo-filtro .input-group-text {
    background: #fff;
    border-right: 0;
    color: #E41F20;
    font-size: 16px;
}

.campo-filtro .form-control,
.campo-filtro .form-select {
    border-left: 0;
    border-radius: 0 8px 8px 0;
}

.campo-filtro input::placeholder {
    font-weight: 500;
    color: #999;
}

#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff; /* fundo branco */
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
}

    #preloader::after {
        content: "";
        width: 50px;
        height: 50px;
        border: 6px solid #f3f3f3;
        border-top: 6px solid #E41F20; /* cor personalizada */
        border-radius: 50%;
        animation: spin 1s linear infinite;
    }

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.campo-filtro span {
    color: #999999 !important;
}

.campo-filtro input, .campo-filtro select {
    color: #999999 !important;
    font-family: worksansbold;
    box-shadow: none;
    border: 0;
    outline: none;
}

    .campo-filtro input::placeholder, .campo-filtro select::placeholder {
        color: #999999 !important;
    }

#btnBuscar {
    max-width: 100%;
    width: 100%;
}

.campo-filtro {
    background: #fff;
    padding: 10px;
    border-radius: 25px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

    .campo-filtro .input-group-text {
        border: 0 !important;
    }

    .campo-filtro .form-control, .campo-filtro select {
        border-color: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
    }

.imovel-page .box-imovel {
    padding: 5px;
    border: 3px solid #E41F20;
    border-radius: 15px;
    margin-bottom: 25px;
    background: #fff;
}

.imovel-page .img-imovel {
    min-height: 230px;
}

.imovel-page .description-imovel {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.imovel-page .cod-tipo {
    margin-bottom: 10px;
    font-family: WorkSansBold;
    font-size: 15px;
    text-align: left;
}

.imovel-page .alugar-venda {
    margin-bottom: 5px;
    color: #E40F20;
    font-family: WorkSansBold;
    font-size: 22px;
}

.imovel-page .localizacao {
    font-size: 13px;
    margin-bottom: 5px;
}

.info-area {
    display: flex;
    align-items: center;
}

    .info-area .line {
        flex: 1;
        border-bottom: 2px solid #000; /* cor da linha */
        margin-right: 10px; /* espaço entre a linha e o texto */
    }

    .info-area .text {
        white-space: nowrap;
        color: #000;
        font-family: WorkSansBold;
        font-size: 14px;
    }

.valor-p {
    margin-bottom: 0;
    margin-top: 5px;
    color: #E40F20;
    font-family: 'WorkSansBold';
    font-size: 28px;
}

.text-right-important {
    text-align: right !important;
}

.p-no-imovel {
    text-align: center;
    font-size: 20px;
}

.details-imovel h3 {
    color: #000;
    font-size: 35px;
    margin-bottom: 5px !important;
}

.codigo-p {
    font-size: 14px;
    padding: 10px 15px;
    border-radius: 50px;
    position: relative;
    cursor: pointer;
    background: transparent;
    border: 1px solid;
    color: #000 !important;
    text-decoration: none;
    margin-left: auto;
    display: block;
    max-width: fit-content;
}

.codigo-p {
    position: relative;
    cursor: pointer;
    display: inline-block;
    color: #000;
    text-decoration: none;
    max-width: 190px;
    width: 100%;
    text-align: center;
    margin-left: auto;
    display: block;
}

.copiado-msg {
    position: absolute;
    top: -25px; /* acima do link */
    left: 50%;
    transform: translateX(-50%);
    background-color: #4caf50;
    color: white;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 12px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

    .copiado-msg.show {
        opacity: 1;
    }

.ul-details {
    list-style: none;
    padding-inline-start: 0 !important;
    display: flex;
}

    .ul-details li {
        padding: 25px;
        text-align: center;
        color: #000;
        font-size: 14px;
    }

        .ul-details li svg {
            font-size: 25px;
            color: #E41F20 !important;
            margin-bottom: 10px;
        }

        .ul-details li span {
            color: #000;
            font-size: 18px;
        }


.details-imovel h4 {
    color: #000;
    font-size: 25px;
    margin-bottom: 20px !important;
}

.descricao-blog {
    font-family: WorkSansRegular;
    color: #000;
}

.box-titulo-2 {
    text-align: center;
    margin-top: 25px;
    text-decoration: none;
    font-family: 'WorkSansBold';
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
    color: #000;
}

.pagination-container {
    text-align: center;
    margin: 20px 0;
    font-family: Arial, sans-serif;
}

.pagination {
    list-style: none;
    padding: 0;
    display: inline-flex;
    gap: 5px;
}

    .pagination li {
        border-radius: 5px;
        overflow: hidden;
    }

        .pagination li a,
        .pagination li span {
            display: block;
            padding: 8px 12px;
            text-decoration: none;
            color: #E41F20;
            border: 1px solid #E41F20;
            transition: all 0.3s ease;
        }

            .pagination li a:hover {
                background-color: #E41F20;
                color: #fff;
            }

        .pagination li.active span {
            background-color: #E41F20;
            color: #fff;
            border: 1px solid #E41F20;
        }

        .pagination li.PagedList-skipToNext a {
            font-weight: bold;
        }

.pages .descricao-blog {
    text-align: justify !important;
    font-size: 14px;
    color: #000;
}

.btn-default.m-progress:before {
    border-left-color: #fff;
    border-right-color: #fff;
}

#btnEnviar.m-progress {
    color: transparent !important;
}

#novidades {
    position: relative;
    background-image: url('img/fundo-black.webp');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
}

    #novidades::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.1); /* preto com 50% */
        pointer-events: none; /* não bloqueia cliques */
    }

/*#novidades {
    background-image: url('img/fundo-black.webp');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #000
}*/

#sobre .section-header {
    max-width: 680px;
    width: 100%;
    margin-left: -110px;
    margin-top: 60px;
}

#sobre .title1 {
    padding-right: 50px;
    margin-bottom: 10px;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.3); /* sombra preta suave */
}

#sobre .title2, #sobre .title3, #sobre .title4 {
    padding-right: 50px;
}

@media (min-width:992px) {
    #sobre .title2, #sobre .title3, #sobre .title4 {
        line-height: 60px;
    }
}

/* container da foto */
.photo-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border-radius: 25px;
}

    /* garante que a imagem preencha bem o espaço */
    .photo-card img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    /* overlay que aparece no hover */
    .photo-card .overlay {
        position: absolute;
        inset: 0; /* top:0; right:0; bottom:0; left:0 */
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 20px;
        opacity: 0;
        transition: opacity .22s ease, transform .22s ease;
        background: rgba(255, 255, 255, 0.90);
        transform: translateY(4px);
    }

        /* texto do overlay */
        .photo-card .overlay span {
            color: #000;
            font-weight: 400;
            font-size: 16px;
            line-height: 1.1;
        }

    /* estado hover/focus (também funciona em toque se o usuário tocar) */
    .photo-card:hover .overlay,
    .photo-card:focus-within .overlay {
        opacity: 1;
        transform: translateY(0);
    }

#mapa div {
    margin-top: -30px !important;
}

#contato input, #contato textarea {
    border: 1px solid #0050C9 !important;
}


/*.mobile-nav-toggle i {
    color: #fff;*/ /* branco */
/*font-size: 1.5rem;*/ /* tamanho que você quiser */
/*margin-left: auto !important;
}

.mobile-nav-toggle:hover i {
    color: #eee;
}*/

/* Botão hamburger */
/*.mobile-nav-toggle {
    width: 30px;
    height: 22px;
    border: none;
    background: none;
    cursor: pointer;
    z-index: 999;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0;
}

    .mobile-nav-toggle span {
        display: block;
        height: 3px;
        width: 100%;
        background: #fff;*/ /* branco */
/*border-radius: 2px;
        transition: all 0.3s ease;
    }*/

/* Estado ativo (quando menu aberto) */
/*body.mobile-nav-active .mobile-nav-toggle span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

body.mobile-nav-active .mobile-nav-toggle span:nth-child(2) {
    opacity: 0;
}

body.mobile-nav-active .mobile-nav-toggle span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}*/

/* Overlay do menu */
/*.mobile-nav-overly {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    z-index: 998;
    display: none;
}

body.mobile-nav-active .mobile-nav-overly {
    display: block;
}*/


/* Hamburger */
.mobile-nav-toggle {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 22px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1100;
    top: 23px;
}

    .mobile-nav-toggle span {
        display: block;
        height: 3px;
        width: 100%;
        background: #fff;
        border-radius: 2px;
        transition: all 0.3s ease;
    }

/* Transformação em X quando ativo */
body.mobile-nav-active .mobile-nav-toggle span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

body.mobile-nav-active .mobile-nav-toggle span:nth-child(2) {
    opacity: 0;
}

body.mobile-nav-active .mobile-nav-toggle span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* Menu lateral mobile */
.mobile-nav {
    position: fixed;
    top: 0;
    left: -250px;
    width: 250px;
    height: 100%;
    background: #fc4f03;
    color: #fff;
    padding-top: 60px;
    transition: left 0.3s ease;
    z-index: 1050;
}

body.mobile-nav-active .mobile-nav {
    left: 0;
}

.mobile-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-nav li a {
    display: block;
    padding: 1rem;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

    .mobile-nav li a:hover {
        background: rgba(255,255,255,0.1);
    }

/* Overlay */
.mobile-nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    display: none;
    z-index: 1040;
}

body.mobile-nav-active .mobile-nav-overlay {
    display: block;
}

.mobile-nav-toggle span {
    display: block;
    height: 3px; /* espessura da barra */
    width: 100%; /* largura total do botão */
    background: #fff; /* cor da barra */
    border-radius: 2px; /* deixa as extremidades arredondadas */
    transition: all 0.3s ease;
}

/* Quando o menu estiver ativo */
.mobile-nav-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.mobile-nav-toggle.active span:nth-child(2) {
    opacity: 0; /* some a barra do meio */
}

.mobile-nav-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

.galeria .glightbox img {
    max-height: 250px;
    min-height: 250px;
    display: block;
    object-fit: cover;
    width: 100%;
    object-position: center center;
}


/* Desktop continua igual, menu lateral e hamburger escondidos */
@media(min-width: 992px) {
    .mobile-nav,
    .mobile-nav-toggle,
    .mobile-nav-overlay {
        display: none !important;
    }
}

.filter {
    border: 2px solid #000;
}

.grecaptcha-badge {
    z-index: 9999 !important;
}

.ul-socials svg {
    font-size: 30px;
    padding: 10px;
}

.ul-socials {
    display: flex;
    list-style: none;
    padding-inline-start: 0 !important;
}

#blog .descricao h2 {
    display: none;
}

.img-principal-new {
    max-height: 350px;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width:991px) {
    .img-principal-new {
        margin-bottom: 20px;
    }

    .logo img {
        max-height: 70px;
    }

    .ul-socials {
        justify-content: center;
    }

    .filter {
        border: 0 !important;
    }

    .mobile-nav a:hover, .mobile-nav .active > a, .mobile-nav li:hover > a {
        color: #fff !important;
    }

    .banner-div h2 {
        font-size: 26px;
    }

    .img-imovel {
        min-height: 200px;
    }

    .clients-carousel .owl-prev {
        left: 0;
    }

    .clients-carousel .owl-next {
        right: 0;
    }

    #clients img {
        max-width: 200px;
    }

    .clients-carousel .owl-nav button {
        width: 35px;
        height: 35px;
    }

    .formulario .whats-topbar {
        margin-top: 20px;
    }

    #sobre .section-header {
        max-width: 100%;
        width: 100%;
        margin-left: auto;
    }

    #sobre .title1 {
        padding-right: 15px;
        padding-left: 15px;
        text-align: center;
        font-size: 50px;
        margin-top: 5px;
        line-height: 45px;
        padding-top: 7.5px;
        padding-bottom: 7.5px;
    }

    #sobre .title2, #sobre .title3, #sobre .title4 {
        padding-right: 15px;
        text-align: center;
        padding-left: 15px;
        font-size: 35px;
    }

    .float {
        bottom: 85px;
        right: 11px;
    }

    #fotos img {
        max-width: 220px;
    }

    .photo-card .overlay {
        position: relative;
        background: transparent !important;
        opacity: 1;
        display: block;
        transition: none !important;
        transform: none;
        margin-bottom: 30px;
    }

        .photo-card .overlay span {
            color: #fff;
            font-weight: 400;
        }

        .photo-card .overlay .color-red {
            color: #fff !important;
        }

    #mapa div {
        height: 300px !important;
    }

    .box-white {
        max-width: 100%;
        margin: auto;
        background: #fff;
        text-align: center;
        margin-top: -30px;
        position: relative;
        padding: 20px;
    }

    #fotos-4 p {
        margin-bottom: 0;
    }

    #footer p {
        font-size: 16px;
        text-align: center;
        margin-top: 30px;
    }

    .pages, #imoveis, .pages #blog {
        padding-top: 120px !important;
    }

    #btnBuscar {
        margin-bottom: 30px !important;
    }

    .codigo-p {
        margin-left: 0;
        margin-bottom: 30px !important;
    }

    #novidades {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    #sobre .mt-5 {
        margin-top: 15px !important;
    }

    .img-frame {
        margin-top: 15px !important;
    }

    .photo-card {
        border-radius: 0 !important;
    }

        .photo-card img {
            object-fit: contain;
        }

    .justify-mobile {
        text-align: justify;
    }

    #sobre .section-header {
        margin-top: 30px !important;
    }
}

@media (max-width:767px) {
    .filter {
        background: transparent;
        display: block;
    }

        .filter a {
            flex: none;
            display: block;
            max-width: 200px;
            margin-top: 10px !important;
            padding-left: 20px;
            padding-right: 20px;
            margin: auto;
        }
}

.text-with-icon {
    display: inline-flex;
    align-items: center;
}

    .text-with-icon img {
        width: 24px;
        height: auto;
    }

.icon-footer {
    width: 70%;
}

.logo-footer {
    width: 40%;
    margin-top: 80px !important;
    margin-bottom: 22px;
    margin-left: -10px;
}

.line-footer {
    border: none;
    height: 1px;
    background-color: #E2E8F0;
    margin: 20px 0;
}

.footer-sobre {
    text-align: right;
}

.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-block;
    text-align: center;
}

    .footer-menu li {
        margin: 8px 0;
    }

    .footer-menu a {
        color: #fff !important;
        text-decoration: none;
        font-weight: 500;
        /*position: relative;*/
        transition: color 0.3s ease;
    }

        .footer-menu a:hover {
            color: #ddd;
        }

        .footer-menu a.active::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -5px;
            width: 100%;
            height: 2px;
            background-color: #fff;
        }

.somos {
    font-family: GalanoGrotesqueAltBold;
    color: #FC4F03;
}

.title1 {
    color: #2E2E2E;
    font-size: 52px;
    font-family: GalanoGrotesqueLight;
    margin-top: 50px;
}

.sobre {
    font-family: GalanoGrotesque;
    color: #4B5554;
    text-align:justify;
}

.img-sobre {
    border: 3px solid #FC4F03;
    border-radius: 12px;
    max-width: 65%;
}

@media (max-width: 768px) {
    .img-sobre {
        display: block;
        margin: 0 auto;
        max-width: 90%;
    }
}

@media (max-width: 1024px) {
    .img-sobre {
        max-width: 80%;
        margin-top: 100px;
    }
}

@media only screen and (min-width: 1024px) and (max-width: 1366px) and (-webkit-min-device-pixel-ratio: 2) {

    .img-sobre {
        margin-top: 75px;
        max-width: 70%;
    }
}


.space {
    margin-top: 40px;
    margin-bottom: 40px
}

#section1 {
    background: #F8F7F4;
}

#section2 {
    background: #F8F7F4;
}

#section4 {
    background: #F8F7F4;
}

#section5 {
    margin-bottom: 60px;
}

#section6 {
    background: #FC4F03;
    color: white;
}

#section7 {
    background: #FFFFFF;
    margin-top: 55px;
    margin-bottom: 48px;
}

.accordion {
    border-radius: 12px;
    overflow: hidden;
}

.accordion-item {
    background: #fff;
    border: 1px solid #f1f1f1;
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.accordion-header {
    width: 100%;
    background: #F8F7F4;
    color: #222;
    font-weight: 500;
    font-size: 16px;
    text-align: left;
    padding: 18px 24px;
    border: 1px solid #f7e8e8;
    outline: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: background 0.3s ease;
    font-family: GalanoGrotesque;
}

.accordion-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .accordion-left img {
        width: 18px;
        height: 18px;
    }

    .accordion-left span {
        text-align: left;
        line-height: 1.4;
    }

.accordion-header:hover {
    background: #fafafa;
}

.accordion-header .icon {
    font-size: 27px;
    transition: transform 0.3s ease;
}

.accordion-header.active .icon {
    transform: rotate(45deg);
}

.accordion-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    padding: 0 22px;
    font-family: GalanoGrotesque;
}

    .accordion-body p {
        padding: 15px 0;
        margin: 0;
        color: #555;
        font-size: 15px;
        line-height: 1.6;
    }

.accordion-item.open .accordion-body {
    max-height: 400px;
}

.accordion-header img {
    width: 24px;
    height: 24px;
    margin-right: 12px;
}

#section3 {
    background: #fff;
    padding: 60px 0;
}

.title-cliente {
    font-family: GalanoGrotesqueLight;
    font-size: 45px;
    line-height: 1.3;
    color: #2E2E2E;
    font-weight: 400;
}

    .title-cliente .somos {
        color: #ff4d00;
        font-weight: 700;
    }

.carousel {
    width: 100%;
    overflow: hidden;
    background: #f8f7f4;
    padding: 20px;
}

.carousel-logos {
    overflow: hidden;
    cursor: grab;
    user-select: none;
    padding: 10px 0;
    margin-top: 20px;
    position: relative;
    width: 100%;
}

.carousel-track {
    display: flex;
    gap: 60px;
    animation: scroll 30s linear infinite;
    width: max-content; /* Importante para o track se expandir */
}

    .carousel-track img {
        height: 60px;
        object-fit: contain;
        opacity: 0.9;
        flex-shrink: 0; /* Impede que as imagens encolham */
    }

        .carousel-track img:hover {
            opacity: 1;
            transform: scale(1.1);
        }

/* Pausa a animação quando estiver arrastando */
.carousel-logos.dragging .carousel-track {
    animation-play-state: paused;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(calc(-100% - 60px)); /* Considera o gap */
    }
}

/* Para garantir que todas as marcas sejam mostradas */
.carousel-track::after {
    content: "";
    display: block;
    min-width: 100%; /* Duplica o conteúdo para loop contínuo */
}

.carousel-logos:active {
    cursor: grabbing;
}


.btn-whats {
    background: #fc4f03;
    color: white;
    border-radius: 16px;
    padding: 10px 12px;
    margin-top: 15px;
    margin-bottom: 25px;
}

.project-card {
    background: #F5F4F3;
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

    .project-card:hover {
        transform: translateY(-5px);
    }

.project-image-container {
    padding: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.project-image {
    width: 100%;
    object-fit: cover; /* mantém proporção e corta o excesso */
    border-radius: 12px;
    border: 1px solid #e2e2e2;
    height: 350px;
}

/* Indicators (pontinhos) */
/*.carousel-indicators {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}*/

.carousel-indicators {
    position: absolute;
    bottom: 15px;
    margin-bottom: 0;
}

    .carousel-indicators [data-bs-target] {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background-color: #ddd;
        border: none;
        opacity: 1;
        transition: background-color 0.3s;
    }

    .carousel-indicators .active {
        background-color: #f15a29;
        transform: scale(1.1);
    }

@media (max-width: 768px) {
    .project-image {
        height: 200px;
    }

    .project-info {
        padding: 12px 15px !important;
    }

    .btn-portifolio {
        padding: 6px 12px;
        font-size: 12px;
    }

    .carousel-indicators button {
        width: 8px !important;
        height: 8px !important;
        margin: 0 3px !important;
    }

    .logo-footer {
        width: 100%;
    }
}

@media (max-width: 576px) {
    .col-sm-6 {
        flex: 0 0 auto;
        width: 100%;
    }

    .project-info {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 10px;
    }

        .project-info > div:first-child {
            margin-right: 0 !important;
        }

    .d-flex.gap-2 {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .project-image {
        height: 240px;
    }
}

.fw-bold {
    font-family: 'GalanoGrotesqueAltBold';
    color: black;
}

.text-muted {
    font-family: GalanoGrotesqueAltExtraLight;
}

.btn-portifolio {
    border-radius: 25px;
    background: #EAEAEA;
    padding: 8px 15px;
    color: #090909CC;
    font-family: GalanoGrotesqueAlt;
    font-size: 14px;
}

.project-info {
    background: #F8F7F6;
    border-top: 1px solid #E1E1E1;
}

.text-indica {
    text-align: center;
    padding: 10px;
    color: #4B5554;
    font-family: GalanoGrotesqueAlt;
    font-size: 18px;
}

.testimonial-card {
    background: #FAFAFA;
    border: 1px solid #eee;
    border-radius: 16px;
    transition: transform 0.3s ease;
    flex: 1 1 45%;
}

    .testimonial-card:hover {
        transform: translateY(-4px);
    }

.testimonial-img {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-text p {
    color: #555 !important;
    font-family: 'GalanoGrotesqueAlt' !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
}

    .testimonial-text p p {
        margin: 0 !important;
        padding: 0 !important;
    }

.testimonial-wrapper {
    display: flex;
    gap: 1.5rem;
}

.testimonial-card {
    flex: 1;
}


@media (max-width: 768px) {
    .testimonial-wrapper {
        flex-direction: column;
        gap: 1rem;
    }

    .testimonial-card {
        flex: none;
        width: 100%;
    }

    .footer-menu {
        display: block;
    }
}

.stars i {
    color: #111;
    font-size: 1rem;
    margin-right: 3px;
}

.testimonial-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    transition: transform 0.5s ease;
}

#testimonialCarousel {
    overflow: visible;
    cursor: grab;
}

    #testimonialCarousel:active {
        cursor: grabbing;
    }

#testimonialCarousel {
    position: relative;
    overflow: hidden;
}

    #testimonialCarousel::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 150px;
        height: 100%;
        background: linear-gradient(to right, rgba(250, 250, 250, 1), rgba(250, 250, 250, 0));
        z-index: 2;
        pointer-events: none;
    }

#banner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

    #banner img {
        width: 100%;
        height: auto;
        display: block;
    }

.banner-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    z-index: 2;
}

.banner-logos {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.banner-logo {
    max-width: 145px;
    height: auto;
}

@media (max-width: 768px) {
    .banner-logos {
        flex-direction: column;
        gap: 10px;
    }

    .banner-logo {
        max-width: 140px;
    }

    .banner-text h1 {
        font-size: 1.6rem;
    }
}

.text-banner {
    color: white;
    font-size: 48px;
    font-family: GalanoGrotesqueAltLight;
}

.fonte {
    font-family: GalanoGrotesqueAltBold;
}

.base-section {
    background-color: #faf9f7;
    padding: 80px 20px;
    font-family: GalanoGrotesque, sans-serif;
}

.container-base {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
}

.base-text {
    flex: 1 1 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 28%;
}

    .base-text h2 {
        font-size: 2.4rem;
        font-weight: 400;
        color: #1c1c1c;
        line-height: 1.3;
    }

        .base-text h2 span {
            color: #f15a24;
            font-weight: 600;
        }

.base-cards {
    flex: 2 1 600px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.card {
    background: #F6F6F6;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .card:hover {
        transform: translateY(-3px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    }

    .card h3 {
        font-size: 1.1rem;
        color: #1F2C1D;
        margin-bottom: 10px;
        font-family: 'GalanoGrotesqueAltLight';
    }

    .card ul {
        margin: 0;
        padding-left: 20px;
    }

        .card ul li {
            font-size: 0.95rem;
            color: #2E2E2E;
            margin-bottom: 5px;
            font-family: 'GalanoGrotesqueLight';
        }

    .card p {
        font-size: 0.95rem;
        color: #2E2E2E;
        font-family: 'GalanoGrotesqueLight';
    }

.icon-about {
    max-width: 10%;
    margin-bottom: 10px;
}

@media (max-width: 768px) {
    .container-base {
        flex-direction: column;
        gap: 20px;
    }

    .base-text {
        justify-content: flex-start;
        margin-top: inherit;
    }

        .base-text h2 {
            font-size: 2rem;
        }

    .base-cards {
        grid-template-columns: 1fr;
    }

    .text-base {
        max-width: 100% !important;
    }

    .diferencial-item {
        font-size: 1.1rem;
    }
}

.title-base {
    font-family: 'GalanoGrotesqueLight';
    font-size: 36px;
    margin-top: 5px;
}

.text-base {
    max-width: 44%;
    margin: 0 auto;
    padding: 20px;
    line-height: 1.6;
}

.new-text {
    color: #292929;
    font-size: 48px;
    font-family: 'GalanoGrotesqueAltLight';
}

    .new-text b {
        font-family: GalanoGrotesqueAltBold;
    }

    .new-text span {
        font-family: GalanoGrotesqueAltMediumItalic;
    }

.text-p {
    color: #636363;
    font-family: GalanoGrotesqueLight;
    font-size: 18px;
    max-width: 67%;
}

.diferenciais-lista {
    display: flex;
    flex-direction: column;
    gap: 25px;
    position: relative;
    padding-left: 10px;
}

    .diferenciais-lista:before {
        content: "";
        position: absolute;
        left: 7px;
        top: 12px;
        bottom: 40px;
        width: 1px;
        background-color: #FC4F03;
        z-index: 1;
    }

.diferencial-item {
    font-size: 1.2rem;
    color: #636363;
    line-height: 1.5;
    padding-left: 30px;
    position: relative;
    font-family: 'GalanoGrotesqueLight';
}

    .diferencial-item:before {
        content: "";
        position: absolute;
        left: -8px;
        top: 8px;
        width: 12px;
        height: 12px;
        background-color: #FC4F03;
        border-radius: 50%;
        z-index: 2;
    }

@media (max-width: 768px) {
    .diferenciais-lista {
        gap: 20px;
        padding-left: 8px;
    }

        .diferenciais-lista:before {
            left: 5px;
            top: 10px;
            bottom: 40px;
        }

    .diferencial-item {
        font-size: 1.1rem;
        padding-left: 25px;
    }

        .diferencial-item:before {
            left: -7px;
            top: 7px;
            width: 10px;
            height: 10px;
        }
}

@media (max-width: 480px) {
    .diferenciais-lista {
        gap: 18px;
    }

    .diferencial-item {
        font-size: 1rem;
        padding-left: 22px;
    }
}

.title-banner {
    font-size: 52px;
    font-family: GalanoGrotesqueLight;
    text-align: left;
}

.text-contato {
    font-size: 18px;
    font-family: GalanoGrotesqueLight;
    text-align: left;
}

.title-form {
    font-size: 43px;
    font-family: GalanoGrotesqueBold;
    text-align: left;
}

@media (min-width: 1280px) and (max-width: 1800px) {
    .title-form {
        font-size: 35px;
        margin-top: 105px;
    }

    .btn-contato {
        padding: 12px 140px !important;
    }
}


.form-group {
    margin-bottom: 25px;
    position: relative;
}

    .form-group label {
        display: block;
        margin-bottom: 8px;
        font-weight: 500;
        color: #fff;
        font-size: 0.9rem;
    }

.form-control {
    width: 100%;
    padding: 15px 10px;
    border: 1px solid #e0e0e0;
    background: transparent;
    font-size: 1rem;
    border-radius: 16px;
    transition: border-color 0.3s ease;
    color: white;
    box-shadow: inset 0 1px 55px rgba(255, 255, 255, 0.2);
}

    .form-control::placeholder {
        color: #ffffff;
        opacity: 1;
    }

    .form-control:focus + .focus-line {
        transform: scaleX(1);
    }

.btn-primary:hover {
    background: #e04500;
}

.form-control:focus {
    color: #ffffff;
    background-color: transparent;
}

.btn-contato {
    padding: 12px 210px;
    background: #FC4F03;
    border-radius: 16px;
    color: white;
    font-family: GalanoGrotesqueAlt;
}

    .btn-contato:hover {
        background: #fd7235;
    }

.form-row {
    display: flex;
    gap: 15px;
}

    .form-row .form-group {
        flex: 1;
        margin-bottom: 25px;
    }

    .form-row .form-control {
        width: 100%;
    }

@media (max-width: 768px) {
    .form-row {
        flex-direction: column;
        gap: 0;
    }

    .btn-contato {
        padding: 12px 100px;
    }
}


.owl-carousel.major-caousel .slider-item {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    height: 100vh;
}

.portfolio-item .portfolio-desc {
    display: block;
    opacity: 0;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    color: rgba(220, 220, 220);
    z-index: 10;
}

.portfolio-item .portfolio-desc {
    display: block;
    opacity: 0;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    color: rgba(220, 220, 220);
    z-index: 10;
}

.portfolio-item .portfolio-desc {
    background: rgba(255, 80, 0, 0.7);
}

.portfolio-item img {
    width: 100% !important;
    -webkit-transition: all 300ms linear;
    -moz-transition: all 300ms linear;
    -o-transition: all 300ms linear;
    -ms-transition: all 300ms linear;
    transition: all 300ms linear;
}

.portfolio-item {
    display: block;
    position: relative;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

    .portfolio-item:hover .portfolio-desc {
        height: 100%;
        transition: all 200ms ease-in-out 0s;
        opacity: 1;
        cursor: pointer;
    }

    .portfolio-item .portfolio-desc .folio-info h5 {
        text-transform: uppercase;
    }

    .portfolio-item .portfolio-desc a {
        color: #fff !important;
        font-family: 'GalanoGrotesqueMedium';
        font-size: 18px;
        padding-right: 20px;
        padding-left: 20px;
    }

    .portfolio-item:hover .portfolio-desc {
        height: 100%;
        transition: all 200ms ease-in-out 0s;
        opacity: 1;
    }

    .portfolio-item:hover .portfolio-desc {
        align-items: center;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }

.modal-content {
    margin: auto;
    max-width: 1200px;
    margin-top: 50px;
    margin-bottom: 50px;
}

@media (min-width: 768px) {
    .modal-open .modal {
        padding-left: 100px !important;
        padding-right: 100px !important;
    }
    .banner-base {
        min-height: 25vh !important;
    }
}

.modal-open header {
    display: none;
}

#portfolio .section-header h2 {
    font-size: 28px;
    font-family: 'GalanoGrotesqueMedium';
    text-align: center;
    margin-top: 25px;
    margin-bottom: 30px;
}

#portfolio .section-header p {
    font-family: 'GalanoGrotesqueRegular';
}

.close-modal img {
    margin-left: auto;
    display: block;
    margin-right: 10px;
    max-width: 50px;
    margin-top: 10px;
}

.portfolio-modal .close-modal {
    position: absolute;
    top: 25px;
    right: 25px;
    width: 65px;
    height: 70px;
    background-color: transparent;
    cursor: pointer;
    z-index: 9;
}

.displaynone {
    display: none !important
}

.close-modal img:hover {
    opacity: 0.8;
}

@media (min-width:991px) {
    #portfolio iframe {
        width: 100% !important;
        min-width: 695px;
        margin: auto;
        display: block;
        margin-bottom: 20px !important;
    }
}

@media (max-width:767px) {
    .icons {
        max-width: 85px;
    }

    .textIcons {
        font-size: 14px;
        line-height: 15px;
    }

    .row-no-mobile {
        display: none;
    }

    .pBanner {
        padding-right: 40px;
        padding-left: 40px;
        text-align: center;
    }

    .socials {
        display: none;
    }

    .site-menu-toggle {
        margin-top: 13px;
    }

    .topoPaginas {
        padding-top: 140px !important;
        padding-bottom: 40px !important;
    }

    .title {
        text-align: center;
        margin-top: 20px;
    }

    .nome {
        text-align: center;
        margin: auto;
        margin-top: 25px;
    }

    .cargo {
        text-align: center;
    }

    .descTitle {
        text-align: center;
        margin: auto;
        display: block;
        margin-top: 15px;
    }

    .modal-open .modal {
        margin: 20px;
    }

    .contact-section .contact-info p {
        text-align: center;
    }
}

#portfolio .mar-bot40 {
    width: 100% !important;
}

#portfolio iframe {
    min-width: 100%;
}

.portfolio-item {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    min-height: 500px !important;
}

    .portfolio-item .portfolio-desc a {
        color: #fff;
        max-width: 300px;
        font-size: 25px;
        line-height: 28px;
        text-decoration: underline;
        position: absolute;
        bottom: 0;
        margin-bottom: 25px;
        text-decoration: none;
        left: 0;
    }

        .portfolio-item .portfolio-desc a:hover {
            text-decoration: none;
        }

.btnVoltar {
    color: #333;
    text-transform: uppercase;
    border: 2px solid #ff5000;
    background: #fff !important;
    font-family: 'GalanoGrotesqueMedium';
    font-size: 20px;
    padding: 5px 20px 10px;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer;
    margin: auto;
    display: block;
}

    .btnVoltar:hover {
        opacity: 0.7;
    }

@media (max-width:767px) {
    .portfolio-item {
        min-height: 300px !important;
        margin: 5px !important;
    }

    .banner-base {
        min-height: 25vh !important;
    }
}

.modal-content {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0.3rem;
    outline: 0;
}

.topoPaginas {
    padding-top: 200px !important;
    padding-bottom: 60px !important;
}

.brand-carousel {
    width: 100%;
    overflow: hidden;
    background: #fff;
    padding: 20px 0;
}

.brand-carousel__track {
    display: flex;
    gap: 40px;
    align-items: center;
    animation: brandScroll 15s linear infinite;
    width: max-content;
}

.brand-carousel__item img {
    height: 75px;
    width: auto;
    object-fit: contain;
    transition: transform 1.5s ease;
}

    .brand-carousel__item img:hover {
        transform: scale(1.5);
    }

@keyframes brandScroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-25%);
    }
}

.banner-base {
    object-fit: cover;
    min-height: 60vh;
}


