@charset "UTF-8";
/*------------------------------------------------------------------
This is the main controller file which combines all the modules into one big CSS file.
-------------------------------------------------------------------*/
/*!
 * Datepicker v1.0.10
 * https://fengyuanchen.github.io/datepicker
 *
 * Copyright 2014-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2020-09-29T14:46:09.037Z
 */
.datepicker-container {
  background-color: #fff;
  direction: ltr;
  font-size: 12px;
  left: 0;
  line-height: 30px;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: none;
  touch-action: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 210px;
  z-index: -1;
}

.datepicker-container::before,
.datepicker-container::after {
  border: 5px solid transparent;
  content: " ";
  display: block;
  height: 0;
  position: absolute;
  width: 0;
}

.datepicker-dropdown {
  border: 1px solid #ccc;
  -webkit-box-shadow: 0 3px 6px #ccc;
  box-shadow: 0 3px 6px #ccc;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  position: absolute;
  z-index: 1;
}

.datepicker-inline {
  position: static;
}

.datepicker-top-left,
.datepicker-top-right {
  border-top-color: #39f;
}

.datepicker-top-left::before,
.datepicker-top-left::after,
.datepicker-top-right::before,
.datepicker-top-right::after {
  border-top: 0;
  left: 10px;
  top: -5px;
}

.datepicker-top-left::before,
.datepicker-top-right::before {
  border-bottom-color: #39f;
}

.datepicker-top-left::after,
.datepicker-top-right::after {
  border-bottom-color: #fff;
  top: -4px;
}

.datepicker-bottom-left,
.datepicker-bottom-right {
  border-bottom-color: #39f;
}

.datepicker-bottom-left::before,
.datepicker-bottom-left::after,
.datepicker-bottom-right::before,
.datepicker-bottom-right::after {
  border-bottom: 0;
  bottom: -5px;
  left: 10px;
}

.datepicker-bottom-left::before,
.datepicker-bottom-right::before {
  border-top-color: #39f;
}

.datepicker-bottom-left::after,
.datepicker-bottom-right::after {
  border-top-color: #fff;
  bottom: -4px;
}

.datepicker-top-right::before,
.datepicker-top-right::after,
.datepicker-bottom-right::before,
.datepicker-bottom-right::after {
  left: auto;
  right: 10px;
}

.datepicker-panel > ul {
  margin: 0;
  padding: 0;
  width: 102%;
}

.datepicker-panel > ul::before,
.datepicker-panel > ul::after {
  content: " ";
  display: table;
}

.datepicker-panel > ul::after {
  clear: both;
}

.datepicker-panel > ul > li {
  background-color: #fff;
  cursor: pointer;
  float: left;
  height: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 30px;
}

.datepicker-panel > ul > li:hover {
  background-color: rgb(229, 242, 255);
}

.datepicker-panel > ul > li.muted,
.datepicker-panel > ul > li.muted:hover {
  color: #999;
}

.datepicker-panel > ul > li.highlighted {
  background-color: rgb(229, 242, 255);
}

.datepicker-panel > ul > li.highlighted:hover {
  background-color: rgb(204, 229, 255);
}

.datepicker-panel > ul > li.picked,
.datepicker-panel > ul > li.picked:hover {
  color: #39f;
}

.datepicker-panel > ul > li.disabled,
.datepicker-panel > ul > li.disabled:hover {
  background-color: #fff;
  color: #ccc;
  cursor: default;
}

.datepicker-panel > ul > li.disabled.highlighted,
.datepicker-panel > ul > li.disabled:hover.highlighted {
  background-color: rgb(229, 242, 255);
}

.datepicker-panel > ul > li[data-view="years prev"],
.datepicker-panel > ul > li[data-view="year prev"],
.datepicker-panel > ul > li[data-view="month prev"],
.datepicker-panel > ul > li[data-view="years next"],
.datepicker-panel > ul > li[data-view="year next"],
.datepicker-panel > ul > li[data-view="month next"],
.datepicker-panel > ul > li[data-view=next] {
  font-size: 18px;
}

.datepicker-panel > ul > li[data-view="years current"],
.datepicker-panel > ul > li[data-view="year current"],
.datepicker-panel > ul > li[data-view="month current"] {
  width: 150px;
}

.datepicker-panel > ul[data-view=years] > li,
.datepicker-panel > ul[data-view=months] > li {
  height: 52.5px;
  line-height: 52.5px;
  width: 52.5px;
}

.datepicker-panel > ul[data-view=week] > li,
.datepicker-panel > ul[data-view=week] > li:hover {
  background-color: #fff;
  cursor: default;
}

.datepicker-hide {
  display: none;
}

/* Global helper styles */
/*
 * Contains global styles used everywhere, as well as common variables and mixins used in multiple files.
 * To use these, @use this file at the top of the file you want them in, then call them with the 'common' namespace.
 * Any style rules here will only be imported into the final file once, regardless of how many times it is used. Sass is smart!
 */
/************* Common mixins and variables *************/
/* Mixin shortcuts for responsive sizing rules */
/*************** COLOR VARIABLES ***************/
/*************** FONT VARIABLES ***************/
/* Global helper styles */
.content-padding {
  width: 100%;
  padding: clamp(30px, 5vh, 50px) clamp(20px, 15vw, 250px) 50px;
  box-sizing: border-box;
  position: relative;
}

@media screen and (max-width: 1400px) {
  .content-padding {
    padding: 30px 150px 0;
  }
}
@media screen and (max-width: 1200px) {
  .content-padding {
    padding: 30px 100px 0;
  }
}
@media screen and (max-width: 991px) {
  .content-padding {
    padding: 30px 75px 0;
  }
}
@media screen and (max-width: 767px) {
  .content-padding {
    padding: 20px 50px 0;
  }
}
@media screen and (max-width: 575px) {
  .content-padding {
    padding: 10px 25px 0;
  }
}
main > .content-padding:first-child {
  padding-top: 70px;
}

h1.content-padding {
  margin: 0;
}

.review-star {
  padding-left: 0;
  padding-right: 0;
  margin: 0 5px 5px 0;
  display: inline-block;
}
.review-star li {
  font-size: 14px;
  color: #848282;
  display: inline-block;
  width: 13px;
  height: 15px;
  position: relative;
  vertical-align: middle;
}
.review-star li i {
  display: inline-block;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
}
.review-star li:last-child {
  margin-right: 0;
}
.review-star li.full-star, .review-star li.half-star {
  color: #FFC107;
}
.review-star li.half-star i.main-star {
  width: 8px;
}
.review-star li.half-star i.bg-star {
  color: #848282;
}
.review-star + span {
  color: #777777;
  font-size: 13px;
}

.stars {
  white-space: nowrap;
}

.stars .star-dash {
  vertical-align: middle;
}

.star-bg,
.star-fg {
  height: 10px;
  vertical-align: middle;
}

.star-bg {
  display: inline-block;
  width: 50px;
  background: url(/images/stars/star-a.png) repeat-x;
}

.star-fg {
  text-indent: -9999px;
  background: url(/images/stars/star-d.png) repeat-x;
  display: inline-block;
}

.star-div-inline {
  display: inline;
}

.anchor {
  offset-anchor: 50px;
}

.avg-price {
  text-align: right;
}
.avg-price .currency,
.avg-price .avg-night {
  color: #636363;
}
.avg-price .avg-night {
  text-align: right;
  font-size: 13px;
  line-height: 13px;
}
.avg-price .original-price {
  text-align: right;
  font-size: 16px;
  color: #777777;
  text-decoration: line-through;
}
.avg-price .original-price .currency {
  font-size: 13px;
}
.avg-price .amount {
  font-size: 22px;
  font-weight: 600;
  color: #275382;
}

.loading-indicator {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.9);
  z-index: 100;
}
.loading-indicator.centered .spinner {
  top: calc(50% - 17.5px);
}
.loading-indicator.inline {
  display: inline-block;
  vertical-align: middle;
}
.loading-indicator .loading-message {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 20px;
  font-family: "Lato", sans-serif;
  font-weight: 600;
  text-shadow: 0px 0px 15px #cbcbcb;
}
.loading-indicator .spinner {
  position: absolute;
  height: 35px;
  width: 35px;
  top: 50px;
  left: calc(50% - 17.5px);
  margin: 0 auto;
  border: 3px solid rgba(226, 226, 226, 0.75);
  border-radius: 100%;
  animation: loading-rotation 0.6s infinite linear;
  box-sizing: content-box;
}
.loading-indicator .spinner::before {
  content: "";
  display: block;
  position: absolute;
  left: -3px;
  top: -3px;
  height: 100%;
  width: 100%;
  border-top: 3px solid #275382;
  border-left: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-right: 3px solid transparent;
  border-radius: 100%;
  box-sizing: content-box;
}

@keyframes loading-rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
.has-read-more {
  position: relative;
  overflow: hidden;
  max-height: 95px;
  transition: none !important;
}
.has-read-more.long {
  max-height: 195px;
}
.has-read-more.activated {
  padding-bottom: 25px;
}
.has-read-more.expanded {
  max-height: 999999999px !important; /* important */
  padding-bottom: 35px;
}

.read-more-btn {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  cursor: pointer;
  text-align: center;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(251, 251, 251) 30%);
  padding-top: 15px;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #275382;
  transition: color 0.3s linear;
  border: none;
}

.read-more-btn:hover {
  cursor: pointer;
  color: #275382;
}

.message-popup {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.4);
}
.message-popup .popup-content {
  width: 500px;
  max-width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 24px;
  border-radius: 12px;
  row-gap: 5px;
}
.message-popup .popup-content .closer {
  position: absolute;
  top: 5px;
  right: 5px;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
}
.message-popup .popup-content .closer:hover {
  color: #275382;
}
.message-popup .popup-content i {
  font-size: 30px;
}
.message-popup .popup-content a {
  color: #275382;
  text-decoration: none;
}
.message-popup .popup-content a:hover {
  text-decoration: underline;
}
.message-popup .popup-content p {
  white-space: pre-line;
}
.message-popup .popup-content .notice-header {
  font-size: 20px;
  font-weight: bold;
  text-transform: uppercase;
}
.message-popup .popup-content .notice-content {
  margin-top: 10px;
}

.password-visibility-toggle-container {
  position: relative;
}
.password-visibility-toggle-container .password-visibility-toggle {
  color: #000;
  cursor: pointer;
  opacity: 0.6;
  position: absolute;
  right: 5px;
  top: calc(50% - 12px);
  width: 25px;
  height: 25px;
  padding: 4px;
}
.password-visibility-toggle-container .password-visibility-toggle:hover {
  opacity: 1;
}

