/*
Theme Name: Klid Brasil
Author: Daniela Ponciano e Natalia Pedroso
Author URI: http://www.danielaponciano.com
Description: Tema feito para Klid Brasil
Version: 1.0
Tags: Responsive, Flexbox

*/
svg:not(:root) {
    overflow-clip-margin: content-box;
    overflow: hidden;
}
:root {
    /* Fonts */
    --ff-main: "Kumbh Sans", serif;
    --ff-title: 'Daniel', sans-serif;
    /* Defaults */
    --base-boxshadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    --base-transition: 0.3s ease-in-out;
    --base-letterspacing: 0.1rem;
    /* Colours */
    --basecolor-black: #1D1D1B;
    --basecolor-light-gray: #C6C6C6;
    --basecolor-medium-gray: #a1a1a1;
    --basecolor-white: #fff;
    --basecolor-lightess-gray: #F7F7F7;
    --basecolor-lightess-cream: #f7f5f4;
    --basecolor-light-cream: #f6f1e5;
    --basecolor-cream: #dbd4c1;
    --basecolor-light-brown: #917659;
    --basecolor-brown: #5b5247;
    --basecolor-yellow: #ffea80;
    --basecolor-teal: #75A39B;
    --basecolor-darkteal: #466A64;
    --basecolor-newtext: #20302D;
    --basecolor-green: #385832;
    --basecolor-darkgreen: #223829;
    --basecolor-verdetransparente: rgb(79 125 85 / 76%);
}

@font-face {
    font-family: 'Daniel';
    src: url('./fonts/Daniel.woff2') format('woff2'), url('./fonts/Daniel.woff') format('woff'), url('./fonts/Daniel.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Daniel';
    src: url('./fonts/DanielBold.woff2') format('woff2'), url('./fonts/DanielBold.woff') format('woff'), url('./fonts/DanielBold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Daniel';
    src: url('./fonts/DanielBlack.woff2') format('woff2'), url('./fonts/DanielBlack.woff') format('woff'), url('./fonts/DanielBlack.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

.with_frm_style input::placeholder,.with_frm_style textarea::placeholder {
    color: #5b5247 !important;
    opacity: 0.8;
}

/* Mozilla Firefox */
input::-moz-placeholder, textarea::-moz-placeholder {
    color: #5b5247 !important;
    opacity: .8;
}

/* Internet Explorer */
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: #5b5247 !important;
    opacity: .8;
}

/* Microsoft Edge (Legacy) */
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    color: #5b5247 !important;
    opacity: .8;
}

html {
    background-color: var(--basecolor-white);
    scroll-behavior: smooth;
}

body {
    font-family: var(--ff-main);
    font-size: 16px;
    line-height: 1.5;
    color: var(--basecolor-black);
    background-color: var(--basecolor-white);
    height: 100%;
}

a {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: var(--base-transition);
}

a:hover, a:focus {
    color: inherit;
    opacity: 0.5;
    text-decoration: none;
}

a:focus {
    outline: 0;
}

img {
    vertical-align: middle;
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bolder;
}

em{
    font-style:italic;
}

.custom-edit-button {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    background-color: var(--basecolor-white);
    color: var(--basecolor-black);
    border-radius: 3rem;
    height: 3rem;
    width: 3rem;
    text-indent: -999999px;
    background-image: url(./images/edit.svg);
    background-size: 1.6rem;
    background-repeat: no-repeat;
    background-position: center;
}

.drawer-menu li.current-menu-item a {
    color: rgb(47 42 36);
    font-weight: 300;
}

.buttonBase {
    color: var(--basecolor-brown);
    background-color: var(--basecolor-yellow);
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: .5rem 1rem;
    padding-right: 2rem;
    font-size: .85rem;
    line-height: 1;
    transition: var(--base-transition);
    position: relative;
}

.buttonBase span {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    position: absolute;
    right: 10px;
    top: 0;
    transition: var(--base-transition);
}

.buttonBase span img {
    max-width: 1rem;
    max-height: 1rem;
}

.buttonBase:hover {
    opacity: 1;
    color: var(--basecolor-brown);
}

.icone-arrow-left:hover span {
    right: 5px;
}

.icone-arrow-down:hover span {
    top: 3px;
}

.icone-arrow-top:hover span {
    top: -3px;
}

.icone-arrow-right:hover span {
    right: 7px;
}

.buttonBase.icone-arrow-left {
    padding-right: 1rem;
    padding-left: 2rem;
}

.buttonBase.icone-arrow-left span {
    left: 10px;
}

.icone-arrow-left:hover span {
    left: 7px;
}

.buttonSq {
    padding: .5rem;
    border-radius: 1px;
}

.buttonSq img {
    width: 20px;
}

@media(max-width: 767px) {
    body {
        font-size:14px;
    }
}

/* =========================================== Temp  =============== */
.tempHome > div {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background-image: url('./images/bgtemp.jpg');
    background-position: center;
    background-size: cover;
}

.tempHome h2 {
    width: 120px;
    height: 120px;
    background-color: var(--basecolor-yellow);
    color: rgba(0,0,0,0.7);
    font-size: 0.6em;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    font-weight: 400;
    text-align: center;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: auto;
}

/* =========================================== Menu  =============== */
.submenuArea {
    position: absolute;
    right: 200px;
    left: 200px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: .5px;
    text-align: center;
    max-height: 70px;
    height: 100%;
}

ul.submenuArea li {
    padding: 1rem;
}

.submenuArea a {
    color: #fff;
}

.scrolled .submenuArea a, .error404 .submenuArea a {
    color: var(--basecolor-brown);
}

.submenuArea a.activeSubmenu {
    font-weight: bold;
}

@media(max-width: 991px) {
    .submenuArea {
        display: none;
    }
}

/* =========================================== Pages  =============== */
.bgEscuro:after {
    content: '';
    width: 100%;
    min-height: 40vh;
    background: linear-gradient(rgba(29, 29, 27, 0.7) 0%, rgba(91, 82, 71, 0) 100%);
    display: block;
    transition: .3s ease-in-out;
    position: absolute;
    z-index: 2;
}

.pageArea {
    padding: 12vh 6vw 18vh 6vw;
    width: 66.66666667%;
    margin: 0 auto;
    box-sizing: border-box;
}

.pageTitle {
    color: var(--basecolor-brown);
    font-weight: 600;
    letter-spacing: var(--base-letterspacing);
    line-height: 140%;
    text-transform: uppercase;
    font-size: 1.3rem;
    margin-bottom: 1rem;
}

article ul, article ol {
    padding-left: 2em;
    margin-bottom: 1rem;
}

article ul {
    list-style: square;
}

article ol {
    list-style: decimal;
}

article em {
    font-style: italic;
}

article strong {
    font-weight: 500;
}

article hr {
    border: 0;
    border-top: 1px solid var(--basecolor-cyan);
    margin: 1rem 0;
}

article blockquote {
    /* background: #f2f2f2; */
    padding: 3em 2rem 1rem 2rem;
    font-size: 1.2rem;
    background-image: url(./images/quote.svg);
    background-repeat: no-repeat;
    background-size: 70px;
    background-position: 13px 15px;
}

article blockquote p:last-child {
    margin-bottom: 0
}

article a {
    color: var(--basecolor-light-brown);
}

article p {
    width: 100%;
    display: inline-block;
    margin-bottom: 1rem;
    font-weight: 300;
}

article p > img.aligncenter {
    display: flex;
}

article .alignleft {
    float: left;
    padding-right: 1rem;
}

article .alignright {
    float: right;
    padding-left: 1rem;
}

article .aligncenter {
    margin: 0 auto;
    padding: 1rem;
}

article .wp-caption {
    padding: 1em;
}

article iframe {
    width: 100%;
    min-height: 400px;
}

.wp-caption-text {
    margin: 0;
    padding-top: 5px;
    font-size: .7em;
    font-style: italic;
    text-align: center;
}

article h1 {
    font-size: 1.5em;
    margin: 0.67em 0;
}

article h2 {
    font-size: 1.3em;
    margin: 0.83em 0;
}

article h3 {
    font-size: 1.17em;
    margin: 1em 0;
}

article h4 {
    font-size: 1em;
    margin: 1.33em 0;
}

article h5 {
    font-size: 0.83em;
    margin: 1.67em 0;
}

article h6 {
    font-size: 0.67em;
    margin: 2.33em 0;
}

article h1, article h2, article h3, article h4, article h5, article h6 {
    color: var(--basecolor-medium-gray);
    font-weight: 300;
}

@media(max-width: 991px) {
    article {
        font-size:14px;
    }

    .pageTitle, article h1 {
        font-size: 1.2em;
        margin: 0.67em 0;
    }

    article h2 {
        font-size: 1.1em;
        margin: 0.83em 0;
    }

    article h3 {
        font-size: 1.09em;
        margin: 1em 0;
    }

    article h4 {
        font-size: .9em;
        margin: 1.33em 0;
    }

    article h5 {
        font-size: 0.63em;
        margin: 1.67em 0;
    }

    article h6 {
        font-size: 0.57em;
        margin: 2.33em 0;
    }
}

/* =========================================== Home  =============== */
.heroHome {
    display: block;
    position: relative;
    overflow: hidden;
}

.innerHeroHome {
    height: 100vh;
    background-position: center;
    background-size: cover;
}

.innerHeroHome > div {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: linear-gradient(rgba(29, 29, 27, 0.72) 0%, rgba(29, 25, 19, 0.68) 100%);
    padding: 2rem;
    box-sizing: border-box;
}

.textoEbotoesHeroHome {
    color: #fff;
    text-align: center;
}

#heroPag {
    position: relative;
}

#heroPag .swiper-pagination-progressbar-fill {
    background: var(--basecolor-yellow);
    transition: var(--base-transition);
}

