/*
Theme Name:     Hello Elementor Child
Description:    Child theme that contains Google Maps integration and can be used to build projects using Bakery.
Author:         Bspacy
Template:       hello-elementor
Version:        1.0
License:        GNU General Public License v2 or later
License URI:    https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    cleantheme
*/

/* -------------------------------------------------------------------------
   1. VARIABLES & GLOBAL RESETS
   ------------------------------------------------------------------------- */
:root {
  --black: #333332;
  --black-light: #686672;
  --white: #eceeee;
  --orange: #e0ab82;
  --green: #778b80;

  --header-height: 150px;
  --padding-inline: 66px;
  --paddingVert: 80px;
  --compensateHeader: calc(var(--header-height) + 40px);
  --adminbar: 30px;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
html {
  background-color: var(--white);
}

body {
  position: relative;
}

body::before {
  content: "";
  background-image: url(/wp-content/uploads/body-fixed-dark_2.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 400px; /* Fallback */
  width: 100vw;
  height: 4106px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: -1;
}

body.has-leaf-bg::before {
  opacity: 1;
  visibility: visible;
  top: var(--leaf-top, 400px);
}

html.disableScroll {
  overflow-y: hidden;
}

img {
  max-width: 100%;
}

/* -------------------------------------------------------------------------
   2. TYPOGRAPHY & LINKS
   ------------------------------------------------------------------------- */
/* Arsenica Trial */
@font-face {
  font-family: "Arsenica Trial";
  src:
    url("assets/fonts/Arsenica Trial/ArsenicaTrial-Regular.woff2")
      format("woff2"),
    url("assets/fonts/Arsenica Trial/ArsenicaTrial-Regular.otf")
      format("opentype"),
    url("assets/fonts/Arsenica Trial/ArsenicaTrial-Regular.ttf")
      format("truetype");
  font-weight: normal;
  font-style: normal;
}

/* TT Chocolates Trl */
@font-face {
  font-family: "TT Chocolates";
  src:
    url("assets/fonts/TT Chocolates Trl/TTChocolates-Light.woff2")
      format("woff2"),
    url("assets/fonts/TT Chocolates Trl/TTChocolates-Light.otf")
      format("opentype"),
    url("assets/fonts/TT Chocolates Trl/TTChocolates-Light.ttf")
      format("truetype");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "TT Chocolates";
  src:
    url("assets/fonts/TT Chocolates Trl/TTChocolates-DemiBold.woff2")
      format("woff2"),
    url("assets/fonts/TT Chocolates Trl/TTChocolates-DemiBold.otf")
      format("opentype"),
    url("assets/fonts/TT Chocolates Trl/TTChocolates-DemiBold.ttf")
      format("truetype");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "TT Chocolates";
  src:
    url("assets/fonts/TT Chocolates Trl/TTChocolates-Medium.woff2")
      format("woff2"),
    url("assets/fonts/TT Chocolates Trl/TTChocolates-Medium.otf")
      format("opentype"),
    url("assets/fonts/TT Chocolates Trl/TTChocolates-Medium.ttf")
      format("truetype");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "TT Chocolates";
  src:
    url("assets/fonts/TT Chocolates Trl/TTChocolates-Regular.woff2")
      format("woff2"),
    url("assets/fonts/TT Chocolates Trl/TTChocolates-Regular.otf")
      format("opentype"),
    url("assets/fonts/TT Chocolates Trl/TTChocolates-Regular.ttf")
      format("truetype");
  font-weight: normal;
  font-style: normal;
}

/* APEX NEW */
@font-face {
  font-family: "Apex New";
  src:
    url("assets/fonts/Apex New/ApexNew-Medium.woff2") format("woff2"),
    url("assets/fonts/Apex New/ApexNew-Medium.otf") format("opentype"),
    url("assets/fonts/Apex New/ApexNew-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}

/* Font smoothing */
h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
input,
a,
span,
li {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

h1 {
  font-family: "Arsenica Trial", sans-serif;
  font-size: 80px;
  color: var(--black);
  line-height: normal;
  font-weight: 400;
}

.legalPage h1,
.legalPage h2,
.legalPage h3,
.legalPage h4,
.legalPage h5 {
  font-family: "TT Chocolates", sans-serif;
  color: var(--black);
}

h2 {
  font-family: "Arsenica Trial", sans-serif;
  color: var(--black-light);
  font-size: 70px;
  font-weight: 400;
  line-height: 97.143%;
}

h3 {
  font-family: "Arsenica Trial", sans-serif;
  color: var(--black-light);
  font-size: 50px;
  font-weight: 400;
  line-height: 97.143%;
}

h4,
h5,
h6 {
  font-family: "Arsenica Trial", sans-serif;
  color: var(--black-light);
  font-size: 40px;
  font-weight: 400;
  line-height: 97.143%;
}

p,
a,
label,
input,
select,
textarea,
option,
li,
span,
button {
  font-family: "TT Chocolates", sans-serif;
  resize: none;
  font-size: 20px;
  font-weight: 300;
  line-height: normal;
}

.pageHeroSection p {
  font-weight: 400;
}

p:not(.backgroundVideo p, header p) {
  margin-bottom: 18px;
}

/* Links */
a,
a:hover,
a:focus,
a:active {
  text-decoration: none;
  color: var(--black);
  cursor: pointer;
  overflow-wrap: anywhere;
}

/* -------------------------------------------------------------------------
   3. CUSTOM SCROLLBAR
   ------------------------------------------------------------------------- */
html {
  scrollbar-width: thin;
  scrollbar-color: var(--orange) transparent;
}

html::-webkit-scrollbar {
  width: 4px;
}

html::-webkit-scrollbar-thumb {
  background-color: var(--orange);
  border-radius: 4px;
}

html::-webkit-scrollbar-track {
  background-color: var(--white);
}

/* -------------------------------------------------------------------------
   4. GSAP ANIMATION UTILITIES (hidden before animation)
   ------------------------------------------------------------------------- */
.gsap-fade-in,
.gsap-slide-left,
.gsap-slide-right,
.gsap-slide-up,
.gsap-slide-down,
.gsap-zoom-in,
.gsap-zoom-out {
  opacity: 0;
  visibility: hidden;
}

/* ==========================================================================
   BOTÕES - RESET E ESTILOS PERSONALIZADOS
   ========================================================================== */

/* --------------------- BUTTONS --------------------- */
/* botão principal amarelo */
button.mainButton,
.vc_btn3-container.mainButton a {
  background-color: var(--orange);
  padding: 16px 20px;
  text-align: center;
  text-transform: uppercase;
  color: var(--black) !important;
  border: 1px solid var(--orange) !important;
  cursor: pointer;
  border-radius: 5px;
  border-radius: 100px;

  font-size: 14px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 1.68px;
}
button.mainButton:hover,
.vc_btn3-container.mainButton a:hover,
.vc_btn3-container.mainButton a:focus,
.vc_btn3-container.mainButton a:active {
  background-color: transparent !important;
  color: var(--orange) !important;
}

/* Hover no botão amarelo mas com fundo caotico */
.vc_btn3-container.mainButton.special a:hover {
  background-color: var(--white) !important;
}

button.mainButton.special,
.vc_btn3-container.mainButton.special a {
  padding: 24px 74px;
  border-radius: unset;
  border-bottom-left-radius: 25px;
  border-bottom-right-radius: 25px;

  font-size: 24px;
  font-weight: 400;
  line-height: normal;
}

/* -------------------------------------------------------------------------
   5. FORM COMPONENTS
   ------------------------------------------------------------------------- */
/* Placeholder Color */
input::placeholder {
  color: var(--black);
  opacity: 1;
}

/* Autofill Background/Color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px var(--white) inset !important;
  -webkit-text-fill-color: var(--black) !important;
}

input:focus,
select:focus {
  outline: none !important;
}

/* Remove number input spinners */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* General form elements */
.inputForm,
form
  input:not(
    input[type="button"],
    input[type="checkbox"],
    input[type="submit"]
  ) {
  border: 0px !important;
  background-color: transparent !important;
  color: var(--black) !important;
  padding: 14px 22px !important;

  width: 100%;
  outline: unset;
  border-bottom: 1px solid var(--black) !important;
}

.quform select {
  color: var(--black) !important;
  padding: 14px 22px !important;
  width: 100%;
  outline: unset;
  background-color: var(--white);
  outline: none;
  border: unset !important;
  border-bottom: 1px solid var(--black) !important;
}

.quform .select2-container {
  color: var(--black) !important;
  border-bottom: 1px solid var(--black) !important;
  background-color: var(--white);
  padding: 11px;
  outline: none;
  border: unset;
}

.quform .select2-container--quform .select2-selection {
  outline: none;
  border: unset;
}
/* Quform specific styles */
.quform textarea {
  padding: 23px 22px !important;
  background-color: var(--white);
  color: var(--black) !important;
  border-radius: 5px !important;
  resize: none;
  text-transform: uppercase;
  border: 1px solid var(--black) !important;
}

.quform .quform-element-textarea .quform-label-text {
  margin: 14px 22px;
}

.quform-spacer:has(textarea) {
  padding: 0px !important;
}

.quform-option:has(.acceptanceInput) label {
  line-height: unset;
  font-size: unset;
}

.quform-option:has(.acceptanceInput) span {
  color: var(--black) !important;
  font-size: 11px;
  font-style: normal;
  font-weight: 400;
  line-height: 118.182%;
}

.quform-element-submit {
  display: flex;
  justify-content: center;
  margin-top: 53px;
}

.quform-element-submit button {
  border-radius: 100px;
  background-color: var(--orange);
  border: 1px solid var(--orange);
  padding: 16px 20px;
  line-height: 1;
  font-size: unset;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 300ms linear;
}

.quform-element-submit button span {
  color: var(--black) !important;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1.68px;
  text-transform: uppercase;
  transition: all 300ms linear;
}

.quform-element-submit button:hover {
  background-color: transparent;
}

.quform-element-submit button:hover span {
  color: var(--orange) !important;
}
.quform .quform-field-textarea {
  height: 96px;
}
.quform-input select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

.quform-element:not(:has(textarea)) {
  margin-bottom: 5px;
}

.quform-element:has(textarea) {
  margin-bottom: 11px;
}

.quform-success-message-animate * {
  font-family: "TT Chocolates", sans-serif;
  color: var(--black) !important;
}

.quform-error > .quform-error-inner {
  padding: 0px;
  margin: 0;
  background-color: transparent;
  color: red;
  border-left: 0px;
  max-width: 100%;
}

.quform-error * {
  color: var(--black) !important;
}

.quform-element-textarea .quform-error.quform-cf {
  bottom: 0px;
}

.quform-success-message {
  background-color: transparent;
  border-left: unset;
  color: #000;
  padding: 0px;
  margin: 0px;
  position: relative;
}

.quform-success-message-icon {
  display: none;
}

.quform-required {
  color: var(--black) !important;
  margin: 0px !important;
}

.quform-success-message-content {
  color: var(--black) !important;
  padding: 0px !important;
  margin-bottom: 10px !important;
}

.quform-1 .quform-spacer,
.quform-1 .quform-element-group.quform-group-style-bordered > .quform-spacer,
.quform-1 .quform-group-style-bordered > .quform-child-elements {
  padding-bottom: 0px !important;
}
.quform label,
.quform-label > label[for],
.quform .quform-input.quform-input-select select,
.select2-container--quform .select2-selection .select2-selection__rendered,
.quform .quform-field-textarea::placeholder {
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.quform span.quform-option-text,
.quform span.quform-option-text a {
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 15px */
  letter-spacing: 0.1px;
  text-transform: none;
}

.quform-element-checkbox .quform-spacer {
  padding: 0px;
}

/* select {
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 0 !important;
	color: #fff;
	border-radius: 5px;
	font-size: 14px;
	padding: 10px;
	width: 35%;
	cursor: pointer;
	background: #0d98e8 url(https://cdn1.iconfinder.com/data/icons/universal-icons-set-for-web-and-mobile/100/controls_0-12-512.png) no-repeat right center;
	background-size: 40px 37px;
}

select option {
	background-color: #fff;
	color: black;
}

select::-ms-expand {
	display: none;
} */

/* -------------------------------------------------------------------------
   6. LAYOUT UTILITIES
   ------------------------------------------------------------------------- */
.noPadding {
  padding-left: 0;
  padding-right: 0;
}

.pagePaddings {
  padding-left: var(--padding-inline);
  padding-right: var(--padding-inline);
}

.verticalPadding {
  padding-top: var(--paddingVert);
  padding-bottom: var(--paddingVert);
}

.mainHeroTopPadding {
  padding-top: var(--compensateHeader);
}

body:has(#wpadminbar) .mainHeroTopPadding {
  padding-top: calc(var(--compensateHeader) - var(--adminbar));
}

/* -------------------------------------------------------------------------
   7. PLUGIN & 3RD PARTY OVERRIDES (NON-MAPS)
   ------------------------------------------------------------------------- */
/* Hide reCAPTCHA badge */
.grecaptcha-badge {
  visibility: hidden !important;
}

/* Hide WPML footer badge */
.otgs-development-site-front-end {
  display: none;
}

/* WPBakery / Element resets */
.wpb_button,
.wpb_content_element,
ul.wpb_thumbnails-fluid > li,
.vc_btn3-container {
  margin-bottom: 0px !important;
}

/* CF7 */
.wpcf7-spinner {
  display: none;
}

/* -------------------------------------------------------------------------
   8. HEADER & NAVIGATION
   ------------------------------------------------------------------------- */
header {
  padding: 30px var(--padding-inline);
  position: fixed;
  width: 100%;
  top: 0px;
  left: 0px;
  z-index: 9990;
  transition: all 300ms linear;
}

a:has(.headerLogo) {
  font-size: 0px !important;
  line-height: 0px !important;
  transition: margin-top 0.3s ease;
  width: fit-content;
}
header.header-colored {
  background-color: #eceeeef2;
  transition: all 300ms linear;
  padding: 20px var(--padding-inline);
}

.headerLogo {
  width: calc(267px * 0.9);
  height: calc(80px * 0.9);
  transition: all 300ms linear;
}

header.header-colored .headerLogo {
  width: calc(267px * 0.75);
  height: calc(80px * 0.75);
  transition: all 300ms linear;
}

header a:has(.headerLogo) {
  position: relative;
}

header .headerLogo.v2 {
  position: absolute;
  top: 0px;
  left: 0px;
  opacity: 0;
  transition: 0.3s;
}

header.header-colored .headerLogo.v2 {
  opacity: 1;
  transition: 0.3s;
}

header .headerLogo:not(.v2) {
  opacity: 1;
  transition: 0.3s;
}

header.header-colored .headerLogo:not(.v2) {
  opacity: 0;
  transition: 0.3s;
}

header.header-small a:has(.headerLogo) {
  margin-top: 0px;
}

.wrapper-header {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 9999;
  flex-direction: row;
  align-items: center;
}

.headerMenuWrapper {
  display: flex;
  gap: 122px;
  align-items: center;
  justify-content: flex-end;
}
.headerMenuWrapper ul {
  display: flex;
  gap: 66px;
  align-items: center;
}

.headerMenuWrapper a,
.headerMenuWrapper span,
.headerMenuWrapper p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1;
  color: var(--white);
  letter-spacing: 1.68px;
  text-transform: uppercase;
  transition: font-weight 0.3s ease;
  transition: text-shadow 0.3s ease;
  text-shadow: 0 0 0 transparent;
}

header.header-colored .headerMenuWrapper a,
header.header-colored .headerMenuWrapper span,
header.header-colored .headerMenuWrapper p,
.headerMenuWrapper ul.sub-menu a {
  color: var(--black);
}

/* GSAP Underline Animation */
.gsap-underline li a {
  position: relative;
  text-decoration: none;
  z-index: 1;
}

.gsap-underline li a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  height: 1px;
  background: currentColor;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left;
  transition: none;
  pointer-events: none;
}

.gsap-underline li a::after {
  transform: scaleX(var(--underline-scale, 0));
  transition: transform 0.2s ease;
}

.gsap-underline .current_page_item > a::after {
  /* transform: scaleX(1); */
}

/* Mobile Menu */
.burguer {
  display: none;
}

.menu-mobile {
  display: none;
}

.headerMenuWrapper li.current_page_item a,
.headerMenuWrapper a:hover,
footer a:hover {
  text-shadow: 1px 0 0 currentColor; /* Creates faux bold effect */
}

.headerMenuWrapper li.menu-item-has-children {
  position: relative;
}

.headerMenuWrapper ul.sub-menu {
  padding: 15px;
  margin-top: 10px;
  background-color: #eceeeef2;
  display: flex;
  gap: 4px;
  align-items: center;
  flex-direction: column;
  position: absolute;
  bottom: unset;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  z-index: 999;

  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

header.header-colored .headerMenuWrapper ul.sub-menu {
  display: flex;
  gap: 4px;
  padding-top: 9px;
}

.menu-item-has-children:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
}

#homepageVideoWrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85); /* dark overlay */
  display: none; /* hidden by default */
  justify-content: center;
  align-items: center;
  z-index: 9999; /* stays above everything */
}

#homepageVideoWrapper.show {
  display: flex; /* flex only when active */
}

#homepageVideoInner {
  position: relative;

  background: #000;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.5);
}

#homepageVideo {
  width: 90vw;
  height: 90vh;
  display: block;
}
#closeVideo {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(0, 0, 0, 0.6);
  border: none;
  color: #fff;
  font-size: 28px;
  line-height: 28px;
  padding: 4px 10px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s ease;
}