.datepicker-container.datepicker-container {
  color: initial;
  font-size: 14px;
  box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.2);
  border: none;
}
.datepicker-container.datepicker-container::before, .datepicker-container.datepicker-container::after {
  border-bottom-color: rgb(15.4615384615, 32.9053254438, 51.5384615385);
}
.datepicker-container.datepicker-container .datepicker-panel > ul > li:hover {
  background-color: #dad8dc;
}
.datepicker-container.datepicker-container ul.datepicker-head > li {
  background-color: rgb(15.4615384615, 32.9053254438, 51.5384615385);
  border: 0px;
  color: #fff;
}
.datepicker-container.datepicker-container ul.datepicker-head > li:hover {
  background-color: rgb(9.5769230769, 20.3816568047, 31.9230769231);
}
.datepicker-container.datepicker-container ul.datepicker-head > li.disabled {
  color: #999999;
}
.datepicker-container.datepicker-container ul.datepicker-head > li.disabled:hover {
  background-color: rgb(15.4615384615, 32.9053254438, 51.5384615385);
}
.datepicker-container.datepicker-container ul[data-view=week] > li {
  background-color: rgb(21.3461538462, 45.4289940828, 71.1538461538);
  color: #fff;
}
.datepicker-container.datepicker-container ul[data-view=week] > li:hover {
  background-color: rgb(21.3461538462, 45.4289940828, 71.1538461538);
}
.datepicker-container.datepicker-container ul[data-view=days] > li.picked, .datepicker-container.datepicker-container ul[data-view=days] > li.picked:hover {
  color: initial;
}
.datepicker-container.datepicker-container ul[data-view=days] > li.picked.disabled, .datepicker-container.datepicker-container ul[data-view=days] > li.picked:hover.disabled {
  color: #ccc;
}
.datepicker-container.datepicker-container ul[data-view=days] > li.selected-date, .datepicker-container.datepicker-container ul[data-view=days] > li:not(.disabled):hover, .datepicker-container.datepicker-container ul[data-view=days] > li.picked.selected-date, .datepicker-container.datepicker-container ul[data-view=days] > li.picked:not(.disabled):hover {
  color: #fff;
  position: relative;
  background: none;
}
.datepicker-container.datepicker-container ul[data-view=days] > li.selected-date::before, .datepicker-container.datepicker-container ul[data-view=days] > li:not(.disabled):hover::before, .datepicker-container.datepicker-container ul[data-view=days] > li.picked.selected-date::before, .datepicker-container.datepicker-container ul[data-view=days] > li.picked:not(.disabled):hover::before {
  content: "";
  background-color: rgb(26.0538461538, 55.4479289941, 86.8461538462);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.datepicker-container.datepicker-container ul[data-view=days] > li.date-range-highlight, .datepicker-container.datepicker-container ul[data-view=days] > li.date-range-highlight.picked {
  background-color: rgb(26.0538461538, 55.4479289941, 86.8461538462);
  color: #fff;
}
.datepicker-container.datepicker-container.checkin-picker ul[data-view=days] > li.selected-date, .datepicker-container.datepicker-container.checkin-picker ul[data-view=days] > li:not(.disabled):hover, .datepicker-container.datepicker-container.checkout-picker ul[data-view=days] > li.selected-date, .datepicker-container.datepicker-container.checkout-picker ul[data-view=days] > li:not(.disabled):hover {
  position: relative;
  overflow: hidden;
}
.datepicker-container.datepicker-container.checkin-picker ul[data-view=days] > li.selected-date::after, .datepicker-container.datepicker-container.checkin-picker ul[data-view=days] > li:not(.disabled):hover::after, .datepicker-container.datepicker-container.checkout-picker ul[data-view=days] > li.selected-date::after, .datepicker-container.datepicker-container.checkout-picker ul[data-view=days] > li:not(.disabled):hover::after {
  content: "";
  position: absolute;
  width: 50px;
  height: 50px;
  transform: rotate(45deg);
  background-color: rgb(9.5769230769, 20.3816568047, 31.9230769231);
  z-index: -1;
}
.datepicker-container.datepicker-container ul[data-view=days] > li.selected-date.checkin::after, .datepicker-container.datepicker-container.checkin-picker ul[data-view=days] > li:not(.disabled):hover::after {
  top: -29px;
  left: -27px;
}
.datepicker-container.datepicker-container ul[data-view=days] > li.selected-date.checkout::after, .datepicker-container.datepicker-container.checkout-picker ul[data-view=days] > li:not(.disabled):hover::after {
  top: 7px;
  right: -28px;
}
.datepicker-container.datepicker-container.datepicker-inline {
  position: relative;
  top: 0 !important;
  left: 0 !important;
  margin: 5px auto 0;
  width: 100%;
  max-width: 300px;
}
.datepicker-container.datepicker-container.datepicker-inline .datepicker-panel > ul {
  width: 100%;
}
.datepicker-container.datepicker-container.datepicker-inline .datepicker-head li {
  width: 15%;
}
.datepicker-container.datepicker-container.datepicker-inline .datepicker-head li:nth-child(2) {
  width: 70%;
}
.datepicker-container.datepicker-container.datepicker-inline ul[data-view=years] > li,
.datepicker-container.datepicker-container.datepicker-inline ul[data-view=months] > li {
  width: 25%;
}
.datepicker-container.datepicker-container.datepicker-inline ul[data-view=week] > li,
.datepicker-container.datepicker-container.datepicker-inline ul[data-view=days] > li {
  width: 14.2857142857%;
}

/*************** MAIN CSS ***************/
/* Global helper styles */
.header-bar {
  position: fixed;
  width: 100%;
  height: 50px;
  top: 0;
  z-index: 999;
  box-shadow: 0 0 20px #ddd;
}
.header-bar .header-bar-main {
  display: flex;
  height: 100%;
  padding: 7px 20px;
  column-gap: 10px;
  align-items: center;
  justify-content: space-between;
  background: rgba(117, 117, 117, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 575px) {
  .header-bar .header-bar-main {
    padding-left: 5px;
    padding-right: 5px;
  }
}
.header-bar .logo {
  height: 30px;
  display: block;
}
@media screen and (max-width: 991px) {
  .header-bar .logo {
    display: none;
  }
}
.header-bar .logo-icon {
  display: none;
}
@media screen and (max-width: 991px) {
  .header-bar .logo-icon {
    display: block;
    height: 30px;
  }
}
.header-bar .mini-searchbar {
  cursor: pointer;
  display: flex;
  background: #fff;
  border-radius: 10px;
  transition: opacity 0.3s;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .header-bar .mini-searchbar {
    flex: 1;
    width: 50%;
  }
}
@media screen and (max-width: 420px) {
  .header-bar .mini-searchbar {
    position: static;
    transform: none;
  }
}
.header-bar .mini-searchbar .mini-field {
  display: inline-block;
  padding: 5px 7px;
  border-right: 1px solid #D9D9D9;
  white-space: nowrap;
}
.header-bar .mini-searchbar .mini-field.location {
  max-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.header-bar .mini-searchbar .mini-field.search-icon {
  border: none;
}
.header-bar .mini-searchbar .mini-field i {
  color: #7A7A7A;
}
.header-bar .mini-searchbar .mini-field span {
  margin-left: 3px;
}
.header-bar .mini-searchbar .mini-field span.placeholder {
  color: #777777;
  font-size: 14px;
}
@media screen and (max-width: 991px) {
  .header-bar .mini-searchbar .mini-field.location {
    max-width: 125px;
  }
}
@media screen and (max-width: 767px) {
  .header-bar .mini-searchbar .mini-field.location {
    flex: 1;
    max-width: none;
  }
  .header-bar .mini-searchbar .mini-field.checkin, .header-bar .mini-searchbar .mini-field.checkout, .header-bar .mini-searchbar .mini-field.adults, .header-bar .mini-searchbar .mini-field.children {
    display: none;
  }
}
@media screen and (max-width: 420px) {
  .header-bar .mini-searchbar .mini-field {
    padding: 6px 5px;
    font-size: 14px;
  }
}
.header-bar .mini-searchbar.popout-open {
  opacity: 0;
}
.header-bar .nav-controls {
  display: flex;
}
.header-bar .nav-control {
  background: transparent;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 25px;
  border: none;
  padding: 8px;
}
.header-bar .nav-control:hover {
  color: #D6D6D6;
}
.header-bar .nav-control select {
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  background: #275382;
  width: 100%;
  height: 100%;
  padding: 5px;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 1px 1px 5px -2px black;
}
.header-bar .nav-control select option {
  background: #fff;
  color: #383838;
}
.header-bar .nav-control select option.placeholder {
  display: none;
}
.header-bar .nav-control select.currency-selected {
  width: 75px;
}
.header-bar .nav-control i {
  padding: 0px 10px;
  width: 40px;
  height: 25px;
}
.header-bar .nav-control .close-icon {
  display: none;
}
.header-bar .nav-control.menu-open .close-icon {
  display: block;
}
.header-bar .nav-control.menu-open .menu-icon {
  display: none;
}
.header-bar .nav-control .nav-dropdown {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.header-bar .nav-control.dropdown-toggle {
  display: flex;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  text-decoration: none;
  margin-bottom: 8px;
  padding: 8px;
  font-weight: 600;
  text-align: left;
}
.header-bar .nav-control.dropdown-toggle:hover {
  opacity: 0.7;
}
.header-bar a.nav-control {
  text-decoration: none;
}
.header-bar button.nav-control {
  padding-left: 2px;
  padding-right: 2px;
}
.header-bar .pop-out-searchbar {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  display: none;
  background: rgba(104.25, 104.25, 104.25, 0.5);
  padding: 10px;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  z-index: 1;
}
.header-bar .pop-out-menu {
  position: absolute;
  right: -200px;
  top: 100%;
  width: 200px;
  height: calc(100vh - 50px);
  background: rgba(91.5, 91.5, 91.5, 0.5);
  padding: 10px;
  transition: right 0.3s;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 1;
}
.header-bar .pop-out-menu.open {
  right: 0;
}
.header-bar .pop-out-menu a {
  display: block;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  text-decoration: none;
  margin-bottom: 8px;
  padding: 8px;
  font-weight: 600;
}
.header-bar .pop-out-menu a:hover {
  opacity: 0.7;
}
.header-bar .menu-backdrop {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
}

/* Global helper styles */
.footer-section {
  color: #fff;
  margin-top: 20px;
}
.footer-section .footer-top {
  background-color: #1B1B1B;
  padding-top: 50px;
  padding-bottom: 30px;
  display: flex;
  row-gap: 30px;
  column-gap: 50px;
}
@media screen and (max-width: 767px) {
  .footer-section .footer-top {
    flex-wrap: wrap;
    column-gap: 0;
  }
}
.footer-section .footer-top .skistays-info {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .footer-section .footer-top .skistays-info {
    width: 100%;
  }
}
.footer-section .footer-top .skistays-info .logo {
  width: 250px;
}
@media screen and (max-width: 1000px) {
  .footer-section .footer-top .skistays-info .logo {
    width: 130px;
  }
}
.footer-section .footer-top .skistays-info .company-descrip {
  padding-top: 20px;
  margin: 0;
}
.footer-section .footer-top .skistays-info .social-links {
  padding-top: 20px;
}
.footer-section .footer-top .skistays-info .social-links .socials {
  display: inline-block;
}
.footer-section .footer-top .skistays-info .social-links .socials:hover img {
  filter: brightness(0) saturate(100%) invert(20%) sepia(77%) saturate(635%) hue-rotate(171deg) brightness(95%) contrast(97%);
}
.footer-section .footer-top .skistays-info .social-links .socials img {
  display: block;
  height: 30px;
  filter: brightness(0) saturate(100%) invert(100%);
  transition: filter 0.1s ease;
}
.footer-section .footer-top .skistays-info .back-to-top {
  display: inline-block;
  margin-top: 25px;
  background-color: transparent;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 10px;
  font-weight: 500;
  padding: 5px 10px;
  text-decoration: none;
}
.footer-section .footer-top .skistays-info .back-to-top:hover {
  background-color: #fff;
  color: #275382;
}
.footer-section .footer-top .explore {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .footer-section .footer-top .explore {
    flex: 0 0 50%;
    width: 50%;
  }
}
@media screen and (max-width: 420px) {
  .footer-section .footer-top .explore {
    flex: 0 0 100%;
    width: 100%;
  }
}
.footer-section .footer-top .explore div {
  font-weight: 600;
  font-size: 17px;
}
.footer-section .footer-top .explore ul {
  padding: 0px;
}
.footer-section .footer-top .explore ul li {
  list-style-type: none;
  margin: 10px 0;
}
.footer-section .footer-top .explore ul li a {
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
}
.footer-section .footer-top .explore ul li a:hover {
  color: #6786A7;
}
.footer-section .footer-bottom {
  background-color: #272727;
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
}

/* Global helper styles */
.fp-banner {
  width: 100%;
  height: 865px;
  position: relative;
  z-index: 2;
}
.fp-banner .banner-layers {
  height: 100%;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.fp-banner .banner-layers h1 {
  position: absolute;
  top: 225px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-family: "Lato", sans-serif;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.fp-banner .banner-layers h1 span {
  display: block;
  font-size: 70px;
  line-height: 70px;
}
.fp-banner .banner-layers h1 .site-name {
  font-size: 200px;
  line-height: 200px;
}
.fp-banner .banner-layers img {
  display: block;
  height: 100%;
}
.fp-banner .banner-layers .banner-bg,
.fp-banner .banner-layers .banner-fg {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}
.fp-banner .search-bar {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 200px;
  max-width: calc(100% - 10px);
}
@media screen and (max-width: 1200px) {
  .fp-banner {
    height: 700px;
  }
  .fp-banner .banner-layers h1 {
    top: 200px;
  }
  .fp-banner .banner-layers h1 span {
    font-size: 50px;
    line-height: 50px;
  }
  .fp-banner .banner-layers h1 .site-name {
    font-size: 150px;
    line-height: 150px;
  }
  .fp-banner .search-bar {
    bottom: 115px;
  }
}
@media screen and (max-width: 767px) {
  .fp-banner {
    height: 600px;
  }
  .fp-banner .banner-layers h1 {
    top: 165px;
  }
  .fp-banner .banner-layers h1 span {
    font-size: 40px;
    line-height: 40px;
  }
  .fp-banner .banner-layers h1 .site-name {
    font-size: 125px;
    line-height: 125px;
  }
  .fp-banner .search-bar {
    bottom: 10px;
  }
}
@media screen and (max-width: 575px) {
  .fp-banner {
    height: 550px;
  }
  .fp-banner .banner-layers h1 {
    top: 180px;
  }
  .fp-banner .banner-layers h1 span {
    font-size: 25px;
    line-height: 25px;
  }
  .fp-banner .banner-layers h1 .site-name {
    font-size: 75px;
    line-height: 75px;
  }
}

.promotions-carousel-items {
  width: 100%;
  height: 800px;
}
@media screen and (max-width: 575px) {
  .promotions-carousel-items {
    height: 500px;
  }
}

.carousel-container {
  position: relative;
}
.carousel-container .carousel-items {
  width: 100%;
  padding: 10px 0;
}
@media screen and (max-width: 575px) {
  .carousel-container .carousel-items {
    width: 95%;
  }
}
.carousel-container .promo-arrow, .carousel-container .collection-arrow {
  top: 36%;
  position: absolute;
  transform: translateY(-50%);
  z-index: 2;
  cursor: pointer;
  color: #275382;
  text-shadow: 1px 1px 0 white, -1px -1px 0 white, 1px -1px 0 white, -1px 1px 0 white;
}
.carousel-container .promo-arrow.left, .carousel-container .collection-arrow.left {
  left: 10%;
}
@media screen and (max-width: 1100px) {
  .carousel-container .promo-arrow.left, .carousel-container .collection-arrow.left {
    left: 8%;
  }
}
@media screen and (max-width: 600px) {
  .carousel-container .promo-arrow.left, .carousel-container .collection-arrow.left {
    left: 1%;
    top: 50%;
  }
}
.carousel-container .promo-arrow.right, .carousel-container .collection-arrow.right {
  right: 10%;
}
@media screen and (max-width: 1100px) {
  .carousel-container .promo-arrow.right, .carousel-container .collection-arrow.right {
    right: 8%;
  }
}
@media screen and (max-width: 600px) {
  .carousel-container .promo-arrow.right, .carousel-container .collection-arrow.right {
    right: 1%;
    top: 50%;
  }
}
.carousel-container .carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  cursor: pointer;
  color: #275382;
}
.carousel-container .carousel-arrow:hover {
  color: #6786A7;
}
.carousel-container .carousel-arrow.left {
  left: -25px;
}
@media screen and (max-width: 600px) {
  .carousel-container .carousel-arrow.left {
    left: -1%;
  }
}
.carousel-container .carousel-arrow.right {
  right: -25px;
}
@media screen and (max-width: 600px) {
  .carousel-container .carousel-arrow.right {
    right: -1%;
  }
}
.carousel-container .carousel {
  text-transform: uppercase;
  align-items: center;
}
.carousel-container .carousel .swiper-slide:nth-child(2n) > div:nth-child(1) > img:nth-child(1) {
  object-position: center;
}
.carousel-container .carousel .promo-background-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
  z-index: 1;
}
.carousel-container .carousel .promotion-background {
  max-height: 800px;
  width: 100vw;
  object-fit: cover;
  position: relative;
  object-position: bottom;
  mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
}
@media screen and (max-width: 1100px) {
  .carousel-container .carousel .promotion-background {
    width: unset;
  }
}
.carousel-container .carousel .promo-inner-wrapper {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  padding: 30px;
  border-radius: 8px;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1100px) {
  .carousel-container .carousel .promo-inner-wrapper {
    flex-direction: column;
    top: 50%;
  }
}
@media screen and (max-width: 600px) {
  .carousel-container .carousel .promo-inner-wrapper {
    flex-direction: column;
    top: 50%;
    width: 90%;
  }
}
.carousel-container .carousel .promo-inner-wrapper .promo-card:last-child {
  transform: translateY(20px);
}
.carousel-container .carousel .promo-text-section {
  z-index: 2;
  background-color: #ffe300;
  border-radius: 15px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 500px;
  min-height: 300px;
  height: auto;
  text-align: left;
}
@media screen and (max-width: 1100px) {
  .carousel-container .carousel .promo-text-section {
    width: 100%;
    min-height: unset;
    transform: unset;
  }
}
@media screen and (max-width: 575px) {
  .carousel-container .carousel .promo-photo-wrapper {
    display: none;
  }
}
.carousel-container .carousel .promo-photo-wrapper .promotion-photo {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 15px;
}
.carousel-container .carousel .promo-photo-wrapper {
  z-index: 3;
  margin-left: -5px;
}
.carousel-container .carousel .promotion-entry {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.carousel-container .carousel .resort-photo {
  border-radius: 10px;
  width: 240px;
  height: 300px;
  object-fit: cover;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);
}
.carousel-container .carousel .resort-entry {
  text-align: center;
  max-width: 250px;
  color: inherit;
  text-decoration: none;
  display: block;
  transition: transform 0.2s ease;
}
.carousel-container .carousel .resort-entry:last-child {
  margin-right: 0;
}
.carousel-container .carousel .resort-entry:hover {
  transform: translateY(-5px);
}
.carousel-container .carousel .resort-entry .name {
  font-weight: 800;
  font-size: 18px;
  margin-top: 10px;
}
.carousel-container .carousel .resort-entry .inner-text {
  color: #777777;
}
.carousel-container .carousel .resort-entry:hover .name {
  text-decoration: underline;
}
.carousel-container .swiper-initialized .resort-entry {
  max-width: none;
  min-height: 400px;
}

.swiper-pagination {
  bottom: 20px;
}
@media screen and (max-width: 575px) {
  .swiper-pagination {
    display: none;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(160px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-160px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes rotateIn {
  0% {
    opacity: 0;
    transform: rotate(-180deg) scale(0.5);
  }
  100% {
    opacity: 1;
    transform: rotate(0deg) scale(1);
  }
}
@keyframes fadeInZoom {
  0% {
    opacity: 0;
    transform: scale(0.6);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes slideInLeft {
  0% {
    opacity: 0;
    transform: translateX(-150px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideInRight {
  0% {
    opacity: 0;
    transform: translateX(150px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes pulsing {
  0% {
    transform: scale(1);
    opacity: 0;
  }
  50% {
    transform: scale(1.15);
    opacity: 0.85;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  100% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  100% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
.animate-on-slide {
  opacity: 0;
}
.animate-on-slide.animated-fade-up {
  animation: fadeInUp 1.5s ease forwards;
}
.animate-on-slide.animated-fade-down {
  animation: fadeInDown 1.5s ease forwards;
}
.animate-on-slide.animated-rotate-in {
  animation: rotateIn 1.5s ease forwards;
}
.animate-on-slide.animated-slide-left {
  animation: slideInLeft 1.5s ease forwards;
}
.animate-on-slide.animated-zoom-in {
  animation: fadeInZoom 1.5s ease forwards;
}
.animate-on-slide.animated-slide-right {
  animation: slideInRight 1.5s ease forwards;
}
.animate-on-slide.animated-pulsing {
  animation: pulsing 1.5s ease-in-out forwards;
}
.animate-on-slide.animated-flip-x {
  animation: flipInX 1.5s ease forwards;
}
.animate-on-slide.animated-flip-y {
  animation: flipInY 1.5s ease forwards;
}

.section-head {
  text-align: center;
  margin-bottom: 30px;
}
.section-head h2 {
  font-size: 35px;
  margin: 15px 0;
  font-family: "Lato", sans-serif;
  /*
  font-size: 50px;
  margin: 15px 0;
  font-family: "Bricolage Grotesque 96pt Condensed", sans-serif;
  font-weight: 600;
  */
}
.section-head p {
  max-width: 750px;
  color: #777777;
  margin: auto;
}

.deals-container {
  margin-bottom: 75px;
}
.deals-container .deals-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  text-transform: uppercase;
  min-height: 450px;
}
.deals-container .deal-entry {
  border-radius: 10px;
  max-width: 320px;
  min-width: 300px;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}
.deals-container .deal-entry:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 575px) {
  .deals-container .deal-entry {
    max-width: 100%;
    min-width: auto;
  }
}
.deals-container .deal-entry img {
  max-width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}
.deals-container .deal-entry .rating {
  position: absolute;
  top: 0%;
  left: 0%;
  background: #fff;
  padding: 5px 10px;
  border-radius: 10px 0 10px 0;
  box-shadow: 0 0 10px #939292;
}
.deals-container .deal-entry .details-grid {
  padding: 10px 20px 20px;
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  gap: 5px;
}
.deals-container .deal-entry .details-grid .deal-resort {
  font-size: 18px;
  font-weight: 600;
}
.deals-container .deal-entry .details-grid .location {
  display: inline-flex;
  font-size: 14px;
  margin-top: 3px;
}
.deals-container .deal-entry .details-grid .location i {
  color: #275382;
}
.deals-container .deal-entry .details-grid .location .location-name {
  margin-left: 5px;
  color: #777777;
}
.deals-container .deal-entry .details-grid .price .price-text {
  display: inline-block;
}
.deals-container .deal-entry .details-grid .price .price-text.old {
  text-decoration: line-through;
  font-size: 14px;
}
.deals-container .deal-entry .details-grid .price .price-text.sale {
  color: #275382;
  font-size: 16px;
}
.deals-container .deal-entry .details-grid .price .discount-percent {
  color: #275382;
}
.deals-container .deal-entry:hover .deal-resort {
  text-decoration: underline;
}

.promo-banner {
  margin-top: 65px;
  height: 500px;
  width: 100%;
  background-image: url("/images/midpage-banner.png");
  background-position: bottom center;
  background-repeat: no-repeat;
}
.promo-banner .promo-contents {
  display: flex;
  height: 100%;
  align-items: center;
  column-gap: 30px;
  padding-top: 0;
  /*         .promo-images {
              flex: 1;
              white-space: nowrap;
              text-align: center;

              @include common.media_max_width(common.$xlg_size) {
                  flex: 0;

                  .second-image {
                      display: none;
                  }
              }
              @include common.media_max_width(common.$md_size) {
                  display: none;
              }
          } */
}
.promo-banner .promo-contents .promo-text {
  flex: 1;
}
.promo-banner .promo-contents .promo-text h2 {
  font-size: 50px;
  font-weight: 600;
  font-family: "Lato", sans-serif;
}
.promo-banner .promo-contents .promo-text p {
  font-size: 18px;
  margin-bottom: 25px;
}
@media screen and (max-width: 575px) {
  .promo-banner .promo-contents .promo-text h2 {
    font-size: 35px;
  }
}
.promo-banner .promo-contents .promo-text .btn-primary {
  background-color: #275382;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  border: none;
  border-radius: 10px;
  padding: 10px 15px;
  position: absolute;
  font-size: 15px;
}
.promo-banner .promo-contents .promo-text .btn-primary:hover {
  background-color: #6786A7;
}

.reasons-container .reasons-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  gap: 10px;
  justify-content: center;
}
.reasons-container .reasons-list .reason {
  background-color: #fff;
  border-radius: 5px;
  padding: 30px;
  text-align: center;
  min-width: 220px;
}
.reasons-container .reasons-list .reason img {
  max-height: 100px;
}
.reasons-container .reasons-list .reason .reason-title {
  color: #275382;
  font-size: 18px;
  margin: 10px 0;
  font-family: "Lato", sans-serif;
  font-weight: 600;
}
.reasons-container .reasons-list .reason p {
  margin: auto;
  max-width: 300px;
}

.promo-title {
  font-size: 30px;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 1200px) {
  .promo-title {
    font-size: 20px;
  }
}

@media screen and (max-width: 800px) {
  .promo-text.animate-on-slide.animated-rotate-in {
    font-size: 15px;
    padding-bottom: 25px;
  }
}

.promo-btn {
  padding: 12px 33px 12px 33px;
  color: #fff;
  background: black;
  text-decoration: none;
  display: inline-block;
  border-radius: 10px;
}
.promo-btn:hover {
  transition: 0.3s;
  color: #4a90a4;
  background-color: #fff;
}

.promo-text {
  padding-top: 25px;
  padding-bottom: 38px;
  font-size: 18px;
}
@media screen and (max-width: 575px) {
  .promo-text {
    font-size: 12px;
  }
}

.collection-cards {
  margin-top: -200px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 35px;
}
@media screen and (max-width: 1100px) {
  .collection-cards {
    margin-top: -50px;
  }
}
@media screen and (max-width: 600px) {
  .collection-cards {
    margin-top: 20px;
  }
}
.collection-cards .collection-cards-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.explore-all-wrapper {
  display: flex;
  justify-content: center;
}

.resorts .explore-all-wrapper {
  display: none;
}

.promo-link {
  margin-top: auto;
  padding: 10px 15px;
  border-radius: 10px;
  max-width: 200px;
  width: fit-content;
  align-self: flex-start;
  text-decoration: none;
  background-color: #275382;
  color: white;
  font-weight: 500;
}
.promo-link:hover {
  background: #6786A7;
}

.special-padding {
  padding: 0 250px !important;
}

.collection-cards.mobile {
  display: none;
}

@media (max-width: 768px) {
  .collection-cards {
    display: none;
  }
  .collection-cards.mobile {
    display: block;
    max-height: 100%;
  }
}
.collection-cards.mobile .swiper-slide {
  display: flex;
  justify-content: center;
  padding: 0 0 20px 0;
}

.collection-card {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  background: white;
  padding: 18px 26px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  z-index: 3;
  width: 100%;
  max-width: 322px;
}
@media (max-width: 768px) {
  .collection-card {
    width: 75%;
  }
}
.collection-card .card-text-section {
  display: flex;
  flex-direction: column;
}
.collection-card .card-photos {
  display: flex;
  flex-wrap: wrap;
  height: 180px;
}
.collection-card .card-photos img {
  flex: 50%;
  width: 50%;
  object-fit: cover;
}
.collection-card .card-photos.half-height img {
  max-height: 50%;
}
.collection-card .card-photos.full-height img {
  max-height: 100%;
}
@media screen and (max-width: 600px) {
  .collection-card .card-desc {
    margin-top: 0;
  }
}
.collection-card .card-desc p:first-child {
  margin-top: 0;
}

/* Global helper styles */
.icon-button {
  background: none;
  border: 2px solid #275382;
  border-radius: 5px;
  color: #275382;
  cursor: pointer;
  padding: 5px;
  white-space: nowrap;
}
.icon-button:hover {
  color: #fff;
  background-color: #275382;
}

.property-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.property-section .top-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  column-gap: 10px;
}
.property-section .top-line .breadcrumbs > * {
  vertical-align: middle;
  white-space: nowrap;
}
.property-section .top-line .breadcrumbs .crumb-divider {
  margin: 0 5px;
}
.property-section .top-line .breadcrumbs a {
  color: #275382;
  text-decoration: none;
}
.property-section .top-line .breadcrumbs a:hover {
  text-decoration: underline;
}
.property-section .rating-score {
  background-color: #275382;
  display: inline-block;
  color: white;
  padding: 0.5rem;
  border-radius: 5px;
  font-weight: 700;
  font-size: 16px;
}
.property-section .rating-row {
  display: flex;
  justify-content: space-between;
  margin: 10px 0;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}
.property-section .review-link {
  color: #275382;
  text-decoration: none;
  margin-right: 1.5rem;
  border: none;
  background: none;
  padding: 0;
  margin: 0 0 0 auto;
}
.property-section .review-link:hover {
  text-decoration: underline;
  cursor: pointer;
}
.property-section .review-link .overall-score {
  display: flex;
  align-items: baseline;
  justify-content: right;
  column-gap: 5px;
}
.property-section .review-link .overall-score .current-score {
  font-size: 30px;
  color: #275382;
  font-weight: bold;
}
.property-section .review-link .overall-score .max-score {
  font-size: 20px;
  color: #777777;
}
.property-section .unit-ratings .label {
  font-weight: bold;
}
.property-section .property-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 15px 0;
}
.property-section .property-title .property-heading {
  margin: 0;
  border-bottom: none;
}
@media screen and (max-width: 575px) {
  .property-section .property-title {
    display: block;
  }
  .property-section .property-title .property-heading {
    margin-bottom: 10px;
  }
}
.property-section .address-icon {
  color: #275382;
  margin-right: 5px;
}
.property-section .address-text {
  color: #275382;
}
.property-section .review-star {
  margin: 0px !important;
}
.property-section .stars {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
}
.property-section .stars:hover {
  cursor: help;
}
.property-section .stars .star-icons i {
  color: gold;
  margin-right: 2px;
}
.property-section .stars .rating-info {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}
.property-section .stars .rating-info .rating-label {
  font-size: 15px;
  color: #383838;
}
.property-section .amen-icon {
  font-size: 28px;
  color: #275382;
  margin-right: 0.7rem;
}
.property-section .property-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 30px;
  margin-bottom: 30px;
}
.property-section .property-content-left {
  width: 70%;
  margin-top: 1rem;
}
.property-section .property-content-right {
  width: 30%;
  margin-top: 1rem;
}
.property-section .amenities {
  margin-top: 15px;
  column-count: 3;
  column-gap: 10px;
  font-size: 16px;
}
@media screen and (max-width: 575px) {
  .property-section .amenities {
    column-count: 2;
  }
}
@media screen and (max-width: 420px) {
  .property-section .amenities {
    column-count: 1;
  }
}
.property-section .amenities .amen-title {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
  column-gap: 5px;
}
.property-section .amenities .amen-title h4 {
  margin: 0;
}
.property-section .amenities .amen-cat {
  break-inside: avoid;
  margin-bottom: 10px;
  display: inline-block;
  width: 100%;
}
.property-section .amenities .amen-cat .sprite-container {
  border: 1px solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  padding: 3px;
  border-radius: 5px;
  color: #275382;
}
.property-section .amenities ul {
  margin: 0;
  padding-left: 30px;
}
.property-section .amenities ul li {
  list-style: disc;
  margin-bottom: 5px;
}
.property-section .map {
  margin-bottom: 1rem;
}
.property-section .address-box {
  background: #f1f1f1;
  padding: 15px;
  border-radius: 8px;
}
.property-section .address-box h4 {
  margin: 0 0 10px;
}
.property-section .address-box .address-container {
  display: flex;
  align-items: center;
}
.property-section .address-box .address-container p {
  margin: 0 0 0 10px;
}
.property-section .room-types-section h2 {
  margin-bottom: 20px;
}
.property-section .room-types-section .room-type-form {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  background: #ffffff;
  padding: 20px;
  border-radius: 50px;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 8px;
  margin-bottom: 0.5rem;
  width: 100%;
}
.property-section .room-types-section .room-type-form .form-group {
  display: flex;
  flex-direction: column;
  min-width: 300px;
}
.property-section .room-types-section .room-type-form .form-group label {
  font-size: 13px;
  color: #555;
  margin-bottom: 4px;
}
.property-section .room-types-section .room-type-form .form-group input,
.property-section .room-types-section .room-type-form .form-group select {
  padding: 12px 15px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
}
.property-section .room-types-section .room-type-form .form-group input:focus,
.property-section .room-types-section .room-type-form .form-group select:focus {
  outline: none;
  border-color: #275382;
  box-shadow: 0 0 0 2px rgba(100, 149, 237, 0.2);
}
.property-section .room-types-section .room-type-form .room-form-btn {
  padding: 12px 25px;
  background-color: #275382;
  border: none;
  color: white;
  font-weight: 700;
  border-radius: 5px;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.3s ease;
  min-width: 150px;
}
.property-section .room-types-section .room-type-form .room-form-btn:hover {
  background-color: #6786A7;
}
.property-section .room-types-section {
  align-items: center;
  justify-content: center;
}
.property-section .roomtype-section {
  display: flex;
  flex-wrap: wrap;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 3rem;
  justify-content: center;
  padding: 20px;
}
.property-section .room-card {
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  box-shadow: 1px 6px 9px rgba(0, 0, 0, 0.2);
  flex: 0 0 400px;
  max-width: 100%;
  position: relative;
}
.property-section .room-card .unit-loading-shader {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.property-section .room-card .unit-loading-shader .spinner {
  top: 100px;
}
.property-section .room-card .flex-filler {
  flex: 1;
}
.property-section .room-card .fav-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 20px;
  z-index: 2;
  color: #000000;
  transition: color 0.3s;
  background-color: white;
  border-radius: 50%;
  padding: 10px;
  height: 40px;
  width: 40px;
}
.property-section .room-card .fav-btn:hover {
  color: #e74c3c;
}
.property-section .room-card .fav-btn.favorited {
  color: #e74c3c;
}
.property-section .room-gallery {
  position: relative;
}
.property-section .room-gallery img {
  width: 100%;
  cursor: zoom-in;
  min-height: 236px;
}
.property-section .room-gallery.no-photos img {
  cursor: auto;
}
.property-section .room-gallery .arrow-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background-color: #fff;
  padding: 0;
  width: 30px;
  height: 30px;
  border-radius: 50px;
  color: #275382;
  box-shadow: 0 0 8px -2px #000;
  opacity: 0.8;
  z-index: 1;
}
.property-section .room-gallery .arrow-button.left {
  left: 5px;
}
.property-section .room-gallery .arrow-button.right {
  right: 5px;
}
.property-section .room-gallery .arrow-button.swiper-button-disabled {
  opacity: 0.3;
}
.property-section .room-gallery .arrow-button:not(.swiper-button-disabled):hover {
  opacity: 1;
  cursor: pointer;
}
.property-section .room-gallery .arrow-button i {
  line-height: 30px;
}
.property-section .room-gallery .photo-count {
  position: absolute;
  right: 5px;
  bottom: 5px;
  color: #fff;
  font-weight: bold;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 5px;
  padding: 3px 8px;
  z-index: 1;
}
.property-section .room-gallery .photo-count .cur-num {
  margin-left: 5px;
}
.property-section .top-row {
  position: relative;
  display: flex;
  align-items: center;
  margin: 10px 15px;
  justify-content: space-between;
  column-gap: 10px;
}
@media screen and (max-width: 420px) {
  .property-section .top-row {
    display: block;
  }
}
.property-section .top-row .rating-modal {
  left: 20%;
  top: 90%;
}
.property-section .room-title {
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0;
}
.property-section .unit-group-members {
  margin: 0 15px;
}
.property-section .unit-group-members .unit-group-members-select {
  display: inline-block;
  position: relative;
}
.property-section .unit-group-members .unit-group-members-select .selected-option {
  border: 1px solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  background: #fefefe;
  padding: 3px 20px 3px 5px;
  border-radius: 3px;
  cursor: pointer;
  position: relative;
}
.property-section .unit-group-members .unit-group-members-select .selected-option:hover {
  background: rgb(241.25, 241.25, 241.25);
}
.property-section .unit-group-members .unit-group-members-select .selected-option::after {
  content: "\f107";
  font-family: Fontawesome;
  margin-left: 5px;
  position: absolute;
  right: 3px;
  top: 4px;
}
.property-section .unit-group-members .unit-group-members-select .options-list {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  background: #fff;
  border: 1px solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  max-height: 200px;
  overflow: auto;
  min-width: 100%;
}
.property-section .unit-group-members .unit-group-members-select .options-list .option {
  cursor: pointer;
  padding: 5px 8px;
  white-space: nowrap;
}
.property-section .unit-group-members .unit-group-members-select .options-list .option.selected {
  background: rgb(228.5, 228.5, 228.5);
}
.property-section .unit-group-members .unit-group-members-select .options-list .option:hover {
  background: rgb(241.25, 241.25, 241.25);
}
.property-section .unit-group-members .unit-group-members-select .options-list .option.available {
  background: rgb(139.393442623, 206.606557377, 139.393442623);
}
.property-section .unit-group-members .unit-group-members-select .options-list .option.available:hover {
  background: rgb(121.4180327869, 199.0819672131, 121.4180327869);
}
.property-section .unit-group-members .unit-group-members-select .options-list .option.available.selected {
  background: rgb(103.4426229508, 191.5573770492, 103.4426229508);
}
.property-section .unit-group-members .unit-group-members-select .options-list .option.available.selected:hover {
  background: rgb(85.4672131148, 184.0327868852, 85.4672131148);
}
.property-section .occupancy {
  margin: 10px 15px;
  font-size: 0.95rem;
  color: #555;
}
.property-section .occ-num {
  font-weight: bold;
  margin: 0 4px;
}
.property-section .unit-amenities {
  margin: 10px 15px;
  font-size: 0.8rem;
  color: #727272;
  line-height: 1.4;
}
.property-section .bottom-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  border-top: 1px solid #eee;
}
.property-section .available-marker {
  color: #48AC48;
  font-weight: bold;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  margin-bottom: 5px;
}
.property-section .book-btn {
  padding: 8px 6px;
  background-color: #275382;
  text-align: center;
  border: none;
  color: white;
  font-weight: 700;
  border-radius: 5px;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.3s ease;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 5px;
}
.property-section .book-btn:hover {
  background-color: #6786A7;
}
.property-section .inquire-btn {
  padding: 8px 6px;
  background-color: #fff;
  text-align: center;
  border: 1px solid #275382;
  color: #275382;
  font-weight: 700;
  border-radius: 5px;
  font-size: 14px;
  cursor: pointer;
  transition: color 0.3s ease;
  text-decoration: none;
  display: inline-block;
}
.property-section .inquire-btn:hover {
  color: #6786A7;
}
.property-section .user-icon {
  color: #6786A7;
}
.property-section .swiper-container {
  width: 100%;
  max-width: 1800px;
  height: 600px;
  margin: 0 auto;
  overflow: hidden;
}
.property-section .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.property-section .swiper-gallery .swiper-slide {
  border-radius: 10px;
  overflow: hidden;
}
.property-section .swiper-border {
  box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 8px;
  padding: 10px;
  border-radius: 15px;
}
.property-section .search-bar {
  width: 100%;
}
.property-section .filter-bar {
  margin-top: 10px;
  position: relative;
}
.property-section .filter-bar .search-button {
  flex: 0;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .property-section .filter-bar .search-button {
    width: 100%;
    flex: 0 0 100%;
    height: 35px;
  }
}
.property-section .filter-bar .filters-label {
  padding: 0 10px;
  border-right: 1px solid #D9D9D9;
  height: 45px;
  display: flex;
  align-items: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .property-section .filter-bar .filters-label {
    border-right: none;
    border-bottom: 1px solid #D9D9D9;
    width: 100%;
  }
}
.property-section .filter-bar .filter-label {
  font-weight: 600;
}
.property-section .filter-bar .filter-option {
  flex: 1;
  height: 45px;
  border-right: 1px solid #D9D9D9;
  position: relative;
}
@media screen and (max-width: 767px) {
  .property-section .filter-bar .filter-option {
    width: 100%;
    flex: 0 0 100%;
    border-right: none;
    border-bottom: 1px solid #D9D9D9;
  }
}
.property-section .filter-bar .filter-option .filter-button {
  display: flex;
  column-gap: 5px;
  align-items: center;
  padding: 0 10px;
  cursor: pointer;
  height: 100%;
}
.property-section .filter-bar .filter-option .filter-button:hover {
  background: #eee;
}
.property-section .filter-bar .filter-option.last {
  border: none;
}
.property-section .filter-bar .filter-option .filter-selected {
  flex: 1;
}
.property-section .filter-bar .filter-choices {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 101;
  padding: 10px;
  box-shadow: 0px 3px 10px -5px;
  border-radius: 0 0 5px 5px;
  columns: 2;
  min-height: 75px;
  overflow: hidden;
  cursor: default;
}
.property-section .filter-bar .filter-choices .loading-indicator {
  position: absolute;
}
.property-section .filter-bar .filter-choices .loading-indicator .spinner {
  top: 15px;
}
.property-section .filter-bar .filter-choices .filter-item {
  display: block;
  margin-bottom: 5px;
  break-inside: avoid;
}
.property-section .filter-bar .filter-choices .filter-item > * {
  vertical-align: middle;
}
.property-section .filter-bar .filter-choices .filter-item input {
  accent-color: #275382;
  color: #fff;
}
.property-section .filter-bar .filter-choices .filter-item.amenities-category {
  margin-bottom: 10px;
}
.property-section .filter-bar .filter-choices .filter-item .category-title {
  font-weight: 600;
  margin-bottom: 5px;
}
.property-section .filter-bar .filter-choices .filter-item .amenities-list {
  margin-left: 10px;
}
@keyframes pulse-highlight {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(100, 149, 237, 0.8);
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 0 30px 10px rgba(100, 149, 237, 0.6);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(100, 149, 237, 0);
  }
}
.property-section .pulse-highlight {
  animation: pulse-highlight 1.5s ease-out 3;
  border-radius: 8px;
}

.units-section {
  position: relative;
  margin-top: 20px;
}
.units-section .property-results {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, auto));
  gap: 25px 2%;
  padding: 20px 0 40px;
  border-radius: 20px;
  justify-content: center;
}
.units-section .property-results .room-card {
  width: 330px;
}
@media screen and (max-width: 767px) {
  .units-section .property-results {
    grid-template-columns: repeat(auto-fit, minmax(250px, auto));
  }
}
.units-section .loading-shader {
  display: none;
}

.reviews-wrapper {
  padding-top: 25px;
  padding-bottom: 25px;
  width: 100%;
  height: 100%;
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 575px) {
  .reviews-wrapper {
    padding: 0;
    align-items: flex-start;
  }
}
.reviews-wrapper h2 {
  font-size: 25px;
  margin-top: 0;
}
.reviews-wrapper .reviews-content {
  background-color: #ffffff;
  margin: auto;
  padding: 2rem;
  border: 1px solid #888;
  width: 1000px;
  border-radius: 12px;
  max-width: 100%;
}
@media screen and (max-width: 575px) {
  .reviews-wrapper .reviews-content {
    width: 100%;
    margin: 0;
  }
}
.reviews-wrapper .close {
  float: right;
  font-size: 35px;
  margin-left: 10px;
}
.reviews-wrapper .close:hover {
  color: #275382;
  cursor: pointer;
}
.reviews-wrapper .score-title {
  color: #777777;
}
.reviews-wrapper select {
  padding: 12px 15px;
  font-size: 14px;
  border: 1px solid #ccc;
  background-color: #fff;
}
.reviews-wrapper select:focus {
  outline: none;
  border-color: #275382;
  box-shadow: 0 0 0 2px rgba(100, 149, 237, 0.2);
}
.reviews-wrapper .scores-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  align-items: end;
}
@media screen and (max-width: 575px) {
  .reviews-wrapper .scores-container {
    grid-template-columns: repeat(2, 1fr);
  }
}
.reviews-wrapper .title-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 8px;
  column-gap: 3px;
}
.reviews-wrapper .score-bar-container {
  flex: 1;
  background-color: rgb(211, 211, 211);
  width: 100%;
  height: 5px;
}
.reviews-wrapper .score-bar {
  background-color: #275382;
  height: 5px;
}
.reviews-wrapper .score-value {
  font-weight: bold;
  margin-left: auto;
}
.reviews-wrapper .rating-score {
  margin-bottom: 40px;
  display: flex;
  align-items: center;
  gap: 40px;
}
.reviews-wrapper .rating-score .recommend-rate {
  flex: 1;
}
.reviews-wrapper .reviews-percents {
  display: flex;
  align-items: center;
}
.reviews-wrapper .reviews-percents span {
  flex: 0.4;
  color: #777777;
}
.reviews-wrapper .average-rating {
  font-size: 40px;
}
.reviews-wrapper .average-rating span {
  white-space: nowrap;
}
.reviews-wrapper .add-button-container {
  text-align: center;
  margin-top: 25px;
}
.reviews-wrapper .add-button-container button {
  display: inline-block;
  border: none;
  background: #275382;
  color: #fff;
  border-radius: 5px;
  padding: 10px 15px;
  cursor: pointer;
}
.reviews-wrapper .add-button-container button:hover {
  background: #6786A7;
}
.reviews-wrapper .add-button-container button i {
  margin-right: 10px;
}
.reviews-wrapper .reviews-section {
  margin-top: 25px;
}
.reviews-wrapper .reviews-top-row {
  display: flex;
  gap: 5px 15px;
  align-items: center;
  flex-wrap: wrap;
}
.reviews-wrapper .reviews-top-row .review-count {
  flex: 1;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .reviews-wrapper .reviews-top-row .review-count {
    width: 100%;
    flex: 0 0 100%;
  }
}
.reviews-wrapper .reviews-top-row .control .option-set-label {
  color: #777777;
}
.reviews-wrapper .reviews-top-row .control .option-set {
  display: flex;
  border: 1px solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  border-radius: 3px;
  overflow: hidden;
}
.reviews-wrapper .reviews-top-row .control .option-set input {
  display: none;
}
.reviews-wrapper .reviews-top-row .control .option-set input:checked + label {
  background: #275382;
  color: #fff;
}
.reviews-wrapper .reviews-top-row .control .option-set input:checked + label:hover {
  background: #6786A7;
}
.reviews-wrapper .reviews-top-row .control .option-set input#review_sort_asc + label {
  background: #275382;
  color: #fff;
}
.reviews-wrapper .reviews-top-row .control .option-set input#review_sort_asc + label:hover {
  background: #6786A7;
}
.reviews-wrapper .reviews-top-row .control .option-set input#review_sort_asc + label .asc-icon {
  display: none;
}
.reviews-wrapper .reviews-top-row .control .option-set input#review_sort_asc:checked + label .asc-icon {
  display: inline;
}
.reviews-wrapper .reviews-top-row .control .option-set input#review_sort_asc:checked + label .desc-icon {
  display: none;
}
.reviews-wrapper .reviews-top-row .control .option-set label {
  padding: 5px 8px;
  border-right: 1px solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  cursor: pointer;
}
.reviews-wrapper .reviews-top-row .control .option-set label:last-child {
  border: none;
}
.reviews-wrapper .reviews-top-row .control .option-set label:hover {
  background: rgb(224.5, 224.5, 224.5);
}
.reviews-wrapper .review-wrapper {
  padding: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  border-bottom: 1px solid rgba(180, 180, 180, 0.774);
}
.reviews-wrapper .review-wrapper.last {
  border-bottom: none;
}
.reviews-wrapper .review-wrapper .review-text-wrapper {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
@media screen and (max-width: 575px) {
  .reviews-wrapper .review-wrapper .review-text-wrapper {
    flex-direction: column;
    justify-content: center;
  }
}
.reviews-wrapper .review-wrapper .review-score {
  font-size: 22px;
  font-weight: 400;
  color: #275382;
}
.reviews-wrapper .review-wrapper .client-name {
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 5px;
}
.reviews-wrapper .review-wrapper .review-type .review-staff-marker {
  color: #B65692;
}
.reviews-wrapper .review-wrapper .review-type .review-verified-marker {
  color: #38D138;
}
.reviews-wrapper .review-wrapper .review-right {
  width: 25%;
  min-width: 170px;
}
@media screen and (max-width: 575px) {
  .reviews-wrapper .review-wrapper .review-right {
    width: 100%;
  }
}
.reviews-wrapper .review-wrapper .review-left {
  flex: 1;
}
.reviews-wrapper .review-wrapper .review-text {
  text-align: justify;
}
.reviews-wrapper .review-wrapper .guest-reviews {
  display: flex;
  margin-bottom: 5px;
}
.reviews-wrapper .review-wrapper .guest-reviews.overall {
  font-weight: bold;
  font-size: 17px;
}
.reviews-wrapper .review-wrapper .guest-rating-txt {
  flex: 1;
}
.reviews-wrapper .review-wrapper .review-date {
  color: #777777;
  font-size: 11px;
  margin-bottom: 10px;
}
.reviews-wrapper .review-wrapper .recommend-status {
  text-align: right;
}
.reviews-wrapper .review-wrapper .recommend-status.true {
  color: #38D138;
}
.reviews-wrapper .overall-score {
  font-weight: bold;
}
.reviews-wrapper .overall-score .score-num.positive {
  color: #38D138;
}
.reviews-wrapper .overall-score .score-num.negative {
  color: #cc0000;
}
.reviews-wrapper .review-rating {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  font-size: 12px;
  flex-wrap: wrap;
}
.reviews-wrapper .review-rating button {
  background: #fff;
  border: 1px solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  padding: 5px 6px;
  cursor: pointer;
  border-radius: 3px;
  font-size: 14px;
}
.reviews-wrapper .review-rating button:hover {
  background: rgb(224.5, 224.5, 224.5);
}
.reviews-wrapper .review-rating button.voted {
  background: #275382;
  color: #fff;
}
.reviews-wrapper .review-rating button.voted:hover {
  background: #6786A7;
}
.reviews-wrapper .review-form {
  display: none;
  background-color: #ffffff;
  margin: auto;
  padding: 2rem;
  border: 1px solid #888;
  width: 600px;
  max-width: 100%;
  border-radius: 12px;
}
.reviews-wrapper .review-form h2 {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
.reviews-wrapper .review-form #reviews_close_form {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  font-size: 22px;
}
.reviews-wrapper .review-form #reviews_close_form:hover {
  color: #275382;
}
.reviews-wrapper .review-form .required-mark {
  color: red;
}
.reviews-wrapper .review-form .field {
  margin-bottom: 10px;
}
.reviews-wrapper .review-form .field label {
  display: block;
  margin-bottom: 3px;
  font-weight: bold;
}
.reviews-wrapper .review-form .field label .extra-note {
  margin-left: 10px;
  color: #777777;
  font-weight: normal;
}
.reviews-wrapper .review-form .field input,
.reviews-wrapper .review-form .field textarea {
  display: block;
  width: 100%;
  padding: 0.6rem;
  border: 0.09rem solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  border-radius: 0.3rem;
  font-size: 14px;
  background: #fefefe;
  font-family: "Montserrat", sans-serif;
}
.reviews-wrapper .review-form .field textarea {
  resize: vertical;
  min-height: 100px;
}
.reviews-wrapper .review-form .ratings-container {
  margin: 20px 0;
}
.reviews-wrapper .review-form .ratings-container .star-rating-control > label {
  font-weight: bold;
}
.reviews-wrapper .review-form .ratings-container .star-rating-control.required-rating {
  text-align: center;
  margin-bottom: 5px;
}
.reviews-wrapper .review-form .ratings-container .star-rating-control.required-rating > label {
  display: block;
  font-size: 20px;
}
.reviews-wrapper .review-form .ratings-container .star-rating-control.required-rating .rating {
  display: flex;
  justify-content: center;
}
.reviews-wrapper .review-form .ratings-container .star-rating-control.required-rating .rating label::after {
  font-size: 55px;
}
.reviews-wrapper .review-form .ratings-container .star-rating-control.required-rating .rating input:checked ~ label,
.reviews-wrapper .review-form .ratings-container .star-rating-control.required-rating .rating label:hover,
.reviews-wrapper .review-form .ratings-container .star-rating-control.required-rating .rating label:hover ~ label {
  text-shadow: 0px 4px 6px rgba(0, 0, 0, 0.45);
}
.reviews-wrapper .review-form .ratings-container .star-rating-control .rating {
  display: inline-flex;
  flex-direction: row-reverse;
}
.reviews-wrapper .review-form .ratings-container .star-rating-control .rating input {
  display: none;
}
.reviews-wrapper .review-form .ratings-container .star-rating-control .rating label {
  color: #D9D9D9;
  cursor: pointer;
  transition: color 0.3s;
}
.reviews-wrapper .review-form .ratings-container .star-rating-control .rating label::after {
  content: "★";
  font-size: 25px;
}
.reviews-wrapper .review-form .ratings-container .star-rating-control .rating input:checked ~ label,
.reviews-wrapper .review-form .ratings-container .star-rating-control .rating label:hover,
.reviews-wrapper .review-form .ratings-container .star-rating-control .rating label:hover ~ label,
.reviews-wrapper .review-form .ratings-container .star-rating-control .rating label:focus,
.reviews-wrapper .review-form .ratings-container .star-rating-control .rating label:focus ~ label {
  color: #275382;
}
.reviews-wrapper .review-form .ratings-container .optional-ratings {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 5px;
}
.reviews-wrapper .review-form .ratings-container .optional-ratings .star-rating-control {
  flex: calc(50% - 10px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 575px) {
  .reviews-wrapper .review-form .ratings-container .optional-ratings .star-rating-control {
    flex: 100%;
  }
}
.reviews-wrapper .review-form .ratings-container .ratings-bottom {
  margin-top: 15px;
  display: flex;
  justify-content: space-between;
  column-gap: 10px;
}
.reviews-wrapper .review-form .ratings-container .ratings-bottom .review-stars-clear {
  border: none;
  background: none;
  cursor: pointer;
  color: #275382;
  padding: 0;
}
.reviews-wrapper .review-form .ratings-container .ratings-bottom .review-stars-clear:disabled {
  cursor: default;
  color: #777777;
}
.reviews-wrapper .review-form .ratings-container .ratings-bottom .recommended-container {
  display: flex;
  column-gap: 5px;
}
.reviews-wrapper .review-form #submit_review {
  width: 100%;
  display: block;
  padding: 10px;
  background: #275382;
  border-radius: 5px;
  cursor: pointer;
  border: none;
  margin-top: 20px;
  color: #fff;
}
.reviews-wrapper .review-form #submit_review:hover {
  background: #6786A7;
}
.reviews-wrapper .review-form #submit_review:disabled {
  background: #6A6A6A;
  cursor: default;
}
.reviews-wrapper .review-submitted-notice {
  display: none;
  background-color: #ffffff;
  margin: auto;
  padding: 2rem;
  border: 1px solid #888;
  width: 400px;
  max-width: 100%;
  text-align: center;
  border-radius: 12px;
}

