/* @font-face {
  font-family: 'WT Monarch Nova Roman';
  src: url('../fonts/wt-monarch-nova-roman/wt-monarch-nova-roman.woff2') format('woff2'),
    url('../fonts/wt-monarch-nova-roman/wt-monarch-nova-roman.woff') format('woff'),
    url('../fonts/wt-monarch-nova-roman/wt-monarch-nova-roman.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
} */

:root {
  --white: #fff;
  --black: #000;
  --grey: #757575;
  --dark-blue: #2c3f58;
  --button-blue: #0c2340;
  --turq: #58a4b0;
  --bg-color: #f4f2ef;
  --gold: #866d4b;
  --lora: 'Lora', serif;
  --roboto-condensed: 'Roboto Condensed', sans-serif;
  --roboto: 'Roboto', sans-serif;
}

body {
  font-family: var(--roboto);
}

p {
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0;
  margin-top: 0px;
  text-align: left;
  font-size: 15px;
  color: #222;
}

p,
span,
button,
button span,
a,
p strong,
p a strong,
ul,
ul li,
ol,
ol li {
  font-family: var(--roboto) !important;
}

h1,
h1 a,
h1 span,
.title.is-1 {
  font-family: var(--lora) !important;
}

h2,
h2 a,
h2 span,
.title.is-2 {
  font-family: var(--roboto-condensed) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

h3,
h3 a,
h3 span,
.title.is-3 {
  font-family: var(--roboto) !important;
  font-weight: 500 !important;
}

h4,
h4 a,
h4 span,
.title.is-4,
h5,
h5 a,
h5 span,
.title.is-5,
h6,
h6 a,
h6 span,
.title.is-6 {
  font-family: var(--roboto-condensed) !important;
  font-weight: 400 !important;
}

.tws-txt-d-blue {
  color: var(--dark-blue) !important;
}

.tws-txt-black {
  color: var(--black) !important;
}

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

.banner__form-box--box ::-webkit-input-placeholder,
.flatpickr-input #placeholder {
  color: var(--white) !important;
}

.banner__form-box--box {
  flex-direction: row;
}

@media (min-width: 768px) {
  .banner__form-box--box {
    flex-direction: column;
  }
}

.date-picker-wrapper {
  position: relative;
}

.flatpickr-input {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  background: var(--white);
  padding: 10px 12px;
  border: 1px solid #ddd;
  min-width: 100%;
  cursor: pointer;
  color: #4a4a4a;
}

.property-filters {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.sales-filter {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.property-filters .tws-field-group:first-of-type {
  grid-column: span 6;
}

.property-filters .tws-field-group:nth-of-type(2),
.property-filters .tws-field-group:nth-of-type(3),
.property-filters .tws-field-group:nth-of-type(4) {
  grid-column: span 2;
}

@media (min-width: 1024px) {
  .property-filters .tws-field-group:first-of-type {
    grid-column: span 3;
  }

  .property-filters .tws-field-group:nth-of-type(2),
  .property-filters .tws-field-group:nth-of-type(3),
  .property-filters .tws-field-group:nth-of-type(4) {
    grid-column: span 1;
  }
}

.favourites-card__content-box__title-box a {
  white-space: nowrap; /* Prevents text from wrapping to the next line */
  overflow: hidden; /* Hides any content that overflows the element's box */
  text-overflow: ellipsis;
}

.calendar-icon {
  position: absolute;
  right: 10px;
  bottom: 8px;
}

.flatpickr-calendar.open {
  z-index: 999999999999 !important;
}

.header,
.navbar {
  height: 100px;
}

.navbar {
  background-color: transparent;
  display: flex !important;
}

.button--button-blue:focus,
.button--button-blue:active,
.button--button-blue {
  background-color: var(--button-blue);
  border: 1px solid var(--button-blue);
  color: var(--white);
  line-height: 1;
  box-shadow: unset !important;
}

.button--button-blue:hover {
  border: 1px solid var(--gold);
  background-color: var(--gold);
  color: var(--white);
  box-shadow: unset !important;
}

.tws-text-blue {
  color: var(--dark-blue) !important;
}
.tws-text-gold {
  color: var(--gold) !important;
}
.tws-text-turq {
  color: var(--turq) !important;
}

.tws-text-small {
  font-size: 14px !important;
}

.tws-italic {
  font-style: italic !important;
}

.tws-marker {
  background-image: url('/wp-content/uploads/2025/07/map-pin.png');
  background-size: contain;
  height: 50px;
  min-height: 50px;
  width: 50px;
  min-width: 50px;
  border-radius: 50%;
  cursor: pointer;
}

.wpforms-container .wpforms-form .wpforms-field-description,
.wpforms-container .wpforms-form .wpforms-field-label,
.wpforms-container .wpforms-form .wpforms-field-sublabel,
.wpforms-container .wpforms-form li,
.wpforms-container .wpforms-form textarea,
.wpforms-container .wpforms-form th {
  margin-bottom: 0px !important;
}

.wp-core-ui div.wpforms-container-full input[type='date']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='datetime-local']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='datetime']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='email']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='month']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='number']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='password']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='range']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='search']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='tel']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='text']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='time']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='url']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='week']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full select::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full textarea::-webkit-input-placeholder,
div.wpforms-container-full input[type='date']::-webkit-input-placeholder,
div.wpforms-container-full input[type='datetime-local']::-webkit-input-placeholder,
div.wpforms-container-full input[type='datetime']::-webkit-input-placeholder,
div.wpforms-container-full input[type='email']::-webkit-input-placeholder,
div.wpforms-container-full input[type='month']::-webkit-input-placeholder,
div.wpforms-container-full input[type='number']::-webkit-input-placeholder,
div.wpforms-container-full input[type='password']::-webkit-input-placeholder,
div.wpforms-container-full input[type='range']::-webkit-input-placeholder,
div.wpforms-container-full input[type='search']::-webkit-input-placeholder,
div.wpforms-container-full input[type='tel']::-webkit-input-placeholder,
div.wpforms-container-full input[type='text']::-webkit-input-placeholder,
div.wpforms-container-full input[type='time']::-webkit-input-placeholder,
div.wpforms-container-full input[type='url']::-webkit-input-placeholder,
div.wpforms-container-full input[type='week']::-webkit-input-placeholder,
div.wpforms-container-full select::-webkit-input-placeholder,
div.wpforms-container-full textarea::-webkit-input-placeholder,
div.wpforms-container-full input[type='date']:focus,
div.wpforms-container-full input[type='datetime']:focus,
div.wpforms-container-full input[type='datetime-local']:focus,
div.wpforms-container-full input[type='email']:focus,
div.wpforms-container-full input[type='month']:focus,
div.wpforms-container-full input[type='number']:focus,
div.wpforms-container-full input[type='password']:focus,
div.wpforms-container-full input[type='range']:focus,
div.wpforms-container-full input[type='search']:focus,
div.wpforms-container-full input[type='tel']:focus,
div.wpforms-container-full input[type='text']:focus,
div.wpforms-container-full input[type='time']:focus,
div.wpforms-container-full input[type='url']:focus,
div.wpforms-container-full input[type='week']:focus,
div.wpforms-container-full select:focus,
div.wpforms-container-full textarea:focus,
.wp-core-ui div.wpforms-container-full input[type='date']:focus,
.wp-core-ui div.wpforms-container-full input[type='datetime']:focus,
.wp-core-ui div.wpforms-container-full input[type='datetime-local']:focus,
.wp-core-ui div.wpforms-container-full input[type='email']:focus,
.wp-core-ui div.wpforms-container-full input[type='month']:focus,
.wp-core-ui div.wpforms-container-full input[type='number']:focus,
.wp-core-ui div.wpforms-container-full input[type='password']:focus,
.wp-core-ui div.wpforms-container-full input[type='range']:focus,
.wp-core-ui div.wpforms-container-full input[type='search']:focus,
.wp-core-ui div.wpforms-container-full input[type='tel']:focus,
.wp-core-ui div.wpforms-container-full input[type='text']:focus,
.wp-core-ui div.wpforms-container-full input[type='time']:focus,
.wp-core-ui div.wpforms-container-full input[type='url']:focus,
.wp-core-ui div.wpforms-container-full input[type='week']:focus,
.wp-core-ui div.wpforms-container-full select:focus,
.wp-core-ui div.wpforms-container-full textarea:focus {
  color: var(--black) !important;
  font-weight: 400 !important;
}

div.wpforms-container-full input[type='date']::-webkit-input-placeholder,
div.wpforms-container-full input[type='datetime']::-webkit-input-placeholder,
div.wpforms-container-full input[type='datetime-local']::-webkit-input-placeholder,
div.wpforms-container-full input[type='email']::-webkit-input-placeholder,
div.wpforms-container-full input[type='month']::-webkit-input-placeholder,
div.wpforms-container-full input[type='number']::-webkit-input-placeholder,
div.wpforms-container-full input[type='password']::-webkit-input-placeholder,
div.wpforms-container-full input[type='range']::-webkit-input-placeholder,
div.wpforms-container-full input[type='search']::-webkit-input-placeholder,
div.wpforms-container-full input[type='tel']::-webkit-input-placeholder,
div.wpforms-container-full input[type='text']::-webkit-input-placeholder,
div.wpforms-container-full input[type='time']::-webkit-input-placeholder,
div.wpforms-container-full input[type='url']::-webkit-input-placeholder,
div.wpforms-container-full input[type='week']::-webkit-input-placeholder,
div.wpforms-container-full select::-webkit-input-placeholder,
div.wpforms-container-full textarea::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='date']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='datetime']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='datetime-local']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='email']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='month']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='number']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='password']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='range']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='search']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='tel']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='text']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='time']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='url']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full input[type='week']::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full select::-webkit-input-placeholder,
.wp-core-ui div.wpforms-container-full textarea::-webkit-input-placeholder {
  opacity: 0.5 !important;
  font-weight: 400 !important;
}

div.wpforms-container-full input[type='submit']:hover,
div.wpforms-container-full input[type='submit']:active,
div.wpforms-container-full button[type='submit']:hover,
div.wpforms-container-full button[type='submit']:active,
div.wpforms-container-full .wpforms-page-button:hover,
div.wpforms-container-full .wpforms-page-button:active,
.wp-core-ui div.wpforms-container-full input[type='submit']:hover,
.wp-core-ui div.wpforms-container-full input[type='submit']:active,
.wp-core-ui div.wpforms-container-full button[type='submit']:hover,
.wp-core-ui div.wpforms-container-full button[type='submit']:active,
.wp-core-ui div.wpforms-container-full .wpforms-page-button:hover,
.wp-core-ui div.wpforms-container-full .wpforms-page-button:active {
  background: var(--button-blue);
  line-height: 1;
  margin-left: auto;
  background-color: var(--button-blue) !important;
  border: 1px solid var(--button-blue) !important;
  color: var(--white) !important;
  border-radius: 4px;
  font-size: 14px !important;
  padding: 20px 50px !important;
  text-transform: uppercase !important;
  -webkit-transition: all 0.7s !important;
  transition: all 0.7s !important;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: max-content;
  margin-left: auto;
}

div.wpforms-container-full:not(:empty) {
  margin: 0px !important;
}

.wpforms-container .wpforms-field,
.wp-core-ui div.wpforms-container .wpforms-field {
  padding: 0px !important;
  padding-bottom: 15px !important;
}

.wp-core-ui div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full button[type='submit']:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full input[type='submit']:not(:hover):not(:active),
div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),
div.wpforms-container-full button[type='submit']:not(:hover):not(:active),
div.wpforms-container-full input[type='submit']:not(:hover):not(:active) {
  background-color: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  color: var(--white) !important;
  border-radius: 4px;
  font-size: 14px !important;
  padding: 20px 50px !important;
  text-transform: uppercase !important;
  -webkit-transition: all 0.7s !important;
  transition: all 0.7s !important;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: max-content;
  margin-left: auto;
}

.tws-intro-text__title-box .tws-sales-favourites,
.tws-intro-text__title-box .tws-prop-session-store {
  position: unset;
  right: unset;
  top: unset;
}
.tws-intro-text__title-box .tws-sales-favourites i,
.tws-intro-text__title-box .tws-prop-session-store i {
  font-size: 25px;
}

.tws-intro-text__title-box {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.info-table__content-box:nth-of-type(2) img,
.info-table__content-box:nth-of-type(3) img {
  padding-left: unset;
  margin-right: 0px !important;
}

.info-table__content-box img {
  height: 38px !important;
  display: block;
  object-fit: contain;
}

.info-table__content-box--icon {
  display: flex;
  gap: 7px;
  font-weight: 700;
  font-size: 15px;
  color: var(--black);
  align-items: center;
}

.info-table__content-box--bathrooms {
  flex-direction: row-reverse !important;
}

.intro-text--title {
  color: var(--dark-blue);
  font-size: 30px;
  line-height: 1.7;
  font-weight: 400;
}

.hover-underline-animation {
  display: inline-block;
  position: relative;
}
.hover-underline-animation::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: var(--gold);
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}
.hover-underline-animation:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.cpt-properties--title {
  color: var(--dark-blue);
  font-size: 40px;
  line-height: 1;
  font-weight: 400;
  text-align: center;
  margin-bottom: 30px;
}

.tws-roboto-font {
}

.post-type-grid-box__sub-list .title {
  color: var(--gold);
  letter-spacing: 1px;
  font-size: 14px;
}

a.post-type-grid-box__sub-list--title:hover {
  transition: 0.6s;
  color: #0c2340;
}

.post-type-grid-box__sub-list--item {
  margin-bottom: 12px;
}

.post-type-grid-box__sub-list--link {
  font-weight: 400;
  font-size: 16px;
  line-height: 120%;
  color: #222;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  gap: 5px;
}

.post-type-grid-box__sub-list--link .fa-chevron-right {
  transition: all 0.5s;
  opacity: 0;
  font-size: 13px;
}

.post-type-grid-box__sub-list--link:hover .fa-chevron-right {
  opacity: 1;
}

.navbar--item {
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 9pt;
  padding-right: 9pt;
}
.navbar--link {
  color: var(--gold);
  letter-spacing: 1.1px;
  font-weight: 400;
  font-size: 13px;
  text-transform: uppercase;
  padding: 0px;
}

.navbar__left-box,
.navbar__right-box {
  display: flex;
  align-items: center;
}

.navbar__right-box button {
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 9pt;
  padding-right: 9pt;
  letter-spacing: 1.1px;
}