#closeVideo:hover {
  background: rgba(0, 0, 0, 0.9);
}

.teimoso {
  position: fixed;
  right: 0px;
  top: 65%;
  background-color: var(--orange);
  padding: 16px 28px;

  border-top-left-radius: 100px;
  border-bottom-left-radius: 100px;

  display: flex;
  gap: 13px;
  z-index: 9990;
  align-items: center;

  color: #505143;
  font-size: 14px;

  font-weight: 500;
  line-height: normal;
  letter-spacing: 1.68px;
  text-transform: uppercase;
  border: 1px solid var(--orange);
  border-right: unset;
  transition: all 300ms linear;

  margin-right: -10px;
  filter: drop-shadow(2px 4px 0 rgba(0, 0, 0, 0.1));
}

.teimoso img {
  width: 20px;
  height: 22px;
  object-fit: contain;
  transition: all 0ms linear;
}

.teimoso:hover {
  /* margin-right: -0px; */
  background-color: var(--white);
  color: var(--orange);
  transition: all 300ms linear;
}

.teimoso:hover img {
  filter: brightness(0) saturate(100%) invert(84%) sepia(83%) saturate(3234%)
    hue-rotate(299deg) brightness(92%) contrast(91%);
  transition: all 0s linear;
}

#to_top_scrollup {
  background-color: transparent;
  color: var(--orange);
}
.wpml-ls ul {
  gap: 10px;
}

.wpml-ls ul a {
  padding: 0px;
}
.wpml-ls ul a span {
  color: var(--white);
  font-weight: 200;
}

header.header-colored .wpml-ls ul a span {
  color: var(--black);
}

.wpml-ls-legacy-list-horizontal {
  border: 0px solid transparent;
  padding: 0px;
  clear: both;
}

.wpml-ls .wpml-ls-current-language span {
  color: var(--orange);
  font-weight: 500;
}

body:has(.legalPage)::before {
  display: none;
}

/* -------------------------------------------------------------------------
   9. FOOTER
   ------------------------------------------------------------------------- */
footer {
  position: relative;
  /* background: linear-gradient(
    to top,
    var(--black) 0%,
    var(--black) 56%,
    var(--white) 50%,
    var(--white) 100%
  ); */
  background: linear-gradient(
    11deg,
    var(--black) 0%,
    var(--black) 60%,
    var(--white) 60%,
    var(--white) 100%
  );
  padding-bottom: 14px;
  overflow: hidden;
  margin-top: var(--paddingVert);
}

header ul,
footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

footer a {
  transition: font-weight 0.3s ease;
  transition: text-shadow 0.3s ease;
  text-shadow: 0 0 0 transparent;
}
.footerWrapper {
  padding-inline: var(--padding-inline);
  z-index: 10;
  position: relative;
}
.bottomFooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1020px;
  margin-inline: auto;
}

.footerWrapper a,
.footerWrapper p {
  color: var(--orange);
  font-size: 11px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 1.1px;
  margin: 0px !important;
}

.bottomFooter ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

/* QUEM SOMOS SECTION */
.quemSomosSection {
  position: relative;
}

.quemSomosContent {
  z-index: 11;
  position: relative;
  max-width: 740px;
  margin-inline: auto;
  padding-top: 180px;
  padding-inline: 20px;
  padding-bottom: 180px;
}
.quemSomosContent p {
  color: var(--white);
}

.quemSomosContent h5 {
  color: var(--white);
  font-family: "TT Chocolates";
  font-size: 24px;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 11px;
}
.quemSomosContent h6 {
  color: var(--white);
  font-family: "TT Chocolates";
  font-size: 30px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 28px;
}

.quemSomosSection::before {
  content: "";
  background-image: url(/wp-content/uploads/quemsomos-leaf.svg);
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  width: 2397px;
  height: 1099px;
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translate(-50%, 0px);
  pointer-events: none;
}

.madreLogoWrapper {
  margin-top: 121px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
}

.madreLogoWrapper a {
  color: var(--orange);
  font-size: 15px;
}

.footerlogoWrapper {
  display: flex;

  justify-content: center;
  margin-bottom: 80px;
}

/* -------------------------------------------------------------------------
   10. HERO SECTIONS & OVERLAYS
   ------------------------------------------------------------------------- */
.pageHeroSection > .vc_column_container,
.pageHeroSection .vc_column-inner,
.pageHeroSection .wpb_wrapper {
  position: relative;
  z-index: 2;
}

.backgroundOverlay {
  content: "";
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.4) 0%,
    rgba(0, 0, 0, 0.4) 100%
  );
  z-index: 1 !important;
  pointer-events: none;
}

.backgroundOverlay.red {
  background: #5b0b2ce5;
  background: linear-gradient(90deg, #5b0b2cb8 0%, #5b0b2cb8 100%);
}

.backgroundOverlay .vc_column-inner {
  display: none !important;
}

.backgroundVideo
  *:not(
    .heroSectionContent,
    .heroSectionContent *,
    #heroFixedLogo,
    #heroFixedLogo *
  ) {
  height: 100%;
  overflow: hidden;
}

.backgroundVideo .vc_column-inner {
  padding: 0px !important;
}

.backgroundVideo .container-video {
  height: 100%;
  width: 100%;
}

.backgroundVideo .container-video video,
.backgroundVideo .container-video img {
  max-height: 100dvh;
  width: 100%;
  object-fit: cover;
  position: relative;
  display: block;
}

/* -------------------------------------------------------------------------
   11. MAIN CONTENT
   ------------------------------------------------------------------------- */
#main {
  min-height: 100vh;
}

#to_top_scrollup {
  width: fit-content !important;
}

#to_top_scrollup img {
  width: 40px;
  height: 40px;
  transform: rotate(270deg);
}

/* ========================================================================== */
/*                             	Legal Pages (Reference)                      */
/* ========================================================================== */
.legalPage {
  padding-inline: var(--padding-inline);
  padding-bottom: 100px;
  padding-top: 120px;
}

.legalPage h1 {
  margin-top: 0px;
}

.legalPage h2 {
  font-size: 32px;
  line-height: 42px;
  margin: 24px 0px;
}

/* ==================================================================================== */
/*                              	       HOMEPAGE         		                          */
/* ==================================================================================== */

/* *********** heroSectionRow ************/

.heroSectionRow .heroBackground.vc_row-has-fill {
  /*min-height: 1100px;*/
  min-height: 90vh;
  background-size: 110% !important;
}

.hero-noor .heroSectionContent {
  position: absolute;
  bottom: 0px;
  width: 100vw;
  height: 100%;
  left: 0px;
  transform: none;
  z-index: 3;
}

.heroSectionRow:not(.hero-noor) .heroSectionContent {
  position: absolute;
  bottom: 50%;
  width: 1229px;
  left: 50%;
  transform: translate(-50%, 50%);
  z-index: 3;
}

.heroSectionContent .vc_col-sm-12 {
  position: unset;
}

.container-video {
  width: 100vw;
  height: 90vh;
  position: relative;
  padding-top: 50px;
}

.container-video video,
.container-video img {
  width: 100%;
  /*clip-path: url(#meuClip);*/
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
  position: relative;
}

.container-video {
  width: 100vw;
  height: 100dvh;
  position: relative;
  padding-top: 0px;
  margin-top: -35px;
}

.container-video::before {
  content: "";
  background-image: url(/wp-content/uploads/side-leaf-hs.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 1400px;
  height: 700px;
  position: absolute;
  bottom: -3%;
  left: 0px;
  display: none;
}

.container-video::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: #000000;
  top: 0px;
  left: 0px;
  z-index: 1;
  opacity: 0.3;
}

@media only screen and (max-width: 1440px) {
  .container-video::before {
    width: 1200px;
    bottom: -8%;
  }
}

@media only screen and (max-width: 1300px) {
  .container-video::before {
    width: 900px;
    bottom: -20%;
    left: 5%;
  }
}

@media only screen and (max-width: 1100px) {
  .container-video::before {
    width: 900px;
    bottom: -20%;
    left: 0;
    height: 600px;
  }
}

@media only screen and (max-width: 991px) {
  .container-video video,
  .container-video img {
    clip-path: url(#meuClip-mobile);
  }

  .container-video::before {
    width: 150%;
    bottom: -15%;
    left: -30%;
    height: 90vh;
    display: block;
  }

  .container-video::after {
    clip-path: url(#meuClip-mobile);
  }
}

@media only screen and (max-width: 600px) {
  .container-video {
    height: 100vh;
    padding-top: 70px;
  }

  .container-video::before {
    height: 80vh;
    bottom: -23%;
  }

  .container-video::after {
    top: 70px;
  }
}

/* maior margem nos apartamentos */
/* body:has(.apartamentosRow) .heroSectionContent .heroPre p {
  margin-bottom: 160px !important;
}
body:has(.apartamentosRow) .heroSectionContent .heroDesc {
  margin-bottom: 160px !important;
} */
/* ---- */

.heroSectionContent * {
  color: var(--white);
}
.heroSectionContent .vc_column-inner {
  padding: 0px !important;
}

.heroPre p {
  margin-bottom: 16px !important;
  font-size: 24px;
  font-weight: 400;
  line-height: normal;
}

.hero-noor .heroPre p {
  margin-bottom: 0px !important;
  font-size: 18px;
}

.heroDesc {
  max-width: 430px;
  margin-block: 25px 40px !important;
}
.heroDesc p {
  font-weight: 400;
}

.hero-noor .heroDesc {
  margin-top: 10px !important;
}

.hero-noor .heroDesc p {
  font-size: 24px;
}

.heroLocation p {
  font-size: 30px;
  text-align: left !important;
  font-weight: 400;
  line-height: normal;
  margin-top: 20px;
}

.hero-noor .heroLocation p {
  margin-top: 0px;
}

.hero-content-wrap {
  position: absolute;
  top: 50%;
  left: 28%;
  transform: translateY(-50%);
}

.hero-noor .heroLocation {
  position: absolute;
  top: 75%;
  right: 195px;
  display: none;
}

/* *********** masterplanSection ************/
.masterplanSection > div > div > .wpb_wrapper {
  max-width: 1200px;
  margin-inline: auto;
}

.masterplanSection > div > div > .wpb_wrapper > .wpb_text_column {
  max-width: 430px;
  margin-top: 30px;
}

.masterplanSection > div > div > .wpb_wrapper > .wpb_single_image {
  margin-top: -50px;
}

.masterplanSection .vc_row > div > div > div {
  display: flex;
  justify-content: center;
  gap: 48px;
  margin-top: 30px;
}

.panel,
.panel2,
#contactos {
  position: relative;
}

.panel::before,
.panel2::before,
#contactos::before {
  content: "";
  width: 100%;
  height: 110%;
  background-color: var(--white) !important;
  position: absolute;
  left: 15px;
  top: 0px;
}
/* --- Bárbara --- */