@media screen and (max-width: 991px) {
  .property-row {
    flex-direction: column;
  }
  .property-section .property-content-left {
    width: 100%;
  }
  .property-section .property-content-right {
    width: 100%;
  }
  .property-section .property-content-right .map-box,
  .property-section .property-content-right #building_map {
    height: 250px !important;
  }
}
.rating-modal {
  max-width: 300px;
  display: none;
  position: absolute;
  background: white;
  border: 1px solid #ccc;
  padding: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  font-size: 13px;
  color: #5e5e5e;
  z-index: 999;
}

/* Global helper styles */
.listing-banner-container {
  position: relative;
  color: #fff;
  text-align: center;
  height: 19vh;
  overflow: hidden;
}
.listing-banner-container .listing-banner-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 0% 35%;
  display: block;
}
.listing-banner-container .slogan-container {
  position: absolute;
  top: 15%;
  left: 0%;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.listing-banner-container .slogan-container .slogan-title {
  font-size: clamp(1.75rem, 5.5vw + 1rem, 2rem);
  letter-spacing: clamp(2px, 0.6vw, 6px);
  font-weight: 1000;
  text-transform: uppercase;
  text-shadow: 0 0 10px #999;
  margin: 0;
  padding: 0 1rem;
}

.log-in-points-slider.vertical {
  width: 100%;
  margin: 0 auto;
  user-select: none;
  background-color: #275382;
}
.log-in-points-slider.vertical .log-in-points-text-wrapper {
  overflow: hidden;
  height: 2em;
  cursor: grab;
  position: relative;
}
.log-in-points-slider.vertical .log-in-points-text-wrapper:active {
  cursor: grabbing;
}
.log-in-points-slider.vertical .log-in-points-text-wrapper .log-in-points-track {
  display: flex;
  flex-direction: column;
  will-change: transform;
  transition: transform 0.3s ease;
}
.log-in-points-slider.vertical .log-in-points-text-wrapper .log-in-points-track .log-in-points-text {
  height: 2em;
  line-height: 2em;
  text-align: center;
  font-weight: 600;
  user-select: none;
  color: #fff;
}
.log-in-points-slider.vertical .log-in-points-text-wrapper .log-in-points-track .log-in-points-text a {
  text-decoration: underline;
  color: #fff;
  font-weight: 800;
}
.log-in-points-slider.vertical .log-in-points-text-wrapper .log-in-points-track .log-in-points-text a:hover {
  text-decoration: none;
  color: #6786A7;
}

.listings-content .main-content .grid {
  display: grid;
  grid-template-columns: 25% auto;
  column-gap: 30px;
  row-gap: 15px;
}
.listings-content .main-content .grid .listing-list .map {
  margin-bottom: 20px;
  display: none;
}
.listings-content .main-content .grid .listing-list .map .ol-map-container {
  border-radius: 10px;
}
.listings-content .main-content .grid .listing-list .map .ol-map-container canvas {
  border-radius: 10px;
}
.listings-content .main-content .filters-main {
  align-self: center;
}
.listings-content .main-content .num-property {
  justify-content: center;
  font-size: 17px;
  font-weight: 600;
  align-items: center;
}
.listings-content .main-content .num-property i {
  height: fit-content;
}
.listings-content .main-content .num-property .num-property-title {
  position: relative;
  text-align: center;
}
.listings-content .main-content .num-property .num-property-title .loading-indicator {
  width: 25px;
  height: 25px;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  position: relative;
}
.listings-content .main-content .num-property .num-property-title .loading-indicator .spinner {
  height: 20px;
  width: 20px;
  top: calc(50% - 10px);
  left: calc(50% - 10px);
}
.listings-content .main-content .num-property .num-property-title .num-property-title-text {
  display: none;
}

.sort-container {
  font-size: 18px;
  font-weight: 600;
}
.sort-container .sort-content {
  display: inline;
}
.sort-container .sort-content .section-title {
  display: inline-block;
  font-size: 15px;
}
.sort-container .sort-content select {
  cursor: pointer;
  background-color: #fff;
  color: #275382;
  border: none;
  padding: 10px;
  text-transform: uppercase;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
}
.sort-container .sort-content select:hover {
  color: #6786A7;
}
.sort-container .sort-content select:focus-visible {
  outline: none;
}
.sort-container .sort-content .sort-mobile-container label {
  font-weight: 560;
  margin: 0 10px;
}
.sort-container .sort-content .sort-select {
  width: auto;
  font-size: 15px;
  border-radius: 10px;
  font-weight: 500;
}
.sort-container .sort-content .sort-select-mobile {
  width: auto;
  font-size: 15px;
}
.sort-container .view-content {
  display: none; /* inline */
  margin-left: 20px;
}
.sort-container .view-content .section-title {
  font-size: 15px;
}
.sort-container .view-content select {
  cursor: pointer;
  background-color: #fff;
  color: #275382;
  border: none;
  padding: 10px;
  text-transform: uppercase;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  width: auto;
  font-size: 15px;
  border-radius: 10px;
  font-weight: 500;
}
.sort-container .view-content select:hover {
  color: #6786A7;
}
.sort-container .view-content select:focus-visible {
  outline: none;
}

#filters_form .loading-indicator {
  position: relative;
  height: 25px;
}
#filters_form .loading-indicator .spinner {
  top: 0;
  height: 20px;
  width: 20px;
  left: calc(50% - 10px);
}
#filters_form .loading-indicator.inline {
  width: 25px;
}

.filters-container {
  height: fit-content;
  border-radius: 10px;
  background-color: #fff;
}
.filters-container .filters-content {
  display: grid;
  justify-content: center;
  grid-template-columns: 1fr;
  width: 100%;
}
.filters-container .filters-content #apply-filters-btn {
  background-color: #275382;
  color: #fff;
  border: none;
  padding: 10px;
  text-transform: uppercase;
  margin: 0;
  margin-bottom: 10px;
  border-radius: 10px;
  font-weight: 500;
}
.filters-container .filters-content #apply-filters-btn:hover {
  background-color: #6786A7;
}
.filters-container .filters-content #clear-filters-btn {
  background-color: #275382;
  color: #fff;
  border: none;
  padding: 10px;
  text-transform: uppercase;
  margin: 0;
  margin-bottom: 10px;
  display: none;
  border-radius: 10px;
  font-weight: 500;
}
.filters-container .filters-content #clear-filters-btn:hover {
  background-color: #6786A7;
}
.filters-container .filters-content button:not(.read-more-btn) {
  cursor: pointer;
  background-color: #275382;
  color: #fff;
  border: none;
  padding: 10px;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
  white-space: nowrap;
}
.filters-container .filters-content .toggle-title {
  font-size: 17px;
  font-weight: 700;
  padding: 8px 10px;
  width: auto;
  display: flex;
  border-radius: 10px 10px 0 0;
  background: rgb(110.3846153846, 159.3313609467, 211.6153846154);
  color: #fff;
  cursor: pointer;
  position: relative;
}
.filters-container .filters-content .toggle-title::after {
  content: "▾";
  position: absolute;
  right: 12px;
  transition: transform 0.2s ease;
  transform: rotate(180deg);
}
.filters-container .filters-content .toggle-title.collapsed {
  border-radius: 10px;
}
.filters-container .filters-content .toggle-title.collapsed::after {
  transform: rotate(0deg);
}
.filters-container .filters-content #advanced-filters {
  margin-top: 10px;
}