.navbar--link:hover {
  color: var(--gold);
  text-decoration: unset;
}

.navbar--logo-light {
  display: none;
}

/* Main */
.single-properties .calendar {
  /* padding: 4px; */
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  direction: ltr;
  overflow-x: hidden;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Header */
  /* Months */
  /* Loading */
}
.single-properties .calendar:after {
  /* Apply the right height on the calendar div, even if the months elements are floating  */
  clear: both;
  content: '';
  display: block;
}
.single-properties .calendar .calendar-rtl {
  direction: rtl;
}
.single-properties .calendar .calendar-rtl .calendar-rtl table tr td span {
  float: right;
}
.single-properties .calendar table {
  margin: auto;
  border-spacing: 0;
}
.single-properties .calendar table td,
.single-properties .calendar table th {
  text-align: center;
  width: 20px;
  height: 20px;
  padding: 4px 5px;
  font-size: 12px;
  border: none;
}
.single-properties .calendar .calendar-header {
  width: 100%;
  margin-bottom: 20px;
  border: 1px solid #ddd;
}
.single-properties .calendar .calendar-header table {
  width: 100%;
}
.single-properties .calendar .calendar-header table th {
  font-size: 22px;
  padding: 5px 10px;
  cursor: pointer;
}
.single-properties .calendar .calendar-header table th:hover {
  background: #eeeeee;
}
.single-properties .calendar .calendar-header table th.disabled,
.single-properties .calendar .calendar-header table th.disabled:hover {
  background: none;
  cursor: default;
  color: white;
}
.single-properties .calendar .calendar-header table th.prev,
.single-properties .calendar .calendar-header table th.next {
  width: 20px;
}
.single-properties .calendar .calendar-header .year-title {
  font-weight: bold;
  text-align: center;
  height: 20px;
  width: auto;
}
.single-properties .calendar .calendar-header .year-neighbor {
  opacity: 0.4;
}
@media (max-width: 991px) {
  .single-properties .calendar .calendar-header .year-neighbor {
    display: none;
  }
}
.single-properties .calendar .calendar-header .year-neighbor2 {
  opacity: 0.2;
}
@media (max-width: 767px) {
  .single-properties .calendar .calendar-header .year-neighbor2 {
    display: none;
  }
}
.single-properties .calendar .months-container {
  width: 100%;
  display: none;
  gap: 1rem;
  grid-template-columns: repeat(6, 1fr);
}
.single-properties .calendar .months-container .month-container {
  float: left;
  text-align: center;
  height: 200px;
  padding: 0;
}
.single-properties .calendar .months-container .month-container.month-2 {
  width: 100%;
}
.single-properties .calendar .months-container .month-container.month-3 {
  width: 100%;
}
.single-properties .calendar .months-container .month-container.month-4 {
  width: 100%;
}
.single-properties .calendar .months-container .month-container.month-6 {
  width: 100%;
}
.single-properties .calendar .months-container .month-container.month-12 {
  width: 100%;
}
.single-properties .calendar table.month th.month-title {
  font-size: 16px;
  padding-bottom: 5px;
}
.single-properties .calendar table.month th.day-header {
  font-size: 14px;
}
.single-properties .calendar table.month tr td,
.single-properties .calendar table.month tr th {
  padding: 0;
}
.single-properties .calendar table.month tr td.hidden,
.single-properties .calendar table.month tr th.hidden {
  display: none;
}
.single-properties .calendar table.month td.week-number {
  cursor: default;
  font-weight: bold;
  border-right: 1px solid #eee;
  padding: 5px;
}
.single-properties .calendar table.month td.day.round-left {
  -webkit-border-radius: 8px 0 0 8px;
  -moz-border-radius: 8px 0 0 8px;
  border-radius: 8px 0 0 8px;
}
.single-properties .calendar table.month td.day.round-right {
  -webkit-border-radius: 0 8px 8px 0;
  -moz-border-radius: 0 8px 8px 0;
  border-radius: 0 8px 8px 0;
}
.single-properties .calendar table.month td.day .day-content {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  padding: 5px 6px;
  color: #484848;
}
.single-properties .calendar table.month td.old,
.single-properties .calendar table.month td.new,
.single-properties .calendar table.month td.old:hover,
.single-properties .calendar table.month td.new:hover {
  background: none;
  cursor: default;
}
.single-properties .calendar table.month td.disabled,
.single-properties .calendar table.month td.disabled:hover {
  color: #dddddd;
}
.single-properties .calendar table.month td.disabled .day-content:hover,
.single-properties .calendar table.month td.disabled:hover .day-content:hover {
  background: none;
  cursor: default;
}
.single-properties .calendar table.month td.range .day-content {
  background: rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.single-properties .calendar table.month td.range.range-start .day-content {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.single-properties .calendar table.month td.range.range-end .day-content {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.single-properties .calendar .calendar-loading-container {
  position: relative;
  text-align: center;
  min-height: 200px;
}
.single-properties .calendar .calendar-loading-container .calendar-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.single-properties .calendar .calendar-spinner {
  margin: 20px auto;
  width: 80px;
  text-align: center;
}
.single-properties .calendar .calendar-spinner > div {
  width: 16px;
  height: 16px;
  margin: 5px;
  background-color: #333;
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-bouncedelay 1s infinite ease-in-out both;
  animation: sk-bouncedelay 1s infinite ease-in-out both;
}
.single-properties .calendar .calendar-spinner > div.bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.single-properties .calendar .calendar-spinner > div.bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
/* Context menu */
.single-properties .calendar-context-menu,
.single-properties .calendar-context-menu .submenu {
  border: 1px solid #ddd;
  background-color: white;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  position: absolute;
  display: none;
}
.single-properties .calendar-context-menu .item {
  position: relative;
}
.single-properties .calendar-context-menu .item .content {
  padding: 5px 10px;
  cursor: pointer;
  display: table;
  width: 100%;
  white-space: nowrap;
}
.single-properties .calendar-context-menu .item .content:hover {
  background: #eee;
}
.single-properties .calendar-context-menu .item .content .text {
  display: table-cell;
}
.single-properties .calendar-context-menu .item .content .arrow {
  display: table-cell;
  padding-left: 10px;
  text-align: right;
}
.single-properties .calendar-context-menu .item .submenu {
  top: -1px;
  /* Compensate for the border */
}
.single-properties .calendar-context-menu .item .submenu:not(.open-left) {
  left: 100%;
}
.single-properties .calendar-context-menu .item .submenu.open-left {
  right: 100%;
}
.single-properties .calendar-context-menu .item:hover > .submenu {
  display: block;
}
.single-properties .table-striped .calendar table.month tr td,
.single-properties .table-striped .calendar table.month tr th {
  background-color: transparent;
}
.single-properties table.month td.day .day-content:hover {
  background: #2c3f58;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
@-webkit-keyframes sk-bouncedelay {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
  }
}
@keyframes sk-bouncedelay {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.single-properties .calendar .calendar-header {
  background: none;
  border: 0;
  position: relative;
  display: flex;
  justify-content: flex-end;
  position: absolute;
  top: -56px;
}

.single-properties .calendar .calendar-header .year-title {
  font-size: 18px;
}

.single-properties .calendar .calendar-header .year-title:not(.year-neighbor):not(.year-neighbor2) {
  border-bottom: 2px solid #2196f3;
}

.single-properties .calendar .months-container .month-container {
  height: 313px;
  background: #f9f9f9;
}

.single-properties .calendar table.month {
  background-color: #f9f9f9 !important;
  /* height: 100%; */
  border-collapse: separate;
  border-spacing: 0 2px;
  width: 94%;
  border: none;
  padding: 10px;
}

.single-properties .calendar table.month th.month-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 24px;
  padding: 4px 10px 8px;
  text-align: left;
  color: #2c3f58;
}

.single-properties .calendar table.month th.day-header {
  padding-bottom: 5px;
  color: #948685;
  font-weight: 500;
  font-size: 11px;
  font-style: italic;
  text-align: center;
}

/* .calendar table.month td.day .day-content {
    padding: 8px;
    border-radius: 100%;

} */

/* .calendar .calendar-header table{
    border: 1px solid rgb(155, 226, 231) !important;
    border-radius: 10px !important;
}
.calendar .months-container {
    border: 1px solid rgb(155, 226, 231) !important;
    padding: 10px;
    border-radius: 10px;
} */

.single-properties #contents {
  border-color: rgb(155, 226, 231) !important;
}
.single-properties .not-allowed-cursor {
  cursor: not-allowed !important;
  color: rgba(255, 255, 255, 0.45);
}

.single-properties .not-allowed-cursor:has(.half-day-cls) {
  cursor: pointer !important;
}
.single-properties .not-allowed-cursor .day-content {
  cursor: not-allowed !important;
}

body.single-properties table.month td.day:hover {
  background: #e1e1e1;
  cursor: pointer;
  width: unset;
  height: unset;
  color: rgba(255, 255, 255, 0.45);
}

.single-properties table.month td.day .day-content:hover {
  background: transparent;
  cursor: pointer;
  width: unset;
  height: unset;
}

.single-properties .not-allowed-cursor:has(.half-day-cls):hover {
  border-top: 1px solid transparent;
}

.single-properties .calendar {
  overflow-x: unset;
  position: relative;
  /* width: calc(100% + 20px); */
  /* left: -10px; */
  animation-timeline: 20px;
  margin-top: 19px;
}

.single-properties .not-allowed-cursor .day-content:hover {
  background: none !important;
}
.single-properties .not-allowed-cursor:has(.half-day-cls) .day-content {
  cursor: pointer !important;
  color: #212529;
}
.single-properties .not-allowed-cursor:has(.half-day-cls) .day-content:hover {
  background: #e487ba !important;
  box-sizing: border-box;
  color: rgba(255, 255, 255, 0.45);
  border-top: none;
}
.single-properties .not-allowed-cursor:has(.half-day-cls):hover,
.day:has(.half-day-cls):hover {
  border-top: 1px solid transparent !important;
}

.single-properties .calendar-header th.prev,
.calendar-header th.next {
  float: unset;
}

.single-properties .calendar .calendar-header table {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 10px;
  width: unset;
  margin: unset;
  border: none;
}

.single-properties .calendar .calendar-header table th {
  font-size: 44px;
}

.single-properties .calendar .calendar-header table th:hover {
  opacity: 0.7;
}

.single-properties .calendar-header th {
  display: none;
}

.single-properties .calendar-header th.prev,
.calendar-header th.next {
  display: block;
  float: right;
}

.single-properties .heading-text {
  position: absolute;
  top: 35px;
  left: 18px;
  color: #89afa3;
}

.single-properties .calendar .calendar-header table th.next,
.calendar .calendar-header table th.prev {
  line-height: 0;
  margin: auto 0;
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  background: transparent;
}

.single-properties .calendar .calendar-header table th.next span,
.calendar .calendar-header table th.prev span {
  display: block;
  margin-top: -5px;
}

.single-properties .calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px !important;
}

.single-properties .calendar-header h3.heading-text {
  margin-bottom: 0;
  position: unset !important;
}

.single-properties .calendar_legend .liclass .calendar_legend_unavailable {
  background-color: #89afa3;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 5px;
}

.single-properties .calendar_legend .liclass {
  display: inline-block;
  font-size: 15px;
  margin-right: 10px;
  font-weight: 400;
}

.single-properties .calendar_legend {
  list-style: none;
  margin: -60px 0 0 20px;
  clear: both;
  overflow: auto;
  padding: 0;
}

.single-properties .day:has(.half-day-cls) {
  background: linear-gradient(
    135deg,
    rgba(229, 228, 228) 0%,
    rgba(229, 228, 228) 50%,
    rgba(105, 160, 130, 1) 51%,
    rgba(105, 160, 130, 1) 100%
  );
  border-top: 1px solid #89afa3;
}

.day:has(.start-half-day-cls) {
  background: linear-gradient(
    135deg,
    rgb(249 249 249) 0%,
    rgb(249 249 249) 50%,
    rgb(172 200 170) 51%,
    rgb(172 200 170) 100%
  );
}

.day:has(.middle-day) {
  background: linear-gradient(
    135deg,
    rgb(173 199 170) 0%,
    rgb(172 199 169) 50%,
    rgb(172 200 170) 51%,
    rgb(172 200 170) 100%
  );
}

.day:has(.end-half-day-cls) {
  background: linear-gradient(
    135deg,
    rgb(172 200 170) 50%,
    rgb(172 200 170) 0%,
    rgb(249 249 249) 51%,
    rgb(249 249 249) 100%
  );
}

.day:has(.start-half-day-cls.overlap-day-cls.end-half-day-cls) {
  background: linear-gradient(
    135deg,
    rgb(172 200 170) 50%,
    rgb(172 200 170) 0%,
    rgb(172 200 170) 50%,
    rgb(172 200 170) 0%
  );
}

.fc-theme-standard td,
.fc-theme-standard th,
.fc .fc-multimonth {
  border: none;
}

.fc .fc-daygrid-day-frame {
  display: flex;
  align-items: center;
  justify-content: center;
}

.fc .fc-daygrid-day-number {
  color: var(--gold);
  font-weight: 600;
}

.fc-col-header-cell {
  text-align: center !important;
  color: var(--black);
  font-weight: 600;
}

.fc .fc-button-primary {
  background-color: unset;
  border-color: transparent;
  color: var(--black);
}

.fc .fc-col-header-cell-cushion {
  text-align: center !important;
  color: var(--black);
  font-weight: 600;
}

.fc .fc-day-other .fc-daygrid-day-top {
  opacity: 1;
}

.fc .fc-button:focus,
.fc .fc-button-primary:hover,
.fc .fc-button-primary:not(:disabled).fc-button-active:focus,
.fc .fc-button-primary:not(:disabled):active:focus {
  box-shadow: unset !important;
  background-color: #f7f7f7 !important;
  color: var(--black) !important;
  border-color: transparent !important;
}

.fc .fc-daygrid-day.fc-day-today {
  background-color: unset !important;
}

.fc .fc-button-primary {
  border-radius: 50% !important;
  height: 40px !important;
  min-height: 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.fc .fc-multimonth-title {
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--black) !important;
}

.fc .fc-toolbar.fc-header-toolbar {
  position: relative;
  z-index: 99;
}

.fc .fc-multimonth-compact .fc-multimonth-daygrid-table,
.fc .fc-multimonth-compact .fc-multimonth-header-table {
  margin-top: 12px;
}

.fc .fc-toolbar-title {
  display: none;
}

.fc .fc-view-harness {
  margin-top: -70px;
}

.rate-tooltip {
  position: absolute;
  background-color: var(--gold);
  color: var(--white);
  padding: 8px;
  font-size: 13px;
  border-radius: 4px;
  display: none;
  z-index: 9999;
  line-height: 1;
  font-weight: 600;
  pointer-events: none;
  white-space: nowrap;
  transform: translate(-50%, -100%);
}

.fc .fc-button-primary:disabled,
.fc .fc-button-primary.fc-button-disabled {
  background-color: var(--button-blue) !important;
  opacity: 0.2;
  cursor: not-allowed;
  color: var(--white) !important;
}

.fc .fc-daygrid-day-bg .fc-bg-event {
  opacity: 1;
}

.fc-h-event {
  background-color: unset;
  border: unset;
}

@media (max-width: 1124px) {
  .single-properties .calendar .months-container {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 750px) {
  .single-properties .calendar .months-container {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 550px) {
  .single-properties .calendar .months-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 450px) {
  .single-properties .calendar .months-container {
    grid-template-columns: repeat(1, 1fr);
  }
}

.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
  color: #2c3f58;
  margin-bottom: 10px;
}

.wysiwyg ul {
  list-style: none; /* Remove default bullets */
  padding-left: 0;
}

.wysiwyg ul li {
  position: relative;
  padding-left: 20px; /* space for the icon */
  margin-bottom: 0.5em; /* optional spacing */
  color: var(--black);
  font-weight: 400;
}

/* Add chevron-right as pseudo-element */
.wysiwyg ul li::before {
  content: '\203A'; /* Unicode for single right-pointing chevron â€º */
  position: absolute;
  left: 0;
  color: var(--dark-blue); /* change color as needed */
  font-weight: bold;
  font-size: 25px;
  top: -2px;
  line-height: 1;
}

.info-table--title {
  color: #2c3f58;
  font-weight: 600;
}

.single-properties #map {
  height: 400px;
  width: 100%;
}

.single-properties .sp-banner--subtitle {
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
}

.sp-reviews__container {
  padding: 0;
  margin: 0;
}

.feature-card--title {
  font-weight: 400;
}

.sp-banner--image {
  filter: brightness(0.7);
}

.sp-banner,
.sp-banner .imagesSwiper {
  height: 80vh;
}

.imagesSwiper .swiper-button-prev,
.imagesSwiper .swiper-button-next {
  color: var(--white);
}

.gallery-section .propertySwiper {
  position: relative;
}
.gallery-section .propertySwiper .swiper-button-next,
.gallery-section .propertySwiper .swiper-button-prev {
  background: #fff;
  height: 50px;
  position: absolute;
  top: unset;
  width: 50px;
}
.gallery-section .propertySwiper .swiper-button-prev {
  bottom: 50px;
  left: 0;
}
.gallery-section .propertySwiper .swiper-button-next {
  bottom: 0;
  left: 0;
}
.gallery-section .propertySwiper .swiper-button-next:after,
.gallery-section .propertySwiper .swiper-button-prev:after {
  color: #2c3f58;
  font-size: 14px;
}
.wrapper_half {
  width: 100%;
}

@media (min-width: 48rem) {
  .info-table.tws-oh-4-grid {
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    height: 100px;
  }

  .wrapper_half {
    width: 75%;
  }
}

.tws-field-group.loading .custom-dropdown__menu {
  opacity: 0.5;
  pointer-events: none;
  position: relative;
}

.tws-field-group.loading::after {
  content: 'Loading...';
  font-size: 12px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
}

.property-wrapper {
  display: flex;
  background-color: var(--white);
  padding: 20px;
  margin-top: 100px;
  flex-direction: column-reverse;
}

.property-listings-filter-box {
  background: var(--white);
  padding-top: 15px;
  padding-bottom: 15px;
  display: flex;
  flex-direction: column-reverse;
  gap: 15px;
  position: relative;
}

.property-listings-filter-box__sortby-box {
  position: absolute;
  bottom: 21px;
  width: max-content;
  right: 15px;
}

.property-listings-filter-box__data-box,
.property-listings-filter-box__exclusive-box {
  width: 100%;
}

.property-listings-filter-box__exclusive-box {
  width: 100%;
  display: flex;
  align-items: center;
  text-align: center;
  border-radius: 2px;
  border: solid 1px #7575752b;
}

.property-listings {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 50px;
}

.property-listings-filter-box__button-box {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 20px;
}

.property-listings-filter-box__sort-box {
  display: flex;
  gap: 0.5rem;
  padding-bottom: 0px;
  align-items: center;
}

.property-listings-filter-box__button-box button {
  display: flex;
  align-items: center;
  border-radius: 0.25rem;
  background-color: var(--white);
  border: 1px solid #eaeaea;
  gap: 0.5rem;
  padding: 12px 20px;
  cursor: pointer;
}

.property-listings-filter-box__available-box {
  padding: 20px;
  background-color: var(--white);
  gap: 0.5rem;
  display: flex;
  margin-top: 0px;
}

@media (min-width: 64rem) {
  .property-listings {
    margin-top: 128px;
  }
  .property-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background-color: var(--white);
    padding: 20px;
    margin-top: 100px;
    min-height: calc(100svh - 120px);
  }

  .property-listings-filter-box__exclusive-box {
    width: 50%;
  }

  .admin-bar .property-listings-filter-box {
    top: 132px;
  }

  .property-listings-filter-box {
    position: fixed;
    top: 100px;
    z-index: 10;
    width: calc(50% - 20px);
  }
}

