/*
  STYLE v 1.1;
  05/2023;
  João Diogo Pereira;
*/

:root{
  --green: #45513A;
  --green-to-lightbrown: light-dark(#45513A, #AF8145);
  --green-to-gray: light-dark(#45513A, #E9E2DA);
  --black: #242828;
  --black-to-white: light-dark(#242828, #ffffff);
  --brown: #5F4C3C;
  --lightbrown: #AF8145;
  --gray: #E9E2DA;
  --gray-to-black: light-dark(#E9E2DA, #242828);
  --darkgray: #F5F5F5;
  --red: #E02926;
  --white: #ffffff;
  --white-to-black: light-dark(#ffffff, #242828);
  --headerSize: 85px;
  --servico-shadow: light-dark(#1F28300D, #E9E2DA0D);
  --servico-darkshadow: light-dark(#1F283015, #E9E2DA15);
  --cardo: 'Cardo';
  --gothic: 'Gothic';
  --ivy: 'IvyPresto';
  --roboto: 'Roboto';
  --fontSize: 0px;
}

/*FONTS*/

@font-face {
  font-family: 'Cardo';
  src: url(../fonts/Cardo.ttf);
}

@font-face {
  font-family: 'Gothic';
  src: url(../fonts/HWYGEXPD.ttf);
}

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

@font-face {
  font-family: 'Roboto';
  src: url(../fonts/Roboto.ttf);
}

/*GERAL*/

html {
  overflow-x: hidden; 
}

.main-container {
  margin: 0 auto;
  width: 90%; 
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0; 
}

a {
  text-decoration: none; 
}

.row {
  margin: 0;
  padding: 0; 
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh; 
}

html.modal-open, body.modal-open{
  overflow: hidden;
}

main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; 
  background-color: var(--white-to-black);
  transition: background-color .3s ease-in-out;
}

body:not(.home):not(.page-template-page-imoveis) main{
  margin-top: var(--headerSize);
}

.preloader{
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999999;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: color-mix(in srgb, var(--black) 90%, transparent);
}

img{
  max-width: 100%;
  display: inline-block;
}

.bg-green{
  background-color: var(--green);
}

.bg-escuro{
  background-color: var(--black);
}

.bg-brown{
  background-color: var(--brown);
}

.bradius{
  border-radius: 21px;
}

.page__logo{
  filter: brightness(1) invert(0);
  transition: all .3s ease-in-out;
}

.contrast__on .page__logo{
  filter: brightness(0) invert(1);
}

.btns{
  border-radius: 58px;
  padding: 1rem;
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(16px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.btns--small{
  font-size: calc(14px + var(--fontSize));
  font-weight: 400;
  padding: .5rem;
  width: fit-content;
}

.btns--lightbrown{
  border: solid 2px var(--lightbrown);
  background-color: var(--lightbrown);
  color: var(--white);
}

.btns--lightbrown:hover{
  border: solid 2px var(--lightbrown);
  background-color: transparent;
  color: var(--lightbrown);
}

.btns--lightbrown svg{
  fill: var(--white);
  transition: all .3s ease-in-out;
}

.btns--lightbrown:hover svg{
  fill: var(--lightbrown);
}

.btns--gray{
  color: var(--gray);
  border: solid 1px var(--gray);
  background-color: transparent;
}

.btns--gray svg path{
  stroke: var(--gray);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.btns--gray:hover, .btns--gray.selected{
  background-color: var(--gray);
  color: var(--black);
  border: solid 1px var(--gray);
}

.btns--gray:hover svg path{
  stroke: var(--black);
}

.btns--gray-fill{
  color: var(--black);
  border: solid 1px var(--gray);
  background-color: var(--gray);
}

.btns--gray-fill svg path{
  fill: var(--black);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.btns--gray-fill:hover{
  background-color: transparent;
  color: var(--gray);
  border: solid 1px var(--gray);
}

.btns--gray-fill:hover svg path{
  fill: var(--gray);
}

.btns--carrinho, .btns--more{
  display: block;
  width: fit-content;
  font-weight: 500;
}

.btns--carrinho.loading{
  opacity: .25;
  filter: grayscale(1);
  pointer-events: none;
  position: relative;
}

.btns--carrinho.loading::after {
    content: '';
    position: absolute;
    inset: 0;
    margin: auto;
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: btn-spin 0.6s linear infinite;
}

@keyframes btn-spin {
    to { transform: rotate(360deg); }
}

.btns--dark{
  color: var(--black-to-white)!important;
  border: solid 1px var(--black-to-white);
  background-color: transparent;
}

.btns--dark svg path{
  stroke: var(--black-to-white);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.btns--dark:hover{
  background-color: var(--black-to-white);
  color: var(--gray-to-black)!important;
  border: solid 1px var(--black-to-white);
}

.btns--dark:hover svg path{
  stroke: var(--gray-to-black);
}

.btns--dark-fill{
  color: var(--gray);
  border: solid 1px var(--black);
  background-color: var(--black);
}

.btns--dark-fill svg path{
  stroke: var(--gray);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.btns--dark-fill:hover{
  background-color: transparent;
  color: var(--gray);
  border: solid 1px var(--gray);
}

.btns--dark-fill:hover svg path{
  stroke: var(--gray);
}

.btns--brown{
  color: var(--white);
  border: solid 1px var(--brown);
  background-color: var(--brown);
}

.btns--brown svg path{
  stroke: var(--white);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.btns--brown:hover{
  background-color: transparent;
  color: var(--brown);
  border: solid 1px var(--brown);
}

.btns--brown:hover svg path{
  stroke: var(--brown);
}

.btns--green{
  color: var(--white);
  border: solid 1px var(--green);
  background-color: var(--green);
}

.btns--green svg path{
  stroke: var(--white);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.btns--green:hover{
  background-color: transparent;
  color: var(--gray);
  border: solid 1px var(--gray);
}

.btns--green:hover svg path{
  stroke: var(--gray);
}

.btns--green-serv{
  color: var(--white);
  border: solid 1px var(--green-to-lightbrown);
  background-color: var(--green-to-lightbrown);
}

.btns--green-serv svg path{
  fill: var(--white);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.btns--green-serv:hover{
  background-color: transparent;
  color: var(--green-to-lightbrown);
  border: solid 1px var(--green-to-lightbrown);
}

.btns--green-serv:hover svg path{
  fill: var(--green-to-lightbrown);
}

.btns--green-outline{
  color: var(--green-to-lightbrown);
  border: solid 1px var(--green-to-lightbrown);
  background-color: transparent;
}

.btns--green-outline svg path{
  fill: var(--green-to-lightbrown);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.btns--green-outline.selected{
  background-color: var(--green-to-lightbrown);
  color: var(--white);
  border: solid 1px var(--green-to-lightbrown);
  pointer-events: none;
}

.btns--green-outline:hover{
  background-color: var(--green-to-lightbrown);
  color: var(--white);
  border: solid 1px var(--green-to-lightbrown);
}

.btns--green-outline:hover svg path, .btns--green-outline.selected svg path{
  fill: var(--white);
}

.w-fit{
  width: fit-content;
}

.page__title{
  font-family: var(--cardo);
  font-weight: 500;
  font-size: calc(60px + var(--fontSize));
  line-height: 110%;
  letter-spacing: 0;
  color: var(--black);
}

.bg-escuro .page__title, .bg-green .page__title, .bg-brown .page__title{
  color: var(--gray);
}

.page__subtitle{
  font-family: var(--cardo);
  font-weight: 500;
  font-size: calc(18px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  color: var(--black);
}

.bg-escuro .page__subtitle, .bg-green .page__subtitle, .bg-brown .page__subtitle{
  color: var(--gray);
}

.bg-img{
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.page__content *{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(16px + var(--fontSize));
  line-height: 24px;
  letter-spacing: 0;
  text-align: justify;
  color: var(--black-to-white);
}

.page__content--styled *{
  font-family: var(--cardo);
  font-size: calc(24px + var(--fontSize));
}

.bg-escuro .page__content *:not(.alert):not(.alert *):not(.cart-container):not(.cart-container *), 
.bg-green .page__content *:not(.alert):not(.alert *):not(.cart-container):not(.cart-container *), 
.bg-brown .page__content *:not(.alert):not(.alert *):not(.cart-container):not(.cart-container *){
  color: var(--gray);
}

.bg-escuro .page__content *:not(.alert):not(.alert *):not(.cart-container):not(.cart-container *):hover, 
.bg-green .page__content *:not(.alert):not(.alert *):not(.cart-container):not(.cart-container *):hover,  
.bg-brown .page__content *:not(.alert):not(.alert *):not(.cart-container):not(.cart-container *):hover {
  color: var(--gray);
  text-decoration-color: var(--gray);
}

.page__content--styled strong, .bg-escuro .page__content--styled strong{
  color: var(--lightbrown)!important;
}

.page__content h2, .produto-cat__title{
  font-family: var(--cardo);
  font-weight: 500;
  font-size: calc(40px + var(--fontSize));
  line-height: 60px;
  letter-spacing: 0;
  text-align: center;
  vertical-align: bottom;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  color: var(--green-to-lightbrown);
}

.page__content h2::after, .produto-cat__title::after{
  content: '';
  width: 50%;
  height: 2px;
  background-color: var(--green-to-lightbrown);
  margin: 0 auto;
  display: block;
}

.page__content h2.title--start{
  text-align: left;
}

.page__content h2.title--start::after{
  width: 25%;
  margin: 0;
}

.bg-escuro h2::after, .bg-green h2::after, .bg-brown h2::after{
  background-color: var(--white);
}

.page__content h3{
  font-family: var(--cardo);
  font-weight: 300;
  font-size: calc(28px + var(--fontSize));
  line-height: 37px;
  letter-spacing: 0;
  text-align: center;
  color: var(--lightbrown);
}

.page__content a:not(.btns):not(.proceed-to-checkout){
  color: var(--black-to-white);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: all .3s ease-in-out;
}

.page__content a:not(.btns):not(.proceed-to-checkout):hover{
  text-decoration-color: var(--black-to-white);
  color: var(--black-to-white);
}

.page__content a:not(.btns):not(.proceed-to-checkout)::after{
  content: " \1F517";
}

.page__content ul, .servico__content ul{
  list-style-type: none;
  padding: 0;
}

.page__content ul li, .servico__content ul li {
  padding-left: 1.5rem;
  background-image: url('../images/bullet.svg');
  background-repeat: no-repeat;
  background-position: left .25rem;
  background-size: 1rem;
  filter: brightness(1) invert(0);
  transition: filter .3s ease-in-out;
}

.contrast__on .page__content ul li, .contrast__on .servico__content ul li {
  filter: brightness(0) invert(1);
}

.servico__content ul li {
  line-height: 1.5;
}

.page__content--imoveis{
  columns: 3;
}

.page__content ol{
  list-style-type: decimal;
}

.page__content ol li::marker {
  font-weight: 500;
}

.page__content em{
  font-style: italic;
}

.page__content strong{
  font-weight: 500;
}

.page__content--center *{
  text-align: center;
}

.page__content--start *{
  text-align: left;
}

.page__content h5, .page__content h6{
  font-size: calc(12px + var(--fontSize));
}

.page__content *:last-child{
  margin-bottom: 0;
}

.page__circle{
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) translateX(-50%);
  border: solid 1px var(--green-to-gray);
  border-radius: 50%;
  height: calc(100% - 1rem);
  aspect-ratio: 1;
  z-index: 0;
}

.bg-escuro .page__circle, .bg-green .page__circle, .bg-brown .page__circle{
  border: solid 1px var(--gray);
  height: calc(75% - 1rem);
}

.page__line{
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(calc(-50% - 1px));
  height: 0px;
  width: 33.333333333%;
  border-bottom: solid 1px var(--green-to-gray);
}

.bg-escuro .page__line, .bg-green .page__line, .bg-brown .page__line{
  border-bottom: solid 1px var(--gray);
}

.page__img{
  width: 100%;
  aspect-ratio: 4;
}

.page__img--bg{
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: grayscale(1);
}

.page__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1);
}

.page__slogan{
  font-family: var(--cardo);
  font-weight: 500;
  font-size: calc(50px + var(--fontSize));
  line-height: 125%;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  color: var(--white);
}

.servico{
  box-shadow: 0px 4px 14px 2px var(--servico-shadow);
  border-radius: 10px;
  overflow: hidden;
  height: 100%;
  display: block;
  text-decoration: none;
  transform: translateY(0);
  transition: all .3s ease-in-out;
}

.servico--darkshadow{
  box-shadow: 0px 4px 14px 2px var(--servico-darkshadow);
}

.servico:hover{
  transform: translateY(-4px);
  box-shadow: 0px 3px 5px 2px var(--servico-shadow);
}

.servico__img{
  aspect-ratio: 4/3;
  width: 100%;
}

.servico__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.servico__title{
  font-family: var(--cardo);
  font-weight: 400;
  font-size: calc(18px + var(--fontSize));
  line-height: 125%;
  letter-spacing: 0;
  color: var(--black-to-white);
  padding: 0 1rem;
  transition: color .3s ease-in-out;
}

.servico__title--big{
  font-size: calc(24px + var(--fontSize));
}

.servico__subtitle{
  font-family: var(--cardo);
  font-weight: 400;
  font-size: calc(14px + var(--fontSize));
  line-height: 125%;
  letter-spacing: 0;
  color: var(--black-to-white);
  padding: 0 1rem;
  transition: color .3s ease-in-out;
}

.servico__content{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(14px + var(--fontSize));
  line-height: 125%;
  letter-spacing: 0;
  text-align: left;
  color: var(--black-to-white);
  padding: 0 1rem 1rem 1rem;
  transition: color .3s ease-in-out;
}

.servico__content > *:last-child{
  margin-bottom: 0;
}

.servico__preco, .servico__preco *{
  font-family: var(--roboto);
  font-weight: 600;
  font-size: calc(16px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  color: var(--green-to-gray);
  transition: color .3s ease-in-out;
}

.servico__preco--big, .servico__preco--big *{
  font-size: calc(18px + var(--fontSize));
}

.servico__preco--small, .servico__preco--small *{
  font-size: calc(12px + var(--fontSize));
}

.servico__preco--single{
  font-size: 32px;
  color: var(--gray);
}

.servico__preco--single--small{
  font-size: calc(25px + var(--fontSize));
}

.servico__comprar{
  padding: 0 1rem 1rem 1rem;
}

.imovel{
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 16px;
  aspect-ratio: 1;
  width: 100%;
  position: relative;
  text-decoration: none;
  transform: translateY(0);
  box-shadow: 0 3px 5px rgba(0, 0, 0, .25);
  overflow: hidden;
  transition: all .3s ease-in-out;
}

.imovel:hover{
  transform: translateY(-4px);
  box-shadow: 0 5px 8px rgba(0, 0, 0, .4);
}

.imovel__modalidade{
  position: absolute;
  top: 1rem;
  left: 1rem;
  border-radius: 33px;
  background-color: var(--brown);
  padding: .5rem 1rem;
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(12px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  text-transform: uppercase;
  color: var(--white);
  z-index: 2;
}

.imovel__baixa{
  position: absolute;
  top: 3rem;
  left: 1rem;
  border-radius: 33px;
  background-color: var(--green);
  padding: .5rem 1rem;
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(12px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  text-transform: uppercase;
  color: var(--white);
  z-index: 2; 
}

.servico__promo{
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  border-radius: 33px;
  background-color: var(--brown);
  padding: .5rem 1rem;
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(12px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  text-transform: uppercase;
  color: var(--white);
  z-index: 2;
}

.imovel__modalidade--big{
  top: 3rem;
  left: 6rem;
  font-size: calc(16px + var(--fontSize));
}

.imovel__baixa--big{
  top: 6rem;
  left: 6rem;
  font-size: calc(16px + var(--fontSize));
}

.imovel__title{
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(18px + var(--fontSize));
  line-height: 120%;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--white);
}

.imovel__morada{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(16px + var(--fontSize));
  line-height: 120%;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--white);
}

.imovel__preco{
  font-family: var(--roboto);
  font-weight: 600;
  font-size: calc(21px + var(--fontSize));
  line-height: 120%;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--white);
}

.imovel__preco--small{
  text-align: right;
  font-size: calc(18px + var(--fontSize));
}

.imovel__badge{
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(150%) translateX(32.5%) rotate(45deg);
  background-color: var(--lightbrown);
  padding: .5rem 1rem;
  font-family: var(--roboto);
  font-weight: 700;
  font-size: calc(16px + var(--fontSize));
  line-height: 120%;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--white);
  text-align: center;
  width: 100%;
  z-index:3;
}

.imovel__badge--single{
  transform: translateY(200%) translateX(40%) rotate(45deg);
  font-size: calc(24px + var(--fontSize));
}

.overflow-hidden{
  overflow: hidden;
}

.bs-white{
  border-left: solid 1px var(--white);
}

.be-white{
  border-right: solid 1px var(--white);
}

.bx-white{
  border-left: solid 1px var(--white);
  border-right: solid 1px var(--white);
}

.imovel__info{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(16px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--white);
}

.imovel__info svg{
  width: 20px;
  height: auto;
}

.single__img{
  aspect-ratio: 16/9;
  width: 100%;
  overflow: hidden;
  border-top-left-radius: 2000px;
  border-bottom-left-radius: 2000px;
}

.single__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.testemunho{
  background-color: rgba(255, 255, 255, .1);
  border-radius: 20px;
  width: 100%;
  aspect-ratio: 16/6;
  position: relative;
  transform: scale(.9);
  transition: all .3s ease-in-out;
}

.owl-item.active.center .testemunho{
  transform: scale(1);
}

.testemunho::before{
  content: '“';
  position: absolute;
  top: 1rem;
  left: 3rem;
  background-blend-mode: multiply;
  font-family: var(--cardo);
  font-weight: 300;
  color: var(--green);
  font-size: 300px;
  z-index: 0;
  line-height: 1;
  max-height: calc(100% - 4rem);
  pointer-events: none;
}

.testemunho::after{
  content: '”';
  position: absolute;
  bottom: 1rem;
  right: 3rem;
  background-blend-mode: multiply;
  font-family: var(--cardo);
  font-weight: 300;
  color: var(--green);
  font-size: 300px;
  z-index: 0;
  line-height: 0;
  max-height: calc(100% - 4rem);
  pointer-events: none;
}

.testemunho__title{
  font-family: var(--cardo);
  font-weight: 600;
  font-size: calc(40px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  color: var(--lightbrown);
  position: relative;
  z-index: 1;
}

.testemunho__content{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(16px + var(--fontSize));
  line-height: 150%;
  letter-spacing: 0;
  color: var(--white);
  position: relative;
  z-index: 1;
}

.testemunhos .owl-dots {
  margin-top: 1rem;
}

.testemunhos .owl-dots .owl-dot span{
  background-color: var(--white)!important;
  opacity: 1!important;
  transition: all .3s ease-in-out!important;
}

.testemunhos .owl-dots .owl-dot:hover span, .testemunhos .owl-dots .owl-dot.active span{
  background-color: var(--lightbrown)!important;
}

.testemunhos .owl-nav {
  margin-top: 0!important;
}

.testemunhos .owl-nav button{
  position: absolute;
  top: 100%;
  transform: translateY(-140%) translateX(0);
  transition: all .3s ease-in-out;
}

.testemunhos .owl-nav button:hover{
  background-color: transparent!important;
}

.testemunhos .owl-nav .owl-prev{
  left: 3rem;
}

.testemunhos .owl-nav .owl-prev:hover{
  transform: translateY(-140%) translateX(-4px)!important;
}

.testemunhos .owl-nav .owl-next{
  right: 3rem;
}

.testemunhos .owl-nav .owl-next:hover{
  transform: translateY(-140%) translateX(4px)!important;
}

.home .testemunho{
  aspect-ratio: 2;
  transform: scale(1);
}

.home .testemunho::before{
  top: 0rem;
  left: 1rem;
  font-size: 200px;
}

.home .testemunho::after{
  bottom: 0rem;
  right: 1rem;
  font-size: 200px;
}

#mapid{
  width: 100%;
  aspect-ratio: 16/13;
  border-radius: 20px;
  z-index: 0;
}

.map__location{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(18px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  color: var(--white);
  background-color: var(--brown);
  border-radius: 20px;
  padding: .5rem 3rem;
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
}

.inputs{
  width: 100%;
  border-radius: 16px;
  background-color: rgba(255, 255, 255, .1);
  padding: 1rem;
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(16px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  color: var(--white);
  border: none;
  transition: all .3s ease-in-out;
}

.inputs::placeholder{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(16px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  color: var(--white);
  transition: all .3s ease-in-out;
}

.inputs:focus{
  background-color: rgba(255, 255, 255, 1);
  color: var(--black);
}

.inputs:focus::placeholder{
  color: var(--black);
}

.labels{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(14px + var(--fontSize));
  line-height: 120%;
  letter-spacing: 0;
  color: var(--white);
}

input[type="checkbox"]{
  accent-color: var(--lightbrown);
}

.labels a{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(14px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: all .3s ease-in-out;
}

.labels a:hover{
  color: var(--white);
  text-decoration-color: var(--white);
}

.contactos__title{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(14px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  color: var(--white);
  white-space: nowrap;
}

.contactos__title--small{
  font-size: calc(12px + var(--fontSize));
}

.contactos__info{
  font-family: var(--roboto);
  font-weight: 600;
  font-size: calc(18px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  color: var(--white);
  white-space: nowrap;
}

.pagination{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
}

.pagination .page-numbers:not(.next):not(.prev){
  background-color: transparent;
  border: solid 1px var(--lightbrown);
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(14px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  color: var(--lightbrown);
  padding: .5rem;
  margin: 0 .25rem;
  border-radius: 50%;
  text-decoration: none;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .3s ease-in-out;
}

.pagination .page-numbers:not(.next):not(.prev):hover{
  background-color: var(--lightbrown);
  border: solid 1px var(--lightbrown);
  color: var(--white);
}

.pagination .page-numbers.current:not(.next):not(.prev){
  background-color: var(--lightbrown);
  border: solid 1px var(--lightbrown);
  color: var(--white);
  pointer-events: none;
}

.pagination .page-numbers.next, .pagination .page-numbers.prev{
  background-color: transparent;
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(14px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  color: var(--lightbrown);
  padding: .5rem;
  margin: 0;
  border-radius: 50%;
  text-decoration: none;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateX(0);
  transition: all .3s ease-in-out; 
}

.pagination .page-numbers.next svg, .pagination .page-numbers.prev svg{
  transform: translateX(0);
  transition: all .3s ease-in-out;
}

.pagination .page-numbers.prev:hover svg{
  transform: translateX(-4px);
}

.pagination .page-numbers.next:hover svg{
  transform: translateX(4px);
}

.pagination .page-numbers.next svg path, .pagination .page-numbers.prev svg path{
  fill: var(--lightbrown);
  transition: all .3s ease-in-out;
}

.pagination .page-numbers.next:hover svg path, .pagination .page-numbers.prev:hover svg path{
  fill: var(--green);
}

.consultor{
  position: sticky;
  top: calc(var(--headerSize) + 1rem);
}

.consultor__img{
  width: calc(100% / 3);
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  margin-left: 1rem;
  z-index: 1;
  position: relative;
}

.consultor__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.consultor__content{
  background-color: var(--darkgray);
  box-shadow: 0px 8px 18px 5px #00000020;
  border-radius: 1rem;
  padding: 1.5rem;
  padding-top: calc(100% / 6 + 1.5rem);
  transform: translateY(calc(100% / -6 - 1.5rem));
}

.consultor__name{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(24px + var(--fontSize));
  line-height: 100%;
  letter-spacing: -0.7px;
  color: var(--black);
}

.consultor__info *{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(12px + var(--fontSize));
  line-height: 21px;
  letter-spacing: 0%;
  color: var(--green);
}

.consultor__info a{
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: all .3s ease-in-out;
}

.consultor__info a:hover{
  text-decoration-color: var(--green);
}

.consultor__info strong{
  font-weight: 600;
  font-size: calc(16px + var(--fontSize));
}

.consultor__info *:last-child{
  margin-bottom: 0;
}

.page__content--title{
  font-family: var(--roboto);
  font-weight: 700;
  font-size: calc(18px + var(--fontSize));
  line-height: 100%;
  letter-spacing: -0.64px;
  color: var(--black-to-white);
  border-bottom: solid 1px var(--black-to-white);
  transition: all .3s ease-in-out;
}

.imovel__ref{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(16px + var(--fontSize));
  line-height: 150%;
  letter-spacing: 0;
  color: var(--black-to-white);
  opacity: .5;
  transition: color .3s ease-in-out;
}

.imovel__preco--single{
  font-family: var(--roboto);
  font-weight: 800;
  font-size: calc(50px + var(--fontSize));
  line-height: 100%;
  letter-spacing: -2px;
  color: var(--green-to-gray);
  transition: color .3s ease-in-out;
}

.imovel__preco--single--small{
  font-size: calc(30px + var(--fontSize));
}

.imovel__title--single{
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(50px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  color: var(--black-to-white);
  transition: color .3s ease-in-out;
}

.imovel__info--single{
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(24px + var(--fontSize));
  line-height: 140%;
  letter-spacing: 0px;
  color: var(--black-to-white);
  transition: color .3s ease-in-out;
}

.imovel__info--single svg path{
  fill: var(--black-to-white);
  transition: all .3s ease-in-out;
}

.imovel__galeria{
  border-top-left-radius: 74px;
  border-bottom-left-radius: 74px;
  overflow: hidden;
}

.imovel__galeria__item{
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
} 

.imovel__galeria__thumb{
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  opacity: .5;
  cursor: pointer;
  transition: all .3s ease-in-out;
}

.imovel__galeria__thumb.selected, .imovel__galeria__thumb:hover{
  opacity: 1;
}

.imovel__galeria__item img, .imovel__galeria__thumb img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.imovel__galeria .owl-nav{
  margin-top: 0!important;
}

.imovel__galeria.owl-carousel .owl-nav button{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--lightbrown);
  backdrop-filter: blur(15px);
  box-shadow: 0px 4px 4px 0px #00000040;
  border-radius: 40px;
  padding: .25rem 1rem!important;
  transition: all .3s ease-in-out;
  line-height: 1;
}

.imovel__galeria .owl-nav button.owl-prev{
  left: 1rem;
}

.imovel__galeria .owl-nav button.owl-next{
  right: 1rem;
}

.imovel__galeria.owl-carousel .owl-nav button:not(.disabled):hover{
  background-color: var(--green);
}

.imovel__galeria.owl-carousel .owl-nav button.disabled:hover{
  background-color: var(--lightbrown);
}


.imovel__galeria.owl-carousel .owl-nav button svg path{
  fill: var(--white);
}

.imovel__thumbnails {
  overflow: auto;
  scrollbar-width: thin;
  cursor: grab;
}

.imovel__thumbnails::-webkit-scrollbar {
  height: 4px;
  width: 4px;
}

.imovel__thumbnails::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.imovel__thumbnails::-webkit-scrollbar-thumb {
  background: var(--green);
  border-radius: 4px;
}

.destaque{
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  aspect-ratio: 3/4;
  border-radius: 16px;
  overflow: hidden;
  transform: translateY(0);
  display: block;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.destaque:hover{
  transform: translateY(-4px);
}

.destaque__title{
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(18px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--black);
}

.destaque__count{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(14px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--black);
}

.trabalhar__title{
  font-family: var(--cardo);
  font-weight: 500;
  font-size: calc(18px + var(--fontSize));
  line-height: 120%;
  letter-spacing: 0px;
  text-align: center;
  vertical-align: middle;
  color: var(--white);
}

.home__img{
  width: 100%;
  aspect-ratio: 3/4;
}

.home__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.metricas__number{
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(18px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--white);
}

.metricas__text{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(14px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--white);
}

.home .testemunhos .owl-nav{
  margin-top: 1rem!important;
  text-align: left;
}

.home .testemunhos .owl-nav button.owl-next, .home .testemunhos .owl-nav button.owl-prev{
  position: relative;
  left: 0;
  right: 0;
  color: var(--white);
  border: solid 1px var(--white);
  background-color: transparent;
  transform: none!important;
  font-size: calc(14px + var(--fontSize));
  font-weight: 400;
  padding: .5rem 1rem!important;
  width: fit-content;
  border-radius: 58px;
  font-family: var(--roboto);
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.home .testemunhos .owl-nav button svg path{
  stroke: var(--white);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.home .testemunhos .owl-nav button:hover{
  background-color: var(--white)!important;
  color: var(--black);
  border: solid 1px var(--white)!important;
}

.home .testemunhos .owl-nav button:hover svg path{
  stroke: var(--black);
}





.destaques-imoveis, .destaques-imoveis .owl-stage, .destaques-imoveis .owl-item{
  height: 100%;
}

.destaques-imoveis .owl-stage-outer{
  padding-top: 3rem;
  padding-bottom: 3rem;
  height: 100%;
}

.destaques-imoveis .owl-nav button.owl-next, .destaques-imoveis .owl-nav button.owl-prev{
  position: absolute;
  top: 50%;
  color: var(--black);
  border: solid 1px var(--black);
  background-color: transparent;
  font-size: calc(14px + var(--fontSize));
  font-weight: 400;
  padding: .5rem 1rem!important;
  width: fit-content;
  border-radius: 58px;
  font-family: var(--roboto);
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  margin: 0;
  transition: all .3s ease-in-out;
}

.destaques-imoveis .owl-nav button.owl-next{
  right: -1rem;
  transform: translateY(-50%) translateX(100%);
}

.destaques-imoveis .owl-nav button.owl-prev{
  left: -1rem;
  transform: translateY(-50%) translateX(-100%);
}

.destaques-imoveis .owl-nav{
  margin-top: 0!important;
}

.destaques-imoveis .owl-nav button svg path{
  stroke: var(--black);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.destaques-imoveis .owl-nav button:hover{
  background-color: var(--black)!important;
  color: var(--gray);
  border: solid 1px var(--black)!important;
}

.destaques-imoveis .owl-nav button:hover svg path{
  stroke: var(--gray);
}







.servicos, .servicos .owl-stage, .servicos .owl-item{
  height: 100%;
}

.servicos .owl-stage-outer{
  padding-top: 3rem;
  padding-bottom: 3rem;
  height: 100%;
}

.servicos .owl-nav button.owl-next, .servicos .owl-nav button.owl-prev{
  position: absolute;
  top: 50%;
  color: var(--black);
  border: solid 1px var(--black);
  background-color: transparent;
  font-size: calc(14px + var(--fontSize));
  font-weight: 400;
  padding: .5rem 1rem!important;
  width: fit-content;
  border-radius: 58px;
  font-family: var(--roboto);
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  margin: 0;
  transition: all .3s ease-in-out;
}

.servicos .owl-nav button.owl-next{
  right: -1rem;
  transform: translateY(-50%) translateX(100%);
}

.servicos .owl-nav button.owl-prev{
  left: -1rem;
  transform: translateY(-50%) translateX(-100%);
}

.servicos .owl-nav{
  margin-top: 0!important;
}

.servicos .owl-nav button svg path{
  stroke: var(--black);
  stroke-opacity: 1;
  transition: all .3s ease-in-out;
}

.servicos .owl-nav button:hover{
  background-color: var(--black)!important;
  color: var(--gray);
  border: solid 1px var(--black)!important;
}

.servicos .owl-nav button:hover svg path{
  stroke: var(--gray);
}

.copyright-area p{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(14px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  color: var(--white);
}

.copyright-area a{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(14px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: all .3s ease-in-out;
}

.copyright-area a:hover{
  color: var(--white);
  text-decoration-color: var(--white);
}

footer{
  background-color: var(--white-to-black);
  transition: background-color .3s ease-in-out;
}

.footer__logo{
  max-width: 125px; 
  height: auto;
  filter: brightness(1) invert(0);
  transition: all .3s ease-in-out;
}

.prr{
  filter: brightness(1) invert(0);
  transition: all .3s ease-in-out;
}

.footer__socials svg path{
  fill: var(--black-to-white);
  transition: all .3s ease-in-out;
}

.footer__socials:hover svg path{
  fill: var(--lightbrown);
}

.contrast__on .footer__logo, .contrast__on .prr{
  filter: brightness(0) invert(1);
}

.footer__title{
  font-family: var(--cardo);
  font-weight: 600;
  font-size: calc(18px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0.13px;
  color: var(--black-to-white);
  transition: color .3s ease-in-out;
}

.footer__title svg path{
  fill: var(--black-to-white);
  transition: all .3s ease-in-out;
}

.footer-menu{
  padding: 0;
  margin: 0;
}

.footer-menu a{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(14px + var(--fontSize));
  line-height: 200%;
  letter-spacing: 0.27px;
  color: var(--black-to-white);
  text-decoration: underline;
  text-decoration-color: transparent;
  white-space: nowrap;
  transition: all .3s ease-in-out;
}

.footer-menu a:hover{
  color: var(--black-to-white);
  text-decoration-color: var(--black-to-white);
}

.bs-black{
  border-left: solid 1px var(--black-to-white);
  height: fit-content;
  padding-bottom: 1rem;
  transition: border-left .3s ease-in-out;
}

.footer__text{
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(14px + var(--fontSize));
  line-height: 150%;
  letter-spacing: 0.13px;
  color: var(--black-to-white);
  transition: color .3s ease-in-out;
}

.footer__text--small{
  font-size: calc(10px + var(--fontSize));
}

.footer-info li:not(:first-child){
  padding-left: .25rem;
}

.footer-info li:not(:first-child)::before{
  content: "/ ";
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(14px + var(--fontSize));
  line-height: 200%;
  letter-spacing: 0.27px;
  color: var(--black-to-white);
  transition: color .3s ease-in-out;
}

.map-view, .list-view{
  transform: scaleY(0);
  opacity: 0;
  transform-origin: top center;
  height: 0;
  transition: all .5s ease-in-out;
}

.map-view.open, .list-view.open{
  transform: scaleY(1);
  opacity: 1;
  height: auto;
}

.banner__filters{
  border-radius: 24px;
  background-color: var(--black);
  width: 100%;
  transform: translateY(50%);
  z-index: 1;
  box-shadow: 0px 3px 5px -5px var(--white);
}

.home .banner__filters{
  transform: translateY(-50%);
}

.filter-modalidade{
  position: absolute;
  bottom: 100%;
  left: 3rem;
  transform: translateX(0);
}

.filter-btn input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.filter-btn span {
  cursor: pointer;
  padding: .5rem 1rem;
  border: 1px solid var(--black);
  display: block;
  background-color: var(--black);
  color: var(--white);
  transition: all .3s ease-in-out;
}

.filter-btn:first-of-type span {
  border-top-left-radius: 24px;
}

.filter-btn:last-of-type span {
  border-top-right-radius: 24px;
}

.filter-btn input[type="radio"]:checked + span, .filter-btn span:hover {
  background-color: var(--white);
  color: var(--black);
  border: solid 1px var(--black);
}

.banner__filters__btn{
  border-radius: 12px;
  padding: 1rem;
  background-color: var(--white);
  border: solid 1px var(--white);
  color: var(--black);
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(14px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  transition: all .3s ease-in-out;
}

.banner__filters__btn:hover{
  background-color: var(--transparent);
  border: solid 1px var(--white);
  color: var(--white);
}

.benner__filters__labels{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(12px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--gray);
  display: block;
}

.banner__filters__text{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(14px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: left;
  color: var(--white);
  border: 0;
  border-bottom: solid 1px var(--gray);
  background-color: transparent;
  width: 100%;
  padding: .5rem;
}

.bl-white{
  border-left: solid 1px var(--gray);
}

.banner__filters__select{
  font-family: var(--roboto);
  font-weight: 300;
  font-size: calc(14px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: left;
  color: var(--gray);
  border: 0;
  border-bottom: solid 1px var(--gray);
  background-color: transparent;
  width: 100%;
  padding: .5rem;
}

.banner__filters__select--small{
  max-width: fit-content!important;
  max-width: 100%;
}

.banner__filters__select option {
  color: var(--gray);
  background-color: var(--black);
}

.inputs.pointer{
  cursor: pointer;
}

input[type="file"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.file-input-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .5rem 1rem;
  border: 1px solid var(--gray);
  cursor: pointer;
  transition: all .3s ease-in-out;
}

.file-input-label:hover {
  border-color: var(--black);
}

.file-input-label span {
  color: var(--gray);
  font-size: calc(14px + var(--fontSize));
}

.passos hr{
  background-color: var(--lightbrown);
  opacity: 1;
  margin: 0 1rem;
  flex-grow: 1;
}

.passo{
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px var(--lightbrown);
  padding: .5rem;
  background-color: transparent;
  font-family: var(--roboto);
  font-weight: 500;
  font-size: calc(14px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  border-radius: 50%;
  color: var(--lightbrown);
  width: 40px;
  height: 40px;
  transition: all .3s ease-in-out;
}

.passo.current{
  color: var(--white);
  background-color: var(--lightbrown);
}

.input-width{
  width: auto;
}

.trabalhar__icon{
  width: auto;
}

.pages__menu, #search_categoria{
  position: relative;
  z-index: 1;
}

.pages__menu a{
  padding-right: 1rem;
  display: inline-block;
  font-family: var(--gothic);
  font-weight: 400;
  font-size: calc(16px + var(--fontSize));
  line-height: 100%;
  letter-spacing: 0;
  vertical-align: middle;
  color: var(--white);
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.pages__menu a svg{
  fill: var(--white);
  transition: all .3s ease-in-out;
}

.pages__menu a:hover svg{
  fill: var(--lightbrown);
}

.pages__menu a:last-child{
  padding-right: 0;
}

.pages__menu a:hover{
  color: var(--lightbrown);
}

.pages__menu a.selected{
  pointer-events: none;
  color: var(--lightbrown);
}

.file-download{
  box-shadow: 0px 4px 14px 2px #1F28300D;
  border-radius: 10px;
  overflow: hidden;
  height: 100%;
  display: block;
  text-decoration: none;
  transform: translateY(0);
  font-family: var(--gothic);
  font-weight: 400;
  font-size: calc(16px + var(--fontSize));
  line-height: 125%;
  letter-spacing: 0;
  color: var(--black-to-white);
  text-align: center;
  transform: translateY(0);
  border: solid 1px var(--black-to-white);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .3s ease-in-out;
}

.file-download svg{
  fill: var(--black-to-white);
  transition: all .3s ease-in-out;
}

.file-download:hover{
  color: var(--lightbrown);
  border: solid 1px var(--lightbrown);
  transform: translateY(-4px);
  box-shadow: 0px 3px 5px 2px #1F28300D;
}

.file-download:hover svg{
  fill: var(--lightbrown);
}

.calendar {
  width: 100%;
  background-color: var(--white-to-black);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--black-to-white) 10%, transparent);
  border-radius: 10px;
  transition: all .3s ease-in-out;
}

.calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
}

.calendar-header button {
  background-color: transparent;
  border: none;
  font-size: calc(1.5em + var(--fontSize));
  cursor: pointer;
  color: var(--green-to-lightbrown);
  transform: translateX(0);
  transition: all .3s ease-in-out;
}

.calendar-header button:hover {
  color: var(--lightbrown);
}

.calendar-header button#prev-month:hover {
  transform: translateX(-4px);
}

.calendar-header button#next-month:hover {
  transform: translateX(4px);
}

#month-year {
  font-size: calc(1.2em + var(--fontSize));
  font-weight: bold;
  font-family: var(--cardo);
  color: var(--green-to-lightbrown);
  transition: all .3s ease-in-out;
}

.calendar-weekdays, .calendar-dates {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.calendar-weekdays div, .calendar-dates div {
  text-align: center;
  padding: 1rem;
}

.calendar-weekdays {
  background-color: var(--black-to-white);
  transition: all .3s ease-in-out;
}

.calendar-weekdays div {
  font-weight: bold;
  font-family: var(--cardo);
  color: var(--white-to-black);
  transition: all .3s ease-in-out;
}

.calendar-dates div {
  border-bottom: 1px solid color-mix(in srgb, var(--black-to-white) 5%, transparent);
  font-family: var(--roboto);
  color: var(--black-to-white);
  transition: all .3s ease-in-out;
}

.calendar-dates div:not(.meeting) {
  pointer-events: none;
}

.calendar-dates div.meeting {
  background-color: var(--lightbrown);
  color: var(--white);
  cursor: pointer;
  border-left: solid 1px color-mix(in srgb, var(--black-to-white) 5%, transparent);
  border-right: solid 1px color-mix(in srgb, var(--black-to-white) 5%, transparent);
  transition: all .3s ease-in-out;
}

.calendar-dates div.meeting:hover {
  background-color: var(--brown);
}

.meeting-popup {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top center;
  transition: all 0.3s ease-in-out;
  z-index: 9999;
}

.meeting-popup.active {
  opacity: 1;
  transform: scaleY(1);
}

.meeting-popup__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .25);
}

.meeting-popup__content {
  position: relative;
  background: var(--white);
  padding: 1rem;
  min-width: 25vw;
  max-width: 95vw;
  border-radius: 10px;
  overflow: auto;
  border: solid 2px var(--lightbrown);
}

.meeting-popup__close {
  position: absolute;
  top: 10px;
  right: 10px;
  border: 0;
  background: none;
  font-size: calc(22px + var(--fontSize));
  cursor: pointer;
  color: var(--black);
  transition: all .3s ease-in-out;
}

.meeting-popup__close:hover {
  color: var(--lightbrown);
}

.meeting-popup__item {
  padding: 1rem 0;
  border-bottom: 1px solid var(--gray);
}

.meeting-popup__item:last-child {
  border-bottom: none;
}

.meeting-popup__item-title {
  font-size: calc(16px + var(--fontSize));
  font-weight: 600;
  font-family: var(--cardo);
  color: var(--green);
}

.meeting-popup__item-time {
  font-size: calc(16px + var(--fontSize));
  margin-top: .25rem;
  font-family: var(--roboto);
  color: var(--black);
}

.cart-container{
  box-shadow: 5.33px 5.33px 25.97px 0px rgba(0, 0, 0, .25);
  border-radius: 24px;
  background-color: var(--white-to-black);
  position: sticky;
  top: calc(var(--headerSize) + 1rem);
  transition: all .3s ease-in-out;
}

.cart-container hr{
  background-color: var(--green);
  height: 1px!important;
  opacity: 1;
  width: 95%;
}

.cart-items__title, .cart-empty, .cart-items__title *, .cart-empty *{
  font-family: var(--roboto);
  font-weight: 400;
  font-size: calc(18px + var(--fontSize));
  line-height: 1;
  letter-spacing: 0;
  color: var(--black-to-white);
  transition: color .3s ease-in-out;
}

.cart-items__title svg{
  width: 18px;
  height: 18px;
  vertical-align: top;
}

.cart-items__title svg path{
  fill: var(--black-to-white);
  transition: all .3s ease-in-out;
}

.cart-items__title svg rect{
  fill: var(--white-to-black);
  transition: all .3s ease-in-out;
}

.cart-items__title--coupons svg path{
  fill: transparent;
  stroke: var(--black);
}

.cart-item{
  border-bottom: solid 1px var(--black-to-white);
  padding: 1rem 0;
  transition: all .3s ease-in-out;
}

.cart-item:last-child{
  border-bottom: 0;
  padding: 1rem 0 0 0;
}

.cart-item__img{
  border-radius: 14px;
  width: 25%;
  aspect-ratio: 1;
  overflow: hidden;
}

.cart-item__img img{
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.cart-item__title{
  font-family: var(--cardo);
  font-weight: 300;
  font-size: calc(20px + var(--fontSize));
  line-height: 1.2;
  letter-spacing: 0;
  text-align: left;
  color: var(--black-to-white);
  transition: all .3s ease-in-out;
}

.cart-item .cart-qty{
  appearance: auto;
  -moz-appearance: number-input;
  border: solid 1px var(--black-to-white);
  border-radius: 10px;
  width: 100%;
  min-width: 100px;
  transition: all .3s ease-in-out;
}

.cart-item .cart-qty::-webkit-outer-spin-button,
.cart-item .cart-qty::-webkit-inner-spin-button {
  -webkit-appearance: inner-spin-button;
  opacity: 1;
}

.cart-item .cart-remove{
  background-color: var(--red);
  border-radius: 14px;
  border: solid 1px var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem 1rem;
  transition: all .3s ease-in-out;
}

.cart-item .cart-remove:hover{
  color: var(--red);
  background-color: transparent;
}

.cart-item .cart-remove span{
  color: var(--white);
  font-family: var(--roboto);
  font-weight: 700;
  font-size: calc(14px + var(--fontSize));
  letter-spacing: 0;
  vertical-align: middle;
}

.cart-item .cart-remove span:hover{
  color: var(--red);
}

.cart-item .cart-remove svg{
  width: 16px;
  height: 16px;
  margin-top: -4px;
  transition: all .3s ease-in-out;
}

.cart-item .cart-remove svg path, .cart-item .cart-remove svg rect{
  fill: var(--white);
  transition: all .3s ease-in-out;
}

.cart-item .cart-remove:hover svg path, .cart-item .cart-remove:hover svg rect{
  fill: var(--red);
}

.proceed-to-checkout{
  border: solid 1px var(--green-to-lightbrown);
  background-color: var(--green-to-lightbrown);
  color: var(--white);
  border-radius: 8px;
  font-family: var(--roboto);
  font-weight: 700;
  font-size: calc(18px + var(--fontSize));
  line-height: normal;
  letter-spacing: 0;
  padding: .5rem 1rem;
  text-align: center;
  width: 100%;
  display: block;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.proceed-to-checkout svg{
  width: 24px;
  height: 24px;
}

.proceed-to-checkout svg path{
  fill: var(--white);
  transition: all .3s ease-in-out;
}

.proceed-to-checkout:hover{
  color: var(--green-to-lightbrown);
  background-color: transparent;
}

.proceed-to-checkout:hover svg path{
  fill: var(--green-to-lightbrown);
}

.visita-modal{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  background-color: rgba(0, 0, 0, .9);
  opacity: 0;
  transform: scale(0);
  transform-origin: center;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999999999999;
  transition: all .3s ease-in-out;
}

.visita-modal video{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.visita-modal.show{
  opacity: 1;
  transform: scale(1);
}

#visita-close{
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.whatsapp-button{
  width: 55px;
  height: 55px;
  position: fixed;
  bottom: 5rem;
  right: 1rem;
  background-color: #25d366;
  border: 0;
  text-decoration: none;
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  z-index: 99;
  transition: all .3s ease-in-out;
}

.whatsapp-button svg{
  fill: var(--white);
}

.whatsapp-button:hover{
  background-color: var(--black);
}

.tab iframe{
  display: block;
  margin: 0 auto;
  max-width: 510px;
  width: 100%;
  background-color: var(--white);
  border-radius: 8px;
}

.tab-buttons{
  position: relative;
  z-index: 1;
}

.submit-form:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.submit-form:disabled {
  color: var(--white);
  background-color: var(--lightbrown);
}

@media only screen and (max-width: 1400px){
  .servicos .owl-nav button.owl-next, .servicos .owl-nav button.owl-prev{
    position: relative;
    top: unset;
    left: unset;
    right: unset;
    transform: unset;
  }

  .servicos .owl-nav button.owl-prev{
    margin-right: .5rem;
  }

  .servicos .owl-nav button.owl-next{
    margin-left: .5rem;
  }

  .servicos .owl-nav{
    transform: translateY(-50%);
  }

  .imovel__info{
    font-size: calc(14px + var(--fontSize));
  }

  .imovel__info svg{
    width: 16px;
    height: auto;
  }

  .imovel__preco{
    font-size: calc(18px + var(--fontSize));
  }

  .imovel__preco--small{
    font-size: calc(16px + var(--fontSize));
  }
}

@media only screen and (max-width: 1200px){
  .single__img{
    border-radius: 21px;
  }

  .consultor__content{
    padding-top: calc(100% / 6 + 3rem);
  }

  .imovel__info{
    font-size: calc(16px + var(--fontSize));
  }

  .imovel__info svg{
    width: 20px;
    height: auto;
  }

  .imovel__preco{
    font-size: calc(21px + var(--fontSize));
  }

  .imovel__preco--small{
    font-size: calc(18px + var(--fontSize));
  }

  .destaques-imoveis .owl-nav button.owl-next{
    right: 1.5rem;
  }

  .destaques-imoveis .owl-nav button.owl-prev{
    left: 1.5rem;
  }
}

@media only screen and (max-width: 992px){
  :root{
    --headerSize: 85px;
  }

  .page__content h2{
    font-size: calc(30px + var(--fontSize));
    line-height: 45px;
  }

  .page__slogan{
    font-size: calc(30px + var(--fontSize));
  }

  .page__content h3{
    font-size: calc(25px + var(--fontSize));
  }

  .page__img{
    aspect-ratio: 3;
  }

  .page__title{
    font-size: calc(30px + var(--fontSize));
  }

  .testemunho{
    aspect-ratio: 16 / 9;
  }

  .page__content--imoveis{
    columns: 2;
  }

  .imovel__info{
    font-size: calc(14px + var(--fontSize));
  }

  .imovel__info svg{
    width: 16px;
    height: auto;
  }

  .imovel__preco{
    font-size: calc(18px + var(--fontSize));
  }

  .imovel__preco--small{
    font-size: calc(16px + var(--fontSize));
  }
}

@media only screen and (max-width: 767px){
  :root{
    --headerSize: 47px;
  }

  .input-width{
    width: 100%;
  }

  .bl-white, .bs-black{
    border-left: 0;
  }
  
  .filter-modalidade{
    left: 50%;
    transform: translateX(-50%);
  }

  .home .banner__filters{
    transform: translateY(-25%);
  }

  .page__content h2.title--start{
    text-align: center;
  }

  .page__content h2.title--start::after{
    width: 25%;
    margin: 0 auto;
  }

  .home .testemunhos .owl-nav{
    text-align: center;
  }

  .trabalhar__title{
    font-size: calc(16px + var(--fontSize));
  }

  .trabalhar__icon{
    width: 35%;
  }

  .home .testemunho{
    aspect-ratio: 1;
  }

  .testemunho__title{
    font-size: calc(30px + var(--fontSize));
  }
  
  .testemunho__content{
    font-size: calc(14px + var(--fontSize));
  }

  .servicos .owl-nav{
    transform: translateY(-80%);
  }

  .page__line{
    width: 20%;
  }

  .page__slogan, .page__content h2{
    font-size: calc(25px + var(--fontSize));
  }

  .page__content h3{
    font-size: calc(22px + var(--fontSize));
  }

  .page__img{
    aspect-ratio: 2;
  }

  .bg-escuro .page__circle, .bg-green .page__circle, .bg-brown .page__circle {
    border: solid 1px var(--lightbrown);
  }

  .testemunho{
    aspect-ratio: 1;
  }

  .banner__filters{
    transform: translateY(15%);
  }

  .consultor__content {
    padding-top: calc(100% / 6 + 1.5rem);
  }

  .imovel__ref{
    font-size: calc(14px + var(--fontSize));
  }

  .imovel__preco--single, .imovel__title--single{
    font-size: calc(30px + var(--fontSize));
  }

  .imovel__preco--single--small{
    font-size: calc(20px + var(--fontSize));
  }

  .imovel__info--single{
    font-size: calc(18px + var(--fontSize));
  }

  .imovel__galeria{
    border-radius: 21px;
  }

  .imovel__modalidade--big{
    top: 1rem;
    left: 2rem;
    font-size: calc(10px + var(--fontSize));
  }

  .imovel__baixa--big{
    top: 3rem;
    left: 2rem;
    font-size: calc(10px + var(--fontSize));
  }

  .imovel__galeria__thumb{
    border-radius: 3px;
    width: 25%;
  }

  .imovel__thumbnails {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    max-height: none !important;
  }

  .imovel__galeria__thumb {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    margin-bottom: 0 !important;
    margin-right: 8px;
  }

  .imovel__galeria__thumb:last-child {
    margin-right: 0;
  }

  .meeting-popup__content{
    min-width: 75vw;
  }

  .calendar-header{
    padding: .5rem;
  }

  .calendar-weekdays div, .calendar-dates div{
    padding: .5rem;
    font-size: calc(14px + var(--fontSize));
  }

  .meeting-popup__item-time, .meeting-popup__item-title{
    font-size: calc(14px + var(--fontSize));
  }

  .destaques-imoveis .owl-nav button.owl-next{
    right: 3rem;
  }

  .destaques-imoveis .owl-nav button.owl-prev{
    left: 3rem;
  }

  .imovel__badge--single{
    transform: translateY(80%) translateX(40%) rotate(45deg);
    font-size: calc(12px + var(--fontSize));
  }
}