/*.pswp__container {
  width: 90vw;
  height: 90vh;
}

.pswp__item .pswp__zoom-wrap{
  width: 100%;
  height: 100%;
}

.pswp__item .pswp__zoom-wrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}*/

.pswp__zoom-wrap {
  width: 80vw !important;
  height: 90vh;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translateX(-50%) translateY(-50%) !important;
}

.pswp__zoom-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

.pswp--svg .pswp__button--arrow--right {
  background-image: url(/wp-content/uploads/right-arrow.svg) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  right: 60px;
  opacity: 1 !important;
  width: 40px;
}

.pswp--svg .pswp__button--arrow--left {
  background-image: url(/wp-content/uploads/left-arrow.svg) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  left: 60px;
  opacity: 1 !important;
  width: 40px;
}

.pswp--svg .pswp__button--arrow--right::before,
.pswp--svg .pswp__button--arrow--left::before {
  display: none !important;
}

.masterplanSection {
  display: flex;
  align-items: center;
}

.masterplanSection > .vc_col-sm-6:first-child > div {
  max-width: 450px;
  margin-left: auto;
}

.masterplanSection .wpb_single_image:not(:first-child) {
  position: absolute;
  top: 0px;
  left: 15px;
  opacity: 0;
  pointer-events: none;
}

.masterplanSection .wpb_single_image:first-child {
  position: relative;
  width: fit-content;
}

.masterplanSection .wpb_single_image figure .vc_single_image-wrapper {
  width: 100%;
  height: 85vh;
}

.masterplanSection .wpb_single_image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.masterplanSection .wpb_single_image:first-child .noor-trigger {
  font-family: "Arsenica";
  font-weight: 400;
  color: var(--black);
  width: 80px;
  height: 80px;
  font-size: 45px;
  line-height: 45px;
  background-color: var(--orange);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  position: absolute;
  top: 20%;
  left: 43%;
  cursor: pointer;
}

.masterplanSection .wpb_single_image:first-child .noor-trigger#trigger-noor2 {
  top: unset;
  bottom: 17%;
}

.masterplanSection .tag {
  width: 500px;
  height: 80px;
  background-color: #f8f8f8;
  clip-path: inset(0px 420px 0px 0px round 47px);
  position: absolute;
  top: 20%;
  left: 43%;
  z-index: 1;
  transition: 0.5s;
  opacity: 0;
  pointer-events: none;
}

.masterplanSection h2.wpb_heading {
  font-size: 40px;
  line-height: 40px;
  position: absolute;
  top: 50%;
  left: 100px;
  transform: translateY(-50%);
}

.masterplanSection .mainButton {
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
}

.masterplanSection .vc_btn3-container.mainButton a {
  background-color: var(--orange) !important;
  border: 0px !important;
  background-image: none;
}

.masterplanSection .vc_btn3-container.mainButton:hover a {
  color: var(--white) !important;
}

.masterplanSection .tag#tag-noor2 {
  top: unset;
  bottom: 17%;
}

.masterplanSection .tag .icon-noor::before {
  content: "";
  width: 54px;
  height: 54px;
  background-image: url(/wp-content/uploads/favicon.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 13px;
  transform: translateY(-50%);
}

.masterplanSection .tag.open {
  clip-path: inset(0px 0px 0px 0px round 47px);
  pointer-events: all;
  transition: 0.5s;
}

@media only screen and (max-width: 1550px) {
  .masterplanSection .tag {
    width: 440px;
    clip-path: inset(0px 360px 0px 0px round 47px);
  }
}

@media only screen and (max-width: 1440px) {
  .pswp--svg .pswp__button--arrow--right {
    width: 30px;
    right: 30px;
  }

  .pswp--svg .pswp__button--arrow--left {
    width: 30px;
    left: 30px;
  }

  .masterplanSection .wpb_single_image:first-child .noor-trigger {
    width: 60px;
    height: 60px;
    font-size: 30px;
    line-height: 30px;
    top: 26%;
    left: 48%;
  }

  .masterplanSection .tag {
    width: 350px;
    height: 60px;
    top: 26%;
    left: 48%;
    clip-path: inset(0px 290px 0px 0px round 47px);
  }

  .masterplanSection .tag .icon-noor::before {
    width: 35px;
    height: 35px;
    left: 14px;
  }

  .masterplanSection h2.wpb_heading {
    font-size: 30px;
    line-height: 30px;
    left: 70px;
  }

  .masterplanSection .vc_btn3-container.mainButton a {
    padding: 10px 14px;
    font-size: 10px;
  }
}

@media only screen and (max-width: 1280px) {
  .masterplanSection .vc_col-sm-6:first-child {
    width: 35%;
  }

  .masterplanSection .vc_col-sm-6:last-child {
    width: 65%;
  }
}

@media only screen and (max-width: 991px) {
  header .headerLogo.v2 {
    opacity: 1;
  }

  header .headerLogo:not(.v2) {
    opacity: 0;
  }

  .masterplanSection {
    flex-direction: column;
  }

  .masterplanSection .vc_col-sm-6:first-child {
    width: 100%;
  }

  .masterplanSection .vc_col-sm-6:last-child {
    width: 100%;
  }

  .masterplanSection > .vc_col-sm-6:first-child > div {
    max-width: 360px;
    margin-right: auto;
  }

  .panel::before,
  .panel2::before {
    display: none !important;
  }
}

@media only screen and (max-width: 600px) {
  .slider-bullet {
    width: calc((100% / 6) - 8px) !important;
  }

  .slider-bullet.active::after,
  .slider-bullet:hover::after {
    width: 40px !important;
    height: 40px !important;
  }

  .slider-bullet:not(.active)::after {
    display: none;
  }

  .slider-bullets {
    gap: 2px !important;
    row-gap: 10px !important;
    margin: 0px;
    justify-content: flex-end !important;
  }

  .bullet-icon {
    width: 25px !important;
  }

  .swiper-video-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0px;
  }

  .slider-bullets .slider-bullet:nth-child(1) {
    margin-left: 30px;
  }

  .slideActSection {
    padding-top: 70px !important;
    padding-bottom: 110px !important;
  }

  .slider-titulo {
    bottom: -90px !important;
    left: 15px !important;
  }

  .video-swiper {
    height: 60vh !important;
    max-height: unset !important;
  }

  .slider-titulo h2.titulo-ativo {
    font-size: 35px;
  }

  .descoberta-block {
    padding-top: 70px;
  }

  .plantas-noor1 .apt-planta-img {
    height: auto !important;
  }

  .pswp__zoom-wrap {
    width: 80vw !important;
    height: 50vh;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translateX(-50%) translateY(-50%) !important;
  }

  .pswp--svg .pswp__button--arrow--right {
    width: 15px;
    right: 15px;
  }

  .pswp--svg .pswp__button--arrow--left {
    width: 15px;
    left: 15px;
  }

  .masterplanSection {
    padding-top: 80px;
  }
  .masterplanSection .wpb_single_image figure .vc_single_image-wrapper {
    width: 100%;
    height: auto;
  }

  .masterplanSection .tag.open {
    left: 50%;
    transform: translateX(-50%);
  }

  .masterplanSection .tag {
    width: 100%;
    clip-path: inset(0px calc(100% - 60px) 0px 0px round 47px);
  }
  /*
  .masterplanSection .wpb_single_image:first-child .noor-trigger {
    width: 45px;
    height: 45px;
    font-size: 22px;
    line-height: 22px;
  }*/
}

/* *********** doubleColSection ************/

.doubleColSection .vc_row {
  padding-block: 45px !important;
}
.doubleColSection .vc_row:nth-child(1) {
  padding-top: 0px !important;
}
.doubleColSection .vc_row:last-child {
  padding-bottom: 0px !important;
}
.doubleColSection .maskCol.vc_col-has-fill > .vc_column-inner {
  aspect-ratio: 1.11;
  /*  clip-path: shape(
    from 70.77% 0%,
    hline to 0%,
    vline to 100%,
    hline to 98.04%,
    curve to 70.77% 0% with 106.91% 51.44%/83.55% 13.1%,
    close
  );*/
  clip-path: none !important;
  border-radius: 5px !important;
  background-position: 90% !important;
  display: flex;
  /* Força tamanho fixo */
  /* width: auto; */
  max-height: 750px;
  min-height: 700px;
  /*height: 100vh;*/
  justify-content: flex-end;
  align-items: flex-end;
}

/* texto na esquerda */
.doubleCol-imgLeft .maskCol.vc_col-has-fill > .vc_column-inner {
  justify-content: flex-end;
  align-items: flex-start;

  aspect-ratio: 1.11;
  clip-path: shape(
    from 29.23% 0%,
    hline to 100%,
    vline to 100%,
    hline to 1.96%,
    curve to 29.23% 0% with -6.91% 51.44%/16.45% 13.1%,
    close
  );
}

.maskCol .vc_column-inner {
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
  background-position: center 0% !important;
  will-change: background-position;
}

/* Overlay escuro (ajusta a cor e opacidade conforme necessário) */
.doubleColSection .maskCol.vc_col-has-fill > .vc_column-inner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  /* Gradiente linear de cima para baixo - preto em baixo */
  background: linear-gradient(
    to bottom,
    transparent 70%,
    rgba(41, 41, 35, 0.8) 100%
  );

  /* Opcional: blend mode para efeitos diferentes */
  /* background-blend-mode: overlay; */

  /* Mantém a mesma máscara da shape se quiseres que o overlay siga a forma */
  /*  clip-path: shape(
    from 70.77% 0%,
    hline to 0%,
    vline to 100%,
    hline to 98.04%,
    curve to 70.77% 0% with 106.91% 51.44%/83.55% 13.1%,
    close
  );
*/
  clip-path: none !important;
  border-radius: 5px !important;
  pointer-events: none; /* Para cliques passarem para o conteúdo */
  z-index: 2; /* Fica acima do fundo mas abaixo do conteúdo se necessário */
}

/* invertido */
/* overlay */
.doubleCol-imgLeft .maskCol.vc_col-has-fill > .vc_column-inner::after {
  /* Mantém a mesma máscara da shape se quiseres que o overlay siga a forma */
  clip-path: shape(
    from 29.23% 0%,
    hline to 100%,
    vline to 100%,
    hline to 1.96%,
    curve to 29.23% 0% with -6.91% 51.44%/16.45% 13.1%,
    close
  );
}

.doubleColSection .maskCol p {
  color: var(--white);
  font-size: 30px;

  font-weight: 300;
  line-height: normal;
  text-transform: uppercase;
  z-index: 222222;
  position: relative;
  margin: 48px 60px !important;
}

/* COL COM TEXTO */
.doubleColSection .infoCol .vc_column-inner {
  justify-content: flex-end;
  align-items: flex-start;
  max-width: calc(479px + 30px);
  margin-left: 70px;
  margin-bottom: 100px;
}

/* texto na esquerda */
.doubleCol-imgLeft .infoCol .vc_column-inner {
  justify-content: flex-end;
  align-items: flex-end;
  margin-left: 0px;
  margin-right: 70px;
}

.doubleCol-imgLeft .infoCol {
  justify-content: flex-end;
}

.infoCol .wpb_text_column {
  margin-block: 50px 80px !important;
}

.infoCol .wpb_wrapper .mainButton {
  margin-right: 15px;
}
.infoCol .wpb_wrapper .mainButton:last-child {
  margin-right: 0px;
}

.floatingLeaf {
  position: absolute;
  top: 120px;
  right: 200px;
}

.doubleCol-imgLeft .floatingLeaf {
  left: 200px;
  right: unset;
}

.transforma-slide {
  height: 840px;
  min-height: 100vh;
  overflow: hidden;
  margin-bottom: 150px;
}

.transforma-slide .slick-slider {
  height: fit-content;
}

.transforma-slide .slick-prev {
  left: 50px;
  z-index: 1;
}

.transforma-slide .slick-next {
  right: 50px;
  z-index: 1;
}

.transforma-slide .slick-next:before {
  content: "\f105";
}

.transforma-slide .slick-prev:before {
  content: "\f104";
}

.transforma-slide .slick-next:before,
.transforma-slide .slick-prev:before {
  font-family: "FontAwesome";
  color: var(--orange);
  font-size: 75px;
  opacity: 1;
}

.transforma-slide
  .doubleCol-imgLeft
  .maskCol.vc_col-has-fill
  > .vc_column-inner {
  /*  clip-path: shape(
    from 70.77% 0%,
    hline to 0%,
    vline to 100%,
    hline to 98.04%,
    curve to 70.77% 0% with 106.91% 51.44%/83.55% 13.1%,
    close
  );*/
  clip-path: none !important;
  border-radius: 5px !important;
}

.transforma-slide .vc_row.vc_row-flex {
  margin: 0px !important;
}

.transforma-slide .vc_row.vc_row-flex.doubleCol-imgLeft {
  flex-direction: row-reverse;
}

.transforma-slide .doubleCol-imgLeft .infoCol .vc_column-inner {
  justify-content: flex-end;
  align-items: flex-start;
  max-width: calc(479px + 30px);
  margin-left: 70px;
  margin-bottom: 100px;
}

.transforma-slide .doubleCol-imgLeft .infoCol {
  justify-content: flex-start;
}

/* *********** slideActSection ************/
/* *********** descobertaSection ************/
.descoberta-block {
  padding-bottom: 0px !important;
}

.descoberta-block.doubleColSection .infoCol .vc_column-inner {
  max-width: calc(480px + 30px);
}

.descoberta-block .infoCol {
  position: absolute;
  width: fit-content;
  left: 50%;
  top: 100px;
}

.descoberta-block .infoCol h2,
.descoberta-block .infoCol p {
  color: var(--white);
}

.descoberta-block .maskCol {
  width: 100vw;
  height: 90dvh;
}

.descoberta-block .vc_row:last-child {
  margin-left: 0px !important;
}