/* .textoEbotoesHeroHome a {
    display: inline-block;
    background: var(--basecolor-yellow);
    color: var(--basecolor-black);
    padding: .7rem 2.7rem .7rem 1.2rem;
    font-size: 1rem;
    position: relative;
} */

/* .textoEbotoesHeroHome a span {
    position: absolute;
    right: 20px;
    transition: var(--base-transition);
}
 */
.textoEbotoesHeroHome a span:after {
    content: '\F138';
    font-family: "bootstrap-icons";
    top: 1px;
    font-size: 16px;
    position: relative;
}

.textoEbotoesHeroHome a:hover {
    opacity: 1;
}

.textoEbotoesHeroHome a:hover span {
    right: 15px;
}

.textoEbotoesHeroHome {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    font-weight: 200;
    font-size: 1.2rem;
    align-items: center;
    justify-content: center;
}

.textoEbotoesHeroHome h2 {
    font-size: 3rem;
    font-weight: 100;
    text-transform: uppercase;
}

.heroVideoHome {
}

.custom-video-wrapper {
    position: relative;
    margin: auto;
    background-color: var(--basecolor-brown);
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.custom-video-wrapper video {
    width: auto;
    height: 100%;
    display: block;
    position: relative;
    z-index: 1;
}

.video-controls {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    gap: 0.5rem;
    padding: 0.5rem;
    z-index: 2;
}

.video-controls button {
    background: none;
    border: none;
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
    transition: var(--base-transition);
    opacity: .3;
}

.video-controls button:hover {
    opacity: 1;
}

.loading {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    min-height: 80px;
}

.loader {
    width: 35px;
    aspect-ratio: 1;
    --c1: linear-gradient(90deg,#0000 calc(100%/3),#ffea80 0 calc(2*100%/3),#0000 0);
    --c2: linear-gradient( 0deg,#0000 calc(100%/3),#ffea80 0 calc(2*100%/3),#0000 0);
    background: var(--c1),var(--c2),var(--c1),var(--c2);
    background-size: 300% 4px,4px 300%;
    background-repeat: no-repeat;
    animation: l3 1s infinite linear;
}

@keyframes l3 {
    0% {
        background-position: 50% 0,100% 100%,0 100%,0 0
    }

    25% {
        background-position: 0 0,100% 50% ,0 100%,0 0
    }

    50% {
        background-position: 0 0,100% 0 ,50% 100%,0 0
    }

    75% {
        background-position: 0 0,100% 0 ,100% 100%,0 50%
    }

    75.01% {
        background-position: 100% 0,100% 0 ,100% 100%,0 50%
    }

    100% {
        background-position: 50% 0,100% 0 ,100% 100%,0 100%
    }
}

.legendinha {
    font-size: .7rem;
    letter-spacing: .5px;
    color: var(--basecolor-brown);
    text-align: right;
    padding: .5rem;
    display: block;
}

@media(max-width: 767px) {
    .heroVideoHome {
    }

    .heroVideoHome video {
        height: 300px;
    }
    .legendinha{
        text-align:center;
    }
}

/*conteudo home  ================================== */
.conteudoHome {
    display: flex;
    padding: 5rem;
    gap: 5rem;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: white;
    position: relative;
    z-index: 1;
    margin-bottom: 3rem;
}

/* .conteudoHome:after {
    content: '';
    position: absolute;
    width: 100%;
    bottom: -5rem;
    height: 9rem;
    background-image: url(./images/border-bottom.svg);
    background-position: bottom center;
    background-size: 100% 100%;
} */

.introText {
    max-width: calc(50% - 2.5rem);
}

.tituloSecaoAzul {
    color: var(--basecolor-teal);
    font-family: var(--ff-title);
    font-size: 2.3rem;
    font-weight: 100;
    margin-bottom: 2rem;
}

.tituloSecaoAzul b {
    color: var(--basecolor-darkteal)
}

.contentIntroText {
    color: var(--basecolor-newtext);
    margin-bottom: 2rem;
    line-height: 2;
}

.listaBotoes {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
}

@media(max-width: 767px) {
    .conteudoHome {
        padding:4rem 2rem;
        flex-direction: column;
        gap: 3rem;
        margin-bottom: 2rem;
    }

    .introText {
        max-width: 100%;
    }

    .introImg {
        margin-left: -2rem;
        margin-right: -2rem;
    }

    .tituloSecaoAzul {
        font-size: 2rem;
    }

    .conteudoHome:after {
        bottom: -3rem;
    }
}

/*conteudo home 2  ================================== */
.conteudoHome2 {
    display: flex;
    padding: 5rem;
    padding-top: 7rem;
    gap: 3rem;
    flex-direction: column;
    background-color: #F7F7F7;
    position: relative;
    z-index: 1;
    margin-bottom: 3rem;
    text-align: center;
}

.lotesImage img {
    width: 100%;
}

.lotesImage {
    position: relative;
}

.lotesImage a:hover {
    opacity: 1;
}

.lotesImage .buttonSq {
    position: absolute;
    bottom: 0rem;
    right: 0rem;
}

.lotesImage a:hover {
    opacity: 1;
}

.lotesImage a:hover .buttonSq {
    transform: scale(1.2);
}

.lotesText {
    display: flex;
    gap: 5rem;
}

.lotesIntroText {
    text-align: left;
    max-width: 50%;
}

.listaBotoes2 {
    display: flex;
    gap: 1rem;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

@media(max-width: 767px) {
    .conteudoHome2 {
        padding:5rem 2rem;
        flex-direction: column;
        gap: 3rem;
    }

    .lotesText {
        flex-direction: column;
        max-width: 100%;
        gap: 0rem;
    }

    .lotesIntroText {
        max-width: 100%;
    }

    .tituloSecaoAzul {
        font-size: 2rem;
    }
    
}

/* Conteudo home 3  ================================== */
.conteudoHome3 {
    display: flex;
    padding: 5rem;
    gap: 2rem;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: var(--basecolor-white);
    position: relative;
    z-index: 1;
    margin-bottom: 5rem;
}

.galeriaVilaEstorilHome {
    min-width: 50%;
    position: relative;
    overflow: hidden;
}

.galeriaVilaEstorilHome .swiper-slide img {
    width: 100%;
}

.galeriaVilaEstorilHome .swiper-slide a {
    display: block;
    height: 100%;
}

.vilEstorilText {
    text-align: left;
}

.logoVila img {
    max-height: 2rem;
    margin-bottom: 1rem;
}

.tituloVilaEstoril {
    text-transform: uppercase;
    font-weight: 300;
    color: var(--basecolor-darkteal);
    text-transform: uppercase;
    line-height: 1.75;
    margin-bottom: 2rem;
}

.vilEstorilText article {
    font-size: .85rem;
    color: var(--basecolor-newtext);
    margin-bottom: 2rem;
}

#vilaGallery.swiper-container {
    height: 600px;
    overflow: hidden;
    position: relative;
}

#vilaGallery .swiper-wrapper {
    transition: transform 0.05s linear;
    will-change: transform;
    display: flex;
    flex-direction: column;
}

#vilaGallery .swiper-slide {
    margin-bottom: 10px;
    flex-shrink: 0;
    height: auto;
}

.scrollUp, .scrollDown {
    position: absolute;
    left: calc(50% - 22px);
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 10;
    background: rgb(255 255 255);
    color: white;
    width: 45px;
    height: 60px;
    cursor: pointer;
    background-image: url(./images/arrow.svg);
}

.scrollUp, .scrollDown {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 14px;
    text-indent: -99999px;
}

.scrollUp {
    transform: rotate(90deg);
    top: -10px;
}

.scrollDown {
    transform: rotate(-90deg);
    bottom: -10px;
}

@media(max-width: 767px) {
    .conteudoHome3 {
        flex-direction:column-reverse;
        padding: 2rem;
    }

    #vilaGallery.swiper-container {
        height: 50vh
    }
    .scrollUp, .scrollDown{
        width: 30px;
        height: 45px;
        left: calc(50% - 15px);
        opacity: .6;
    }
}

