:root {
  --background-color--background-primary: var(--base-color-neutral--black);
  --text-color--text-alternate: #f9f9f9;
  --text-color--text-primary: var(--base-color-neutral--black);
  --text-color--text-secondary: var(--base-color-neutral--neutral);
  --background-color--background-success: var(--base-color-system--success-green);
  --text-color--text-success: var(--base-color-system--success-green-dark);
  --border-color--border-primary: var(--base-color-neutral--neutral-lightest);
  --background-color--background-alternate: var(--base-color-neutral--white);
  --background-color--background-secondary: var(--base-color-brand--blue);
  --background-color--background-tertiary: var(--base-color-brand--pink);
  --background-color--background-error: var(--base-color-system--error-red);
  --text-color--text-error: var(--base-color-system--error-red-dark);
  --base-color-neutral--neutral-dark: #444;
  --background-color--background-warning: var(--base-color-system--warning-yellow);
  --text-color--text-warning: var(--base-color-system--warning-yellow-dark);
  --base-color-neutral--neutral-darker: #222;
  --base-color-neutral--neutral: #636363;
  --base-color-neutral--neutral-lightest: #eee;
  --base-color-neutral--white: #fff;
  --base-color-brand--blue-light: #d9e5ff;
  --base-color-brand--blue: #2d62ff;
  --base-color-brand--blue-dark: #080331;
  --base-color-brand--pink-light: #ffaefe;
  --base-color-brand--pink: #dd23bb;
  --base-color-brand--pink-dark: #3c043b;
  --base-color-neutral--black: #000;
  --base-color-neutral--neutral-lighter: #ccc;
  --base-color-neutral--neutral-light: #aaa;
  --base-color-neutral--neutral-darkest: #111;
  --base-color-system--success-green: #cef5ca;
  --base-color-system--success-green-dark: #114e0b;
  --base-color-system--warning-yellow: #fcf8d8;
  --base-color-system--warning-yellow-dark: #5e5515;
  --base-color-system--error-red: #f8e4e4;
  --base-color-system--error-red-dark: #3b0b0b;
  --base-color-system--focus-state: #2d62ff;
  --border-color--border-secondary: var(--base-color-brand--blue);
  --border-color--border-alternate: var(--base-color-neutral--neutral-darker);
  --link-color--link-primary: var(--base-color-brand--blue);
  --link-color--link-secondary: var(--base-color-neutral--black);
  --link-color--link-alternate: var(--base-color-neutral--white);
}

body {
  color: #000;
  letter-spacing: -.04em;
  background-color: #fdfdfd;
  font-family: Tex, Arial, sans-serif;
  font-size: 1rem;
  line-height: normal;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.1;
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
}

h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

h4 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}

h5 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}

h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

p {
  margin-bottom: 0;
}

a {
  color: inherit;
}

ul, ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 1.5rem;
}

li {
  margin-bottom: .25rem;
}

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

label {
  margin-bottom: .25rem;
  font-weight: 500;
}