.doubleColSection.descoberta-block .maskCol.vc_col-has-fill > .vc_column-inner {
  clip-path: none;
  width: 100%;
  max-height: 100%;
  border-top-left-radius: 80vh;
  filter: brightness(0.8);
}

.doubleColSection.descoberta-block
  .maskCol.vc_col-has-fill
  > .vc_column-inner::after {
  display: none;
}

.descobertaSection .wpb_single_image img {
  height: calc(783px * 0.8);
  /* width: 1176px; */
  width: auto;
  object-fit: contain;
}

.descobertaSection .vc_row {
  margin-top: -30px;
  display: flex;
}
.descobertaSection .vc_row .vc_column-inner {
  /* max-width: calc(602px * 2);
  margin-inline: auto; */
}
.descobertaSection .vc_row > div > div > .wpb_wrapper {
  max-width: 572px;
}

.descobertaSection .vc_custom_heading {
  margin-bottom: 50px;
}
/* *********** googleMapsSection ************/

.googleMapsSection {
  margin-bottom: var(--paddingVert);
  padding-top: 0px !important;
}

/* *********** contactSection ************/

/* Esconde o checkbox nativo */
.quform input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid var(--black);
  border-radius: 5px;
  background-color: #eceeee; /* background quando desmarcado */
  cursor: pointer;
  position: relative;
}

/* Background quando marcado */
.quform input[type="checkbox"]:checked {
  background-color: #eceeee; /* background quando marcado */
}

