html, body { overscroll-behavior-y: none; }

/* Static replacements for visual behavior previously supplied by the platform runtime. */
.inline-gallery.static-gallery {
  display: block !important;
  position: relative;
  overflow: hidden;
}
.inline-gallery.static-gallery > .widget-gallery-hover-item {
  display: none;
}
.inline-gallery.static-gallery > .widget-gallery-hover-item.is-active {
  display: block;
}
.static-gallery__previous,
.static-gallery__next {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: rgba(0, 0, 0, .45);
  font: 34px/42px Arial, sans-serif;
  cursor: pointer;
  transform: translateY(-50%);
}
.static-gallery__previous { left: 14px; }
.static-gallery__next { right: 14px; }
.static-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, .9);
}
.static-lightbox[hidden] { display: none; }
.static-lightbox__image { max-width: min(94vw, 1500px); max-height: 90vh; object-fit: contain; }
.static-lightbox button {
  position: fixed;
  z-index: 2;
  border: 0;
  color: #fff;
  background: transparent;
  cursor: pointer;
  font: 44px/1 Arial, sans-serif;
}
.static-lightbox__close { top: 24px; right: 30px; }
.static-lightbox__previous { left: 24px; top: 50%; }
.static-lightbox__next { right: 24px; top: 50%; }
body.static-lightbox-open { overflow: hidden; }
.parallax-bg.static-moving-parallax img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: none;
  transform: translate3d(-50%, -50%, 0);
  will-change: transform;
}
.static-checkout-upsell {
  position: relative;
  box-sizing: border-box;
  margin-top: 22px;
  padding: 36px 26px 22px;
  border: 1px dashed #666;
  color: #444;
}
.static-checkout-upsell__badge {
  position: absolute;
  top: -21px;
  left: 50%;
  min-width: 210px;
  padding: 10px 15px;
  color: #fff;
  background: #bf392f;
  font-size: 12px;
  letter-spacing: 1.4px;
  text-align: center;
  transform: translateX(-50%);
}
.static-checkout-upsell h4 {
  margin-bottom: 7px;
  font-size: 16px !important;
  font-weight: 700;
  text-decoration: none !important;
}
.static-checkout-upsell p {
  margin-bottom: 18px;
  font-size: 14px;
  line-height: 1.35;
}
.static-checkout-upsell__button {
  display: inline-block;
  padding: 11px 20px;
  border: 1px solid #bbb;
  border-radius: 24px;
  color: #444;
  background: #fff;
}
.booking-datepicker .static-datepicker {
  width: 100% !important;
}
.static-datepicker__header {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 78px;
  padding: 5px 58px 14px;
}
.static-datepicker__title {
  color: #444;
  text-align: center;
}
.static-datepicker__title .ui-datepicker-month {
  display: block;
  float: none;
  width: auto;
  font-size: 23px;
}
.static-datepicker__title .ui-datepicker-year {
  display: block;
  clear: both;
  margin-top: 4px;
  font-size: 12px;
  text-align: center;
  opacity: .7;
}
.static-datepicker__previous,
.static-datepicker__next {
  position: absolute;
  top: 7px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #222;
  background: rgba(0, 0, 0, .035);
  font: 28px/37px Arial, sans-serif;
  text-align: center;
}
.static-datepicker__previous { left: 0; }
.static-datepicker__next { right: 0; }
.booking-datepicker .static-datepicker table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.booking-datepicker .static-datepicker thead th {
  height: 44px;
  vertical-align: middle;
}
.booking-datepicker .static-datepicker tbody td {
  height: 55px;
  padding: 0;
  text-align: center;
  vertical-align: middle;
}
.booking-datepicker .static-datepicker tbody td > span,
.booking-datepicker .static-datepicker tbody td > a {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 50%;
}
.booking-datepicker .static-datepicker tbody td > span {
  color: #ccc;
}