/* Conteudo Home 4 ================================== */
.conteudoHome4 {
    background-color: #c2e6ee;
    display: flex;
    gap: 2rem;
    align-items: stretch;
    justify-content: space-between;
    overflow: hidden;
}

.localText {
    max-width: 45%;
    padding: 5rem;
    background: linear-gradient(-90deg, #fff 0%, #c2e6ee 60%);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.localText .listaBotoes {
    justify-content: flex-start;
}

#bahiaGallery {
    margin-bottom: 2rem;
}

#bahiaGallery.swiper-container {
    overflow: hidden;
    position: relative;
}

#bahiaGallery .swiper-slide {
    margin-right: 10px;
    flex-shrink: 0;
    height: auto;
}

#bahiaGallery .swiper-slide img {
    height: 100%;
}

.scrollLeft, .scrollRight {
    position: absolute;
    top: calc(50% - 30px);
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 10;
    background: rgb(255 255 255);
    color: white;
    width: 45px;
    height: 60px;
    cursor: pointer;
    background-image: url(./images/arrow.svg);
}

.scrollLeft, .scrollRight {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 14px;
    text-indent: -99999px;
}

.scrollLeft {
    left: 0;
}

.scrollRight {
    right: 0;
    transform: rotate(180deg);
}

@media(max-width: 767px) {
    .conteudoHome4 {
        flex-direction:column;
        padding: 0;
        position: relative;
        gap: 0;
    }

    .localText {
        padding: 2rem;
        max-width: 100%;
        background: linear-gradient(180deg, #ffffff 0%, rgb(194 230 238) 60%);
    }
}

/* Old ================================== */
.introHome, .contentContatos {
    text-align: center;
    width: 75%;
    padding: 18vh 6vw 12vh 6vw;
    margin: 0 auto;
    line-height: 160%;
    font-size: 1.25rem;
    font-weight: 300;
    color: var(--basecolor-brown);
}

.contentHome .introHome {
    padding-top: 12vh;
}

.tituloDosBlocos {
    letter-spacing: 0.3em;
    font-size: 1.25rem;
    text-transform: uppercase;
    font-weight: 300;
    text-align: center;
    padding-left: 2vw;
    padding-right: 2vw;
    margin-bottom: 6vh;
    align-items: center;
    color: var(--basecolor-light-brown);
    width: 75%;
    margin: 0 auto 6vh auto;
}

.blocosDestaque {
    padding: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

a.blocoInterno {
    display: flex;
    width: calc(50% - 1rem);
    box-sizing: border-box;
    text-align: center;
    flex-direction: column;
}

a.blocoInterno .imagemFoto {
    min-height: 400px;
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
    background-color: var(--basecolor-black);
    position: relative;
}

a.blocoInterno .imagemFoto > div {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-size: cover;
    background-size: cover;
    align-items: center;
    transition: var(--base-transition);
}

.mensagemnocirculo {
    width: 120px;
    height: 120px;
    background-color: var(--basecolor-yellow);
    color: rgba(0,0,0,0.7);
    font-size: 0.6em;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    font-weight: 400;
    text-align: center;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: auto;
    z-index: 1;
}

.textoDes h3 {
    margin-bottom: 8px;
    position: relative;
    display: inline-block;
    font-size: 1em;
    text-transform: uppercase;
    font-weight: 300;
    letter-spacing: var(--base-letterspacing);
}

.textoDes p {
    font-weight: 300;
    margin-bottom: 1rem;
}

a.blocoInterno:hover {
    opacity: 1;
}

a.blocoInterno:hover .textoDes h3 {
    color: var(--basecolor-light-brown);
}

a.blocoInterno:hover .imagemFoto > div {
    opacity: .5;
}

.contato {
    background-color: var(--basecolor-yellow);
}

.contatoContent {
    width: calc(66.66666667% + 2rem);
    margin: 0 auto;
    padding: 12vh 6vw 6vh 6vw;
}

.headerContato {
    text-align: center;
    width: 66.66666667%;
    margin: 0 auto;
    margin-bottom: 6vh;
}

.headerContato h2 {
    font-family: 'Daniel', sans-serif;
    margin-bottom: 1rem;
    font-size: max(3.4vw, 24px);
    font-weight: normal;
    color: var(--basecolor-brown);
}

.headerContato p {
    font-weight: 300;
    margin-bottom: 1rem;
}

.contatos {
    display: flex;
    gap: 11%;
    padding-top: 1rem;
}

.contatosDiretos {
}

.contatosDiretos h3, .formContato h3 {
    margin-bottom: 20px;
    font-weight: 400;
    color: var(--basecolor-brown);
}

.contatosDiretos .links {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 2.5rem;
}

.contatosDiretos .links li {
}

.contatosDiretos .links li a {
    max-width: 300px;
    background-color: #fff;
    font-weight: 300;
    padding: 13px 15px;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
}

.contatosDiretos .links li p {
    font-size: 11px;
    color: #a1a1a1;
    line-height: 160% !important;
    font-style: italic;
}

.contatosDiretos .links li i {
    margin-right: 10px;
    width: 1rem;
}

.marcaRodape {
    align-items: center;
    text-align: center;
    margin-bottom: 3rem;
}

.marcaRodape img {
    max-width: 100px;
}

div#frm_checkbox_12-0 {
    margin-top: 1rem;
}

div#frm_checkbox_12-0 a {
    font-weight: 400;
}