.toggleButtons {
  border: 1px solid #D9D9D9;
  border-top: 0;
  border-radius: 0 0 10px 10px;
  padding: 5px;
}
.toggleButtons.collapsed {
  display: none;
}
.toggleButtons .price-per-night-container .section-title {
  display: block;
  font-weight: 600;
  margin-bottom: 10px;
}
.toggleButtons .price-per-night-container .min-max-container {
  display: block;
  margin: 30px 10px 0;
}
.toggleButtons .price-per-night-container .min-max-container.collapsed {
  display: none;
}
.toggleButtons .price-per-night-container .min-max-container .price-slider {
  width: calc(100% - 15px);
  margin: auto;
  border-color: rgb(110.3846153846, 159.3313609467, 211.6153846154);
}
.toggleButtons .price-per-night-container .min-max-container .price-slider .price-slider-handle {
  border-radius: 100%;
  background: #275382;
  border-color: #275382;
}
.toggleButtons .price-per-night-container .min-max-container .price-slider .price-slider-handle:hover {
  background: #6786A7;
}
.toggleButtons .price-per-night-container .min-max-container .price-slider .price-slider-range {
  background: rgb(149.6153846154, 185.2840236686, 223.3846153846);
}
.toggleButtons .price-per-night-container .min-max-container .price-amounts {
  margin-top: 5px;
  display: flex;
  justify-content: space-between;
}
.toggleButtons .price-per-night-container .min-max-container .max {
  margin-top: 10px;
}
.toggleButtons .price-per-night-container .min-max-container label {
  display: block;
}
.toggleButtons .price-per-night-container .min-max-container input {
  border: 2px solid #D9D9D9;
  padding: 5px;
  background-color: #fff;
  border-radius: 5px;
  width: 100px;
}
.toggleButtons .filter-option {
  margin-bottom: 20px;
}
.toggleButtons .filter-option:last-child {
  margin-bottom: 10px;
}
.toggleButtons .filter-option .section-title {
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  padding: 10px;
  background-color: rgb(228.0769230769, 237.1893491124, 246.9230769231);
  border-radius: 8px;
  color: #275382;
  position: relative;
  margin-bottom: 10px;
}
.toggleButtons .filter-option .section-title::after {
  content: "▾";
  position: absolute;
  right: 12px;
  transition: transform 0.2s ease;
  transform: rotate(180deg);
}
.toggleButtons .filter-option .section-title.collapsed::after {
  transform: rotate(0deg);
}
.toggleButtons .filter-option .section-title .loading-indicator {
  background: rgb(229, 239, 248);
}
.toggleButtons .filter-option .filter-select {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.toggleButtons .filter-option .filter-select.collapsed {
  display: none;
}
.toggleButtons .filter-option .filter-select li {
  margin-bottom: 10px;
}
.toggleButtons .filter-option .filter-select li .checkbox-container {
  display: flex;
  align-items: center;
  column-gap: 3px;
}
.toggleButtons .filter-option .filter-select li input {
  accent-color: #275382;
  color: #fff;
}
.toggleButtons .rating-container {
  margin-top: 10px;
}
.toggleButtons .rating-container #rating_filter.collapsed {
  display: none;
}
.toggleButtons .rating-container .filter-stars {
  margin-top: 5px;
}
.toggleButtons .rating-container .filter-stars i {
  cursor: pointer;
  color: #777777;
}
.toggleButtons .rating-container .filter-stars i.active {
  color: #FFC107;
}
.toggleButtons .featured-amenities-container .amenity-option .amenity-icon {
  position: relative;
  height: 25px;
  width: 25px;
  margin: 0 5px;
}
.toggleButtons .featured-amenities-container .amenity-option .amenity-icon .icon-img {
  display: block;
}
.toggleButtons .amenities-container .amenity-option .amenity-icon {
  position: relative;
  height: 25px;
  width: 25px;
  margin-left: 10px;
}
.toggleButtons .amenities-container .amenity-option .amenity-icon .icon-img {
  display: block;
}

.mobile-view.card {
  display: none;
  position: relative;
  overflow: visible;
  padding: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.mobile-view.card .mobile-view-top .num-property.mobile {
  display: flex;
  margin: 0;
}
.mobile-view.card .mobile-view-top .num-property.mobile i {
  margin-right: 10px;
}
.mobile-view.card .sort-filter {
  display: flex;
  justify-content: center;
  margin-top: 10px;
  column-gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 10px;
}
.mobile-view.card .sort-filter .sort-mobile-container select {
  cursor: pointer;
  background-color: #fff;
  color: #275382;
  border: none;
  padding: 10px;
  text-transform: uppercase;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
}
.mobile-view.card .sort-filter .sort-mobile-container select:focus-visible {
  outline: none;
}
.mobile-view.card .sort-filter .view-mobile-container select {
  cursor: pointer;
  background-color: #fff;
  color: #275382;
  border: none;
  padding: 10px;
  text-transform: uppercase;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
}
.mobile-view.card .sort-filter .view-mobile-container select:focus-visible {
  outline: none;
}
.mobile-view.card .sort-filter .filters-mobile .filters-button {
  cursor: pointer;
  background-color: #fff;
  color: #275382;
  border: 1px solid #275382;
  border-radius: 15px;
  padding: 5px 10px;
  text-transform: uppercase;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-size: 13.33px;
}
.mobile-view.card .sort-filter .filters-mobile .filters-container {
  padding: 1.5rem;
}

.listing-card-wrapper {
  background-color: #fafafa;
  padding: 20px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border-radius: 10px;
  margin-bottom: 20px;
}
.listing-card-wrapper:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.listing.card {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-bottom: 20px;
  background-color: #fafafa;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  gap: 1rem;
  overflow: hidden;
  justify-content: center;
}
.listing.card button:not(.read-more-btn):hover {
  background-color: #6786A7;
}

.grid-left-listing-card {
  position: relative;
}
.grid-left-listing-card a {
  display: grid;
  grid-gap: 2px;
}
.grid-left-listing-card .listing-img {
  width: 225px;
  max-width: 100%;
  height: 125px;
  object-fit: cover;
  position: relative;
}
.grid-left-listing-card .listing-img:first-child {
  grid-column-start: 1;
  grid-column-end: 3;
  border-radius: 10px 10px 0 0;
}
.grid-left-listing-card .listing-img:not(:first-child) {
  width: 100%;
  height: 70px;
}
.grid-left-listing-card .rating-modal {
  display: none;
  position: absolute;
  background: white;
  border: 1px solid #ccc;
  padding: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  top: 13%;
  font-size: 13px;
  color: #5e5e5e;
  z-index: 999;
}
.grid-left-listing-card .rating {
  position: absolute;
  top: 0;
  left: 20%;
  transform: translateX(-50%);
  background: rgb(255, 255, 255);
  color: #275382;
  border-radius: 0 0 10px 10px;
  padding: 5px 10px;
  box-shadow: 0px 0px 10px #888;
  max-width: 100%;
}
.grid-left-listing-card .rating:hover {
  cursor: help;
}
.grid-left-listing-card .rating .rating-grade {
  font-weight: bold;
  padding: 2px 6px;
  border-radius: 4px;
  display: inline-block;
  text-align: center;
}
.grid-left-listing-card .rating .rating-grade.bronze {
  color: #cd7f32;
}
.grid-left-listing-card .rating .rating-grade.silver {
  color: #c0c0c0;
}
.grid-left-listing-card .rating .rating-grade.gold {
  color: #ffd700;
}
.grid-left-listing-card .rating .rating-grade.platinum {
  color: #e5e4e2;
}
.grid-left-listing-card .rating .rating-grade.none {
  color: #777777;
}
.grid-left-listing-card .view-units .link-button {
  cursor: pointer;
  background-color: #275382;
  color: #fff;
  border: none;
  padding: 10px;
  text-transform: uppercase;
  margin-top: 2px;
  text-decoration: none;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  text-align: center;
  border-radius: 0px 0px 10px 10px;
  font-weight: 500;
}
.grid-left-listing-card .view-units .link-button:hover {
  background-color: #6786A7;
}
.grid-left-listing-card .view-units .view-more-btn {
  background-color: #275382;
  color: #fff;
  border: none;
  padding: 10px;
  text-transform: uppercase;
}

.grid-right-listing-card {
  grid-column-start: 2;
  grid-column-end: 3;
}
.grid-right-listing-card .grid-right-wrapper {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 575px) {
  .grid-right-listing-card .grid-right-wrapper {
    flex-direction: column;
  }
}
.grid-right-listing-card .grid-right-wrapper .specials-button {
  background-color: #275382;
  color: #fff;
  padding: 5px 10px;
  border-radius: 10px;
  height: fit-content;
  width: fit-content;
  margin-left: 81px;
  text-decoration: none;
  margin-bottom: 90%;
  text-transform: uppercase;
  font-weight: 500;
}
.grid-right-listing-card .grid-right-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 70%;
}
@media screen and (max-width: 575px) {
  .grid-right-listing-card .grid-right-info {
    width: 100%;
  }
}
.grid-right-listing-card .grid-right-amenities {
  flex: 1;
}
.grid-right-listing-card .top-line {
  margin-bottom: 0;
}
.grid-right-listing-card .top-line .building-name {
  font-size: 1.25rem;
  font-weight: 600;
  text-decoration: none;
  color: #000;
}
.grid-right-listing-card .top-line .building-name:hover {
  text-decoration: underline;
}
.grid-right-listing-card .top-line .stars.rating {
  display: inline;
}
.grid-right-listing-card a {
  text-decoration: none;
}
.grid-right-listing-card .resort-address {
  font-size: 14px;
  color: #777777;
}
.grid-right-listing-card .description {
  overflow: hidden;
  font-size: 14px;
  max-height: 175px;
  margin-top: 5px;
}
.grid-right-listing-card .description p {
  line-height: 1.6;
  letter-spacing: 0.3px;
}
.grid-right-listing-card .description p:first-child {
  margin-top: 0;
}
.grid-right-listing-card .description p:last-of-type {
  margin-bottom: 0;
}

.grid-right-listing-card {
  display: grid;
  position: relative;
}
.grid-right-listing-card .amenity-icons {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-left: auto;
  min-width: 150px;
  padding-top: 0;
}
.grid-right-listing-card .amenity-icons .amenity-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #333;
}
.grid-right-listing-card .amenity-icons .sprite-container {
  border: 1px solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  padding: 3px;
  margin: 2px;
  border-radius: 5px;
  color: #275382;
}