/* Adiciona o visto quando marcado */
.quform input[type="checkbox"]:checked::after {
  content: "x";
  color: var(--black);
  font-size: 13px;
  line-height: 13px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* icone mail */
.contactSection .wpb_single_image img {
  width: 38px;
  height: 34px;
  object-fit: contain;
}

/* texto localizacao */
.contactSection
  > div
  > .vc_column-inner
  > .wpb_wrapper
  > .wpb_text_column
  p:not(.quform p) {
  font-size: 30px;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-block: 27px 4px;
}
.contactSection .company-email-link {
  text-align: center;
  font-family: "Apex New", sans-serif;
  font-size: 12.5px;
  font-weight: 550;
  line-height: normal;
  letter-spacing: 3.125px;
  margin-inline: auto;
  width: fit-content;
  display: block;
}
.contactSection .quform {
  padding: 71px 103px;
  max-width: 993px;
  margin-inline: auto;
  border: 3px solid var(--green);
  border-radius: 25px;
  margin-top: 50px;
}

.contactSection .quform .quform-element-html p {
  font-size: 30px;
  font-style: normal;
  font-weight: 300;
  line-height: 38px; /* 126.667% */
  letter-spacing: 1.5px;
  margin-bottom: 38px;
}

/* ==================================================================================== */
/*                                  DETALHE APARTAMENTO     	                          */
/* ==================================================================================== */

.apartMasterplanSection > .wpb_column:nth-child(1) img {
  width: 140% !important;
  margin-left: -20%;
}

.apartMasterplanSection > .wpb_column:nth-child(1) .masterplan-noor1 img {
  width: 80% !important;
  margin-left: 0%;
}

/* *********** slideAmenitiesSection ************/
.slideAmenitiesSection {
  padding-right: 0px;
  position: relative;
}
.slideAmenitiesSection .wpb_column:nth-child(1) {
  position: relative;
}
.slideAmenitiesSection .wpb_column:nth-child(1):before {
  content: "";
  background-image: url(/wp-content/uploads/leaf-amenities.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1047px;
  height: 681px;
  aspect-ratio: 123 / 80;
  opacity: 0.1;
  display: inline-block;
  z-index: 1;
  position: absolute;
  left: -200px;
  top: -40px;
}

.slideAmenitiesSection .wpb_single_image {
  margin-bottom: 129px !important;
}

.slideAmenitiesSection .wpb_column:nth-child(1) > div > div {
  max-width: 332px;
  margin-left: auto;
  margin-right: 60px;
}

/* *********** apartMasterplanSection ************/

.apartMasterplanSection > .wpb_column:nth-child(1) img {
  width: auto;
  height: 813px;
  object-fit: contain;
}

.apartMasterplanSection .vc_row::before,
.apartMasterplanSection .vc_row::after {
  display: none !important;
}

.apartMasterplanSection .vc_row {
  display: flex;
  justify-content: center;
  gap: 35px;
  margin-block: 80px 57px;
}

.apartMasterplanSection .vc_row .wpb_column {
  width: fit-content !important;
  position: relative;
}
.apartMasterplanSection .vc_row .wpb_column .wpb_text_column:nth-child(2) {
  margin-block: 28px 0px !important;
}
.apartMasterplanSection .vc_row .wpb_column .wpb_text_column:nth-child(2) p {
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
}
.apartMasterplanSection
  > .wpb_column:nth-child(2)
  > div
  > div
  > .wpb_text_column
  p {
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.apartMasterplanSection .vc_row .wpb_column::before {
  content: "";
  background-image: url("/wp-content/uploads/leaf-separator.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 4px;
  height: 8px;
  position: absolute;
  top: 24px;
  right: -20px;
}

.apartMasterplanSection .vc_row .wpb_column:last-child::before {
  display: none;
}

.apartMasterplanSection > .wpb_column:nth-child(2) > div {
  align-items: flex-start;
  margin-left: 30px;
}
.apartMasterplanSection,
.apartMasterplanSection .vc_row,
.apartMasterplanSection > .wpb_column:nth-child(2) {
  overflow: visible;
}

.apartMasterplanSection > .wpb_column:nth-child(2):before {
  content: "";
  background-image: url(/wp-content/uploads/orange-leaf-2-scaled.webp);
  background-position: right;
  background-repeat: no-repeat;
  background-size: contain;
  height: 2886.684px;
  width: 1411px;
  transform: rotate(63deg);
  position: absolute;
  /* top: -950px;   */
  top: -120%;

  right: -60px;
  pointer-events: none;
}

body:has(.apartamentosRow)::before {
  content: "";
  height: 3000px;
}

/* *********** descubraSection ************/

.descubraSection .vc_custom_heading {
  margin-bottom: 70px !important;
}

.apt-info-wrapper {
  max-width: 1477px;
  margin-inline: auto;
  border-top-left-radius: 5px;
  border-top: 3px solid var(--green);
  border-left: 3px solid var(--green);
  padding: 65px;
  position: relative;
}

.apt-main-title {
  font-size: 32px;
  font-weight: 300;
  font-family: "TT Chocolates";
  text-transform: uppercase;
  margin-bottom: 12px;

  line-height: 81.25%;
}

.apt-unidades-wrapper span {
  color: var(--orange);
  text-transform: uppercase;

  font-size: 18px;
  font-weight: 500;
  line-height: 100%;
}

/* Navegação */
.apt-tabs-nav {
  display: flex;
  width: fit-content;
  gap: 10px;
  flex-direction: column;
  position: absolute;
  left: -3px;
  transform: translateX(-100%) translateY(-50%);
  top: 50%;
}

.apt-tab-btn {
  border: 3px solid var(--orange);
  background-color: transparent;
  padding: 30px 13px;
  cursor: pointer;
  transition: all 0.3s ease;
  color: var(--orange);
  text-align: center;
  font-size: 26px;
  font-weight: 400;
  line-height: 100%;
  text-transform: uppercase;
  border-top-left-radius: 25px;
  border-bottom-left-radius: 25px;
  border-right: 0px;
  width: calc(100%);
  transform: translateX(0px) !important;
}

.apt-tab-btn:hover,
.apt-tab-btn.active {
  background: var(--orange);
  color: var(--black);
  width: calc(100% + 15px);
  transform: translateX(-15px) !important;
}

/* Layout Flex */
.apt-tab-pane {
  display: none;
}

.apt-tab-pane.active {
  display: block;
  animation: fadeIn 0.5s ease;
}

.apt-flex-container {
  display: flex;
  align-items: center;
  gap: 100px;
}

.apt-col-info {
  flex: 1;
  margin-top: 57px;
  max-width: 363px;
}

.apt-col-image {
  flex: 1;
  text-align: center;
  display: flex;
  margin-top: auto;
  justify-content: center;
}

.apt-planta-img {
  max-width: 100%;
  height: auto;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0);
}

.plantas-noor1 .apt-planta-img {
  height: 80vh;
}

/* .apt-planta-img:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
} */

.apt-no-image {
  padding: 40px;
  background: #f9f9f9;
  border-radius: 8px;
  color: #999;
}

/* Lista de Detalhes */
.apt-details-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 21px;
}

.apt-details-list li {
  padding-bottom: 8px;
  padding-top: 8px;
  border-bottom: 1px solid var(--black);
  display: grid;
  gap: 35px;
  grid-template-columns: 1fr 1fr;
  justify-content: space-between;
}
.apt-details-list li strong {
  font-weight: 500;
}

.apt-details-list li,
.apt-details-list span {
  font-size: 20px;
  font-weight: 300;
  line-height: normal;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* -------------------------------------------------------------------------
   Z. MEDIA QUERIES - WEBSITE 
   ------------------------------------------------------------------------- */

/* 4K Screens - 2250px and above */
@media (min-width: 2250px) {
  :root {
    --bigpage-container: 1440px;
    --padding-inline: calc((100% - var(--bigpage-container)) / 2);
  }

  .bigscreen-limit {
    max-width: var(--bigpage-container);
    margin-inline: auto;
  }

  .vc_row_bigscreen-limit {
    padding-left: calc((100% - var(--bigpage-container)) / 2);
    padding-right: calc((100% - var(--bigpage-container)) / 2);
    box-sizing: border-box;
  }

  .footerWrapper {
    padding-inline: 0px;
  }
  /* *********** descobertaSection ************/
  .descobertaSection .wpb_single_image img {
    height: calc(783px * 0.8);

    width: calc(1176px * 0.8);
    object-fit: contain;
  }

  .googleMapsSection {
    /*padding-left: calc((100% - var(--bigpage-container)) / 2);*/
    /*padding-right: calc((100% - var(--bigpage-container)) / 2);*/
  }

  /* ==================================================================================== */
  /*                              	       HOMEPAGE         		                          */
  /* ==================================================================================== */

  /* *********** heroSectionRow ************/

  .heroSectionRow .heroBackground.vc_row-has-fill {
    width: 1540px;
    height: auto !important;
    margin-inline: auto;
    min-height: 800px;
    background-position-y: 70% !important;
    background-size: 100% !important;
  }

  .hero-noor.heroSectionRow .heroBackground.vc_row-has-fill,
  .homepageRow.heroSectionRow .heroBackground.vc_row-has-fill {
    width: 100%;
  }

  .hero-noor.heroSectionRow
    .heroBackground.vc_row-has-fill
    > .vc_col-sm-12
    > .vc_column-inner,
  .homepageRow.heroSectionRow
    .heroBackground.vc_row-has-fill
    > .vc_col-sm-12
    > .vc_column-inner {
    margin-left: -15px;
  }

  /* maior margem nos apartamentos */
  /* body:has(.apartamentosRow) .heroSectionContent .heroPre p {
    margin-bottom: 50px !important;
  }
  body:has(.apartamentosRow) .heroSectionContent .heroDesc {
    margin-bottom: 50px !important;
  } */

  .heroSectionContent {
    width: 950px;
    bottom: 50%;
  }

  .heroLocation p {
    font-size: 24px;
    margin-top: 140px;
  }

  .heroSectionRow h1 {
    font-size: 64px;
  }
}

/* 1950px and below */
@media (min-width: 1950px) {
  footer {
    background: linear-gradient(
      to top,
      var(--black) 0%,
      var(--black) 60%,
      var(--white) 60%,
      var(--white) 100%
    );
  }
  .quemSomosSection::before {
    transform: translate(-50%, 0px) rotate(347.8deg);
  }
}

/* 1750px and below */
@media print, screen and (max-width: 1750px) {
  h1 {
    font-size: 70px;
  }

  h2 {
    font-size: 60px;
  }

  h3 {
    font-size: 40px;
  }

  h4,
  h5,
  h6 {
    font-size: 30px;
  }

  p,
  a,
  label,
  input,
  select,
  textarea,
  option,
  li,
  span,
  button {
    font-size: 18px;
  }

  /* ========================================================================== */
  /*                             	Legal Pages (Reference)                      */
  /* ========================================================================== */
  .legalPage {
    padding-bottom: 80px;
    padding-top: 80px;
  }

  .legalPage h2 {
    font-size: 28px;
    line-height: 38px;
  }

  /* -------------------------------------------------------------------------
   9. FOOTER
   ------------------------------------------------------------------------- */
  footer {
    /* background: linear-gradient(
      11deg,
      var(--black) 0%,
      var(--black) 60%,
      var(--white) 60%,
      var(--white) 100%
    ); */
  }

  /* QUEM SOMOS SECTION */
  .quemSomosContent {
    max-width: 660px;
    padding-top: 150px;
    padding-bottom: 150px;
  }

  .quemSomosContent h5 {
    font-size: 22px;
  }
  .quemSomosContent h6 {
    font-size: 28px;
    margin-bottom: 22px;
  }

  .quemSomosSection::before {
    width: calc(2397px * 0.9);
    height: calc(1099px * 0.9);
  }

  .madreLogoWrapper {
    margin-top: 90px;
  }

  .madreLogoWrapper a {
    font-size: 15px;
  }

  .footerlogoWrapper img {
    width: calc(335px * 0.9);
    height: calc(100px * 0.9);
  }

  /* ==================================================================================== */
  /*                              	       HOMEPAGE         		                          */
  /* ==================================================================================== */

  /* *********** heroSectionRow ************/
  .heroSectionRow .heroBackground.vc_row-has-fill {
    /*min-height: 1000px;*/
  }

  .heroSectionRow:not(.hero-noor) .heroSectionContent {
    width: 1000px;
    bottom: 50%;
  }

  .heroPre p {
    font-size: 22px;
  }

  .heroDesc {
    max-width: 390px;
    margin-block: 20px 32px !important;
  }

  .heroLocation p {
    font-size: 27px;
  }

  .hero-noor h1 {
    font-size: 80px;
  }

  /* maior margem nos apartamentos */
  /* body:has(.apartamentosRow) .heroSectionContent .heroPre p {
    margin-bottom: 40px !important;
  }
  body:has(.apartamentosRow) .heroSectionContent .heroDesc {
    margin-bottom: 40px !important;
  } */

  /* *********** masterplanSection ************/
  .masterplanSection > div > div > .wpb_wrapper {
    max-width: 991px;
  }

  .masterplanSection > div > div > .wpb_wrapper > .wpb_text_column {
    max-width: 400px;
    /* margin-top: 30px; */
  }

  .masterplanSection > div > div > .wpb_wrapper > .wpb_single_image {
    margin-top: -30px;
  }

  .masterplanSection .vc_row > div > div > div {
    gap: 48px;
    margin-top: 30px;
  }

  /* ==================================================================================== */
  /*                                  DETALHE APARTAMENTO     	                          */
  /* ==================================================================================== */
  /* *********** descubraSection ************/
}

/* 1550px and below */
@media print, screen and (max-width: 1550px) {
  :root {
    --header-height: 150px;
    --padding-inline: 40px;
    --paddingVert: 60px;
  }
  h1 {
    font-size: 60px;
  }

  h2 {
    font-size: 48px;
  }

  h3 {
    font-size: 30px;
  }

  h4,
  h5,
  h6 {
    font-size: 26px;
  }

  p,
  a,
  label,
  input,
  select,
  textarea,
  option,
  li,
  span,
  button {
    font-size: 16px;
  }

  /* ==========================================================================
   BOTÕES - RESET E ESTILOS PERSONALIZADOS
   ========================================================================== */

  /* --------------------- BUTTONS --------------------- */
  /* botão principal amarelo */
  button.mainButton,
  .vc_btn3-container.mainButton a {
    padding: 12px 16px;
    font-size: 12px;
    letter-spacing: 1.58px;
  }

  button.mainButton.special,
  .vc_btn3-container.mainButton.special a {
    padding: 14px 56px;
    font-size: 16px;
  }

  /* -------------------------------------------------------------------------
   5. FORM COMPONENTS
   ------------------------------------------------------------------------- */

  /* General form elements */
  .inputForm,
  form
    input:not(
      input[type="button"],
      input[type="checkbox"],
      input[type="submit"],
      .quform select
    ) {
    padding: 10px 18px !important;
  }

  .quform-spacer {
    padding: 0 0 5px 0;
    margin: 0 0 5px 0;
  }

  .quform .select2-container {
    padding: 7px;
  }

  /* Quform specific styles */
  .quform textarea {
    padding: 18px 18px !important;
  }

  .quform .quform-element-textarea .quform-label-text {
    margin: 14px 22px;
  }

  .quform-element-submit {
    margin-top: 30px;
  }

  .quform-element-submit button {
    padding: 12px 18px;
  }

  .quform-element-submit button span {
    font-size: 13px;
  }
  .quform .quform-field-textarea {
    height: 70px;
  }
  .quform label,
  .quform-label > label[for],
  .quform .quform-input.quform-input-select select,
  .select2-container--quform .select2-selection .select2-selection__rendered,
  .quform .quform-field-textarea::placeholder {
    font-size: 11px;
    letter-spacing: 2px;
  }
  .quform .quform-input.quform-input-select select {
    padding-block: 16px !important;
  }

  /* ========================================================================== */
  /*                             	Legal Pages (Reference)                      */
  /* ========================================================================== */
  /* .legalPage {
    padding-bottom: 80px;
    padding-top: 80px;
  } */

  .legalPage h2 {
    font-size: 26px;
    line-height: 32px;
    margin: 18px 0px;
  }

  /* -------------------------------------------------------------------------
   8. HEADER & NAVIGATION
   ------------------------------------------------------------------------- */

  .headerMenuWrapper ul {
    gap: 30px;
  }

  .headerMenuWrapper {
    gap: 60px;
  }
  .wpml-ls ul {
    gap: 10px;
  }
  .headerLogo {
    width: calc(267px * 0.65);
    height: calc(80px * 0.65);
  }

  header.header-colored .headerLogo {
    width: calc(267px * 0.6);
    height: calc(80px * 0.6);
  }
  .headerMenuWrapper a,
  .headerMenuWrapper span,
  .headerMenuWrapper p {
    font-size: 12px;
    letter-spacing: 1.48px;
  }

  header.header-colored {
    padding: 20px var(--padding-inline);
  }

  header {
    padding: 16px var(--padding-inline);
  }

  .teimoso {
    padding: 13px 25px;

    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    gap: 10px;
    font-size: 13px;
    letter-spacing: 1.58px;

    margin-right: -8px;
  }

  .teimoso img {
    width: 16px;
    height: 18px;
  }

  /* -------------------------------------------------------------------------
   9. FOOTER
   ------------------------------------------------------------------------- */
  footer {
    /* background: linear-gradient(
      11deg,
      var(--black) 0%,
      var(--black) 60%,
      var(--white) 60%,
      var(--white) 100%
    ); */
  }

  /* QUEM SOMOS SECTION */
  .quemSomosContent {
    max-width: 610px;
    padding-top: 110px;
    padding-bottom: 110px;
  }

  .quemSomosContent h5 {
    font-size: 20px;
  }
  .quemSomosContent h6 {
    font-size: 26px;
    margin-bottom: 18px;
  }

  .quemSomosSection::before {
    width: calc(2397px * 0.7);
    height: calc(1099px * 0.7);
  }

  .madreLogoWrapper {
    margin-top: 50px;
    gap: 8px;
  }

  .madreLogoWrapper a {
    font-size: 13px;
  }

  .madreLogo {
    width: calc(195px * 0.8);
    height: calc(146px * 0.8);
    object-fit: contain;
  }

  .footerlogoWrapper img {
    width: calc(335px * 0.8);
    height: calc(100px * 0.8);
  }
  .footerlogoWrapper {
    margin-bottom: 50px;
  }

  /* ==================================================================================== */
  /*                              	       HOMEPAGE         		                          */
  /* ==================================================================================== */

  /* *********** heroSectionRow ************/
  .heroSectionRow .heroBackground.vc_row-has-fill {
    /*min-height: 780px;*/
  }

  .heroSectionRow:not(.hero-noor) .heroSectionContent {
    width: 850px;
  }

  .heroPre p {
    font-size: 18px;
  }

  .heroDesc {
    max-width: 360px;
    margin-block: 20px 32px !important;
  }

  .heroLocation p {
    font-size: 24px;
  }

  /* *********** masterplanSection ************/
  .masterplanSection > div > div > .wpb_wrapper {
    max-width: 900px;
  }

  .masterplanSection > div > div > .wpb_wrapper > .wpb_text_column {
    max-width: 340px;
    margin-top: 24px;
  }

  .masterplanSection > div > div > .wpb_wrapper > .wpb_single_image {
    margin-top: -30px;
  }
  /*  .masterplanSection > div > div > .wpb_wrapper > .wpb_single_image img {
    height: 350px;
    width: auto;
    object-fit: contain;
  }*/

  .masterplanSection .vc_row > div > div > div {
    gap: 30px;
    margin-top: 20px;
  }

  /* *********** doubleColSection ************/

  .transforma-slide,
  .transforma-slide .slick-slider {
    height: fit-content;
  }

  .doubleColSection .maskCol.vc_col-has-fill > .vc_column-inner {
    max-height: 600px;
    min-height: 500px;
  }

  .doubleColSection .maskCol p {
    font-size: 24px;
    margin: 32px 46px !important;
  }

  /* COL COM TEXTO */
  .doubleColSection .infoCol .vc_column-inner {
    max-width: calc(420px + 30px);
    margin-left: 50px;
    margin-bottom: 60px;
  }

  /* texto na esquerda */
  .doubleCol-imgLeft .infoCol .vc_column-inner {
    margin-right: 60px;
  }

  .infoCol .wpb_text_column {
    margin-block: 32px 60px !important;
  }

  .infoCol .wpb_wrapper .mainButton {
    margin-right: 12px;
  }
  .floatingLeaf {
    position: absolute;
    top: 70px;
    right: 100px;
  }

  .doubleCol-imgLeft .floatingLeaf {
    left: 100px;
    right: unset;
  }
  /* *********** slideActSection ************/

  /* *********** descobertaSection ************/
  .descobertaSection .wpb_single_image img {
    height: calc(783px * 0.8);
    width: calc(1176px * 0.8);
    object-fit: contain;
  }

  .descobertaSection .vc_row {
    margin-top: -30px;
  }
  .descobertaSection .vc_row > div > div > .wpb_wrapper {
    max-width: 490px;
  }

  .descobertaSection .vc_custom_heading {
    margin-bottom: 24px;
  }
  /* *********** googleMapsSection ************/
  /* *********** contactSection ************/
  /* icone mail */
  .contactSection .wpb_single_image img {
    width: calc(38px * 0.8);
    height: calc(34px * 0.8);
  }

  /* texto localizacao */
  .contactSection
    > div
    > .vc_column-inner
    > .wpb_wrapper
    > .wpb_text_column
    p:not(.quform p) {
    font-size: 26px;
    letter-spacing: 1.3px;
    margin-block: 22px 3px;
  }
  .contactSection .company-email-link {
    font-size: 12px;
    letter-spacing: 3px;
  }
  .contactSection .quform {
    padding: 45px 70px;
    max-width: 768px;
    margin-top: 32px;
  }

  .contactSection .quform .quform-element-html p {
    font-size: 23px;
    line-height: 126.667%;
    margin-bottom: 24px;
  }
  /* ==================================================================================== */
  /*                                  DETALHE APARTAMENTO     	                          */
  /* ==================================================================================== */

  /* *********** slideAmenitiesSection ************/

  .slideAmenitiesSection .wpb_column:nth-child(1):before {
    width: 1047px;
    height: 681px;
    left: -200px;
    top: -40px;
  }

  .slideAmenitiesSection .wpb_single_image {
    margin-bottom: 70px !important;
  }
  .slideAmenitiesSection .wpb_single_image img {
    width: calc(260px * 0.9);
    height: calc(78px * 0.9);
  }

  .slideAmenitiesSection .wpb_column:nth-child(1) > div > div {
    max-width: 260px;
    margin-left: auto;
    margin-right: 30px;
  }
  /* *********** apartMasterplanSection ************/

  .apartMasterplanSection > .wpb_column:nth-child(1) img {
    height: 600px;
  }

  .apartMasterplanSection .vc_row {
    display: flex;
    justify-content: center;
    margin-block: 50px 30px;
    gap: 15px;
  }
  .apartMasterplanSection .vc_row .wpb_column::before {
    right: -10px;
  }

  .apartMasterplanSection .vc_row img {
    width: auto;
    height: 40px;
    object-fit: contain;
  }

  .apartMasterplanSection .vc_row .wpb_column .wpb_text_column:nth-child(2) {
    margin-block: 22px 0px !important;
  }
  .apartMasterplanSection .vc_row .wpb_column .wpb_text_column:nth-child(2) p {
    font-size: 20px;
  }
  .apartMasterplanSection
    > .wpb_column:nth-child(2)
    > div
    > div
    > .wpb_text_column
    p {
    font-size: 16px;
    letter-spacing: 3.6px;
  }

  .apartMasterplanSection .vc_row .wpb_column::before {
    top: 13px;
  }

  .apartMasterplanSection > .wpb_column:nth-child(2):before {
    content: "";
    background-image: url(/wp-content/uploads/orange-leaf-2-scaled.webp);
    background-position: right;
    background-repeat: no-repeat;
    background-size: contain;
    height: 2886.684px;
    width: 1411px;
    transform: rotate(63deg);
    position: absolute;
    /* top: -950px;   */
    top: -120%;

    right: -60px;
  }

  body:has(.apartamentosRow)::before {
    content: "";
    height: 3000px;
  }

  .apartMasterplanSection > .wpb_column:nth-child(2) > div img {
    height: 42px;
    width: auto;
    object-fit: contain;
  }

  /* *********** descubraSection ************/

  .descubraSection .vc_custom_heading {
    margin-bottom: 40px !important;
  }

  .apt-info-wrapper {
    max-width: 1150px;
    padding: 40px;
  }

  .apt-main-title {
    font-size: 28px;
  }

  .apt-unidades-wrapper span {
    font-size: 16px;
  }

  .apt-tab-btn {
    padding: 22px 9px;
    font-size: 20px;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
  }

  .apt-flex-container {
    gap: 50px;
  }

  .apt-col-info {
    flex: 1;
    margin-top: 40px;
    max-width: 300px;
  }

  /* Lista de Detalhes */
  .apt-details-list {
    gap: 16px;
  }

  .apt-details-list li {
    gap: 20px;
  }

  .apt-details-list li,
  .apt-details-list span {
    font-size: 17px;
  }
}

/* 1440px and below */
@media only screen and (max-width: 1440px) {
  /* ==================================================================================== */
  /*                              	       HOMEPAGE         		                          */
  /* ==================================================================================== */
  /* *********** descobertaSection ************/
  .descobertaSection .wpb_single_image img {
    height: 37vw;
    width: auto;
  }

  .descobertaSection .vc_row {
    margin-top: -20px;
  }
  /* .descobertaSection .vc_row > div > div > .wpb_wrapper {
    max-width: 490px;
  } */

  .descobertaSection .vc_custom_heading {
    margin-bottom: 18px;
  }
}

/* 1280px and below */
@media only screen and (max-width: 1280px) {
  h1 {
    font-size: 54px;
  }

  /* ==================================================================================== */
  /*                                        HOMEPAGE           	                          */
  /* ==================================================================================== */
  /* *********** heroSectionRow ************/
  .heroSectionRow .heroBackground.vc_row-has-fill {
    /*min-height: 690px;*/
  }

  .heroSectionRow:not(.hero-noor) .heroSectionContent {
    width: 750px;
  }

  .heroPre p {
    font-size: 16px;
  }

  .heroDesc {
    max-width: 360px;
    margin-block: 20px 32px !important;
  }

  .heroLocation p {
    font-size: 18px;
  }

  .hero-noor h1 {
    font-size: 70px;
  }

  .hero-noor .heroPre p {
    font-size: 16px;
  }

  .hero-noor .heroDesc p {
    font-size: 20px;
  }

  .hero-content-wrap {
    left: 22%;
  }

  .hero-noor .heroLocation {
    right: 115px;
  }

  /* --- */
  .all-apartments .filtros-ordenacao {
    position: relative;
  }

  .doubleColSection .maskCol.vc_col-has-fill > .vc_column-inner {
    min-height: 400px;
    max-height: 500px;
  }
  /* ==================================================================================== */
  /*                                  DETALHE APARTAMENTO     	                          */
  /* ==================================================================================== */
  /* *********** descubraSection ************/

  .descubraSection .vc_custom_heading {
    margin-bottom: 24px !important;
  }

  .apt-info-wrapper {
    max-width: 900px;
    padding: 30px;
  }

  .apt-main-title {
    font-size: 24px;
  }

  .apt-unidades-wrapper span {
    font-size: 14px;
  }

  .apt-tab-btn {
    padding: 18px 6px;
    font-size: 18px;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }

  .apt-flex-container {
    gap: 32px;
  }

  .apt-col-info {
    margin-top: 24px;
    max-width: 260px;
  }

  .apt-details-list li,
  .apt-details-list span {
    gap: 18px;
  }

  .apt-details-list li,
  .apt-details-list span {
    font-size: 14px;
  }
}

/* 1200px and below */
@media print, screen and (max-width: 1200px) {
  :root {
    --header-height: 110px;
    --padding-inline: 30px;
    --paddingVert: 50px;
  }
  /* h1 {
    font-size: 46px;
  }

  h2 {
    font-size: 36px;
  }

  h3 {
    font-size: 28px;
  }

  h4,
  h5,
  h6 {
    font-size: 24px;
  } */

  /* ==================================================================================== */
  /*                                  DETALHE APARTAMENTO     	                          */
  /* ==================================================================================== */

  /* *********** slideAmenitiesSection ************/

  .slideAmenitiesSection .wpb_column:nth-child(1):before {
    width: calc(1047px * 0.7);
    height: calc(681px * 0.7);
    left: -200px;
    top: -40px;
  }

  .slideAmenitiesSection .wpb_single_image {
    margin-bottom: 40px !important;
  }
  .slideAmenitiesSection .wpb_single_image img {
    width: calc(260px * 0.8);
    height: calc(78px * 0.8);
  }

  .slideAmenitiesSection .wpb_column:nth-child(1) > div > div {
    max-width: 260px;
    margin-left: auto;
    margin-right: 20px;
  }
  /* *********** apartMasterplanSection ************/

  .apartMasterplanSection > .wpb_column:nth-child(2) > div {
    align-items: flex-start;
    margin-left: 0px;
  }

  body:has(.apartamentosRow)::before {
    content: "";
    height: 1700px;
  }
  .apartMasterplanSection > .wpb_column:nth-child(2):before {
    height: 1800px;
    width: 1411px;
    top: -100%;
    right: -60px;
  }

  .apartMasterplanSection > .wpb_column:nth-child(1) img {
    height: 400px;
  }
}

@media print, screen and (max-width: 1100px) {
  h1 {
    font-size: 48px;
  }
  /* ==================================================================================== */
  /*                                        HOMEPAGE           	                          */
  /* ==================================================================================== */
  /* *********** heroSectionRow ************/
  .heroSectionRow .heroBackground.vc_row-has-fill {
    /*min-height: 630px;*/
  }

  .heroSectionRow:not(.hero-noor) .heroSectionContent {
    width: 650px;
  }

  .heroPre p {
    font-size: 15px;
  }

  .heroDesc {
    max-width: 360px;
    margin-block: 18px 24px !important;
  }

  .heroLocation p {
    font-size: 16px;
    /*margin-top: 100px;*/
  }

  .hero-content-wrap {
    left: 20%;
  }
}

/* 1024px and below - Tablet & Mobile Header/Menu */
@media print, screen and (max-width: 1024px) {
  .wrapper-header {
    flex-direction: row;
  }
  .wpml-ls-legacy-list-horizontal:not(
    .menu-mobile .wpml-ls-legacy-list-horizontal
  ),
  .main-menu-wrapper,
  .fakeIdioma:not(.menu-mobile .fakeIdioma) {
    display: none;
  }

  .menu-mobile .fakeIdioma {
    color: var(--black);
    font-size: 18px;
    line-height: 1;
  }

  .burguer {
    height: 20px;
    width: 20px;
    display: block;
    transition: all 300ms linear;
    position: relative;
  }

  .burguer.open {
    height: 25px;
    width: 25px;
  }

  .burguer .line {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 2px;
    width: 100%;
    background-color: var(--black);
    transition: all linear 300ms;
    border-radius: var(--border-radius);
  }

  .burguer .line:nth-child(1),
  .burguer .line:nth-child(2),
  .burguer .line:nth-child(3) {
    top: 0%;
    opacity: 1;
  }

  .burguer .line:nth-child(2) {
    top: 50%;
  }

  .burguer .line:nth-child(3) {
    top: 100%;
  }

  .burguer.open .line:nth-child(1) {
    width: 100%;
    top: 50%;
    transform: rotate(45deg);
  }

  .burguer.open .line:nth-child(2) {
    opacity: 0;
  }

  .burguer.open .line:nth-child(3) {
    width: 100%;
    top: 50%;
    transform: rotate(-45deg);
  }

  .menu-mobile {
    display: block;
    position: fixed;
    top: 0px;
    right: 0px;
    height: 100dvh;
    width: 100%;
    z-index: 9980;
    background-color: var(--white);
    transform: translate(0%, -100%);
    transition: all 500ms linear;
    padding: var(--padding-inline);
    padding-top: calc(var(--header-height) + 20px);
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .menu-mobile::after {
    content: "";
    background-image: url(/wp-content/uploads/shape-scaled.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    filter: contrast(0.5);
    pointer-events: none;
  }

  .menu-mobile.open {
    transform: translateY(0%);
    transition: all 500ms linear;
  }

  .menu-mobile ul {
    display: grid;
    gap: 30px;
  }

  .menu-mobile ul li {
    width: fit-content;
  }

  .menu-mobile ul li a {
    font-size: 32px;
    line-height: 1;
    color: var(--black);
    display: block;
    font-weight: 300;

    letter-spacing: 1.68px;
    text-transform: uppercase;
    transition: font-weight 0.3s ease;
    transition: text-shadow 0.3s ease;
    text-shadow: 0 0 0 transparent;
  }

  .menu-mobile .menu-item-has-children ul {
    padding-left: 50px;
    margin-top: 20px;
  }

  .wpml-ls ul {
    gap: 10px;
    display: flex !important;
  }
  /* ==================================================================================== */
  /*                                  DETALHE APARTAMENTO     	                          */
  /* ==================================================================================== */
  /* *********** descubraSection ************/
}

/* 991px and below - Tablet Landscape */
@media only screen and (max-width: 991px) {
  .backgroundVideo .container-video video,
  .backgroundVideo .container-video img {
    max-height: unset;
    height: 100dvh !important;
    min-height: unset;
  }

  /* ==================================================================================== */
  /*                              	      HEADER     		                          */
  /* ==================================================================================== */
  .teimoso {
    top: unset;
    bottom: 70px;
    padding: 10px 22px;

    gap: 8px;
    font-size: 12px;
    letter-spacing: 1.48px;

    margin-right: -6px;
  }

  .teimoso img {
    width: 14px;
    height: 16px;
  }

  .teimoso:hover {
    margin-right: -6px;
  }

  /* ==========================================================================
   BOTÕES - RESET E ESTILOS PERSONALIZADOS
   ========================================================================== */

  /* --------------------- BUTTONS --------------------- */
  /* botão principal amarelo */
  button.mainButton,
  .vc_btn3-container.mainButton a {
    padding: 9px 13px;
    font-size: 10px;
    letter-spacing: 1.38px;
  }

  button.mainButton.special,
  .vc_btn3-container.mainButton.special a {
    padding: 14px 64px;

    font-size: 16px;
  }

  /* ==================================================================================== */
  /*                                        HOMEPAGE           	                          */
  /* ==================================================================================== */
  /* *********** heroSectionRow ************/
  .heroSectionRow .heroBackground.vc_row-has-fill {
    /*min-height: 550px;*/
    max-height: 700px;
    height: 100vh;
    background-size: cover !important;
  }

  .heroSectionContent {
    width: 750px;
  }
  /* *********** masterplanSection ************/
  /* *********** doubleColSection ************/

  .doubleColSection .maskCol.vc_col-has-fill > .vc_column-inner {
    max-height: 500px;
    min-height: 350px;
  }

  .doubleColSection .maskCol p {
    font-size: 20px;
    margin: 24px 32px !important;
  }

  /* COL COM TEXTO */
  .doubleColSection .infoCol .vc_column-inner {
    max-width: calc(350px + 30px);
    margin-left: 32px;
    margin-bottom: 40px;
  }

  /* texto na esquerda */
  .doubleCol-imgLeft .infoCol .vc_column-inner {
    margin-right: 32px;
  }

  .infoCol .wpb_text_column {
    margin-block: 24px 40px !important;
  }

  .infoCol .wpb_wrapper .mainButton {
    margin-right: 8px;
  }
  .floatingLeaf {
    position: absolute;
    top: 70px;
    right: 70px;
  }

  .floatingLeaf img {
    width: calc(105px * 0.6);
    height: calc(105px * 0.6);
  }

  .doubleCol-imgLeft .floatingLeaf {
    left: 70px;
    right: unset;
  }

  .doubleColSection.descoberta-block
    .maskCol.vc_col-has-fill
    > .vc_column-inner {
    border-top-left-radius: 40vh;
  }

  .descoberta-block .infoCol {
    left: 30%;
  }

  .googleMapsSection {
    padding-top: 100px !important;
  }

  /* *********** slideActSection ************/
  /* *********** descobertaSection ************/
  /* *********** googleMapsSection ************/
  /* *********** contactSection ************/
  /* ==================================================================================== */
  /*                                  DETALHE APARTAMENTO     	                          */
  /* ==================================================================================== */

  /* *********** slideAmenitiesSection ************/

  .slideAmenitiesSection .wpb_column:nth-child(1):before {
    width: calc(1047px * 0.7);
    height: calc(681px * 0.7);
    left: -200px;
    top: -100px;
  }

  .slideAmenitiesSection .wpb_single_image {
    margin-bottom: 30px !important;
  }
  .slideAmenitiesSection .wpb_single_image img {
    width: calc(260px);
    height: calc(78px);
  }

  .slideAmenitiesSection .wpb_column:nth-child(1) > div > div {
    max-width: 250px;
    margin-left: unset;
    margin-right: 0px;
  }

  .slideAmenitiesSection .wpb_column:nth-child(1) {
    margin-bottom: 30px;
  }

  /* *********** apartMasterplanSection ************/
  .apartMasterplanSection {
    display: flex;
    flex-direction: column-reverse !important;
    align-items: center !important;
    gap: 20px;
  }
  .apartMasterplanSection .vc_custom_heading {
    /* margin-block: 40px !important; */
  }
  .apartMasterplanSection > .wpb_column:nth-child(2) > div {
    align-items: flex-start;
    margin-left: 0px;
  }

  body:has(.apartamentosRow)::before {
    content: "";
    height: 1700px;
  }
  .apartMasterplanSection > .wpb_column:nth-child(2):before {
    height: 1800px;
    width: 1411px;
    top: -180%;
    right: -250px;
  }

  .apartMasterplanSection > .wpb_column:nth-child(1) img {
    height: auto;
    max-width: 600px;
    width: 100%;
    object-fit: contain;
  }

  .apartMasterplanSection
    > .wpb_column:nth-child(1)
    .wpb_single_image.vc_align_right {
    text-align: center;
  }
  /* *********** descubraSection ************/
  .descubraSection {
    padding-left: calc(var(--padding-inline) + 30px);
  }

  .apt-info-wrapper {
    max-width: 900px;
    padding: 30px;
  }

  .apt-main-title {
    font-size: 20px;
  }

  .apt-unidades-wrapper span {
    font-size: 13px;
  }

  .apt-tab-btn {
    padding: 18px 6px;
    font-size: 16px;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }

  .apt-flex-container {
    gap: 24px;
  }

  .apt-col-info {
    margin-top: 24px;
    max-width: 230px;
  }

  /* Lista de Detalhes */
  .apt-details-list li,
  .apt-details-list span,
  .apt-details-list {
    gap: 15px;
  }

  .apt-details-list li,
  .apt-details-list span {
    font-size: 13px;
  }
}

/* 767.5px and below */
@media only screen and (max-width: 767.5px) {
  :root {
    --header-height: 120px;
    --padding-inline: 30px;
    --paddingVert: 40px;
  }
  h1 {
    font-size: 44px;
  }

  h2 {
    font-size: 38px;
  }

  h3 {
    font-size: 26px;
  }

  h4,
  h5,
  h6 {
    font-size: 22px;
  }

  /* ========================================================================== */
  /*                             	Legal Pages (Reference)                      */
  /* ========================================================================== */
  .legalPage {
    padding-bottom: 60px;
    padding-top: 60px;
  }

  .legalPage h2 {
    font-size: 22px;
    line-height: 28px;
    margin: 16px 0px;
  }

  /* ==================================================================================== */
  /*                              	       HOMEPAGE         		                          */
  /* ==================================================================================== */
  .heroSectionContent {
    width: calc(100% - 30px);
    padding: var(--padding-inline);
    bottom: 50%;
    /* height: 100%; */
    /* position: relative; */
    left: 0px;
    transform: translateX(30px) translateY(50%);
  }
  /* *********** masterplanSection ************/
  /* *********** doubleColSection ************/

  .doubleColSection .maskCol.vc_col-has-fill > .vc_column-inner {
    max-height: 350px;
    min-height: 250px;
  }

  .doubleColSection .maskCol p {
    font-size: 20px;
    margin: 18px 18px !important;
  }

  /* COL COM TEXTO */
  .doubleColSection .infoCol .vc_column-inner {
    max-width: calc(350px + 30px);
    margin-left: 0px;
    margin-bottom: 0px;
  }

  .infoCol {
    padding-top: 30px;
    padding-inline: var(--padding-inline) !important;
  }

  /* texto na esquerda */
  .doubleCol-imgLeft .infoCol .vc_column-inner {
    margin-right: 0px;
  }

  .infoCol .wpb_text_column {
    margin-block: 24px 40px !important;
  }

  .infoCol .wpb_wrapper .mainButton {
    margin-right: 8px;
  }

  .doubleCol-imgLeft {
    display: flex;
    flex-direction: column-reverse;
  }
  .doubleCol-imgLeft .floatingLeaf {
    left: unset;
    right: 70px;
  }

  .floatingLeaf {
    display: none;
  }

  /* *********** slideActSection ************/
  /* *********** descobertaSection ************/
  /* *********** googleMapsSection ************/
  /* *********** contactSection ************/

  /* texto localizacao */
  .contactSection
    > div
    > .vc_column-inner
    > .wpb_wrapper
    > .wpb_text_column
    p:not(.quform p) {
    font-size: 24px;
    letter-spacing: 1.2px;
    margin-block: 18px 3px;
  }

  .contactSection .quform {
    padding: 50px 50px;
    max-width: 768px;
    margin-top: 32px;
  }

  .contactSection .quform .quform-element-html p {
    font-size: 20px;
    margin-bottom: 20px;
  }
  /* ==================================================================================== */
  /*                                  DETALHE APARTAMENTO     	                          */
  /* ==================================================================================== */

  /* *********** slideAmenitiesSection ************/
  /* *********** apartMasterplanSection ************/
  .apartMasterplanSection > .wpb_column:nth-child(2) > div {
    align-items: center;
  }

  body:has(.apartamentosRow)::before {
    content: "";
    height: 1500px;
  }
  .apartMasterplanSection > .wpb_column:nth-child(2):before {
    top: -200%;
    right: -250px;
  }

  .apartMasterplanSection
    > .wpb_column:nth-child(1)
    .wpb_single_image.vc_align_right {
    text-align: center;
  }
  /* *********** descubraSection ************/

  .apt-info-wrapper {
    padding: 24px;
  }

  .apt-flex-container {
    gap: 24px;
    display: flex;
    flex-direction: column;
  }

  .apt-col-info {
    margin-top: 24px;
    max-width: unset;
    width: 100%;
  }
  .apt-details-list {
    display: grid;
    grid-template-columns: repeat(2, auto);
  }
}

/* 600px and below */
@media only screen and (max-width: 600px) {
  .apartMasterplanSection > .wpb_column:nth-child(1) .masterplan-noor1 img {
    width: 100% !important;
    margin-left: 0%;
  }
  :root {
    --paddingVert: 30px;
  }
  h1 {
    font-size: 40px;
  }

  h2 {
    font-size: 30px;
  }

  h3 {
    font-size: 22px;
  }

  h4,
  h5,
  h6 {
    font-size: 20px;
  }

  /* -------------------------------------------------------------------------
   8. HEADER & NAVIGATION
   ------------------------------------------------------------------------- */
  .menu-mobile ul li a {
    font-size: 24px;
    letter-spacing: 1.2px;
  }

  .menu-mobile .menu-item-has-children ul {
    padding-left: 40px;
    margin-top: 18px;
  }

  .teimoso {
    top: unset;
    bottom: 70px;
    padding: 8px 10px;
    gap: 6px;
    font-size: 10px;
    letter-spacing: 1.2px;
    margin-right: -6px;
  }

  .teimoso img {
    width: 12px;
    height: 14px;
  }

  /* -------------------------------------------------------------------------
   9. FOOTER
   ------------------------------------------------------------------------- */

  .bottomFooter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-direction: column-reverse;
  }

  .bottomFooter ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-direction: column;
  }

  /* ==================================================================================== */
  /*                              	       HOMEPAGE         		                          */
  /* ==================================================================================== */
  /* *********** heroSectionRow ************/
  .heroSectionRow .heroBackground.vc_row-has-fill {
    /*min-height: 350px;*/
    /*max-height: 600px;*/
    max-height: 100vh;
  }

  .heroPre p {
    font-size: 13px;
  }

  .heroDesc {
    /* max-width: unset; */
    margin-block: 18px 24px !important;
  }

  .heroLocation p {
    font-size: 12px;
  }

  .hero-noor h1 {
    font-size: 60px;
  }

  .hero-noor .heroPre p {
    font-size: 14px;
  }

  .hero-noor .heroDesc {
    margin-top: 40px !important;
  }

  .hero-noor .heroDesc p {
    font-size: 18px;
  }

  .hero-content-wrap {
    left: 30px;
  }

  .heroSectionRow:not(.hero-noor) .heroSectionContent {
    width: 400px;
  }

  .hero-noor .heroSectionContent {
    left: 30px;
  }

  .hero-noor .heroLocation {
    top: 70%;
    right: 30px;
  }

  .vc_row.wpb_row.vc_row-fluid.apartamentosRow.doubleColSection.hasLeafBehind.verticalPadding {
    padding-top: 100px;
  }

  /* *********** masterplanSection ************/
  .masterplanSection > div > div > .wpb_wrapper > .wpb_text_column {
    max-width: 340px;
    margin-top: 20px;
  }
  .masterplanSection > div > div > .wpb_wrapper > .wpb_single_image img {
    height: auto;
    width: 100%;
    object-fit: contain;
  }
  .masterplanSection > div > div > .wpb_wrapper > .wpb_single_image {
    margin-top: 10px;
  }
  .masterplanSection .vc_row > div > div > div {
    gap: 20px;
    margin-top: 20px;
  }
  /* *********** descobertaSection ************/
  .descobertaSection .wpb_single_image img {
    height: auto;
    width: 100vw;
    object-fit: contain;
  }

  .descobertaSection .vc_row {
    margin-top: 100px;
    display: flex;
    flex-direction: column;
  }
  .descobertaSection .vc_custom_heading {
    margin-bottom: 24px;
  }

  .doubleColSection.descoberta-block
    .maskCol.vc_col-has-fill
    > .vc_column-inner {
    border-top-left-radius: 60px;
  }

  .descoberta-block .infoCol {
    left: 30px;
    top: 30px;
  }

  /* ==================================================================================== */
  /*                                  DETALHE APARTAMENTO     	                          */
  /* ==================================================================================== */

  /* *********** slideAmenitiesSection ************/
  /* *********** apartMasterplanSection ************/
  .apartMasterplanSection .vc_custom_heading {
    margin-bottom: 00px !important;
  }
  .apartMasterplanSection .vc_row {
    display: flex;
    justify-content: center;
    margin-block: 30px 30px;
  }
  .apartMasterplanSection .vc_row .wpb_column .wpb_text_column:nth-child(2) p {
    font-size: 16px !important;
  }
  .apartMasterplanSection
    > .wpb_column:nth-child(2)
    > div
    > div
    > .wpb_text_column
    p {
    font-size: 12px;
    letter-spacing: 3.2px;
  }
  .apartMasterplanSection > .wpb_column:nth-child(2) > div img {
    height: 35px;
    width: auto;
  }
  .apartMasterplanSection .vc_row .wpb_column::before {
    top: 13px;
  }

  .apartMasterplanSection .vc_row .wpb_column .wpb_text_column:nth-child(2) {
    margin-block: 20px 0px !important;
  }
  /* *********** descubraSection ************/
  .apt-main-title {
    font-size: 18px;
  }

  .descubraSection {
    padding-left: calc(var(--padding-inline));
  }
  .apt-details-list {
    display: grid;
    grid-template-columns: auto;
    gap: 10px !important;
  }

  .apt-info-wrapper {
    padding: 20px;
  }

  .descubraSection .vc_custom_heading {
    margin-bottom: 50px !important;
  }
  .apt-details-list span {
    text-align: right;
  }
  .apt-tabs-nav {
    flex-direction: row;

    left: 50%;
    transform: translateX(-50%) translateY(-100%);
    top: -3px;
  }

  .apt-tab-btn {
    padding: 5px 16px;
    font-size: 15px;
    border: 0px;
    border-radius: 0px;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    border: 2px solid var(--orange);
    border-bottom: unset;
    height: 100%;
  }

  .apt-tab-btn:hover,
  .apt-tab-btn.active {
    width: 100%;
    padding-bottom: 15px;
    transform: translateX(0px) !important;
  }

  .apt-tabs-nav {
    align-items: flex-end;
  }

  .apt-flex-container {
    gap: 24px;
    display: flex;
    flex-direction: column;
  }

  .apt-col-info {
    margin-top: 20px;
  }
  /* .apt-details-list {
    display: grid;
    grid-template-columns: repeat(2, auto);
  } */

  /* Lista de Detalhes */
  .apt-details-list li,
  .apt-details-list span,
  .apt-details-list {
    gap: 16px;
  }

  .transforma-slide {
    min-height: fit-content;
  }
}

/* 500px and below */
@media only screen and (max-width: 500px) {
  :root {
    --header-height: 92px;
    --padding-inline: 25px;
  }
  h1 {
    font-size: 42px;
  }

  h2 {
    font-size: 32px;
  }

  h3,
  h4,
  h5,
  h6 {
    font-size: 19px;
  }

  /* ========================================================================== */
  /*                             	Legal Pages (Reference)                      */
  /* ========================================================================== */
  .legalPage {
    padding-bottom: 60px;
    padding-top: 60px;
  }

  .legalPage h2 {
    font-size: 18px;
    line-height: 26px;
    margin: 12px 0px;
  }

  /* -------------------------------------------------------------------------
   8. HEADER & NAVIGATION
   ------------------------------------------------------------------------- */
  .menu-mobile ul li a {
    font-size: 22px;
    letter-spacing: 1.1px;
  }

  .menu-mobile .menu-item-has-children ul {
    padding-left: 30px;
    margin-top: 20px;
  }

  .menu-mobile ul.sub-menu {
    gap: 15px;
  }

  .headerLogo {
    width: calc(267px * 0.45);
    height: calc(80px * 0.45);
  }
  header.header-colored .headerLogo {
    width: calc(267px * 0.4);
    height: calc(80px * 0.4);
  }
  /* -------------------------------------------------------------------------
   9. FOOTER
   ------------------------------------------------------------------------- */

  /* QUEM SOMOS SECTION */
  .quemSomosContent {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .quemSomosContent h5 {
    font-size: 19px;
  }
  .quemSomosContent h6 {
    font-size: 22px;
    margin-bottom: 16px;
  }

  .quemSomosSection::before {
    width: calc(2397px * 0.75);
    height: calc(1099px * 0.75);
  }
  .madreLogoWrapper {
    margin-top: 40px;
    gap: 8px;
  }

  .madreLogoWrapper a {
    font-size: 14px;
  }
  .footerWrapper {
    padding-inline: var(--padding-inline);
    z-index: 10;
    position: relative;
    margin-top: 30px;
  }
  .madreLogo {
    width: calc(195px * 0.9);
    height: calc(146px * 0.9);
    object-fit: contain;
  }

  .footerlogoWrapper img {
    width: calc(335px * 0.7);
    height: calc(100px * 0.7);
  }
  .footerlogoWrapper {
    margin-bottom: 30px;
  }

  button.mainButton.special,
  .vc_btn3-container.mainButton.special a {
    padding: 10px 50px;
    font-size: 12px;
  }

  /* ==================================================================================== */
  /*                              	       HOMEPAGE         		                          */
  /* ==================================================================================== */
  /* *********** masterplanSection ************/

  /* *********** doubleColSection ************/
  .doubleColSection .vc_row {
    padding-block: 20px !important;
  }
  .doubleColSection .maskCol.vc_col-has-fill > .vc_column-inner {
    max-height: 320px;
    min-height: 240px;
  }

  /* COL COM TEXTO */
  .doubleColSection .infoCol .vc_column-inner {
    max-width: unset;
  }

  .infoCol {
    padding-top: 24px;
  }

  .infoCol .wpb_text_column {
    margin-block: 18px 28px !important;
  }

  .doubleColSection
    > div
    > div
    > div
    .vc_row:last-child
    .infoCol
    .wpb_text_column {
    margin-bottom: 0px !important;
  }
  .doubleColSection > div > div > div .vc_row:last-child {
    padding-bottom: 0px !important;
  }

  .doubleColSection > div > div > div .vc_row:first-child {
    padding-top: 0px !important;
    padding-bottom: 40px !important;
  }

  .descoberta-block.doubleColSection > div > div > div .vc_row:first-child {
    padding-bottom: 0px !important;
  }

  /* *********** slideActSection ************/
  /* *********** descobertaSection ************/
  /* *********** googleMapsSection ************/
  /* *********** contactSection ************/
  .contactSection .wpb_single_image img {
    width: calc(38px * 0.6);
    height: calc(34px * 0.6);
  }
  /* texto localizacao */
  .contactSection
    > div
    > .vc_column-inner
    > .wpb_wrapper
    > .wpb_text_column
    p:not(.quform p) {
    font-size: 18px;
    letter-spacing: 1px;
    margin-block: 18px 5px;
  }

  .contactSection .quform {
    padding: 24px;
    margin-top: 24px;
  }

  .contactSection .quform .quform-element-html p {
    font-size: 16px;
    margin-bottom: 0px;
  }

  .quform .quform-input.quform-input-select select {
    padding-left: 18px !important;
  }
  .quform .quform-element-textarea .quform-label-text {
    margin: 10px 18px;
  }

  .quform-error > .quform-error-inner span {
    font-size: 12px;
  }
  .quform-error {
    margin: 0;
    padding: 0px;
  }

  /* ==================================================================================== */
  /*                                  DETALHE APARTAMENTO     	                          */
  /* ==================================================================================== */

  /* *********** slideAmenitiesSection ************/

  .slideAmenitiesSection .wpb_column:nth-child(1):before {
    left: -250px;
    top: -40px;
  }

  .slideAmenitiesSection .wpb_single_image {
    margin-bottom: 20px !important;
  }
  .slideAmenitiesSection .wpb_single_image img {
    width: calc(260px * 0.8);
    height: calc(78px * 0.8);
  }

  .slideAmenitiesSection .wpb_column:nth-child(1) {
    margin-bottom: 20px;
  }
  /* *********** apartMasterplanSection ************/
  /* *********** descubraSection ************/
}

/* 430px and below */
@media only screen and (max-width: 430px) {
  /* ==================================================================================== */
  /*                                  DETALHE APARTAMENTO     	                          */
  /* ==================================================================================== */

  /* *********** descubraSection ************/

  .heroSectionRow:not(.hero-noor) .heroSectionContent {
    width: 350px;
  }
}

/* 414px and below */
@media only screen and (max-width: 414px) {
  /* -------------------------------------------------------------------------
   9. FOOTER
   ------------------------------------------------------------------------- */

  /* QUEM SOMOS SECTION */
  .quemSomosContent {
    padding-top: 80px;
    padding-bottom: 100px;
  }

  .quemSomosSection::before {
    width: calc(2397px * 0.82);
    height: calc(1099px * 0.82);
  }
  .footerWrapper {
    margin-top: 0px;
  }
}

/* 378px and below */
@media only screen and (max-width: 378px) {
  /* -------------------------------------------------------------------------
   9. FOOTER
   ------------------------------------------------------------------------- */
  .quemSomosSection::before {
    width: calc(2397px * 0.87);
    height: calc(1099px * 0.87);
  }

  /* *********** apartMasterplanSection ************/

  .apartMasterplanSection .vc_row .wpb_column .wpb_text_column:nth-child(2) p {
    font-size: 15px !important;
  }
  .apartMasterplanSection .vc_row .wpb_column .wpb_text_column:nth-child(3) p {
    font-size: 11px;
    letter-spacing: 3.1px;
  }

  .heroSectionRow:not(.hero-noor) .heroSectionContent {
    width: 300px;
  }
}

/* 320px and below */
@media only screen and (max-width: 320px) {
}

/* ==========================================================================
   ==========================================================================
   GOOGLE MAPS - COMPLETE SECTION (ALL MAPS STYLES TOGETHER)
   ==========================================================================
   ========================================================================== */

/* -------------------------------------------------------------------------
   GMAPS - 1. CORE MAP STYLES
   ------------------------------------------------------------------------- */
/* Remove the "Use Ctrl + ..." overlay */
.gm-style-moc {
  display: none !important;
}

.googleMapsWrapper {
  /* overflow: hidden; */
}

#map {
  position: relative;
  height: 500px;
  width: 100%;
  aspect-ratio: 2.745;
  /* clip-path: shape(
    from 50.66% 3.78%,
    curve to 0% 50.43% with 25.49% 13.65%/6.4% 38.99%,
    curve to 36.09% 99.83% with 9.48% 84.15%/26.26% 98.77%,
    curve to 100% 12.77% with 70.97% 103.59%/93.23% 43.36%,
    curve to 50.66% 3.78% with 94.04% 5.66%/75.83% -6.09%,
    close
  );*/
  clip-path: none;
  /* border-bottom-right-radius: 80vh; */
}
.map-menu-wrapper {
  overflow: visible;
  position: relative;
}

div#map-menu {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
}

div#map-menu::before {
  content: "";
  background-image: url(/wp-content/uploads/menu-bg-2.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: 0px;
  right: -250px;
  transform: translate(20%, -75%);
  height: 858.713px;
  width: 1753.746px;
  pointer-events: none;
  filter: brightness(0.9);
  z-index: -1;
  display: none;
}

/* Map Markers */
.googleMapsWrapper .default-marker-icon {
  width: 20px !important;
  height: 20px !important;
  box-shadow: -1px 1px 15px 0px #232323;
  border-radius: 100%;
}

.googleMapsWrapper .adicional-marker-icon {
  width: auto !important;
  height: 50px !important;
}

/* Map Menu */
.map-menu-title {
  font-size: 30px;
  line-height: 1.2;
  color: black;
  margin-bottom: 15px;
}

#map-menu button {
  display: flex;
  gap: 15px;
  outline: unset;
  padding: unset;
  border: unset;
  color: black;
  background-color: unset;
  cursor: pointer;
  align-items: center;
  font-family: "TT Chocolates", sans-serif;

  color: var(--black);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 1.48px;
  text-transform: uppercase;
  width: fit-content;
}

#map-menu button:active,
#map-menu button:focus,
#map-menu button:hover {
  background-color: transparent;
  color: inherit;
  color: black;
}