.frm_button_submit {
    font-family: 'Kumbh Sans';
    transition: var(--base-transition);
    position: relative;
    padding-right: 1.6rem !important;
    !i;!; }

.frm_button_submit span:after {
    content: '\F138';
    font-family: "bootstrap-icons";
    margin-left: 12px;
    margin-top: 3px;
    font-size: 15px;
    transition: var(--base-transition);
}

.frm_button_submit span {
    position: absolute;
    transition: var(--base-transition);
    margin-top: 2px;
}

.frm_button_submit:hover span {
    margin-left: 5px;
}

.formContato {
    flex-grow: 1;
}

@media(min-width: 768px) {
    .innerHeroHome {
        background-size: cover;

    }

    @keyframes zoomBackground {
        0% {
            background-size: auto 100%;
        }

        50% {
            background-size: auto 103%;
        }

        100% {
            background-size: auto 100%;
        }
    }

    .swiper-slide-active .innerHeroHome {
    }
}

@media(max-width: 767px) {
    .pageArea {
        padding: 12vh 6vw 18vh 6vw;
        width: 100%;
    }

    .introHome, .tituloDosBlocos {
        font-size: 1.1rem;
        padding-left: 2rem;
        padding-right: 2rem;
        width: 100%;
        box-sizing: border-box;
    }

    .tituloDosBlocos {
        letter-spacing: 2px;
    }

    .blocoInterno {
        min-width: 100%;
    }

    .headerContato {
        width: 100%
    }

    .contatoContent {
        width: 100%;
        padding: 3.7rem 1.5rem 1.5rem 1.9rem;
        box-sizing: border-box;
    }

    .contatos {
        flex-direction: column;
    }

    .contatosDiretos .links li a {
        max-width: 100%;
    }

    .frm_submit.frm_flex {
        align-items: center;
        justify-content: center;
    }
}

/* =========================================== Contatos =============== */
.contentContatos .tituloDosBlocos {
    margin-bottom: 2.5rem;
    font-size: 1.4rem;
    font-weight: 200;
}

.listaPagContatos {
}

.linksPaginaContatos li {
    margin-bottom: 1.75rem;
}

.linksPaginaContatos li a {
    font-weight: 200;
}

.linksPaginaContatos li a span {
    display: block;
    font-size: 11px;
    color: #a1a1a1;
    line-height: 160%;
}

#mapaBig iframe {
    width: 70vw;
    height: 70vh;
}