.grid-right-price {
  display: flex;
  flex-direction: column;
  margin-top: 25px;
}
.grid-right-price .unit-block {
  border-top: solid 1px #D9D9D9;
}
.grid-right-price .unit-block:last-child {
  border-bottom: solid 1px #D9D9D9;
}
.grid-right-price .unit-block:hover {
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.grid-right-price-row {
  display: flex;
  padding: 10px;
  align-items: center;
  row-gap: 3px;
}
.grid-right-price-row.unit-header-row {
  cursor: pointer;
  column-gap: 5px;
}
.grid-right-price-row.unit-header-row:hover {
  background-color: #EEEEEE;
}
@media screen and (max-width: 575px) {
  .grid-right-price-row {
    display: block;
  }
  .grid-right-price-row .room-type {
    margin-bottom: 10px;
  }
}
.grid-right-price-row .unit-details {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  padding: 5px;
  align-items: flex-start;
}
.grid-right-price-row .unit-details .save-banner {
  display: flex;
  flex-direction: column;
  padding: 6px;
  margin-left: auto;
}
.grid-right-price-row .unit-details .save-banner .specials-box {
  display: flex;
  flex-direction: column;
  width: 100px;
  padding: 14px;
  background: linear-gradient(135deg, #ff5858, #ff7e7e);
  border-radius: 8px;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  color: white;
  align-items: center;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
.grid-right-price-row .unit-details .save-banner .specials-box .specials-box-top-text {
  font-size: 14px;
  text-align: center;
  font-weight: normal;
}
.grid-right-price-row .unit-details .save-banner .specials-box .specials-box-percent {
  font-size: 28px;
}
.grid-right-price-row .unit-amenities {
  font-size: 14px;
  line-height: 1.5;
  flex: 1;
  min-width: 200px;
  max-width: 100%;
}
@media screen and (max-width: 420px) {
  .grid-right-price-row .unit-amenities {
    min-width: 150px;
  }
}
.grid-right-price-row .unit-amenities .amenity-category {
  font-weight: bold;
}
.grid-right-price-row .unit-amenities .amenity-desc {
  margin-left: 4px;
  color: #666;
}
.grid-right-price-row .price-details {
  padding: 10px;
  font-size: 14px;
  border-radius: 8px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
  margin: 0 auto;
}
.grid-right-price-row .price-details .stay-info {
  border-bottom: 1px solid #eee;
  padding-bottom: 8px;
  margin-bottom: 8px;
}
.grid-right-price-row .price-details .stay-info > * {
  margin-bottom: 3px;
}
.grid-right-price-row .price-details .stay-info .date-row {
  display: flex;
  justify-content: space-between;
  column-gap: 3px;
  flex-wrap: wrap;
}
.grid-right-price-row .price-details .price-guarantee {
  display: block;
  margin: 10px 0;
  color: #e63946;
  font-weight: 600;
  text-decoration: none;
}
.grid-right-price-row .price-details .price-guarantee:hover {
  text-decoration: underline;
}
.grid-right-price-row .price-details .total-info .total-info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
}
.grid-right-price-row .price-details .total-info .left {
  text-align: left;
  font-weight: 500;
}
.grid-right-price-row .price-details .total-info .right {
  margin-left: 15px;
  text-align: right;
  font-weight: 600;
}
.grid-right-price-row .specials-box {
  padding: 6px;
}
.grid-right-price-row.unit-amenities-row {
  display: none;
  padding: 0 10px 10px;
}
.grid-right-price-row.unit-amenities-row .details-special-row {
  font-size: 14px;
  padding: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
  /* 
              &:last-child {
              } */
}
.grid-right-price-row.unit-amenities-row .details-special-row > :nth-child(2) {
  color: #b20000;
}
.grid-right-price-row.unit-amenities-row .details-special-row.applied {
  font-weight: bold;
  background: rgb(255, 231, 231);
  color: #b20000;
}
.grid-right-price-row.unit-amenities-row .details-special-row.promo {
  background: rgb(224, 255, 227);
  font-weight: 500;
  display: block;
}
.grid-right-price-row.view-all-units-row {
  justify-content: center;
  margin-top: 8px;
}
.grid-right-price-row.view-all-units-row .view-all-units-link {
  text-decoration: none;
  color: #275382;
  font-weight: 600;
}
.grid-right-price-row.view-all-units-row .view-all-units-link:hover {
  text-decoration: underline;
}

.room-type {
  display: flex;
  gap: 5px 10px;
  flex: 1;
  flex-wrap: wrap;
}
.room-type .unit-title-row {
  display: flex;
  align-items: center;
  column-gap: 10px;
  row-gap: 5px;
}
.room-type .unit-title-row .toggle-unit-details {
  all: unset;
  cursor: pointer;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #275382;
  transition: color 0.3s linear;
  border: none;
  font-size: 18px;
}
.room-type .unit-title-row .room-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #383838;
}
.room-type .unit-rating-row {
  display: flex;
  column-gap: 20px;
  row-gap: 5px;
  position: relative;
  align-items: center;
  flex-wrap: wrap;
}
.room-type .unit-rating-row .rating-modal {
  top: 100%;
}
.room-type .occupancy {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #383838;
}
.room-type .occupancy .occ-num {
  font-weight: 600;
  color: #275382;
  margin: 0 2px;
}
.room-type .occupancy .user-icon {
  font-size: 17px;
  color: #777777;
}
.room-type .specials-section {
  color: #b20000;
}

.nightly-container {
  text-align: right;
}
.nightly-container .currency {
  font-size: 15px;
}
.nightly-container.avg-price {
  text-align: right;
  text-transform: uppercase;
  display: block;
  text-decoration: none;
}
.nightly-container.avg-price .amount {
  font-size: 20px;
  font-weight: 600;
  color: #275382;
}
.nightly-container.avg-price .avg-night {
  font-size: 13px;
}
.nightly-container.avg-price:hover .amount {
  color: #6786A7;
}

.listing-results {
  position: relative;
  min-height: 400px;
}
.listing-results .loading-shader {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.listing-results .loading-shader .loading-indicator {
  background: none;
}
.listing-results .loading-shader .loading-indicator .spinner {
  top: 100px;
  height: 50px;
  width: 50px;
  left: calc(50% - 25px);
}
.listing-results .loading-shader .loading-indicator i.active {
  color: #FFC107;
}

.listing-pager {
  text-align: center;
}
.listing-pager .pager-text {
  font-size: 14px;
  margin-bottom: 5px;
}
.listing-pager .pager-buttons {
  display: flex;
  justify-content: center;
  row-gap: 5px;
}
.listing-pager .pager-buttons a {
  background-color: #275382;
  color: #fff;
  display: inline-block;
  border-radius: 5px;
  padding: 7px 15px;
  cursor: pointer;
  text-decoration: none;
  text-transform: uppercase;
  margin: 0 5px;
}
.listing-pager .pager-buttons a:hover {
  background-color: #6786A7;
}
.listing-pager .pager-buttons .increment-button {
  padding: 7px 13px;
  white-space: nowrap;
}
.listing-pager .pager-buttons a.active {
  color: #275382;
}
.listing-pager .pager-buttons .ellipses {
  display: inline-block;
  align-self: center;
  margin: 0 5px;
}

@media screen and (max-width: 1400px) {
  .listing-banner-container .slogan-container .slogan-title {
    font-size: 3vw;
  }
}
@media screen and (max-width: 991px) {
  .listings-content .main-content .page-title {
    text-align: center;
  }
  .listings-content .main-content .grid {
    grid-template-columns: 100%;
  }
  .listings-content .main-content .filters-main,
  .listings-content .main-content .sort-container.main,
  .listings-content .main-content #full_filters {
    display: none;
  }
  .listings-content .main-content .mobile-view.card {
    display: block;
  }
  .listings-content .main-content .mobile-view.card .sort-filter .filters-mobile {
    display: block;
  }
  .listings-content .main-content .mobile-view.card .sort-filter .filters-mobile .pop-up {
    position: absolute;
    z-index: 100;
    background-color: #fff;
    left: 50%;
    top: calc(100% - 15px);
    transform: translateX(-50%);
    border: 2px solid #275382;
    display: none;
    min-width: 317px;
    max-width: 100%;
  }
  .listings-content .main-content .mobile-view.card .sort-filter .filters-mobile .pop-up div ul {
    list-style-type: none;
    padding-left: 0px;
  }
  .listings-content .main-content .featured-amenities-container label {
    width: max-content;
  }
  .listings-content .main-content .amenities-container label {
    width: max-content;
  }
  .listing-banner-container .slogan-container .slogan-title {
    font-size: 25px;
  }
}
@media screen and (max-width: 1200px) {
  .listing.card {
    display: block;
  }
  .grid-left-listing-card a {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .grid-left-listing-card .listing-img {
    min-width: 100%;
    max-height: 200px;
  }
  .grid-left-listing-card .listing-img:first-child {
    grid-column-start: 1;
    grid-column-end: 2;
    border-radius: 10px 0 0 0;
  }
  .grid-left-listing-card .listing-img:nth-child(2n) {
    border-radius: 0;
    height: 125px;
  }
  .grid-left-listing-card .listing-img:nth-child(3n) {
    border-radius: 0 10px 0 0;
    height: 125px;
  }
  .grid-left-listing-card .view-units .link-button {
    font-size: 15px;
    display: block;
  }
  .grid-right-listing-card {
    margin-top: 10px;
  }
  .grid-right-listing-card .top-line {
    height: 43px;
  }
  .grid-right-listing-card .top-line .stars.rating {
    display: block;
    float: none;
  }
  .grid-right-listing-card .top-line .stars.rating .review-star li {
    font-size: 12px;
  }
  .grid-right-listing-card .amenity_icon {
    height: 15px;
  }
  .grid-right-listing-card .nightly-container {
    position: unset;
  }
  .listing-pager .pager-buttons .extra-page {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .grid-left-listing-card a {
    grid-template-columns: auto;
  }
  .grid-left-listing-card .listing-img {
    height: 250px !important;
    border-radius: 10px 10px 0 0;
  }
  .grid-left-listing-card .listing-img:not(:first-child) {
    display: none;
  }
  .grid-left-listing-card .listing-img {
    height: 200px;
  }
}
@media screen and (max-width: 420px) {
  .listing-pager .pager-buttons a {
    margin: 0 3px;
    padding: 7px 12px;
  }
  .listing-pager .pager-buttons .ellipses {
    margin: 0 3px;
  }
}
/* Global helper styles */
.search-bar {
  display: flex;
  width: 1100px;
  max-width: 100%;
  margin: auto;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0px 1px 10px -5px;
}
.search-bar .field-container {
  position: relative;
  flex: 1;
  height: 45px;
}
.search-bar .field-container.location {
  flex: 3;
}
.search-bar .field-container.location input {
  border-radius: 5px 0 0 5px;
}
.search-bar .field-container.location .clear-button {
  position: absolute;
  right: 2px;
  top: 10px;
  width: 25px;
  height: 25px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  opacity: 0.4;
}
.search-bar .field-container.location .clear-button:hover {
  opacity: 0.8;
}
.search-bar .field-container.adults, .search-bar .field-container.children {
  flex: 0.5;
}
.search-bar .field-container:not(:first-child) {
  border-left: 1px solid #D9D9D9;
}
.search-bar .field-container i {
  position: absolute;
  top: 15px;
  left: 10px;
  color: #7A7A7A;
}
.search-bar .field-container input {
  width: 100%;
  height: 100%;
  border: none;
  background: #fff;
  padding-left: 30px;
  padding-right: 5px;
}
.search-bar .field-container input:focus {
  outline: none;
  background: #E3E3E3;
}
.search-bar .field-container.adults input {
  min-width: 100px;
}
.search-bar .field-container.children input {
  min-width: 115px;
}
.search-bar.no-location .field-container.checkin input {
  border-radius: 5px 0 0 5px;
}
.search-bar .search-button {
  background-color: #275382;
  color: #fff;
  border: none;
  flex: 1;
  cursor: pointer;
  text-transform: uppercase;
  height: 45px;
  border-radius: 0 5px 5px 0;
}
.search-bar .search-button:hover {
  background-color: #6786A7;
}
.search-bar .location-search-results {
  display: none;
  position: absolute;
  width: 100%;
  left: 0px;
  top: calc(100% + 5px);
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  box-shadow: 0px 3px 10px -5px;
  border-radius: 5px;
  max-height: 250px;
  overflow-y: auto;
}
.search-bar .location-search-results .result {
  padding: 4px 7px;
  cursor: pointer;
  border-bottom: 1px solid #D9D9D9;
  position: relative;
}
.search-bar .location-search-results .result:last-child {
  border-bottom: 0;
}
.search-bar .location-search-results .result:hover {
  background: #E3E3E3;
}
.search-bar .location-search-results .result::after {
  content: "";
  clear: both;
  display: table;
  border-collapse: collapse;
}
.search-bar .location-search-results .result.selected {
  background: #D8D8D8;
}
.search-bar .location-search-results .result .match {
  text-decoration: underline;
}
.search-bar .location-search-results .result .additional {
  font-size: 13px;
  color: #777777;
}
.search-bar .location-search-results .result .type {
  float: right;
  font-size: 12px;
  margin-top: 4px;
  margin-left: 4px;
  color: #777777;
  text-transform: uppercase;
}
.search-bar .location-search-results-pointer {
  display: none;
  position: absolute;
  left: 10px;
  top: calc(100% + 2px);
  width: 10px;
  height: 10px;
  background: #fff;
  transform: rotate(45deg);
}
.search-bar .search-error {
  position: absolute;
  left: 0;
  bottom: calc(100% + 5px);
  padding: 5px;
  border-radius: 4px;
  background: #ff91a0;
  max-width: 100%;
  box-shadow: 0px 1px 10px -5px;
  display: none;
}
.search-bar .search-error::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  left: 6px;
  bottom: -4px;
  transform: rotate(45deg);
  background: #ff91a0;
}
@media screen and (max-width: 1200px) {
  .search-bar {
    flex-wrap: wrap;
  }
  .search-bar .field-container.location {
    flex: 0 0 100%;
    width: 100%;
    border-bottom: 1px solid #D9D9D9;
  }
  .search-bar .field-container.location input {
    border-radius: 5px 5px 0 0;
  }
  .search-bar .field-container.checkin {
    border-left: none;
  }
  .search-bar .field-container.checkin input {
    border-radius: 0 0 0 5px;
  }
  .search-bar .search-button {
    border-radius: 0 0 5px 0;
  }
  .search-bar .location-search-results {
    top: calc(100% + 1px);
  }
  .search-bar .location-search-results-pointer {
    top: calc(100% + 4px);
  }
  .search-bar.no-location .field-container {
    flex: 0 0 50%;
    width: 50%;
    border-bottom: 1px solid #D9D9D9;
  }
  .search-bar.no-location .field-container.checkin input {
    border-radius: 5px 0 0 0;
  }
  .search-bar.no-location .field-container.checkout input {
    border-radius: 0 5px 0 0;
  }
  .search-bar.no-location .field-container:nth-child(odd) {
    border-left: none;
  }
  .search-bar.no-location .search-button {
    border-radius: 0 0 5px 5px;
  }
}
@media screen and (max-width: 767px) {
  .search-bar .field-container.checkin {
    border-radius: 0;
  }
  .search-bar .field-container:not(.location) {
    flex: 0 0 50%;
    width: 50%;
    border-bottom: 1px solid #D9D9D9;
  }
  .search-bar:not(.no-location) .field-container:nth-child(even) {
    border-left: none;
  }
  .search-bar .search-button {
    border-radius: 0 0 5px 5px;
  }
}

/* Global helper styles */
.map-box.minimap {
  margin-bottom: 0;
}
.map-box.minimap .map-cover {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  cursor: pointer;
}
.map-box.minimap .map-cover .view-notice {
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #fff;
  padding: 10px 15px;
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  color: #275382;
}
.map-box.minimap .ol-zoom,
.map-box.minimap .ol-zoomslider,
.map-box.minimap .map-infobox,
.map-box.minimap .ol-scale-line {
  display: none !important;
}
.map-box.resort-map {
  max-height: calc(100vh - 150px);
}
.map-box.resort-map .ol-map-container {
  max-height: calc(100vh - 150px);
}

.map-fullscreen-backdrop .map-cover {
  display: none;
}

.ol-map-container {
  position: relative;
  background-color: #D7D7D7;
  box-sizing: border-box;
}
.ol-map-container .map-popup {
  display: none;
  padding: 6px 8px;
  background-color: #fff;
  box-shadow: 0 0 15px grey;
  position: relative;
  cursor: default;
  color: #777777;
  font-family: "Lato", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 12px;
}
.ol-map-container .map-popup::after {
  content: " ";
  position: absolute;
  bottom: -4px;
  left: calc(50% - 5px);
  background: #fff;
  width: 10px;
  height: 10px;
  -ms-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.map-layer-switch {
  position: absolute;
  right: -45px;
  bottom: 1em;
}
.map-layer-switch button {
  display: block;
  position: relative;
  width: 90px;
  height: 90px;
  background: #275382;
  border: none;
  cursor: pointer;
  padding: 2px;
  border-radius: 100%;
  box-shadow: 0 0 5px #A7A7A7;
  right: 0;
  transition: all 0.15s linear;
  margin-top: 10px;
}
.map-layer-switch button:first-child {
  margin-top: 0;
}
.map-layer-switch button:hover {
  right: 10px;
}
.map-layer-switch button img {
  width: 100%;
  display: block;
}
.map-layer-switch button.active {
  background: #6786A7;
}

.map-fullscreen-backdrop .map-layer-switch {
  right: 60px;
  bottom: 60px;
}

.mini-map-layer-switch {
  display: none;
  position: absolute;
  right: 45px;
  top: 0.5em;
}
.mini-map-layer-switch button {
  display: inline-block;
}
.mini-map-layer-switch button.active {
  background-color: rgba(39, 83, 130, 0.9);
}

.ol-control {
  background-color: rgba(255, 255, 255, 0.7);
}
.ol-control:hover {
  background-color: rgba(255, 255, 255, 0.9);
}
.ol-control button {
  font-size: 15px;
  background-color: rgba(39, 83, 130, 0.6);
  cursor: pointer;
}
.ol-control button:focus, .ol-control button:hover {
  background-color: rgba(39, 83, 130, 0.9);
}
.ol-control button i {
  cursor: pointer;
}
.ol-control.ol-zoomslider {
  top: 5.5em;
}
.ol-control.map-toolbar {
  top: 0.5em;
  right: 0.5em;
}
.ol-control.map-infobox {
  bottom: 0.5em;
  right: 0.5em;
  padding: 2px;
  display: none;
  background: none;
  box-shadow: 0 0 15px grey;
  padding: 0;
  overflow: hidden;
  border-radius: 7px;
  width: calc(100% - 220px - 1em);
  max-width: 700px;
}
.ol-control.map-infobox .info-container {
  width: 100%;
  background-color: #fff;
  display: flex;
}
.ol-control.map-infobox .info-container .photo {
  width: 350px;
  height: 160px;
  position: relative;
}
.ol-control.map-infobox .info-container .photo img.info-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ol-control.map-infobox .info-container .photo button {
  position: absolute;
  height: 50px;
  width: 23px;
  top: calc(50% - 25px);
  cursor: pointer;
  background: rgba(255, 255, 255, 0.6);
  color: #777777;
  font-size: 14px;
  border-radius: 0;
  margin: 0;
}
.ol-control.map-infobox .info-container .photo button:hover {
  background: rgb(255, 255, 255);
  color: #275382;
}
.ol-control.map-infobox .info-container .photo button.left {
  left: 0;
}
.ol-control.map-infobox .info-container .photo button.right {
  right: 0;
}
.ol-control.map-infobox .info-container .info {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  font-family: "Lato", sans-serif;
  font-size: 10px;
  color: #383838;
  text-decoration: none;
}
.ol-control.map-infobox .info-container .info .title {
  margin: 0;
  font-size: 13px;
  line-height: 19px;
  font-weight: 600;
  text-transform: uppercase;
}
.ol-control.map-infobox .info-container .info .address {
  color: #777777;
  font-family: "Montserrat", sans-serif;
}
.ol-control.map-infobox .info-container .info .rating {
  line-height: 12px;
}
.ol-control.map-infobox .info-container .info .rating > * {
  vertical-align: baseline;
}
.ol-control.map-infobox .info-container .info .features {
  padding-left: 25px;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  margin: 5px 0 0;
  line-height: 16px;
}
.ol-control.map-infobox .info-container .info:hover .pricing .amount {
  text-decoration: underline;
}
.ol-control.map-infobox .info-container.small .info-photo {
  max-height: 170px;
}
.ol-control.map-infobox .info-container.small .info .title {
  margin: 0;
}
.ol-control.map-infobox .info-container .pricing {
  display: none;
  text-align: right;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: #275382;
  white-space: nowrap;
}
.ol-control.map-infobox .info-container .pricing .currency,
.ol-control.map-infobox .info-container .pricing .call {
  font-size: 20px;
  color: #777777;
  letter-spacing: -0.03em;
}
.ol-control.map-infobox .info-container .pricing .currency,
.ol-control.map-infobox .info-container .pricing .amount {
  line-height: 15px;
}
.ol-control.map-infobox .info-container .pricing .amount {
  font-size: 22px;
}
.ol-control.map-infobox .info-container .pricing .desc {
  font-size: 12px;
  line-height: 9px;
  color: #777777;
}
.ol-control.map-infobox .pricing-loading-indicator {
  position: absolute;
  display: block;
  width: 30px;
  height: 30px;
  right: 5px;
  bottom: 5px;
  z-index: 1;
}
.ol-control.map-infobox .pricing-loading-indicator .spinner {
  position: absolute;
  height: 15px;
  width: 15px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 auto;
  border: 3px solid rgba(226, 226, 226, 0.75);
  border-radius: 100%;
  animation: map-pricing-loading-rotation 0.6s infinite linear;
}
.ol-control.map-infobox .pricing-loading-indicator .spinner::before {
  content: "";
  display: block;
  position: absolute;
  left: -3px;
  top: -3px;
  height: 100%;
  width: 100%;
  border-top: 3px solid #275382;
  border-left: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-right: 3px solid transparent;
  border-radius: 100%;
}

@keyframes map-pricing-loading-rotation {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(359deg);
  }
}
.ol-scale-line {
  background: rgba(39, 83, 130, 0.3);
}

#resort_map .ol-control.map-infobox {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
  max-width: 550px;
}

.minimap .ol-control.map-infobox .info-container {
  flex: 1;
}

.map-feature-list {
  top: 0.5em;
  left: 45px;
  background: #fff;
  width: 350px;
  box-shadow: 0px 0px 8px 0px #a5a5a5;
  position: absolute;
  opacity: 0.85;
  box-sizing: border-box;
  display: grid;
  grid-template: 1fr min-content/1fr;
  max-height: 80%;
}
.map-feature-list:hover {
  opacity: 1;
}
.map-feature-list .feature-list-contents {
  padding: 0 5px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: all 0.3s;
  box-sizing: border-box;
  max-height: 400px;
}
.map-feature-list .feature-list-contents.hidden {
  max-height: 0px;
}
.map-feature-list .feature-list-search {
  position: relative;
  margin-top: 5px;
}
.map-feature-list .feature-list-search label {
  position: absolute;
  left: 5px;
  top: 8px;
}
.map-feature-list .feature-list-search input {
  width: 100%;
  border: none;
  border-bottom: 1px solid black;
  box-sizing: border-box;
  padding: 5px 0 3px 25px;
  font-family: "Montserrat", sans-serif;
}
.map-feature-list .feature-list-search input::placeholder {
  color: #777777;
  font-weight: 800;
  text-transform: uppercase;
  opacity: 0.5;
}
.map-feature-list .feature-list-results {
  border: 1px solid #dedcdc;
  margin: 8px 0 5px;
  padding: 0;
  flex: 1;
  overflow-y: scroll;
}
.map-feature-list .feature-list-results .feature-item {
  border-bottom: 1px solid #cdcece;
  cursor: pointer;
  width: 100%;
  font-family: "Montserrat", sans-serif;
  position: relative;
  box-sizing: border-box;
}
.map-feature-list .feature-list-results .feature-item .marker-icon {
  position: absolute;
  right: 5px;
  bottom: 5px;
  color: #777777;
}
.map-feature-list .feature-list-results .feature-item:hover {
  background: #D0D0D0;
}
.map-feature-list .feature-list-results .feature-item:hover .marker-icon {
  color: #275382;
}
.map-feature-list .feature-list-results .feature-item.property {
  display: flex;
  min-height: 75px;
}
.map-feature-list .feature-list-results .feature-item.property .property-photo {
  width: 33%;
  object-fit: cover;
}
.map-feature-list .feature-list-results .feature-item.property .property-data {
  flex: 1;
  padding: 5px;
}
.map-feature-list .feature-list-results .feature-item.property .property-data .name {
  font-weight: 600;
}
.map-feature-list .feature-list-results .feature-item.property .property-data .address {
  color: #383838;
  font-size: 12px;
}
.map-feature-list .feature-list-results .feature-item.other {
  padding: 3px 5px;
  min-height: 40px;
}
.map-feature-list .feature-list-results .feature-item.other .name {
  font-weight: 600;
}
.map-feature-list .feature-list-results .feature-item.other .type {
  color: #383838;
  font-size: 11px;
}
.map-feature-list .feature-list-results .feature-item.other .address {
  color: #383838;
  font-size: 12px;
}
.map-feature-list .feature-list-toggle {
  background: #275382;
  border: none;
  width: 100%;
  cursor: pointer;
  color: #fff;
  font-family: "Font Awesome 6 Free";
  font-weight: 1000;
  box-sizing: border-box;
  height: 30px;
}
.map-feature-list .feature-list-toggle:hover {
  background: #6786A7;
}
.map-feature-list .feature-list-toggle.up::before {
  content: "\f107";
}
.map-feature-list .feature-list-toggle.down::before {
  content: "\f106";
}

.map-control-notice {
  position: absolute;
  left: 0;
  top: 0;
  padding: 0 15px;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  font-size: 30px;
  border-radius: 10px;
}

.map-fullscreen-backdrop {
  position: fixed;
  z-index: 999999;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  padding: 50px;
  box-sizing: border-box;
  display: none;
}
.map-fullscreen-backdrop .ol-map-container {
  height: 100% !important;
  width: 100% !important;
}
.map-fullscreen-backdrop .background-shade {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

.ol-zoomslider button {
  transition: none;
}

@media screen and (max-width: 1200px) {
  .map-feature-list {
    width: 275px;
  }
}
@media screen and (max-width: 767px) {
  .map-layer-switch {
    right: -27px;
  }
  .map-box,
  .map-box .ol-map-container {
    height: 320px !important;
  }
  .resort-map.map-box,
  .resort-map.map-box .ol-map-container {
    height: 420px !important;
  }
  .map-box .ol-control.map-infobox,
  .map-box .map-feature-list {
    display: none !important;
  }
  .ol-control.map-infobox {
    left: 0.5em;
    bottom: 3em;
    top: auto;
    width: calc(100% - 1em);
  }
}
@media screen and (max-width: 575px) {
  .map-fullscreen-backdrop {
    padding: 0;
  }
  .map-box .map-layer-switch {
    display: none;
  }
  .map-box .mini-map-layer-switch {
    display: block;
  }
  .map-fullscreen-backdrop .map-layer-switch {
    right: 7px;
    top: 110px;
  }
}
@media screen and (max-width: 420px) {
  .ol-control.map-infobox .info-container .features {
    display: none !important;
  }
  .map-feature-list {
    width: 200px;
  }
}
/* Global helper styles */
.static-title {
  margin: 10px 0 40px;
  color: #275382;
  font-weight: 900;
  font-size: 35px;
  text-transform: uppercase;
  border-bottom: 1px solid #275382;
  padding-bottom: 5px;
}
@media screen and (max-width: 575px) {
  .static-title {
    font-size: 30px;
  }
}

.email-preferences-input-wrapper {
  margin-left: 15px;
}

.static-button {
  border: none;
  background: #275382;
  color: #fff;
  padding: 10px 15px;
  border-radius: 5px;
  cursor: pointer;
}
.static-button:hover {
  background: #6786A7;
}

#email_preferences_submit {
  margin-top: 20px;
  float: right;
}

.static-subtitle {
  font-family: "Lato", sans-serif;
  color: #275382;
  font-weight: 800;
}

/* Global helper styles */
.header.about-us .static-title .company {
  color: #275382;
  text-decoration: none;
}
.header.about-us .static-title .company:hover {
  color: #6786A7;
}

.main-container.about-us {
  text-align: left;
}
.main-container.about-us .image-container {
  display: grid;
  grid-template-columns: auto auto auto;
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 991px) {
  .main-container.about-us .image-container {
    grid-template-columns: auto auto;
  }
}
@media screen and (max-width: 767px) {
  .main-container.about-us .image-container {
    grid-template-columns: auto;
  }
}
.main-container.about-us .image-container img {
  width: 23.51vw;
  height: 7.515vw;
  border-radius: 10px;
  object-fit: cover;
}
@media screen and (max-width: 991px) {
  .main-container.about-us .image-container img {
    width: 300px;
    height: 95px;
  }
}
@media screen and (max-width: 767px) {
  .main-container.about-us .image-container img {
    width: 400px;
    max-width: 100%;
  }
}
.main-container.about-us .image-container img:first-child {
  height: 100%;
  grid-row-start: 1;
  grid-row-end: 3;
}
@media screen and (max-width: 767px) {
  .main-container.about-us .image-container img .secondary-photos {
    display: none;
  }
}
.main-container.about-us .image-container img:last-child {
  height: 100%;
  grid-row-start: 1;
  grid-row-end: 3;
  grid-column-start: 3;
}
@media screen and (max-width: 991px) {
  .main-container.about-us .image-container img:last-child {
    display: none;
  }
}
.main-container.about-us .section {
  margin: 50px 0;
  display: grid;
  grid-template-columns: 35% auto;
}
@media screen and (max-width: 575px) {
  .main-container.about-us .section {
    grid-template-columns: auto;
  }
}
.main-container.about-us .section .section-title {
  font-size: 1.354vw;
  font-weight: 800;
  text-transform: uppercase;
  color: #275382;
  margin-right: 20px;
  font-family: "Lato", sans-serif;
}
@media screen and (max-width: 1200px) {
  .main-container.about-us .section .section-title {
    font-size: 18px;
  }
}
@media screen and (max-width: 575px) {
  .main-container.about-us .section .section-title {
    margin-bottom: 30px;
    margin-right: 0px;
  }
}
.main-container.about-us .section .information {
  margin-left: 40px;
}
@media screen and (max-width: 575px) {
  .main-container.about-us .section .information {
    margin-left: 0px;
  }
}
.main-container.about-us .section .information.team {
  display: grid;
  grid-template-columns: auto auto auto;
  justify-content: space-between;
  padding: 0vw 4.167vw;
}
@media screen and (max-width: 1200px) {
  .main-container.about-us .section .information.team {
    justify-content: center;
  }
}
@media screen and (max-width: 991px) {
  .main-container.about-us .section .information.team {
    grid-template-columns: auto;
  }
}
.main-container.about-us .section .information.team div {
  width: fit-content;
}
@media screen and (max-width: 1200px) {
  .main-container.about-us .section .information.team div {
    padding: 0px 30px;
  }
}
.main-container.about-us .section .information.team .team-photo {
  width: 7.812vw;
  border-radius: 50%;
}
@media screen and (max-width: 1200px) {
  .main-container.about-us .section .information.team .team-photo {
    width: 90px;
  }
}
@media screen and (max-width: 575px) {
  .main-container.about-us .section .information.team .team-photo {
    width: 150px;
  }
}
.main-container.about-us .section .information.team .text {
  text-align: center;
}
.main-container.about-us .section .text {
  margin-bottom: 20px;
  text-align: left;
}
.main-container.about-us .section .text .title {
  font-weight: 700;
  color: #275382;
  text-transform: uppercase;
}
.main-container.about-us .section .text a {
  color: #275382;
}
.main-container.about-us .section .text a:hover {
  color: #6786A7;
}
.main-container.about-us .section .text .TLC {
  height: 12px;
}
.main-container.about-us .section .text .subtitle {
  font-size: 17px;
  font-weight: 600;
  margin-right: 10px;
  color: #275382;
  line-height: 30px;
}
.main-container.about-us .section .swiper.partners-swiper {
  width: 96%;
  margin-left: 40px;
}
@media screen and (max-width: 575px) {
  .main-container.about-us .section .swiper.partners-swiper {
    width: 100%;
    margin: 0;
  }
}
.main-container.about-us .section .swiper.partners-swiper .swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.main-container.about-us .section .swiper.partners-swiper .partner-photo {
  width: 100px;
  height: 100px;
  object-fit: contain;
}
.main-container.about-us .section .swiper.partners-swiper .text {
  font-size: 16px;
  margin-top: 10px;
}
.main-container.about-us .section .swiper.partners-swiper .swiper-button-prev {
  color: #275382;
}
.main-container.about-us .section .swiper.partners-swiper .swiper-button-next {
  color: #275382;
}
.main-container.about-us .section .contact-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.main-container.about-us .section .contact-info .number-wrapper {
  display: flex;
}
.main-container.about-us .section .contact-info .name {
  display: inline-block;
  flex: 1;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 15px;
  color: #777777;
}
.main-container.about-us .section .contact-info .name i {
  margin-right: 10px;
}
.main-container.about-us .section .contact-info .number {
  color: #275382;
}
.main-container.about-us .section .contact-info .number:hover {
  color: #6786A7;
}

/* Global helper styles */
.contactus-container.content-padding {
  padding-bottom: 100px;
}
.contactus-container .message {
  text-align: center;
  max-width: 80%;
  margin: 0 auto 30px;
}
.contactus-container .message.success {
  color: green;
}
.contactus-container .message.error {
  color: red;
}
.contactus-container .contactus-content-wrapper {
  display: flex;
  justify-content: center;
  gap: 40px;
}
@media screen and (max-width: 1200px) {
  .contactus-container .contactus-content-wrapper {
    margin: 0;
  }
}
@media screen and (max-width: 991px) {
  .contactus-container .contactus-content-wrapper {
    display: block;
  }
}
.contactus-container .contact-info {
  width: 40%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 1200px) {
  .contactus-container .contact-info {
    width: 30%;
  }
}
@media screen and (max-width: 991px) {
  .contactus-container .contact-info {
    width: 100%;
  }
}
.contactus-container .contact-info .contact-grid {
  display: grid;
  grid-template-columns: auto auto;
}
@media screen and (max-width: 1200px) {
  .contactus-container .contact-info .contact-grid {
    grid-template-columns: auto;
  }
}
@media screen and (max-width: 991px) {
  .contactus-container .contact-info .contact-grid {
    grid-template-columns: 150px auto;
    justify-content: center;
  }
}
@media screen and (max-width: 350px) {
  .contactus-container .contact-info .contact-grid {
    display: block;
    text-align: center;
  }
}
.contactus-container .contact-info .contact-grid .contact-image {
  width: 100px;
  margin-right: 20px;
}
@media screen and (max-width: 1200px) {
  .contactus-container .contact-info .contact-grid .contact-image {
    margin: 0 0 10px 0;
  }
}
@media screen and (max-width: 991px) {
  .contactus-container .contact-info .contact-grid .contact-image {
    margin: 0;
    margin-right: 20px;
  }
}
.contactus-container .contact-info .contact-grid .contact-info-title {
  margin: 0;
  font-size: 30px;
  color: #000;
  padding: 3% 0px;
}
@media screen and (max-width: 1200px) {
  .contactus-container .contact-info .contact-grid .contact-info-title {
    font-size: 20px;
  }
}
@media screen and (max-width: 991px) {
  .contactus-container .contact-info .contact-grid .contact-info-title {
    font-size: 30px;
  }
}
.contactus-container .contact-info .contact-grid .contact-info-title span {
  color: #275382;
}
.contactus-container .contact-info .number-wrapper {
  display: flex;
  column-gap: 10px;
}
@media screen and (max-width: 1200px) {
  .contactus-container .contact-info .number-wrapper {
    display: grid;
  }
}
@media screen and (max-width: 991px) {
  .contactus-container .contact-info .number-wrapper {
    display: flex;
  }
}
.contactus-container .contact-info .name {
  display: inline-block;
  flex: 1;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 15px;
  color: rgb(121, 121, 121);
}
.contactus-container .contact-info .name i {
  margin-right: 10px;
}
.contactus-container .contact-info .number {
  color: #275382;
}
.contactus-container .contact-info .number:hover {
  color: #6786A7;
}
@media screen and (max-width: 1200px) {
  .contactus-container .contact-info .number {
    margin-top: 10px;
  }
}
@media screen and (max-width: 991px) {
  .contactus-container .contact-info .number {
    margin-top: 0;
  }
}
.contactus-container .contact-form {
  width: 60%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 1200px) {
  .contactus-container .contact-form {
    width: 70%;
  }
}
@media screen and (max-width: 991px) {
  .contactus-container .contact-form {
    width: 100%;
    margin-top: 50px;
  }
}
.contactus-container .contact-form .form-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
@media screen and (max-width: 620px) {
  .contactus-container .contact-form .form-row {
    display: block;
  }
}
@media screen and (max-width: 620px) {
  .contactus-container .contact-form .form-row:nth-child(2) > div:nth-child(2) {
    margin-top: 20px;
  }
}
.contactus-container .contact-form .form-row .row-wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.contactus-container .contact-form .form-row .row-wrapper label {
  margin-bottom: 6px;
  font-size: 0.95rem;
  color: #333;
  font-weight: 600;
}
.contactus-container .form-input {
  padding: 0.6rem;
  border: 0.09rem solid #6786A7;
  border-radius: 10px;
  font-size: 1rem;
  background: #fefefe;
}
.contactus-container .form-input:focus {
  outline: none;
  border-color: #6786A7;
  box-shadow: 0 0 0.3rem rgba(97, 154, 216, 0.5);
}
.contactus-container textarea {
  min-height: 200px;
  resize: vertical;
}
.contactus-container .button-row {
  display: flex;
  justify-content: flex-end;
}
.contactus-container .submit-btn {
  padding: 10px 15px;
  color: white;
  background: #275382;
  border: none;
  border-radius: 10px;
  font-size: 16px;
  cursor: pointer;
  font-weight: 500;
}
.contactus-container .submit-btn:hover {
  background-color: #6786A7;
  transition: 0.3s;
}
.contactus-container .required-asterisk {
  color: red;
}

/* Global helper styles */
.authentication-section {
  background: linear-gradient(to top, #fff 25%, #bee3fb 75%);
  padding: 100px 0px 175px 0px;
  display: flex;
}
.authentication-section.content-padding.register {
  padding: 100px 0px;
  display: grid;
  justify-content: center;
}
.authentication-section .content-padding {
  position: relative;
}
@media screen and (max-width: 767px) {
  .authentication-section .content-padding {
    justify-content: center;
    display: grid;
  }
}
.authentication-section .content-padding .authentication-image {
  justify-content: center;
  display: grid;
  text-align: center;
  position: absolute;
  top: 0;
  left: 10%;
}
@media screen and (max-width: 767px) {
  .authentication-section .content-padding .authentication-image {
    display: none;
  }
}
.authentication-section .content-padding .authentication-image .login-background {
  max-width: 650px;
  width: 33.854vw;
  min-width: 300px;
}
.authentication-section .content-padding a {
  text-decoration: none;
}
.authentication-section .auth-control {
  width: 100%;
  padding: 5px;
  border: 1px solid #275382;
  border-radius: 10px;
}
.authentication-section .auth-btn {
  display: block;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  padding: 10px;
  border: none;
  background: #275382;
  color: #fff;
  cursor: pointer;
  border-radius: 10px;
  font-weight: 500;
  border: 1px solid #275382;
}
.authentication-section .auth-btn:hover {
  background: #6786A7;
  color: #fff;
}

.authentication-box {
  border-radius: 10px;
  width: 36.458vw;
  height: fit-content;
  float: right;
  margin: 4% 0;
}
@media screen and (max-width: 1200px) {
  .authentication-box {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .authentication-box {
    float: none;
    width: 64.286vw;
  }
}
.authentication-box .welcome-message {
  position: absolute;
  top: -10px;
  left: 75%;
  font-size: 40px;
  font-weight: 900;
  color: #275382;
  margin-left: -350px;
  display: none;
}
.authentication-box .logo-icon {
  width: 7.344vw;
}
@media screen and (max-width: 991px) {
  .authentication-box .logo-icon {
    width: 68.5px;
  }
}
.authentication-box h1 {
  margin: 0 0 1.302vw 0;
  font-size: 1.823vw;
  color: #275382;
  font-weight: 900;
  text-transform: uppercase;
}
@media screen and (max-width: 991px) {
  .authentication-box h1 {
    font-size: 17px;
  }
}
.authentication-box .auth-message {
  font-size: 14px;
  margin-bottom: 15px;
}
.authentication-box .auth-message.error {
  color: red;
}

.authentication-form .instructions {
  margin-left: 3px;
  margin-right: 3px;
}
.authentication-form > * {
  margin-bottom: 1.302vw;
}

.authentication-link {
  display: inline-block;
  color: #275382;
  border-bottom: 1px solid #275382;
  font-size: 14px;
  font-weight: 400;
}
.authentication-link:hover {
  color: #6786A7;
  border-bottom: 1px solid #6786A7;
}

.authentication-divider {
  color: #275382;
  position: relative;
  text-align: center;
  margin-bottom: 15px;
}
.authentication-divider::before {
  content: "";
  background-color: #fff;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.authentication-divider span {
  font-size: 15px;
  background: linear-gradient(to top, #eef8fe, #edf7fe);
  padding: 4px 15px;
  z-index: 1;
  position: relative;
}

.account-container h1 {
  margin-bottom: 20px;
}
.account-container h1 a i {
  color: #275382;
}
.account-container h1 a i:hover {
  color: #6786A7;
}
.account-container h1 a i:visited {
  color: #275382;
}
.account-container .account-top-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  row-gap: 15px;
}
@media screen and (max-width: 767px) {
  .account-container .account-top-line {
    flex-wrap: wrap;
  }
  .account-container .account-top-line .greeting {
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 420px) {
  .account-container .account-top-line {
    column-gap: 50px;
    justify-content: center;
  }
}
.account-container .account-top-line .greeting {
  font-weight: 700;
}
.account-container .account-top-line .link-btn {
  color: #275382;
  text-decoration: none;
  padding: 5px;
  border-radius: 5px;
  display: inline-block;
}
.account-container .account-top-line .link-btn > * {
  vertical-align: middle;
  margin-left: 2px;
}
.account-container .account-top-line .link-btn i {
  font-size: 19px;
}
@media screen and (max-width: 1200px) {
  .account-container .account-top-line .link-btn i {
    font-size: 15px;
  }
}
.account-container .account-top-line .link-btn span {
  font-weight: 500;
}
.account-container .account-top-line .link-btn:hover {
  color: #6786A7;
}
.account-container .current-booking {
  background: #fff;
  border: 1px solid #275382;
  border-radius: 6px;
  padding: 35px 50px;
  margin: 20px 0;
}
.account-container .current-booking .current-booking-title {
  margin-top: 0;
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 25px;
  color: #275382;
}
.account-container .current-booking .current-booking-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.account-container .current-booking .current-booking-summary {
  flex: 1 1 auto;
}
.account-container .current-booking .current-booking-summary .current-booking-property-name {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 4px;
}
.account-container .current-booking .current-booking-summary .current-booking-dates {
  color: #555;
  margin-bottom: 4px;
}
.account-container .current-booking .current-booking-summary .current-booking-location {
  font-size: 0.9rem;
  color: #777;
}
.account-container .current-booking .current-booking-actions {
  margin-top: 20px;
}
.account-container .current-booking .current-booking-actions .current-booking-btn {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 4px;
  background-color: #275382;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.2s ease;
}
.account-container .current-booking .current-booking-actions .current-booking-btn:hover {
  background-color: #6786A7;
}
.account-container .card-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 20px;
}
@media screen and (max-width: 575px) {
  .account-container .card-container {
    grid-template-columns: auto;
    margin-top: 5px;
  }
}
.account-container .card-container .card {
  border-radius: 10px;
}
.account-container .card-container .card .title {
  text-align: center;
  font-size: 17px;
  font-weight: 600;
  margin: 5px 0px;
  background: #275382;
  padding: 7px;
  border-radius: 10px;
  color: #fff;
  text-decoration: none;
}
.account-container .card-container .card .title i {
  color: #fff;
  font-size: 16px;
}
.account-container .card-container .card .account-top-line {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px;
  margin-left: auto;
}
.account-container .card-container .card .property-container {
  padding: 30px;
  background: rgb(244.9, 244.9, 244.9);
  border-radius: 10px;
}
.account-container .card-container .card .property-container::after {
  content: "";
  display: block;
  clear: both;
}
.account-container .card-container .card .property-container .property-list {
  display: grid;
  grid-template-columns: 33% 33% 33%;
  grid-template-rows: min-content;
  gap: 0.5%;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .account-container .card-container .card .property-container .property-list {
    grid-template-columns: auto auto;
  }
}
@media screen and (max-width: 767px) {
  .account-container .card-container .card .property-container .property-list {
    grid-template-columns: auto;
  }
}
.account-container .card-container .card .property-container .property-list .property-card {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease;
  text-decoration: none;
  position: relative;
}
.account-container .card-container .card .property-container .property-list .property-card:nth-child(n+4) {
  display: none;
}
.account-container .card-container .card .property-container .property-list .property-card:hover {
  transform: translateY(-4px);
}
.account-container .card-container .card .property-container .property-list .property-card img {
  width: 100%;
  height: auto;
  display: block;
}
.account-container .card-container .card .property-container .property-list .property-card .card-info {
  padding: 1rem;
}
.account-container .card-container .card .property-container .property-list .property-card .card-info .property-title {
  margin: 0 0 0.5rem;
  color: #383838;
  font-size: 0.8rem;
  font-weight: 700;
}
@media screen and (max-width: 400px) {
  .account-container .card-container .card .property-container .property-list .property-card .card-info .property-title {
    font-size: 11px;
  }
}
.account-container .card-container .card .property-container .property-list .property-card .card-info .property-subtitle {
  margin: 0 0 0.3rem;
  color: #777777;
  font-size: 0.8rem;
}
@media screen and (max-width: 400px) {
  .account-container .card-container .card .property-container .property-list .property-card .card-info .property-subtitle {
    font-size: 10px;
  }
}
.account-container .card-container .card .property-container .property-list .property-card .card-info .property-location {
  margin: 0px;
  color: #777777;
  font-size: 0.7rem;
}
@media screen and (max-width: 400px) {
  .account-container .card-container .card .property-container .property-list .property-card .card-info .property-location {
    font-size: 10px;
  }
}
.account-container .card-container .card .property-container .property-list .property-card .del-item {
  position: absolute;
  right: 5px;
  top: 5px;
  border: none;
  background: none;
  cursor: pointer;
  text-shadow: 0 0 2px black;
}
.account-container .card-container .card .property-container .property-list .property-card .del-item i {
  color: #fff;
}
.account-container .card-container .card .property-container .property-list .property-card .del-item:hover i {
  color: #ff91a0;
}
.account-container .card-container .card .property-container .property-list.expanded .property-card:nth-child(n+4) {
  display: block;
}
.account-container .card-container .card .property-container .view-all-btn {
  border: none;
  color: #275382;
  padding: 10px;
  border-radius: 10px;
  float: right;
  margin-top: 10px;
  font-weight: 600;
  background-color: transparent;
  cursor: pointer;
}
@media screen and (max-width: 1000px) {
  .account-container .card-container .card .property-container .view-all-btn {
    padding: 5px;
  }
}
.account-container .card-container .card .property-container .view-all-btn:hover {
  color: #6786A7;
}

.settings .container-wrapper {
  display: grid;
  grid-template-columns: auto auto;
}
.settings h1 a i {
  color: #275382;
}
.settings h1 a i:hover {
  color: #6786A7;
}
.settings .btn-container {
  text-align: center;
  margin-top: 20px;
}
.settings .btn-container button {
  padding: 10px 15px;
  border: none;
  border-radius: 5px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.3s ease;
  background-color: #275382;
  color: #fff;
}
.settings .btn-container button:hover {
  background-color: #6786A7;
}
.settings .card-container {
  grid-template-columns: auto;
  margin: 0px 10px;
}
.settings .card-container .card .title {
  font-size: 19px;
  margin: 10px 0;
  border-radius: 10px;
  background-color: #275382;
  color: #fff;
  padding: 7px;
}
@media screen and (max-width: 991px) {
  .settings .card-container .card .title {
    font-size: 16px;
  }
}
.settings .card-container .card .title:hover {
  color: #fff;
}
@media screen and (max-width: 991px) {
  .settings .card-container .card .title i {
    font-size: 16px;
  }
}
.settings .card-container .card .label {
  font-weight: 600;
}
.settings .card-container .card .fields-container {
  display: flex;
  flex-wrap: wrap;
  row-gap: 20px;
  column-gap: 2%;
}
.settings .card-container .card .field {
  width: 49%;
}
@media screen and (max-width: 575px) {
  .settings .card-container .card .field {
    width: 100%;
  }
}
.settings .card-container .card .checkbox {
  text-align: center;
  margin-top: 20px;
}
.settings .card-container .card .checkbox > * {
  vertical-align: middle;
}
.settings .card-container .card .checkbox input {
  width: fit-content;
}
.settings .info-container {
  padding: 32px;
  background: 1px solid rgb(244.9, 244.9, 244.9);
  border-radius: 10px;
  margin-bottom: 20px;
  height: 450px;
}
.settings .info-container.save {
  display: none;
}
.settings .info-container.save .label {
  display: block;
}
.settings .info-container input,
.settings .info-container textarea,
.settings .info-container select {
  padding: 0.6rem;
  border: 0.09rem solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  border-radius: 0.3rem;
  font-size: 1rem;
  background: #fefefe;
  width: 100%;
}
.settings .info-container input:focus,
.settings .info-container textarea:focus,
.settings .info-container select:focus {
  outline: none;
  border-color: rgb(50.7692307692, 108.0473372781, 169.2307692308);
  box-shadow: 0 0 0.3rem rgba(39, 83, 130, 0.5);
}
.settings .info-container input:read-only {
  background: #E1E1E1;
}
.settings .info-container select option.hidden {
  display: none;
}

.password-card .info-container .field {
  margin: 0 auto 10px;
}
.password-card .info-container .field.password-notice {
  text-align: center;
}
.password-card .info-container .field.password-notice.error {
  color: red;
}
.password-card .info-container .field.password-notice.success {
  color: green;
}

.account-bookings .booking-tabs-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.account-bookings .booking-tabs-row .booking-tab-button {
  background: #fff;
  border: 1px solid #275382;
  padding: 15px 20px;
  cursor: pointer;
  color: #275382;
  flex: 1;
  white-space: nowrap;
}
.account-bookings .booking-tabs-row .booking-tab-button:last-child {
  border-right: 1px solid #275382;
}
.account-bookings .booking-tabs-row .booking-tab-button.active {
  background: #275382;
  color: #fff;
}
.account-bookings .booking-tabs-row .booking-tab-button:hover {
  background: #6786A7;
  border-color: #6786A7;
  color: #fff;
}
.account-bookings .booking-tabs-panels .bookings-container {
  display: none;
}
.account-bookings .booking-tabs-panels .bookings-container.active {
  display: block;
}
.account-bookings .booking .title {
  padding: 10px 0;
  color: #275382;
  font-family: "Lato", sans-serif;
  font-size: 18px;
  font-weight: 500;
  vertical-align: middle;
}
.account-bookings .booking .title:hover {
  color: #6786A7;
  cursor: pointer;
}
.account-bookings .booking .title .dropdown-arrow {
  display: inline-block;
}
.account-bookings .booking .title .date {
  font-size: 16px;
  padding-top: 2px;
}
.account-bookings .booking .section-title {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  text-transform: uppercase;
  border-bottom: 1px solid #D9D9D9;
  margin-bottom: 10px;
  padding-top: 15px;
}
.account-bookings .booking .details {
  padding: 0 10px;
}
.account-bookings .booking .details.hidden {
  display: none;
}
.account-bookings .booking .details .section-title {
  font-size: 14px;
}
.account-bookings .booking .details .details-section {
  margin-bottom: 10px;
  margin-left: 10px;
}
.account-bookings .booking .details .details-section .cancelled-notice {
  text-transform: uppercase;
  color: red;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  font-weight: 500;
}
.account-bookings .booking .details .details-section table {
  width: 60%;
}
.account-bookings .booking .details .details-section table td {
  font-family: "Montserrat", sans-serif;
}
.account-bookings .booking .details .details-section table tr.option td span {
  margin-left: 20px;
}
.account-bookings .booking .details .details-section table td span {
  color: #275382;
  font-weight: bold;
}
.account-bookings .booking .details .details-section.gift-card-details td.label {
  font-weight: bold;
  padding-right: 5px;
}
.account-bookings .booking .details .final-payments {
  margin: 10px;
}
.account-bookings .booking .receipts {
  position: relative;
}
.account-bookings .booking .receipts .receipt {
  white-space: nowrap;
  width: 47.5%;
  box-sizing: border-box;
  background: #fff;
  padding: 5px;
  margin: 0 1% 1%;
  border: 1px solid #ccc;
  display: inline-block;
}
@media screen and (max-width: 575px) {
  .account-bookings .booking .receipts .receipt {
    width: 100%;
  }
}
.account-bookings .booking .receipts .receipt .receipt-heading {
  margin-bottom: 15px;
  text-align: center;
}
.account-bookings .booking .receipts .receipt .receipt-footer {
  margin-top: 15px;
  text-align: center;
}
.account-bookings .booking .receipts .receipt > div {
  clear: both;
}
.account-bookings .booking .receipt .left,
.account-bookings .booking .title .left {
  float: left;
  text-align: left;
  margin-right: 3px;
}
.account-bookings .booking .receipt .right,
.account-bookings .booking .title .right {
  float: right;
  text-align: right;
}
.account-bookings .booking .booking-tos {
  font-size: 13px;
  height: 200px;
  padding: 10px;
  margin: 0 0 15px;
  overflow-y: scroll;
  border: 1px outset #eee;
}
.account-bookings .booking .booking-tos h3 {
  text-transform: uppercase;
  font-weight: normal;
  font-size: 12px;
  font-family: "Lato", sans-serif;
  margin: 5px 0 0;
}
.account-bookings .cancel-request-button {
  background: #275382;
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 5px 10px;
  cursor: pointer;
}
.account-bookings .cancel-request-button:hover {
  background: #6786A7;
}

#cancel_request_dialog {
  display: none;
}
#cancel_request_dialog .popup-content {
  display: none;
}
#cancel_request_dialog .cancel-request-form .notice-content {
  text-align: left;
}
#cancel_request_dialog .cancel-request-form .notice-content label {
  font-weight: bold;
}
#cancel_request_dialog .cancel-request-form .notice-content textarea {
  width: 100%;
  min-height: 100px;
  resize: vertical;
  padding: 0.6rem;
  border: 1px solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  border-radius: 0.3rem;
  font-size: 1rem;
  font-family: "Montserrat", sans-serif;
  background: #fefefe;
}
#cancel_request_dialog .cancel-request-form .notice-content textarea:focus {
  outline: none;
  border-color: rgb(50.7692307692, 108.0473372781, 169.2307692308);
  box-shadow: 0 0 0.3rem rgba(39, 83, 130, 0.5);
}
#cancel_request_dialog .cancel-request-form .notice-content button {
  width: 100%;
  background: #275382;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 5px 10px;
  border-radius: 3px;
}
#cancel_request_dialog .cancel-request-form .notice-content button:hover {
  background: #6786A7;
}
#cancel_request_dialog .cancel-request-form .notice-content button:disabled {
  background: #6A6A6A;
  cursor: default;
}