blockquote {
  border-left: .25rem solid #e2e2e2;
  margin-bottom: 0;
  padding: 0 1.25rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

figure {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

figcaption {
  text-align: center;
  margin-top: .25rem;
}

.global-styles {
  display: block;
  position: fixed;
  inset: 0% auto auto 0%;
}

.margin-xsmall {
  margin: .5rem;
}

.padding-xhuge {
  padding: 8rem;
}

.margin-small {
  margin: 1rem;
}

.margin-medium {
  margin: 2rem;
}

.margin-vertical {
  margin-left: 0;
  margin-right: 0;
}

.padding-vertical {
  padding-left: 0;
  padding-right: 0;
}

.margin-top {
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
}

.margin-top.margin-custom0 {
  margin-top: 1.25rem;
}

.heading-style-h3 {
  font-size: 2rem;
  line-height: 1.2;
}

.padding-global {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.padding-global.padding-section-large.is-hero {
  padding-top: 11rem;
}

.text-color-alternate {
  color: var(--text-color--text-alternate);
}

.overflow-hidden {
  overflow: hidden;
}

.max-width-large {
  width: 100%;
  max-width: 48rem;
}

.padding-section-large {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.heading-style-h2 {
  letter-spacing: -.04em;
  font-size: 3.875rem;
  font-weight: 400;
  line-height: 1.2;
}

.heading-style-h2.text-color-alternate {
  line-height: 1;
}

.container-large {
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

.text-style-allcaps {
  text-transform: uppercase;
}

.align-center {
  margin-left: auto;
  margin-right: auto;
}

.button {
  background-color: var(--background-color--background-primary);
  color: var(--text-color--text-alternate);
  text-align: center;
  border-radius: 100vw;
  padding: .625rem 1.75rem;
  font-size: .875rem;
  font-weight: 400;
  text-decoration: none;
}

.button.is-text {
  color: #000;
  background-color: #0000;
  border: 2px solid #0000;
}

.button.is-small {
  padding: .5rem 1.25rem;
}

.button.is-form-submit {
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.button.is-large {
  padding: 1rem 2rem;
}

.button.is-secondary {
  color: var(--base-color-neutral--neutral-dark);
  background-color: #c2c2c247;
}

.button.is-icon {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.button.is-brand {
  background-color: var(--background-color--background-secondary);
}

.button.has-blur {
  -webkit-backdrop-filter: blur(28px);
  backdrop-filter: blur(28px);
}

.padding-section-medium {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.container-medium {
  width: 100%;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}

.nav_component {
  will-change: filter;
  background-color: #0000;
  width: 100%;
  padding-top: 1rem;
  padding-bottom: 1rem;
  position: relative;
  inset: 0% 0% auto;
}

.nav_container {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.nav_logo {
  height: 3.7rem;
}

.nav_menu {
  flex: 1;
}

.nav_menu.right {
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.nav_menu_link {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  opacity: .75;
  color: #707070;
  justify-content: flex-start;
  align-items: center;
  margin: 0;
  padding: 1rem;
  text-decoration: none;
  transition: opacity .2s;
  display: inline-flex;
}

.nav_menu_link:hover {
  opacity: 100;
}

.nav_menu_link.o-0 {
  opacity: 0;
}

.nav_fixed {
  z-index: 999;
  position: fixed;
  inset: 0% 0% auto;
}

.nav-middle {
  z-index: 999;
  flex: 1;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.text-style-secondary {
  font-family: Cormorant Garamond, sans-serif;
  font-style: italic;
  font-weight: 400;
}

.text-style-secondary.is-hero-2nd-line {
  margin-top: -14px;
  font-size: 1.20588em;
  line-height: 1.3;
}

.icon-8px {
  flex: none;
  width: .5rem;
  height: .5rem;
}

.section.deprecated {
  display: none;
}

.cta-card {
  border-radius: 2.875rem;
  justify-content: flex-start;
  align-items: stretch;
  min-height: 530px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.cta-card_content-wrapper {
  -webkit-backdrop-filter: blur(26px);
  backdrop-filter: blur(26px);
  background-color: #dadada99;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  max-width: 56ch;
  padding: 5.625rem 4rem;
  display: flex;
}

.gold-tag {
  border-style: undefined;
  -webkit-backdrop-filter: blur(49.0131px);
  backdrop-filter: blur(49.0131px);
  background-color: #fffff7;
  background-image: linear-gradient(270deg, #834f1c40, #be832740 34%, #e7b94c40 50%, #bf872c40 80%, #e7b84c40);
  border-width: 1.25px;
  border-color: #daa21f;
  border-radius: 9px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: .3125rem 1.09375rem;
  text-decoration: none;
  display: flex;
}

.tariffa-text {
  color: #1f1817;
  letter-spacing: -.04em;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(-89.62deg, #834f1c, #be8327 34%, #e7b94c 50%, #bf872c 80%, #e7b84c);
  -webkit-background-clip: text;
  background-clip: text;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
}

.cta-card-button {
  -webkit-backdrop-filter: blur(11.5px);
  backdrop-filter: blur(11.5px);
  background-color: #ffffffb3;
  border-radius: 9999px;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  padding: .625rem 1.75rem;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}

.cta-card-button-text {
  color: #444;
  letter-spacing: -.04em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
}

.faq-layout {
  grid-template-rows: auto;
  grid-template-columns: 1fr minmax(200px, 2fr);
  grid-auto-rows: auto;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  display: grid;
}

.cta-secondary {
  color: #494949;
  background-color: #ecececbf;
  border-radius: 100vw;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  padding: .78125rem 1.3125rem;
  font-size: 1.0625rem;
  text-decoration: none;
  display: inline-flex;
  overflow: hidden;
}

.cta-secondary.is-booknow {
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  backdrop-filter: saturate(180%) blur(16px);
  background-color: #c2c2c247;
}

.cta-secondary-text {
  color: #5e5e5e;
  letter-spacing: -.04em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 17px;
  font-weight: 400;
  text-decoration: none;
}

.faq-header-col {
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 24px;
  display: flex;
}

.faq-item {
  grid-row-gap: 8px;
  background-color: #f1f1ef80;
  border-radius: 14px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  padding: 1rem 1.4375rem;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}

.faq-question {
  color: #000;
  letter-spacing: -.04em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.5rem;
  font-weight: 400;
  text-decoration: none;
}

.faq-answer {
  opacity: .6;
  color: #000;
  letter-spacing: -.04em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  text-decoration: none;
}

.faq-items-wrapper {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-flow: column;
  display: flex;
}

.payment-methods {
  grid-column-gap: 7px;
  flex-wrap: wrap;
  flex: 0 auto;
  justify-content: flex-start;
  align-items: flex-start;
  text-decoration: none;
  display: flex;
}

.payment-method_img {
  object-fit: cover;
}

.show-tablet {
  display: none;
}

.footer-container {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

.padding-global-sm {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.padding-global-sm.padding-section-medium.is-footer {
  padding-bottom: 1.5rem;
}

.footer-card {
  border-radius: 24px;
  min-height: 564px;
  position: relative;
  overflow: hidden;
}

.footer-card-content {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  -webkit-backdrop-filter: blur(26px);
  backdrop-filter: blur(26px);
  background-color: #dadada99;
  flex-flow: wrap;
  justify-content: space-between;
  align-items: center;
  max-height: none;
  padding: 1.875rem 1.5rem;
  display: flex;
  position: absolute;
  inset: auto 0% 0%;
}

.footer-bg-video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.footer-info-wrapper {
  grid-row-gap: 8px;
  flex-direction: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 100%;
  text-decoration: none;
  display: flex;
}

.copyright-notice {
  opacity: .6;
  color: #000;
  letter-spacing: -.05em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 100%;
  text-decoration: none;
}

.links-container {
  grid-column-gap: 8px;
  grid-row-gap: 6px;
  flex-flow: wrap;
  flex: 0 auto;
  justify-content: flex-start;
  align-items: center;
  padding-bottom: 2px;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}

.footer-links {
  opacity: .6;
  color: var(--base-color-neutral--neutral-darker);
  letter-spacing: -.05em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 100%;
  text-decoration: underline;
  transition: opacity .2s;
}

.footer-links:hover {
  opacity: 100;
}

.pre-nav {
  position: relative;
}

.prenav-gradient-wrapper {
  border: 1px undefined undefined;
  background-image: linear-gradient(267.67deg, #fde7bb, #9e6d38 20%, #e9b86e 50%, #9d6933 66%, #fee9bf 83%, #683e23);
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 1px;
  text-decoration: none;
  display: flex;
}

.prenav-inner-content {
  background-color: #fff;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-top: 7px;
  padding-bottom: 7px;
  display: flex;
  overflow: hidden;
}

.prenav_star {
  object-fit: cover;
  justify-content: center;
  align-items: center;
  width: 17px;
  height: 17px;
  text-decoration: none;
  display: flex;
}

.tariffa-text-2 {
  color: #111;
  letter-spacing: -.04em;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(270deg, #683e23 0%, #9d6933 34%, #d49d4b 50%, #9e6d38 80%, #d49d4b 100%);
  -webkit-background-clip: text;
  background-clip: text;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 125%;
  text-decoration: none;
}

.prenav-marquee-row {
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  background-color: #fff;
  flex: none;
  justify-content: center;
  align-items: center;
  display: flex;
  overflow: hidden;
}

.prenav-marquee-row.hide-mobile-portrait {
  display: none;
}

.cta-card-background-image {
  z-index: -2;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0%;
}

.image-cover {
  object-fit: cover;
  object-position: 100% 50%;
  width: 100%;
  min-width: 100%;
  max-width: none;
  height: 100%;
  min-height: 100%;
  position: absolute;
  inset: 0%;
}

.home-header-layout {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-flow: wrap;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
}

.home-header-layout.is-villas {
  margin-top: 2.25rem;
}

.home-heading-wrapper {
  grid-column-gap: 18px;
  grid-row-gap: 18px;
  flex-flow: column;
  display: flex;
}

.home-heading {
  grid-column-gap: 1.875rem;
  grid-row-gap: 0rem;
  flex-flow: wrap-reverse;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.home-title {
  font-size: 2.875rem;
}

.home-divider {
  background-color: #dedede;
  width: 1px;
  height: 34px;
}

.home-location {
  color: #636363;
}

.home-header_desc-wrapper {
  grid-column-gap: 1.125rem;
  grid-row-gap: 1.125rem;
  flex-flow: column;
  display: flex;
}

.home-header_codes {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  color: var(--base-color-neutral--neutral);
  justify-content: flex-start;
  align-items: center;
  font-size: 13px;
  display: flex;
}

.home-desc_p {
  width: 50ch;
  font-size: 1.125rem;
}

.home-services-left {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  flex: 1;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.service-item {
  grid-column-gap: 7px;
  grid-row-gap: 7px;
  color: #969696;
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 11ch;
  font-size: .9375rem;
  display: flex;
}

.service-item.is-in-modal {
  color: #4d4d4d;
  flex-flow: row;
  max-width: none;
  font-size: 1.25rem;
}

.service-icon {
  width: 35px;
  height: 35px;
}

.home-services-wrapper_preview {
  grid-column-gap: 1.375rem;
  grid-row-gap: .84975rem;
  text-transform: capitalize;
  flex-flow: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  display: flex;
}

.book-overlay {
  z-index: 99;
  pointer-events: none;
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 100dvh;
  padding-bottom: 10px;
  display: flex;
  position: fixed;
  inset: 0% 0% auto;
}

.book-overlay-shadow {
  z-index: -1;
  background-image: linear-gradient(0deg, #fff, #fff0);
  width: 100%;
  height: 200px;
  position: absolute;
  bottom: 0;
}

.book-overlay-cta-wrapper {
  grid-column-gap: 3px;
  grid-row-gap: 3px;
  pointer-events: auto;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.inline-link-icon {
  width: 1.5rem;
  height: 1.5rem;
}

.home-photos-wrapper {
  margin-top: 3.75rem;
}

.home-grid-photos {
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  border-radius: 46px;
  flex-flow: row;
  height: 520px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.home-photo-grid_left {
  object-fit: cover;
  width: 50%;
}

.home-photo-grid_right {
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  flex-flow: column;
  flex: 1;
  grid-template-rows: 50% 50%;
  grid-template-columns: 50% 50%;
  grid-auto-columns: 1fr;
  height: 100%;
  display: flex;
}

.home-photo-grid_right-img {
  object-fit: cover;
  background-color: #dfdfdf;
  width: 50%;
}

.book-overlay-text {
  color: #676767;
  font-size: .95rem;
}

.book-overlay-italic {
  font-family: Cormorant Garamond, sans-serif;
  font-size: 1.46154em;
  font-style: italic;
}

.home-services-layout {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  cursor: pointer;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.inline-link {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  opacity: .75;
  color: #707070;
  cursor: pointer;
  justify-content: flex-start;
  align-items: center;
  margin: 0;
  padding: 1rem;
  text-decoration: none;
  transition: opacity .2s;
  display: inline-flex;
}

.inline-link:hover {
  opacity: 100;
}

.modal {
  z-index: 10000;
  display: none;
  position: fixed;
  inset: 0%;
}

.modal.show {
  display: block;
}

.cta-modal-layout {
  padding-bottom: 24px;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: calc(24 + var(--navbar-height));
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
  position: relative;
}

.modal-overlay {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background-color: #00000054;
  position: absolute;
  inset: 0%;
}

.modal-card {
  border: 1px solid var(--base-color-neutral--neutral-lightest);
  background-color: var(--base-color-neutral--white);
  border-radius: 32px;
  max-width: 368px;
  max-height: 75%;
  padding: 26px;
  position: relative;
  overflow: auto;
}

.modal-card-header {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  letter-spacing: -.04em;
  flex-flow: column;
  margin-bottom: 1rem;
  font-size: 32px;
  display: flex;
  position: relative;
}

.modal-close-button {
  color: #8b999e;
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 18px;
  transition: color .2s;
  display: flex;
  position: absolute;
  inset: 0% 0% auto auto;
  transform: translate(50%, -50%);
}

.modal-close-button:hover {
  color: #fff;
}

.home-services-wrapper_modal {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  text-transform: capitalize;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.navbar-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.navbar-padding.padding-section-large.is-hero {
  padding-top: 12.944rem;
}

.villa-story {
  grid-column-gap: 5.5rem;
  grid-row-gap: 3.399rem;
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.villa-story_img-wrap {
  flex: none;
  width: 35.1875px;
  min-width: 35.1875rem;
  overflow: hidden;
}

.villa-p {
  max-width: 21.75rem;
  font-size: 1.09375rem;
}

.image-vibes-wrapper {
  width: 100%;
  height: auto;
  min-height: 117vh;
  position: relative;
  overflow: hidden;
}

.image-vibes-small-wrapper {
  width: 26rem;
  height: 31.9375rem;
  position: relative;
}

.image-vibes-small-wrapper.fx-img-parallax {
  overflow: hidden;
}

.image-vibes-bottompart {
  margin-top: -10.3rem;
}

.image-vibes-desc {
  max-width: 30.5rem;
  margin-top: 5.75rem;
}

.booknow-iframe {
  border-top-left-radius: 32px;
  border-top-right-radius: 32px;
  width: 100%;
  height: 85%;
  position: absolute;
  inset: auto 0% 0%;
  overflow: hidden;
  box-shadow: 0 0 #0000, -1.3px .8px 8.6px #0000001a, -3.2px 2px 17.8px #0000001e, -7.5px 4.7px 29.6px #00000020;
}

.villa-shocase-wrapper {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 100vh;
  padding-left: 3.47222vw;
  padding-right: 3.47222vw;
  display: flex;
  position: relative;
}

.villa-showcase-img1 {
  width: 29.6528vw;
  height: 41.5972vw;
  position: relative;
  inset: 0% auto 0% 0%;
}

.villa-showcase-img1.fx-img-parallax {
  overflow: hidden;
}

.villa-showcase-img2 {
  width: 49.0278vw;
  height: 66.3889vw;
  position: relative;
}

.villa-showcase-img2.fx-img-parallax {
  overflow: hidden;
}

.footer-home {
  text-decoration: none;
  transition: opacity .2s;
}

.footer-home:hover {
  opacity: .6;
}

.footer-brand {
  height: 5.3rem;
}

.footer-homes-wrapper {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  max-height: 100%;
  display: flex;
}

.footer-homes-collection {
  height: 100%;
  display: flex;
}

.footer-homes-list {
  grid-column-gap: 1.5rem;
  grid-row-gap: .4375rem;
  flex-flow: wrap;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  display: grid;
}

.footer-homes-list.is-villas {
  grid-template-columns: 1fr;
}

.footer-home-item {
  flex: none;
  overflow: hidden;
}

.custom_dropdown-list {
  background-color: #ececec;
  border-radius: .9375rem;
  max-height: 7.8125rem;
  margin-top: .5625rem;
  padding: 0;
  overflow: auto;
}

.custom_dropdown-list.w--open {
  top: 100%;
  left: 0;
}

.dropdown-location-list-wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: flex;
}

.dropdown-location-list {
  flex-flow: column;
  width: 100%;
  display: flex;
}

.dropdown-location_item {
  color: #707070;
  white-space: nowrap;
  cursor: pointer;
  border-bottom: 1px solid #ffffff80;
  padding: .5rem 1rem;
  font-size: 1rem;
  line-height: 1.25;
  text-decoration: none;
  display: inline-flex;
}

.dropdown-location_item.w--current {
  text-decoration: underline;
}

.cta-card-video-bg {
  object-fit: cover;
  transform-style: preserve-3d;
  width: 100%;
  min-width: 100%;
  max-width: none;
  height: 100%;
  min-height: 100%;
  position: absolute;
  inset: 0%;
  transform: rotateX(0)rotateY(-180deg)rotateZ(0);
}

.prenav_text {
  color: #111;
  letter-spacing: -.04em;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(270deg, #683e23, #9d6933 34%, #d49d4b 50%, #9e6d38 80%, #d49d4b);
  -webkit-background-clip: text;
  background-clip: text;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 125%;
  text-decoration: none;
}

.cta-paragraph {
  color: var(--text-color--text-alternate);
}

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

.home-photo-grid_right-row {
  grid-column-gap: 4px;
  flex-flow: row;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  height: 50%;
  display: flex;
}

.icon-1x1-xsm {
  flex: none;
  width: .875rem;
  height: .875rem;
  display: block;
}

.locales-wrapper_toggle {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

@media screen and (max-width: 991px) {
  .padding-xlarge {
    padding: 3rem;
  }

  .margin-xlarge {
    margin: 3rem;
  }

  .padding-xhuge {
    padding: 6rem;
  }

  .padding-xxhuge {
    padding: 8rem;
  }

  .padding-huge {
    padding: 5rem;
  }

  .margin-large {
    margin: 2.5rem;
  }

  .padding-xxlarge {
    padding: 4rem;
  }

  .padding-large {
    padding: 2.5rem;
  }

  .margin-huge {
    margin: 5rem;
  }

  .padding-medium {
    padding: 1.5rem;
  }

  .margin-xxlarge {
    margin: 4rem;
  }

  .margin-xhuge {
    margin: 6rem;
  }

  .margin-medium {
    margin: 1.5rem;
  }

  .margin-xxhuge {
    margin: 8rem;
  }

  .margin-horizontal {
    margin-top: 0;
    margin-bottom: 0;
  }

  .padding-top {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .margin-vertical {
    margin-left: 0;
    margin-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .padding-left {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .padding-horizontal {
    padding-top: 0;
    padding-bottom: 0;
  }

  .margin-right {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
  }

  .margin-top {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-top.margin-small.align-center-tablet {
    text-align: center;
    text-align: center;
    text-align: center;
  }

  .margin-left {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
  }

  .padding-right {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
  }

  .padding-bottom {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .hide-tablet {
    display: none;
  }

  .fs-styleguide_2-col {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: 1fr;
  }

  .max-width-full-tablet {
    width: 100%;
    max-width: none;
  }

  .fs-styleguide_1-col {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .fs-styleguide_heading-medium {
    font-size: 3rem;
  }

  .fs-styleguide_4-col {
    grid-template-columns: 1fr;
  }

  .padding-section-large {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .fs-styleguide_3-col {
    grid-template-columns: 1fr;
  }

  .fs-styleguide_section {
    grid-column-gap: 2.5rem;
    grid-template-columns: 1fr;
  }

  .padding-section-medium {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .spacer-huge {
    padding-top: 5rem;
  }

  .spacer-medium {
    padding-top: 1.5rem;
  }

  .spacer-xhuge {
    padding-top: 6rem;
  }

  .spacer-xxhuge {
    padding-top: 8rem;
  }

  .spacer-xlarge {
    padding-top: 3rem;
  }

  .spacer-large {
    padding-top: 2.5rem;
  }

  .spacer-xxlarge {
    padding-top: 4rem;
  }

  .nav_menu_link.o-0 {
    opacity: 0;
    opacity: 0;
  }

  .nav_button {
    color: #fff;
  }

  .section_hero {
    padding-top: 3rem;
  }

  .hero_grid {
    grid-template-columns: 1fr;
  }

  .fs-styleguide_heading-header {
    font-size: 4rem;
  }

  .review-layout {
    flex-flow: column;
    grid-template-columns: 1fr;
    grid-auto-flow: column;
    display: flex;
  }

  .testimonial-data-img {
    max-width: 360px;
  }

  .testimonial-cards-grid {
    margin-left: 0;
  }

  .cta-card {
    flex-flow: column-reverse wrap;
    min-height: 640px;
  }

  .cta-card_content-wrapper {
    max-width: none;
    padding: 2.472rem;
    position: absolute;
    inset: auto 0% 0%;
  }

  .cta-card-background-video {
    height: 85vw;
    min-height: 650px;
    position: relative;
  }

  .faq-layout {
    flex-flow: column;
    grid-template-columns: 1fr;
    grid-auto-flow: column;
    display: flex;
  }

  .faq-header-col {
    text-align: center;
    justify-content: space-between;
    align-items: center;
  }

  .show-tablet {
    display: block;
  }

  .footer-card-content {
    height: auto;
    max-height: 100%;
  }

  .form-grid {
    flex-flow: column-reverse wrap;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    display: flex;
  }

  .form-image {
    min-height: 530px;
  }

  .form-wrapper-layout {
    padding-left: 0%;
    padding-right: 0%;
  }

  .divider.is-form-contacts {
    display: none;
  }

  .cta-card-background-image {
    height: 85vw;
    min-height: 650px;
    position: relative;
  }

  .home-desc_p {
    width: auto;
  }

  .home-grid-photos {
    flex-flow: column;
    height: 80vw;
    display: flex;
  }

  .home-photo-grid_left {
    flex: 1;
    width: 100%;
    height: 50%;
    display: block;
  }

  .home-photo-grid_right {
    flex: 0 auto;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    max-width: 100%;
    height: 50%;
    overflow: hidden;
  }

  .home-photo-grid_right-img {
    object-fit: cover;
    display: block;
  }

  .location-right {
    min-width: auto;
  }

  .home-address-wrapper {
    margin-top: 3.375rem;
  }

  .navbar-padding {
    padding-left: .8125rem;
    padding-right: .8125rem;
  }

  .villa-shocase-wrapper {
    min-height: 120vw;
  }

  .select-field, .fs-selectcustom_message {
    display: none;
  }

  .cta-card-video-bg {
    transform: rotate(0);
  }

  .debug {
    flex-flow: column;
    height: 80vw;
    display: flex;
  }

  .home-photo-grid_right-row {
    flex: 0 auto;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    max-width: 100%;
    height: 50%;
    overflow: hidden;
  }
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 2.5rem;
  }

  h2 {
    font-size: 2rem;
  }

  h3 {
    font-size: 1.5rem;
  }

  h4 {
    font-size: 1.25rem;
  }

  h5 {
    font-size: 1rem;
  }

  h6 {
    font-size: .875rem;
  }

  .padding-xlarge {
    padding: 2rem;
  }

  .margin-xlarge {
    margin: 2rem;
  }

  .padding-xhuge {
    padding: 4rem;
  }

  .padding-xxhuge {
    padding: 4.5rem;
  }

  .padding-huge {
    padding: 3.5rem;
  }

  .margin-large {
    margin: 1.5rem;
  }

  .padding-xxlarge {
    padding: 3rem;
  }

  .padding-large {
    padding: 1.5rem;
  }

  .margin-huge {
    margin: 3.5rem;
  }

  .padding-medium {
    padding: 1.25rem;
  }

  .margin-xxlarge {
    margin: 3rem;
  }

  .margin-xhuge {
    margin: 4rem;
  }

  .margin-medium {
    margin: 1.25rem;
  }

  .margin-xxhuge {
    margin: 4.5rem;
  }

  .margin-horizontal {
    margin-top: 0;
    margin-bottom: 0;
  }

  .padding-top {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .margin-vertical {
    margin-left: 0;
    margin-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .padding-left {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .padding-horizontal {
    padding-top: 0;
    padding-bottom: 0;
  }

  .margin-right {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
  }

  .margin-top {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-left {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
  }

  .padding-right {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
  }

  .padding-bottom {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .hide-mobile-landscape {
    display: none;
  }

  .heading-style-h3 {
    font-size: 1.5rem;
  }

  .heading-style-h1 {
    font-size: 2.5rem;
  }

  .padding-global {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .padding-global.padding-section-large.is-hero {
    padding-top: 7.99939rem;
  }

  .padding-section-small {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .fs-styleguide_section-header {
    font-size: .875rem;
  }

  .fs-styleguide_heading-medium {
    font-size: 2rem;
  }

  .max-width-full-mobile-landscape {
    width: 100%;
    max-width: none;
  }

  .heading-style-h4 {
    font-size: 1rem;
  }

  .text-style-nowrap {
    white-space: normal;
  }

  .heading-style-h6 {
    font-size: .75rem;
  }

  .padding-section-large {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .text-size-large {
    font-size: 1.25rem;
  }

  .heading-style-h2 {
    font-size: 2.5625rem;
  }

  .heading-style-h5 {
    font-size: .875rem;
  }

  .padding-section-medium {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .spacer-huge {
    padding-top: 3.5rem;
  }

  .spacer-medium {
    padding-top: 1.25rem;
  }

  .spacer-xhuge {
    padding-top: 4rem;
  }

  .spacer-xxhuge {
    padding-top: 4.5rem;
  }

  .spacer-xlarge {
    padding-top: 2rem;
  }

  .spacer-large {
    padding-top: 1.5rem;
  }

  .spacer-xxlarge {
    padding-top: 3rem;
  }

  .nav_component {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }

  .nav_logo {
    height: 2.8125rem;
  }

  .text-style-secondary.is-hero-2nd-line {
    font-size: 1.3em;
  }

  .sub-hero-p {
    font-size: 1.9rem;
  }

  .xl-score_outof {
    font-size: 2.04713rem;
  }

  .xl-score_points {
    font-size: 111.24px;
  }

  .xl-scores-wrapper {
    grid-column-gap: 5.79375rem;
    grid-row-gap: 5.79375rem;
  }

  .hero-h1 {
    font-size: 8vw;
  }

  .testimonial-data-img {
    width: 340px;
    padding-right: 0;
  }

  .testimonial-cards-grid {
    border-radius: 0;
    flex-flow: column;
    display: flex;
    overflow: visible;
  }

  .testimonial-cards_item {
    border-radius: 24px;
    overflow: hidden;
  }

  .testimonial-card_layout {
    grid-column-gap: 120px;
    grid-row-gap: 120px;
    height: auto;
  }

  .cta-card-background-video {
    min-height: 720px;
  }

  .faq-question {
    font-size: 1.25rem;
  }

  .padding-global-sm {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .prenav-inner-content {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
  }

  .prenav-marquee-row.hide-mobile-portrait {
    display: flex;
  }

  .form-element-wrapper {
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .cta-card-background-image {
    min-height: 720px;
  }

  .home-header-layout {
    flex-flow: column;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .home-divider {
    display: none;
  }

  .home-location {
    font-size: 1.625rem;
  }

  .home-services-left {
    justify-content: space-between;
    align-items: flex-start;
  }

  .service-icon {
    object-fit: contain;
  }

  .book-overlay-shadow {
    background-image: linear-gradient(0deg, #fff, #0000 85%);
  }

  .home-cta-wrapper {
    display: none;
  }

  .home-photos-wrapper {
    margin-top: 5rem;
  }

  .home-grid-photos {
    height: 520px;
  }

  .home-services-layout {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .modal-close-button {
    width: 21px;
  }

  .home-grid-divider {
    width: 50%;
  }

  .home-grid_controls-wrapper {
    justify-content: space-between;
  }

  .navbar-padding {
    padding-left: 0;
    padding-right: 0;
  }

  .navbar-padding.padding-section-large.is-hero {
    padding-top: 7.99939rem;
  }

  .villa-story_img-wrap {
    width: 100%;
    min-width: auto;
  }

  .image-vibes-wrapper {
    height: 100vw;
    min-height: auto;
    max-height: 90vh;
  }

  .image-vibes-small-wrapper {
    width: 60%;
    min-width: 144px;
    height: 25rem;
  }

  .image-vibes-desc {
    max-width: none;
    margin-top: 3.5535rem;
  }

  .villa-showcase-img1 {
    width: 34vw;
    height: 54vw;
  }

  .villa-showcase-img2 {
    width: 53vw;
    height: 79vw;
  }

  .footer-homes-wrapper {
    display: none;
  }

  .f-v-c {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    display: flex;
  }

  .debug {
    height: 520px;
  }
}

@media screen and (max-width: 479px) {
  .margin-horizontal {
    margin-top: 0;
    margin-bottom: 0;
  }

  .padding-top {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .margin-vertical {
    margin-left: 0;
    margin-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .padding-left {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .padding-horizontal {
    padding-top: 0;
    padding-bottom: 0;
  }

  .margin-right {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
  }

  .margin-top {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .margin-left {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
  }

  .padding-right {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
  }

  .padding-bottom {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .form_form {
    min-width: auto;
    max-width: 100%;
  }

  .fs-styleguide_row {
    flex-wrap: wrap;
  }

  .max-width-full-mobile-portrait {
    width: 100%;
    max-width: none;
  }

  .hide-mobile-portrait {
    display: none;
  }

  .nav_logo {
    width: 5.8rem;
  }

  .hero_heading {
    font-size: 2.5rem;
  }

  .hero-h1 {
    font-size: 13.5vw;
  }

  .hero-search-cta {
    width: 100%;
  }

  .testimonial-data-img {
    width: 300px;
    max-width: 100%;
  }

  .cta-card {
    min-height: 680px;
  }

  .hero-search-cta-icon {
    display: none;
  }

  .form-element-wrapper {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .home-section-hero.ishouse {
    padding-top: 5rem;
  }

  .home-rooms-grid {
    grid-template-columns: repeat(auto-fit, 100%);
  }

  .modal-card {
    max-width: 100%;
  }

  .modal-card-header {
    font-size: 28px;
  }

  .home-grid_controls-wrapper {
    grid-row-gap: .5rem;
    justify-content: center;
    align-items: center;
  }

  .villa-p {
    max-width: none;
  }

  .image-vibes-wrapper {
    height: 120vw;
  }

  .image-vibes-small-wrapper {
    height: 15.45rem;
  }

  .fs-selectcustom_dropdown {
    width: 100%;
  }
}

#w-node-_87663d73-e4ab-14a9-ec8b-1dadfb9182dc-fb9182d7 {
  align-self: stretch;
}