@media(max-width: 767px) {
    .contentContatos .tituloDosBlocos {
        font-size:1.1rem;
        padding: 0;
        font-weight: 300;
    }

    .linksPaginaContatos li a {
        font-weight: 300;
        font-size: 1.1rem;
    }
}

/* =========================================== Sobre =============== */
.pageContentSobre {
    position: relative;
    z-index: 0;
}

.parallax-header {
    overflow: hidden;
}

.parallax-image {
    min-height: 100vh;
    background-size: cover;
    width: 100%;
    background-position: center;
}

.parallax-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 0;
    height: 100vh;
}

.contentSobrePage {
    background-color: var(--basecolor-white);
}

.galleyConteinar {
    padding: 2rem;
    box-sizing: border-box;
}

.ignite-gallery {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    overflow: hidden;
}

.ignite-gallery-wrapper {
    display: flex;
    gap: 10px;
    white-space: nowrap;
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.ignite-gallery-wrapper::-webkit-scrollbar {
    display: none;
    /* Hide scrollbar in WebKit-based browsers */
}

/* Gallery Items */
.ignite-gallery .ignite-gallery-item {
    flex: 0 0 auto;
    position: relative;
    /* width: 300px; */
    height: 70vh;
    overflow: hidden;
}

.ignite-gallery-item img {
    width: auto;
    height: 100%;
    object-fit: cover;
}

/* Buttons */
.ignite-gallery button.prev, .ignite-gallery button.next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgb(255 255 255);
    color: white;
    border: none;
    width: 45px;
    height: 60px;
    z-index: 10;
    cursor: pointer;
}

.ignite-gallery button.prev, .ignite-gallery button.next {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 14px;
    text-indent: -99999px;
}

.ignite-gallery button.prev {
    background-image: url(./images/arrow.svg);
}

.ignite-gallery button.next {
    right: 0;
    background-image: url(./images/arrowright.svg);
}

.featherlight.galleryItem {
    background: #fff;
}

.featherlight-previous, .featherlight-next {
    position: absolute;
    top: -13px;
    transition: var(--base-transition);
    background-color: transparent !important;
}

.featherlight-previous span, .featherlight-next span {
    transition: var(--base-transition);
}

.featherlight.galleryItem .featherlight-content {
    width: 90vw;
    box-sizing: border-box;
    margin: 0;
    border: 0;
    top: 0;
    text-align: center;
    padding: 2rem;
    max-height: 90%;
}

.featherlight.galleryItem .featherlight-image {
    margin: 0 auto;
}

.featherlight.galleryItem .featherlight-close-icon.featherlight-close {
    background-image: url(./images/close.svg);
    background-size: 90%;
    background-position: center;
    background-repeat: no-repeat;
    text-indent: -999999px;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    transition: var(--base-transition);
}

.featherlight.galleryItem .featherlight-next span, .featherlight.galleryItem .featherlight-previous span {
    display: block;
    text-indent: -9999px;
    background-image: url(./images/arrow.svg);
    background-repeat: no-repeat;
    background-size: 17px;
    background-position: center left;
}

.featherlight.galleryItem .featherlight-next span {
    background-image: url(./images/arrowright.svg);
    background-position: center right;
}

.featherlight.galleryItem .featherlight-next:hover span, .featherlight.galleryItem .featherlight-prev:hover span {
    background-color: transparent;
    opacity: .4;
}

.featherlight.galleryItem img.featherlight-image.featherlight-inner {
    max-width: 80vw;
}

.conteudoSobre {
    padding: 12vh 2rem;
    text-align: left;
    padding-left: 25%;
    padding-right: 15%;
    box-sizing: border-box;
    width: auto;
}

.conteudoSobre p {
    margin-bottom: 1rem;
}

.conteudoSobre ul {
    margin-top: 6vh;
}

@media(min-width: 768px) {
    .parallax-image {
        background-attachment: fixed;
    }
}

@media(max-width: 767px) {
    .page-template-template-sobre .introHome {
        padding-top:12vh;
    }

    .ignite-gallery-item {
        height: 300px;
    }

    button.prev, button.next {
        width: 30px;
        height: 45px;
        background-size: 9px;
    }

    .page-template-template-sobre .introHome.conteudoSobre {
        padding: 3rem 2rem 5rem 2rem;
    }
    .featherlight.galleryItem .featherlight-next span, .featherlight.galleryItem .featherlight-previous span {
        display:none;
    }
    .featherlight.galleryItem .featherlight-content{
        height:100vh;
        width: 100vw;
        padding: 0;
        max-height: 100%;
    }
    .featherlight-previous, .featherlight-next {
        display:none;
    }
    .featherlight.galleryItem .featherlight-close-icon.featherlight-close{
        top:1rem;
        right:1rem;
    }
    .featherlight.galleryItem img.featherlight-image.featherlight-inner{
        max-width:100%;
        width: 100vw;
        margin: auto;
        margin-top: 50%;
    }

}

/* =========================================== Vila Estoril =============== */
.textoEbotoesHero {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    font-size: 1.2rem;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.textoEbotoesHero h2 {
    font-size: 2rem;
    font-weight: 100;
    font-family: var(--ff-title);
    color: var(--basecolor-white);
}

.textoEbotoesHero h1, .textoEbotoesHero h2, .textoEbotoesHero h3, .textoEbotoesHero h4, .textoEbotoesHero h5 {
    font-family: var(--ff-title);
}

#area1:focus-visible {
    outline: none;
}

.area1Estoril {
    display: flex;
    flex-direction: column;
    padding: 5rem;
    gap: 3rem;
}

.row1Area1, .row2Area1 {
    display: flex;
    gap: 4rem;
    align-items: center;
}

.tituloSecaoAzulEscuro {
    color: var(--basecolor-darkteal);
    font-family: var(--ff-title);
    font-size: 2.3rem;
    font-weight: 100;
    margin-bottom: 2rem;
    line-height: 1;
}

.conteudoArea1 {
    color: var(--basecolor-newtext);
    line-height: 2;
    max-width: 50%;
}

.area2Estoril {
    display: flex;
    flex-direction: column;
    padding: 5rem;
    gap: 5rem;
    background: var(--basecolor-lightess-gray);
}

.area2Text {
    display: flex;
    gap: 3rem;
    align-items: center;
}

h2.tituloSecaoVerde {
    font-weight: 400;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: var(--basecolor-green);
    text-transform: uppercase;
}