/* Global helper styles */
.booking-form-error {
  max-width: 80%;
  text-align: center;
  margin: auto;
  color: red;
}

.booking-form-container {
  display: flex;
  flex-wrap: nowrap;
  gap: 30px 3rem;
  justify-content: center;
}
@media screen and (max-width: 991px) {
  .booking-form-container {
    flex-direction: column;
  }
}
.booking-form-container .textarea {
  resize: none;
  font-family: "Montserrat", sans-serif;
}
.booking-form-container .section-title {
  font-size: 23px;
  margin-bottom: 16px;
  line-height: 1.625rem;
  font-weight: 670;
}
.booking-form-container .section-title:first-child {
  margin-top: 0;
}
.booking-form-container .info-section,
.booking-form-container .payment-method-section,
.booking-form-container .form-col {
  padding: 32px;
  border: 1px solid rgba(71.1538461538, 133.3786982249, 199.8461538462, 0.8);
  border-radius: 10px;
}
.booking-form-container .form-col,
.booking-form-container .payment-form-col {
  flex: 1;
}
@media screen and (max-width: 991px) {
  .booking-form-container .form-col,
  .booking-form-container .payment-form-col {
    flex: 0 0 100%;
    width: 100%;
    order: 2;
  }
}
.booking-form-container .room-gallery {
  display: flex;
  justify-content: center;
  align-items: center;
}
.booking-form-container .room-gallery img {
  max-width: 295px;
  border-radius: 0.6rem;
  box-shadow: 0 0.25rem 0.6rem rgba(0, 0, 0, 0.1);
  max-height: 295px;
}
.booking-form-container .booking-form .row-wrapper {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 575px) {
  .booking-form-container .booking-form .row-wrapper {
    flex-direction: column;
    gap: 0;
  }
}
.booking-form-container .booking-form .field {
  width: calc(50% - 10px);
  margin-bottom: 1.25rem;
  display: flex;
  flex-direction: column;
}
.booking-form-container .booking-form .field.full-width {
  width: 100%;
}
@media screen and (max-width: 575px) {
  .booking-form-container .booking-form .field {
    width: 100%;
  }
}
.booking-form-container .booking-form .field label {
  margin-bottom: 0.375rem;
  font-weight: 700;
  font-size: 1rem;
}
.booking-form-container .booking-form .field input,
.booking-form-container .booking-form .field textarea,
.booking-form-container .booking-form .field select {
  padding: 0.6rem;
  border: 0.09rem solid rgb(71.1538461538, 133.3786982249, 199.8461538462);
  border-radius: 0.3rem;
  font-size: 1rem;
  background: #fefefe;
}
.booking-form-container .booking-form .field input:focus,
.booking-form-container .booking-form .field textarea:focus,
.booking-form-container .booking-form .field select:focus {
  outline: none;
  border-color: rgb(50.7692307692, 108.0473372781, 169.2307692308);
  box-shadow: 0 0 0.3rem rgba(39, 83, 130, 0.5);
}
.booking-form-container .booking-form .field select {
  width: 100%;
}
.booking-form-container .booking-form .field select option.hidden {
  display: none;
}
.booking-form-container .booking-form .options-label {
  font-weight: 700;
  margin: 1.25rem 0 0.6rem;
  display: block;
  font-size: 1rem;
}
.booking-form-container .booking-form .checkbox-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.6rem;
  font-size: 0.95rem;
}
.booking-form-container .booking-form .special-instructions textarea {
  width: 100%;
  resize: none;
  outline: none;
  border: solid 1px rgb(71.1538461538, 133.3786982249, 199.8461538462);
  padding: 10px;
  border-radius: 0.3rem;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
}
.booking-form-container .booking-form .special-instructions textarea:focus {
  outline: none;
  border-color: rgb(50.7692307692, 108.0473372781, 169.2307692308);
  box-shadow: 0 0 0.3rem rgba(39, 83, 130, 0.5);
}
.booking-form-container .booking-form .button-row {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}
.booking-form-container .booking-form .button-row button, .booking-form-container .booking-form .button-row a {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 0.3125rem;
  font-weight: bold;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.3s ease;
}
.booking-form-container .booking-form .button-row button.cancel-btn, .booking-form-container .booking-form .button-row a.cancel-btn {
  background-color: #f0f0f0;
  color: #275382;
  text-decoration: none;
}
.booking-form-container .booking-form .button-row button.cancel-btn:hover, .booking-form-container .booking-form .button-row a.cancel-btn:hover {
  background-color: #ddd;
}
.booking-form-container .booking-form .button-row button.submit-btn, .booking-form-container .booking-form .button-row a.submit-btn {
  background-color: #275382;
  color: #ffffff;
}
.booking-form-container .booking-form .button-row button.submit-btn:hover, .booking-form-container .booking-form .button-row a.submit-btn:hover {
  background-color: #6786A7;
}
.booking-form-container .booking-form .asterisk-star {
  color: red;
}
.booking-form-container .booking-form .safety-statement {
  color: #777777;
  margin-bottom: 15px;
}
.booking-form-container .booking-form .card-brands {
  display: flex;
  gap: 20px;
  margin-bottom: 15px;
}
.booking-form-container .booking-form .terms-agreement {
  text-decoration: none;
}
.booking-form-container .info-col {
  display: flex;
  flex-direction: column;
  font-size: 16px;
  align-items: center;
  max-width: 320px;
  margin: 0 auto;
}
@media screen and (max-width: 991px) {
  .booking-form-container .info-col {
    max-width: none;
    width: 100%;
    order: 1;
  }
}
.booking-form-container .info-col .room-image {
  max-height: 320px;
  width: 100%;
  display: flex;
  align-items: stretch;
}
.booking-form-container .info-col .room-image img {
  width: 100%;
  object-fit: cover;
  display: block;
}
.booking-form-container .info-col .info-text-section {
  font-size: 16px;
  border: solid 1px rgba(71.1538461538, 133.3786982249, 199.8461538462, 0.8);
  border-top: 0;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}
.booking-form-container .info-col .building-name {
  font-weight: bold;
  font-size: 20px;
}
.booking-form-container .info-col .location-name, .booking-form-container .info-col .unit-name {
  font-size: 16px;
}
.booking-form-container .info-col .info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.booking-form-container .info-col .info-row * {
  width: 50%;
}
.booking-form-container .info-col .info-row *:last-child {
  display: flex;
  justify-content: flex-end;
}
.booking-form-container .info-col .info-row.call {
  display: block;
  text-align: center;
}
.booking-form-container .info-col .divider {
  border-top: solid 1px #D9D9D9;
  margin: 5px 0;
}
.booking-form-container .info-col .num-people {
  border-radius: 5px;
  font-size: 16px;
}
.booking-form-container .info-col .unit {
  margin-right: 5px;
  font-size: 14px;
}
.booking-form-container .info-col .total {
  color: #275382;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 1000;
  display: none;
}

.modal {
  background-color: #ffffff;
  border-radius: 12px;
  width: 90%;
  max-width: 700px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  animation: fadeInScale 0.3s ease;
}
.modal .modal-header {
  margin-bottom: 20px;
}
.modal .modal-header .modal-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 8px;
}
.modal .modal-header .modal-subtitle {
  font-size: 14px;
  color: #555555;
}
.modal .close {
  font-size: 18px;
  float: right;
  cursor: pointer;
}
.modal .modal-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  overflow-x: auto;
  margin: 20px 0;
  padding-bottom: 10px;
  max-height: 300px;
}
.modal .modal-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

#availability_form_popup .property-card {
  flex: 0 0 200px;
  background-color: #f9f9f9;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 3px solid transparent;
  transition: border-color 0.2s ease;
}
#availability_form_popup .property-card:hover {
  border-color: rgb(50.7692307692, 108.0473372781, 169.2307692308);
}
#availability_form_popup .property-card.selected {
  border-color: #275382;
  background-color: rgb(130, 172.3076923077, 217.5);
}
#availability_form_popup .property-card img {
  width: 100%;
  height: 120px;
  object-fit: cover;
}
#availability_form_popup .property-card .property-info {
  padding: 10px;
}
#availability_form_popup .property-card .property-info .property-name {
  font-weight: bold;
  font-size: 16px;
}
#availability_form_popup .property-card .property-info .property-location,
#availability_form_popup .property-card .property-info .property-price {
  font-size: 13px;
  color: #666666;
}