/* POI Sidebar */
div#poi-sidebar {
  position: absolute;
  top: 0px;
  right: 0px;
  background-color: #000000c4;
  height: 100%;
  min-width: 200px;
  width: 400px;
  padding: 20px;
  transform: translate(120%, 0px);
  transition: all 300ms linear;
  -webkit-box-shadow: -7px 1px 16px 3px rgb(0 0 0 / 41%);
  color: white;
  z-index: 1001;
}

div#poi-sidebar.open {
  transform: translate(0%, 0px);
  transition: all 300ms linear;
}

.POIWrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#poi-sidebar h2,
#poi-sidebar p,
#poi-sidebar a,
#poi-sidebar span {
  color: white;
}

#poi-sidebar a {
  text-decoration: underline;
}

#poi-sidebarbutton {
  position: absolute;
  top: 5px;
  right: 5px;
  background: none;
  border: none;
  color: white;
  font-size: 1.2em;
  cursor: pointer;
  padding: 0px !important;
}

#sidebar-close-btn {
  padding: 0px !important;
  border: unset !important;
  width: 20px;
  height: 20px;
  position: relative;
  cursor: pointer;
  margin-left: auto;
}

#sidebar-close-btn span.line {
  height: 3px;
  display: block;
  position: absolute;
  top: 50%;
  left: 0px;
  width: 100%;
  background-color: white;
  transform: rotate(45deg);
}