.area2txtContent {
    font-weight: 300;
    line-height: 2;
    text-align: left;
    font-size: 1.1rem;
    color: var(--basecolor-newtext);
    max-width: 50%;
}

.areaVideoEstoril {
    width: 50%;
}

.areaVideoEstoril .custom-video-wrapper {
    margin-bottom: 2rem;
    width:100%;
    height: auto;
    display: block;
}
.areaVideoEstoril .custom-video-wrapper video{
    width:100%;
    height:auto;
}
@media (max-width:767px){
    .areaVideoAqua .custom-video-wrapper{
        height:38vh;
    }
}

.fraseDestacadaVerde {
    background-color: var(--basecolor-darkgreen);
    color: var(--basecolor-white);
    text-align: center;
    padding: 3rem;
    margin: 3rem 0;
    position: relative;
}

.fraseDestacadaVerde:before {
    background-color: var(--basecolor-lightess-gray);
}

.fraseDestacadaVerde:before, .fraseDestacadaVerde:after {
    content: '';
    display: block;
    background-image: url(./images/border-green.svg);
    display: block;
    height: 3rem;
    width: 100%;
    position: absolute;
    top: -3rem;
    right: 0;
    left: 0;
    background-size: cover;
    background-position: top center;
}

.fraseDestacadaVerde:after {
    top: auto;
    bottom: -3rem;
    transform: rotate(180deg);
}

.fraseDestacadaVerde h2 {
    font-weight: 200;
    font-family: var(--ff-title);
    font-size: 1.8rem;
    max-width: 800px;
    margin: 0 auto;
}

.subtituloArea3 {
    padding: 5rem;
    padding-bottom: 3rem;
    color: var(--basecolor-green);
    text-transform: uppercase;
    font-weight: 300;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
}

#galeriaHorizontal1 {
    margin-bottom: 2rem;
}

.areaGaleria {
    padding: 1rem;
}

.galeriaVilaEstoril {
    overflow: hidden;
    position: relative;
}

#galeriaHorizontal1.swiper-container {
    position: relative;
}

#galeriaHorizontal1 .swiper-container, #galeriaHorizontal1 .swiper-wrapper {
}

#galeriaHorizontal1 .swiper-slide {
    width: auto !important;
    height: auto !important;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin: 0;
    margin-left: 1rem;
}

#galeriaHorizontal1 .swiper-slide img {
    height: 55vh;
    width: auto;
    max-width: 100%;
    display: block;
    object-fit: contain;
}

.areaArquitetos {
    display: flex;
    padding: 2rem 5rem 5rem 5rem;
    gap: 5rem;
    align-items: center;
}

.conteudo_do_projeto p {
    margin-bottom: 1rem;
    line-height: 2;
    color: var(--basecolor-newtext);
}

.conteudo_do_projeto strong {
    font-weight: bolder;
}

.textoArquitetura {
    max-width: 310px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    align-items: stretch;
}

.sobreArquitetura {
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

img.logoArquitetura {
    height: 1rem;
    margin-bottom: .5rem;
}

.sobreArquitetura p {
    font-size: .9rem;
    font-weight: 300;
    line-height: 1.75;
}

.fotoarquitetos {
    flex-shrink: 0;
}

.mosaicoInteriores {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.mosaicoInteriores .linha-topo {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
    justify-content: center;
}

.mosaicoInteriores .colunaA {
    flex: 2;
}

.mosaicoInteriores .colunaB {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
}

.linha-topo .colunaB a {
    height: 100%;
}

.mosaicoInteriores a {
    position: relative;
    overflow: hidden;
    display: block;
}

.legendaFoto {
    position: absolute;
    transition: var(--base-transition);
    bottom: -15%;
    background: #ffffff;
    width: 100%;
    padding: .5rem;
    font-size: .8rem;
    z-index: 1;
}

.mosaicoInteriores a:hover .legendaFoto {
    height: auto;
    bottom: 0;
    opacity: 1;
}

.mosaicoInteriores .linha-baixo {
    display: flex;
    gap: 1rem;
}

.mosaicoInteriores .linha-baixo a {
    flex: 1;
}

.mosaicoInteriores img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    transition: var(--base-transition);
}

.legendaMosaico {
    text-align: right;
    font-weight: 300;
    line-height: 2;
    padding-bottom: 2rem;
}

.mosaicoInteriores a:hover {
    opacity: 1;
}

.mosaicoInteriores a:hover > img {
    opacity: 0.7;
    transform: scale(1.1);
}

.colunaB.imagemGrande img {
    height: 100%;
    width: auto;
}

.fraseImpacto {
    padding: 7rem 5rem;
    max-width: 900px;
    margin: 0 auto;
}

.fraseImpacto p {
    text-transform: uppercase;
    font-size: 1.4rem;
    font-weight: 200;
    color: var(--basecolor-newtext);
    letter-spacing: 0.08rem;
    line-height: 1.75;
    margin-bottom: 3rem;
}

.fraseImpacto h2 {
    color: var(--basecolor-green);
    font-family: var(--ff-title);
    font-weight: 300;
    font-size: 2rem;
    text-rendering: geometricprecision
}

.plantasEdisponibilidade {
    display: flex;
    padding: 0 5rem;
    gap: 3rem;
    background-color: var(--basecolor-darkgreen);
    background-image: url(./images/bgPlantas.png);
    background-position: center;
    background-size: cover;
    position: relative;
    z-index: 1;
}

.plantasEdisponibilidade:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    display: block;
    top: 0;
    left: 0;
    background-color: var(--basecolor-darkgreen);
    z-index: -1;
    opacity: .8;
}

.mapaDasCasas {
    max-width: 50%;
    flex-grow: 1;
    margin-bottom: -6px;
}

.plantaCasa {
    opacity: 0;
}
.plantaCasaFoto{
    display:flex;
    flex-direction:column;
    align-content:center;
    justify-content:center;
    gap:1rem;
}
.plantaCasaFoto a{
    display:inline-block;
    align-self:center;
}
.plantaCasaFoto img {
    max-height: 80vh;
    align-self:center;
}

.tabelaCasas {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 3rem;
}

.tabelaCasas .subtituloArea3 {
    color: #fff;
    padding: 0;
}

.tabelaFlexCasas {
    display: flex;
    flex-direction: column;
    font-family: var(--ff-main);
}

.tabelaFlexCasas .linha {
    display: flex;
}