.btn {
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
.btn.btn-primary {
  background-color: #275382;
  color: #ffffff;
  border: none;
}
.btn.btn-secondary {
  background: transparent;
  border: 1px solid #cccccc;
  color: #333333;
}

@keyframes fadeInScale {
  from {
    transform: scale(0.95);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/* Global helper styles */
.collections-page {
  background-color: #fff;
}
.collections-page .collections-header {
  display: flex;
  flex-direction: column;
}
.collections-page .collections-header .collections-subtitle {
  color: #275382;
  font-style: italic;
  font-family: "Montserrat", sans-serif;
  margin: 0 50px;
  text-align: center;
  font-size: 18px;
}
@media screen and (max-width: 420px) {
  .collections-page .collections-header .collections-subtitle {
    margin: 0;
  }
}
.collections-page .collections-toolbar {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 30px;
}
.collections-page .collections-tags {
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.collections-page .collections-tags .tags-inline {
  display: flex;
  gap: 10px;
  max-width: 100%;
  justify-content: center;
}
.collections-page .collections-tags .tags-dropdown {
  position: relative;
  display: flex;
}
.collections-page .collections-tags .tags-dropdown .tags-toggle-button {
  background-color: #ff9148;
  color: white;
  border: none;
  border-radius: 35px;
  padding: 20px;
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background-color 0.2s ease;
}
.collections-page .collections-tags .tags-dropdown .tags-toggle-button:hover {
  background-color: #f08741;
  color: white;
}
.collections-page .collections-tags .tags-dropdown .tags-filter {
  position: absolute;
  top: 100%;
  transform: translateX(-50%);
  left: 50%;
  margin-top: 0.5rem;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 12px;
  background-color: white;
  display: flex;
  column-gap: 2%;
  row-gap: 12px;
  justify-items: center;
  z-index: 1000;
  flex-wrap: wrap;
  width: 280px;
}
.collections-page .collections-tags .tags-dropdown .tags-filter.hidden {
  display: none;
}
.collections-page .collections-tags .tags-dropdown .tags-filter .filter-tag {
  width: 49%;
  flex: 0 0 49%;
  min-width: 120px;
}
.collections-page .collections-tags .filter-tag {
  width: 160px;
  background-color: #f0f0f0;
  color: #333;
  border: none;
  border-radius: 8px;
  padding: 10px 15px;
  font-size: 0.95rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  flex: 1;
}
.collections-page .collections-tags .filter-tag i {
  font-size: 20px;
}
.collections-page .collections-tags .filter-tag:hover {
  background-color: #6786A7;
  color: white;
}
.collections-page .collections-tags .filter-tag.active {
  background-color: #275382;
  color: white;
}
@media screen and (max-width: 575px) {
  .collections-page .collections-tags .filter-tag {
    width: 100px;
  }
}
.collections-page .collection-desc {
  margin: 10px auto 0;
}
.collections-page .collection-desc .collection-desc-content:not(.empty) {
  text-align: center;
}
.collections-page .collection-desc .collection-desc-content:not(.empty) p {
  margin: 0;
}
.collections-page .properties {
  position: relative;
  min-height: 250px;
}
.collections-page .properties .loading-indicator {
  display: none;
}
.collections-page .properties-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
@media screen and (max-width: 350px) {
  .collections-page .properties-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}
.collections-page .properties-grid .property-card {
  text-decoration: none;
  color: inherit;
  background: white;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease;
  height: 100%;
}
.collections-page .properties-grid .property-card:hover {
  transform: translateY(-4px);
}
.collections-page .properties-grid .property-card .property-image {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
}
.collections-page .properties-grid .property-card .card-info {
  display: flex;
  flex-direction: column;
  padding: 1rem;
}
.collections-page .properties-grid .property-card .card-info .flex-filler {
  flex: 1;
}
.collections-page .properties-grid .property-card .card-info .property-title {
  margin: 0 0 0.5rem;
  color: #333;
  font-size: 1.1rem;
}
.collections-page .properties-grid .property-card .card-info .property-details {
  margin-top: auto;
  color: #666;
  font-size: 0.9rem;
}
.collections-page .properties-grid .property-card .card-info .property-details div {
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .collections-page .tags-inline.desktop-only {
    display: none;
  }
  .collections-page .tags-inline.mobile-only {
    display: flex;
  }
}
@media screen and (min-width: 767px) {
  .collections-page .tags-inline.desktop-only {
    display: flex;
  }
  .collections-page .tags-inline.mobile-only {
    display: none;
  }
}

/* Global helper styles */
.specials-page .specials-layout {
  display: flex;
  gap: 24px;
  margin: 0 50px;
}
.specials-page .specials-layout .specials-filter-sidebar {
  width: 300px;
  background-color: #fcfcfc;
  padding: 16px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
}
.specials-page .specials-layout .specials-filter-sidebar .filter-section {
  margin-bottom: 20px;
}
.specials-page .specials-layout .specials-filter-sidebar .filter-section .filter-section-header {
  font-weight: 700;
  font-size: 1.1rem;
  cursor: pointer;
  padding: 10px;
  background-color: #e5eff8;
  border-radius: 8px;
  color: #275382;
  position: relative;
}
.specials-page .specials-layout .specials-filter-sidebar .filter-section .filter-section-header::after {
  content: "▾";
  position: absolute;
  right: 12px;
  transition: transform 0.2s ease;
}
.specials-page .specials-layout .specials-filter-sidebar .filter-section .filter-section-header.collapsed::after {
  transform: rotate(180deg);
}
.specials-page .specials-layout .specials-filter-sidebar .filter-section .filter-section-body {
  padding: 10px 12px;
  display: block;
}
.specials-page .specials-layout .specials-filter-sidebar .filter-section .filter-section-body.collapsed {
  display: none;
}
.specials-page .specials-layout .specials-filter-sidebar .filter-section .filter-section-body .filter-checkbox {
  display: block;
  margin-bottom: 8px;
  font-size: 0.95rem;
  color: #333;
}
.specials-page .specials-layout .specials-filter-sidebar .filter-section .filter-section-body .filter-checkbox input {
  margin-right: 8px;
}
.specials-page .specials-layout .specials-main-container {
  flex: 1;
}
.specials-page .specials-main-container .specials-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
}
.specials-page .specials-main-container .special-card {
  background: #fcfcfc;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
  transition: transform 0.2s ease;
}
.specials-page .specials-main-container .special-card:hover {
  transform: translateY(-6px);
}
.specials-page .specials-main-container .special-card .special-card-image {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
}
.specials-page .specials-main-container .special-card .special-card-body {
  padding: 20px;
}
.specials-page .specials-main-container .special-card .special-card-highlight {
  background: #ffecb3;
  color: #b85c00;
  font-weight: bold;
  font-size: 0.95rem;
  padding: 6px 10px;
  border-radius: 6px;
  display: inline-block;
  margin-bottom: 12px;
}
.specials-page .specials-main-container .special-card .special-card-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: #005fa3;
  margin-bottom: 10px;
}
.specials-page .specials-main-container .special-card .special-card-description {
  color: #707070;
  margin-bottom: 16px;
}
.specials-page .specials-main-container .special-card .special-card-button {
  display: inline-block;
  padding: 10px 18px;
  background: #0077cc;
  color: #fff;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
}
.specials-page .specials-main-container .special-card .special-card-button:hover {
  background: #005fa3;
}

/* Global helper styles */
.payment-page .hidden {
  display: none;
}
.payment-page .clear {
  clear: both;
}
.payment-page a {
  color: #383838;
}
.payment-page .payment-section {
  background: #fff;
  padding: 25px;
  margin-bottom: 25px;
}
.payment-page .required-note {
  color: red;
}
.payment-page .insurance-section h3 {
  font-size: 18px;
  font-family: "Lato", sans-serif;
}
.payment-page .insurance-section pre {
  white-space: pre-wrap;
  overflow: auto;
}
.payment-page .insurance-section button {
  padding: 10px;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 500;
  color: #fff;
  border: 0;
  border-radius: 2px;
  background: #275382;
  margin-bottom: 5px;
  cursor: pointer;
}
.payment-page .insurance-section button:hover {
  background: #6786A7;
}
.payment-page .insurance-proposal {
  display: flex;
  align-items: start;
  column-gap: 1em;
  row-gap: 10px;
}
.payment-page .insurance-proposals .insurance-tnc,
.payment-page .insurance-proposals .insurance-premium,
.payment-page .insurance-proposals .insurance-buttons {
  white-space: nowrap;
}
.payment-page .insurance-proposals .insurance-name {
  width: 150px;
  flex-shrink: 0;
}
.payment-page .insurance-proposals .insurance-logo {
  display: block;
  margin: 0 auto 5px;
}
.payment-page .insurance-proposals .insurance-product-name {
  font-weight: 500;
  font-size: 18px;
  text-align: center;
  margin: 0;
  font-family: "Lato", sans-serif;
}
.payment-page .insurance-proposals h5 {
  margin: 1em 0 0.4em;
  font-size: 14px;
}
.payment-page .insurance-proposals .insurance-tnc {
  margin-top: 10px;
}
.payment-page .insurance-proposals .insurance-tnc > * {
  vertical-align: bottom;
}
.payment-page .insurance-proposals .toggle-insurance-more {
  font-size: 14px;
  font-weight: bold;
  color: #275382;
  cursor: pointer;
  margin-top: 5px;
}
.payment-page .insurance-proposals .toggle-insurance-more:hover {
  text-decoration: underline;
}
.payment-page .insurance-proposals .insurance-more {
  display: none;
}
.payment-page .insurance-proposals .insurance-premium,
.payment-page .insurance-proposals .insurance-buttons,
.payment-page .insurance-proposals .insurance-accepted,
.payment-page .insurance-proposals .insurance-declined {
  align-self: center;
}
.payment-page .insurance-proposals .insurance-premium {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
}
.payment-page .insurance-proposals .insurance-premium .amount {
  font-size: 16px;
  color: #275382;
}
.payment-page .insurance-proposals .insurance-premium .currency {
  font-size: 12px;
  color: #777777;
}
.payment-page .insurance-proposals .insurance-buttons button {
  display: block;
  width: 100%;
}
.payment-page .insurance-proposals .insurance-buttons,
.payment-page .insurance-accepted,
.payment-page .insurance-declined {
  width: 100px;
  flex-shrink: 0;
}
.payment-page .insurance-accepted,
.payment-page .insurance-declined {
  display: none;
  white-space: nowrap;
}
.payment-page .insurance-accepted > *,
.payment-page .insurance-declined > * {
  vertical-align: middle;
}
.payment-page .insurance-accepted .fa-check,
.payment-page .insurance-declined .fa-close {
  font-size: 25px;
}
.payment-page .insurance-accepted .fa-check {
  color: green;
}
.payment-page .insurance-declined .fa-close {
  color: red;
}
.payment-page .insurance-proposals .insurance-filler {
  flex: 1;
}
.payment-page .insurance-details {
  display: none;
  margin-top: 10px;
}
.payment-page .insurance-details .form-fields {
  display: flex;
  flex-wrap: wrap;
}
.payment-page .insurance-details .payment-input-wrapper {
  float: none;
}
.payment-page #add_travellers_button {
  display: block;
  margin: 10px auto 0;
}
.payment-page .insurance-details .passenger-details {
  margin: 10px 20px;
  border-top: 1px solid #e3e3e3;
  display: flex;
  position: relative;
  flex-wrap: wrap;
}
.payment-page .insurance-details .passenger-details .remove-passenger-button {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 25px;
  cursor: pointer;
  color: red;
  z-index: 1;
}
.payment-page .insurance-details .passenger-details .remove-passenger-button:hover {
  color: rgb(255, 76.5, 76.5);
}
.payment-page .insurance-details .passenger-details .insurance-passenger-title {
  width: 10%;
}
.payment-page .insurance-details .passenger-details .insurance-passenger-first-name,
.payment-page .insurance-details .passenger-details .insurance-passenger-last-name {
  width: 37.5%;
}
.payment-page .insurance-section.spot-insurance .section-title {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
}
.payment-page .insurance-section.spot-insurance .section-title .filler {
  flex: 1;
}
.payment-page .insurance-section.spot-insurance .section-title img {
  height: 45px;
}
.payment-page .insurance-section.spot-insurance .spot-copy {
  margin-bottom: 15px;
}
.payment-page .insurance-section.spot-insurance .spot-options .spot-option-line {
  margin-bottom: 10px;
}
.payment-page .insurance-section.spot-insurance .spot-options .spot-option-line:last-child {
  margin: 0;
}
.payment-page .insurance-section.spot-insurance .spot-options .spot-option-line label {
  display: flex;
  column-gap: 5px;
  margin-bottom: 10px;
  align-items: center;
  cursor: pointer;
}
.payment-page .insurance-section.spot-insurance .spot-options .spot-option-line .payment-page-radio:not(:checked) + label:hover .fake-radio {
  background-color: #E0E0E0;
}
.payment-page .insurance-section.spot-insurance .insureds-form {
  margin: 0 0 15px 20px;
  display: none;
}
.payment-page .insurance-section.spot-insurance .insureds-form::after {
  content: "";
  clear: both;
  display: block;
}
.payment-page .insurance-section.spot-insurance .insureds-form .form-instructions {
  margin-top: 10px;
  font-weight: 600;
}
.payment-page .insurance-section.spot-insurance .insureds-form .guest-label {
  font-weight: 600;
  margin: 20px 0 0 2%;
}
.payment-page .insurance-section.spot-insurance .insureds-form .guest-record {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 900px) {
  .payment-page .insurance-section.spot-insurance .insureds-form .guest-record.additional {
    padding-top: 15px;
    margin-top: 15px;
    position: relative;
  }
  .payment-page .insurance-section.spot-insurance .insureds-form .guest-record.additional::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 50px;
    border-top: 2px solid #bbb;
  }
}
.payment-page .insurance-section.spot-insurance .insureds-form .payment-input-wrapper {
  float: none;
  flex: 1;
  margin-top: 3px;
}
.payment-page .insurance-section.spot-insurance .insureds-form .payment-input-wrapper input {
  padding: 8px 10px;
}
@media screen and (max-width: 900px) {
  .payment-page .insurance-section.spot-insurance .insureds-form .payment-input-wrapper.date-of-birth {
    flex: 100%;
  }
}
@media screen and (max-width: 734px) {
  .payment-page .insurance-section.spot-insurance .insureds-form .payment-input-wrapper {
    flex: 100%;
  }
}
.payment-page .insurance-section.spot-insurance .insureds-form .payment-info-button {
  margin-top: 20px;
  margin-right: 2.5%;
  float: right;
}
.payment-page .insurance-section.spot-insurance #remove_spot_insurance_button {
  float: right;
  margin-top: 10px;
}
.payment-page .payment-input-wrapper.insurance-title {
  width: 5%;
}
.payment-page .payment-input-wrapper.insurance-first-name,
.payment-page .payment-input-wrapper.insurance-middle-name,
.payment-page .payment-input-wrapper.insurance-last-name {
  width: 25%;
}
.payment-page .payment-input-wrapper.insurance-gender,
.payment-page .payment-input-wrapper.insurance-dob,
.payment-page .payment-input-wrapper.insurance-email,
.payment-page .payment-input-wrapper.insurance-phone,
.payment-page .payment-input-wrapper.insurance-city,
.payment-page .payment-input-wrapper.insurance-state,
.payment-page .payment-input-wrapper.insurance-country,
.payment-page .payment-input-wrapper.insurance-zip {
  width: 45%;
}
.payment-page .payment-input-wrapper.insurance-address {
  width: 95%;
}
.payment-page .payment-header {
  display: flex;
  align-items: center;
}
.payment-page .payment-header .section-title {
  flex: 1;
}
.payment-page .print-icon {
  color: #fff;
  background-color: #275382;
  border-radius: 3px;
  font-size: 20px;
  cursor: pointer;
  border: 0;
  width: 30px;
  height: 30px;
  box-sizing: border-box;
  padding: 3px 0 0;
}
.payment-page .print-icon:hover {
  background-color: #6786A7;
}
.payment-page .payment-section-wrapper {
  padding: 5px 0;
  position: relative;
}
.payment-page .payment-section .section-title {
  font-size: 16px;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
}
.payment-page .payment-section .main-title {
  font-size: 20px;
}
.payment-page .payment-inputs {
  width: 100%;
  float: none;
}
.payment-page .payment-inputs.split {
  width: 80%;
  float: left;
}
.payment-page .payment-input-wrapper {
  float: left;
  padding: 15px 2.5% 5px;
  position: relative;
  margin-top: 10px;
}
.payment-page #card-number {
  background-position: right;
  background-repeat: no-repeat;
}
.payment-page .payment-input-wrapper label {
  top: 0;
  position: absolute;
}
.payment-page .payment-input-wrapper .cvv-explain-wrapper {
  position: relative;
}
.payment-page .payment-input-wrapper .cvv-explain-wrapper .cvv-explain {
  position: absolute;
  right: 0;
  top: 8px;
  color: #777777;
}
.payment-page .payment-input-wrapper .cvv-explain-wrapper .cvv-explain-popup {
  visibility: hidden;
  opacity: 0;
  width: 240px;
  height: 240px;
  position: absolute;
  left: 35px;
  top: -120px;
  border: 1px solid #ccc;
  border-radius: 4px;
  z-index: 2;
  background-image: url("/images/sec-code.png");
  background-size: contain;
  transition: 0.25s;
}
.payment-page .payment-input-wrapper .cvv-explain-wrapper .cvv-explain:hover .cvv-explain-popup {
  visibility: visible;
  opacity: 1;
}
.payment-page .payment-input-wrapper input, .payment-page .payment-input-wrapper select {
  border: none;
  border-bottom: 1px solid #ccc;
}
.payment-page .payment-input-wrapper input:not(#split-payment):not(#same-address-edit),
.payment-page .payment-info select,
.payment-page .insurance-details select {
  color: #383838;
  width: 100%;
  box-sizing: border-box;
}
.payment-page .payment-input-wrapper input:focus,
.payment-page .payment-info select:focus,
.payment-page .insurance-details select:focus {
  outline: none;
  border-bottom: 1px solid #275382;
}
.payment-page .payment-input-wrapper.fancy-input label {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  top: 20px;
  cursor: text;
}
.payment-page .payment-input-wrapper.fancy-input label.floated {
  top: 0;
  font-size: 12px;
}
.payment-page .payment-input-wrapper input.error,
.payment-page .payment-input-wrapper.error label,
.payment-page .payment-input-wrapper select.error,
.payment-page .tos-agree.error label {
  background-color: white;
  transition: 1s;
}
.payment-page .payment-input-wrapper.first-name,
.payment-page .payment-input-wrapper.last-name {
  width: 50%;
}
.payment-page .payment-input-wrapper.card-number {
  width: 50%;
}
.payment-page .payment-input-wrapper.submit {
  float: right;
}
.payment-page .payment-input-wrapper.city,
.payment-page .payment-input-wrapper.province,
.payment-page .payment-input-wrapper.country,
.payment-page .payment-input-wrapper.postal {
  width: 50%;
}
.payment-page .payment-input-wrapper.address {
  width: 100%;
}
.payment-page .payment-input-wrapper.expiry,
.payment-page .payment-input-wrapper.cvv {
  width: 25%;
}
.payment-page .payment-input-wrapper.amount {
  width: 25%;
  float: right;
  display: none;
}
.payment-page .payment-input-wrapper.amount.split {
  display: block;
}
.payment-page .payment-same-address {
  clear: left;
  float: left;
  padding: 10px 2.5% 5px;
}
.payment-page .payment-same-address div {
  margin-left: 25px;
}
.payment-page .split-payment-wrapper {
  float: left;
  padding: 10px;
  position: relative;
  z-index: 1;
}
.payment-page .split-payment-wrapper input,
.payment-page .split-payment-wrapper label {
  vertical-align: top;
}
.payment-page .split-payment-wrapper label {
  padding-left: 5px;
}
.payment-page .payment-input-wrapper.process {
  text-align: right;
  float: none;
  padding: 5px 2.5%;
  margin-top: 0;
  clear: both;
}
.payment-page button.payment-form-process {
  width: 35%;
  position: relative;
}
.payment-page .payment-input-wrapper.process .payment-spinner {
  vertical-align: middle;
  margin-right: 10px;
  display: none;
}
.payment-page .payment-form.error {
  border: 1px solid #ff0000;
  transition: 1s;
}
.payment-page .tos-agree label {
  width: 85%;
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
}
.payment-page .tos-agree input {
  border: none;
  width: auto;
  vertical-align: middle;
}
.payment-page .tos .tos-agree {
  margin-top: 15px;
}
.payment-page .tos .tos-notice,
.payment-page .invalid-form-notice,
.payment-page .no-selection-notice,
.payment-page .spot-insurance-notice {
  border-radius: 5px;
  position: absolute;
  z-index: 5;
  background-color: red;
  width: 100%;
  color: #fff;
  display: none;
  font-size: 16px;
  text-align: center;
  padding: 5px 48px;
  box-sizing: border-box;
  transform: translate(0, -99%);
}
.payment-page .tos .tos-notice::after,
.payment-page .invalid-form-notice::after,
.payment-page .no-selection-notice::after,
.payment-page .spot-insurance-notice::after {
  content: " ";
  position: absolute;
  top: calc(100% - 1px); /* At the bottom of the tooltip */
  left: 50%;
  margin-left: -25px;
  border-width: 25px;
  border-style: solid;
  border-color: red transparent transparent transparent;
}
.payment-page .payment-info input:disabled,
.payment-page .payment-info select:disabled,
.payment-page .insurance-details input:disabled,
.payment-page .insurance-details select:disabled,
.payment-page .tos-agree label.disabled {
  background-color: #777777;
  border-color: #777777;
  color: #333;
}
.payment-page .payment-info input:disabled:hover,
.payment-page .payment-info select:disabled:hover,
.payment-page .insurance-details input:disabled:hover,
.payment-page .insurance-details select:disabled:hover,
.payment-page .tos-agree label.disabled {
  background-color: #777777;
  border-color: #777777;
  color: #333;
  cursor: not-allowed;
}
.payment-page .payment-form-process:disabled:hover .process-tooltip {
  visibility: visible;
}
.payment-page .payment-form-process .process-tooltip {
  visibility: hidden;
  position: absolute;
  text-align: center;
  border-radius: 4px;
  top: 45px;
  left: 0;
  right: 0;
  padding: 10px 0;
  background: black;
  color: white;
}
.payment-page .payment-info input,
.payment-page .insurance-details input {
  padding: 8px 10px;
  background-color: #fff;
}
.payment-page .payment-info select,
.payment-page .insurance-details select {
  background-color: #fff;
  padding: 7px 10px;
}
.payment-page .payment-info .submit button {
  width: 100%;
  border-radius: 2px;
  float: left;
}
.payment-page .payment-info button,
.payment-page .payment-info-button {
  text-transform: uppercase;
  text-decoration: none;
  font-size: 13px;
  background: #275382;
  padding: 10px 10px;
  cursor: pointer;
  border: 0px;
  color: #fff;
}
.payment-page .payment-info button:hover,
.payment-page .payment-info-button:hover {
  background-color: #6786A7;
}
.payment-page .payment-info button:disabled,
.payment-page .payment-info-button:disabled {
  background-color: #6A6A6A;
  color: #fff;
}
.payment-page .payments .payment-bar {
  padding: 10px 15px;
  font-size: 16px;
  background: #eee;
  border-radius: 4px;
  border: 1px solid #ddd;
  box-shadow: 0 1px 1px 0 rgba(50, 50, 50, 0.1);
  color: #383838;
}
.payment-page .payments .payment-bar span {
  width: 15%;
  display: inline-block;
}
.payment-page .payments .payment-bar span.amount {
  width: auto;
  float: right;
  text-align: right;
}
.payment-page .payments .payment-bar span.amount span {
  width: auto;
  display: inline;
}
.payment-page .summary-section {
  width: 33%;
  display: inline-block;
}
.payment-page .summary-section .summary-price {
  font-size: 48px;
  color: #275382;
  display: inline-block;
}
.payment-page .summary-section .summary-title {
  font-size: 12px;
  color: #777777;
  vertical-align: top;
  display: inline-block;
}
.payment-page .summary-section .summary-currency {
  font-size: 12px;
  color: #777777;
  display: inline-block;
}
.payment-page .payment-message {
  padding: 10px;
  background: #fff;
  text-align: center;
  margin-bottom: 5px;
  font-weight: bold;
  position: relative;
}
.payment-page .payment-message i {
  font-size: 24px;
  vertical-align: sub;
  margin: 0 5px;
}
.payment-page .payment-message.success {
  color: green;
  border: 1px solid green;
}
.payment-page .payment-message.overpaid, .payment-page .payment-message.error, .payment-page .payment-message.declined {
  color: red;
  border: 1px solid red;
}
.payment-page .payment-message .payment-message-closer {
  position: absolute;
  top: 5px;
  right: 5px;
  color: #777777;
  font-size: 14px;
  cursor: pointer;
}
.payment-page #final-payment {
  padding: 10px;
  background: #fff;
}
.payment-page #final-payment hr {
  border: 1px solid #ddd;
}
.payment-page .building-section .building-photo {
  display: inline-block;
  vertical-align: middle;
}
.payment-page .building-section .building-details {
  display: inline-block;
  vertical-align: middle;
  padding-left: 20px;
}
.payment-page .building-section .building-wrapper {
  margin-bottom: 10px;
}
.payment-page .building-section .building-details a {
  text-decoration: none;
  font-weight: 400;
}
.payment-page .building-section .building-details a:hover {
  text-decoration: underline;
}
.payment-page .building-details .building-title {
  font-size: 18px;
  font-family: "Lato", sans-serif;
}
.payment-page .building-details .building-dates,
.payment-page .building-details .building-occupants,
.payment-page .building-details .building-address {
  font-size: 14px;
}
.payment-page .building-details .building-occupants .occ-count,
.payment-page .building-nights .night-count {
  font-size: 16px;
  color: #275382;
  font-weight: bold;
}
.payment-page .building-details .building-address .address-location,
.payment-page .payment-summary-section .payment-summary-show,
.payment-page .payment-summary-section table.order-summary .name span {
  color: #275382;
  font-weight: bold;
}
.payment-page .payment-summary-section table.order-summary .option .name span {
  margin-left: 20px;
}
.payment-page .payment-summary-section .payment-summary-show {
  padding: 1px 5px 2px;
  border-radius: 3px;
  background: #275382;
  color: #fff;
  cursor: pointer;
}
.payment-page .payment-summary-section .payment-summary-show:hover {
  background: #6786A7;
}
.payment-page .expand-building-section {
  cursor: pointer;
}
.payment-page .building-section .payment-summary-section {
  float: right;
  width: 30%;
}
.payment-page .lift-tickets .building-section,
.payment-page .other-products .building-section {
  text-align: center;
}
.payment-page .lift-tickets .building-section .payment-summary-section,
.payment-page .other-products .building-section .payment-summary-section {
  float: none;
  width: 85%;
  text-align: left;
  display: inline-block;
}
.payment-page .payment-summary-section table {
  width: 100%;
  border-collapse: collapse;
}
.payment-page .payment-summary-section table.payment-nights tr:nth-child(2n),
.payment-page .payment-summary-section table.order-summary tr:nth-child(2n) {
  background: #fafafa;
}
.payment-page .payment-summary-section table td.price,
.payment-page .total .price {
  text-align: right;
  font-family: "Montserrat", sans-serif;
  white-space: nowrap;
}
.payment-page .total,
.payment-page .uplift-from-line {
  padding: 0 5px;
  font-size: 13px;
  color: #383838;
}
.payment-page .total span {
  display: inline-block;
}
.payment-page .total span.price {
  float: right;
}
.payment-page .uplift-from-line {
  text-align: right;
}
.payment-page .uplift-from-line .highlight {
  font-weight: bold;
  color: #275382;
}
.payment-page .payment-summary-section table td {
  padding: 0 5px;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
}
.payment-page .payment-summary-section table td.addon-name {
  padding: 0 5px 0 15px;
}
.payment-page .payment-summary-section table.summary {
  margin-top: 10px;
}
.payment-page .payment-summary-section table.payment-nights td {
  padding: 5px;
}
.payment-page .payment-summary-section table.payment-table {
  margin-top: 20px;
}
.payment-page .payment-summary-section .payment-table-heading td, .payment-page .payment-summary-section .payment-table-balance td {
  font-weight: 600;
  font-family: "Montserrat", sans-serif;
}
.payment-page .payment-summary-section .payment-table tr.payment-row {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.payment-page .payment-summary-section .payment-table tr.payment-row td {
  padding: 5px;
  vertical-align: middle;
}
.payment-page .payment-summary-section .booking-calendar {
  display: block;
}
.payment-page .payment-section .smalltext {
  color: #777777;
  font-weight: 300;
  font-size: 11px;
}
.payment-page .tos {
  float: left;
  clear: left;
  width: 68%;
  position: relative;
}
.payment-page .tos.order-tos {
  width: 100%;
  margin-top: 10px;
}
.payment-page .payment-tos {
  font-size: 13px;
  height: 200px;
  padding: 0 10px;
  overflow-y: scroll;
  border: 1px outset #eee;
}
.payment-page .tos .payment-tos.error {
  border: 1px solid red;
  transition: 1s;
}
.payment-page .payment-tos h3 {
  text-transform: uppercase;
  font-weight: normal;
  font-size: 12px;
  font-family: "Lato", sans-serif;
  margin: 5px 0 0;
}
.payment-page .payment-card {
  display: inline-block;
  vertical-align: middle;
  width: 33px;
  height: 20px;
}
.payment-page .card .number {
  padding-left: 5px;
}
.payment-page .payment-card.visa {
  background-image: url("/images/visa.png");
}
.payment-page .payment-card.mastercard {
  background-image: url("/images/mastercard.png");
}
.payment-page .payment-card.americanexpress {
  background-image: url("/images/amex.png");
}
.payment-page .payment-card.discover {
  background-image: url("/images/discover.png");
}
.payment-page .template {
  display: none;
}
.payment-page .final-payment-input-wrapper {
  border-bottom: 1px solid #ccc;
  padding: 5px 0;
}
.payment-page .final-payment-input-wrapper input {
  padding: 0;
  margin: 0 5px;
  vertical-align: middle;
  background: #fff;
}
.payment-page .final-payment-input-wrapper.ineligible {
  background: #fafafa;
}
.payment-page .final-payment-input-wrapper.other {
  border: none;
}
.payment-page .final-payment-input-wrapper .number {
  padding-left: 5px;
}
.payment-page span.ineligible {
  color: #777777;
  font-size: 11px;
}
.payment-page .action div {
  padding: 5px 0;
}
.payment-page .payment-table.final .payment-table-explination td {
  font-size: 9px;
}
.payment-page .payment-type-select,
.payment-page .payment-page-radio {
  display: none;
}
.payment-page .payment-type-select .payment-type-option {
  width: 100%;
  min-height: 65px;
  box-sizing: border-box;
  padding: 0 20px;
  margin-bottom: 10px;
  border: 3px solid #c2c2c2;
  border-radius: 10px;
  display: flex;
  column-gap: 2px;
  align-items: center;
  font-weight: bold;
  color: #383838;
  position: relative;
  overflow: hidden;
}
.payment-page .payment-type-select .payment-type-option:last-child {
  margin-bottom: 0;
}
.payment-page .payment-type-select .payment-type-radio:not(:disabled) + .payment-type-option:hover {
  cursor: pointer;
  background-color: #E0E0E0;
}
.payment-page .payment-type-select .payment-type-radio:checked + .payment-type-option {
  border-color: #275382;
  color: #383838;
}
.payment-page .payment-type-select .payment-type-option .fa {
  color: initial;
  line-height: 20px;
  font-size: 22px;
}
.payment-page .payment-type-select .payment-type-option .first-logo {
  margin-left: 5px;
}
.payment-page .payment-type-select .payment-type-option .cc-logo {
  height: 20px;
}
.payment-page .payment-type-select .payment-type-option .uplift-logo {
  height: 35px;
}
.payment-page .fake-radio {
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  border: 2px solid #275382;
  margin-right: 10px;
  flex-shrink: 0;
}
.payment-page .payment-page-radio:checked + label .fake-radio {
  background-color: #275382;
}
.payment-page .payment-type-select .payment-type-radio:disabled + .payment-type-option {
  border-color: rgba(194, 194, 194, 0.5);
  color: rgba(64, 64, 64, 0.5);
}
.payment-page .payment-type-select .payment-type-radio:disabled + .payment-type-option .fake-radio {
  border-color: rgba(77, 77, 77, 0.5);
}
.payment-page .payment-type-select .payment-type-radio:disabled + .payment-type-option .uplift-logo {
  opacity: 0.5;
}
.payment-page .payment-type-select .payment-type-option .fake-radio-text {
  display: flex;
  column-gap: 2px;
  align-items: center;
  flex-wrap: wrap;
}
.payment-page .payment-type-select .payment-type-option .fake-radio-text > span > * {
  vertical-align: middle;
}
.payment-page #uplift_payment {
  display: none;
}
.payment-page #uplift_payment iframe {
  box-sizing: border-box;
}
.payment-page #up-pay-monthly-selector-from-pricing span:not(:first-child) {
  color: #0e680e;
}
.payment-page .insurance-summary {
  margin: 20px 0;
}
.payment-page table.insurance-summary {
  margin: 20px auto;
  width: 80%;
  border-collapse: collapse;
}
.payment-page table.insurance-summary .number,
.payment-page table.insurance-summary .description,
.payment-page table.insurance-summary .tnc {
  text-align: left;
}
.payment-page table.insurance-summary .tnc {
  padding-left: 10px;
}
.payment-page table.insurance-summary .price,
.payment-page table.insurance-summary .taxes,
.payment-page table.insurance-summary .totals {
  text-align: right;
}
@media screen and (max-width: 1012px) {
  .payment-page .building-section .payment-summary-section {
    width: 100%;
    padding: 10px 0;
    float: none;
  }
  .payment-page .building-section .tos {
    float: none;
    width: 100%;
  }
  .payment-page .insurance-proposal {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 734px) {
  .payment-page .payment-input-wrapper.insurance-title {
    width: 15%;
  }
  .payment-page .payment-input-wrapper.insurance-first-name {
    width: 75%;
  }
  .payment-page .insurance-details .passenger-details .insurance-passenger-title {
    width: 20%;
  }
  .payment-page .insurance-details .passenger-details .insurance-passenger-first-name {
    width: 70%;
  }
  .payment-page .payment-input-wrapper.insurance-middle-name,
  .payment-page .payment-input-wrapper.insurance-last-name,
  .payment-page .payment-input-wrapper.insurance-gender,
  .payment-page .payment-input-wrapper.insurance-dob,
  .payment-page .payment-input-wrapper.insurance-email,
  .payment-page .payment-input-wrapper.insurance-phone,
  .payment-page .payment-input-wrapper.insurance-city,
  .payment-page .payment-input-wrapper.insurance-state,
  .payment-page .payment-input-wrapper.insurance-country,
  .payment-page .payment-input-wrapper.insurance-zip,
  .payment-page .payment-input-wrapper.city,
  .payment-page .payment-input-wrapper.province,
  .payment-page .payment-input-wrapper.country,
  .payment-page .payment-input-wrapper.first-name,
  .payment-page .payment-input-wrapper.last-name,
  .payment-page .payment-input-wrapper.middle-initial,
  .payment-page .payment-input-wrapper.address,
  .payment-page .payment-input-wrapper.card-number,
  .payment-page .payment-input-wrapper.cvv,
  .payment-page .payment-input-wrapper.expiry,
  .payment-page .payment-input-wrapper.amount,
  .payment-page .payment-input-wrapper.postal,
  .payment-page .insurance-details .passenger-details .insurance-passenger-last-name {
    width: 95%;
  }
  .payment-page button.payment-form-process {
    width: 90%;
  }
  .payment-page .payment-input-wrapper.process .payment-spinner {
    margin-right: 5px;
  }
  .payment-page .payment-section {
    padding: 15px;
  }
  .payment-page .building-section .building-details,
  .payment-page .building-section .building-photo {
    float: none;
    width: 100%;
    padding-left: 0;
  }
  .payment-page .payment-input-wrapper .cvv-explain-wrapper .cvv-explain-popup {
    left: initial;
    right: 0;
  }
  .payment-page .payment .wrapper-padding {
    max-width: 100%;
    padding: 0;
  }
}
@media print {
  .payment-page {
    /* Makes it so print view doesn't view these as unnecessary background images */
  }
  .payment-page body {
    background-color: #fff;
  }
  .payment-page .header-a, .payment-page .header-b, .payment-page .hdr-srch-overlay {
    display: none !important;
  }
  .payment-page .main-cont:before {
    content: "The Lodging Company";
  }
  .payment-page .footer-a, .payment-page .footer-b, .payment-page .footer-p, .payment-page a#back-to-top {
    display: none !important;
  }
  .payment-page .body-wrapper {
    padding: 0 !important;
  }
  .payment-page .payment-summary-section table.payment-table,
  .payment-page .payment-summary-section table.summary {
    margin-top: 0;
  }
  .payment-page .payment-tos {
    display: block;
    height: auto !important;
    overflow-y: visible;
    font-size: 11px;
    line-height: 1em;
  }
  .payment-page .payment-summary-section table.payment-nights td {
    padding: 0;
  }
  .payment-page .wrapper-padding {
    width: auto;
    max-width: none;
  }
  .payment-page .payment-section {
    margin-bottom: 0;
  }
  .payment-page .main-title .smalltext, .payment-page .payment-summary-show {
    display: none !important;
  }
  .payment-page .payment-summary-section .booking-calendar {
    display: block;
  }
  .payment-page div.total, .payment-page .payment-summary-section table td {
    padding: 0;
  }
  .payment-page .payment-summary-section table td {
    font-size: 11px;
  }
  .payment-page .payment-card.visa {
    content: url("/images/visa.png");
  }
  .payment-page .payment-card.mastercard {
    content: url("/images/mastercard.png");
  }
  .payment-page .payment-card.americanexpress {
    content: url("/images/amex.png");
  }
  .payment-page .payment-card.discover {
    content: url("/images/discover.png");
  }
  .payment-page .print-button {
    display: none;
  }
}