.filter-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 999999999;
}

.filter-overlay {
  position: absolute;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.filter-popup__filter-box {
  position: absolute;
  top: 20px;
  left: -100%;
  width: 320px;
  height: calc(100% - 40px);
  background: var(--white);
  transition: left 0.4s ease;
  padding: 1rem 1.5rem;
}

.filter-popup__title-box {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}

.filter-overlay-fixed {
  position: fixed;
  right: 0;
  left: 0;
  overflow: hidden;
}

/* Active state */
.filter-popup.active {
  pointer-events: auto;
}

.filter-popup.active .filter-overlay {
  opacity: 1;
}

.filter-popup.active .filter-popup__filter-box {
  left: 20px;
}

#calendar-wrapper {
  display: flex;
  gap: 2rem;
  width: 100%;
}
.calendar-month {
  width: 100%;
}

.calendar-month h3 {
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  color: var(--black);
  margin-bottom: 20px;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.calendar-day {
  position: relative;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  height: 40px;
  min-height: 40px;
  width: 40px;
  min-width: 40px;
  border-radius: 50%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.no-rate,
.has-rate {
  position: relative;
}

.no-rate::after,
.has-rate::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 120%;
  left: 50%;
  transform: translateX(-50%);
  background: #222;
  padding: 4px 8px;
  color: #fff;
  white-space: nowrap;
  font-size: 12px;
  border-radius: 4px;
  opacity: 0;
  pointer-events: none;
  transition: 0.2s ease;
  z-index: 5;
}

.no-rate:hover::after,
.has-rate:hover::after {
  opacity: 1;
}

.calendar-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  text-align: center;
  font-weight: bold;
  padding: 0.25rem 0;
  font-size: 13px;
  color: rgb(34, 34, 34) !important;
}

.calendar-weekday {
  padding: 0.5rem 0;
  font-size: 13px;
  color: rgb(34, 34, 34) !important;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#calendar-nav {
  max-width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: -20px;
  position: relative;
  z-index: 1;
}

#calendar-nav button:disabled {
  cursor: not-allowed;
}

#calendar-nav button {
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.start-class {
  background: linear-gradient(to right, transparent 50%, #866d4bc0 50%);
}

.middle-class {
  background-color: #866d4bc0 !important;
}

.end-class {
  background: linear-gradient(to right, #866d4bc0 50%, transparent 50%);
}

.start-class.end-class {
  background-color: #866d4bc0 !important;
}

.calculated-price-box {
  position: relative;
}

.min-stay-warning {
  position: absolute;
  left: 0px;
  top: -15px;
  background-color: var(--gold);
  color: var(--white);
  width: 100%;
  padding: 8px 16px;
}

.button[disabled] {
  background-color: var(--gold);
}

.mt-6 {
  margin-top: 5rem !important;
}

.filter-summary {
  display: flex;
  gap: 10px;
  align-items: center;
  border-radius: 4px;
}
.filter-summary input {
  padding: 10px;
  font-size: 16px;
  border: unset;
  display: block;
  width: 100%;
  border: unset;
  border-radius: 4px;
}

.filter-dates-box {
  display: flex;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
.filter-dates-box input {
  padding: 10px;
  font-size: 16px;
  display: block;
  width: 100%;
  border: unset;
  border-radius: 4px;
}

.filter-pricing-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.filter-pricing-box__nights {
  display: flex;
}

.filter-pricing-box__price {
  display: flex;
}

.tws-terms {
  font-size: 0.75rem;
  color: #757575;
}
.tws-terms--italic {
  font-style: italic;
}

.contact-options.contact-page .contact-options--inner .socials {
  gap: 0px;
}

.contact-options.contact-page .contact-options--inner .socials .socials--icon {
  color: var(--gold);
}

.post-banner {
  display: flex;
  flex-direction: column-reverse;
  background-color: #f5f5f5;
  margin-top: 120px;
}

.post-banner__content-box,
.post-banner__image-box {
  width: 100%;
}
.post-banner__image-box img {
  aspect-ratio: 4/3;
  display: block;
  width: 100%;
  object-fit: cover;
}
.post-banner__content-box--inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  padding: 50px;
}

.post-banner .post-categories {
  color: var(--gold);
  font-weight: 700;
}

.tws-blog-card,
.tws-blog-card--title,
.tws-blog-card--excerpt,
.tws-blog-card--date {
  color: var(--black);
}

.tws-blog-card--category {
  color: var(--gold);
}

.tws-blog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.tws-blog-card__image-box {
  overflow: hidden;
  transition: all 4s;
  height: 300px;
}
.tws-blog-card__image-box:hover img {
  transform: scale(1.5);
}
.tws-blog-card__image-box img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 300px;
  transition: all 4s;
}

.tws-blog-card__content-box {
  display: flex;
  flex-direction: column;
  padding: 15px;
  flex: 1;
}
.tws-blog-card__meta-box {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 10px;
}
.tws-blog-card__title-box {
}

.tws-blog-card__button-box {
  flex-grow: 1;
  display: flex;
  align-items: flex-end;
  margin-top: 20px;
  padding-left: 20px;
}

.tws-blog-card--title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
}

.tws-px-2 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.blogs-grid {
  gap: 32px;
}

.contact-box--checkin {
  display: none !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: var(--gold) !important;
}

span.flatpickr-day.startRange,
span.flatpickr-day.prevMonthDay.startRange,
span.flatpickr-day.nextMonthDay.startRange,
span.flatpickr-day.endRange,
span.flatpickr-day.prevMonthDay.endRange,
span.flatpickr-day.nextMonthDay.endRange {
  border-color: var(--gold) !important;
}

.blogs-section .tws-blog-card--excerpt {
  font-size: 14px;
}

.tws-blog-card--icon {
  color: var(--black);
}

.page-template-contact-us .introduction-section.tws-oh-pad-even-space.pt-0 {
  padding-top: 2rem !important;
}

.page-template-contact-us .wpforms-container .wpforms-form .wpforms-field-description,
.page-template-contact-us .wpforms-container .wpforms-form .wpforms-field-label,
.page-template-contact-us .wpforms-container .wpforms-form .wpforms-field-sublabel,
.page-template-contact-us .wpforms-container .wpforms-form li,
.page-template-contact-us .wpforms-container .wpforms-form textarea,
.page-template-contact-us .wpforms-container .wpforms-form th {
  margin-bottom: 10px !important;
}

.page-template-contact-us div.wpforms-container-full input[type='date'],
.page-template-contact-us div.wpforms-container-full input[type='datetime'],
.page-template-contact-us div.wpforms-container-full input[type='datetime-local'],
.page-template-contact-us div.wpforms-container-full input[type='email'],
.page-template-contact-us div.wpforms-container-full input[type='month'],
.page-template-contact-us div.wpforms-container-full input[type='number'],
.page-template-contact-us div.wpforms-container-full input[type='password'],
.page-template-contact-us div.wpforms-container-full input[type='range'],
.page-template-contact-us div.wpforms-container-full input[type='search'],
.page-template-contact-us div.wpforms-container-full input[type='tel'],
.page-template-contact-us div.wpforms-container-full input[type='text'],
.page-template-contact-us div.wpforms-container-full input[type='time'],
.page-template-contact-us div.wpforms-container-full input[type='url'],
.page-template-contact-us div.wpforms-container-full input[type='week'],
.page-template-contact-us div.wpforms-container-full select,
.page-template-contact-us div.wpforms-container-full textarea,
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='date'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='datetime'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='datetime-local'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='email'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='month'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='number'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='password'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='range'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='search'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='tel'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='text'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='time'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='url'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full input[type='week'],
.page-template-contact-us .wp-core-ui div.wpforms-container-full select,
.page-template-contact-us .wp-core-ui div.wpforms-container-full textarea {
}

.contact-banner-section {
  margin-top: 100px;
}

.contact-banner,
.tws-form-container,
.call-us {
  padding: 50px 20px;
  border-bottom: 1px solid #eaeaea;
}

.contact-banner h1 {
  font-size: 35px;
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1;
}

.contact-banner__content-box {
  width: 100%;
}

.contact-title {
  font-size: 20px;
  color: var(--black);
  margin-bottom: 10px;
}
.contact-text {
  color: var(--black);
}

.banner__form-box form {
  max-width: 950px;
  padding: 18px 40px;
  border: 1px solid var(--white);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
}

.banner__form-box--box button {
  border-radius: 20px;
}

.banner__form-box--box input,
.banner__form-box--box select {
  outline: none;
  appearance: revert;
  -webkit-appearance: revert;
}

.banner__form-box--box {
  width: 100%;
}
.banner__form-box--box:last-child {
  text-align: right;
}

.contact-text.wysiwyg h1,
.contact-text.wysiwyg h2,
.contact-text.wysiwyg h3,
.contact-text.wysiwyg h4,
.contact-text.wysiwyg h5,
.contact-text.wysiwyg h6,
.contact-text.wysiwyg p {
  margin-bottom: 10px !important;
}

.wysiwyg p {
  margin-top: 0px;
}

.video-section video {
  display: block;
}