.tabelaFlexCasas .celula {
    flex: 1;
    padding: 0.8rem;
    text-align: center;
    border: .5px solid rgba(255, 255, 255, 0.2);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--base-transition);
    background-color: var(--basecolor-verdetransparente);
    font-weight: 200;
    font-size: .9rem;
    min-width: 150px;
}

.tabelaFlexCasas .celula.label {
    font-weight: bold;
    text-align: left;
    flex: 0 0 150px;
    text-rendering: geometricPrecision;
}

.tabelaFlexCasas .linha:first-child .celula.label {
    background: transparent;
    border: none;
    border-right: 1px solid transparent;
}

.tabelaFlexCasas .celula.titulo {
    text-transform: uppercase;
}

.tabelaFlexCasas a img {
    height: 1rem;
}

.hidden {
    display: none;
}

.hoveredcasa {
    opacity: 1;
}

.hoveredcasa polygon {
    opacity: .7;
    fill: #223829;
    transition: fill 0.3s ease;
}

.tabelaFlexCasas .celula.hoveredTabela {
    background-color: var(--basecolor-darkgreen);
}

.tabelaFlexCasas .celula.vendida {
    background-color: #8b9686;
}

@media(max-width: 767px) {
    .area1Estoril, .area2Estoril {
        padding:5rem 2rem;
    }

    .imagemArea1 {
        margin-left: -2rem;
        margin-right: -2rem;
        margin-bottom: 2rem;
        width: calc(100% + 4rem);
    }

    .mosaicoInteriores a{
        margin-right: -1rem;
        margin-left: -1rem;
    }

    .area2Estoril {
        gap: 2rem;
    }

    .area2Text, .row1Area1, .row2Area1, .areaArquitetos {
        flex-direction: column;
        gap: 2rem;
    }

    .row2Area1 {
        flex-direction: column-reverse
    }

    .area2txtContent, .conteudoArea1 {
        max-width: 100%
    }

    .area2txtContent {
        font-size: 1rem;
    }

    .areaVideoEstoril {
        width: 100%;
    }

    .subtituloArea3 {
        padding: 3rem 2rem;
    }

    .tituloSecaoAzulEscuro {
        line-height: 1.5;
        font-size: 1.8rem;
        text-align: center;
    }

    .fraseDestacadaVerde h2 {
        font-size: 1.5rem;
    }

    .fraseDestacadaVerde {
        padding: 2rem;
    }

    .fraseImpacto {
        padding: 2rem;
    }

    .areaArquitetos {
        padding: 2rem;
    }

    .plantasEdisponibilidade {
        flex-direction: column-reverse;
        padding: 0rem;
    }

    .tabelaCasas {
        padding: 2rem;
        text-align: center
    }

    .mapaDasCasas {
        max-width: 100%;
        border-top: 6px solid #fff;
    }

    .tabelaFlexCasas .celula {
        padding: 5px;
        font-size: .8rem;
        text-align: center;
    }

    .tabelaFlexCasas .celula.label {
        flex: 0 0 65px;
        text-align: center;
    }

    .bgEscuro:after {
        min-height: 80px;
    }

    .legendaMosaico {
        font-size: 1rem;
    }

    .mosaicoInteriores .linha-topo, .mosaicoInteriores .linha-baixo {
        display: flex;
        gap: 1rem;
        margin-bottom: 1rem;
        justify-content: center;
        flex-direction: column;
    }

    .mosaicoInteriores .colunaA, .mosaicoInteriores .colunaB, .linha-topo .colunaB a {
        flex: 2;
    }

    .legendaFoto {
        bottom: 0;
    }
}

/* =========================================== Empreendimento Lotes =============== */
.heroLote {
    position: relative;
    z-index: 1;
}

.heroLote:before {
    content: '';
    width: 100%;
    min-height: 40vh;
    background: linear-gradient(rgba(29, 29, 27, 0.7) 0%, rgba(91, 82, 71, 0) 100%);
    display: block;
    transition: .3s ease-in-out;
    position: absolute;
    z-index: 2;
}

.heroLoteInner {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

.fraseEmCima {
    font-family: var(--ff-title);
    color: var(--basecolor-white);
    position: relative;
    z-index: 2;
    top: 15vh;
    text-align: center;
    font-weight: 400;
    font-size: 2rem;
}

.animated-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media (min-width:768px){
    .animated-bg {
        background-size: 100%;
        background-repeat: no-repeat;
        animation: subirImagem 15s ease-in-out forwards;
        animation-delay: 1s;
        background-position: center bottom;
    }
}
@media (max-width:767px){
    .animated-bg {
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center bottom;
    }
}


@keyframes subirImagem {
    from {
        background-position: center bottom;
    }

    to {
        background-position: center top;
    }
}

.tituloSecaoAzulClaro {
    color: var(--basecolor-teal);
    font-family: var(--ff-title);
    font-size: 2.3rem;
    font-weight: 100;
    margin-bottom: 2rem;
    line-height: 1;
}

.listabotoesMarginTop {
    padding-top: 2rem;
}

.fraseDestacadaAqua {
    background-color: var(--basecolor-teal);
    color: var(--basecolor-white);
    text-align: center;
    padding: 3rem;
    margin: 3rem 0;
    position: relative;
    bottom: -3rem;
    z-index: 2
}

.fraseDestacadaAqua:before, .fraseDestacadaAqua:after {
    content: '';
    display: block;
    background-image: url(./images/border-aqua.svg);
    display: block;
    height: 3rem;
    width: 100%;
    position: absolute;
    top: -3rem;
    right: 0;
    left: 0;
    background-size: cover;
    background-position: top center;
}

.fraseDestacadaAqua:after {
    top: auto;
    bottom: -3rem;
    transform: rotate(180deg);
}

.fraseDestacadaAqua h2 {
    font-weight: 200;
    font-family: var(--ff-title);
    font-size: 2rem;
    max-width: 820px;
    margin: 0 auto;
}

.fraseDestacadaAqua h2 strong {
    font-weight: bold;
    text-rendering: geometricPrecision;
}

.masterplanLotes {
    background: #F7F7F7;
    padding-bottom: 2rem;
}

.tabelaLotes .subtituloArea3 p {
    text-transform: none;
    color: var(--basecolor-medium-gray);
    font-size: 1.1rem;
    letter-spacing: .5px;
}

.tabelaFlexLotes {
    display: flex;
    justify-content: center;
    flex-direction: column;
    max-width: 800px;
    margin: 2rem auto;
    text-align: center;
}

.tabelaRepeater {
    width: 100%;
    overflow-x: auto;
}

.tabelaFlexLotes .linha {
    display: flex;
    border-bottom: 1px solid #e9e9e9;
    transition: background-color 0.3s ease;
    transition: var(--base-transition);
}

.tabelaFlexLotes .linha:last-child {
    border-bottom: none;
}

.tabelaFlexLotes .linha.cabecalho {
    background-color: #C6D0CF;
    font-weight: 500;
    color: var(--basecolor-darkteal);
}

.tabelaFlexLotes .celula {
    flex: 1;
    padding: 10px;
    text-align: center;
    border-right: 1px solid transparent;
    display: flex;
    font-size: .85rem;
    align-items: center;
    justify-content: center;
    color: var(--basecolor-darkteal);
}


.tabelaFlexLotes .celula:last-child {
    border-right: none;
}

.tabelaFlexLotes .celula.label {
}

.mapaDosLotes {
    padding: 2rem 0;
    overflow: hidden;
}

.mapaDosLotes svg {
    width: calc(100% + .5%)
}

.hoveredLinha {
    background-color: #AABDB9;
    color: #fff;
}

.plantaLote {
    stroke: #fff;
    fill: #AABDB9;
    stroke-width: 2;
    opacity: 0;
    transition: .3s ease-in-out;
}

.plantaLote text {
    font-size: 15px;
    width: 40px;
    stroke: none;
    fill: #fff;
    fill-opacity: 1;
}

.plantaLote:hover {
    opacity: 1;
}

.plantaLote path, .plantaLote polygon, .plantaLote rect {
    transition: .3s ease-in-out;
}

.hoveredSVG, .hoveredSVG path, .hoveredSVG polygon, .hoveredSVG rect {
    stroke: #fff;
    fill: #AABDB9;
    stroke-width: 1;
    fill-opacity: 1;
    opacity: 1;
}

.highlightClick {
    animation: destaqueTemp 4s ease-in-out;
}

#loteVilaEstoril {
    display: block!important;
}