#sidebar-close-btn span.line:nth-child(2) {
  top: 50%;
  left: 0px;
  transform: rotate(-45deg);
}

#sidebar-poi-category {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1;
}

#sidebar-poi-title {
  font-size: 30px;
  margin-bottom: 10px;
}

#poi-sidebar p,
#poi-sidebar a,
#poi-sidebar span {
  font-size: 14px;
}

#sidebar-poi-img img {
  height: 170px !important;
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
  margin-bottom: 10px;
}

.map-bottom {
  display: flex;
  gap: 10px;
  background-color: white;
  border-radius: 0px 10px 00px 0px;
  position: absolute;
  bottom: 0px;
  left: 0px;
  padding: 5px 10px;
}

gmp-advanced-marker:has(.adicional-marker-icon) {
  position: relative;
  z-index: 10;
}

gmp-advanced-marker:has(.default-marker-icon) {
  position: relative;
  z-index: 5;
}

/* -------------------------------------------------------------------------
   GMAPS - 2. PARQUE DA CIDADE STYLE OVERRIDES
   ------------------------------------------------------------------------- */
.googleMapsWrapper .map-menu-wrapper {
  padding-inline: var(--padding-inline);
  margin-top: 40px;
}

.googleMapsWrapper div#map-menu {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 50px;
  row-gap: 14px;
  justify-content: center;
  padding-inline: var(--padding-inline);
  margin-right: 100px;
}