/* Global helper styles */
.privacy-policy .section .section-title {
  font-size: 1.354vw;
  font-weight: 800;
  text-transform: uppercase;
  color: #275382;
  margin-right: 20px;
  margin-bottom: 20px;
  padding-top: 20px;
  font-family: "Lato", sans-serif;
}
.privacy-policy .section .information .text {
  line-height: 30px;
  margin-bottom: 20px;
}
.privacy-policy .section .information .text .title {
  font-weight: 700;
  color: #275382;
  text-transform: uppercase;
}
.privacy-policy .section .information ul li {
  line-height: 30px;
}

/* Global helper styles */
.terms-and-conditions .section .section-title {
  font-size: 1.354vw;
  font-weight: 800;
  text-transform: uppercase;
  color: #275382;
  margin-right: 20px;
  margin-bottom: 20px;
  padding-top: 20px;
  font-family: "Lato", sans-serif;
}
.terms-and-conditions .section .information .text {
  line-height: 30px;
  margin-bottom: 20px;
}
.terms-and-conditions .section .information .text .title {
  font-weight: 700;
  color: #275382;
  text-transform: uppercase;
}

/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  --pswp-root-z-index: 100000;
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;
  --pswp-error-text-color: var(--pswp-icon-color);
}

/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/
.pswp {
  position: fixed;
  z-index: var(--pswp-root-z-index);
  display: none;
  touch-action: none;
  outline: 0;
  opacity: 0.003;
  contain: layout style size;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
  display: block;
}

.pswp,
.pswp__bg {
  transform: translateZ(0);
  will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
  background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
  overflow: hidden;
}

.pswp,
.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pswp {
  position: fixed;
}

.pswp__img,
.pswp__zoom-wrap {
  width: auto;
  height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
  cursor: -webkit-zoom-out;
  cursor: -moz-zoom-out;
  cursor: zoom-out;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.pswp__item {
  /* z-index for fade transition */
  z-index: 1;
  overflow: hidden;
}

.pswp__hidden {
  display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}

.pswp__content > * {
  pointer-events: auto;
}

/*

  PhotoSwipe UI

*/
/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}

.pswp__error-msg {
  margin: auto;
  font-size: 1em;
  line-height: 1;
  color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
  opacity: 0.005;
  will-change: opacity;
  transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
  z-index: 10; /* always overlap slide content */
  pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
  opacity: 1;
  pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
  position: relative;
  display: block;
  width: 50px;
  height: 60px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  cursor: pointer;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 0.85;
  -webkit-appearance: none;
  -webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
  outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
  background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  z-index: 10;
  /* allow events to pass through top bar itself */
  pointer-events: none !important;
}

.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}

/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}

/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}

.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}

/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin: 15px 0 0 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}

.pswp--zoomed-in .pswp__caption,
.pswp--zoomed-in .pswp__filmstrip,
.pswp--zoomed-in .pswp__scroll-helper {
  opacity: 0;
  pointer-events: none;
}

.pswp__caption {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 125px;
  text-align: center;
}

.pswp__caption .caption-container {
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  display: inline-block;
  padding: 7px 15px;
  border-radius: 5px;
  font-size: 13px;
  line-height: 16px;
}

.pswp__caption .caption-container.empty {
  display: none;
}

.pswp__caption .caption-container .desc {
  font-weight: bold;
}

.pswp__icn {
  top: 6px;
}

.pswp__counter {
  margin-top: 7px;
}

.pswp__scroll-helper .scroll-helper {
  display: block;
  width: 42px;
  position: absolute;
  right: 20px;
  bottom: 20px;
}
@media screen and (max-width: 1280px) {
  .pswp__scroll-helper .scroll-helper {
    bottom: 100px;
  }
}
.pswp__scroll-helper .scroll-helper img {
  width: 100%;
}
.pswp__scroll-helper .scroll-helper span {
  color: #fff;
  display: block;
  text-align: center;
  font-size: 11px;
}
@media screen and (max-width: 1100px) {
  .pswp__scroll-helper {
    display: none;
  }
}

.pswp__filmstrip {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 60px;
  width: 100%;
  margin-bottom: 25px;
  padding: 0 20px;
  box-sizing: border-box;
  text-align: center;
  /* background-color: rgba(0, 0, 0, 0.6); */
  opacity: 1;
  user-select: none;
}
.pswp__filmstrip .filmstrip-arrow,
.pswp__filmstrip .filmstrip-thumb {
  width: 60px;
  height: 60px;
  display: inline-block;
  cursor: pointer;
}
.pswp__filmstrip .filmstrip-arrow {
  background: url(default-skin/default-skin.png) 0 0 no-repeat;
  background-size: 264px 88px;
  opacity: 0.5;
}
.pswp__filmstrip .filmstrip-arrow:hover {
  opacity: 1;
}
.pswp__filmstrip .filmstrip-arrow.right {
  background-position: -80px -30px;
}
.pswp__filmstrip .filmstrip-arrow.left {
  background-position: -125px -30px;
}
.pswp__filmstrip .filmstrip-items {
  display: inline-block;
  height: 60px;
  max-width: 1000px;
  overflow: hidden;
  white-space: nowrap;
  padding: 0 20px;
  position: relative;
  -webkit-mask-image: linear-gradient(to right, transparent 0px, rgb(0, 0, 0) 20px, rgb(0, 0, 0) calc(100% - 20px), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0px, rgb(0, 0, 0) 20px, rgb(0, 0, 0) calc(100% - 20px), transparent 100%);
}
.pswp__filmstrip .filmstrip-items .item-strip {
  position: relative;
  left: 0;
  height: 60px;
}
.pswp__filmstrip .filmstrip-thumb {
  border: 1px solid rgba(255, 255, 255, 0.2);
  margin: 0 2px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.pswp__filmstrip .filmstrip-thumb.proto {
  display: none;
}
.pswp__filmstrip .filmstrip-thumb.current, .pswp__filmstrip .filmstrip-thumb:hover {
  border-color: rgb(255, 255, 255);
}

@media (max-width: 1199px) {
  .pswp__filmstrip .filmstrip-items {
    max-width: calc(100% - 130px);
  }
}
@media (max-width: 660px) {
  .pswp__filmstrip {
    padding: 0 5px;
  }
  .pswp__filmstrip .filmstrip-arrow {
    width: 30px;
  }
  .pswp__filmstrip .filmstrip-arrow.left {
    background-position: -138px -30px;
  }
  .pswp__filmstrip .filmstrip-arrow.right {
    background-position: -95px -30px;
  }
  .pswp__filmstrip .filmstrip-items {
    max-width: calc(100% - 70px);
  }
}
/* Global helper styles */
.swiper-nav.swiper-button-next, .swiper-nav.swiper-button-prev {
  background-color: #275382;
  box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.2);
  transition: opacity 0.3s linear;
}
.swiper-nav.swiper-button-next.round, .swiper-nav.swiper-button-prev.round {
  height: 40px;
  width: 40px;
  border-radius: 50%;
}
.swiper-nav.swiper-button-next.rect, .swiper-nav.swiper-button-prev.rect {
  width: 30px;
  height: 38px;
}
.swiper-nav.swiper-button-next.rect::after, .swiper-nav.swiper-button-prev.rect::after {
  font-size: 15px;
  vertical-align: middle;
}
@media screen and (max-width: 575px) {
  .swiper-nav.swiper-button-next.rect, .swiper-nav.swiper-button-prev.rect {
    width: 25px;
    height: 30px;
  }
}
.swiper-nav.swiper-button-next::after, .swiper-nav.swiper-button-prev::after {
  font-family: Fontawesome;
  font-size: 20px;
  color: #fff;
  transition: color 0.3s linear;
}
.swiper-nav.swiper-button-next:hover::after, .swiper-nav.swiper-button-prev:hover::after {
  color: rgba(255, 255, 255, 0.7);
}
.swiper-nav.swiper-button-next::after {
  content: "\f054";
}
.swiper-nav.swiper-button-prev::after {
  content: "\f053";
}

.swiper-gallery {
  position: relative;
  margin: auto;
  max-width: 100%;
  box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.2);
  background-color: #fff;
  border-radius: 15px;
}
@media screen and (max-width: 575px) {
  .swiper-gallery .swiper-gallery {
    width: 545px !important;
    height: 350px !important;
  }
}
.swiper-gallery.inner-gallery {
  overflow: hidden;
}
.swiper-gallery.inner-gallery .swiper,
.swiper-gallery.inner-gallery .swiper-wrapper,
.swiper-gallery.inner-gallery .swiper-slide,
.swiper-gallery.inner-gallery .swiper-slide img {
  height: 100%;
}
.swiper-gallery.inner-gallery .swiper-slide img {
  object-fit: cover;
}
@media screen and (max-width: 575px) {
  .swiper-gallery.inner-gallery {
    height: 400px !important;
  }
}
.swiper-gallery .gallery-maximize {
  width: 50px;
  height: 50px;
  background-color: #275382;
  color: #fff;
  overflow: hidden;
  border-radius: 50%;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: color 0.3s linear;
  cursor: pointer;
  box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.2);
  border: none;
}
@media screen and (max-width: 575px) {
  .swiper-gallery .gallery-maximize {
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
  }
}
.swiper-gallery .gallery-maximize:hover {
  color: rgba(255, 255, 255, 0.7);
}
.swiper-gallery .swiper-nav-container {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 60px;
  z-index: 1;
}
.swiper-gallery .swiper-nav-container .swiper-nav {
  position: static;
  padding: 7px 10px;
  margin: 0 3px;
  display: inline-block;
}
@media screen and (max-width: 575px) {
  .swiper-gallery .swiper-nav-container .swiper-nav {
    padding: 3px 7px;
  }
}
.swiper-gallery .gallery-counter {
  position: absolute;
  bottom: 60px;
  right: 20px;
  padding: 3px 7px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 5px;
  font-weight: bold;
  z-index: 1;
}
.swiper-gallery .gallery-counter .current {
  margin-left: 5px;
}
@media screen and (max-width: 575px) {
  .swiper-gallery .gallery-counter {
    font-size: 12px;
  }
}
.swiper-gallery .swiper-slide {
  position: relative;
}
.swiper-gallery .swiper-slide img {
  min-height: 450px;
  object-fit: cover;
}
.swiper-gallery:hover .photo-caption .copyright {
  height: 18px;
}
.swiper-gallery .photo-caption {
  width: 100%;
  height: 40px;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: top 500ms 200ms;
  line-height: 15px;
  text-align: right;
  z-index: 1;
}
.swiper-gallery .photo-caption > div {
  width: 100%;
  background: rgba(50, 50, 50, 0.5);
  padding: 0 10px;
  box-sizing: border-box;
}
.swiper-gallery .photo-caption .desc {
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  height: 22px;
  padding-top: 3px;
  padding-bottom: 3px;
  line-height: 18px;
}
.swiper-gallery .photo-caption .copyright {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  height: 0px;
  transition: height 200ms;
  overflow: hidden;
}

.swiper .swiper-wrapper {
  cursor: grab;
}
.swiper .swiper-wrapper:active {
  cursor: grabbing;
}

.swiper-gallery .swiper .swiper-wrapper {
  cursor: zoom-in;
}

.swiper-no-swiping .swiper-wrapper {
  cursor: auto;
}

@media print {
  .header-bar,
  .footer-section {
    display: none !important;
  }
  .content-padding {
    padding: 0 !important;
  }
}

/*# sourceMappingURL=style.css.map */