@keyframes destaqueTemp {
    0% {
        background-color: #AABDB9;
        color: #fff;
    }

    30% {
        background-color: #AABDB9;
    }

    100% {
        background-color: transparent;
        color: var(--basecolor-black);
    }
}

#loteVilaEstoril text {
    font-size: 10px;
    text-transform: uppercase;
}

.areaDiferencial .subtituloArea3 {
    text-align: center;
    font-weight: 500;
    color: var(--basecolor-teal);
}

.areaDiferencial ul {
    padding: 2rem;
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 4rem;
}

.areaDiferencial ul li {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--basecolor-medium-gray);
    flex: 1;
    box-shadow: 0 0 15px rgba(0,0,0,.15);
    max-width: 10%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: .2rem;
    font-size: 1rem;
}

.areaDiferencial ul li img {
    margin-bottom: 1rem;
}

.areaDiferencial ul li h4 {
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: .95rem;
}

.areaDiferencial ul li p {
    font-size: .8rem;
}

@media(max-width: 767px) {
    .heroLoteInner {
    }

    .fraseEmCima {
        text-align: center;
        padding: 2rem;
        font-size: 1.5rem;
        text-shadow: 1px 1px 6px #000;
    }

    .heroLote:before {
        min-height: 50vh;
    }

    .fraseDestacadaAqua h2 {
        font-size: 1.5rem;
    }

    .fraseDestacadaAqua {
        padding: 2rem;
    }

    .tabelaFlexLotes {
        padding: 1rem;
    }

    .tabelaFlexLotes .celula {
        font-size: .75rem;
        padding: 8px 2px;
    }

    .tabelaFlexLotes .buttonSq {
        padding: 5px;
    }

    .tabelaFlexLotes .buttonSq img {
        width: 10px;
    }

    .areaDiferencial .subtituloArea3 {
        font-size: 1.1rem;
    }

    .areaDiferencial ul {
        gap: 1rem;
        padding: 1rem;
        padding-top: 0;
        padding-bottom: 4rem;
    }

    .areaDiferencial ul li {
        max-width: 30%;
        width: 30%;
        min-width: 30%;
        padding: 1rem;
        aspect-ratio: 1 / 1.1;
    }

    .areaDiferencial ul li img {
        max-width: 40px;
    }
    .areaDiferencial ul li{
        transform:scale(.9);
    }
}

/* =========================================== 404 =============== */
.pagina404erro {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

.pagina404erro h2 {
    font-size: 10rem;
    font-weight: bold;
    opacity: .1;
    position: absolute;
}

.pagina404erro article {
}

/* =========================================== Footer =============== */
.footer {
    display: flex;
    align-items: center;
    padding: 2rem;
    gap: 3rem;
    color: var(--basecolor-medium-gray);
    font-size: 12px;
    position: relative;
}

.copyright span {
    text-transform: uppercase;
}

.footer .links {
    display: flex;
    gap: 1rem;
}

.footer .links a {
    color: var(--basecolor-brown);
}

.grecaptcha-badge {
    display: none !important;
}

.cf-recaptcha-v3-text-badge {
    color: rgba(0, 0, 0, 0.4);
    font-size: 11px;
}

.cf-recaptcha-v3-text-badge a {
    color: rgba(0, 0, 0, 0.6);
}

@media(max-width: 767px) {
    .footer, .footer .links {
        flex-direction:column;
        text-align: center;
    }

    .footer {
        gap: 1rem;
    }

    .footer .links {
        gap: .5rem;
    }

    .hidden-xs {
        display: none !important;
    }
}
/*Ajustes*/

iframe.mapframe {
    width: 100%;
    min-height: 80vh;
}
@media(max-width: 767px) {
    .lotesImage .buttonSq{
        display: none;
    }
    .tabelaFlexLotes .celula:first-child{
        max-width:50px;
    }
    .galeriaVilaEstorilHome,
    .lotesImage{
        margin:0 -2rem;
    }
    .areaGaleria{
        padding:0;
        margin-left:-1rem;
    }
    .scrollLeft{
        left:1rem;
    }
}

@media (max-width: 690px) {
    .sidescrollinfo {
        display: flex !important;
        justify-content: space-between;
        padding: 20px 20px 0px 20px !important;
        color: white;
        width: 70%;
        margin-top: -2.5rem;
    }
}

@media (min-width: 691px) {
    .sidescrollinfo { display:none;}
}