.googleMapsWrapper #map-menu button {
  color: var(--black);
  font-family: "TT Chocolates", sans-serif;
  gap: 15px;
}

.googleMapsWrapper #map-menu button img {
  width: 33px;
  height: 33px;
}

.googleMapsWrapper #map-menu button[data-category="all"] {
  /* margin-top: 42px; */
  position: relative;
  /* bottom: 44px; */
}

.googleMapsWrapper #map-menu button[data-category="all"] img {
  /* width: 56px;
  height: 56px; */
}

.googleMapsWrapper #map .default-marker-icon {
  box-shadow: none;
  width: 30px !important;
  height: 30px !important;
  transform: none !important;
}

.googleMapsWrapper div#poi-sidebar {
  width: fit-content;
  height: fit-content;
  max-width: 450px;
  background-color: #f1f1f1;
  box-shadow: none;
  top: 0px;
  right: unset;
  left: 0px;
  transform: translateY(0%) translateX(-120%) !important;
  min-width: 300px;
  border-radius: 5px;
  opacity: 0;
  /* display: none; */
}

.googleMapsWrapper div#poi-sidebar.open {
  opacity: 1;
  transform: translateY(0%) translateX(0%) !important;
}

.googleMapsWrapper #sidebar-close-btn span.line {
  background-color: var(--black);
}

.googleMapsWrapper span#sidebar-poi-category {
  font-size: 12px;
  font-weight: 500;
  font-family: "TT Chocolates", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.2;
  color: var(--black);
  margin-bottom: 50px;
}

.googleMapsWrapper #sidebar-poi-title {
  font-size: 20px;
  margin-bottom: 15px;
  margin-top: 0px;
  color: var(--black);
  font-family: "TT Chocolates", sans-serif;
  line-height: 32px;
}

.googleMapsWrapper div#sidebar-poi-content img {
  width: 300px;
}

.googleMapsWrapper div#sidebar-poi-content p {
  max-width: 300px;
  line-height: 18px;
  color: var(--grey);
  margin: 0px;
}
.marker-title {
  color: var(--white);
  display: none;
}
/* -------------------------------------------------------------------------
   GMAPS - 3. MEDIA QUERIES (MAPS ONLY)
   ------------------------------------------------------------------------- */

@media only screen and (max-width: 1550px) {
  #map {
    height: 600px;
    width: 100%;
    aspect-ratio: 2.745;
  }

  div#map-menu::before {
    top: 40px;
    right: -130px;
    transform: translate(20%, -75%);
    height: calc(858.713px * 0.7);
    width: calc(1753.746px * 0.7);
    pointer-events: none;
    filter: brightness(0.9);
    z-index: -1;
  }

  .googleMapsWrapper #map-menu button {
    font-size: 11px;
    gap: 8px;
    letter-spacing: 1.1px;
  }

  .googleMapsWrapper #map-menu button img {
    width: 25px;
    height: 25px;
  }

  .googleMapsWrapper div#map-menu {
    gap: 40px;
    row-gap: 12px;
    margin-right: 70px;
  }
  .googleMapsWrapper .map-menu-wrapper {
    padding-inline: var(--padding-inline);
    /*margin-top: 10px;*/
  }

  .googleMapsWrapper span#sidebar-poi-category {
    font-size: 12px;
    font-weight: 500;
    font-family: "TT Chocolates", sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.2;
    color: var(--black);
    margin-bottom: 50px;
  }

  .googleMapsWrapper #sidebar-poi-title {
    font-size: 18px;
    margin-bottom: 12px;
    line-height: 24px;
  }

  .googleMapsWrapper div#sidebar-poi-content img {
    width: 200px;
  }

  .googleMapsWrapper div#sidebar-poi-content p {
    max-width: 250px;
    line-height: 18px;
    font-size: 12px;
  }
  .POIWrapper hr {
    margin-block: 4px;
  }
  .POIWrapper {
    gap: 5px;
  }
}
@media only screen and (max-width: 991px) {
  .filter-wrapper form .row {
    display: flex !important;
    width: 100%;
    flex-direction: column;
    gap: 12px;
    margin: 0px !important;
  }

  .filter-wrapper form .row > div {
    padding: 0px 10px !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .search-wrapper2 .search2 button.submit {
    width: 100% !important;
  }

  .search-wrapper2 .search2 .form-control {
    margin: 0px 0px;
  }

  .googleMapsWrapper div#map-menu {
    gap: 20px;
    row-gap: 12px;
    margin-right: 0px;

    display: grid;
    justify-content: center;
  }

  .googleMapsWrapper div#poi-sidebar {
    max-width: 300px;
    padding: 15px;
    min-width: 300px;
  }
  #sidebar-close-btn {
    width: 15px;
    height: 15px;
  }
  #sidebar-poi-img img {
    height: 120px !important;
  }

  .googleMapsWrapper div#sidebar-poi-content p {
    max-width: unset;
  }
}

@media only screen and (max-width: 768px) {
  #map {
    height: 500px;
    clip-path: unset;
    /*border-radius: 20px 20px 20px 20px;*/
  }
}

@media only screen and (max-width: 600px) {
  .map-menu-wrapper {
    /* max-width: 300px; */
  }
  #map {
    height: 60vh;
    width: 100% !important;
    margin-left: 0%;
    /* border-bottom-right-radius: 60px; */
  }
  div#poi-sidebar {
    width: 300px;
  }

  #sidebar-poi-img img {
    height: 150px !important;
  }

  #sidebar-poi-category {
    font-size: 12px;
  }

  #sidebar-poi-title {
    font-size: 24px;
    line-height: 1;
  }

  #poi-sidebar p,
  #poi-sidebar a,
  #poi-sidebar span {
    font-size: 14px;
  }

  .map-bottom span {
    font-size: 12px;
  }

  /* Maps Parque da Cidade responsive */
  .googleMapsWrapper div#map-menu {
    grid-template-columns: repeat(3, auto);
    padding: 0px;
  }

  .googleMapsWrapper .map-menu-wrapper {
    padding-inline: var(--padding-inline);
    padding-bottom: 0px;
    margin-top: 30px;
  }

  .googleMapsWrapper .map-menu-title {
    font-size: 25px;
  }

  .googleMapsWrapper .map-menu-title span {
    font-size: 16px;
  }

  .googleMapsWrapper div#sidebar-poi-content img {
    width: 100%;
  }

  .googleMapsWrapper div#sidebar-poi-content p {
    max-width: 100%;
  }

  .googleMapsWrapper div#poi-sidebar.open {
    width: calc(100% - 60px);
  }
}

@media only screen and (max-width: 430px) {
  div#map-menu {
    gap: 10px;
  }

  .googleMapsWrapper div#map-menu {
    gap: 14px;
    row-gap: 10px;
  }
  .googleMapsWrapper #map-menu button {
    font-size: 9px;
    gap: 5px;
    letter-spacing: 1px;
    text-align: left;
  }
}