.contact-link {
  font-weight: 700;
  color: var(--button-blue);
  font-size: 20px;
  display: block;
  margin-bottom: 10px;
}
.contact-button {
  border: 1px solid var(--button-blue);
  color: var(--button-blue);
  padding: 8px 16px;
  border-radius: 5px;
  display: inline-block;
  transition: all 0.7s;
}

.contact-button:hover {
  background-color: var(--button-blue);
  color: var(--white);
}

.call-us-section {
}
.call-us {
  display: flex;
  flex-direction: column;
}
.call-us__content-box {
  width: 100%;
}
.call-us__details-box {
  width: 100%;
}

.tws-form-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.tws-form-container__content-box,
.tws-form-container__form-box {
  width: 100%;
}

.quote-section .wysiwyg p {
  font-size: 20px;
  font-weight: 500;
}
.quote-section .column {
  background-color: var(--bg-color);
}
.quote-section .wysiwyg {
  display: flex;
}

.quote-section i {
  font-size: 60px;
  color: var(--gold);
}

.quote-section .wysiwyg p {
  padding-left: 40px;
}

@media (min-width: 768px) {
  .call-us,
  .tws-form-container,
  .contact-banner {
    padding: 50px 0px;
  }

  .property-listings {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .contact-banner__content-box {
    width: 50%;
  }

  .property-search-form.rentals-form {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .property-search-form.rentals-form .banner__form-box--box:nth-of-type(2) {
    grid-column: span 2;
  }
  .property-search-form.sales-form {
  }

  .post-banner__content-box--inner {
    padding: 0px 50px;
  }

  .blogs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .post-banner {
    flex-direction: row;
  }

  .post-banner__content-box {
    width: 40%;
  }
  .post-banner__image-box {
    width: 60%;
  }

  .call-us {
    flex-direction: row;
  }
  .call-us__content-box {
    width: 50%;
  }
  .call-us__details-box {
    width: 50%;
  }

  .tws-form-container {
    flex-direction: row;
    gap: 0px;
  }
  .tws-form-container__content-box {
    width: 50%;
  }
  .tws-form-container__form-box {
    width: 50%;
  }
}

@media (min-width: 1400px) {
  .property-listings {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.property-listing-map {
  padding-top: 0px;
  transition: padding-top 0.7s;
}

.acf-map img {
  max-width: inherit !important;
}

.marker.marker--highlighted {
  border: 2px solid #ff0000;
  background-color: var(--white);
}

.acf-map-container {
  height: 100%;
}

.relative-map {
  position: relative;
}

.acf-map {
  margin: 0px;
  height: 230px;
  width: 100%;
}

@media (min-width: 1024px) {
  .fixed-map {
    position: fixed;
    top: 100px;
    right: 0px;
    z-index: 1000;
    height: calc(100svh - 120px);
    width: calc(50% - 20px);
  }

  .absolute-map {
    position: absolute;
    bottom: 0px;
    right: 0px;
    z-index: 1000;
    height: calc(100svh - 100px);
    width: calc(50% - 20px);
  }

  .property-listing-map.fixed-map {
    /* padding-top: 20px; */
    height: calc(100svh - 100px);
  }

  .acf-map-container {
    height: 100%;
  }

  .relative-map {
    position: relative;
  }

  .acf-map {
    margin: 0px;
    height: calc(100svh - 120px);
    width: 100%;
  }

  .property-listing-map.fixed-map .acf-map {
    height: calc(100svh - 100px);
  }
}

.marker {
  display: none;
}

.acf-map .marker {
  display: none;
}

.property-card {
  width: 100%;
  border-radius: 0px;
  overflow: hidden;
  background: var(--white);
  text-decoration: none;
  transition: transform 3s ease;
  display: flex;
  flex-direction: column;
  border: solid 1px #7575752b;
}

.property-card:hover {
  text-decoration: none;
}

.property-card--info {
  background: var(--bg-color);
  padding: 4px 20px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700 !important;
  color: var(--black);
}

.property-card-map .property-card__meta-box--box--text {
  flex-direction: row !important;
}
.property-card-map .property-card__meta-box img {
  aspect-ratio: unset !important;
  width: unset !important;
}

.property-card--title {
  color: var(--black);
  font-weight: 700;
  font-size: 17px;
  line-height: 1.4;
  margin-bottom: 7px;
}

.tws-sales-favourites,
.tws-prop-session-store {
  position: absolute;
  right: 20px;
  top: 20px;
  font-size: 1rem;
  color: #000000;
}

.property-card--location {
  color: var(--black);
  margin-bottom: 15px;
  font-weight: 400;
  font-size: 1rem;
}

.property-card--price {
  color: var(--black);
  /* margin-bottom: 18px; */
  font-weight: 600;
}

.gm-style-iw-chr {
  display: none !important;
}

.gm-style .gm-style-iw-c {
  box-shadow: unset !important;
  -webkit-box-shadow: unset !important;
  outline: unset !important;
}

.property-card:focus-visible {
  outline: unset !important;
}

.property-card:hover .property-card--image {
  transform: scale(1.1);
  transition: transform 3s ease;
}

.property-card__image-box {
  width: 100%;
  padding-top: 65%;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.property-card__content-box {
  background: var(--white);
  padding: 20px;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}

.property-card__pricing-box {
  background: var(--white);
  padding: 0px 20px 20px 20px;
}

.property-card__title-box {
}
.property-card__meta-box {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
}

.property-card__meta-box--box {
  display: flex;
  gap: 10px;
  border-radius: 0px;
  align-items: center;
  color: var(--grey);
}

.property-card__button-box {
  display: flex;
  flex-grow: 1;
  background: transparent;
  align-items: flex-end;
}

.property-card--button {
  background: var(--button-blue);
  color: var(--white);
  font-size: 14px;
  text-transform: uppercase;
  width: 100%;
  display: flex;
  padding: 10px;
  height: max-content;
  line-height: 1;
  margin-top: 18px;
  text-align: center;
  border-radius: 0px;
  justify-content: center;
}

.property-card--image {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  top: 0;
  left: 0;
  right: 0;
}
.property-card--image-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.banner-properties {
  padding: 50px 20px;
  margin-top: 100px;
  text-align: center;
  padding: 50px 20px;
  background-color: var(--bg-color);
}

.banner-properties--title {
  font-size: 2rem;
}

.single-properties .gm-style .gm-style-iw-c {
  padding: 20px !important;
}
.single-properties .poi-info-window .view-link,
.single-properties .poi-info-window a:link,
.single-properties .poi-info-window a:visited {
  color: var(--gold) !important;
  display: block !important;
  margin-top: 10px !important;
  font-weight: 500 !important;
}

.info-table-rentals,
.info-table-sales {
  display: flex !important;
  flex-wrap: wrap;
  gap: 35px !important;
  justify-content: center;
  align-items: center;
  padding: 50px 0px;
}
.info-table-rentals .info-table__content-box {
  width: unset;
}

.info-table-sales .property-card--info {
  font-size: 15px;
}

.gallery-section img {
  width: 100%;
}

.contact-box__buttons-box {
  margin-top: 20px;
}

.info-table-sales .info-table__content-box {
  width: max-content;
}
.info-table-sales .info-table__content-box:last-child {
  padding-left: unset;
  background-color: unset;
}

.gm-style .gm-style-iw-d {
  overflow: unset !important;
  padding: 0px;
}

.gm-style .gm-style-iw-c {
  width: 285px;
  height: unset;
  padding: 0px;
}

.acf-map img {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  margin-bottom: 0px;
}

.marker-details {
  padding: 10px;
}

.marker-details h4 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--black);
}

.marker-price {
  color: var(--black);
  font-size: 1rem;
  font-weight: 600;
}

.tws-oh-pad-even-space {
  padding: 2rem;
}

.text-on-image {
  position: relative;
}

.text-on-image > img {
  aspect-ratio: 16 / 5;
  object-fit: cover;
  display: block;
  width: 100%;
}

.text-on-image > .toi__inner {
  position: absolute;
  width: 100%;
  bottom: 0;
  text-align: center;
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  padding: 2rem;
  flex-direction: column;
}

.tws-of-toi-title {
  color: var(--white);
  font-weight: 600;
  line-height: 1.2;
  font-size: 1.5rem;
}

p.tws-of-toi-title {
  font-size: 1rem;
}

.tws-oh-half-cards {
  justify-content: space-between;
  padding-top: 2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.tws-oh-half-cards .text-on-image > img {
  aspect-ratio: 1.5 / 1;
  width: 100%;
}

.tws-oh-half-cards .text-on-image .toi__inner {
  position: unset;
  display: block;
  text-align: left;
  padding: 0;
  /* padding-top: 1rem; */
}

.tws-oh-half-cards .text-on-image .toi__inner .tws-of-toi-title {
  color: #2c3f58;
}

.tws-oh-half-cards .text-on-image .toi__inner .tws-of-toi-title > h3 {
  font-weight: 600;
  line-height: 1.2;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.tws-oh-half-cards .text-on-image .toi__inner .tws-of-toi-title > p {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.cpt-properties .swiper {
  margin-right: unset;
}

.cpt-card--image {
  filter: brightness(0.7);
  width: 100%;
}

.cptSwiper3 .cpt-card__content-box {
  flex-direction: row-reverse;
}

.cptSwiper3 .cpt-card__content-box--box {
  text-align: left;
}

/* .cptSwiper2 .swiper-wrapper {
  padding-bottom: 2rem;
} */

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  bottom: -10px;
}

.cpt-card__content-box {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
}

.cpt-card--title {
  font-size: 16px;
}
.cpt-card--price {
  font-size: 14px;
}
.cpt-card--button {
  background-color: transparent;
  color: var(--white);
  font-size: 13px;
  padding: 10px 20px;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 0px;
  border: 1px solid var(--white);
  display: block;
  transition: all 0.5s;
}

.cpt-card--button:hover {
  background-color: var(--gold);
  border-color: var(--gold);
  color: var(--white);
}

.button {
  width: max-content;
  margin: 0 auto;
}

.section-banner-content,
.testimonial-card,
.cpt-card--image {
  border-radius: 0px !important;
}

.gm-style .gm-style-iw-c {
  border-radius: 0px !important;
}

.property-card__description-box {
  margin-bottom: 18px;
}
.property-card--description,
.property-card--description p {
  color: var(--dark-blue);
}

.footer-section {
  margin-top: 100px;
}
.footer-section {
  padding: 0px 30px 50px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr;

  padding-top: 30px;
  align-items: unset;
}

.text-on-image.tws-oh-half-card .button {
  display: flex;
  margin-left: unset;
}

.text-on-image.tws-oh-half-card a img {
  width: 100%;
}

@media (min-width: 550px) {
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .info-table-rentals {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .footer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.footer--text {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 170%;
  color: #666;
  margin-top: 15px;
}
.footer--title {
  position: relative;
  color: #866d4b;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 1.54px;
  text-transform: uppercase;
}

.tws-oh-half-cards .text-on-image .toi__inner .tws-of-toi-title > p {
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0;
  margin-top: 5px;
  text-align: left;
  font-size: 15px;
  color: #222;
}

.footer-grid__list {
  margin: 28px 0 25px;
}

.footer-grid__list--link {
  color: #666;
  background: -webkit-linear-gradient(var(--gold), var(--gold));
  background: linear-gradient(var(--gold), var(--gold));
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  position: relative;
  cursor: pointer;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 146%;
}
.footer-grid__list--item {
  margin-bottom: 10px;
}

.socials {
  gap: 0px;
}

.socials--icon {
  padding: 0 6px;
  font-size: 18px;
  color: var(--gold);
}

.store-popup--sales,
.store-popup {
  position: fixed;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  z-index: 999999999;
  transition: all 0.5s;
}

.store-overlay--sales,
.store-overlay {
  position: absolute;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  transition: opacity 0.3s ease;
  height: 100%;
}

.store-popup-menu--sales,
.store-popup-menu {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 332px;
  background: var(--white);
  transition: left 0.4s ease;
  padding: 1rem;
  border-radius: 4px;
  max-height: 600px;
  overflow-y: scroll; /* keep scroll functionality */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 10+ */
}

.store-popup-menu--sales::-webkit-scrollbar,
.store-popup-menu::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Edge */
}

@media (min-width: 1200px) {
  .admin-bar .store-popup--sales,
  .admin-bar .store-popup {
    top: 132px;
  }
  .store-popup--sales,
  .store-popup {
    position: fixed;
    top: 100px;
    left: 0;
    width: 100%;
    height: calc(100% - 100px);
  }

  .store-popup-menu--sales,
  .store-popup-menu {
    top: 10px;
    left: unset;
    right: 20px;
    width: 332px;
    transform: unset;
  }
}

.store-popup--sales.active,
.store-popup.active {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}

.store-popup__title-box--sales,
.store-popup__title-box {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
}

.store-popup__title-box--sales i,
.store-popup__title-box i {
  cursor: pointer;
}

#favourites-list--sales,
#favourites-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 80vh;
  overflow: scroll;
  margin-top: 20px;
}

#favourites-list--sales li,
#favourites-list li {
  list-style: none;
}

.store-popup-menu--text--sales,
.store-popup-menu--text {
  line-height: 1.4;
}

.favourites-card--sales,
.favourites-card {
  background-color: var(--white);
  border-radius: 4px;
  display: flex;
  position: relative;
  border: 1px solid #eaeaea;
}
.favourites-card--small {
  color: #41444b;
  display: block;
  font-size: 14px;
  font-weight: 700;
}

.favourites-text {
  color: var(--black);
  overflow: hidden;
  white-space: nowrap;
  display: block;
  text-overflow: ellipsis;
}

.favourites-card--title {
  font-size: 1rem;
  font-weight: 700;
}
.favourites-card--location,
.favourites-card--price {
  font-size: 0.75rem;
}

.favourites-card--small i {
  font-size: 12px;
}
.favourites-card__image-box {
  min-width: 88px;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.favourites-card__image-box img {
  display: block;
  height: 88px;
  width: 88px;
  -o-object-fit: cover;
  object-fit: cover;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

.favourites-card__content-box__title-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.favourites-card__content-box {
  width: calc(100% - 88px);
  padding: 0.5rem 1rem;
}
.favourites-overlay--sales.active,
.favourites-overlay.active,
.favourites--sales.active,
.favourites.active {
  transform: translateX(0);
}
.favourites--sales.active .fa-heart,
.favourites.active .fa-heart {
  display: none;
}
.favourites--sales.active .fa-xmark,
.favourites.active .fa-xmark {
  display: block;
}
.favourites--sales .fa-xmark,
.favourites .fa-xmark {
  display: none;
}

.remove-favourite--sales,
.remove-favourite {
  background-color: unset;
  border: none;
  color: var(--gold);
  transition: all 0.5s;
}

#clear-favourites--sales,
#clear-favourites {
  background-color: unset;
  border: unset;
  font-size: 0.75rem;
  cursor: pointer;
}

.remove-favourite--sales:hover,
.remove-favourite:hover {
  color: red;
}

.store-popup-menu--button--sales,
.store-popup-menu--button {
  display: block;
  padding: 10px 20px;
  background: var(--gold);
  margin-top: 20px;
  border-radius: 5px;
  margin-bottom: 10px;
  cursor: pointer;
  text-align: center;
  color: var(--white);
  transition: all 0.5s;
}

.store-popup-menu--button--sales:hover,
.store-popup-menu--button:hover {
  background-color: var(--button-blue);
}

.favourites-contact-modal--sales,
.favourites-contact-modal {
  background-color: rgba(0, 0, 0, 0.7);
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: all 0.7s;
  visibility: hidden;
  z-index: 99999999999999;
}

.favourites-contact-modal--image--sales,
.favourites-contact-modal--image {
  display: block;
  text-align: center;
  margin-bottom: 30px;
}

.favourites-contact-modal--image--sales img,
.favourites-contact-modal--image img {
  width: 175px;
  display: block;
  object-fit: contain;
  margin: 0 auto;
}

.favourites-contact-modal--sales .overlay,
.favourites-contact-modal .overlay {
  height: 100%;
  width: 100%;
}
.favourites-contact-modal--sales input,
.favourites-contact-modal--sales textarea,
.favourites-contact-modal input,
.favourites-contact-modal textarea {
  border: none;
  box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, 0.08);
  color: #41444b;
  display: block;
  font-size: 1rem;
  padding: 20px;
  width: 100%;
}
.favourites-contact-modal--sales textarea,
.favourites-contact-modal textarea {
  resize: none;
}
.favourites-contact-modal--close--sales,
.favourites-contact-modal--close {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--dark-blue);
  border-radius: 50%;
  color: var(--white);
  cursor: pointer;
  height: 40px;
  min-height: 40px;
  width: 40px;
  min-width: 40px;
  border: none;
  border: 1px solid var(--dark-blue);
  transition: all 0.5s;
}

.favourites-contact-modal--close--sales:hover,
.favourites-contact-modal--close:hover {
  background-color: var(--gold);
  border: 1px solid var(--gold);
}

.favourites-contact-modal__content-box--sales,
.favourites-contact-modal__content-box {
  background-color: var(--white);
  border-radius: 4px;
  left: 50%;
  max-height: 70vh;
  max-width: 700px;
  overflow: scroll;
  padding: 40px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.favourites-contact-modal--sales.active,
.favourites-contact-modal.active {
  opacity: 1;
  pointer-events: all;
  visibility: visible;
}

.tws-sales-favourites i,
.tws-prop-session-store i {
  display: none;
  color: var(--gold);
  cursor: pointer;
}
.tws-sales-favourites.favourited .fa-solid,
.tws-prop-session-store.favourited .fa-solid {
  display: inline-block;
  color: var(--gold);
}
.tws-sales-favourites:not(.favourited) .fa-regular,
.tws-prop-session-store:not(.favourited) .fa-regular {
  display: inline-block;
}

.favourite-button--sales,
.favourite-button {
  position: relative;
  display: none;
}

.favourites-total--sales,
.favourites-total {
  position: absolute;
  left: 50%;
  top: calc(50% + 8px);
  transform: translate(-50%, -50%);
  line-height: 0;
}

.features-staff-grid {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.features-staff-grid .property-features:first-child,
.features-staff-grid .property-features:last-child {
  width: 100%;
}

.features-staff-grid .property-features:first-child .features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.features-staff-grid .property-features:last-child .features {
  display: grid;
  grid-template-columns: 1fr;
}

.info-table-section .container,
.intro-text-section .container {
  max-width: 1280px !important;
}

.intro-text-flex {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

@media (min-width: 1024px) {
  .features-staff-grid .property-features:last-child {
    width: 35%;
  }

  .features-staff-grid .property-features:first-child {
    width: 65%;
  }

  .features-staff-grid {
    flex-direction: row;
    gap: 0px;
  }

  .intro-text-flex {
    flex-direction: row;
  }
}

.info-table__content-box:last-child {
  background-color: var(--white);
}

.intro-text-flex__content-box,
.intro-text-flex__form-box {
  width: 100%;
}

.contact-box {
  position: fixed;
  bottom: 0px;
  left: 0px;
  z-index: 2;
  width: 100%;
  padding: 15px;
  background-color: var(--white);
  max-height: calc(100svh - 200px);
  overflow-y: scroll;
}

.contact-box .input {
  border: 1px solid #eeeeee;
  border-radius: 0px;
}

.contact-box--title {
  font-size: 25px;
  color: var(--black);
  margin-bottom: 2px;
  font-weight: 600;
}

.contact-box--price {
  font-size: 16px;
  color: var(--black);
  margin-bottom: 15px;
  font-weight: 600;
}

.contact-box .wpforms-submit {
  width: 100% !important;
  border-radius: 4px !important;
}

.calculated-price-box {
  transition: all 0.1s ease-in-out;
  height: auto;
}

@media (min-width: 1024px) {
  .intro-text-flex__form-box {
    width: 37.5%;
    margin-top: -150px;
  }

  .calculated-price-box {
    transition: all 0.1s ease-in-out;
    height: auto;
    min-height: 185px;
  }

  .intro-text-flex__content-box {
    width: 58.333333333333336%;
  }

  .contact-box {
    position: sticky;
    bottom: unset;
    top: 132px;
    z-index: 2;
    width: 100%;
    border: 1px solid rgb(234 234 234);
    padding: 50px 30px;
  }
}

.tws-rate-switch {
  display: flex;
  padding: 20px 0px;
  align-items: center;
  padding-top: 0;
}

.tws-rate-switch > h4 {
  margin: 0;
  margin-right: 16px;
  font-weight: 500;
}

.single-properties .table-rates tbody td {
  background: #f9f9f9;
  border: 2px solid var(--white);
  font-size: 14px;
}

.single-properties .table-rates thead th {
  font-size: 16px;
  font-weight: 500;
  color: #2c3f58;
}

.tws-rate-switch > select {
  padding: 7px 22px;
  border-radius: 0;
  border: 1px solid #eeeeee;
  min-width: 250px;
  background: url("data:image/svg+xml;charset=UTF-8,%3Csvg fill='black' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'%3E%3Cpath d='M5.516 7.548L10 12.032l4.484-4.484 1.06 1.06L10 14.151 4.456 8.607z'/%3E%3C/svg%3E")
    center right 10px no-repeat #fff;
  background-size: 16px 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.single-properties .table-rates {
  display: none;
}

.single-properties .table-rates.active {
  display: table;
  border: navajowhite;
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}

.rates-section-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.rates-section-grid .tws-listing-section {
  grid-column: span 3;
}

.tws-grid {
  display: grid !important;
}

.tws-grid--four {
  grid-template-columns: 1fr;
}

.reviews-section {
  padding: 50px 0px;
}

.reviews-section .swiper .swiper-slide {
  width: 100% !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.cWOhZz {
  align-items: center;
  justify-content: center;
  text-align: center;
  display: none;
}
.gemrEh {
  justify-content: center;
}

.DXrsL {
  align-self: center;
}

.eQtMsi {
  align-items: center;
  display: none;
}

.wWwBE {
  text-align: center !important;
}

.single-properties .tws-intro-text .wysiwyg ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.single-properties .tws-intro-text .wysiwyg ul li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 0.5em;
}

.single-properties .tws-intro-text .wysiwyg ul li::before {
  content: '\f054';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  left: 5px;
  top: 5px;
  color: var(--grey);
  font-size: 12px;
  line-height: 1.4;
}

.tws-testimonial-card {
  text-align: center;
  padding: 0px 20px;
}
.tws-testimonial-card--name {
  font-size: 40px !important;
  display: block !important;
  line-height: 1 !important;
  color: var(--black);
  font-weight: 600;
}
.tws-testimonial-card--date {
  margin-bottom: 16px;
}
.tws-testimonial-card--content {
  color: rgba(44, 63, 88, 0.8) !important;
}

.es-review-background-container {
  background-color: unset !important;
}

.lofGmw {
  right: -25px !important;
}

.kfsgbP {
  left: -25px !important;
}

.XzYxA {
  font-size: 40px !important;
  display: block !important;
  line-height: 1 !important;
}

.hbvZvF,
.gvvpol {
  color: rgba(44, 63, 88, 0.8) !important;
}

.fyYAMD {
  background-color: unset !important;
  align-items: center !important;
}

.hJFmXj,
.gfaoZS {
  justify-content: center !important;
}

.eMZGGY path {
  fill: var(--gold) !important;
}

.gTLnFP {
  display: none !important;
}

.jWHopK {
  color: var(--black) !important;
  margin-top: 10px !important;
  text-transform: uppercase !important;
}

.llRmHn {
  align-items: center !important;
  gap: 20px !important;
}
.hUFXGl {
  text-align: center !important;
}

.ga-DaEy,
.ga-DaEy * {
  text-align: center;
}

.fc .fc-daygrid-day-bottom {
  display: none !important;
}

body.single-properties {
  overflow-x: unset !important;
}

.tws-property-flex {
  display: flex;
  width: 100%;
}

.tws-property-flex__content-box {
  position: relative;
}

.tws-property-flex__form-box {
  position: relative;
  overflow: visible;
}

.tws-property-flex__form-box--inner {
  display: block;
}

.property-card__meta-box--box--text {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 700;
}

.property-card__meta-box--box--text img {
  height: 30px;
  display: block;
  object-fit: contain;
}

.property-card__meta-box--box--text.property-card--bedrooms img {
  height: 28px;
}
.property-card__meta-box--box--text.property-card--bathrooms img {
  height: 30px;
}

.property-card__meta-box--box--text.property-card--land img {
  height: 30px;
}
.property-card__meta-box--box--text.property-card--guests img {
  height: 25px;
}

.tws-banner,
.ap-banner {
  height: 600px;
  position: relative;
}

.tws-banner--title,
.ap-banner--title {
  font-size: 60px;
  color: var(--white);
  display: block;
}

.tws-banner--image,
.ap-banner--image {
  -webkit-filter: brightness(0.7);
  filter: brightness(0.7);
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 600px !important;
}
.tws-banner__content-box,
.ap-banner__content-box {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 9;
}

.tws-banner--icon,
.ap-banner--icon {
  border: none;
  border-radius: 50%;
  height: 40px;
  min-height: 40px;
  width: 40px;
  min-width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--white);
  position: absolute;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9;
  background-color: transparent;
  color: var(--white);
  cursor: pointer;
  font-size: 22px;
}

.ap-introduction-section {
  padding-top: 6rem;
}

.ap-introduction-section--image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.ap-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 80px;
}

.ap-banner__button-box {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media (min-width: 768px) {
  .ap-banner__button-box {
    flex-direction: row;
    justify-content: center;
    margin-top: 20px;
  }
}

.testimonial-card {
}
.testimonial-card .testimonial-card--author {
  font-size: 15px;
  line-height: 18px;
  font-weight: 600;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
  color: var(--black);
  margin-bottom: 4px;
}
.testimonial-card .testimonial-card--date {
  font-size: 12px;
  line-height: 16px;
  color: rgba(17, 17, 17, 0.5);
  margin-bottom: 25px;
}
.testimonial-card .testimonial-card--date,
.testimonial-card .testimonial-card--author,
.testimonial-card .testimonial-card--title {
  text-align: center !important;
  font-family: var(--roboto) !important;
}
.testimonial-card .testimonial-card--text,
.testimonial-card .testimonial-card--text h1,
.testimonial-card .testimonial-card--text h2,
.testimonial-card .testimonial-card--text h3,
.testimonial-card .testimonial-card--text h4,
.testimonial-card .testimonial-card--text h5,
.testimonial-card .testimonial-card--text h6,
.testimonial-card .testimonial-card--text p {
  text-align: center !important;
  font-family: var(--roboto) !important;
  color: var(--black);
}

.testimonial-card--title,
.testimonial-card .testimonial-card--text p {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--black);
}

.ap-banner__button-box .button {
  margin: unset;
}
.ap-banner__button-box .button:first-of-type {
  background-color: var(--button-blue);
  color: var(--white);
}

.ap-banner__button-box .button:nth-of-type(2) {
  background-color: var(--gold);
  color: var(--white);
}
.ap-banner__button-box .button:last-of-type {
  background-color: var(--button-blue);
  color: var(--white);
}

.testimonial-card--stars {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.testimonial-card--stars i {
  color: var(--gold);
}

.ap-content-card--image {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  border: 1.5px solid #866d4b;
  border-radius: 4px;
}
.ap-content-card--title {
  font-size: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
  font-weight: 600;
  color: var(--black);
}
.ap-content-card--text {
  color: var(--black);
}

.ap-content-split {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ap-content-split--image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
.ap-content-split--title {
  font-size: 32px;
  font-weight: 600;
  color: var(--black);
  margin-bottom: 10px;
}

.ap-content-split__image-box,
.ap-content-split__content-box {
  width: 100%;
}

.ap-content-split__content-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px;
  text-align: center;
  background-color: #f4f2ef;
}

.tws--button {
  font-size: 14px;
  font-weight: 700;
  color: var(--button-blue);
  text-transform: uppercase;
}

.ap-content-card {
  display: flex;
  flex-direction: column;
}

.ap-content-card--text {
  flex-grow: 1;
}

.tws-banner--date {
  color: #a9acb5;
  display: block;
  font-weight: 500;
  letter-spacing: 1px;
  margin-bottom: 30px;
  text-transform: uppercase;
}

.images-gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.cards-section .text-on-image > img {
  aspect-ratio: 1.5 / 1;
}

.cards-section .toi__inner {
  position: relative;
  display: block;
  text-align: left;
  padding: 0;
}

.cards-section .text-on-image .toi__inner h2 {
  font-weight: 600;
  line-height: 1.2;
  font-size: 1.5rem !important;
  color: #2c3f58;
}

.cards-section .text-on-image .toi__inner .tws-of-toi-title > p {
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0;
  margin-top: 16px;
  text-align: left;
  font-size: 15px;
  color: #222;
}

.tws-gap-10 {
  gap: 10px !important;
}
.tws-gap-15 {
  gap: 15px !important;
}
.tws-gap-20 {
  gap: 20px !important;
}
.tws-gap-30 {
  gap: 30px !important;
}
.tws-gap-100,
.tws-gap-50 {
  gap: 50px !important;
}
@media (min-width: 64rem) {
  .tws-gap-100 {
    gap: 100px !important;
  }
}

.tws-grid {
  display: grid;
}
.tws-grid--2,
.tws-grid--one,
.tws-grid--two {
  grid-template-columns: 1fr;
}
@media (min-width: 48rem) {
  .tws-grid--2,
  .tws-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.tws-grid--3,
.tws-grid--three {
  grid-template-columns: 1fr;
}
@media (min-width: 48rem) {
  .tws-grid--3,
  .tws-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 64rem) {
  .tws-grid--3,
  .tws-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.tws-grid--4,
.tws-grid--four {
  grid-template-columns: 1fr;
}
@media (min-width: 48rem) {
  .tws-grid--4,
  .tws-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 64rem) {
  .tws-grid--4,
  .tws-grid--four {
    grid-template-columns: repeat(4, 1fr);
  }
}
.tws-grid--5,
.tws-grid--five {
  grid-template-columns: 1fr;
}
@media (min-width: 33.75rem) {
  .tws-grid--5,
  .tws-grid--five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 48rem) {
  .tws-grid--5,
  .tws-grid--five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 64rem) {
  .tws-grid--5,
  .tws-grid--five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.tws-grid--6,
.tws-grid--six {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 48rem) {
  .tws-grid--6,
  .tws-grid--six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 64rem) {
  .tws-grid--6,
  .tws-grid--six {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

.tws-padding-top-none {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 0 !important;
}
@media (min-width: 64rem) {
  .tws-padding-top-none {
    padding-left: 0;
    padding-right: 0;
  }
}
.tws-padding-top-small {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 10px !important;
}
@media (min-width: 64rem) {
  .tws-padding-top-small {
    padding-left: 0;
    padding-right: 0;
    padding-top: 20px !important;
  }
}
.tws-padding-top-medium {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 40px !important;
}
@media (min-width: 64rem) {
  .tws-padding-top-medium {
    padding-left: 0;
    padding-right: 0;
    padding-top: 40px !important;
  }
}
.tws-padding-top-large {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 70px !important;
}
@media (min-width: 64rem) {
  .tws-padding-top-large {
    padding-left: 0;
    padding-right: 0;
    padding-top: 70px !important;
  }
}
.tws-padding-bottom-none {
  padding-bottom: 0 !important;
  padding-left: 20px;
  padding-right: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-bottom-none {
    padding-left: 0;
    padding-right: 0;
  }
}
.tws-padding-bottom-small {
  padding-bottom: 10px !important;
  padding-left: 20px;
  padding-right: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-bottom-small {
    padding-bottom: 20px !important;
    padding-left: 0;
    padding-right: 0;
  }
}
.tws-padding-bottom-medium {
  padding-bottom: 40px !important;
  padding-left: 20px;
  padding-right: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-bottom-medium {
    padding-bottom: 50px !important;
    padding-left: 0;
    padding-right: 0;
  }
}
.tws-padding-bottom-large {
  padding-bottom: 70px !important;
  padding-left: 20px;
  padding-right: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-bottom-large {
    padding-bottom: 80px !important;
    padding-left: 0;
    padding-right: 0;
  }
}
.tws-padding-left-none {
  padding-left: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-left-none {
    padding-left: 0;
  }
}
.tws-padding-left-small {
  padding-left: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-left-small {
    padding-left: 20px;
  }
}
.tws-padding-left-medium {
  padding-left: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-left-medium {
    padding-left: 50px;
  }
}
.tws-padding-left-large {
  padding-left: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-left-large {
    padding-left: 70px;
  }
}
.tws-padding-right-none {
  padding-right: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-right-none {
    padding-right: 0;
  }
}
.tws-padding-right-small {
  padding-right: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-right-small {
    padding-right: 20px;
  }
}
.tws-padding-right-medium {
  padding-right: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-right-medium {
    padding-right: 50px;
  }
}
.tws-padding-right-large {
  padding-right: 20px;
}
@media (min-width: 64rem) {
  .tws-padding-right-large {
    padding-right: 70px;
  }
}

@media (min-width: 768px) {
  .ap-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .tws-banner,
  .tws-banner--image,
  .ap-banner--image,
  .ap-banner {
    height: 100svh !important;
    min-height: 750px !important;
  }
  .ap-content-split {
    flex-direction: row;
  }

  .ap-content-split__image-box,
  .ap-content-split__content-box {
    width: 50%;
  }
  .tws-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tws-grid-span-three {
    grid-column: span 3;
  }

  .footer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .tws-oh-pad-even-space {
    padding: 1rem;
  }
  .tws-oh-half-cards {
    padding-top: 1rem;
    gap: 1rem;
    grid-template-columns: repeat(1, 1fr);
  }
  .text-on-image > img,
  .tws-oh-half-cards .text-on-image > img {
    aspect-ratio: 7/3;
  }
  .tws-oh-half-cards .text-on-image .toi__inner {
    padding: 0;
    padding-bottom: 2rem;
  }
}

@media (max-width: 500px) {
  .text-on-image > img,
  .tws-oh-half-cards .text-on-image > img {
    aspect-ratio: 1.5/1;
  }
  .text-on-image {
    display: none;
  }
  .tws-oh-half-cards .text-on-image {
    display: flex;
    flex-direction: column;
  }
}

.banner--title {
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
}

.banner--sub-title {
  font-size: 15px;
  font-weight: 400;
}

@media (min-width: 768px) {
  .banner--title {
    font-size: 40px;
  }
}

.admin-bar .header,
.admin-bar .navbar-brand,
.admin-bar .nav-container.scrolled,
.admin-bar .nav-container {
  top: 46px;
}

.admin-bar .navigation-mobile.active {
  top: 146px;
}

@media (min-width: 783px) {
  .admin-bar .header,
  .admin-bar .navbar-brand,
  .admin-bar .nav-container.scrolled,
  .admin-bar .nav-container {
    top: 32px;
  }

  .admin-bar .navigation-mobile.active {
    top: 132px;
  }
}

.page-template-rentals > .header {
  border-bottom: solid 1px #7575752b;
}

.admin-bar .navigation-mobile {
  top: 132px;
}

.navbar.scrolled {
  background-color: var(--white);
}
.top-navigation-banner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 40px;
  left: 0;
  position: fixed;
  top: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 100%;
  z-index: 999;
}
.top-navigation-banner p {
  font-size: 0.875rem;
}

.navbar-burger,
.navbar-burger:hover {
  background-color: unset;
  background: unset;
  cursor: pointer;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  color: var(--gold) !important;
  margin-right: 0px !important;
}
@media (min-width: 75rem) {
  .navbar-burger,
  .navbar-burger:hover {
    display: none;
  }
}
.nav-container.scrolled {
  top: 0;
}
.nav-container.scrolled .navbar-end .nav__list--link {
  color: var(--white);
}
.navigation-mobile.active.scrolled {
  top: 100px;
}
.navigation-mobile.active {
  display: block !important;
  top: 95px;
  max-height: 400px;
  overflow-y: scroll;
}
.navbar-brand--logo-dark {
  display: block;
}
.navbar-brand {
  display: none;
}
.nav-logo {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.nav-logo img {
  height: unset !important;
  max-height: unset !important;
  max-width: unset;
  min-height: unset !important;
}

.navbar-brand {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 20px;
  height: 100px;
  justify-content: space-between;
  padding: 0 20px;
  width: 100%;
}

@media (min-width: 75rem) {
  .navbar-brand {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: var(--white);
    background-color: transparent;
    display: none;
    padding: 0;
  }
}
.navbar-brand .navbar-item img {
  height: 100px;
  max-height: unset;
}
.nav-container {
  left: 0;
  position: fixed;
  top: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 100%;
  z-index: 99999;
  background-color: var(--bg-color);
}
.nav-container .container {
  position: unset;
  width: 100%;
}
.nav-container .nav {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  position: relative;
  width: 100%;
}
.nav-container .nav__post-type-content-box {
  padding: 20px 0;
}
.nav-container .nav__post-type-content-box__image-box img {
  aspect-ratio: 4/3;
  border-bottom-right-radius: 30px;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.nav-container .nav__nav-icon-box {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3.25rem;
  justify-content: center;
  position: relative;
  width: 3.25rem;
}
.nav-container .nav__nav-icon-box i {
  cursor: pointer;
  font-size: 1.25rem;
}
.nav-container .nav__list {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  list-style-type: none;
  margin: 0 20px 0 0;
  padding: 0;
}
.nav-container .nav__list--item {
  font-weight: 600;
  margin: 0;
}

.nav-container .nav__list--link span {
}
.nav-container .nav__list--link {
  color: var(--gold);
  display: inline-block;
  font-size: 13px;
  letter-spacing: 1px;
  font-weight: 400;
  padding: 0px;
  text-decoration: none;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  text-transform: uppercase;
  padding: 1.25rem 1rem;
}

.features .feature-card {
  max-height: 1000px; /* Or whatever is sufficient */
  transition: max-height 0.5s ease, opacity 0.5s ease;
}

.features .feature-card:nth-child(n + 9) {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
}

.features.expanded .feature-card {
  opacity: 1;
  max-height: 1000px; /* Matches the above max */
}

.features:not(.expanded) .feature-card:nth-child(n + 9) {
  display: none;
  height: 0px;
  opacity: 0;
  overflow: hidden;
}

.nav-container .nav__list--link:hover {
  text-decoration: none;
}

.nav-container .nav__list--link .fa-chevron-down {
  transition: all 0.2s;
  transition-delay: 0.4s;
}

.nav-container .nav__list--link:hover .fa-chevron-down {
  transform: rotate(180deg);
}

@media (min-width: 64rem) {
  .nav-container .nav__list--link:hover {
    color: var(--gold);
  }

  .nav-container .nav__list--link {
    padding: 1.6875rem 1.25rem;
  }
}
.nav-container .nav__list--link.is-active {
  color: var(--gold);
  font-weight: 600;
}

.nav-container .nav__button-box--icon {
  display: block;
}

.nav-container .nav__button-box--text {
  display: none;
}

.nav-container .nav__button-box {
  margin-right: 20px;
}

.nav-logo {
  min-width: 120px;
  width: 120px;
}

.nav-logo img {
  width: 120px;
}

@media (min-width: 540px) {
  .nav-container .nav__button-box--icon {
    display: none;
  }

  .nav-container .nav__button-box--text {
    display: block;
  }

  .nav-logo {
    min-width: 200px;
    width: 200px;
  }

  .nav-logo img {
    width: 170px;
  }
}

.nav__button-box {
  gap: 10px;
}

.favourite-button--sales,
.favourite-button {
  border: unset;
  background-color: transparent;
  cursor: pointer;
}

.favourite-button--sales i,
.favourite-button i {
  font-size: 25px;
}

.favourite-button--sales .fa-regular.fa-heart,
.favourite-button .fa-regular.fa-heart {
  color: var(--gold);
}
.favourite-button--sales .fa-solid.fa-heart,
.favourite-button .fa-solid.fa-heart {
  display: none;
  color: var(--gold);
}

.favourite-button--sales span,
.favourite-button span {
  color: var(--white);
  font-size: 10px;
}

.favourite-button--small {
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
  color: var(--black) !important;
}

.nav__button-box .button {
  border-radius: 4px;
  text-transform: capitalize;
  font-size: 12px;
  padding: 16px 20px;
}
.nav__button-box .button:nth-child(2) {
  background-color: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
}

.nav__button-box .button:nth-child(3) {
  background-color: var(--button-blue) !important;
  border: 1px solid var(--button-blue) !important;
  color: var(--white) !important;
}

.post-type-grid-box__sub-list {
  display: grid;
}

.post-type-grid-box__sub-list.rows-1 {
  grid-template-columns: 1fr;
}
.post-type-grid-box__sub-list.rows-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.post-type-grid-box__sub-list.rows-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (min-width: 48rem) {
  .nav-container .nav__button-box {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 64rem) {
  .nav__post-type-content-box.post-type-grid-box {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

@media (min-width: 1200px) {
  .nav-container .nav__button-box {
    margin-right: 0px;
  }
}

.nav-post-card {
  border-radius: 5px;
  display: block;
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  padding: 0px;
}

.nav-post-card--title {
  color: #222;
  display: block;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 20px;
  margin-top: 20px;
}

.nav-post-card .fa-chevron-right {
  transition: all 0.5s;
  opacity: 0;
  font-display: 13px;
}
.nav-post-card:hover .fa-chevron-right {
  opacity: 1;
}

.nav-post-card--title {
  display: flex;
  gap: 5px;
  align-items: center;
}

.nav-post-card--text {
  color: #222;
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
}

.nav-post-card img {
  aspect-ratio: 430 / 225;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.navSwiper {
  padding: 10px 0;
}
.navSwiper .swiper-slide {
  height: auto !important;
}
.sub-nav__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}
.sub-nav__list a {
  color: var(--gold);
  display: block;
  font-size: 14px;
  font-weight: 400;
  padding: 13px 20px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.sub-nav__list a:hover {
  color: var(--gold);
}
.mega-nav__list {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, 1fr);
  padding: 50px;
}
.mega-nav__list--title {
  border-bottom: 1px dashed #dadada;
  color: var(--white);
  font-size: 1.3rem;
  font-weight: 600;
  padding: 8px 8px 10px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.mega-nav__sub-list--link {
  color: var(--white);
  display: block;
  padding: 8px;
}
.mega-nav__sub-list--link:hover {
  background-color: #001a44;
  color: var(--white);
}
.nav-container .nav .nav__list .nav__list--item .nav__list--link + .megadrop-nav,
.nav-container .nav .nav__list .nav__list--item .nav__list--link + .nav-container-overlay {
  background: transparent;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 70px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  visibility: hidden;
  width: 100%;
}
.nav-container-overlay {
  background: rgba(0, 0, 0, 0.4);
  height: 100vh;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 140px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  visibility: hidden;
  width: 100%;
  z-index: -1;
}
.megadrop-nav.sub-navigation .megadrop-nav--content {
  border-radius: 0;
}
.nav-container .nav .nav__list .nav__list--item .nav__list--link + .megadrop-nav.sub-navigation,
.nav-container .nav .nav__list .nav__list--item .nav__list--link + .nav-container-overlay {
  background: transparent;
  left: unset;
  opacity: 0;
  position: absolute;
  top: 70px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  visibility: hidden;
  width: unset;
}
.nav-container
  .nav
  .nav__list
  .nav__list--item
  .nav__list--link
  + .megadrop-nav.sub-navigation
  .megadrop-nav--content,
.nav-container
  .nav
  .nav__list
  .nav__list--item
  .nav__list--link
  + .nav-container-overlay
  .megadrop-nav--content {
  padding: 0;
}
.megadrop-nav--text {
  color: var(--white);
  font-weight: 500;
}
.megadrop-nav--title {
  color: #001a44;
  font-weight: 600;
  margin-top: 0;
}
.megadrop-nav--content {
  background-color: var(--bg-color);
  border-top: 1px solid #f2f2f2;
  margin-top: 30px;
  padding-right: 30px;
  padding-left: 30px;
}
.megadrop-nav--content .container {
  min-height: 0;
  min-width: 0;
}
.megadrop-nav__sub-nav-list {
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
}
.megadrop-nav__sub-nav-list,
.megadrop-nav__sub-nav-list--item {
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.megadrop-nav__sub-nav-list--item {
  -webkit-box-orient: horizontal;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: row;
  flex-direction: row;
  list-style: none;
  position: relative;
}
.navigation-mobile {
  background-color: var(--bg-color);
  border-top: 2px solid var(--white);
  display: none;
  left: 0;
  max-height: 80svh;
  overflow: scroll;
  padding: 20px;
  position: fixed;
  top: 95px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 100%;
  z-index: 14;
}
.navigation-mobile__heading-box {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
.navigation-mobile--sub-item {
  padding: 8px 0;
}
.navigation-mobile--item:not(:last-child) {
  margin-bottom: 10px;
}
.navigation-mobile .mega-nav__sub-list--item .navigation-mobile--sub-link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--gold);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  padding: 8px 0;
}
.navigation-mobile .mega-nav__sub-list--item .navigation-mobile--sub-link img {
  aspect-ratio: 1/1;
  border-radius: 5px;
  display: block;
  height: 30px;
  -o-object-fit: cover;
  object-fit: cover;
  width: 30px;
}
.navigation-mobile--link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--gold);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  letter-spacing: 1px;
  height: 40px;
  width: 100%;
  font-size: 14px;
  text-transform: uppercase;
}
.navigation-mobile--link:hover {
  color: var(--gold);
}
.navigation-mobile--sub-link {
  color: var(--gold);
  display: block;
  font-weight: 400;
  padding-left: 20px;
  font-size: 14px;
}
.navigation-mobile--sub-link:hover {
  color: var(--white);
}
.navigation-mobile--item:not(:last-child) {
  margin-bottom: 0;
}
.mobile-open-mega-menu,
.mobile-open-sub-nav-menu {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  color: var(--gold);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  min-height: 40px;
  min-width: 40px;
}
.mobile-sub-nav-menu {
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.2s ease;
  transition: height 0.2s ease;
}
.mobile-sub-nav-menu .navigation-mobile__heading-box {
  border: none;
}
.mobile-sub-nav-menu.active {
  height: auto;
  overflow: unset;
}
.mobile-mega-menu {
  height: 0;
  overflow: hidden;
}
.mobile-mega-menu.active {
  height: auto;
  overflow: unset;
}
.mobile-open-mega-menu i,
.mobile-open-sub-nav-menu i {
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.mobile-open-mega-menu.active i,
.mobile-open-sub-nav-menu.active i {
  color: var(--gold);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.navbar-end--desktop,
.navigation--desktop {
  display: none !important;
}
.navigation--desktop {
  /* overflow: hidden; */
  padding: 0 20px;
  width: 100%;
}
@media (min-width: 87.5rem) {
  .navigation--desktop {
    padding: 0 30px;
  }
}
.nav-container
  .nav
  .nav__list
  .nav__list--item
  .nav__list--link
  + .megadrop-nav
  .mega-nav-list
  .mega-nav-item.is-hoverable
  .mega-nav-link {
  position: relative;
}
.nav-container
  .nav
  .nav__list
  .nav__list--item
  .nav__list--link
  + .megadrop-nav
  .mega-nav-list
  .mega-nav-item
  .mega-nav-link:hover {
  background: #f2f2f2;
}
.nav-container .nav .nav__list .nav__list--item.is-hoverable .nav__list--link + .megadrop-nav:hover,
.nav-container
  .nav
  .nav__list
  .nav__list--item.is-hoverable
  .nav__list--link
  + .megadrop-nav:hover
  .nav-container-overlay,
.nav-container
  .nav
  .nav__list
  .nav__list--item.is-hoverable
  .nav__list--link
  + .nav-container-overlay,
.nav-container .nav .nav__list .nav__list--item.is-hoverable .nav__list--link:hover + .megadrop-nav,
.nav-container
  .nav
  .nav__list
  .nav__list--item.is-hoverable
  .nav__list--link:hover
  + .megadrop-nav
  .nav-container-overlay,
.nav-container
  .nav
  .nav__list
  .nav__list--item.is-hoverable
  .nav__list--link:hover
  + .nav-container-overlay {
  opacity: 1;
  visibility: visible;
}
.nav-container-overlay:hover {
  opacity: 0 !important;
  visibility: hidden !important;
}
.mobile-menu span:last-of-type {
  margin-bottom: 0;
}
.translation-mobile {
  margin-left: auto;
}

.button--blue {
  background-color: var(--button-blue);
  color: var(--white);
}
.button--gold {
  background-color: var(--gold);
  color: var(--white);
}
.button--blue:active,
.button--blue:hover {
  background-color: var(--gold);
  color: var(--white);
}
.button--gold:active,
.button--gold:hover {
  background-color: var(--button-blue);
  color: var(--white);
}

.total-price {
  font-size: 14px;
  font-weight: 600;
  color: var(--black);
}

.final-price {
  text-align: right;
  margin-top: 20px;
  font-weight: 700;
  color: var(--black);
}

#enquire-form {
  display: none;
  opacity: 0;
  transition: all 0.7s;
  margin-top: 20px;
}

#enquire-form div.wpforms-container-full .wpforms-form textarea.wpforms-field-large {
  height: 110px;
}

#enquire-form.active {
  display: block;
  opacity: 1;
}

.contact-box__buttons-box {
  display: flex;
  gap: 20px;
}
.contact-box__buttons-box .button {
  margin: unset;
  width: 100%;
}

@media (min-width: 75rem) {
  .navbar-end--desktop,
  .navigation--desktop {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .navbar-end {
    margin-left: auto !important;
  }
  .nav-container .nav .nav__list {
    width: 100%;
  }
  .nav-container .nav .nav__list .nav__list--item .nav__list--link .fa-caret-down {
    margin-left: 5px;
  }
  .nav__list--item:hover .megadrop-nav {
    opacity: 1;
    visibility: visible;
  }
  .nav-container,
  .nav-container .nav,
  .nav-container .nav .nav__list {
    height: 100px;
  }
  .nav-container .nav {
    position: unset !important;
  }
}

div.wpforms-container-full input[type='date']:focus,
div.wpforms-container-full input[type='datetime']:focus,
div.wpforms-container-full input[type='datetime-local']:focus,
div.wpforms-container-full input[type='email']:focus,
div.wpforms-container-full input[type='month']:focus,
div.wpforms-container-full input[type='number']:focus,
div.wpforms-container-full input[type='password']:focus,
div.wpforms-container-full input[type='range']:focus,
div.wpforms-container-full input[type='search']:focus,
div.wpforms-container-full input[type='tel']:focus,
div.wpforms-container-full input[type='text']:focus,
div.wpforms-container-full input[type='time']:focus,
div.wpforms-container-full input[type='url']:focus,
div.wpforms-container-full input[type='week']:focus,
div.wpforms-container-full select:focus,
div.wpforms-container-full textarea:focus,
.wp-core-ui div.wpforms-container-full input[type='date']:focus,
.wp-core-ui div.wpforms-container-full input[type='datetime']:focus,
.wp-core-ui div.wpforms-container-full input[type='datetime-local']:focus,
.wp-core-ui div.wpforms-container-full input[type='email']:focus,
.wp-core-ui div.wpforms-container-full input[type='month']:focus,
.wp-core-ui div.wpforms-container-full input[type='number']:focus,
.wp-core-ui div.wpforms-container-full input[type='password']:focus,
.wp-core-ui div.wpforms-container-full input[type='range']:focus,
.wp-core-ui div.wpforms-container-full input[type='search']:focus,
.wp-core-ui div.wpforms-container-full input[type='tel']:focus,
.wp-core-ui div.wpforms-container-full input[type='text']:focus,
.wp-core-ui div.wpforms-container-full input[type='time']:focus,
.wp-core-ui div.wpforms-container-full input[type='url']:focus,
.wp-core-ui div.wpforms-container-full input[type='week']:focus,
.wp-core-ui div.wpforms-container-full select:focus,
.wp-core-ui div.wpforms-container-full textarea:focus {
  font-family: var(--roboto);
}

.fancybox__container {
  z-index: 999999 !important;
}

.sort-by-filter {
  display: flex;
  gap: 0px;
  position: relative;
  cursor: pointer;
  align-items: center;
}
.sort-by-filter .fa-caret-down {
  transition: all 0.5s;
}

.sort-by-filter .fa-caret-down.active {
  transform: rotate(180deg);
}

.sort-by-filter__menu-box {
  display: none;
  flex-direction: column;
  position: absolute;
  left: -3px;
  top: calc(100% + 5px);
  width: 210px;
  border: 1px solid #d1d5db;
  background: var(--white);
  border-radius: 4px;
}

.sort-by-filter__menu-box.active {
  display: flex;
}

.ap-content-card--text p {
  margin-bottom: 10px;
}

.ap-content-card--text p:last-of-type {
  margin-bottom: 0px;
}

.ap-banner--text p,
.ap-content-section--text p {
  text-align: center !important;
}

.ap-banner--text p {
  color: var(--white);
}

.sort-by-filter button {
  background: var(--white);
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  transition: background 0.2s ease;
  text-align: left;
  font-size: 14px;
}

.sort-by-filter button:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.sort-by-filter button:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.sort-by-filter button:hover {
  background: var(--gold);
  color: var(--white);
}

.sort-by-filter button.active {
  background: var(--gold);
  color: var(--white);
}

.accordion {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: flex-start;
  background-color: #fefeff;
  border: 1px solid #bcc0c8;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 0;
  outline: none;
  padding: 1.25rem;
  text-align: left;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  width: 100%;
}

.accordion--title {
  font-size: 24px;
  margin-bottom: 10px;
  font-weight: 600;
  color: #7f7f7f;
}
.accordion--text {
  font-weight: 400;
  color: #4b4c50;
  font-size: 17px;
  line-height: 1.3;
}

.accordion:hover {
  border-color: #7f7f7f;
  background-color: #f8f9fb;
  box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.35);
}
.accordion:hover,
.accordion:hover .fa-minus,
.accordion:hover .fa-plus {
  color: #9a7747;
}
.accordion .fa-minus,
.accordion.active .fa-plus {
  display: none;
}

.accordion.active {
  border-color: #7f7f7f;
  background-color: #f8f9fb;
}

.accordion .accordion--text {
  opacity: 1;
  max-height: 200px;
  transition: opacity 0.3s ease, height 1s ease;
  overflow: hidden;
}

.accordion.active .accordion--text {
  opacity: 0;
  max-height: 0;
}

.panel.active {
  border-top: unset;
  border-left: 1px solid #7f7f7f;
  border-bottom: 1px solid #7f7f7f;
  border-right: 1px solid #7f7f7f;
  background-color: #f8f9fb;
}

.accordion.active .fa-minus {
  color: #9a7747;
  display: block;
}
.panel {
  background-color: #fefeff;
  border-radius: 0;
  -webkit-box-shadow: unset;
  box-shadow: unset;
  margin-bottom: 0.9375rem !important;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
}

.panel__content-box {
  padding: 1.875rem 1.25rem 1.25rem;
}

.panel__content-box p,
.panel__content-box {
  font-weight: 400;
  color: #4b4c50;
  font-size: 17px;
  line-height: 1.3;
}

.panel__content-box .button {
  margin-top: 3rem;
}

.faq_blocks__faq.faq_blocks__faq--active {
  display: block !important;
}

.faq_blocks__faq--active {
  display: block;
}

.faq_blocks__contact-box--icon {
  font-size: 2rem;
}

.faq_blocks__faq {
  display: none;
}

.faq_blocks {
  margin-right: 50px;
}

.faq_blocks__header {
  border-bottom: 2px solid #f5f5f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}

.faq_blocks__header__title:hover {
  cursor: pointer;
}

.faq_blocks__header__title h2 {
  color: var(--dark-blue);
}

.faq_blocks__header__title.faq_blocks__header__title--active h2 {
  color: var(--gold);
}

.tws.accordion {
  border-color: var(--black);
  color: var(--black);
  font-weight: 300 !important;
  letter-spacing: 2px;
  font-size: 14px;
}

.tws.accordion:after {
  color: var(--black);
}
.tws.accordion-panel {
  font-size: 14px;
  color: var(--black);
  line-height: 1.6;
}

.accordion {
  background: 0 0;
  border: 1px solid #d7dce0;
  cursor: pointer;
  margin-bottom: 0rem;
  outline: 0;
  padding: 18px;
  text-align: left;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
  width: 100%;
  font-size: 1rem;
}

.accordion span {
  font-weight: 500 !important;
}

.accordion i {
  transition: all 0.5s;
  color: var(--gold);
}

.accordion.active i {
  transform: rotate(180deg);
}

.accordion-panel {
  background-color: transparent;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.2s ease-out;
  -o-transition: max-height 0.2s ease-out;
  transition: max-height 0.2s ease-out;
  font-size: 14px;
  margin-bottom: 10px;
}

.accordion-panel.active {
  margin-bottom: 0px;
}

@media (min-width: 768px) {
  .faq_blocks__header {
    flex-direction: row;
    gap: 2rem;
  }
}

.filter-popup__form label {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  display: block;
  color: var(--black);
}

.form-control.input {
  font-size: 14px;
  padding: 21px 10px;
  border-radius: 0px;
}

.custom-dropdown {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  background: var(--white);
  padding: 8px 12px;
  border: 1px solid #ddd;
  min-width: 100%;
  cursor: pointer;
  font-size: 14px;
}
.custom-dropdown__selected {
  display: block;
  width: 100%;
}
.custom-dropdown__menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--white);
  border: 1px solid #ddd;
  width: 100%;
  z-index: 20;
}
.custom-dropdown.open .custom-dropdown__menu {
  display: block;
}
.custom-dropdown__menu button {
  width: 100%;
  text-align: left;
  padding: 6px 10px;
  background: var(--white);
  border: none;
  color: var(--black);
}
.custom-dropdown__menu button:hover {
  background: #f5f5f5;
}

.filter__button-box {
  display: flex;
  justify-content: space-between;
}

.filter-filters-btn {
  background-color: var(--dark-blue);
  color: var(--white);
  font-weight: 500;
  border-radius: 0.25rem;
  border-width: 1px;
  border-style: solid;
  border-color: var(--dark-blue);
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
  vertical-align: middle;
  transition: all 0.5s;
  padding: 0.5rem 0.75rem;
}

.filter-filters-btn:hover {
  background-color: var(--gold);
  border-color: var(--gold);
}

.banner,
.banner video {
  margin-top: 100px;
  height: calc(100svh - 100px);
}

@media (min-width: 1024px) {
  .banner,
  .banner video {
    height: 600px;
  }
}

.banner video {
  filter: brightness(0.7);
}

.reset-filters-btn {
  background-color: var(--white);
  color: var(--dark-blue);
  font-weight: 500;
  border-radius: 0.25rem;
  border-width: 1px;
  border-style: solid;
  border-color: var(--dark-blue);
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
  vertical-align: middle;
  transition: all 0.5s;
  padding: 0.5rem 0.75rem;
}

.reset-filters-btn:hover {
  background-color: var(--dark-blue);
  color: var(--white);
}

.tws-blog-card__image-box:hover img {
  transform: scale(1.2);
}

.tws-blog-card__image-box img {
  transition: all 0.7s;
}

.blogs__filter-box form ul li ul li label {
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
}

.blogs__filter-box form ul li ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  gap: 10px;
  align-items: center;
}

.page-template-exclusive .property-listings {
  margin-top: 0px;
}

.page-template-exclusive div.wpforms-container-full button[type='submit']:not(:hover):not(:active) {
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 0px !important;
}

.footer-subscribe-box {
  margin-top: 10px;
  margin-bottom: 10px;
}

.footer-subscribe-box div.wpforms-container-full button[type='submit']:hover,
.footer-subscribe-box div.wpforms-container-full button[type='submit']:not(:hover):not(:active) {
  margin-left: unset !important;
}

.footer-subscribe-box .wpforms-container .wpforms-field,
.footer-subscribe-box .wp-core-ui div.wpforms-container .wpforms-field {
  padding-bottom: 0px !important;
}

.search-form-global {
  position: relative;
  /* inset: 0;
  left: 0px;
  top: 0px; */
  width: 100%;
  /* height: 100%; */
  /* z-index: 99999999999;
  backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.5s; */
}
/* 
.search-form-global.active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
} */

/* .search-button {
  background-color: unset;
  border: none;
  color: var(--gold);
  font-size: 20px;
  cursor: pointer;
} */

/* .search-button-close {
  position: absolute;
  right: 20px;
  top: 20px;
  border: none;
  height: 40px;
  min-height: 40px;
  width: 40px;
  min-width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  cursor: pointer;
} */

.autocomplete-results {
  position: absolute;
  background: var(--white);
  color: var(--black);
  width: calc(100% - 0px);
  left: 0px;
  top: calc(100% - -8px);
  max-height: 400px;
  overflow-y: auto;
  z-index: 9999;
  border-radius: 2px;
  font-family: var(--roboto);
}
.autocomplete-results .autocomplete-results--inner {
  padding: 0;
  cursor: pointer;
  font-family: var(--roboto);
  box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, 0.08);
  padding: 15px;
}

/* .search-form-global .overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--black);
  opacity: 0.5;
}

.search-form-global__content-box {
  max-width: 600px;
  padding: 50px;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--white);
  display: flex;
  flex-direction: column;
}

.search-form-global__content-box img {
  width: 200px;
  margin: 0 auto;
  margin-bottom: 20px;
  object-fit: contain;
  display: block;
} */

/* .search-form-global__content-box input {
  padding: 10px;
  text-align: center;
} */
.search-form-global input {
  padding: 10px 0px;
  text-align: left;
  width: 215px;
  font-family: var(--roboto);
  border: none;
  background-color: transparent;
  border-bottom: 1px solid var(--grey);
  margin-right: 20px;
  outline: none;
}

/* .search-form-global__content-box button {
  padding: 10px;
} */

.cpt-properties.cpt-properties--sales .cptSwiper3 .cpt-card__content-box {
  flex-direction: column;
}

.cpt-properties.cpt-properties--sales .cptSwiper3 .cpt-card__content-box .cpt-card--price {
  margin-top: 0px;
}

.cpt-properties.cpt-properties--sales .cptSwiper3 .cpt-card__content-box .cpt-card--button {
  margin-top: 20px;
}

@media (min-width: 1024px) {
  .blogs__filter-box form ul li ul {
    flex-direction: row;
  }
}

@media (max-width: 1024px) {
  .contact-box--label,
  .contact-box--guests,
  .contact-box--bedrooms,
  .contact-box--nights-breakdown,
  .contact-box--checkin,
  .contact-box--guests,
  .contact-box--nights,
  .contact-box .title.is-3 {
    display: none;
  }

  .contact-box__buttons-box {
    margin-top: 20px;
    gap: 10px;
  }

  .calendar-month:last-child {
    display: none !important;
  }
}

/* Guest counter wrapper */
.contact-box--guests {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 14px;
}

/* Buttons */
.contact-box--guests button {
  border-radius: 4px;
  width: 30px;
  height: 30px;
  font-size: 14px;
  border: none;
  font-weight: bold;
  background-color: #d8d8d8;
  color: var(--black);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.1s ease;
}

.calendar-icon {
  pointer-events: none;
}

.contact-box--guests button:hover {
  background: var(--gold);
  color: var(--white);
}

.contact-box--guests button:active {
  transform: scale(0.95);
}

/* Input */
.contact-box--guests input {
  width: 30px;
  height: 30px;
  text-align: center;
  border: none;
  border-radius: 4px;
  background: #fff;
  font-size: 14px;
  font-weight: 400;
  color: var(--black);
  pointer-events: none; /* keep it read-only */
}

.search-group-heading {
  font-weight: bold;
  margin-bottom: 10px;
  cursor: auto;
}

.search-group-list {
  list-style: none;
  padding-left: 15px;
  margin: 0 0 10px 0;
}

.search-group-item {
  padding: 8px 0;
}

.search-group-item:hover {
  text-decoration: underline;
}
.info-table__content-box {
  text-align: center;
}

.info-table {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.title.is-1 {
  font-size: 2rem;
}

.gallery-section img {
  aspect-ratio: 4 / 3;
}

@media (max-width: 767px) {
  .banner__form-box--box {
    display: flex;
    align-items: center;
  }

  .banner__form-box--box input,
  .banner__form-box--box select {
    font-size: 14px;
  }

  .banner__form-box--box label {
    margin-bottom: 0px;
    width: 160px;
  }

  .banner__form-box--box .date-picker-wrapper {
    display: flex;
    align-items: center;
  }

  .banner__form-box--box .date-picker-wrapper .calendar-icon {
    display: none;
  }

  .contact-box-mobile-min {
    position: absolute;
    right: 10px;
    top: -40px;
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    width: 40px;
    min-width: 40px;
    max-width: 40px;
    background-color: var(--gold);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  .info-table--title {
    font-size: 12px;
    text-align: center;
  }

  .contact-box {
    overflow-y: unset;
    max-height: unset;
    box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, 0.08);
  }

  .contact-box.active {
    max-height: calc(100svh - 200px);
    overflow-y: scroll;
  }

  .banner__form-box form {
    flex-direction: column;
    border-radius: 40px;
    display: flex;
    width: 90%;
  }

  .banner video {
    filter: brightness(0.5);
  }

  .banner__content-box.tws-center {
    top: 120px;
  }

  .banner__form-box {
    bottom: 20px;
  }

  .calculated-price-box {
    max-height: 0px;
    overflow: hidden;
  }

  .calculated-price-box.active {
    max-height: initial;
  }
}

@media (max-width: 1024px) {
  .home .banner__form-box {
    display: flex;
  }

  .banner__form-box--box:last-child {
    text-align: center;
  }

  .banner__form-box--box .date-picker-wrapper .calendar-icon {
    right: 0px;
  }
}

.intro-text-flex .title.is-2 {
  font-size: 1.75rem;
}

@media (min-width: 768px) {
  .gallery-section img {
    aspect-ratio: 16 / 9;
  }

  .title.is-1 {
    font-size: 3rem;
  }
  .contact-box-mobile-min {
    display: none;
  }

  .info-table__content-box {
    text-align: left;
  }

  .info-table-sales {
    width: max-content;
  }

  .intro-text-flex .title.is-2 {
    font-size: 2.5rem;
  }
}

@media (min-width: 1024px) {
  .info-table.tws-oh-4-grid {
    width: 58.333333333333336%;
    height: unset;
    padding: 50px 0px;
  }
}

.contact-box--total-cost {
  font-size: 14px;
}

.contact-box--flex-box {
  display: flex;
  justify-content: space-between;
}

.contact-box--flex-box div,
.contact-box--flex-box span {
  text-align: left;
  width: 100px;
  color: #222;
}

.contact-box--flex-box span:first-of-type {
  width: 180px;
}

.contact-box--text {
  font-size: 14px !important;
}

.select-white-arrow {
  appearance: none; /* modern browsers */
  -webkit-appearance: none; /* Safari/Chrome */
  -moz-appearance: none; /* Firefox */
  padding: 0.6rem 2.2rem 0.6rem 0.6rem;
  line-height: 1.2;
  background-color: #222; /* example dark background */
  color: #fff; /* text stays white */
  border: 1px solid #444;
  border-radius: 6px;

  /* white SVG arrow as background-image (hash escaped as %23) */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23ffffff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.6rem center;
  background-size: 10px 6px;
}

/* hide IE/Edge native arrow */
.select-white-arrow::-ms-expand {
  display: none;
}

input.form-control::placeholder {
  color: var(--dark-blue) !important; /* Set placeholder text color */
  opacity: 1; /* Ensure full opacity across browsers */
}

.page-id-394 input.form-control::placeholder {
  color: var(--white) !important; /* Set placeholder text color */
  opacity: 1; /* Ensure full opacity across browsers */
}

.page-id-394 .banner__form-box--box ::-webkit-input-placeholder,
.flatpickr-input #placeholder {
  color: var(--white) !important; /* Set placeholder text color */
}

.section404 {
  position: relative;
  margin-top: 100px;
  background-color: var(--bg-color);
}

.error404 .footer-section {
  margin-top: 0px;
}

.cpt-card__status-box {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  flex-direction: row-reverse;
  gap: 10px;
  z-index: 9;
}

.cpt-card--status {
  background-color: var(--button-blue);
  color: var(--white);
  display: block;
  padding: 5px 8px;
  font-size: 12px;
  text-transform: uppercase;
  border-radius: 4px;
}

.property-card__status-box {
  display: flex;
  flex-direction: row;
  gap: 10px;
  margin-bottom: 15px;
}
.property-card__status-box .cpt-card--status {
  background-color: var(--button-blue);
  color: var(--white);
  display: block;
  padding: 5px 8px;
  font-size: 14px;
  text-transform: uppercase;
  border-radius: 4px;
}

.page-id-518 .call-us__details-box > .contact-link.tws-roboto-font {
  display: none;
}

@media (min-width: 1024px) {
  .post-type-grid-box__sub-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.value-card {
  position: relative;
  border-radius: 4px;
  /* box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, 0.08); */
  border: 1.5px solid var(--gold);
  padding: 20px;
}

.value-card::after {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--gold);
  display: block;
  position: absolute;
  left: 50%;
  bottom: -31px;
  transform: translateX(-50%);
}

.value-card:last-child::after {
  content: unset;
}

.value-card--title {
  font-weight: 700;
  text-align: center;
  font-size: 20px;
}

.value-card__icon-box--icon {
  width: 75px;
  display: block;
  margin: 0 auto;
  object-fit: contain;
}

@media (min-width: 768px) {
  .value-card::after {
    content: unset;
  }

  .value-card:last-child::after {
    content: unset;
  }
}

@media (min-width: 1024px) {
  .value-card::after {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--gold);
    display: block;
    position: absolute;
    bottom: unset;
    left: unset;
    transform: unset;
    right: -31px;
    top: 50%;
    transform: translateY(-50%);
  }

  .value-card:last-child::after {
    content: unset;
  }
}

.timeline-container {
  position: relative;
  max-width: 900px;
  margin: 50px auto;
  padding: 0 20px;
}

.timeline-text-box {
  display: block;
  border: 1.5px solid var(--gold);
  border-radius: 4px;
}

.timeline-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 100%;
  background: var(--gold);
}

.timeline-item {
  position: relative;
  width: 50%;
  padding: 20px 40px;
  box-sizing: border-box;
}

.timeline-content--title {
  font-weight: 700 !important;
  margin-bottom: 10px;
}
.timeline-content--text {
  color: #222;
}

.timeline-item.left {
  left: 0;
  text-align: right;
}

.timeline-item.right {
  left: 50%;
  text-align: left;
}

.timeline-date {
  position: absolute;
  top: 50px;
  width: 80px;
  min-width: 80px;
  height: 80px;
  min-height: 80px;
  color: var(--white);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--button-blue);
  border: 2px solid var(--button-blue);
  border-radius: 50%;
  padding: 10px;
  font-weight: bold;
  z-index: 1;
}

.timeline-item.right .timeline-content {
  margin-left: 10px;
}
.timeline-item.left .timeline-content {
  margin-right: 10px;
}

.timeline-item.left .timeline-date {
  right: -40px;
}

.timeline-item.right .timeline-date {
  left: -40px;
}

.timeline-content {
  background: #f0f0f0;
  padding: 20px;
  border-radius: 8px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .timeline-item {
    width: 100%;
    padding-left: 70px;
    padding-right: 25px;
    text-align: left !important;
  }

  .timeline-item.right {
    left: 0;
  }

  .timeline-item.left .timeline-date,
  .timeline-item.right .timeline-date {
    left: 0;
    right: auto;
  }
}

.title.is-3.ap-content-section--title {
  font-weight: 700 !important;
}
