@charset "UTF-8";
.sr-only,
.visually-hidden {
  position: absolute;
  padding: 0;
  border-width: 0;
  margin: -0.0625rem;
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.hidden,
.is-hidden {
  display: none !important;
}

@media only screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
    cursor: pointer;
  }
}
/* == GRIDS ========================================== */
.fifty-fifty {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 2rem;
}

/* == SET THE BASE FONT FAMILY ====================== */
html {
  font-family: "Open Sans", "Helvetica Neue", helvetica, arial, sans-serif;
}

/* == HTML5 RESET ==================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  scrollbar-gutter: stable;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

img {
  height: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

a {
  color: inherit;
  text-decoration: inherit;
}

#root, #__next {
  isolation: isolate;
}

:root {
  --Mono-700: #374151;
}

body, h1, h2, h3, h4, h5, h6, p, ul, dl, ol, form, fieldset, input, label, table, tbody, tfoot, th, tr, td, textarea, select {
  padding: 0;
  border: 0;
  margin: 0;
}

.hide,
.hide2 {
  display: none !important;
}

.lightbox {
  display: none;
  position: fixed;
  top: 0%;
  left: 0%;
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  z-index: -1;
}

.load-more {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  flex-direction: column;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  color: var(--neutral-500);
  text-align: center;
  margin: 2rem auto 3rem;
  width: 100%;
  max-width: 15rem;
}
.load-more img {
  object-fit: cover;
  width: 3rem;
  height: 3rem;
}

@media only screen and (min-width: 768px) {
  body {
    background-color: var(--white);
  }
  .fifty-fifty {
    grid-template-columns: 1fr 1fr;
  }
}
:root {
  --shadow-light: 0 0 0 0.0625rem var(--blue-100);
  --shadow-heavy: inset 0 0 0 0.1875rem var(--blue-100);
  --shadow-heavy-bottom: inset .0625rem 0 0 var(--blue-100), inset -.0625rem 0 0 var(--blue-100), inset 0 .0625rem 0 var(--blue-100), inset 0 -.1875rem 0 var(--blue-100);
  --box-light:0.0625rem solid var(--blue-100);
  --box-heavy:0.1875rem solid var(--blue-100);
  --rounded-2xs: 0.1875rem;
  --rounded-xs: 0.25rem;
  --rounded-sm: 0.5rem;
  --rounded-md: 0.75rem;
  --rounded-lg: 1rem;
  --rounded-xl: 1.25rem;
  --rounded-2xl: 1.5rem;
}

button {
  border: none;
  cursor: pointer;
}

.bm_btn_2020,
.bkme_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
  padding: 0 0.8125rem 0 1rem;
  border-radius: 1.1rem;
  height: 2.2rem;
  cursor: pointer;
}
.bm_btn_2020.btn_large,
.bkme_btn.btn_large {
  font-size: var(--text-size-base);
  border-radius: 1.125rem;
  height: 2.25rem;
}
.bm_btn_2020.space-between,
.bkme_btn.space-between {
  justify-content: space-between;
}
.bm_btn_2020 .material-symbols-outlined,
.bkme_btn .material-symbols-outlined {
  font-size: var(--text-size-lg);
}
.bm_btn_2020.btn_green,
.bkme_btn.btn_green {
  color: var(--black);
  background-color: var(--green-500);
}
.bm_btn_2020.btn_yellow,
.bkme_btn.btn_yellow {
  color: var(--black);
  background-color: #fde047;
  box-shadow: inset 0 0 0 0.0625rem #ca8a04;
}
.bm_btn_2020.btn_red,
.bkme_btn.btn_red {
  color: var(--black);
  background-color: #fecaca;
  box-shadow: inset 0 0 0 0.0625rem #dc2626;
}
.bm_btn_2020.btn_blue,
.bkme_btn.btn_blue {
  color: var(--black);
  background-color: #e0f2fe;
  box-shadow: inset 0 0 0 0.0625rem #0369a1;
}
.bm_btn_2020.creditcardpay,
.bkme_btn.creditcardpay {
  margin: 2rem 0 2rem auto;
  width: 10.625rem;
}
.bm_btn_2020.btn_secondary,
.bkme_btn.btn_secondary {
  color: var(--black);
  background-color: var(--cool-25);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}

.btn_checkout {
  display: grid;
  grid-template-columns: max-content auto;
  column-gap: 0.3125rem;
  align-items: center;
  font-family: helvetica, "Open Sans", sans-serif;
  font-size: var(--text-size-15);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  border-radius: 0.25rem;
  margin: 0 auto;
  width: 15rem;
  height: 2.5rem;
  box-sizing: border-box;
  cursor: pointer;
}
.btn_checkout img {
  margin-right: 0.3125rem;
}
.btn_checkout.btn_bkme {
  background: var(--warm-500);
  padding: 0 0.3125rem;
}
.btn_checkout.btn_bkme img {
  height: 2rem;
}
.btn_checkout.btn_fb {
  color: var(--white);
  background: #3B5998;
  padding: 0 1rem;
}
.btn_checkout.btn_fb img {
  height: 1.5rem;
}

/* Base Button
   ========================================================================== */
.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.25rem;
  font-size: var(--text-size-sm);
  font-family: inherit;
  font-weight: var(--text-weight-normal);
  line-height: 1;
  color: var(--cool-500);
  padding: 0 2rem;
  border: none;
  border-radius: 1rem;
  height: 2rem;
  width: max-content;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
  appearance: none;
  --webkit-appearance:none;
  box-sizing: border-box;
  transition: all 0.2s ease;
}
.btn label {
  font-size: var(--text-size-sm);
  margin-bottom: 0;
  cursor: pointer;
}
.btn i, .btn span {
  font-size: var(--text-size-base);
}
.btn {
  /* Small Button
    ========================================================================== */
}
.btn.btn_small {
  font-size: var(--text-size-xs);
  padding: 0 1rem;
}
.btn.btn_small i, .btn.btn_small span {
  font-size: var(--text-size-lg);
}
.btn {
  /* Large Button
    ========================================================================== */
}
.btn.btn_large {
  border-radius: 1.125rem;
  width: 100%;
  max-width: 15rem;
  height: 2.25rem;
}
.btn.btn_large label {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-medium);
  margin-bottom: 0;
}
.btn.btn_large i, .btn.btn_large span {
  font-size: var(--text-size-xl);
}
.btn.btn_large.btn_hide_label, .btn.btn_large.btn_responsive_label {
  width: 2.25rem;
}
.btn {
  /* X-large Button
    ========================================================================== */
}
.btn.btn_xlarge {
  padding: 0 2rem;
  border-radius: 2rem;
  height: 2.5rem;
  min-width: 8.75rem;
}
.btn.btn_xlarge label {
  font-size: var(--text-size-base);
  font-weight: var(--text-weight-semibold);
  margin-bottom: 0;
}
.btn.btn_xlarge i, .btn.btn_xlarge span {
  font-size: var(--text-size-xl);
}
.btn.btn_xlarge.btn_hide_label, .btn.btn_xlarge.btn_responsive_label {
  width: 2.25rem;
}
.btn {
  /* Full Button
    ========================================================================== */
}
.btn.btn_full {
  padding: 0 2rem;
  border-radius: 2rem;
  height: 2.5rem;
  min-width: 8.75rem;
  width: 100%;
}
.btn.btn_full label {
  font-size: var(--text-size-sm);
  margin-bottom: 0;
}
.btn.btn_full i, .btn.btn_full span {
  font-size: var(--text-size-xl);
}
.btn.btn_full.btn_hide_label, .btn.btn_full.btn_responsive_label {
  width: 2.25rem;
}
.btn {
  /* Square Button
     ========================================================================== */
}
.btn.btn_square {
  border-radius: 0.3125rem !important;
}
.btn {
  /* Flat Button
     ========================================================================== */
}
.btn.btn_flat {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 transparent, -0.25rem -0.25rem 0.5rem 0 transparent, inset 0 0 0 0.0625rem var(--cool-200);
}
.btn.btn_flat:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-400);
  opacity: 1;
}
.btn {
  /* Special Button Colors
     ========================================================================== */
}
.btn.btn_primary {
  color: var(--white);
  background-color: var(--cool-500);
}
.btn.btn_secondary {
  color: var(--cool-600);
  background-color: var(--white);
}
.btn.btn_booknow {
  color: var(--white);
  background-color: var(--green-600);
  box-shadow: none;
}
.btn.btn_paybycard {
  color: var(--white);
  background-color: var(--green-600);
  box-shadow: none;
}
.btn.btn_next_prev {
  color: var(--white);
  background-color: var(--warm-500);
  box-shadow: none;
}
.btn.btn_white {
  color: var(--cool-600);
  background-color: var(--white);
}
.btn.btn_warning {
  color: var(--black);
  background-color: var(--warm-200);
  box-shadow: none;
}
.btn.btn_alert {
  color: var(--white);
  background-color: var(--warm-600);
  box-shadow: none;
}
.btn.btn_primary:hover, .btn.btn_booknow:hover, .btn.btn_next_prev:hover {
  box-shadow: 0 0.25rem 0.3125rem 0 rgba(0, 0, 0, 0.14), 0 0.0625rem 0.625rem 0 rgba(0, 0, 0, 0.12), 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.2);
}
.btn.btn_primary i, .btn.btn_booknow i, .btn.btn_next_prev i {
  color: var(--white);
}
.btn.btn_secondary:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.125rem var(--cool-600);
}
.btn.btn_akl_unlimited {
  color: var(--white);
  background-color: var(--akl-unlimited-teal);
}
.btn.btn_akl_unlimited:hover {
  background-color: var(--akl-unlimited-navy);
}
.btn {
  /* Icon Button
     ========================================================================== */
}
.btn.btn_icon_left {
  justify-content: center;
  padding-right: 2.5rem;
}
.btn.btn_icon_left i, .btn.btn_icon_left span {
  padding-right: 0.3125rem;
}
.btn.btn_icon_right {
  justify-content: space-between;
  column-gap: 1rem;
  padding: 0 0.8rem 0 1rem;
}
.btn {
  /* Hide Button Labels
     ========================================================================== */
}
.btn.btn_hide_label, .btn.btn_responsive_label {
  justify-content: center;
  min-width: auto;
  padding: 0;
  width: 2rem;
}
.btn.btn_hide_label i, .btn.btn_hide_label span, .btn.btn_responsive_label i, .btn.btn_responsive_label span {
  padding: 0;
}
.btn.btn_hide_label label, .btn.btn_responsive_label label {
  display: none;
}
.btn {
  /* Disabled Button
     ========================================================================== */
}
.btn.disabled, .btn.btn_disabled, .btn[disabled=disabled] {
  color: var(--neutral-400) !important;
  background-color: var(--cool-25) !important;
  box-shadow: inset 0 0 0 0.1rem var(--neutral-200) !important;
  cursor: initial;
}
.btn.disabled i, .btn.disabled span, .btn.btn_disabled i, .btn.btn_disabled span, .btn[disabled=disabled] i, .btn[disabled=disabled] span {
  color: var(--neutral-300) !important;
}

/* Checkout Payment Buttons
   ========================================================================== */
.btn .btn_large .paymentmethod {
  min-width: 12.5rem;
}

/* =========================================================================
   BUTTON MIGRATION STRATEGY

   Phase 1: Add this file alongside your existing button.css
   Phase 2: Update HTML gradually using the mapping guide below
   Phase 3: Remove old classes after all HTML is updated
   ========================================================================= */
/* =========================================================================
	NEW BUTTON SYSTEM (Add this now)
   ========================================================================= */
/* Base Button - New System */
.btn-v2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0 1.5rem;
  height: 2rem;
  border: none;
  border-radius: 0.5rem;
  font-family: inherit;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-medium);
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  background: var(--white);
  color: var(--cool-600);
}

.btn-v2:hover {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
  transform: translateY(-1px);
}

.btn-v2:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

/* Size Modifiers */
.btn-v2--small {
  height: 1.75rem;
  padding: 0 1rem;
  font-size: var(--text-size-xs);
}

.btn-v2--large {
  height: 2.5rem;
  padding: 0 2rem;
  font-size: var(--text-size-base);
}

.btn-v2--full {
  width: 100%;
}

/* Color Modifiers */
.btn-v2--primary {
  background: var(--cool-500);
  color: white;
}

.btn-v2--primary:hover {
  background: var(--cool-600);
}

.btn-v2--secondary {
  background: white;
  color: var(--cool-600);
  border: 1px solid var(--cool-200);
}

.btn-v2--secondary:hover {
  border-color: var(--cool-300);
  background: var(--cool-50);
}

.btn-v2--danger {
  background: var(--warm-600);
  color: white;
}

.btn-v2--danger:hover {
  background: var(--warm-700);
}

.btn-v2--ghost {
  background: transparent;
  color: var(--cool-500);
  box-shadow: none;
}

.btn-v2--ghost:hover {
  background: var(--cool-50);
  box-shadow: none;
  transform: none;
}

/* State Modifiers */
.btn-v2:disabled,
.btn-v2--disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* Special Modifiers */
.btn-v2--icon-only {
  width: 2.5rem;
  padding: 0;
  gap: 0;
}

.btn-v2--rounded {
  border-radius: 2rem;
}

/* Icon handling - just use the gap property! */
.btn-v2 .material-symbols-outlined {
  font-size: 1.25rem;
}

/* =========================================================================
   OPTIONAL: QUICK MIGRATION HELPER

   ONLY uncomment this AFTER you're ready to force all old buttons
   to use the simplified styles. This will break your current styles!
   ========================================================================= */
/* 
.btn.btn_small,
.btn.btn--small {
    height: 1.75rem !important;
    padding: 0 1rem !important;
    font-size: var(--text-size-xs) !important;
}

.btn.btn_large,
.btn.btn--large,
.btn.btn_xlarge,
.btn.btn--xlarge {
    height: 2.5rem !important;
    padding: 0 2rem !important;
    border-radius: 1.125rem !important;
}

.btn.btn_full,
.btn.btn--full {
    width: 100% !important;
}

.btn.btn_primary,
.btn.btn--primary,
.btn.btn_booknow,
.btn.btn_paybycard {
    background: var(--cool-500) !important;
    color: white !important;
}

.btn.btn_secondary,
.btn.btn--secondary,
.btn.btn_white {
    background: white !important;
    color: var(--cool-600) !important;
    border: 1px solid var(--cool-200) !important;
}

.btn.btn_alert,
.btn.btn--danger,
.btn.btn_next_prev {
    background: var(--warm-600) !important;
    color: white !important;
}

.btn.btn_warning,
.btn.btn--warning {
    background: var(--warm-200) !important;
    color: var(--black) !important;
}

.btn.btn_icon_left,
.btn.btn--icon-left,
.btn.btn_icon_right,
.btn.btn--icon-right {
    gap: 0.5rem !important;
}

.btn.btn_hide_label,
.btn.btn_responsive_label,
.btn.btn--icon-only {
    width: 2.5rem !important;
    padding: 0 !important;
    min-width: auto !important;
}

.btn.btn_hide_label label,
.btn.btn_responsive_label label,
.btn.btn--icon-only span:not(.material-symbols-outlined) {
    display: none !important;
}

.btn.btn_square,
.btn.btn--square {
    border-radius: 0.3125rem !important;
}

.btn.btn_flat,
.btn.btn--flat {
    box-shadow: none !important;
}

DO NOT UNCOMMENT until you're ready for a breaking change!
*/
/* =========================================================================
   MIGRATION GUIDE
   ========================================================================= */
/*
PHASE 1: IMMEDIATE ACTIONS
--------------------------
1. Add this entire file to your project
2. Keep your existing button.css file
3. Both systems will work side-by-side

PHASE 2: GRADUAL HTML UPDATES
-----------------------------
Start updating HTML files one at a time:

OLD:
<button class="btn btn_primary btn_large btn_icon_left">
    <i class="material-symbols-outlined">check</i>
    <label>Book Now</label>
</button>

NEW:
<button class="btn-v2 btn-v2--primary btn-v2--large">
    <span class="material-symbols-outlined">check</span>
    Book Now
</button>

MAPPING GUIDE:
--------------
btn_small           → btn-v2--small
btn_large           → btn-v2--large
btn_xlarge          → btn-v2--large (consolidated)
btn_full            → btn-v2--full

btn_primary         → btn-v2--primary
btn_secondary       → btn-v2--secondary
btn_white           → btn-v2--secondary (consolidated)
btn_booknow         → btn-v2--primary (consolidated)
btn_paybycard       → btn-v2--primary (consolidated)
btn_next_prev       → btn-v2--primary or btn-v2--secondary (context-dependent)
btn_warning         → btn-v2--ghost or remove
btn_alert           → btn-v2--danger
btn_akl_unlimited   → Add custom class if truly needed

btn_icon_left       → (not needed, flexbox handles it)
btn_icon_right      → (not needed, flexbox handles it)
btn_hide_label      → btn-v2--icon-only
btn_responsive_label→ btn-v2--icon-only

btn_square          → Remove (default is already rectangular)
btn_flat            → btn-v2--ghost

btn_disabled        → :disabled attribute or btn-v2--disabled

PHASE 3: CLEANUP (After all HTML is updated)
--------------------------------------------
1. Search project for "btn_" and "btn--" (old system)
2. When no results found, remove old button.css
3. Rename all "btn-v2" to "btn" globally
4. Celebrate! 🎉

TESTING CHECKLIST:
-----------------
□ Primary CTAs (Book Now, Pay, Submit)
□ Secondary actions (Cancel, Back)
□ Icon-only buttons (Close, Menu)
□ Disabled states
□ Form buttons
□ Modal buttons
□ Navigation buttons
□ Mobile responsive buttons

ROLLBACK PLAN:
-------------
If issues arise, simply remove the overrides in the
MIGRATION MAPPING section and both systems continue working.

*/
:root {
  --black: #000000;
  --white: #ffffff;
  /* == OPACITIES ============================================ */
  --black-rgb: 0,0,0; /* #000000 */
  --white-rgb: 255,255,255; /* #FFFFFF */
  --red-rgb: 255,51,51; /* #CA1800 */
  --alpha9: 0.9;
  --alpha8: 0.8;
  --alpha7: 0.7;
  --alpha6: 0.6;
  --alpha5: 0.5;
  --alpha4: 0.4;
  --alpha3: 0.3;
  --alpha24: 0.24;
  --alpha2: 0.2;
  --alpha12: 0.12;
  --alpha1: 0.1;
  --alpha0: 0;
  /* == WARM ========================================== */
  --warm-700: rgb(138, 40, 23); /* #8A2817 */
  --warm-600: rgb(184, 53, 32); /* #B83520 */
  --warm-500: rgb(230, 66, 39); /* #E64227 */
  --warm-400: rgb(254, 102, 0); /* #FE6600 */
  --warm-300: rgb(254, 153, 0); /* #FE9900 */
  --warm-200: rgb(251, 202, 44); /* #FBCA2C */
  --warm-100: rgb(246, 227, 167); /* F6E3A7 */ /* #FEF3C7 */
  --warm-50: rgb(250, 249, 240); /* #FAF9F0 */
  /* == NEUTRAL ======================================= */
  --black: rgb( 0, 0 , 0); /* #000000 */
  --neutral-700: rgb( 16, 16, 16); /* #101010 --bkme-neutral-dark */
  --neutral-600: rgb( 29, 34, 43); /* #1D222B */
  --neutral-550: rgb( 33, 31, 49); /* #211f31 --bkme-secondary */
  --neutral-500: rgb( 68, 81, 102); /* #445166 */
  --neutral-400: rgb( 97, 115, 145); /* #617391 */
  --neutral-300: rgb(144, 157, 178); /* #909DB2 --bkme-neutral */
  --neutral-200: rgb(223, 227, 232); /* #DFE3E9 */
  --neutral-100: rgb(244, 245, 247); /* #F4F5F7 */
  --neutral-50: rgb(251, 252, 255); /* #FBFCFF --bkme-neutral-light */
  --white: rgb(255, 255, 255); /* #FFFFFF */
  /* == COOL ========================================== */
  --cool-900: rgb( 4, 10, 32); /* #040A20 */
  --cool-800: rgb( 6, 15, 48); /* #060F30 */
  --cool-700: rgb( 8, 20, 64); /* #08143F */
  --cool-600: rgb( 13, 58, 105); /* #0D3A69 */
  --cool-500: rgb( 19, 94, 167); /* #135EA7 --bkme-action */
  --cool-400: rgb( 23, 118, 209); /* #1776D1 */
  --cool-300: rgb(115, 173, 227); /* #73ADE3 */
  --cool-200: rgb(209, 228, 246); /* #D1E4F6 */
  --cool-100: rgb(235, 241, 248); /* #EBF1F8 */
  --cool-50: rgb(245, 250, 254); /* #F5FAFE */
  --cool-25: rgb(251, 251, 253); /* #FBFBFD */
  /* == GOLD ========================================== */
  --gold-700: rgb(113, 63, 18); /* ##854d0e */
  --gold-500: rgb(146, 111, 0); /* #926F00 */
  --gold-300: rgb(209, 159, 0); /* #D19F00 */
  --gold-100: rgb(226, 206, 153); /* #E2CE99 */
  --gold-50: rgb(250, 245, 230); /* #FAF5E6 */
  /* == GOLD ========================================== */
  --purple-500: rgb( 73, 66, 134); /* #494286 */
  --purple-300: rgb(122, 119, 182); /* #7A77B6 */
  --purple-100: rgb(199, 200, 229); /* #C7C8E5 */
  --purple-50: rgb(237, 240, 252); /* #EDF0FC */
  /* == AUCKLAND UNLIMITED ============================ */
  --akl-unlimited-coral: rgb(253,110,96);
  --akl-unlimited-lime: rgb(227,239,54);
  --akl-unlimited-navy: rgb(27,50,79);
  --akl-unlimited-plum: rgb(169,54,97);
  --akl-unlimited-teal: rgb(0,166,167);
  /* == AIR NEW ZEALAND =============================== */
  --airnz-brand-major: rgb(0,131,146); /* Air NZ Teal */
  --airnz-brand-minor: rgb(152,29,151); /* Air NZ Purple */
  --airnz-brand-alt: rgb(76,214,230); /* Air NZ Bright Blue */
  --airnz-black: rgb(16,16,16); /* Air NZ Black */
  /* https://tailwindcolor.com/ */
  /* Greys */
  --slate-50: #f8fafc;
  --slate-100: #f1f5f9;
  --slate-200: #e2e8f0;
  --slate-300: #cbd5e1;
  --slate-400: #94a3b8;
  --slate-500: #64748b;
  --slate-600: #475569;
  --slate-700: #334155;
  --slate-800: #1e293b;
  --slate-900: #0f172a;
  --slate-950: #020617;
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;
  --gray-950: #030712;
  --zinc-50: #fafafa;
  --zinc-100: #f4f4f5;
  --zinc-200: #e4e4e7;
  --zinc-300: #d4d4d8;
  --zinc-400: #a1a1aa;
  --zinc-500: #71717a;
  --zinc-600: #52525b;
  --zinc-700: #3f3f46;
  --zinc-800: #27272a;
  --zinc-900: #18181b;
  --zinc-950: #09090b;
  --neutral-50: #fafafa;
  --neutral-100: #f5f5f5;
  --neutral-200: #e5e5e5;
  --neutral-300: #d4d4d4;
  --neutral-400: #a3a3a3;
  --neutral-500: #737373;
  --neutral-600: #525252;
  --neutral-700: #404040;
  --neutral-800: #262626;
  --neutral-900: #171717;
  --neutral-950: #0a0a0a;
  --stone-50: #fafaf9;
  --stone-100: #f5f5f4;
  --stone-200: #e7e5e4;
  --stone-300: #d6d3d1;
  --stone-400: #a8a29e;
  --stone-500: #78716c;
  --stone-600: #57534e;
  --stone-700: #44403c;
  --stone-800: #292524;
  --stone-900: #1c1917;
  --stone-950: #0c0a09;
  /* Colours */
  --red-50: #fef2f2;
  --red-100: #fee2e2;
  --red-200: #fecaca;
  --red-300: #fca5a5;
  --red-400: #f87171;
  --red-500: #ef4444;
  --red-600: #dc2626;
  --red-700: #b91c1c;
  --red-800: #991b1b;
  --red-900: #7f1d1d;
  --red-950: #450a0a;
  --orange-50: #fff7ed;
  --orange-100: #ffedd5;
  --orange-200: #fed7aa;
  --orange-300: #fdba74;
  --orange-400: #fb923c;
  --orange-500: #f97316;
  --orange-600: #ea580c;
  --orange-700: #c2410c;
  --orange-800: #9a3412;
  --orange-900: #7c2d12;
  --orange-950: #431407;
  --amber-50: #fffbeb;
  --amber-100: #fef3c7;
  --amber-200: #fde68a;
  --amber-300: #fcd34d;
  --amber-400: #fbbf24;
  --amber-500: #f59e0b;
  --amber-600: #d97706;
  --amber-700: #b45309;
  --amber-800: #92400e;
  --amber-900: #78350f;
  --amber-950: #451a03;
  --yellow-50: #fefce8;
  --yellow-100: #fef9c3;
  --yellow-200: #fef08a;
  --yellow-300: #fde047;
  --yellow-400: #facc15;
  --yellow-500: #eab308;
  --yellow-600: #ca8a04;
  --yellow-700: #a16207;
  --yellow-800: #854d0e;
  --yellow-900: #713f12;
  --yellow-950: #422006;
  --lime-50: #f7fee7;
  --lime-100: #ecfccb;
  --lime-200: #d9f99d;
  --lime-300: #bef264;
  --lime-400: #a3e635;
  --lime-500: #84cc16;
  --lime-600: #65a30d;
  --lime-700: #4d7c0f;
  --lime-800: #3f6212;
  --lime-900: #365314;
  --lime-950: #1a2e05;
  --green-50: #f0fdf4;
  --green-100: #dcfce7;
  --green-200: #bbf7d0;
  --green-300: #86efac;
  --green-400: #4ade80;
  --green-500: #22c55e;
  --green-600: #16a34a;
  --green-700: #15803d;
  --green-800: #166534;
  --green-900: #14532d;
  --green-950: #052e16;
  --emerald-50: #ecfdf5;
  --emerald-100: #d1fae5;
  --emerald-200: #a7f3d0;
  --emerald-300: #6ee7b7;
  --emerald-400: #34d399;
  --emerald-500: #10b981;
  --emerald-600: #059669;
  --emerald-700: #047857;
  --emerald-800: #065f46;
  --emerald-900: #064e3b;
  --emerald-950: #022c22;
  --teal-50: #f0fdfa;
  --teal-100: #ccfbf1;
  --teal-200: #99f6e4;
  --teal-300: #5eead4;
  --teal-400: #2dd4bf;
  --teal-500: #14b8a6;
  --teal-600: #0d9488;
  --teal-700: #0f766e;
  --teal-800: #115e59;
  --teal-900: #134e4a;
  --teal-950: #042f2e;
  --cyan-50: #ecfeff;
  --cyan-100: #cffafe;
  --cyan-200: #a5f3fc;
  --cyan-300: #67e8f9;
  --cyan-400: #22d3ee;
  --cyan-500: #06b6d4;
  --cyan-600: #0891b2;
  --cyan-700: #0e7490;
  --cyan-800: #155e75;
  --cyan-900: #164e63;
  --cyan-950: #083344;
  --sky-50: #f0f9ff;
  --sky-100: #e0f2fe;
  --sky-200: #bae6fd;
  --sky-300: #7dd3fc;
  --sky-400: #38bdf8;
  --sky-500: #0ea5e9;
  --sky-600: #0284c7;
  --sky-700: #0369a1;
  --sky-800: #075985;
  --sky-900: #0c4a6e;
  --sky-950: #082f49;
  --blue-50: #eff6ff;
  --blue-100: #dbeafe;
  --blue-200: #bfdbfe;
  --blue-300: #93c5fd;
  --blue-400: #60a5fa;
  --blue-500: #3b82f6;
  --blue-600: #2563eb;
  --blue-700: #1d4ed8;
  --blue-800: #1e40af;
  --blue-900: #1e3a8a;
  --blue-950: #172554;
  --indigo-50: #eef2ff;
  --indigo-100: #e0e7ff;
  --indigo-200: #c7d2fe;
  --indigo-300: #a5b4fc;
  --indigo-400: #818cf8;
  --indigo-500: #6366f1;
  --indigo-600: #4f46e5;
  --indigo-700: #4338ca;
  --indigo-800: #3730a3;
  --indigo-900: #312e81;
  --indigo-950: #1e1b4b;
  --violet-50: #f5f3ff;
  --violet-100: #ede9fe;
  --violet-200: #ddd6fe;
  --violet-300: #c4b5fd;
  --violet-400: #a78bfa;
  --violet-500: #8b5cf6;
  --violet-600: #7c3aed;
  --violet-700: #6d28d9;
  --violet-800: #5b21b6;
  --violet-900: #4c1d95;
  --violet-950: #2e1065;
  --purple-50: #faf5ff;
  --purple-100: #f3e8ff;
  --purple-200: #e9d5ff;
  --purple-300: #d8b4fe;
  --purple-400: #c084fc;
  --purple-500: #a855f7;
  --purple-600: #9333ea;
  --purple-700: #7e22ce;
  --purple-800: #6b21a8;
  --purple-900: #581c87;
  --purple-950: #3b0764;
  --fuchsia-50: #fdf4ff;
  --fuchsia-100: #fae8ff;
  --fuchsia-200: #f5d0fe;
  --fuchsia-300: #f0abfc;
  --fuchsia-400: #e879f9;
  --fuchsia-500: #d946ef;
  --fuchsia-600: #c026d3;
  --fuchsia-700: #a21caf;
  --fuchsia-800: #86198f;
  --fuchsia-900: #701a75;
  --fuchsia-950: #4a044e;
  --pink-50: #fdf2f8;
  --pink-100: #fce7f3;
  --pink-200: #fbcfe8;
  --pink-300: #f9a8d4;
  --pink-400: #f472b6;
  --pink-500: #ec4899;
  --pink-600: #db2777;
  --pink-700: #be185d;
  --pink-800: #9d174d;
  --pink-900: #831843;
  --pink-950: #500724;
  --rose-50: #fff1f2;
  --rose-100: #ffe4e6;
  --rose-200: #fecdd3;
  --rose-300: #fda4af;
  --rose-400: #fb7185;
  --rose-500: #f43f5e;
  --rose-600: #e11d48;
  --rose-700: #be123c;
  --rose-800: #9f1239;
  --rose-900: #881337;
  --rose-950: #4c0519;
  --deal-1: var(--yellow-500);
  --deal-2: var(--orange-600);
  --deal-3: var(--red-600);
}

body {
  color: var(--slate-900);
}

:root {
  /* == FONT SIZES ==================================== */
  --text-size-4xs: 0.5rem; /*   8PX */
  --text-size-3xs: 0.5625rem; /*   9PX */
  --text-size-2xs: 0.625rem; /*  10PX */
  --text-size-11: 0.6875rem; /*  11PX */
  --text-size-xs: 0.75rem; /*  12PX */
  --text-size-13: 0.8125rem; /*  13PX */
  --text-size-sm: 0.875rem; /*  14PX */
  --text-size-15: 0.9375rem; /*  15PX */
  --text-size-base: 1rem; /*  16PX */
  --text-size-lg: 1.125rem; /*  18PX */
  --text-size-xl: 1.25rem; /*  20PX */
  --text-size-2xl: 1.5rem; /*  24PX */
  --text-size-3xl: 1.875rem; /*  30PX */
  --text-size-4xl: 2.25rem; /*  36PX */
  --text-size-5xl: 3rem; /*  48PX */
  --text-size-6xl: 3.75rem; /*  60PX */
  --text-size-7xl: 4.5rem; /*  72PX */
  --text-size-8xl: 6rem; /*  96PX */
  --text-size-9xl: 8rem; /* 128PX */
  /* == LINE HEIGHTS ================================== */
  --text-leading-4xs: 0.675rem; /*  10PX */
  --text-leading-3xs: 0.75rem; /*  12PX */
  --text-leading-2xs: 0.875rem; /*  14PX */
  --text-leading-xs: 1rem; /*  16PX */
  --text-leading-13: 1.125rem; /*  18PX */
  --text-leading-sm: 1.25rem; /*  20PX */
  --text-leading-15: 1.375rem; /*  22PX */
  --text-leading-base: 1.5rem; /*  24PX */
  --text-leading-lg: 1.75rem; /*  28PX */
  --text-leading-xl: 1.75rem; /*  28PX */
  --text-leading-2xl: 2rem; /*  32PX */
  --text-leading-3xl: 2.25rem; /*  36PX */
  --text-leading-4xl: 2.5rem; /*  40PX */
  --text-leading-5xl: 1;
  --text-leading-6xl: 1;
  --text-leading-7xl: 1;
  --text-leading-8xl: 1;
  --text-leading-9xl: 1;
  /* == FONT WEIGHTS ================================== */
  --text-weight-thin: 100;
  --text-weight-extralight: 200;
  --text-weight-light: 300;
  --text-weight-normal: 400;
  --text-weight-medium: 500;
  --text-weight-semibold: 600;
  --text-weight-bold: 700;
  --text-weight-extrabold: 800;
  --text-weight-black: 900;
}

.formRow {
  display: grid;
  grid-template-columns: auto;
  align-items: flex-start;
  text-align: left;
  width: 100%;
}
.formRow.halfWidth {
  grid-template-columns: 100%;
  width: 100%;
}
.formRow .listChip-wrapper:has(.fauxCheck.chip) {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  grid-column-gap: 0.1875rem;
  grid-row-gap: 0.375rem;
  margin-top: 0.3125rem;
}

input:not([type=range]),
select:not([type=range]),
textarea:not([type=range]) {
  position: relative;
  font-family: inherit;
  font-size: var(--text-size-13);
  color: var(--black);
  background-color: var(--white);
  padding: 0.8125rem 1rem 0;
  border: none;
  border-radius: 0.5rem;
  margin: 0;
  outline: none;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), 0 0 0 0 transparent;
  box-sizing: border-box;
  transition: border 0.2s ease-out, box-shadow 0.2s ease-out;
  width: 100%;
  min-height: 3rem;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}
input.error, input.valError,
select.error,
select.valError,
textarea.error,
textarea.valError {
  background-color: #FDF2F4;
  box-shadow: inset 0 0 0 0.0625rem var(--warm-600);
}
input:focus, input:hover,
select:focus,
select:hover,
textarea:focus,
textarea:hover {
  border: none;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500), 0 0 0 0.125rem var(--cool-500);
}
input:focus.valError, input:hover.valError,
select:focus.valError,
select:hover.valError,
textarea:focus.valError,
textarea:hover.valError {
  box-shadow: 0 0 0 0.125rem var(--cool-400), inset 0 0 0 0.125rem var(--white), inset 0 0 0 0.1875rem var(--warm-600);
}
input[disabled=disabled],
select[disabled=disabled],
textarea[disabled=disabled] {
  background: var(--cool-50);
}
input[disabled=disabled]:focus, input[disabled=disabled]:hover,
select[disabled=disabled]:focus,
select[disabled=disabled]:hover,
textarea[disabled=disabled]:focus,
textarea[disabled=disabled]:hover {
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
input[type=checkbox],
select[type=checkbox],
textarea[type=checkbox] {
  box-shadow: none;
}
input:placeholder-shown ~ label,
select:placeholder-shown ~ label,
textarea:placeholder-shown ~ label {
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: block;
  font-size: var(--text-size-13);
  text-align: left;
  margin-bottom: 0.3125rem;
  transition-timing-function: ease-in;
  transition-duration: 0.125s;
  pointer-events: none;
  width: calc(100% - 1rem);
}
input:placeholder-shown:focus ~ label,
select:placeholder-shown:focus ~ label,
textarea:placeholder-shown:focus ~ label {
  position: absolute;
  top: 0.4375rem;
  left: 1rem;
  font-size: var(--text-size-3xs);
  width: calc(100% - 1rem);
}
input:placeholder-shown.valError ~ label,
select:placeholder-shown.valError ~ label,
textarea:placeholder-shown.valError ~ label {
  color: var(--warm-600);
}
input ~ label,
select ~ label,
textarea ~ label {
  position: absolute;
  top: 0.4375rem;
  left: 1rem;
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-xs);
  width: calc(100% - 1rem);
}
input:not([type=checkbox]) ~ label,
select:not([type=checkbox]) ~ label,
textarea:not([type=checkbox]) ~ label {
  pointer-events: none;
}
input.ccMask ~ label,
select.ccMask ~ label,
textarea.ccMask ~ label {
  position: absolute;
  top: 0.4375rem;
  left: 1rem;
  font-size: var(--text-size-3xs);
  width: calc(100% - 1rem);
}

select {
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 2.5rem;
  overflow: hidden;
}

label {
  display: block;
  font-size: var(--text-size-xs);
  margin-bottom: 0.3125rem;
}
label.required:after {
  content: "*";
  font-size: var(--text-size-13);
  line-height: 0;
  font-weight: var(--text-weight-semibold);
  color: var(--warm-600);
  margin-left: 0.1875rem;
}
label.radioGroup-label {
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
  margin-bottom: 0.625rem;
}

textarea:not([type=range]) {
  min-height: 7.5rem;
}
textarea:not([type=range]):has(+ label) {
  padding-top: 1.5rem;
}

.inputGroup,
.selectWrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.inputGroup div.valError,
.selectWrapper div.valError {
  display: flex;
  align-items: center;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  color: var(--warm-600);
  margin: -1.125rem 0 1.5rem;
}
.inputGroup div.valError:before,
.selectWrapper div.valError:before {
  content: "error";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-base);
  color: var(--warm-600);
  font-variation-settings: "FILL" 1;
  padding-right: 0.1875rem;
}

.inputGroup:not(.fauxCheck) input,
.inputGroup:not(.fauxCheck) select {
  margin-bottom: 1.5rem;
}
.inputGroup:not(.fauxCheck) input.required.valError + label,
.inputGroup:not(.fauxCheck) select.required.valError + label {
  color: var(--warm-600);
}
.inputGroup:not(.fauxCheck) input.required.valError + label:before,
.inputGroup:not(.fauxCheck) select.required.valError + label:before {
  position: absolute;
  top: 0;
  right: 0.4375rem;
  content: "error";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-2xl);
  line-height: var(--text-leading-xs);
  color: var(-warm-600);
  font-variation-settings: "FILL" 1;
}
.inputGroup:not(.fauxCheck) input.required:focus + label:before,
.inputGroup:not(.fauxCheck) select.required:focus + label:before {
  top: 0.5625rem;
  right: 0.4375rem;
}
.inputGroup select:not([type=checkbox]).required.valError + label:before {
  top: 0.5625rem;
}

.selectWrapper select {
  cursor: pointer;
}
.selectWrapper:before, .selectWrapper:after {
  display: none;
}
.selectWrapper label span:after {
  position: absolute;
  top: 0.9375rem;
  right: 0.75rem;
  content: "";
  border-left: 0.375rem solid transparent;
  border-right: 0.375rem solid transparent;
  border-top: 0.375rem solid var(--neutral-500);
  pointer-events: none;
}
.selectWrapper select.valError + label:before {
  position: absolute;
  right: 0.5rem;
  top: -0.25rem;
  content: "error";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-2xl);
  color: var(--warm-600);
  font-variation-settings: "FILL" 1;
}
.selectWrapper select.valError + label span:after {
  right: 2.5rem;
}

.bookingParameter.booleanBookingParameter {
  display: grid;
  flex-direction: initial;
  grid-template-columns: max-content auto;
  grid-gap: 0.3125rem;
  grid-auto-flow: dense;
  align-items: center;
}
.bookingParameter.booleanBookingParameter .inputItem .inputGroup {
  display: flex;
}

.fauxCheck {
  position: relative;
  width: 100%;
}
.fauxCheck [type=checkbox] {
  position: relative;
  opacity: 0;
  margin-bottom: 0.625rem;
}
.fauxCheck [type=checkbox]:not(:checked), .fauxCheck [type=checkbox]:checked {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  width: 1.5rem;
  height: 1.5rem;
  min-height: 1.5rem;
  cursor: pointer;
}
.fauxCheck [type=checkbox]:not(:checked).valError + label, .fauxCheck [type=checkbox]:checked.valError + label {
  color: var(--warm-600);
}
.fauxCheck [type=checkbox]:not(:checked).valError + label:before, .fauxCheck [type=checkbox]:checked.valError + label:before {
  background-color: #FDF2F4;
  box-shadow: inset 0 0 0 0.0625rem var(--warm-600);
}
.fauxCheck [type=checkbox]:not(:checked) + label, .fauxCheck [type=checkbox]:checked + label {
  display: grid;
  grid-template-columns: 2rem 1fr;
  align-items: center;
  position: static;
  font-size: var(--text-size-13);
  margin-bottom: 1.5rem;
  cursor: pointer;
}
.fauxCheck [type=checkbox]:not(:checked) + label.required:after, .fauxCheck [type=checkbox]:checked + label.required:after {
  display: none;
}
.fauxCheck [type=checkbox]:not(:checked) + label.required span:after, .fauxCheck [type=checkbox]:checked + label.required span:after {
  content: "*";
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--warm-600);
  margin-left: 0.1875rem;
}
.fauxCheck [type=checkbox]:not(:checked) + label:before {
  display: block;
  content: "";
  background: var(--white);
  border-radius: 0.1875rem;
  margin: 0 0.5rem 0 0;
  width: 1.5rem;
  height: 1.5rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  transition: box-shadow 0.2s ease-in;
}
.fauxCheck [type=checkbox]:not(:checked) + label.valError {
  color: var(--warm-600);
}
.fauxCheck [type=checkbox]:not(:checked) + label.valError:before {
  color: var(--warm-600);
}
.fauxCheck [type=checkbox]:not(:checked) + label:hover:before {
  box-shadow: inset 0 0 0 0.125rem var(--cool-500);
}
.fauxCheck [type=checkbox]:checked + label:before {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  content: "check_box";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-3xl);
  line-height: var(--text-leading-base);
  color: var(--cool-500);
  font-variation-settings: "FILL" 1;
  background: var(--white);
  text-indent: -0.18rem;
  border-radius: 0.1875rem;
  width: 1.5rem;
  height: 1.5rem;
  box-shadow: inset 0 0 0 0.125rem var(--cool-500);
}
.fauxCheck.inputGroup div.valError {
  margin: -1.25rem 0 1rem;
}
.fauxCheck.error [type=checkbox]:not(:checked) + label {
  color: var(--warm-600);
}
.fauxCheck.error [type=checkbox]:not(:checked) + label:before {
  background-color: #FDF2F4;
  box-shadow: inset 0 0 0 0.0625rem var(--warm-600);
}
.fauxCheck.error [type=checkbox]:not(:checked) + label a {
  color: var(--warm-600);
  text-decoration: underline;
}
.fauxCheck.chip {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 6rem;
  max-width: calc(50% - 0.25rem);
  white-space: nowrap;
}
.fauxCheck.chip:last-child:nth-child(3n-1), .fauxCheck.chip:last-child:nth-child(3n-2) {
  max-width: calc(33.333% - 0.35rem);
}
.fauxCheck.chip [type=checkbox]:not(:checked) + label, .fauxCheck.chip [type=checkbox]:checked + label {
  display: flex;
  justify-content: center;
  grid-column-gap: 0.25rem;
  font-size: var(--text-size-xs);
  background: var(--white);
  padding: 0 1rem;
  border-radius: 1.125rem;
  margin-bottom: 0;
  width: 100%;
  height: 2rem;
  box-shadow: 0 0 0 0 var(--cool-400), inset 0 0 0 0.0625rem var(--cool-200);
  transition: box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.fauxCheck.chip [type=checkbox]:not(:checked) + label:hover, .fauxCheck.chip [type=checkbox]:checked + label:hover {
  box-shadow: 0 0 0 0.125rem var(--cool-500), inset 0 0 0 0.0625rem var(--cool-500);
  cursor: pointer;
}
.fauxCheck.chip [type=checkbox]:not(:checked) + label:before, .fauxCheck.chip [type=checkbox]:checked + label:before {
  display: none;
}
.fauxCheck.chip [type=checkbox]:checked + label {
  color: var(--white);
  background: var(--cool-500);
  padding: 0 1.25rem 0 0.875rem;
  box-shadow: none;
}
.fauxCheck.chip [type=checkbox]:checked + label:hover {
  background: var(--cool-500);
}
.fauxCheck.chip [type=checkbox]:checked + label:before {
  display: block;
  position: static;
  content: "done";
  font-size: var(--text-size-xs);
  color: var(--white);
  text-indent: initial;
  background: transparent;
  border-radius: 0;
  margin: 0;
  width: auto;
  height: auto;
}

.fauxRadio {
  position: relative;
  width: 100%;
}
.fauxRadio [type=radio] {
  position: relative;
  opacity: 0;
}
.fauxRadio [type=radio]:not(:checked), .fauxRadio [type=radio]:checked {
  margin-bottom: 1.25rem;
  width: 1.6875rem;
  height: 1.6875rem;
  min-height: auto;
}
.fauxRadio [type=radio]:not(:checked) + label, .fauxRadio [type=radio]:checked + label {
  display: grid;
  grid-template-columns: 2rem auto;
  align-items: center;
  column-gap: 0.3125rem;
  left: 0;
  font-size: var(--text-size-13);
  cursor: pointer;
}
.fauxRadio [type=radio]:not(:checked) + label span, .fauxRadio [type=radio]:checked + label span {
  width: calc(100% - 2.9rem);
}
.fauxRadio [type=radio]:not(:checked) + label:before {
  display: flex;
  align-items: center;
  content: "radio_button_unchecked";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-3xl);
  line-height: var(--text-leading-3xl);
  color: var(--cool-400);
  background: var(--white);
  margin: 0;
  width: 2rem;
  height: 2.5rem;
}
.fauxRadio [type=radio]:not(:checked) + label.valError {
  color: var(--warm-600);
}
.fauxRadio [type=radio]:not(:checked) + label.valError:before {
  color: var(--warm-600);
}
.fauxRadio [type=radio]:not(:checked) + label:hover:before {
  color: var(--cool-400);
}
.fauxRadio [type=radio]:checked + label:before {
  display: flex;
  align-items: center;
  content: "radio_button_checked";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-3xl);
  line-height: var(--text-leading-3xl);
  color: var(--cool-400);
  background: var(--white);
  margin: 0;
  width: 2rem;
  height: 2.5rem;
}
.fauxRadio [type=radio].valError + label {
  color: var(--warm-600);
}
.fauxRadio [type=radio].valError + label:before {
  box-shadow: inset 0 0 0 0.0625rem var(--warm-600);
}
.fauxRadio.error [type=checkbox]:not(:checked) + label {
  color: var(--warm-600);
}
.fauxRadio.error [type=checkbox]:not(:checked) + label:before {
  box-shadow: inset 0 0 0 0.0625rem var(--warm-600);
}
.fauxRadio.error [type=checkbox]:not(:checked) + label a {
  color: var(--warm-600);
  text-decoration: underline;
}
.fauxRadio.confirmItems label.required:after {
  display: none;
}
.fauxRadio.confirmItems label.required span:after {
  content: "*";
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--warm-600);
  margin-left: 0.1875rem;
}

.fauxToggle {
  position: relative;
  width: 100%;
}
.fauxToggle [type=checkbox] {
  position: relative;
  opacity: 0;
  margin-bottom: 1rem;
}
.fauxToggle [type=checkbox]:not(:checked), .fauxToggle [type=checkbox]:checked {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  width: 0;
  height: 0;
  min-height: 0;
}
.fauxToggle [type=checkbox]:not(:checked) + label, .fauxToggle [type=checkbox]:checked + label {
  position: relative;
  top: initial;
  left: initial;
  display: grid;
  grid-gap: 0.625rem;
  grid-template-columns: 1fr 2.75em;
  align-items: center;
  position: static;
  font-size: var(--text-size-13);
  cursor: pointer;
  margin-bottom: 1.5rem;
  width: 100%;
}
.fauxToggle [type=checkbox]:not(:checked) + label:before, .fauxToggle [type=checkbox]:checked + label:before {
  display: block;
  position: absolute;
  right: 1rem;
  content: "";
  background-color: var(--white);
  border-radius: 50%;
  width: 1.5rem;
  height: 1.5rem;
  z-index: 1;
  box-shadow: 0 0 0 0 transparent, 0 0 0 0 transparent, 0 0 0 0 transparent;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.fauxToggle [type=checkbox]:not(:checked) + label:after, .fauxToggle [type=checkbox]:checked + label:after {
  position: absolute;
  right: 0;
  content: "";
  background-color: var(--neutral-300);
  order: 2;
  width: 2.5rem;
  height: 1.625rem;
  border-radius: 1rem;
  box-shadow: inset 0 0 0 transparent;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.fauxToggle [type=checkbox]:not(:checked) + label span, .fauxToggle [type=checkbox]:checked + label span {
  display: flex;
  flex-direction: column;
}
.fauxToggle [type=checkbox]:not(:checked) + label:hover:before {
  background: var(--cool-500);
  box-shadow: 0 0.25rem 0.3125rem 0 rgba(0, 0, 0, 0.14), 0 0.0625rem 0.625rem 0 rgba(0, 0, 0, 0.12), 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.2);
}
.fauxToggle [type=checkbox]:not(:checked) + label:hover:after {
  background-color: var(--cool-200);
  box-shadow: inset 0.0625rem 0 0.1875rem var(--neutral-300);
}
.fauxToggle [type=checkbox]:checked + label:hover:before {
  background-color: var(--cool-500);
}
.fauxToggle [type=checkbox]:checked + label:before {
  right: 0.0625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  content: "done";
  font-family: "Material Symbols Outlined";
  color: var(--white);
  font-variation-settings: "FILL" 1;
  background-color: var(--cool-400);
  box-shadow: none;
}
.fauxToggle [type=checkbox]:checked + label:after {
  background-color: var(--cool-200);
}

.payInOZ label {
  font-weight: var(--text-weight-semibold);
}

@media only screen and (min-width: 768px) {
  .formRow.quarterWidth {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 2rem;
  }
  .formRow.halfWidth {
    grid-template-columns: 1fr 1fr;
    column-gap: 2rem;
  }
  .formRow.halfCenter .inputGroup,
  .formRow.halfCenter .selectWrapper {
    margin: 0 auto;
    max-width: 21.75rem;
  }
}
/* ==========================================================================
   1. Configuration & Mixins
   ========================================================================== */
/**
 * ---------------------------------------------------------------------
 * Global State Modifiers
 *
 * These classes are typically toggled by JavaScript to change
 * the state of a component. They are kept separate from component
 * styles for maintainability and predictable specificity.
 * ---------------------------------------------------------------------
 */
/**
 * Makes a component visually present.
 * Used for elements that fade in, like modals or tooltips.
 * The component itself should have a `transition` property.
 */
.is-visible {
  opacity: 1;
  visibility: visible;
}

/**
 * Signifies an active or currently selected item.
 * Used for navigation links, tabs, toggles, etc.
 */
.is-active {
  /* Example: Make the text bold and use the primary brand colour */
  font-weight: bold;
  color: var(--primary-color, #00529F);
}

/**
 * Signifies a validation error state.
 * Often applied to a form field's parent container to style
 * the input, label, and hint text together.
 */
.is-error {
  /* Example: Changes the border and text colour to an error red */
  border-color: var(--error-color, #D92D20);
  color: var(--error-color, #D92D20);
  /* Target child elements when the parent has the error state */
}
.is-error .form-input,
.is-error .form-label,
.is-error .form-hint {
  border-color: var(--error-color, #D92D20);
  color: var(--error-color, #D92D20);
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Add padding to all sides 
   ========================================================================== */
.p-0 {
  padding: 0rem !important;
}

.p-1 {
  padding: 0.0625rem !important;
}

.p-2 {
  padding: 0.125rem !important;
}

.p-3 {
  padding: 0.1875rem !important;
}

.p-4 {
  padding: 0.25rem !important;
}

.p-5 {
  padding: 0.3125rem !important;
}

.p-6 {
  padding: 0.375rem !important;
}

.p-7 {
  padding: 0.4375rem !important;
}

.p-8 {
  padding: 0.5rem !important;
}

.p-9 {
  padding: 0.5625rem !important;
}

.p-10 {
  padding: 0.625rem !important;
}

.p-15 {
  padding: 0.9375rem !important;
}

.p-20 {
  padding: 1.25rem !important;
}

.p-25 {
  padding: 1.5625rem !important;
}

.p-30 {
  padding: 1.875rem !important;
}

.p-35 {
  padding: 2.1875rem !important;
}

.p-40 {
  padding: 2.5rem !important;
}

.p-45 {
  padding: 2.8125rem !important;
}

.p-50 {
  padding: 3.125rem !important;
}

.p-60 {
  padding: 3.75rem !important;
}

.p-70 {
  padding: 4.375rem !important;
}

.p-80 {
  padding: 5rem !important;
}

.p-90 {
  padding: 5.625rem !important;
}

.p-100 {
  padding: 6.25rem !important;
}

/* Add horizontal padding 
   ========================================================================== */
.px-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.px-1 {
  padding-right: 0.0625rem !important;
  padding-left: 0.0625rem !important;
}

.px-2 {
  padding-right: 0.125rem !important;
  padding-left: 0.125rem !important;
}

.px-3 {
  padding-right: 0.1875rem !important;
  padding-left: 0.1875rem !important;
}

.px-4 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-5 {
  padding-right: 0.3125rem !important;
  padding-left: 0.3125rem !important;
}

.px-6 {
  padding-right: 0.375rem !important;
  padding-left: 0.375rem !important;
}

.px-7 {
  padding-right: 0.4375rem !important;
  padding-left: 0.4375rem !important;
}

.px-8 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-9 {
  padding-right: 0.5625rem !important;
  padding-left: 0.5625rem !important;
}

.px-10 {
  padding-right: 0.625rem !important;
  padding-left: 0.625rem !important;
}

.px-15 {
  padding-right: 0.9375rem !important;
  padding-left: 0.9375rem !important;
}

.px-20 {
  padding-right: 1.25rem !important;
  padding-left: 1.25rem !important;
}

.px-25 {
  padding-right: 1.5625rem !important;
  padding-left: 1.5625rem !important;
}

.px-30 {
  padding-right: 1.875rem !important;
  padding-left: 1.875rem !important;
}

.px-35 {
  padding-right: 2.1875rem !important;
  padding-left: 2.1875rem !important;
}

.px-40 {
  padding-right: 2.5rem !important;
  padding-left: 2.5rem !important;
}

.px-45 {
  padding-right: 2.8125rem !important;
  padding-left: 2.8125rem !important;
}

.px-50 {
  padding-right: 3.125rem !important;
  padding-left: 3.125rem !important;
}

.px-60 {
  padding-right: 3.75rem !important;
  padding-left: 3.75rem !important;
}

.px-70 {
  padding-right: 4.375rem !important;
  padding-left: 4.375rem !important;
}

.px-80 {
  padding-right: 5rem !important;
  padding-left: 5rem !important;
}

.px-90 {
  padding-right: 5.625rem !important;
  padding-left: 5.625rem !important;
}

.px-100 {
  padding-right: 6.25rem !important;
  padding-left: 6.25rem !important;
}

/* Add vertical padding 
   ========================================================================== */
.py-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.py-1 {
  padding-top: 0.0625rem !important;
  padding-bottom: 0.0625rem !important;
}

.py-2 {
  padding-top: 0.125rem !important;
  padding-bottom: 0.125rem !important;
}

.py-3 {
  padding-top: 0.1875rem !important;
  padding-bottom: 0.1875rem !important;
}

.py-4 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-5 {
  padding-top: 0.3125rem !important;
  padding-bottom: 0.3125rem !important;
}

.py-6 {
  padding-top: 0.375rem !important;
  padding-bottom: 0.375rem !important;
}

.py-7 {
  padding-top: 0.4375rem !important;
  padding-bottom: 0.4375rem !important;
}

.py-8 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-9 {
  padding-top: 0.5625rem !important;
  padding-bottom: 0.5625rem !important;
}

.py-10 {
  padding-top: 0.625rem !important;
  padding-bottom: 0.625rem !important;
}

.py-15 {
  padding-top: 0.9375rem !important;
  padding-bottom: 0.9375rem !important;
}

.py-20 {
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

.py-25 {
  padding-top: 1.5625rem !important;
  padding-bottom: 1.5625rem !important;
}

.py-30 {
  padding-top: 1.875rem !important;
  padding-bottom: 1.875rem !important;
}

.py-35 {
  padding-top: 2.1875rem !important;
  padding-bottom: 2.1875rem !important;
}

.py-40 {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.py-45 {
  padding-top: 2.8125rem !important;
  padding-bottom: 2.8125rem !important;
}

.py-50 {
  padding-top: 3.125rem !important;
  padding-bottom: 3.125rem !important;
}

.py-60 {
  padding-top: 3.75rem !important;
  padding-bottom: 3.75rem !important;
}

.py-70 {
  padding-top: 4.375rem !important;
  padding-bottom: 4.375rem !important;
}

.py-80 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.py-90 {
  padding-top: 5.625rem !important;
  padding-bottom: 5.625rem !important;
}

.py-100 {
  padding-top: 6.25rem !important;
  padding-bottom: 6.25rem !important;
}

/* Add top padding 
   ========================================================================== */
.pt-1 {
  padding-top: 0.0625rem !important;
}

.pt-2 {
  padding-top: 0.125rem !important;
}

.pt-3 {
  padding-top: 0.1875rem !important;
}

.pt-4 {
  padding-top: 0.25rem !important;
}

.pt-5 {
  padding-top: 0.3125rem !important;
}

.pt-6 {
  padding-top: 0.375rem !important;
}

.pt-7 {
  padding-top: 0.4375rem !important;
}

.pt-8 {
  padding-top: 0.5rem !important;
}

.pt-9 {
  padding-top: 0.5625rem !important;
}

.pt-10 {
  padding-top: 0.625rem !important;
}

.pt-15 {
  padding-top: 0.9375rem !important;
}

.pt-20 {
  padding-top: 1.25rem !important;
}

.pt-25 {
  padding-top: 1.5625rem !important;
}

.pt-30 {
  padding-top: 1.875rem !important;
}

.pt-35 {
  padding-top: 2.1875rem !important;
}

.pt-40 {
  padding-top: 2.5rem !important;
}

.pt-45 {
  padding-top: 2.8125rem !important;
}

.pt-50 {
  padding-top: 3.125rem !important;
}

.pt-60 {
  padding-top: 3.75rem !important;
}

.pt-70 {
  padding-top: 4.375rem !important;
}

.pt-80 {
  padding-top: 5rem !important;
}

.pt-90 {
  padding-top: 5.625rem !important;
}

.pt-100 {
  padding-top: 6.25rem !important;
}

/* Add right padding 
   ========================================================================== */
.pr-0 {
  padding-right: 0rem !important;
}

.pr-1 {
  padding-right: 0.0625rem !important;
}

.pr-2 {
  padding-right: 0.125rem !important;
}

.pr-3 {
  padding-right: 0.1875rem !important;
}

.pr-4 {
  padding-right: 0.25rem !important;
}

.pr-5 {
  padding-right: 0.3125rem !important;
}

.pr-6 {
  padding-right: 0.375rem !important;
}

.pr-7 {
  padding-right: 0.4375rem !important;
}

.pr-8 {
  padding-right: 0.5rem !important;
}

.pr-9 {
  padding-right: 0.5625rem !important;
}

.pr-10 {
  padding-right: 0.625rem !important;
}

.pr-15 {
  padding-right: 0.9375rem !important;
}

.pr-20 {
  padding-right: 1.25rem !important;
}

.pr-25 {
  padding-right: 1.5625rem !important;
}

.pr-30 {
  padding-right: 1.875rem !important;
}

.pr-35 {
  padding-right: 2.1875rem !important;
}

.pr-40 {
  padding-right: 2.5rem !important;
}

.pr-45 {
  padding-right: 2.8125rem !important;
}

.pr-50 {
  padding-right: 3.125rem !important;
}

.pr-60 {
  padding-right: 3.75rem !important;
}

.pr-70 {
  padding-right: 4.375rem !important;
}

.pr-80 {
  padding-right: 5rem !important;
}

.pr-90 {
  padding-right: 5.625rem !important;
}

.pr-100 {
  padding-right: 6.25rem !important;
}

/* Add bottom padding 
   ========================================================================== */
.pb-0 {
  padding-bottom: 0rem !important;
}

.pb-1 {
  padding-bottom: 0.0625rem !important;
}

.pb-2 {
  padding-bottom: 0.125rem !important;
}

.pb-3 {
  padding-bottom: 0.1875rem !important;
}

.pb-4 {
  padding-bottom: 0.25rem !important;
}

.pb-5 {
  padding-bottom: 0.3125rem !important;
}

.pb-6 {
  padding-bottom: 0.375rem !important;
}

.pb-7 {
  padding-bottom: 0.4375rem !important;
}

.pb-8 {
  padding-bottom: 0.5rem !important;
}

.pb-9 {
  padding-bottom: 0.5625rem !important;
}

.pb-10 {
  padding-bottom: 0.625rem !important;
}

.pb-15 {
  padding-bottom: 0.9375rem !important;
}

.pb-20 {
  padding-bottom: 1.25rem !important;
}

.pb-25 {
  padding-bottom: 1.5625rem !important;
}

.pb-30 {
  padding-bottom: 1.875rem !important;
}

.pb-35 {
  padding-bottom: 2.1875rem !important;
}

.pb-40 {
  padding-bottom: 2.5rem !important;
}

.pb-45 {
  padding-bottom: 2.8125rem !important;
}

.pb-50 {
  padding-bottom: 3.125rem !important;
}

.pb-60 {
  padding-bottom: 3.75rem !important;
}

.pb-70 {
  padding-bottom: 4.375rem !important;
}

.pb-80 {
  padding-bottom: 5rem !important;
}

.pb-90 {
  padding-bottom: 5.625rem !important;
}

.pb-100 {
  padding-bottom: 6.25rem !important;
}

/* Add left padding 
   ========================================================================== */
.pl-0 {
  padding-left: 0rem !important;
}

.pl-1 {
  padding-left: 0.0625rem !important;
}

.pl-2 {
  padding-left: 0.125rem !important;
}

.pl-3 {
  padding-left: 0.1875rem !important;
}

.pl-4 {
  padding-left: 0.25rem !important;
}

.pl-5 {
  padding-left: 0.3125rem !important;
}

.pl-6 {
  padding-left: 0.375rem !important;
}

.pl-7 {
  padding-left: 0.4375rem !important;
}

.pl-8 {
  padding-left: 0.5rem !important;
}

.pl-9 {
  padding-left: 0.5625rem !important;
}

.pl-10 {
  padding-left: 0.625rem !important;
}

.pl-15 {
  padding-left: 0.9375rem !important;
}

.pl-20 {
  padding-left: 1.25rem !important;
}

.pl-25 {
  padding-left: 1.5625rem !important;
}

.pl-30 {
  padding-left: 1.875rem !important;
}

.pl-35 {
  padding-left: 2.1875rem !important;
}

.pl-40 {
  padding-left: 2.5rem !important;
}

.pl-45 {
  padding-left: 2.8125rem !important;
}

.pl-50 {
  padding-left: 3.125rem !important;
}

.pl-60 {
  padding-left: 3.75rem !important;
}

.pl-70 {
  padding-left: 4.375rem !important;
}

.pl-80 {
  padding-left: 5rem !important;
}

.pl-90 {
  padding-left: 5.625rem !important;
}

.pl-100 {
  padding-left: 6.25rem !important;
}

/* Add margin to all sides 
   ========================================================================== */
.m-0 {
  margin: 0rem !important;
}

.m-1 {
  margin: 0.0625rem !important;
}

.m-2 {
  margin: 0.125rem !important;
}

.m-3 {
  margin: 0.1875rem !important;
}

.m-4 {
  margin: 0.25rem !important;
}

.m-5 {
  margin: 0.3125rem !important;
}

.m-6 {
  margin: 0.375rem !important;
}

.m-7 {
  margin: 0.4375rem !important;
}

.m-8 {
  margin: 0.5rem !important;
}

.m-9 {
  margin: 0.5625rem !important;
}

.m-10 {
  margin: 0.625rem !important;
}

.m-15 {
  margin: 0.9375rem !important;
}

.m-20 {
  margin: 1.25rem !important;
}

.m-25 {
  margin: 1.5625rem !important;
}

.m-30 {
  margin: 1.875rem !important;
}

.m-35 {
  margin: 2.1875rem !important;
}

.m-40 {
  margin: 2.5rem !important;
}

.m-45 {
  margin: 2.8125rem !important;
}

.m-50 {
  margin: 3.125rem !important;
}

.m-60 {
  margin: 3.75rem !important;
}

.m-70 {
  margin: 4.375rem !important;
}

.m-80 {
  margin: 5rem !important;
}

.m-90 {
  margin: 5.625rem !important;
}

.m-100 {
  margin: 6.25rem !important;
}

.m-auto {
  margin: auto !important;
}

/* Add horizontal margin 
   ========================================================================== */
.mx-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.mx-1 {
  margin-right: 0.0625rem !important;
  margin-left: 0.0625rem !important;
}

.mx-2 {
  margin-right: 0.125rem !important;
  margin-left: 0.125rem !important;
}

.mx-3 {
  margin-right: 0.1875rem !important;
  margin-left: 0.1875rem !important;
}

.mx-4 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-5 {
  margin-right: 0.3125rem !important;
  margin-left: 0.3125rem !important;
}

.mx-6 {
  margin-right: 0.375rem !important;
  margin-left: 0.375rem !important;
}

.mx-7 {
  margin-right: 0.4375rem !important;
  margin-left: 0.4375rem !important;
}

.mx-8 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-9 {
  margin-right: 0.5625rem !important;
  margin-left: 0.5625rem !important;
}

.mx-10 {
  margin-right: 0.625rem !important;
  margin-left: 0.625rem !important;
}

.mx-15 {
  margin-right: 0.9375rem !important;
  margin-left: 0.9375rem !important;
}

.mx-20 {
  margin-right: 1.25rem !important;
  margin-left: 1.25rem !important;
}

.mx-25 {
  margin-right: 1.5625rem !important;
  margin-left: 1.5625rem !important;
}

.mx-30 {
  margin-right: 1.875rem !important;
  margin-left: 1.875rem !important;
}

.mx-35 {
  margin-right: 2.1875rem !important;
  margin-left: 2.1875rem !important;
}

.mx-40 {
  margin-right: 2.5rem !important;
  margin-left: 2.5rem !important;
}

.mx-45 {
  margin-right: 2.8125rem !important;
  margin-left: 2.8125rem !important;
}

.mx-50 {
  margin-right: 3.125rem !important;
  margin-left: 3.125rem !important;
}

.mx-60 {
  margin-right: 3.75rem !important;
  margin-left: 3.75rem !important;
}

.mx-70 {
  margin-right: 4.375rem !important;
  margin-left: 4.375rem !important;
}

.mx-80 {
  margin-right: 5rem !important;
  margin-left: 5rem !important;
}

.mx-90 {
  margin-right: 5.625rem !important;
  margin-left: 5.625rem !important;
}

.mx-100 {
  margin-right: 6.25rem !important;
  margin-left: 6.25rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Add vertical margin 
   ========================================================================== */
.my-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.my-1 {
  margin-top: 0.0625rem !important;
  margin-bottom: 0.0625rem !important;
}

.my-2 {
  margin-top: 0.125rem !important;
  margin-bottom: 0.125rem !important;
}

.my-3 {
  margin-top: 0.1875rem !important;
  margin-bottom: 0.1875rem !important;
}

.my-4 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-5 {
  margin-top: 0.3125rem !important;
  margin-bottom: 0.3125rem !important;
}

.my-6 {
  margin-top: 0.375rem !important;
  margin-bottom: 0.375rem !important;
}

.my-7 {
  margin-top: 0.4375rem !important;
  margin-bottom: 0.4375rem !important;
}

.my-8 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-9 {
  margin-top: 0.5625rem !important;
  margin-bottom: 0.5625rem !important;
}

.my-10 {
  margin-top: 0.625rem !important;
  margin-bottom: 0.625rem !important;
}

.my-15 {
  margin-top: 0.9375rem !important;
  margin-bottom: 0.9375rem !important;
}

.my-20 {
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}

.my-25 {
  margin-top: 1.5625rem !important;
  margin-bottom: 1.5625rem !important;
}

.my-30 {
  margin-top: 1.875rem !important;
  margin-bottom: 1.875rem !important;
}

.my-35 {
  margin-top: 2.1875rem !important;
  margin-bottom: 2.1875rem !important;
}

.my-40 {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}

.my-45 {
  margin-top: 2.8125rem !important;
  margin-bottom: 2.8125rem !important;
}

.my-50 {
  margin-top: 3.125rem !important;
  margin-bottom: 3.125rem !important;
}

.my-60 {
  margin-top: 3.75rem !important;
  margin-bottom: 3.75rem !important;
}

.my-70 {
  margin-top: 4.375rem !important;
  margin-bottom: 4.375rem !important;
}

.my-80 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.my-90 {
  margin-top: 5.625rem !important;
  margin-bottom: 5.625rem !important;
}

.my-100 {
  margin-top: 6.25rem !important;
  margin-bottom: 6.25rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

/* Add top margin 
   ========================================================================== */
.mt-0 {
  margin-top: 0rem !important;
}

.mt-1 {
  margin-top: 0.0625rem !important;
}

.mt-2 {
  margin-top: 0.125rem !important;
}

.mt-3 {
  margin-top: 0.1875rem !important;
}

.mt-4 {
  margin-top: 0.25rem !important;
}

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

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

.mt-7 {
  margin-top: 0.4375rem !important;
}

.mt-8 {
  margin-top: 0.5rem !important;
}

.mt-9 {
  margin-top: 0.5625rem !important;
}

.mt-10 {
  margin-top: 0.625rem !important;
}

.mt-15 {
  margin-top: 0.9375rem !important;
}

.mt-20 {
  margin-top: 1.25rem !important;
}

.mt-25 {
  margin-top: 1.5625rem !important;
}

.mt-30 {
  margin-top: 1.875rem !important;
}

.mt-35 {
  margin-top: 2.1875rem !important;
}

.mt-40 {
  margin-top: 2.5rem !important;
}

.mt-45 {
  margin-top: 2.8125rem !important;
}

.mt-50 {
  margin-top: 3.125rem !important;
}

.mt-60 {
  margin-top: 3.75rem !important;
}

.mt-70 {
  margin-top: 4.375rem !important;
}

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

.mt-90 {
  margin-top: 5.625rem !important;
}

.mt-100 {
  margin-top: 6.25rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

/* Add right margin 
   ========================================================================== */
.mr-0 {
  margin-right: 0rem !important;
}

.mr-1 {
  margin-right: 0.0625rem !important;
}

.mr-2 {
  margin-right: 0.125rem !important;
}

.mr-3 {
  margin-right: 0.1875rem !important;
}

.mr-4 {
  margin-right: 0.25rem !important;
}

.mr-5 {
  margin-right: 0.3125rem !important;
}

.mr-6 {
  margin-right: 0.375rem !important;
}

.mr-7 {
  margin-right: 0.4375rem !important;
}

.mr-8 {
  margin-right: 0.5rem !important;
}

.mr-9 {
  margin-right: 0.5625rem !important;
}

.mr-10 {
  margin-right: 0.625rem !important;
}

.mr-15 {
  margin-right: 0.9375rem !important;
}

.mr-20 {
  margin-right: 1.25rem !important;
}

.mr-25 {
  margin-right: 1.5625rem !important;
}

.mr-30 {
  margin-right: 1.875rem !important;
}

.mr-35 {
  margin-right: 2.1875rem !important;
}

.mr-40 {
  margin-right: 2.5rem !important;
}

.mr-45 {
  margin-right: 2.8125rem !important;
}

.mr-50 {
  margin-right: 3.125rem !important;
}

.mr-60 {
  margin-right: 3.75rem !important;
}

.mr-70 {
  margin-right: 4.375rem !important;
}

.mr-80 {
  margin-right: 5rem !important;
}

.mr-90 {
  margin-right: 5.625rem !important;
}

.mr-100 {
  margin-right: 6.25rem !important;
}

.mr-auto {
  margin-right: auto !important;
}

/* Add bottom margin 
   ========================================================================== */
.mb-0 {
  margin-bottom: 0rem !important;
}

.mb-1 {
  margin-bottom: 0.0625rem !important;
}

.mb-2 {
  margin-bottom: 0.125rem !important;
}

.mb-3 {
  margin-bottom: 0.1875rem !important;
}

.mb-4 {
  margin-bottom: 0.25rem !important;
}

.mb-5 {
  margin-bottom: 0.3125rem !important;
}

.mb-6 {
  margin-bottom: 0.375rem !important;
}

.mb-7 {
  margin-bottom: 0.4375rem !important;
}

.mb-8 {
  margin-bottom: 0.5rem !important;
}

.mb-9 {
  margin-bottom: 0.5625rem !important;
}

.mb-10 {
  margin-bottom: 0.625rem !important;
}

.mb-15 {
  margin-bottom: 0.9375rem !important;
}

.mb-20 {
  margin-bottom: 1.25rem !important;
}

.mb-25 {
  margin-bottom: 1.5625rem !important;
}

.mb-30 {
  margin-bottom: 1.875rem !important;
}

.mb-35 {
  margin-bottom: 2.1875rem !important;
}

.mb-40 {
  margin-bottom: 2.5rem !important;
}

.mb-45 {
  margin-bottom: 2.8125rem !important;
}

.mb-50 {
  margin-bottom: 3.125rem !important;
}

.mb-60 {
  margin-bottom: 3.75rem !important;
}

.mb-70 {
  margin-bottom: 4.375rem !important;
}

.mb-80 {
  margin-bottom: 5rem !important;
}

.mb-90 {
  margin-bottom: 5.625rem !important;
}

.mb-100 {
  margin-bottom: 6.25rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

/* Add left margin 
   ========================================================================== */
.ml-0 {
  margin-left: 0rem !important;
}

.ml-1 {
  margin-left: 0.0625rem !important;
}

.ml-2 {
  margin-left: 0.125rem !important;
}

.ml-3 {
  margin-left: 0.1875rem !important;
}

.ml-4 {
  margin-left: 0.25rem !important;
}

.ml-5 {
  margin-left: 0.3125rem !important;
}

.ml-6 {
  margin-left: 0.375rem !important;
}

.ml-7 {
  margin-left: 0.4375rem !important;
}

.ml-8 {
  margin-left: 0.5rem !important;
}

.ml-9 {
  margin-left: 0.5625rem !important;
}

.ml-10 {
  margin-left: 0.625rem !important;
}

.ml-15 {
  margin-left: 0.9375rem !important;
}

.ml-20 {
  margin-left: 1.25rem !important;
}

.ml-25 {
  margin-left: 1.5625rem !important;
}

.ml-30 {
  margin-left: 1.875rem !important;
}

.ml-35 {
  margin-left: 2.1875rem !important;
}

.ml-40 {
  margin-left: 2.5rem !important;
}

.ml-45 {
  margin-left: 2.8125rem !important;
}

.ml-50 {
  margin-left: 3.125rem !important;
}

.ml-60 {
  margin-left: 3.75rem !important;
}

.ml-70 {
  margin-left: 4.375rem !important;
}

.ml-80 {
  margin-left: 5rem !important;
}

.ml-90 {
  margin-left: 5.625rem !important;
}

.ml-100 {
  margin-left: 6.25rem !important;
}

.ml-auto {
  margin-left: auto !important;
}

:root {
  --text-4xs: .5rem;
  --text-3xs: .5625rem;
  --text-2xs: .625rem;
  --text-xs: .75rem;
  --text-sm: .875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;
  --text-7xl: 4.5rem;
  --text-8xl: 6rem;
  --text-9xl: 8rem;
  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;
  --leading-none: 0;
  --leading-1: 0.25rem;
  --leading-2: 0.5rem;
  --leading-3: 0.75rem;
  --leading-4: 1rem;
  --leading-5: 1.25rem;
  --leading-6: 1.5rem;
  --leading-7: 1.75rem;
  --leading-7: 2rem;
}

@font-face {
  font-family: "EmojiSymbols";
  src: url("../fonts/EmojiSymbols-Regular.woff2") format("woff2"), url("../fonts/EmojiSymbols-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Newzald";
  src: url("../fonts/NewzaldWeb-BlackItalic.woff2") format("woff2"), url("../fonts/NewzaldWeb-BlackItalic.woff") format("woff");
  font-weight: 900; /* Black weight */
  font-style: italic;
  font-display: swap;
}
.material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}
.material-symbols-outlined--filled {
  font-variation-settings: "FILL" 1;
}
.material-symbols-outlined--small {
  font-size: var(--text-xl);
}
.material-symbols-outlined--extra-small {
  font-size: var(--text-lg);
}

.w-1 {
  width: 0.0625rem !important; /*   1PX */
}

.w-2 {
  width: 0.125rem !important; /*   2PX */
}

.w-3 {
  width: 0.1875rem !important; /*   3PX */
}

.w-4 {
  width: 0.25rem !important; /*   4PX */
}

.w-5 {
  width: 0.3125rem !important; /*   5PX */
}

.w-6 {
  width: 0.375rem !important; /*   6PX */
}

.w-7 {
  width: 0.4375rem !important; /*   7PX */
}

.w-8 {
  width: 0.5rem !important; /*   8PX */
}

.w-9 {
  width: 0.5625rem !important; /*   9PX */
}

.w-10 {
  width: 0.625rem !important; /*  10PX */
}

.w-11 {
  width: 0.6875rem !important; /*  11PX */
}

.w-12 {
  width: 0.75rem !important; /*  12PX */
}

.w-13 {
  width: 0.8175rem !important; /*  13PX */
}

.w-14 {
  width: 0.875rem !important; /*  14PX */
}

.w-15 {
  width: 0.9375rem !important; /*  15PX */
}

.w-16 {
  width: 1rem !important; /*  16PX */
}

.w-17 {
  width: 1.0625rem !important; /*  17PX */
}

.w-18 {
  width: 1.125rem !important; /*  18PX */
}

.w-19 {
  width: 1.1875rem !important; /*  18PX */
}

.w-20 {
  width: 1.25rem !important; /*  20PX */
}

.w-25 {
  width: 1.5625rem !important; /*  25PX */
}

.w-30 {
  width: 1.875rem !important; /*  30PX */
}

.w-35 {
  width: 2.1875rem !important; /*  35PX */
}

.w-40 {
  width: 2.5rem !important; /*  40PX */
}

.w-45 {
  width: 2.8125rem !important; /*  45PX */
}

.w-50 {
  width: 3.125rem !important; /*  50PX */
}

.w-55 {
  width: 3.4375rem !important; /*  55PX */
}

.w-60 {
  width: 3.75rem !important; /*  60PX */
}

.w-65 {
  width: 4.0625rem !important; /*  65PX */
}

.w-70 {
  width: 4.375rem !important; /*  70PX */
}

.w-75 {
  width: 4.6875rem !important; /*  75PX */
}

.w-80 {
  width: 5rem !important; /*  80PX */
}

.w-85 {
  width: 5.3125rem !important; /*  85PX */
}

.w-90 {
  width: 5.625rem !important; /*  90PX */
}

.w-95 {
  width: 5.9375rem !important; /*  95PX */
}

.w-100 {
  width: 6.25rem !important; /* 100PX */
}

.w-110 {
  width: 6.875rem !important; /* 110PX */
}

.w-120 {
  width: 7.5rem !important; /* 120PX */
}

.w-130 {
  width: 8.125rem !important; /* 130PX */
}

.w-140 {
  width: 8.75rem !important; /* 140PX */
}

.w-150 {
  width: 9.375rem !important; /* 150PX */
}

.w-160 {
  width: 10rem !important; /* 160PX */
}

.w-170 {
  width: 10.625rem !important; /* 170PX */
}

.w-180 {
  width: 11.25rem !important; /* 180PX */
}

.w-190 {
  width: 11.875rem !important; /* 190PX */
}

.w-200 {
  width: 12.5rem !important; /* 200PX */
}

.w-225 {
  width: 14.0625rem !important; /* 225PX */
}

.w-250 {
  width: 15.625rem !important; /* 250PX */
}

.w-275 {
  width: 17.1875rem !important; /* 275PX */
}

.w-300 {
  width: 18.75rem !important; /* 300PX */
}

.w-350 {
  width: 21.875rem !important; /* 350PX */
}

.w-400 {
  width: 25rem !important; /* 400PX */
}

.w-450 {
  width: 28.125rem !important; /* 450PX */
}

.w-500 {
  width: 31.25rem !important; /* 500PX */
}

.w-728 {
  width: 45.5rem !important; /* 728PX */
}

.w-auto {
  width: auto !important;
}

.w-1\/2 {
  width: 50% !important;
}

.w-1\/3 {
  width: 33.333333% !important;
}

.w-2\/3 {
  width: 66.666667% !important;
}

.w-1\/4 {
  width: 25% !important;
}

.w-2\/4 {
  width: 50% !important;
}

.w-3\/4 {
  width: 75% !important;
}

.w-1\/5 {
  width: 20% !important;
}

.w-2\/5 {
  width: 40% !important;
}

.w-3\/5 {
  width: 60% !important;
}

.w-4\/5 {
  width: 80% !important;
}

.w-1\/6 {
  width: 16.666667% !important;
}

.w-2\/6 {
  width: 33.333333% !important;
}

.w-3\/6 {
  width: 50% !important;
}

.w-4\/6 {
  width: 66.666667% !important;
}

.w-5\/6 {
  width: 83.333333% !important;
}

.w-1\/12 {
  width: 8.333333% !important;
}

.w-2\/12 {
  width: 16.666667% !important;
}

.w-3\/12 {
  width: 25% !important;
}

.w-4\/12 {
  width: 33.333333% !important;
}

.w-5\/12 {
  width: 41.666667% !important;
}

.w-6\/12 {
  width: 50% !important;
}

.w-7\/12 {
  width: 58.333333% !important;
}

.w-8\/12 {
  width: 66.666667% !important;
}

.w-9\/12 {
  width: 75% !important;
}

.w-10\/12 {
  width: 83.333333% !important;
}

.w-11\/12 {
  width: 91.666667% !important;
}

.w-full {
  width: 100% !important;
}

.w-screen {
  width: 100vw !important;
}

.w-min {
  width: min-content !important;
}

.w-max {
  width: max-content !important;
}

.w-fit {
  width: fit-content !important;
}

:root {
  --safe-area-inset-top: env(safe-area-inset-top);
  --safe-area-inset-bottom: env(safe-area-inset-bottom);
}

body .headerWrapper {
  display: none;
}
body.home .headerWrapper {
  display: block;
  border-bottom: 0.5rem solid var(--cool-200);
  opacity: 1;
  transition: all 0.15s ease-in-out;
  transition-delay: 0.2s;
}
body .newWrapper {
  background: var(--cool-25);
}
body .pageWrapper {
  position: relative;
  top: 0;
  padding: 8.125rem 0 4rem;
  border-radius: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 80rem;
  height: auto;
  min-height: calc(100vh - 23.25rem);
  scale: none;
  transform-origin: center top;
  box-sizing: border-box;
  transition: all 0.3s ease-in-out;
}
body .pageWrapper:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 1.25rem;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  pointer-events: none;
}
body .pageWrapper .activityWrapper,
body .pageWrapper .buy-voucher,
body .pageWrapper .campers-and-cars,
body .pageWrapper .categoryWrapper,
body .pageWrapper .checkOut,
body .pageWrapper .confirmBooking,
body .pageWrapper .createReview,
body .pageWrapper .helpCentre,
body .pageWrapper .hotel-wrapper,
body .pageWrapper .login-register,
body .pageWrapper .mybookme-wrapper,
body .pageWrapper .notFound,
body .pageWrapper .regionPage,
body .pageWrapper .reviewTip-wrapper,
body .pageWrapper .sharedReview,
body .pageWrapper .terms {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  padding: 0 0.75rem;
  margin: 0;
  width: 100%;
  min-width: initial;
  max-width: initial;
  box-sizing: border-box;
}
body .pageWrapper .regionPage {
  padding: 2rem 1.25rem 0;
}
body.home .pageWrapper {
  padding-top: 0;
}
body .ugc_bottomNav-wrapper {
  box-shadow: inset 0 0.0625rem 0 var(--cool-600);
}

@media only screen and (min-width: 768px) {
  body .headerWrapper {
    display: block;
    opacity: 1;
    transition: all 0.15s ease-in-out;
    transition-delay: 0.2s;
  }
  body .newWrapper {
    transform: none;
    transition: none;
  }
  body .newWrapper:before {
    display: none;
  }
  body .pageWrapper {
    padding-top: 5rem;
  }
  body .pageWrapper:has(h1 > span) {
    padding-top: 4.1875rem;
  }
  body .pageWrapper .deals_list--wrapper {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
  }
  body .pageWrapper.productMap {
    padding: 6rem 1.5rem;
  }
  body.home .pageWrapper {
    padding-top: 0;
  }
  body .ugc_bottomNav-wrapper {
    display: none;
  }
}
@media only screen and (min-width: 992px) {
  .pageWrapper .hotDeals-wrap {
    justify-content: space-between;
  }
}
#breadcrumbs {
  display: none;
}
@media only screen and (min-width: 1280px) {
  #breadcrumbs {
    padding: 0.8125rem 0;
  }
}
@media only screen and (min-width: 768px) {
  #breadcrumbs {
    display: flex;
    align-items: center;
    position: relative;
    font-size: var(--text-size-2xs);
    font-weight: var(--text-weight-normal);
    padding: 0.8125rem 1rem;
    border-bottom: 0.0625rem solid var(--cool-100);
    margin: 0 auto 2rem;
    max-width: 78.75rem;
    height: 2rem;
    box-sizing: border-box;
    z-index: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
  #breadcrumbs a {
    display: flex;
    align-items: center;
  }
  #breadcrumbs a:nth-child(2) {
    margin-left: 0.1875rem;
  }
  #breadcrumbs a:last-child:after {
    content: "";
  }
  #breadcrumbs a:after {
    display: inline-block;
    content: "/";
    font-size: var(--text-size-lg);
    font-weight: var(--text-weight-light);
    color: var(--cool-200);
    text-align: center;
    width: 1.25rem;
  }
}

#mobile-breadcrumbs {
  display: flex;
  align-items: center;
  font-size: 0;
  color: var(--bkme-secondary-dark);
  padding: 5rem 1rem 0.5rem 0.25rem;
  border-top: 0;
  border-bottom: 0;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-100);
}
@media only screen and (min-width: 768px) {
  #mobile-breadcrumbs {
    display: none;
  }
}
#mobile-breadcrumbs a {
  display: flex;
  align-items: center;
  color: var(--cool-500);
}
#mobile-breadcrumbs a + a {
  display: none;
}
#mobile-breadcrumbs i {
  display: flex;
  align-items: center;
  font-size: var(--text-size-xl);
  font-variation-settings: "wght" 300;
}
#mobile-breadcrumbs i:after {
  content: "More Deals";
  font-family: "Open Sans", sans-serif;
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-2xs);
  font-weight: var(--text-weight-normal);
  font-variation-settings: "wght" 400;
  letter-spacing: -0.025rem;
}
#mobile-breadcrumbs:after {
  content: "";
}
#mobile-breadcrumbs.mobile-breadcrumbs-hotel i:after {
  content: "More Hotels";
}
#mobile-breadcrumbs.mobile-breadcrumbs-dining i:after {
  content: "More Dining";
}

@media only screen and (min-width: 768px) {
  .home #breadcrumbs {
    display: none;
  }
}
.footWrapper {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
  font-size: var(--text-size-3xs);
  color: var(--white);
  text-align: center;
  background: var(--cool-800);
  padding: 2rem 1.25rem;
  margin-bottom: 4rem;
}
.footWrapper a {
  display: flex;
  align-items: center;
  flex-direction: column;
  color: var(--white);
}
.footWrapper a svg {
  width: 1.375rem;
  height: 1.375rem;
}
.footWrapper ul {
  display: flex;
  justify-content: center;
  column-gap: 2rem;
  text-align: left;
  list-style-type: none;
}
.footWrapper ul li a {
  grid-row-gap: 0.3125rem;
  line-height: 1.4;
}
.footWrapper ul li a:after {
  display: block;
  content: "";
  text-align: center;
}
.footWrapper ul li a.footVoucher:after {
  content: "Bookme Vouchers";
}
.footWrapper ul li a.footFacebook:before {
  font-size: var(--text-size-sm);
}
.footWrapper ul li a.footFacebook:after {
  content: "Facebook";
}
.footWrapper ul li a.footInstagram:after {
  content: "Instagram";
}
.footWrapper ul li a.footNewsletter:before {
  font-size: var(--text-size-sm);
}
.footWrapper ul li a.footNewsletter:after {
  content: "Bookme Emails";
}
.footWrapper ul li a span {
  display: none;
}
.footWrapper .utility-links {
  display: flex;
  justify-content: center;
  column-gap: 0.625rem;
}
.footWrapper .utility-links a:nth-of-type(even) {
  padding: 0 0.625rem;
  border-right: 0.0625rem solid var(--neutral-400);
  border-left: 0.0625rem solid var(--neutral-400);
}
.footWrapper .copyright {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 0.625rem;
}
.footWrapper .copyright p {
  font-size: var(--text-size-4xs);
  color: var(--neutral-300);
}
.footWrapper .copyright:before {
  display: block;
  content: "";
  background-image: url("../images/logos/bookme_logo.svg");
  background-repeat: no-repeat;
  margin-bottom: 0.3125rem;
  width: 3rem;
  height: 2.25rem;
}
@media only screen and (min-width: 768px) {
  .footWrapper {
    margin-bottom: 0;
  }
  .footWrapper ul li a {
    flex-direction: row;
    column-gap: 0.625rem;
  }
  .footWrapper ul li a span {
    display: block;
  }
  .footWrapper ul li a:after {
    display: none;
  }
}

.fullSize-hero {
  position: relative;
  background-position: center center;
  background-size: cover;
}
.fullSize-hero::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: linear-gradient(to bottom, rgba(8, 20, 64, 0) 50%, rgba(8, 20, 64, 0.5) 100%);
}
@media only screen and (min-width: 768px) {
  .fullSize-hero::after {
    background: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%);
  }
}
.fullSize-hero .hero-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  grid-row-gap: 1.5rem;
  padding: 8rem 1.5rem 0;
  height: 22.5rem;
  box-sizing: border-box;
  z-index: 1;
}
.fullSize-hero .hero-wrap h1 {
  display: none;
  font-size: var(--text-xl);
  line-height: var(--text-leading-lg);
  color: var(--white);
  text-align: center;
  max-width: 50rem;
}
@media screen and (min-width: 768px) {
  .fullSize-hero .hero-wrap h1 {
    font-size: var(--text-2xl);
  }
}
.fullSize-hero .hero-wrap h1.medium {
  display: block;
}
.fullSize-hero .hero-wrap h1.small, .fullSize-hero .hero-wrap h1.large {
  display: none;
}
@media screen and (min-width: 768px) {
  .fullSize-hero .hero-wrap h1.large {
    display: block;
  }
  .fullSize-hero .hero-wrap h1.medium {
    display: none;
  }
}
.fullSize-hero .hero-wrap .searchTrigger-segmented {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 40rem;
}
.fullSize-hero .hero-wrap .searchTrigger-segmented li {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 0.5rem;
  color: var(--cool-200);
  background: var(--cool-800);
  padding: 0 1rem;
  border-radius: 1.75rem;
  margin: 0 auto;
  width: 22.5rem;
  height: 3.375rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-400);
  box-sizing: border-box;
  transition: all 0.2s ease;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .fullSize-hero .hero-wrap .searchTrigger-segmented li {
    border-radius: 2rem;
    width: 30rem;
    height: 4rem;
  }
}
.fullSize-hero .hero-wrap .searchTrigger-segmented li:hover {
  background: var(--cool-700);
  box-shadow: inset 0 0 0 0.125rem var(--cool-400);
}
.fullSize-hero .hero-wrap .searchTrigger-segmented li:hover .filter {
  color: var(--cool-600);
  background: var(--cool-100);
  box-shadow: none;
}
.fullSize-hero .hero-wrap .searchTrigger-segmented li.search-button {
  display: none;
}
.fullSize-hero .hero-wrap .searchTrigger-segmented li div {
  display: flex;
  flex-direction: column;
  row-gap: 0.125rem;
  font-size: var(--text-2xs);
  line-height: var(--text-leading-2xs);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .fullSize-hero .hero-wrap .searchTrigger-segmented li div {
    font-size: var(--text-xs);
  }
}
.fullSize-hero .hero-wrap .searchTrigger-segmented li div strong {
  font-size: var(--text-sm);
  line-height: var(--text-leading-sm);
  color: var(--white);
}
@media screen and (min-width: 768px) {
  .fullSize-hero .hero-wrap .searchTrigger-segmented li div strong {
    font-size: var(--text-base);
  }
}
.fullSize-hero .hero-wrap .searchTrigger-segmented li span {
  display: flex;
  align-items: center;
}
.fullSize-hero .hero-wrap .searchTrigger-segmented li span.material-symbols-outlined {
  font-size: var(--text-2xl);
}
@media screen and (min-width: 768px) {
  .fullSize-hero .hero-wrap .searchTrigger-segmented li span.material-symbols-outlined {
    font-size: var(--text-3xl);
  }
}
.fullSize-hero .hero-wrap .searchTrigger-segmented li span.filter {
  padding: 0.3125rem;
  border-radius: 50%;
  margin-left: 1.25rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500);
  transition: all 0.2s ease;
}
.fullSize-hero .hero-wrap .searchTrigger-segmented li span.filter .material-symbols-outlined {
  font-size: var(--text-lg);
}
@media screen and (min-width: 768px) {
  .fullSize-hero .hero-wrap .searchTrigger-segmented li span.filter .material-symbols-outlined {
    font-size: var(--text-xl);
  }
}

.popRegions-text-box {
  display: flex;
  align-items: flex-end;
  font-size: var(--text-size-sm);
  background: #000000;
  background: linear-gradient(359deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
  border-radius: 0 0 0.5rem 0.5rem;
  padding: 0 0.5rem 1rem;
  width: 100%;
  height: 5rem;
}

.popRegions-list {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.625rem;
  list-style: none;
  margin-top: 0.625rem;
}
.popRegions-list li {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-size: var(--text-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  background-position: 50% 50%;
  background-size: cover;
  border-radius: 0.3125rem;
  padding: 0;
  width: calc(50% - 0.3125rem);
  height: 12.5rem;
  box-sizing: border-box;
  transition: box-shadow 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
}
.popRegions-list li:hover {
  box-shadow: inset 0 0 0 0.1875rem var(--cool-400);
}
.popRegions-list li {
  /* NEW ZEALAND */
}
.popRegions-list li[data-region-select=queenstown] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/queenstown.jpg");
}
.popRegions-list li[data-region-select=rotorua-taupo] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/rotorua.jpg");
}
.popRegions-list li[data-region-select=auckland] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/auckland.jpg");
}
.popRegions-list li[data-region-select=west-coast-glacier-country] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/west_coast.jpg");
}
.popRegions-list li[data-region-select=christchurch-canterbury-kaikoura] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/christchurch.jpg");
}
.popRegions-list li[data-region-select=abel-tasman-nelson-picton] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/abel_tasman.jpg");
}
.popRegions-list li[data-region-select=northland-bay-of-islands] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/bay_of_islands.jpg");
}
.popRegions-list li[data-region-select=dunedin] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/dunedin.jpg");
}
.popRegions-list li[data-region-select=tauranga] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/tauranga.jpg");
}
.popRegions-list li[data-region-select=wellington-wairarapa] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/wellington.jpg");
}
.popRegions-list li[data-region-select=waikato-hamilton-raglan] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/hamilton.jpg");
}
.popRegions-list li[data-region-select=southland] {
  background-image: url("https://www.bookme.co.nz/images/2020/nz/southland.jpg");
}
.popRegions-list li[data-region-select=taranaki-new-plymouth] {
  background-image: url("https://www.airnewzealand.co.nz/activity-deals/airnz_homepage/images/2020/nz/new_plymouth.jpg");
}
.popRegions-list li[data-region-select=hawkes-bay-napier-hastings] {
  background-image: url("https://www.airnewzealand.co.nz/activity-deals/airnz_homepage/images/2020/nz/napier.jpg");
}
.popRegions-list li[data-region-select=gisborne-east-cape] {
  background-image: url("https://www.airnewzealand.co.nz/activity-deals/airnz_homepage/images/2020/nz/gisborne.jpg");
}
.popRegions-list li[data-region-select=manawatu], .popRegions-list li[data-region-select=coromandel-great-barrier] {
  display: none !important;
}

@media only screen and (min-width: 480px) {
  .popRegions-list li {
    width: calc(33.3333% - 0.4166875rem);
  }
}
@media only screen and (min-width: 600px) {
  .popRegions-list li {
    width: calc(25% - 0.46875rem);
  }
}
@media screen and (min-width: 768px) {
  .subpage .fullSize-hero {
    background-image: none !important;
    background-color: var(--cool-800);
  }
  .subpage .fullSize-hero:after {
    display: none;
  }
  .subpage .fullSize-hero .hero-wrap {
    justify-content: flex-end;
    padding: 0 0 1.875rem;
    height: 11.25rem;
  }
  .subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li {
    justify-content: flex-start;
    border-radius: 0 2rem 2rem 0;
    min-width: 17.5rem;
    transition: all 0.2s ease;
    cursor: pointer;
  }
  .subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li.destination-button {
    flex-direction: row;
    border-radius: 2em 0 0 2rem;
    box-shadow: inset 0.0625rem 0 0 var(--cool-400), inset 0 -0.0625em 0 var(--cool-400), inset 0 0.0625rem 0 var(--cool-400);
  }
  .subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li.destination-button:hover {
    box-shadow: inset 0.125rem 0 0 var(--cool-500), inset 0 -0.125rem 0 var(--cool-500), inset 0 0.125em 0 var(--cool-500);
  }
  .subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li.search-button {
    display: flex;
  }
  .subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li:hover {
    background: var(--cool-700);
    box-shadow: inset 0 0 0 0.125rem var(--cool-500);
  }
  .subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li div {
    width: auto;
  }
  .subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li span.filter {
    display: none;
  }
}
.bkmeMenu-wrapper {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: var(--cool-800);
  z-index: 12;
}
.bkmeMenu-wrapper .regionThumb {
  display: none;
}
.bkmeMenu-wrapper .bkmeMenu-sections {
  display: none;
}
.bkmeMenu-wrapper .bkmeMenu-body {
  position: fixed;
  top: 5rem;
  right: 0;
  bottom: 4rem;
  left: 0;
  padding: 0 3.125rem 3.125rem;
  overflow: auto;
  box-sizing: border-box;
}
.bkmeMenu-wrapper .bkmeMenu-body .tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  color: var(--white);
  font-size: var(--text-size-sm);
}
.bkmeMenu-wrapper .bkmeMenu-body .tabs a,
.bkmeMenu-wrapper .bkmeMenu-body .tabs span {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--white);
  margin-bottom: 1.25rem;
  height: 3.125rem;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-600);
}
.bkmeMenu-wrapper .bkmeMenu-body .tabs span {
  box-shadow: inset 0 -0.125rem 0 var(--cool-400);
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li:after {
  position: absolute;
  right: 0;
  top: 1.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  content: "east";
  font-family: "Material Icons";
  font-size: var(--text-size-lg);
  color: var(--cool-200);
  width: 1.125rem;
  height: 1.125rem;
  pointer-events: none;
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li.category:after {
  content: "expand_more";
  transition: all 0.2s;
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li.category.active:after {
  transform: rotate(180deg);
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li ul li:after {
  display: none;
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li {
  position: relative;
  list-style: none;
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li.active a {
  box-shadow: none;
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li a {
  display: flex;
  align-items: center;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-normal);
  color: var(--white);
  height: 3.5rem;
  box-shadow: inset 0 -0.1rem 0 rgba(var(--white-rgb), var(--alpha1));
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li ul {
  display: none;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  padding-bottom: 3rem;
  box-sizing: border-box;
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li ul li {
  width: auto;
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li ul li:last-of-type {
  display: none;
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li ul li a {
  flex-direction: column;
  grid-gap: 0.3125rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  text-align: center;
  height: auto;
  box-shadow: none;
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li ul li img {
  border-radius: 0.25rem;
  width: 100%;
}
.bkmeMenu-wrapper .bkmeMenu-body .browseAll li.active ul {
  display: grid !important;
}
.bkmeMenu-wrapper .bkmeMenu-body .browsePopular {
  display: none;
}
.bkmeMenu-wrapper .bkmeMenu-body .restaurantApp-browse {
  display: none;
}
.bkmeMenu-wrapper .bkmeMenu-footer {
  position: fixed;
  bottom: 0;
  display: flex;
  justify-content: space-around;
  align-items: center;
  list-style: none;
  width: 100%;
  height: 4rem;
  box-shadow: inset 0 0.0625rem 0 var(--cool-600);
  box-sizing: border-box;
}
.bkmeMenu-wrapper .bkmeMenu-footer a {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: var(--text-size-2xs);
  color: var(--cool-100);
  grid-gap: 0.125rem;
}
.bkmeMenu-wrapper .bkmeMenu-footer a .material-symbols-outlined {
  font-size: 1.25rem;
}

body.subpage .bkmeNav.navOpen .searchTrigger-segmented {
  display: none;
}

body.map .bkmeNav .searchTrigger-segmented {
  display: none;
}

body.map:has(.navOpen) .mapSearch-Wrapper {
  display: none;
}

body.map:has(.mapToggles[style="display:flex;"]) .mapSearch-Wrapper.mobile {
  display: none;
}

.home .bkmeNav:not(.active) {
  background-color: transparent;
}
.home .bkmeNav .searchTrigger-segmented {
  display: none;
}

.fullPage {
  opacity: 1;
  transition: all 0.15s ease-in-out;
  transition-delay: 0.2s;
}
.fullPage.mobNav {
  position: relative;
  height: 0;
  opacity: 1;
  transition: all 0.15s ease-in-out;
  transition-delay: 0.3s;
  z-index: 1;
}

.bkmeNav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  grid-gap: 0.9375rem;
  position: fixed;
  top: 0;
  left: 0;
  background-color: var(--cool-800);
  padding: 0 0.9375rem;
  width: 100%;
  height: 4.5rem;
  z-index: 13;
  transition: all ease-out 0.5s;
  box-sizing: border-box;
}
.bkmeNav li {
  display: flex;
  list-style: none;
}
.bkmeNav li.siteLogo a {
  display: flex;
  justify-content: center;
  align-items: center;
}
.bkmeNav li.siteLogo a img {
  width: 3rem;
  height: 2.25rem;
}
.bkmeNav li.navBurger {
  justify-content: flex-end;
  width: 2.25rem;
}
.bkmeNav li div {
  position: relative;
  width: 1.125rem;
  height: 0.875rem;
}
.bkmeNav li div span {
  display: block;
  position: absolute;
  left: 0;
  background: var(--white);
  width: 100%;
  height: 0.125rem;
  opacity: 1;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.bkmeNav li div span:nth-child(1) {
  top: 0;
}
.bkmeNav li div span:nth-child(2), .bkmeNav li div span:nth-child(3) {
  top: 0.375rem;
}
.bkmeNav li div span:nth-child(4) {
  top: 0.75rem;
}
.bkmeNav li div.open span:nth-child(1), .bkmeNav li div.open span:nth-child(4) {
  top: 0.4375rem;
  left: 50%;
  width: 0%;
}
.bkmeNav li div.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}
.bkmeNav li div.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.bkmeNav.active {
  background: var(--cool-800);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  box-shadow: 0 0 0.3125rem 0 rgba(var(--black-rgb), var(--alpha7));
}
.bkmeNav.active .searchTrigger-segmented {
  display: flex;
  transition: all 0.2s;
}
.bkmeNav.navOpen {
  background-color: transparent;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-800);
}
.bkmeNav .searchTrigger-segmented {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--white);
  width: 100%;
  max-width: 25rem;
}
.bkmeNav .searchTrigger-segmented li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  grid-column-gap: 0.3125rem;
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-2xs);
  font-weight: var(--text-weight-normal);
  padding: 0 0.625rem;
  width: 50%;
  height: 2.5rem;
  box-sizing: border-box;
  cursor: pointer;
}
.bkmeNav .searchTrigger-segmented li.search-button {
  border-radius: 0 1.25rem 1.25rem 0;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-400);
}
.bkmeNav .searchTrigger-segmented li.search-button i:after {
  content: "Find Experiences...";
}
.bkmeNav .searchTrigger-segmented li.destination-button {
  border-radius: 1.25rem 0 0 1.25rem;
  box-shadow: inset 0.0625rem 0 0 var(--cool-400), inset 0 0.0625rem 0 var(--cool-400), inset 0 -0.0625rem 0 var(--cool-400);
}
.bkmeNav .searchTrigger-segmented li.destination-button i:after {
  content: "Change Locations...";
}
.bkmeNav .searchTrigger-segmented li span {
  display: none;
  font-weight: var(--text-weight-semibold);
  width: 5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bkmeNav .searchTrigger-segmented li span em {
  display: block;
  font-style: normal;
  font-size: var(--text-size-4xs);
  color: var(--cool-200);
}
.bkmeNav .searchTrigger-segmented li i {
  position: relative;
  font-size: var(--text-size-xl);
  color: var(--cool-200);
}
.bkmeNav .searchTrigger-segmented li i:after {
  position: absolute;
  left: 2.2rem;
  top: -0.25rem;
  display: flex;
  content: "";
  font-family: "Open Sans";
  font-size: var(--text-size-3xs);
  font-weight: var(--text-weight-semibold);
  line-height: var(--text-leading-3xs);
  color: var(--white);
  width: 1.875rem;
  height: auto;
  white-space: break-spaces;
}

.ugc_bottomNav-wrapper {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  font-size: 0.625rem;
  color: var(--white);
  text-align: center;
  list-style-type: none;
  background: var(--cool-800);
  padding: 0;
  margin: 0 auto;
  max-width: 748rem;
  height: 4rem;
  z-index: 11;
  box-sizing: border-box;
}
.ugc_bottomNav-wrapper li a {
  display: flex;
  flex-direction: column;
  grid-gap: 0.125rem;
  font-size: var(--text-size-2xs);
  color: var(--cool-100);
  text-decoration: none;
}
.ugc_bottomNav-wrapper li a i {
  font-size: var(--text-size-xl);
}

.mapNav .bkmeNav.navOpen {
  background-color: transparent;
}

@media only screen and (min-width: 375px) {
  .bkmeNav .searchTrigger-segmented li span {
    display: block;
  }
  .bkmeNav .searchTrigger-segmented li i:after {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .bkmeNav {
    display: none;
  }
}
.nav-wrap {
  display: none;
}

@media only screen and (min-width: 768px) {
  .nav-wrap {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    justify-content: center;
    padding: 0 1.25rem;
    width: 100%;
    box-sizing: border-box;
    z-index: 10;
    transition: all 0.2s;
  }
  .nav-wrap.active {
    background: var(--cool-800);
    box-shadow: 0 0 0.5rem 0 rgba(var(--black-rgb), var(--alpha7));
  }
  .nav-wrap.active nav {
    box-shadow: none;
  }
  .nav-wrap nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: wrap;
    width: 100%;
    height: 4rem;
    box-sizing: border-box;
    box-shadow: inset 0 -0.0625rem 0 rgba(255, 255, 255, 0.35);
  }
  .nav-wrap nav .desktop-nav-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 0.625rem;
    width: 100%;
  }
  .nav-wrap nav .desktop-nav-wrapper .catNav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    grid-gap: 1rem;
    font-size: var(--text-size-xs);
    line-height: var(--text-leading-xs);
    font-weight: var(--text-weight-semibold);
    height: 4rem;
  }
  .nav-wrap nav .desktop-nav-wrapper .catNav li {
    display: flex;
    align-items: center;
  }
  .nav-wrap nav .desktop-nav-wrapper .catNav li:first-of-type {
    margin-left: 0;
  }
  .nav-wrap nav .desktop-nav-wrapper .catNav li a {
    color: var(--white);
    opacity: 1;
    cursor: pointer;
  }
  .nav-wrap nav .desktop-nav-wrapper .catNav li img {
    margin-right: 0.3125rem;
    max-width: 3rem;
    height: 2.25rem;
  }
  .nav-wrap nav .desktop-nav-wrapper .catNav li.active {
    position: relative;
  }
  .nav-wrap nav .desktop-nav-wrapper .catNav li.active:after {
    position: absolute;
    bottom: -0.6875rem;
    left: -0.1875rem;
    display: block;
    content: "";
    padding: 0 0.25rem;
    width: 100%;
    height: 0.25rem;
    box-shadow: inset 0 0.25rem 0 var(--white);
  }
  .nav-wrap nav .desktop-nav-wrapper .catNav li ul {
    display: flex;
    column-gap: 0.625rem;
    row-gap: 0.5rem;
    font-size: var(--text-size-xs);
    width: 100%;
  }
  .nav-wrap nav .desktop-nav-wrapper .catNav li ul:has(.thingstodo-nav), .nav-wrap nav .desktop-nav-wrapper .catNav li ul:has(.thingstodo-subpagenav) {
    display: flex;
    flex-wrap: wrap;
  }
  .nav-wrap nav .desktop-nav-wrapper .catNav li ul:has(.thingstodo-nav) .thingstodo-nav li:first-of-type,
  .nav-wrap nav .desktop-nav-wrapper .catNav li ul:has(.thingstodo-nav) .thingstodo-subpagenav li:first-of-type, .nav-wrap nav .desktop-nav-wrapper .catNav li ul:has(.thingstodo-subpagenav) .thingstodo-nav li:first-of-type,
  .nav-wrap nav .desktop-nav-wrapper .catNav li ul:has(.thingstodo-subpagenav) .thingstodo-subpagenav li:first-of-type {
    padding-right: 0.6875rem;
    box-shadow: inset -0.0625rem 0 0 rgba(255, 255, 255, 0.4);
  }
  .nav-wrap nav .desktop-nav-wrapper .loginNav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    column-gap: 1rem;
    font-size: var(--text-size-4xs);
    line-height: var(--text-leading-3xs);
    font-weight: var(--text-weight-normal);
    min-width: 12.5rem;
  }
  .nav-wrap nav .desktop-nav-wrapper .loginNav a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.1875rem;
    color: var(--white);
  }
  .nav-wrap nav .desktop-nav-wrapper .loginNav a:before {
    display: none;
  }
  .nav-wrap nav .desktop-nav-wrapper .loginNav a i {
    font-size: 2.1875rem;
    font-variation-settings: "FILL" 1, "wght" 200, "GRAD" 0, "opsz" 24;
    color: var(--white);
  }
  .nav-wrap nav .desktop-nav-wrapper .loginNav .fbAvatar {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .nav-wrap nav .desktop-nav-wrapper .loginNav .fbAvatar a {
    display: flex;
    align-items: center;
    gap: 0.375rem;
  }
  .nav-wrap nav .gh-nav-categories {
    display: none;
    background: var(--white);
    text-align: center;
    padding: 1rem;
    border-radius: 1.25rem;
    margin: 1.25rem auto 0;
    width: 100%;
    max-width: 62.5rem;
    box-sizing: border-box;
    box-shadow: 0 0.25rem 0.3125rem 0 rgba(var(--black-rgb), var(--alpha1)), 0 0.0625rem 0.625rem 0 rgba(var(--black-rgb), var(--alpha1)), 0 0.125rem 0.25rem -0.0625rem rgba(var(--black-rgb), var(--alpha2));
  }
  .nav-wrap nav .gh-nav-categories li {
    display: inline-flex;
    justify-content: center;
    align-items: stretch;
    margin: 0.625rem 0.3125rem;
    width: 8rem;
  }
  .nav-wrap nav .gh-nav-categories li a {
    font-size: var(--text-size-2xs);
    line-height: var(--text-leading-2xs);
    font-weight: var(--text-weight-semibold);
    color: var(--black);
  }
  .nav-wrap nav .gh-nav-categories li span {
    display: block;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 100%;
    border-radius: 0.3125rem;
    margin: 0 0 0.3125rem;
    width: 8rem;
    height: 4.5rem;
  }
  .nav-wrap nav .gh-nav-categories li.all-category {
    margin-top: 1rem;
    width: 100%;
    max-width: initial;
  }
  .nav-wrap nav .gh-nav-categories li.all-category a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--text-size-xs);
    line-height: var(--text-leading-xs);
    font-weight: var(--text-weight-semibold);
    color: var(--cool-400);
    border-radius: 1.125rem;
    margin: 0 auto;
    width: 15rem;
    height: 2.25rem;
    box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha2)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3));
  }
  .nav-wrap nav .gh-nav-categories li.cusine-category {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    grid-column-gap: 0.5em;
    grid-row-gap: 0.625rem;
    background-color: var(--cool-50);
    padding: 1rem;
    border-radius: 0.3125rem;
    box-shadow: inset 0 0 0 0.0625rem var(--cool-100);
    margin: 0.625rem 0 1.25rem;
    width: 100%;
    box-sizing: border-box;
  }
  .nav-wrap nav .gh-nav-categories li.cusine-category:before {
    display: block;
    content: "Cuisines";
    font-size: var(--text-size-base);
    line-height: var(--text-leading-base);
    font-weight: var(--text-weight-semibold);
    text-align: left;
    margin: 0 0 0.3125rem 0.3125rem;
    width: 100%;
  }
  .nav-wrap nav .gh-nav-categories li.cusine-category a {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-column-gap: 0.25rem;
    font-size: var(--text-size-2xs);
    line-height: var(--text-leading-2xs);
    color: var(--cool-400);
    background: var(--white);
    padding: 0 1.25rem;
    border-radius: 1.125rem;
    margin-bottom: 0;
    height: 2rem;
    box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
    transition: box-shadow 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
    width: 100%;
    max-width: 6.25rem;
  }
  .nav-wrap nav .gh-nav-categories li.cusine-category a:hover {
    color: var(--white);
    background-color: var(--cool-500);
    box-shadow: 0 0.25rem 0.3125rem 0 rgba(0, 0, 0, 0.14), 0 0.0625rem 0.625rem 0 rgba(0, 0, 0, 0.12), 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.2);
    cursor: pointer;
    opacity: 1;
  }
  .subpage .nav-wrap nav .desktop-nav-wrapper .catNav li.thingstodo-nav {
    display: none;
  }
}
@media only screen and (min-width: 900px) {
  .nav-wrap nav .desktop-nav-wrapper .catNav li.dealMap-nav-link a::before {
    content: "Deal ";
  }
}
.productHeading-wrapper {
  position: relative;
  padding: 0.625rem 0 1rem;
  border-bottom: 0.3125rem solid var(--cool-100);
}
.productHeading-wrapper:has(.qualmarkLogo) h1 {
  width: calc(100% - 4.5rem);
}
.productHeading-wrapper h1 {
  max-width: 55rem;
}
.productHeading-wrapper h1.newProduct-badge:before {
  display: block;
  content: "New on Bookme";
  margin: -0.625rem 0;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  color: var(--white);
  letter-spacing: 0;
  background-color: var(--gold-300);
  padding: 0 0.375rem;
  border-radius: 0.125rem;
  width: fit-content;
}
.productHeading-wrapper .allProducts {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  margin: 0.75rem 0 0.625rem;
  max-width: 80%;
}
.productHeading-wrapper .allProducts:after {
  content: "\f126";
  font-family: "Bookme-Icons";
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-5xl);
  color: var(--cool-400);
  padding-left: 0.3125rem;
}

.screen-title {
  position: relative;
  padding: 0 0 1.5rem;
  border-bottom: 0.1875rem solid var(--cool-200);
}
.screen-title:has(h1 ~ div) h1 {
  margin-bottom: 1.125rem;
}
.screen-title:has(.allProducts) h1 {
  width: 100%;
}
.screen-title:has(.allProducts) .priceLevel-wrapper {
  margin: 0.5rem 0 0.5625rem;
}
.screen-title h1 {
  position: relative;
  font-size: var(--text-size-2xl);
  line-height: 1.3;
  font-weight: var(--text-weight-bold);
  letter-spacing: -0.003125rem;
  width: calc(100% - 4.2rem);
}
.screen-title h1 + h1 {
  display: none;
}
.screen-title h1 + .review-user {
  margin-top: -0.625rem;
}
.screen-title .bookme-checkout-badge,
.screen-title .bookme-list-badge,
.screen-title .confirmation-badge,
.screen-title .new-product-badge,
.screen-title .paid-extras-badge,
.screen-title .region-name-badge,
.screen-title .title-badge {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-2xs);
  font-weight: var(--text-weight-normal);
  color: var(--white);
  background-color: var(--purple-800);
  padding: 0 0.5rem;
  border-radius: 0.125rem;
  margin-bottom: 0.5rem;
  width: fit-content;
  height: 1.25rem;
}
.screen-title .followList-badge span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 0.375rem;
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-2xs);
  font-weight: var(--text-weight-normal);
  color: var(--cool-500);
  padding: 0 0.375rem 0 0.5rem;
  border-radius: 0.1875rem;
  margin-top: 0.5rem;
  width: fit-content;
  height: 1.25rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-300);
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.screen-title .followList-badge span:before {
  font-family: "Open Sans";
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-semibold);
}
.screen-title .followList-badge span:hover {
  box-shadow: 0 0 0 0.0625rem var(--cool-500), inset 0 0 0 0.0625rem var(--cool-500);
}
.screen-title .followList-badge.followList span {
  font-variation-settings: "FILL" 0;
}
.screen-title .followList-badge.followList span:before {
  content: "Follow this List";
}
.screen-title .followList-badge.unfollowList span {
  font-variation-settings: "FILL" 1;
}
.screen-title .followList-badge.unfollowList span:before {
  content: "Following";
}
.screen-title .earn-airpoints,
.screen-title .earn-double-airpoints,
.screen-title .earn-triple-airpoints {
  margin-bottom: 0.625rem;
}
.screen-title .property_rating-type {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-3xs);
  font-weight: var(--text-weight-normal);
  color: var(--white);
  background-color: var(--purple-800);
  padding: 0 0.5rem;
  border-radius: 0.125rem;
  margin-bottom: 0.375rem;
  width: fit-content;
  height: 1.25rem;
}
.screen-title .property_rating-type span {
  font-size: var(--text-size-sm);
  margin: 0 0.1875rem;
}
.screen-title .review-user {
  font-style: italic;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-normal);
  margin: 0.625rem 0 1rem;
}
.screen-title .allProducts {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-normal);
  margin-top: 0.25rem;
}
.screen-title .allProducts a {
  display: flex;
  align-items: center;
}
.screen-title .allProducts a span {
  font-size: var(--text-size-2xl);
  font-variation-settings: "wght" 300;
}
.screen-title .list-creator-wrapper {
  display: flex;
  align-items: center;
  column-gap: 0.75rem;
  margin-left: 0.1875rem;
}
.screen-title .list-creator-wrapper:has(.avatar) .list-creator {
  margin: 0;
}
.screen-title .list-creator-wrapper .list-creator {
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  margin: 0.25rem 0 0.5rem;
}
.screen-title .list-creator-wrapper .list-creator a {
  display: flex;
  align-items: center;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
}
.screen-title .price-wrapper {
  margin: 0.3125rem 0 0.4375rem;
}
.screen-title .stars-wrapper {
  margin-top: 0.25rem;
}
.screen-title .discountPrice-wrapper {
  display: grid;
  grid-template-columns: minmax(min-content, max-content) minmax(min-content, max-content) minmax(min-content, max-content);
  justify-content: center;
  align-items: center;
  column-gap: 1.125rem;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  color: var(--neutral-500);
  margin: 1.25rem auto -1.5rem;
  height: 4rem;
  box-shadow: inset 0 0.0625rem 0 var(--cool-200);
}
.screen-title .discountPrice-wrapper a {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  column-gap: 0.125rem;
}
.screen-title .discountPrice-wrapper a span {
  font-size: var(--text-size-xl);
  color: var(--cool-500);
}
.screen-title .list-notes {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  padding-top: 1.5rem;
  margin: 2rem 0 0;
  box-shadow: inset 0 0.0625rem 0 var(--cool-200);
}
.screen-title .back-to-product {
  display: flex;
  align-items: center;
  column-gap: 0.375rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  color: var(--cool-400);
  margin-top: 0.625rem;
}
.screen-title .back-to-product span.material-symbols-outlined {
  font-size: var(--text-size-base);
}
.screen-title .back-to-product a {
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .screen-title h1 {
    font-size: var(--text-size-3xl);
    width: 100%;
    max-width: 48rem;
  }
  .screen-title .discountPrice-wrapper {
    justify-content: flex-start;
    column-gap: 1.125rem;
    margin: 0.375rem 0 0;
    height: auto;
    box-shadow: none;
  }
  .screen-title .discountPrice-wrapper a {
    flex-direction: row;
  }
}

.section-navigation,
.section-tabs {
  position: relative;
  padding: 0;
  border-radius: 0.625rem;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
}
.section-navigation:has(.section-tab:nth-of-type(4))::before,
.section-tabs:has(.section-tab:nth-of-type(4))::before {
  position: absolute;
  top: -2rem;
  right: 1rem;
  content: "swipe_right";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-base);
  font-variation-settings: "FILL" 1;
  color: var(--cool-400);
  transform: rotate(-10deg);
}
@media only screen and (min-width: 768px) {
  .section-navigation:has(.section-tab:nth-of-type(4))::before,
  .section-tabs:has(.section-tab:nth-of-type(4))::before {
    display: none;
  }
}
.section-navigation:has(.section-tab:nth-of-type(4))::after,
.section-tabs:has(.section-tab:nth-of-type(4))::after {
  position: absolute;
  top: -1.75rem;
  right: 2.25rem;
  content: "More";
  font-size: var(--text-size-2xs);
  color: var(--cool-400);
}
@media only screen and (min-width: 768px) {
  .section-navigation:has(.section-tab:nth-of-type(4))::after,
  .section-tabs:has(.section-tab:nth-of-type(4))::after {
    display: none;
  }
}
.section-navigation .section-tab__scroller,
.section-navigation .section-tabs__scroller,
.section-tabs .section-tab__scroller,
.section-tabs .section-tabs__scroller {
  position: relative;
  display: block;
  justify-content: flex-start;
  background: var(--cool-50);
  border-radius: 0.625rem 0.625rem 0 0;
  width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  box-shadow: 0 -0.0625rem 0 var(--cool-200), 0.0625rem 0 0 var(--cool-200), -0.0625rem 0 0 var(--cool-200);
}
.section-navigation .section-tab__scroller::-webkit-scrollbar,
.section-navigation .section-tabs__scroller::-webkit-scrollbar,
.section-tabs .section-tab__scroller::-webkit-scrollbar,
.section-tabs .section-tabs__scroller::-webkit-scrollbar {
  display: none;
}
.section-navigation .section-tab__scroller .section-tab__wrapper,
.section-navigation .section-tab__scroller .section-tabs__nav,
.section-navigation .section-tabs__scroller .section-tab__wrapper,
.section-navigation .section-tabs__scroller .section-tabs__nav,
.section-tabs .section-tab__scroller .section-tab__wrapper,
.section-tabs .section-tab__scroller .section-tabs__nav,
.section-tabs .section-tabs__scroller .section-tab__wrapper,
.section-tabs .section-tabs__scroller .section-tabs__nav {
  display: flex;
  flex-wrap: nowrap;
  height: 4rem;
}
@media only screen and (min-width: 768px) {
  .section-navigation .section-tab__scroller .section-tab__wrapper,
  .section-navigation .section-tab__scroller .section-tabs__nav,
  .section-navigation .section-tabs__scroller .section-tab__wrapper,
  .section-navigation .section-tabs__scroller .section-tabs__nav,
  .section-tabs .section-tab__scroller .section-tab__wrapper,
  .section-tabs .section-tab__scroller .section-tabs__nav,
  .section-tabs .section-tabs__scroller .section-tab__wrapper,
  .section-tabs .section-tabs__scroller .section-tabs__nav {
    width: auto;
  }
}
.section-navigation .section-tab__scroller .section-tab__wrapper .section-tab,
.section-navigation .section-tab__scroller .section-tabs__nav .section-tab,
.section-navigation .section-tabs__scroller .section-tab__wrapper .section-tab,
.section-navigation .section-tabs__scroller .section-tabs__nav .section-tab,
.section-tabs .section-tab__scroller .section-tab__wrapper .section-tab,
.section-tabs .section-tab__scroller .section-tabs__nav .section-tab,
.section-tabs .section-tabs__scroller .section-tab__wrapper .section-tab,
.section-tabs .section-tabs__scroller .section-tabs__nav .section-tab {
  display: flex;
  flex-flow: column nowrap;
  flex: 1 0 7.5rem;
  justify-content: center;
  align-items: center;
  gap: 0.1875rem;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200), inset 0.0625rem 0 0 var(--cool-200);
}
.section-navigation .section-tab__scroller .section-tab__wrapper .section-tab:first-of-type,
.section-navigation .section-tab__scroller .section-tabs__nav .section-tab:first-of-type,
.section-navigation .section-tabs__scroller .section-tab__wrapper .section-tab:first-of-type,
.section-navigation .section-tabs__scroller .section-tabs__nav .section-tab:first-of-type,
.section-tabs .section-tab__scroller .section-tab__wrapper .section-tab:first-of-type,
.section-tabs .section-tab__scroller .section-tabs__nav .section-tab:first-of-type,
.section-tabs .section-tabs__scroller .section-tab__wrapper .section-tab:first-of-type,
.section-tabs .section-tabs__scroller .section-tabs__nav .section-tab:first-of-type {
  border-radius: 0.625rem 0 0 0;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.section-navigation .section-tab__scroller .section-tab__wrapper .section-tab.active,
.section-navigation .section-tab__scroller .section-tabs__nav .section-tab.active,
.section-navigation .section-tabs__scroller .section-tab__wrapper .section-tab.active,
.section-navigation .section-tabs__scroller .section-tabs__nav .section-tab.active,
.section-tabs .section-tab__scroller .section-tab__wrapper .section-tab.active,
.section-tabs .section-tab__scroller .section-tabs__nav .section-tab.active,
.section-tabs .section-tabs__scroller .section-tab__wrapper .section-tab.active,
.section-tabs .section-tabs__scroller .section-tabs__nav .section-tab.active {
  background: var(--white);
  box-shadow: inset 0.0625rem 0 0 var(--cool-200);
}
.section-navigation .section-tab__scroller .section-tab__wrapper .section-tab.active:first-of-type,
.section-navigation .section-tab__scroller .section-tabs__nav .section-tab.active:first-of-type,
.section-navigation .section-tabs__scroller .section-tab__wrapper .section-tab.active:first-of-type,
.section-navigation .section-tabs__scroller .section-tabs__nav .section-tab.active:first-of-type,
.section-tabs .section-tab__scroller .section-tab__wrapper .section-tab.active:first-of-type,
.section-tabs .section-tab__scroller .section-tabs__nav .section-tab.active:first-of-type,
.section-tabs .section-tabs__scroller .section-tab__wrapper .section-tab.active:first-of-type,
.section-tabs .section-tabs__scroller .section-tabs__nav .section-tab.active:first-of-type {
  box-shadow: none;
}
.section-navigation .section-tab__scroller .section-tab__wrapper .section-tab .h3,
.section-navigation .section-tab__scroller .section-tabs__nav .section-tab .h3,
.section-navigation .section-tabs__scroller .section-tab__wrapper .section-tab .h3,
.section-navigation .section-tabs__scroller .section-tabs__nav .section-tab .h3,
.section-tabs .section-tab__scroller .section-tab__wrapper .section-tab .h3,
.section-tabs .section-tab__scroller .section-tabs__nav .section-tab .h3,
.section-tabs .section-tabs__scroller .section-tab__wrapper .section-tab .h3,
.section-tabs .section-tabs__scroller .section-tabs__nav .section-tab .h3 {
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-normal);
}
.section-navigation .section-tab__scroller .section-tab__wrapper .section-tab__icon,
.section-navigation .section-tab__scroller .section-tab__wrapper .section-tab i,
.section-navigation .section-tab__scroller .section-tabs__nav .section-tab__icon,
.section-navigation .section-tab__scroller .section-tabs__nav .section-tab i,
.section-navigation .section-tabs__scroller .section-tab__wrapper .section-tab__icon,
.section-navigation .section-tabs__scroller .section-tab__wrapper .section-tab i,
.section-navigation .section-tabs__scroller .section-tabs__nav .section-tab__icon,
.section-navigation .section-tabs__scroller .section-tabs__nav .section-tab i,
.section-tabs .section-tab__scroller .section-tab__wrapper .section-tab__icon,
.section-tabs .section-tab__scroller .section-tab__wrapper .section-tab i,
.section-tabs .section-tab__scroller .section-tabs__nav .section-tab__icon,
.section-tabs .section-tab__scroller .section-tabs__nav .section-tab i,
.section-tabs .section-tabs__scroller .section-tab__wrapper .section-tab__icon,
.section-tabs .section-tabs__scroller .section-tab__wrapper .section-tab i,
.section-tabs .section-tabs__scroller .section-tabs__nav .section-tab__icon,
.section-tabs .section-tabs__scroller .section-tabs__nav .section-tab i {
  font-size: var(--text-size-2xl);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}
.section-navigation:has(#no-results-list[style="display: flex;"]) ~ .deals_list--wrapper .pt_wrap,
.section-tabs:has(#no-results-list[style="display: flex;"]) ~ .deals_list--wrapper .pt_wrap {
  display: none;
}

.section-navigation {
  margin: 3rem 0.625rem 0;
}

.error-page {
  display: flex;
  justify-content: center;
}
.error-page .box.error-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.25rem 1.25rem 2rem;
  max-width: 40rem;
  width: 100%;
  box-sizing: border-box;
}
.error-page .box.error-box h2 {
  font-size: var(--text-size-lg);
  font-weight: var(--text-weight-semibold);
  color: var(--warm-500);
  margin-bottom: 0.3125rem;
}
.error-page .box.error-box p {
  font-size: var(--text-size-sm);
}
.error-page .box.error-box img {
  margin-bottom: 1.25rem;
  width: 8.125rem;
}
@media only screen and (min-width: 768px) {
  .error-page {
    padding-top: 5rem;
  }
  .error-page .box.error-box {
    padding: 1.25rem 5.625rem 2.5rem;
  }
  .error-page .box.error-box h2 {
    font-size: var(--text-size-xl);
  }
  .error-page .box.error-box p {
    font-size: var(--text-size-base);
  }
  .error-page .box.error-box img {
    width: 11.25rem;
  }
}

.helpCentre .help-box {
  padding: 1.5rem;
  border-radius: 0.625rem;
  margin: 2rem auto;
  max-width: 48rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
}
.helpCentre .help-box dl {
  text-align: left;
  padding: 0 0 0.625em;
  border-bottom: 0.0625rem solid var(--cool-200);
  margin: 0 0 0.625rem;
}
.helpCentre .help-box dl:last-of-type {
  border-bottom: none;
  padding-bottom: none;
}
.helpCentre .help-box dl a:hover {
  text-decoration: underline;
  color: var(--cool-500);
}
.helpCentre .help-box dl dt {
  font-size: var(--text-size-15);
  font-weight: var(--text-weight-semibold);
  color: var(--black);
  margin: 0 0 0.5rem;
}
.helpCentre .help-box dl dd {
  font-size: var(--text-size-13);
  padding: 0;
  margin: 0.3125rem 0;
}
.helpCentre .help-box .helpAnswers {
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-normal);
  background-color: var(--white);
  padding: 0.5rem 0 0.125rem;
  border-radius: 0.625rem;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
.helpCentre .help-box .helpAnswers h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
  background-color: var(--cool-700);
  padding: 0.5rem 1.125rem;
  border-radius: 1.5rem;
  margin: 0 -0.375rem 1.125rem;
}
.helpCentre .help-box .helpAnswers h2 + p {
  padding-top: 0;
}
.helpCentre .help-box .helpAnswers h3.question-heading {
  font-size: var(--text-size-base);
  text-align: left;
  margin-bottom: 1rem;
}
.helpCentre .help-box .helpAnswers h3:last-of-type a {
  border: none;
}
.helpCentre .help-box .helpAnswers h3 a {
  display: block;
  position: relative;
  font-weight: var(--text-weight-semibold);
  font-size: var(--text-size-xs);
  line-height: 1.35;
  color: var(--black);
  text-decoration: none;
  background-color: var(--cool-100);
  padding: 0.625rem 3.75rem 0.625rem 1rem;
  margin-bottom: 0.3125rem;
  cursor: pointer;
}
.helpCentre .help-box .helpAnswers h3 a:after {
  display: block;
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 1rem;
  content: "add";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-lg);
  color: var(--cool-500);
  line-height: 1;
  transition: all 0.2s ease;
}
.helpCentre .help-box .helpAnswers h3 a.active {
  color: var(--white);
  background-color: var(--cool-500);
  padding: 0.5rem 3.75rem 0.5rem 1rem;
  border-radius: 0.25rem 0.25rem 0 0;
  opacity: 1;
}
.helpCentre .help-box .helpAnswers h3 a.active:after {
  color: var(--white);
  transform: rotate(-45deg);
}
.helpCentre .help-box .helpAnswers h3 a.moreHelp {
  display: block;
  font-weight: var(--text-weight-semibold);
  color: var(--black);
  text-align: center;
  background: initial;
  padding: 1rem 0;
  margin-top: 1.25rem;
}
.helpCentre .help-box .helpAnswers h3 a.moreHelp:after {
  display: none;
}
.helpCentre .help-box .helpAnswers p {
  font-size: var(--text-size-xs);
  line-height: 1.5;
  margin: 0.625rem 0;
}
.helpCentre .help-box .helpAnswers p + p {
  margin: 0 0 0.625rem;
}
.helpCentre .help-box .helpAnswers p + div {
  margin-top: 1.25rem;
}
.helpCentre .help-box .helpAnswers p strong {
  color: var(--black);
}
.helpCentre .help-box .helpAnswers p a {
  color: var(--cool-400);
  text-decoration: underline;
}
.helpCentre .help-box .helpAnswers .bottom {
  padding: 0.3125rem 1rem;
  border: 0.0625rem solid var(--cool-200);
  border-top: 0;
  border-radius: 0 0 0.3125rem 0.3125rem;
  margin: -0.3125rem auto 0.625rem;
}
.helpCentre .help-box .helpAnswers .contactus.bottom {
  border: initial;
}
.helpCentre .help-box .helpAnswers .contactus h4 {
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-bold);
  color: var(--black);
  padding: 0.6875rem 0 0;
}
.helpCentre .help-box .helpAnswers .contactus p {
  font-size: var(--text-size-xs);
  line-height: 1.5;
}
.helpCentre .help-box .helpAnswers .contactus p strong {
  display: block;
  font-weight: var(--text-weight-semibold);
}
.helpCentre .help-box .helpAnswers .contactus p em {
  display: block;
  margin-top: 0.3125rem;
}
.helpCentre .help-box .helpAnswers .contactus div {
  padding: 0;
  border-top: 0.0625rem solid var(--cool-200);
}

#no-results .no-products {
  padding-top: 0.625rem;
}

#no-results-list,
.no-products {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 0.5rem;
  font-weight: var(--text-weight-semibold);
  font-size: var(--text-size-11);
  color: var(--cool-600);
  text-align: center;
  background: var(--cool-25);
  padding: 2.25rem 1.25rem 2rem;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
@media only screen and (min-width: 768px) {
  #no-results-list,
  .no-products {
    background: transparent;
  }
}
#no-results-list .error-emoji,
.no-products .error-emoji {
  font-size: var(--text-size-4xl);
  line-height: 1.4;
  text-align: center;
  width: 100%;
}
#no-results-list .clear-filters,
.no-products .clear-filters {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-normal);
  color: var(--cool-500);
  background-color: var(--white);
  padding: 0 1.25rem;
  border-radius: 1.5rem;
  margin: 1rem 0;
  height: 2.75rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  transition: box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
#no-results-list .clear-filters:hover,
.no-products .clear-filters:hover {
  box-shadow: inset 0 0 0 0.1875rem var(--cool-400);
}

.no-products {
  padding: 2.125rem 1.25rem 2.5rem;
  margin-top: 0;
}

.fourohfour-box {
  display: flex;
  justify-self: center;
  align-self: center;
  width: 100%;
  max-width: 40rem;
}
.fourohfour-box p {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  text-align: center;
}
.fourohfour-box p.sub-head {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-700);
  text-align: center;
  margin: 0.875rem 0 0;
}
.fourohfour-box img {
  margin: 0.625rem auto;
  width: 5rem;
}

.terms-box h3 {
  font-weight: var(--text-weight-bold);
  text-align: left;
  margin: 1.5rem 0 0.5rem;
}
.terms-box p {
  font-size: var(--text-sise-15);
  line-height: var(--text-leading-sm);
  margin-bottom: 0.625rem;
}
.terms-box p strong {
  font-weight: var(--text-weight-semibold);
}
.terms-box ol, .terms-box ul {
  font-size: var(--text-sise-15);
  line-height: var(--text-leading-sm);
  margin: 0 0 0.625rem 1.5rem;
}
.terms-box ol li, .terms-box ul li {
  margin: 0 0 0.625rem 1.5rem;
}

.slide-box .slide-card .slide-card__body .terms h1 {
  font-size: var(--text-size-lg);
  color: var(--cool-600);
  margin-bottom: 0.5rem;
}
.slide-box .slide-card .slide-card__body .terms h3 {
  margin: 1.25rem 0 0.625rem;
}
.slide-box .slide-card .slide-card__body .terms p {
  font-size: var(--text-size-xs);
  line-height: 1.5;
  margin-bottom: 0.3125rem;
}
.slide-box .slide-card .slide-card__body .terms p strong {
  font-weight: var(--text-weight-semibold);
}
.slide-box .slide-card .slide-card__body .terms ul, .slide-box .slide-card .slide-card__body .terms ol {
  font-size: var(--text-size-xs);
  line-height: 1.5;
  margin-bottom: 0.3125rem;
}
.slide-box .slide-card .slide-card__body .terms ul li, .slide-box .slide-card .slide-card__body .terms ol li {
  padding: 0 0 0 0.3125rem;
  margin: 0 0 0 2rem;
}

.activityWrapper .productHeading-wrapper {
  max-width: 100%;
}
.activityWrapper .activityText {
  position: relative;
  margin: 2rem auto 4.5rem;
  box-sizing: border-box;
}
.activityWrapper .activityText:not(.diningProduct) .attractionList,
.activityWrapper .activityText:not(.diningProduct) .productDescription {
  order: initial;
}
.activityWrapper .activityText:not(.diningProduct) .productDescription {
  margin-bottom: 0;
}

.bookingGrid h2 {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
  font-weight: var(--text-weight-bold);
  color: var(--black);
  letter-spacing: -0.03125rem;
  text-align: center;
  margin-bottom: 1.25rem;
}
.bookingGrid .ticketType-wrapper {
  margin: 0 auto 2.5rem;
  max-width: 30rem;
}

.bookingGrid-wrapper {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.625rem;
}
.bookingGrid-wrapper + .bookingGrid-wrapper {
  margin-top: 6.25rem;
}
.bookingGrid-wrapper + .bookingGrid-wrapper .dateHeader.multi:before {
  content: "step";
  transform: rotate(0deg);
}
.bookingGrid-wrapper + .bookingGrid-wrapper .dateHeader.multi:after {
  content: "Return";
}
.bookingGrid-wrapper:has(.bookingTime:only-child) {
  margin-bottom: 0;
}
.bookingGrid-wrapper:has(.bookingTime:only-child):after {
  display: none;
}
.bookingGrid-wrapper:has(.bookingTime:only-child) .weekScroller {
  display: none;
  overflow: hidden;
}
.bookingGrid-wrapper:has(.bookingTime:only-child) ~ .buttonsRight {
  display: none;
}
.bookingGrid-wrapper:after {
  position: absolute;
  top: 9.375rem;
  right: 0;
  content: "";
  display: block;
  width: 1rem;
  height: calc(100% - 9.375rem);
  box-shadow: inset -0.1875rem 0 0.1875rem rgba(0, 0, 0, 0.2);
  z-index: 1;
}
.bookingGrid-wrapper .dateHeader {
  display: grid;
  grid-template-columns: 1fr max-content;
  font-size: var(--text-size-2xs);
  padding: 0.75rem 1rem 1rem;
  border-top: 0.1875rem solid var(--cool-200);
  width: calc(100% - 0.0625rem);
  box-sizing: border-box;
}
.bookingGrid-wrapper .dateHeader div h3, .bookingGrid-wrapper .dateHeader div .h3 {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-2xs);
  font-weight: var(--text-weight-bold);
}
.bookingGrid-wrapper .dateHeader div h3 strong, .bookingGrid-wrapper .dateHeader div .h3 strong {
  font-weight: var(--text-weight-bold);
}
.bookingGrid-wrapper .dateHeader div h3 .bookingDates, .bookingGrid-wrapper .dateHeader div .h3 .bookingDates {
  display: block;
}
.bookingGrid-wrapper .dateHeader div p {
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-3xs);
  margin-top: 0.375rem;
}
.bookingGrid-wrapper .dateHeader a {
  display: flex;
  align-items: center;
  font-size: 0;
  cursor: pointer;
}
.bookingGrid-wrapper .dateHeader a:before {
  content: "date_range";
  font-size: var(--text-size-3xl);
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}
.bookingGrid-wrapper .dateHeader a:after {
  content: "keyboard_arrow_down";
  font-size: var(--text-size-lg);
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}
.bookingGrid-wrapper .dateHeader .icons8-swipe-right {
  display: none;
}
.bookingGrid-wrapper .dateHeader.multi {
  padding-top: 2.5rem;
}
.bookingGrid-wrapper .dateHeader.multi:before {
  position: absolute;
  top: 0.5rem;
  font-family: "Material Symbols Outlined";
  content: "step_out";
  font-size: 2.5rem;
  line-height: 1;
  color: var(--cool-300);
  transform: rotate(90deg);
}
.bookingGrid-wrapper .dateHeader.multi:after {
  position: absolute;
  top: 1.375rem;
  left: 3.5rem;
  content: "Depart";
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-3xs);
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  background-color: var(--cool-500);
  padding: 0 0.3125rem 0.0625rem;
  border-radius: 0.125rem;
}
.bookingGrid-wrapper .dateHeader.multi h3 span:first-of-type {
  display: none;
}
.bookingGrid-wrapper .bookingTime {
  display: block;
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-normal);
  background-color: var(--cool-50);
  padding: 0.5rem 0 0.5rem;
  box-shadow: inset -0.0625rem 0 0 var(--cool-200), inset 0.0625rem 0 0 var(--cool-200);
}
.bookingGrid-wrapper .bookingTime:first-of-type {
  background-color: var(--cool-700);
  padding: 0;
  margin-bottom: 1.25rem;
  height: 3.75rem;
  box-shadow: inset 0 -0.3125rem 0 var(--cool-400);
}
.bookingGrid-wrapper .bookingTime:nth-of-type(2):not(:last-of-type) {
  padding-top: 0;
  box-shadow: inset -0.0625rem 0.0625rem 0 var(--cool-200), inset 0.0625rem 0 0 var(--cool-200);
}
.bookingGrid-wrapper .bookingTime:last-of-type:not(:only-child) {
  padding-bottom: 2rem;
  box-shadow: inset -0.0625rem -0.1875rem 0 var(--cool-200), inset 0.0625rem 0 0 var(--cool-200);
}
.bookingGrid-wrapper .bookingTime:only-child {
  position: relative;
  width: 3rem;
}
.bookingGrid-wrapper .bookingTime:only-child:after {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  content: "Sorry, this product is not available on these dates.";
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  background: var(--cool-700);
  max-width: 63.75rem;
  width: calc(100vw - 2rem);
  min-width: 100%;
  height: 3.75rem;
  box-shadow: inset 0 -0.3125rem 0 var(--cool-400);
}
.bookingGrid-wrapper .bookingTime label {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-2xs);
  text-align: center;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  margin: 0;
  width: 3rem;
  height: 6.25rem;
  transform: rotate(180deg);
}
.bookingGrid-wrapper .bookingTime span {
  margin-top: 0.1875rem;
}
.bookingGrid-wrapper .weekScroller {
  border-bottom: 0.1875rem solid var(--cool-200);
  width: calc(100% - 3rem) !important;
  overflow: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.bookingGrid-wrapper .weekScroller .weekWrapper {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  padding-bottom: 1.25rem;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper {
  display: flex;
  column-gap: 1rem;
  padding: 0 1.25rem;
  width: fit-content;
  min-height: initial;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper:first-of-type {
  background-color: var(--cool-700);
  font-size: var(--text-size-xs);
  color: var(--white);
  margin-bottom: 0.3125rem;
  height: 3.75rem;
  box-shadow: inset 0 -0.3125rem 0 var(--cool-400);
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookDate {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 11.875rem;
  box-sizing: border-box;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity {
  position: relative;
  display: grid;
  grid-template-rows: 1.75rem 1fr;
  row-gap: 0.625rem;
  background-color: var(--white);
  padding: 0.625rem;
  border-radius: 0.8rem;
  width: 11.875rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  box-sizing: border-box;
  transition: all 0.2s ease-in-out;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity:not(.empty):hover {
  box-shadow: inset 0 0 0 0.125rem var(--cool-400), 0 0 0 0.0625rem var(--cool-400);
  cursor: pointer;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity:before {
  display: flex;
  justify-content: center;
  align-items: center;
  content: "Best Price";
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-500);
  background-color: var(--cool-25);
  padding: 0 0.625rem;
  border-radius: 1rem;
  width: fit-content;
  min-width: 3rem;
  height: 2rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-300);
  box-sizing: border-box;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.dealDiscount-1:before, .bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.dealDiscount-2:before, .bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.dealDiscount-3:before {
  content: "Deal";
  color: var(--black);
  background-color: var(--green-500);
  box-shadow: inset 0 0 0 0.0625rem var(--green-700);
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.dealDiscount-1 .bookPrices, .bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.dealDiscount-2 .bookPrices, .bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.dealDiscount-3 .bookPrices {
  color: var(--white);
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.selected {
  box-shadow: inset 0 0 0 0.125rem var(--cool-400), 0 0 0 0.0625rem var(--cool-400);
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.selected:before {
  display: none;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.selected h3 {
  display: flex;
  align-items: center;
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-normal);
  color: var(--white);
  background: var(--cool-700);
  padding: 0 0.5rem 0 0.625rem;
  border-radius: 0.3125rem;
  height: 1.75rem;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.selected h3 strong {
  font-weight: var(--text-weight-bold);
  margin-right: 0.3125rem;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.selected h3:after {
  content: "shopping_cart";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-xl);
  font-variation-settings: "FILL" 1;
  margin-left: auto;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.selected .bookPrices {
  color: var(--white);
  background: var(--cool-500);
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.selected.dealDiscount-1 .bookPrices, .bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.selected.dealDiscount-2 .bookPrices, .bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.selected.dealDiscount-3 .bookPrices {
  background: var(--cool-500);
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.empty {
  grid-template-rows: 1fr;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.empty:before {
  display: none;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity:not(.selected) .booking-spaces {
  display: none;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity .bookPrices {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
  background: var(--cool-50);
  padding: 0.75rem 0.75rem 1.25rem;
  border-radius: 0.25rem;
  margin: 0;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity .bookPrices li {
  display: flex;
  flex-direction: column;
  row-gap: 0.3125rem;
  font-size: var(--text-size-13);
  line-height: var(--text-leading-3xs);
  font-weight: var(--text-weight-bold);
  font-style: italic;
  list-style: none;
  padding: 0;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity .bookPrices li:has(.selling-out-warning) {
  flex-direction: row;
  align-items: center;
  column-gap: 0.5rem;
  row-gap: 0.25rem;
  flex-wrap: wrap;
  padding-bottom: 0.75rem;
  border-bottom: 0.0625rem dotted rgba(255, 255, 255, 0.5);
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity .bookPrices li:has(.selling-out-warning) span {
  width: 100%;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity .bookPrices li:has(.selling-out-warning) span.rate {
  font-size: var(--text-size-lg);
  width: fit-content;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity .bookPrices li:has(.selling-out-warning) span.selling-out-warning {
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-4xs);
  font-style: italic;
  text-transform: initial;
  max-width: 3.0625rem;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity .bookPrices li span {
  font-size: var(--text-size-3xs);
  font-weight: var(--text-weight-normal);
  font-style: normal;
  text-transform: uppercase;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity .bookPrices li span.rate {
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
  text-transform: initial;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.dealDiscount-1 .bookPrices {
  background: #e68200;
  box-shadow: none;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.dealDiscount-2 .bookPrices {
  background: var(--warm-400);
  box-shadow: none;
}
.bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper .bookActivity.dealDiscount-3 .bookPrices {
  background: var(--warm-500);
  box-shadow: none;
}
@media only screen and (min-width: 768px) {
  .bookingGrid-wrapper {
    margin: 0;
  }
  .bookingGrid-wrapper .dateHeader {
    padding: 1rem 0;
  }
  .bookingGrid-wrapper .dateHeader.multi {
    padding-top: 2.75rem;
  }
  .bookingGrid-wrapper .dateHeader.multi:after {
    left: 2.875rem;
  }
}

.booking-button-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 2rem;
  margin-top: 2rem;
}
.booking-button-wrapper .gift-experience-voucher {
  max-width: 19.5rem;
}
.booking-button-wrapper .gift-experience-voucher a {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  grid-gap: 0.5rem;
}
.booking-button-wrapper .gift-experience-voucher a span {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  color: var(--purple-800);
  text-align: center;
  background-color: transparent;
  padding: 0;
  border-radius: 0;
}
.booking-button-wrapper .gift-experience-voucher a span strong {
  display: block;
}
.booking-button-wrapper .gift-experience-voucher a .material-symbols-outlined {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-13);
  color: var(--white);
  background-color: var(--purple-800);
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
}
.booking-button-wrapper .gift-experience-voucher a:hover strong {
  text-decoration: underline;
}

.totalWrapper:has(dl) {
  margin-top: 3rem;
}
.totalWrapper h4 {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--black);
  margin-bottom: 0.75rem;
}
.totalWrapper dl {
  display: grid;
  align-items: center;
  row-gap: 0.625rem;
  padding: 0.625rem 0 1rem;
  box-shadow: 0 -0.0625rem 0 var(--cool-200);
  width: 100%;
}
.totalWrapper dl dt {
  display: grid;
  grid-template-columns: auto 6.25rem;
  align-items: center;
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-2xs);
  color: var(--cool-600);
  padding: 0 0.3125rem 0 0;
}
.totalWrapper dl dt.fees-and-taxes {
  color: var(--black);
  background: var(--amber-50);
  padding: 0.3125rem 0.625rem;
  border-radius: 0.25rem 0.25rem 0 0;
  margin-top: 0.625rem;
  height: initial;
  box-shadow: inset 0 0.0625rem 0 var(--warm-100), inset 0.0625rem 0 0 var(--warm-100), inset -0.0625rem 0 0 var(--warm-100);
}
.totalWrapper dl dt.instant-discount {
  background: var(--green-50);
  padding: 0.3125rem 0.625rem 0.0625rem;
  border-radius: 0.25rem 0.25rem 0 0;
  margin-top: 0.625rem;
  height: initial;
  box-shadow: inset 0 0.0625rem 0 var(--green-600), inset 0.0625rem 0 0 var(--green-600), inset -0.0625rem 0 0 var(--green-600);
}
.totalWrapper dl dt i {
  font-size: var(--text-size-xl);
  color: var(--cool-500);
  margin-left: auto;
  cursor: pointer;
}
.totalWrapper dl dt span {
  line-height: var(--text-leading-xs);
}
.totalWrapper dd {
  display: grid;
  grid-template-columns: max-content max-content;
  justify-content: space-between;
  align-items: center;
  font-size: var(--text-size-base);
  font-weight: var(--text-weight-semibold);
  color: var(--black);
  padding: 0 0.625rem 0 0;
}
.totalWrapper dd span {
  display: flex;
  align-items: center;
  position: relative;
  font-size: var(--text-size-11);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-semibold);
  background-color: var(--cool-200);
  padding: 0 1.25rem 0 0.5rem;
  border-radius: 0 0.0625rem 0.0625rem 0;
  min-width: 5rem;
  height: 1.5rem;
  box-sizing: border-box;
  transition: all 0.2s ease;
}
.totalWrapper dd span:after {
  position: absolute;
  top: 0;
  right: -0.75rem;
  content: "";
  border-top: 0.75rem solid transparent;
  border-bottom: 0.75rem solid transparent;
  border-left: 0.75rem solid var(--cool-200);
}
.totalWrapper dd span:hover {
  color: white;
  background-color: var(--cool-400);
  cursor: pointer;
}
.totalWrapper dd span:hover:after {
  border-left-color: var(--cool-400);
}
.totalWrapper dd.fee-type {
  font-size: var(--text-size-xs);
  background: var(--amber-50);
  padding: 0 0.625rem 0.3125rem;
  margin-top: -0.625rem;
  box-shadow: inset 0.0625rem 0 0 var(--warm-100), inset -0.0625rem 0 0 var(--warm-100);
}
.totalWrapper dd.fee-type:last-of-type {
  padding: 0 0.625rem 0.3125rem;
  border-radius: 0;
  margin-bottom: 0.3125rem;
  box-shadow: inset 0 -0.0625rem 0 var(--warm-100), inset 0.0625rem 0 0 var(--warm-100), inset -0.0625rem 0 0 var(--warm-100);
}
.totalWrapper dd.fee-type div {
  font-size: var(--text-size-xs);
}
.totalWrapper dd.fee-type span {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  background: none;
  padding: 0;
  height: initial;
}
.totalWrapper dd.fee-type span:after {
  display: none;
}
.totalWrapper dd.discount-offer {
  font-size: var(--text-size-xs);
  background: var(--green-50);
  padding: 0 0.625rem 0.3125rem;
  margin: -0.625rem 0;
  box-shadow: inset 0 -0.0625rem 0 var(--green-600), inset 0.0625rem 0 0 var(--green-600), inset -0.0625rem 0 0 var(--green-600);
}
.totalWrapper dd.discount-offer div {
  font-size: var(--text-size-xs);
}
.totalWrapper dd.discount-offer span {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  background: none;
  padding: 0;
  height: initial;
}
.totalWrapper dd.discount-offer span:hover {
  color: var(--black);
  background: transparent;
  cursor: initial;
}
.totalWrapper dd.discount-offer span:after {
  display: none;
}
.totalWrapper dd.discount-offer span.discount-countdown {
  color: var(--warm-600);
  padding-left: 0.25rem;
}
.totalWrapper dd.discount-offer span.discount-countdown #timer2 {
  padding: 0 0.25rem;
  min-width: auto;
}
.totalWrapper .extras-holder h4 {
  display: none;
  justify-content: space-between;
  align-items: flex-end;
  box-shadow: 0 -0.0625rem 0 var(--cool-200);
  height: 3rem;
}
.totalWrapper .extras-holder:has(dl) h4 {
  display: flex;
}
.totalWrapper .precheckTotal {
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: right;
  background-color: var(--cool-50);
  padding: 0.875rem 0.625rem 1rem;
  margin-top: 1rem;
  box-shadow: 0 -0.0625rem 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-300);
}
.totalWrapper .precheckTotal h3 {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
}
.totalWrapper .precheckTotal h3.no-charge {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.3125rem;
  font-size: var(--text-size-sm);
}
.totalWrapper .precheckTotal h3.no-charge i {
  color: var(--green-600);
}
.totalWrapper .precheckTotal span {
  display: inline-block;
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-3xs);
}
.totalWrapper .precheckTotal:has(+ .precheckTotalExchange:not(.hide2)) {
  box-shadow: none;
}
.totalWrapper .precheckTotal:has(+ .precheckTotalExchange:not(.hide2)) + .precheckTotalExchange {
  margin-top: 0;
}
.totalWrapper .edit-paid-transport a {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--black);
  margin-bottom: 0.75rem;
  box-shadow: 0 -0.0625rem 0 var(--cool-200);
  height: 3rem;
}
.totalWrapper .edit-paid-transport a span {
  display: flex;
  align-items: center;
  height: 1.5rem;
}
.totalWrapper .edit-paid-transport a:after {
  display: flex;
  justify-content: center;
  align-items: center;
  content: "add";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-base);
  font-weight: var(--text-weight-normal);
  color: var(--cool-500);
  line-height: 0;
  border-radius: 1.125rem;
  width: 3rem;
  height: 1.5rem;
  box-shadow: inset 0 0 0 0.125rem var(--cool-200);
  transition: all 0.2s;
  cursor: pointer;
}
.totalWrapper .edit-paid-transport a.remove-voucher:after {
  content: "delete";
}
.totalWrapper .edit-paid-transport a:hover {
  opacity: 1;
}
.totalWrapper .edit-paid-transport a:hover:after {
  color: white;
  background: var(--cool-500);
  box-shadow: none;
}
.totalWrapper .edit-paid-transport a.voucher-refund:after {
  display: none;
}
.totalWrapper .edit-paid-transport a[onclick="removeVoucher ();return false;"], .totalWrapper .edit-paid-transport a.remove-voucher {
  content: "Clear";
}
.totalWrapper .edit-paid-transport:has(+ dl:not(.voucher-applied)) a {
  height: 4rem;
}
.totalWrapper .edit-paid-transport:has(+ dl:not(.voucher-applied)) a:after {
  content: "edit";
  font-variation-settings: "FILL" 1;
}
.totalWrapper .voucher-red {
  color: var(--warm-600);
}
.totalWrapper .voucher-refund {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.1875rem;
  font-size: var(--text-size-2xs);
  color: var(--purple-800);
  padding: 1rem 0 0;
  border-top: 0.0625rem solid var(--cool-200);
}
.totalWrapper .voucher-refund i {
  font-size: var(--text-size-lg);
}
.totalWrapper .voucher-refund a {
  color: var(--purple-800);
  text-decoration: underline;
  cursor: pointer;
}

/* -- AIRPOINTS -- */
.airpointsTotal {
  display: grid;
  grid-template-rows: 2rem 1fr;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
}
.airpointsTotal svg {
  margin: 0 auto;
  width: 2rem;
  height: 2rem;
}
.airpointsTotal span {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  line-height: var(--text-leading-xs);
  text-align: center;
}
.airpointsTotal span a {
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-normal);
}

@media only screen and (min-width: 768px) {
  .airpointsTotal {
    grid-template-columns: 2rem 1fr;
    grid-template-rows: 1fr;
  }
  .airpointsTotal span {
    text-align: left;
  }
  .booking-button-wrapper {
    align-items: flex-end;
  }
  .booking-button-wrapper .gift-experience-voucher {
    max-width: 39rem;
  }
  .booking-button-wrapper .gift-experience-voucher a {
    flex-direction: row;
    justify-content: flex-end;
    grid-gap: 0.625rem;
  }
  .booking-button-wrapper .gift-experience-voucher a span {
    text-align: right;
  }
  .totalWrapper {
    margin-left: auto;
    max-width: 25rem;
  }
}
.checkOut .totalWrapper dd span:hover {
  color: var(--black);
  background-color: var(--cool-200);
  cursor: initial;
}
.checkOut .totalWrapper dd span:hover:after {
  border-left-color: var(--cool-200);
}

/* -- HOTEL TOTALS -- */
.totalWrapper dl.hotelTotals dt span {
  display: block;
}
.totalWrapper dl.hotelTotals dt span:not(:first-of-type) {
  font-size: var(--text-size-2xs);
  color: var(--black);
}

/* -- MULTIPLE LEG BOOKINGS (FERRIES, ETC) -- */
.multi-grid-error {
  position: relative;
  display: block;
  background: var(--amber-50);
  padding: 0.75rem 0;
  margin-top: -0.0625rem;
  width: 100%;
  box-shadow: inset 0 -0.0625rem 0 var(--warm-600), inset 0 0.0625rem 0 var(--warm-600);
}
@media only screen and (min-width: 768px) {
  .multi-grid-error {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    max-width: 25rem;
  }
}
.multi-grid-error .message-text {
  display: block;
  text-align: center;
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  color: var(--warm-600);
  margin: 0 auto;
  max-width: 18.75rem;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .multi-grid-error .message-text {
    display: flex;
    align-items: center;
    gap: 0.3125rem;
    text-align: left;
    margin: 0;
    max-width: 21.9375rem;
  }
}
.multi-grid-error .message-text i {
  display: block;
  font-size: var(--text-size-lg);
  margin-bottom: 0.0625rem;
}

.media .videoWrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 aspect ratio (9/16 = 0.5625) */
  height: 0;
  overflow: hidden;
  border-radius: 1rem;
}
.media .videoWrapper iframe {
  position: absolute;
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
}
.media .show-pics {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 1rem;
  transition: all 0.2s ease-in-out;
}
.media .show-pics .images-activity-button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.375rem;
  font-size: var(--text-size-xs);
  background-color: var(--white);
  padding: 0.375rem 0.6125rem;
  border-radius: 0.3125rem;
  box-shadow: 0 0 0 0 rgba(var(--black-rgb), var(--alpha1)), 0 0 0 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
  transition: box-shadow 0.2s ease-in-out;
  cursor: pointer;
}
.media .show-pics .images-activity-button:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-400);
}
.media .show-pics .images-activity-button i {
  font-size: var(--text-size-lg);
}
.media .carousel {
  position: relative;
}
@media (min-width: 768px) {
  .media .carousel {
    padding: 1rem;
    border-radius: 1rem;
    box-shadow: inset 0 0 0 0.125rem var(--cool-200);
  }
}
.media .carousel .image-gallery {
  display: flex;
  gap: 0.375rem;
  border-radius: 0.5rem;
  overflow-x: scroll;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
@media (min-width: 768px) {
  .media .carousel .image-gallery {
    gap: 0.375rem;
  }
}
.media .carousel .image-gallery::-webkit-scrollbar {
  display: none;
}
.media .carousel .gallery-cell {
  flex: 0 0 auto;
  scroll-snap-align: start;
  width: calc(100% - 1.5rem);
}
@media (min-width: 768px) {
  .media .carousel .gallery-cell {
    width: calc(50% - 0.25rem);
  }
}
.media .carousel .gallery-cell-image {
  border-radius: 0.5rem;
  width: 100%;
  transition: transform 0.2s ease;
}
.media .carousel .gallery-controls {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}
.media .carousel .gallery-controls:has(.video-activity-button) {
  padding-top: 1rem;
}
@media (min-width: 768px) {
  .media .carousel .gallery-controls {
    position: absolute;
    bottom: 1.5rem;
    right: 1.5rem;
    justify-content: flex-end;
    padding: 0;
    width: fit-content;
  }
}
.media .carousel .video-activity-button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.375rem;
  font-size: var(--text-size-xs);
  background-color: var(--white);
  padding: 0.375rem 0.6125rem;
  border-radius: 0.3125rem;
  box-shadow: 0 0 0 0 rgba(var(--black-rgb), var(--alpha1)), 0 0 0 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
  transition: box-shadow 0.2s ease-in-out;
  cursor: pointer;
}
@media (min-width: 768px) {
  .media .carousel .video-activity-button {
    margin-right: 0.5rem;
  }
}
.media .carousel .video-activity-button:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-400);
}
.media .carousel .video-activity-button i {
  font-size: var(--text-size-lg);
}
.media .carousel .btn--prev-next.material-symbols-outlined {
  display: none;
}
@media (min-width: 768px) {
  .media .carousel .btn--prev-next.material-symbols-outlined {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--text-size-2xl);
    background-color: var(--white);
    border-radius: 1.5rem;
    width: 2.75rem;
    height: 2.75rem;
    box-shadow: 0 0 0 0 rgba(var(--black-rgb), var(--alpha1)), 0 0 0 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
    transition: box-shadow 0.2s ease-in-out;
    cursor: pointer;
  }
  .media .carousel .btn--prev-next.material-symbols-outlined:hover {
    box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-400);
  }
}

.productIntroduction:has(+ .structuredProduct) {
  display: none;
}

.productIntroduction:has(+ .reserve-table) {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-600);
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 0.0625rem solid var(--cool-200);
  margin: 2rem auto 0;
  max-width: 48rem;
}
.productIntroduction:has(+ .reserve-table):empty {
  border-bottom: none;
  margin-top: 0;
}
.productIntroduction:has(+ .reserve-table) ~ .structuredProduct .productIntroduction {
  display: none;
}

.custom-voucher + .structuredProduct:has(.attractionList) {
  display: block;
  margin: 3rem auto 2rem;
  max-width: 3.75rem;
}
.custom-voucher + .structuredProduct .productIntroduction {
  display: none;
}

.structuredProduct {
  position: relative;
  display: grid;
  grid-row-gap: 2rem;
  margin-top: 1.5rem;
  pointer-events: none;
}
.structuredProduct:has(.attractionList) {
  grid-template-columns: repeat(2, 50%);
  grid-template-rows: repeat(3, auto);
  grid-column-gap: 2rem;
  max-width: calc(100% - 2rem);
}
.structuredProduct:has(.attractionList) > * {
  grid-column: 1/3;
}
.structuredProduct[data-open-menu] {
  pointer-events: initial;
}
.structuredProduct a {
  pointer-events: initial;
}
.structuredProduct .productIntroduction {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-align: center;
  margin: 0 auto;
  width: 100%;
}
.structuredProduct .productIntroduction p {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-600);
  margin-bottom: 0;
}
.structuredProduct .productIntroduction:has(+ .productDescription) {
  margin: 0 auto;
  max-width: 48rem;
}
.structuredProduct .productIntroduction:has(+ .productDescription) + .productDescription {
  padding-top: 2rem;
  border-top: 0.0625rem solid var(--cool-200);
}
.structuredProduct .attractionList {
  display: flex;
  flex-direction: column;
  row-gap: 1.125rem;
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
  background-color: var(--white);
  padding: 0.5rem 1.125rem 0.1875rem;
  border: 0.0625rem solid var(--cool-200);
  border-radius: 0.625rem;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
.structuredProduct .attractionList h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  background-color: var(--cool-700);
  padding: 0.0625rem 0 0;
  border-radius: 1rem;
  margin: 0 -0.75rem;
  height: 1.5rem;
}
.structuredProduct .attractionList ul {
  font-weight: var(--text-weight-normal);
  text-align: left;
  margin: 0;
  padding: 0 0 0 2rem;
}
.structuredProduct .attractionList ul li {
  position: relative;
  line-height: 1.5;
  list-style-type: none;
  padding: 0 0 0.625rem 0;
}
.structuredProduct .attractionList ul li:before {
  position: absolute;
  top: 0;
  left: -2rem;
  content: "star";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-sm);
  color: var(--cool-700);
}
.structuredProduct .productDescription {
  font-size: var(--text-size-15);
  line-height: var(--text-leading-base);
}
.structuredProduct .productDescription p {
  margin-bottom: 0.625rem;
}
.structuredProduct .productDescription p:last-of-type {
  margin-bottom: 0;
}
.structuredProduct .itineraryList {
  display: flex;
  flex-direction: column;
  row-gap: 0.8125rem;
  font-size: var(--text-size-sm);
  background-color: var(--cool-25);
  padding: 1.125rem 1rem;
  border: 0.0625rem solid var(--cool-200);
  border-radius: 0.625rem;
  margin: 0 auto;
  width: 100%;
  max-width: 48rem;
  box-sizing: border-box;
}
.structuredProduct .itineraryList h3 {
  display: flex;
  align-items: center;
  column-gap: 0.8125rem;
  font-size: var(--text-size-15);
  font-weight: var(--text-weight-semibold);
  color: var(--neutral-700);
}
.structuredProduct .itineraryList h3:before {
  position: relative;
  content: "list_alt_check";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-2xl);
  line-height: var(--text-leading-sm);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  color: var(--cool-600);
}
.structuredProduct .itineraryList ul {
  display: grid;
  row-gap: 0.625rem;
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
}
.structuredProduct .itineraryList ul li {
  position: relative;
  list-style-type: none;
  padding-left: 2.375rem;
}
.structuredProduct .itineraryList ul li.icons8-checkmark:before {
  position: absolute;
  top: 0.0625rem;
  left: 0.1875rem;
  content: "check";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-sm);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  color: var(--cool-600);
}
.structuredProduct .optionsWrapper {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  background: var(--white);
  padding: 1.125rem 1rem;
  border: 0.0625rem solid var(--cool-200);
  border-radius: 0.625rem;
  margin: 0 auto;
  box-sizing: border-box;
  clear: both;
  width: 100%;
  max-width: 48rem;
}
.structuredProduct .optionsWrapper div {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 0.625rem;
  font-size: var(--text-size-sm);
  padding: 0 2.25rem;
  margin: 0;
  box-sizing: border-box;
}
.structuredProduct .optionsWrapper div:before, .structuredProduct .optionsWrapper div:after {
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-2xl);
  line-height: var(--text-leading-sm);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  color: var(--cool-600);
}
.structuredProduct .optionsWrapper div.accessibleList:before {
  content: "accessible";
}
.structuredProduct .optionsWrapper div.badweatherList:before {
  content: "storm";
}
.structuredProduct .optionsWrapper div.cuisineList:before {
  content: "local_dining";
}
.structuredProduct .optionsWrapper div.drinkingList:before {
  content: "local_bar";
}
.structuredProduct .optionsWrapper div.durationList:before {
  content: "watch";
}
.structuredProduct .optionsWrapper div.importantNote:before {
  content: "local_activity";
  color: var(--gold-500);
}
.structuredProduct .optionsWrapper div.inclusionList:before {
  content: "playlist_add_check_circle";
}
.structuredProduct .optionsWrapper div.kidfriendlyList:before {
  content: "child_friendly";
}
.structuredProduct .optionsWrapper div.locationList:before {
  content: "pin_drop";
}
.structuredProduct .optionsWrapper div.menuList:before {
  content: "menu_book";
}
.structuredProduct .optionsWrapper div.optionalNotes:before {
  content: "text_snippet";
}
.structuredProduct .optionsWrapper div.priceList:after {
  content: "payments";
  line-height: var(--text-leading-3xl);
}
.structuredProduct .optionsWrapper div.productMap:before {
  content: "explore";
}
.structuredProduct .optionsWrapper div.productNotes:before {
  content: "info";
}
.structuredProduct .optionsWrapper div.restrictedageList:before {
  content: "block";
}
.structuredProduct .optionsWrapper div.servicehoursList:before {
  content: "schedule";
}
.structuredProduct .optionsWrapper div.tobringList:before {
  content: "assignment_turned_in";
}
.structuredProduct .optionsWrapper div.latitudeImg-wrapper {
  padding: 1rem;
  margin: 1rem auto;
}
.structuredProduct .optionsWrapper h3 {
  font-size: var(--text-size-15);
  font-weight: var(--text-weight-semibold);
  color: var(--neutral-700);
}
.structuredProduct .optionsWrapper ul {
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
}
.structuredProduct .optionsWrapper ul li {
  list-style: none;
  margin: 0 0 0.375rem;
}
.structuredProduct .optionsWrapper ul li:last-of-type {
  margin: 0;
}
.structuredProduct .optionsWrapper ul li p {
  margin-bottom: 0;
}
.structuredProduct .optionsWrapper ul li p + p {
  margin-top: 0.375rem;
}
.structuredProduct .optionsWrapper ul li p br {
  display: initial;
}
.structuredProduct .optionsWrapper ul li b {
  font-weight: var(--text-weight-semibold);
}
.structuredProduct .optionsWrapper .priceList {
  position: relative;
  row-gap: 0;
  padding: 0;
}
.structuredProduct .optionsWrapper .priceList:before {
  position: static;
  content: "Standard (Full Value) Pricing";
  font-family: inherit;
  font-variation-settings: inherit;
  font-size: var(--text-size-15);
  line-height: calc(var(--text-leading-2xl) + 0.1875rem);
  font-weight: var(--text-weight-semibold);
  color: var(--neutral-700);
  padding-left: 2.25rem;
}
.structuredProduct .optionsWrapper .priceList div {
  display: block;
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
}
.structuredProduct .optionsWrapper .priceList div.badge-bestPrice {
  position: absolute;
  top: 0;
  right: -0.8125rem;
  display: inline-block;
  background-image: url(../images/badge-bestPrice.png);
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-color: inherit;
  border: inherit;
  width: 3.6rem;
  height: 2.5rem;
}
.structuredProduct .optionsWrapper .priceList div span.price {
  font-weight: var(--text-weight-semibold);
}
.structuredProduct .optionsWrapper .priceList div span.ageLimit {
  font-size: var(--text-size-xs);
  font-weight: 300;
}
.structuredProduct .optionsWrapper .menuList li {
  color: var(--cool-400);
  cursor: pointer;
}
.structuredProduct .optionsWrapper .menuList li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 0.3125rem;
  font-size: var(--text-size-xs);
}
.structuredProduct .optionsWrapper .menuList li a:before {
  content: "open_in_new";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-lg);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  color: var(--cool-500);
}
.structuredProduct .optionsWrapper .menuList li i {
  display: none;
}
.structuredProduct .optionsWrapper .importantNote h3 {
  color: var(--gold-500);
}
@media only screen and (min-width: 768px) {
  .structuredProduct {
    grid-row-gap: 2rem;
    margin-top: 3rem;
  }
  .structuredProduct:has(.attractionList) .productIntroduction {
    grid-column: 1/2;
    background-color: var(--cool-100);
    padding: 1.25rem 2.5rem;
    border-radius: 0.625rem;
    margin: 0;
    width: auto;
    box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  }
  .structuredProduct .productIntroduction p {
    font-size: var(--text-size-xl);
    line-height: var(--text-leading-xl);
    font-weight: var(--text-weight-bold);
  }
  .structuredProduct .attractionList {
    grid-column: 2/3;
  }
  .structuredProduct .productDescription {
    padding-top: 2rem;
    border-top: 0.0625rem solid var(--cool-200);
    margin: 0 auto;
  }
  .structuredProduct .itineraryList {
    padding: 1.5rem 2rem;
  }
  .structuredProduct .optionsWrapper {
    padding: 1.5rem 2rem;
  }
  .structuredProduct .optionsWrapper .priceList div.badge-bestPrice {
    right: 0;
    width: 7.2rem;
    height: 5rem;
  }
}

.camper-holder {
  margin-top: 2rem;
}
.camper-holder.widget_Campers, .camper-holder.widget_RentalCars {
  margin-top: 0;
}

.svc {
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box;
}
.svc .text-xs {
  font-size: var(--text-size-xs) !important;
  line-height: 1.6 !important;
}
.svc .panel {
  background: var(--white) !important;
  border: none !important;
  border-radius: 0 !important;
  margin-bottom: 2rem !important;
  box-shadow: none !important;
}
.svc {
  /* == PROGRESS STEPPER ====================================== */
}
.svc .book-progress {
  margin: 2rem 0 !important;
}
.svc .book-progress .flx {
  font-size: var(--text-size-11) !important;
  border-radius: 1.125rem !important;
  height: 2.25rem !important;
  background: none !important;
  border-bottom: none !important;
  width: 100% !important;
  max-width: 28.75rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200) !important;
  overflow: hidden !important;
}
.svc .book-progress .flx .stage {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 0.3125rem !important;
  font-size: var(--text-size-xs) !important;
  color: var(--cool-600) !important;
  background-color: transparent !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  width: 100% !important;
  max-width: 7.1875rem !important;
}
.svc .book-progress .flx .stage:before {
  content: "star" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-base) !important;
  font-variation-settings: "FILL" 1 !important;
}
.svc .book-progress .flx .stage:nth-of-type(1):before {
  content: "search" !important;
}
.svc .book-progress .flx .stage:nth-of-type(2):before {
  content: "checklist" !important;
}
.svc .book-progress .flx .stage:nth-of-type(3):before {
  content: "credit_card" !important;
}
.svc .book-progress .flx .stage:nth-of-type(4):before {
  content: "flag_2" !important;
}
.svc .book-progress .flx .stage.stage__past {
  border: none !important;
}
.svc .book-progress .flx .stage.stage__past:before {
  display: none !important;
}
.svc .book-progress .flx .stage.stage__past a {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 0.3125rem !important;
  font-size: var(--text-size-xs) !important;
  color: var(--white) !important;
  text-decoration: none !important;
  background: var(--cool-600) !important;
  width: 100% !important;
  height: 100% !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
.svc .book-progress .flx .stage.stage__past a:before {
  content: "check" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-base) !important;
  font-variation-settings: "FILL" 1 !important;
}
.svc .book-progress .flx .stage.stage__present {
  color: var(--white) !important;
  background: var(--cool-600) !important;
  border: none !important;
  border-radius: 0 1.125rem 1.125rem 0 !important;
}
.svc {
  /* == CAROUSEL COMPONENT ================================== */
}
.svc .glide__track {
  border-radius: 0.1875rem !important;
  box-shadow: 0 0 0 0.0625rem var(--cool-200) !important;
}
.svc .glide__arrows {
  border-radius: 0.625rem !important;
}
.svc .glide__arrows .glide__arrow {
  display: none !important;
  justify-content: center !important;
  align-items: center !important;
  color: var(--cool-500) !important;
  background: none !important;
  background-color: var(--white) !important;
  border: none !important;
  border-radius: 0.5rem !important;
  height: 1.75rem !important;
  width: 2.25rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200) !important;
  box-shadow: 0 0 0 0 rgba(var(--black-rgb), var(--alpha1)), 0 0 0 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
@media only screen and (min-width: 768px) {
  .svc .glide__arrows .glide__arrow {
    display: flex !important;
  }
}
.svc .glide__arrows .glide__arrow:hover {
  color: var(--white) !important;
  background-color: var(--cool-500) !important;
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-500) !important;
}
.svc .glide__arrows .glide__arrow.glide__arrow--right, .svc .glide__arrows .glide__arrow.glide__arrow--left {
  top: initial !important;
  bottom: 0.9375rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .glide__arrows .glide__arrow.glide__arrow--right, .svc .glide__arrows .glide__arrow.glide__arrow--left {
    z-index: 1 !important;
  }
}
.svc .glide__arrows .glide__arrow.glide__arrow--right::before, .svc .glide__arrows .glide__arrow.glide__arrow--left::before {
  font-family: "Material Symbols Outlined";
  font-size: var(--font-size-2xl) !important;
}
.svc .glide__arrows .glide__arrow.glide__arrow--right {
  right: 0.9375rem !important;
}
.svc .glide__arrows .glide__arrow.glide__arrow--right::before {
  content: "chevron_right";
}
.svc .glide__arrows .glide__arrow.glide__arrow--left {
  left: 0.9375rem !important;
}
.svc .glide__arrows .glide__arrow.glide__arrow--left::before {
  content: "chevron_left";
}
.svc .glide__bullets {
  bottom: 1.25rem !important;
  right: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: 0.375rem !important;
  width: 100% !important;
}
.svc .glide__bullets .glide__bullet {
  margin: 0 !important;
}
.svc .glide__bullets .glide__bullet.light {
  background-color: var(--white) !important;
}
.svc .glide__bullets .glide__bullet.glide__bullet--active, .svc .glide__bullets .glide__bullet:hover {
  background-color: var(--cool-300) !important;
}
.svc {
  /* == DATE RANGE PICKER COMPONENT ========================= */
}
.svc .daterangepicker {
  justify-content: space-around !important;
  gap: 0 !important;
  color: var(--black) !important;
  background: var(--white) !important;
  padding: 0.75rem 0.75rem 1.75rem !important;
  max-width: fit-content !important;
  width: 100% !important;
  box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
  .svc .daterangepicker {
    max-width: 40rem !important;
  }
}
.svc .daterangepicker:before {
  position: static !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  content: "Select dates for your booking" !important;
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-semibold) !important;
  text-align: center !important;
  color: var(--white) !important;
  background-color: var(--cool-600) !important;
  border: none !important;
  border-radius: 1rem !important;
  margin-bottom: 0.625rem !important;
  width: 100% !important;
  height: 2rem !important;
}
.svc .daterangepicker .drp-calendar {
  padding: 0.5rem !important;
}
.svc .daterangepicker .drp-calendar .calendar-table {
  background-color: transparent !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  max-width: 100% !important;
}
.svc .daterangepicker .drp-calendar .calendar-table th, .svc .daterangepicker .drp-calendar .calendar-table td {
  white-space: nowrap !important;
  text-align: center !important;
  vertical-align: middle !important;
  min-width: 32px !important;
  width: 32px !important;
  height: 24px !important;
  line-height: 24px !important;
  font-size: 12px !important;
  border-radius: 4px !important;
  border: 1px solid transparent !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th {
  font-weight: var(--text-weight-bold) !important;
  background: transparent !important;
  border-radius: 0.25rem !important;
  box-shadow: none !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type {
  box-shadow: none !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.prev, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.next, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.prev, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.next {
  position: relative !important;
  padding: 0 !important;
  vertical-align: top !important;
  box-shadow: none !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.prev:before, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.next:before, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.prev:before, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.next:before {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0.125rem !important;
  content: "" !important;
  background: var(--white) !important;
  border-radius: 50% !important;
  width: 1.5rem !important;
  height: 1.5rem !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  cursor: pointer !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.prev span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.next span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.prev span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.next span {
  border-color: var(--cool-400) !important;
  color: var(--white) !important;
  border: solid var(--black) !important;
  border-width: 0 0.125rem 0.125rem 0 !important;
  border-radius: 0 !important;
  display: inline-block !important;
  padding: 0.1875rem !important;
  margin: 0 !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.prev.prev span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.next.prev span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.prev.prev span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.next.prev span {
  margin-left: -0.325rem !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.prev.next span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.next.next span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.prev.next span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.next.next span {
  margin-right: -0.325rem !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.prev:hover:before, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.next:hover:before, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.prev:hover:before, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.next:hover:before {
  background: var(--cool-400) !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.prev:hover span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:first-of-type.next:hover span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.prev:hover span, .svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.next:hover span {
  border-color: var(--white) !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th:last-of-type.next:before {
  right: 0.125rem !important;
  left: initial !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr:first-of-type th.month {
  font-size: var(--text-size-sm) !important;
  font-weight: var(--text-weight-semibold) !important;
  color: var(--cool-500) !important;
  padding-bottom: 0.3125rem !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr th {
  background: var(--cool-50) !important;
  border-radius: 0 !important;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200) !important;
  cursor: default;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr th:first-of-type {
  border-radius: 0.25rem 0 0 0.25rem !important;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset 0 -0.0625rem 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200) !important;
}
.svc .daterangepicker .drp-calendar .calendar-table thead tr th:last-of-type {
  border-radius: 0 0.25rem 0.25rem 0 !important;
  box-shadow: inset -0.0625rem 0 0 var(--cool-200), inset 0 -0.0625rem 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200) !important;
}
.svc .daterangepicker .drp-calendar .calendar-table tbody td {
  background-color: var(--white) !important;
}
.svc .daterangepicker .drp-calendar .calendar-table tbody td.in-range {
  font-weight: var(--text-weight-normal) !important;
  color: var(--black) !important;
  background-color: var(--cool-200) !important;
  border-radius: 0 !important;
}
.svc .daterangepicker .drp-calendar .calendar-table tbody td.available:hover {
  color: var(--cool-500) !important;
  background-color: var(--cool-200) !important;
}
.svc .daterangepicker .drp-calendar .calendar-table tbody td.active {
  font-weight: var(--text-weight-normal) !important;
  color: var(--white) !important;
  background-color: var(--cool-400) !important;
}
.svc .daterangepicker .drp-calendar .calendar-table tbody td.active:hover {
  color: var(--white) !important;
  background-color: var(--cool-400) !important;
}
.svc .daterangepicker .drp-calendar .calendar-table tbody td.active.start-date {
  border-radius: 4px 0 0 4px !important;
}
.svc .daterangepicker .drp-calendar .calendar-table tbody td.active.end-date {
  border-radius: 0 4px 4px 0 !important;
}

.svc {
  /* == SEARCH FILTERS ====================================== */
}
.svc .search__filters-column .search__status,
.svc .search__filters-modal .search__status {
  font-size: var(--text-size-13) !important;
  font-weight: var(--text-weight-semibold) !important;
  line-height: 1.35 !important;
  color: var(--cool-500) !important;
  padding: 0 0 1.5rem !important;
  margin: 0 !important;
}
@media only screen and (min-width: 768px) {
  .svc .search__filters-column .search__status,
  .svc .search__filters-modal .search__status {
    padding: 0 0 0.625rem !important;
    border-bottom: 0.0625rem solid var(--cool-200) !important;
    margin: 0 0 0.625rem !important;
  }
}
.svc .search__filters-column .search__filter,
.svc .search__filters-modal .search__filter {
  gap: 0.625rem !important;
  padding-top: 1.25rem !important;
  border-top: 0.0625rem solid var(--cool-200) !important;
  margin-top: 1.25rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .search__filters-column .search__filter,
  .svc .search__filters-modal .search__filter {
    margin-top: 0.625rem !important;
  }
}
.svc .search__filters-column .search__filter .input.label .flx, .svc .search__filters-column .search__filter .input.checkbox .flx, .svc .search__filters-column .search__filter .input.radio .flx,
.svc .search__filters-modal .search__filter .input.label .flx,
.svc .search__filters-modal .search__filter .input.checkbox .flx,
.svc .search__filters-modal .search__filter .input.radio .flx {
  grid-template-columns: 1.25rem 1fr 1.875rem !important;
}
.svc .search__filters-column .search__filter .input.label .flx p:last-of-type, .svc .search__filters-column .search__filter .input.checkbox .flx p:last-of-type, .svc .search__filters-column .search__filter .input.radio .flx p:last-of-type,
.svc .search__filters-modal .search__filter .input.label .flx p:last-of-type,
.svc .search__filters-modal .search__filter .input.checkbox .flx p:last-of-type,
.svc .search__filters-modal .search__filter .input.radio .flx p:last-of-type {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: var(--text-size-2xs) !important;
  font-weight: var(--text-weight-semibold) !important;
  text-align: center !important;
  background-color: var(--cool-50) !important;
  border-radius: 0.625rem !important;
  margin-left: auto !important;
  width: 1.875rem !important;
  height: 1.25rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200) !important;
  transition: all 0.2s ease !important;
}
.svc .search__filters-column .search__filter .input.label:has(input:checked) .flx p:last-of-type, .svc .search__filters-column .search__filter .input.checkbox:has(input:checked) .flx p:last-of-type, .svc .search__filters-column .search__filter .input.radio:has(input:checked) .flx p:last-of-type,
.svc .search__filters-modal .search__filter .input.label:has(input:checked) .flx p:last-of-type,
.svc .search__filters-modal .search__filter .input.checkbox:has(input:checked) .flx p:last-of-type,
.svc .search__filters-modal .search__filter .input.radio:has(input:checked) .flx p:last-of-type {
  color: var(--white) !important;
  background-color: var(--cool-500) !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500) !important;
}
.svc .search__filters-column .search__filter .input.integer,
.svc .search__filters-modal .search__filter .input.integer {
  margin-top: 0.9375rem !important;
}
.svc .search__filters-column .search__filter .input.integer .flx,
.svc .search__filters-modal .search__filter .input.integer .flx {
  align-items: center !important;
  column-gap: 0.625rem;
}
.svc .search__filters-column .search__filter .input.integer .flx input,
.svc .search__filters-modal .search__filter .input.integer .flx input {
  flex-grow: 0 !important;
}
.svc .search__filters-column .search__filter .input.integer .flx button,
.svc .search__filters-modal .search__filter .input.integer .flx button {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: 0 !important;
  color: var(--cool-400) !important;
  background: var(--white) !important;
  border-radius: 50% !important;
  width: 2rem !important;
  max-width: 2rem !important;
  height: 2rem !important;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200) !important;
  transition: all 0.2s !important;
}
.svc .search__filters-column .search__filter .input.integer .flx button:hover,
.svc .search__filters-modal .search__filter .input.integer .flx button:hover {
  color: var(--white) !important;
  background-color: var(--cool-500) !important;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-500) !important;
}
.svc .search__filters-column .search__filter .input.integer .flx button.increment:before, .svc .search__filters-column .search__filter .input.integer .flx button.decrement:before,
.svc .search__filters-modal .search__filter .input.integer .flx button.increment:before,
.svc .search__filters-modal .search__filter .input.integer .flx button.decrement:before {
  content: "add" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-lg) !important;
}
.svc .search__filters-column .search__filter .input.integer .flx button.decrement:before,
.svc .search__filters-modal .search__filter .input.integer .flx button.decrement:before {
  content: "remove" !important;
}
.svc .search__filters-column .search__filter .input.range,
.svc .search__filters-modal .search__filter .input.range {
  margin-top: 0.9375rem !important;
}
.svc .search__filters-column .search__filter .input.range .irs .irs-min,
.svc .search__filters-column .search__filter .input.range .irs .irs-max,
.svc .search__filters-modal .search__filter .input.range .irs .irs-min,
.svc .search__filters-modal .search__filter .input.range .irs .irs-max {
  font-size: var(--text-size-11) !important;
}
.svc .search__filters-column .search__filter .input.range .irs .irs-from,
.svc .search__filters-column .search__filter .input.range .irs .irs-to,
.svc .search__filters-modal .search__filter .input.range .irs .irs-from,
.svc .search__filters-modal .search__filter .input.range .irs .irs-to {
  font-size: var(--text-size-11) !important;
  color: var(--white) !important;
  background-color: var(--cool-500) !important;
}
.svc {
  /* == FILTER CHIPS ======================================== */
}
.svc .search__pills-container {
  justify-content: center !important;
  gap: 0.5rem !important;
  margin-bottom: 1.25rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .search__pills-container {
    justify-content: flex-start !important;
  }
}
.svc .search__pills-container .search__pill {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: 0.1875rem !important;
  font-size: var(--text-size-xs) !important;
  color: var(--cool-500) !important;
  background: var(--white) !important;
  padding: 0 0.9375rem 0 0.625rem !important;
  height: 32px !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-400) !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
.svc .search__pills-container .search__pill:before {
  content: "check";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-base) !important;
}
.svc .search__pills-container .search__pill:hover {
  color: var(--white) !important;
  background-color: var(--cool-500) !important;
  box-shadow: inset 0 0 0 0.0625rem transparent !important;
}
.svc .search__pills-container .search__pill:hover:before {
  content: "close";
}
.svc .search__pills-container .search__pill:hover:after {
  display: none !important;
}

.book-status__root {
  max-width: 100% !important;
}
.book-status__root > h3 {
  font-size: 1.25rem !important;
  line-height: 1.45 !important;
  font-weight: var(--text-weight-semibold) !important;
  color: var(--cool-600) !important;
  padding-bottom: 1.125rem !important;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
  margin: 1.125rem 0 -0.7rem !important;
}
@media only screen and (min-width: 768px) {
  .book-status__root > h3 {
    margin-bottom: -1.375rem !important;
  }
}
.book-status__root h5 {
  display: none !important;
}
.book-status__root .timer {
  display: none !important;
}
.book-status__root .panel:has(.trip-detail) {
  display: grid !important;
  gap: 1.25rem 2rem !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media only screen and (min-width: 768px) {
  .book-status__root .panel:has(.trip-detail) {
    grid-template-columns: 1fr 1fr !important;
    gap: 0 2rem !important;
  }
}
.book-status__root .panel:has(.trip-detail) > div:has(.text-uppercase) {
  display: grid !important;
  gap: 0 !important;
  padding: 0.6125rem 0 0.9375rem !important;
  border-bottom: 0.0625rem solid var(--cool-200);
  margin-bottom: -1.25rem;
}
@media only screen and (min-width: 768px) {
  .book-status__root .panel:has(.trip-detail) > div:has(.text-uppercase) {
    grid-column-start: 1 !important;
    grid-column-end: 3 !important;
    margin-bottom: 0 !important;
  }
}
.book-status__root .panel:has(.trip-detail) > div:has(.text-uppercase) h3 {
  font-size: var(--text-size-11) !important;
  font-weight: var(--text-weight-normal) !important;
}
.book-status__root .panel:has(.trip-detail) > div:has(.text-uppercase) p {
  font-size: var(--text-size-xl) !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--black) !important;
  text-align: left !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  margin: 0.3125rem 0 0 !important;
}
.book-status__root .panel:has(.trip-detail) > div:has(.text-uppercase) p:before {
  content: "REF#: ";
}
.book-status__root .panel:has(.trip-detail) .trip-detail,
.book-status__root .panel:has(.trip-detail) .offering-detail {
  display: flex !important;
  flex-direction: column !important;
  row-gap: 1.125rem !important;
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-semibold) !important;
  background-color: var(--white) !important;
  padding: 0.5rem 1.125rem 1rem !important;
  border: 0.0625rem solid var(--cool-200) !important;
  border-radius: 0.625rem !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
@media only screen and (min-width: 768px) {
  .book-status__root .panel:has(.trip-detail) .trip-detail,
  .book-status__root .panel:has(.trip-detail) .offering-detail {
    margin: 2rem 0 0 !important;
  }
}
.book-status__root .panel:has(.trip-detail) .trip-detail > h2, .book-status__root .panel:has(.trip-detail) .trip-detail > h3,
.book-status__root .panel:has(.trip-detail) .offering-detail > h2,
.book-status__root .panel:has(.trip-detail) .offering-detail > h3 {
  order: initial !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: var(--text-size-sm) !important;
  line-height: 1 !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--white) !important;
  text-align: center !important;
  text-transform: uppercase !important;
  background-color: var(--cool-600) !important;
  padding: 0.0625rem 0 0 !important;
  border-radius: 1rem !important;
  margin: 0 -0.75rem !important;
  height: 1.5rem !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail > h2 + div, .book-status__root .panel:has(.trip-detail) .trip-detail > h3 + div,
.book-status__root .panel:has(.trip-detail) .offering-detail > h2 + div,
.book-status__root .panel:has(.trip-detail) .offering-detail > h3 + div {
  padding-top: 0.4375rem !important;
  border-top: 0.0625rem solid var(--cool-100) !important;
  margin-top: 0.5rem !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx {
  gap: 0 !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx h3,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx h3 {
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-semibold) !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx p,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx p {
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-normal) !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2 {
  position: relative !important;
  align-items: center !important;
  padding-bottom: 0.3125rem !important;
  padding-left: 1.875rem !important;
  border-bottom: 0.0625rem solid var(--cool-100) !important;
  margin-bottom: 0.3125rem !important;
  height: 2rem !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:before,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:before {
  position: absolute !important;
  top: 0.3125rem !important;
  left: 0 !important;
  content: "calendar_month" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-xl) !important;
  font-weight: var(--text-weight-normal) !important;
  color: var(--cool-700) !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:nth-of-type(2):before,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:nth-of-type(2):before {
  content: "groups" !important;
  font-variation-settings: "FILL" 1;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2 p:first-of-type,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2 p:first-of-type {
  font-weight: var(--text-weight-semibold) !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3),
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3) {
  padding-bottom: 0 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  height: auto !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3):before,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3):before {
  top: 0.625rem !important;
  content: "location_on" !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3) p:first-of-type,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3) p:first-of-type {
  font-weight: var(--text-weight-normal) !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3) + .gp-0-2,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3) + .gp-0-2 {
  height: auto !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3) + .gp-0-2:before,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3) + .gp-0-2:before {
  display: none !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3) + .gp-0-2 p:first-of-type,
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3) + .gp-0-2 p:first-of-type {
  font-weight: var(--text-weight-normal) !important;
}
.book-status__root .panel:has(.trip-detail) .trip-detail {
  margin-top: 1.125rem !important;
}
@media only screen and (min-width: 768px) {
  .book-status__root .panel:has(.trip-detail) .trip-detail {
    margin: 2rem 0 0 !important;
  }
}
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:before {
  content: "id_card" !important;
}
.book-status__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:nth-of-type(2):before {
  content: "directions_car" !important;
  font-variation-settings: "FILL" 1;
}
.book-status__root .quote-steps__root {
  background: var(--cool-100) !important;
  padding: 2rem 2rem 5rem !important;
  margin-top: 1rem !important;
  border-radius: 0.25rem !important;
}
@media only screen and (min-width: 768px) {
  .book-status__root .quote-steps__root {
    padding: 2rem 5rem 5rem !important;
  }
}
.book-status__root .quote-steps__root:before {
  display: flex;
  justify-content: center;
  font-size: var(--text-size-xl) !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--cool-600) !important;
  line-height: 1.35 !important;
  content: "Your Booking Status";
  margin-bottom: 2rem;
}
.book-status__root .quote-steps__root .quote-steps__step {
  gap: 0.5rem !important;
  border-radius: 0.25rem !important;
  margin-bottom: 0 !important;
}
.book-status__root .quote-steps__root .quote-steps__step h3 {
  font-size: var(--text-size-base) !important;
  line-height: 1.35 !important;
}
@media only screen and (min-width: 768px) {
  .book-status__root .quote-steps__root .quote-steps__step h3 {
    font-size: var(--text-size-lg) !important;
  }
}
.book-status__root .quote-steps__root .quote-steps__step h3:before {
  display: block !important;
  font-size: var(--text-size-sm) !important;
  font-weight: var(--text-weight-normal) !important;
  margin-bottom: 0.5rem !important;
}
.book-status__root .quote-steps__root .quote-steps__step.quote-steps__running h3:before {
  content: "Ok, we're on it!" !important;
}
.book-status__root .quote-steps__root .quote-steps__step.quote-steps__pending h3:before {
  content: "Next step..." !important;
}
.book-status__root .quote-steps__root .quote-steps__step.quote-steps__success h3:before {
  content: "All done!" !important;
  color: var(--green-800) !important;
}
.book-status__root .quote-steps__root .quote-steps__step.quote-steps__failure h3:before {
  content: "Oops! Something went wrong...";
  color: var(--red-700) !important;
}
.book-status__root .quote-steps__root .vl {
  background-color: var(--green-600) !important;
  margin: 0.3125rem auto !important;
  max-width: 0.125rem !important;
  height: 2.5rem !important;
  box-shadow: none !important;
}

.camper-holder .svc .search-form {
  max-width: 80rem;
}
.camper-holder .svc .search-form .tabs__contents {
  box-shadow: inset 0 0.0625rem 0 var(--cool-200), inset 0 -0.0625rem 0 var(--cool-200);
}
@media only screen and (min-width: 768px) {
  .camper-holder .svc .search-form .tabs__contents {
    border-radius: 0 0 0.625rem 0.625rem !important;
    box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200) !important;
  }
}
.camper-holder .svc .date-input-container input,
.camper-holder .svc .selectize-dropdown,
.camper-holder .svc .selectize-input {
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200) !important;
}

.svc button,
.svc .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: var(--text-size-sm) !important;
  line-height: 1;
  padding: 0 !important;
  transition: all 0.2s ease !important;
}
.svc button.request-quote-button,
.svc .button.request-quote-button {
  margin: 1.5rem auto 0 !important;
}
.svc button.request-quote-button .ico,
.svc .button.request-quote-button .ico {
  margin: -0.25rem 0.5rem 0 0 !important;
}
.svc button.search__button-modal, .svc button.green, .svc button.modal-button, .svc button.text-md.text-nowrap, .svc button.book-options__submit, .svc button#submit,
.svc .button.search__button-modal,
.svc .button.green,
.svc .button.modal-button,
.svc .button.text-md.text-nowrap,
.svc .button.book-options__submit,
.svc .button#submit {
  font-weight: var(--text-weight-medium) !important;
  color: var(--white) !important;
  background-color: var(--cool-500) !important;
  border: none !important;
  border-radius: 1.25rem !important;
  margin-bottom: 0 !important;
  max-width: 11.25rem !important;
  height: 40px !important;
  box-shadow: 0.125rem 0.125rem 0.3125rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.3125rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200) !important;
  appearance: none !important;
  box-sizing: border-box !important;
}
.svc button.modal-button,
.svc .button.modal-button {
  color: var(--cool-600) !important;
  background-color: var(--white) !important;
}
.svc button.modal-button:hover,
.svc .button.modal-button:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-400) !important;
}
.svc button.modal__close.modal-close,
.svc .button.modal__close.modal-close {
  position: absolute !important;
  top: 1rem !important;
  right: 0.9375rem !important;
  color: transparent;
  font-size: 0;
  text-shadow: none !important;
  cursor: pointer !important;
}
.svc button.modal__close.modal-close:before,
.svc .button.modal__close.modal-close:before {
  content: "close" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-xl) !important;
  color: var(--white) !important;
  transition: all 0.2s ease !important;
}
.svc button.modal__close.modal-close:hover:before,
.svc .button.modal__close.modal-close:hover:before {
  color: var(--cool-400) !important;
}
.svc button.light,
.svc .button.light {
  color: var(--white) !important;
  background-color: var(--cool-500) !important;
  border-bottom: none !important;
}
.svc label,
.svc .input-label {
  font-size: var(--text-size-xs) !important;
  margin: 0 0 0.3125rem !important;
  color: var(--black) !important;
}
.svc label.date-input-container span,
.svc .input-label.date-input-container span {
  font-size: 0 !important;
  z-index: 1 !important;
}
.svc label.date-input-container span:before,
.svc .input-label.date-input-container span:before {
  font-family: "Material Symbols Outlined" !important;
  font-variation-settings: "FILL" 1, "wght" 300, "GRAD" 0, "opsz" 24 !important;
  font-size: var(--text-size-xl) !important;
  color: var(--cool-400) !important;
}
.svc label.date-input-container span:before,
.svc .input-label.date-input-container span:before {
  content: "date_range" !important;
}
.svc input,
.svc textarea {
  font-size: var(--text-size-13) !important;
  color: var(--black) !important;
  background: var(--white) !important;
  border: none !important;
  width: 100% !important;
  transition: all 0.2s ease !important;
}
.svc .input.select {
  min-height: 3rem !important;
}
.svc .input.label p, .svc .input.checkbox p, .svc .input.radio p {
  color: var(--black) !important;
}
.svc .input.label:hover > input:not(:disabled) ~ .flx .checkmark,
.svc .input.label:hover > input:not(:disabled) ~ .flx .dot, .svc .input.checkbox:hover > input:not(:disabled) ~ .flx .checkmark,
.svc .input.checkbox:hover > input:not(:disabled) ~ .flx .dot, .svc .input.radio:hover > input:not(:disabled) ~ .flx .checkmark,
.svc .input.radio:hover > input:not(:disabled) ~ .flx .dot {
  background-color: var(--white) !important;
  box-shadow: inset 0 0 0 0.125rem var(--cool-500) !important;
}
.svc .input.label .flx, .svc .input.checkbox .flx, .svc .input.radio .flx {
  display: grid;
  grid-template-columns: 1.25rem 1fr !important;
  align-items: center !important;
  column-gap: 0.5rem !important;
  padding: 0 !important;
}
.svc .input.label .flx .checkmark,
.svc .input.label .flx .dot, .svc .input.checkbox .flx .checkmark,
.svc .input.checkbox .flx .dot, .svc .input.radio .flx .checkmark,
.svc .input.radio .flx .dot {
  background: var(--white);
  border: none !important;
  border-radius: 0.1875rem !important;
  margin: 0 !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-300) !important;
  transition: all 0.2s ease;
}
.svc .input.label .flx .dot, .svc .input.checkbox .flx .dot, .svc .input.radio .flx .dot {
  border-radius: 50% !important;
}
.svc .input.label .flx p, .svc .input.checkbox .flx p, .svc .input.radio .flx p {
  font-size: var(--text-size-xs) !important;
  line-height: 1.35 !important;
}
.svc .input.with-icon .ico {
  display: none !important;
}
.svc .input.with-icon .selectize-control {
  min-width: auto !important;
  height: 3rem !important;
}
.svc .input.with-icon .selectize-control .selectize-input {
  padding-left: 0.9375rem !important;
}
.svc .checkbox:has(input:checked) .ico {
  top: initial !important;
  font-size: var(--text-size-13) !important;
  transition: all 0.2s ease;
}
.svc .checkbox:has(input:checked) .ico.tick {
  position: relative;
  font-size: 0 !important;
  line-height: 0 !important;
  margin-top: 0 !important;
}
.svc .checkbox:has(input:checked) .ico.tick:before {
  display: block !important;
  position: relative !important;
  top: -0.0625rem !important;
  left: 0 !important;
  content: "check_box" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-2xl) !important;
  line-height: 0.85 !important;
  color: var(--cool-500) !important;
  font-variation-settings: "FILL" 1 !important;
  background: var(--white) !important;
  text-indent: -0.12rem !important;
  border-radius: 0.1875rem !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500) !important;
}
.svc .selectize-input {
  font-size: var(--text-size-13) !important;
  color: var(--black) !important;
  background-color: var(--white) !important;
  border: none !important;
  border-radius: 0.5rem !important;
  height: 3rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), 0 0 0 0 transparent !important;
  transition: all 0.2s ease !important;
}
.svc .selectize-input:hover {
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500), 0 0 0 0.125rem var(--cool-500) !important;
}
.svc .selectize-input > input, .svc .selectize-input div {
  display: flex !important;
  align-items: center !important;
  color: var(--black) !important;
  height: 2rem !important;
}
.svc .selectize-dropdown {
  font-size: var(--text-size-13) !important;
  color: var(--black) !important;
  background-color: var(--white) !important;
  border: 0.0625rem solid var(--cool-200) !important;
  border-radius: 0.25rem !important;
  margin-top: -0.3125rem !important;
}
.svc .selectize-dropdown .optgroup {
  border-top: 0.0625rem solid var(--cool-200) !important;
}
.svc .selectize-dropdown .optgroup .optgroup-header {
  font-weight: var(--text-weight-semibold) !important;
  color: var(--black) !important;
  background: transparent !important;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
}
.svc .selectize-dropdown .active:last-child {
  border-radius: 0 !important;
}
.svc .calendar-time {
  justify-content: space-between;
  align-items: center;
}
.svc .calendar-time .selectize-control .selectize-input {
  padding: 0.5rem 0.8rem 0.4rem !important;
}
.svc {
  /* == TAB BOX ====================================== */
}
.svc .tabs .tabs__labels {
  display: none !important;
  background: none !important;
  flex-flow: nowrap !important;
}
@media only screen and (min-width: 768px) {
  .svc .tabs .tabs__labels {
    flex-flow: wrap !important;
  }
}
.svc .tabs .tabs__labels .tabs__label {
  position: relative !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--cool-100) !important;
  padding: 0.25rem 0.75rem;
  border: none !important;
  border-radius: 0.3125rem 0 0 0;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 transparent, inset 0 0.0625rem 0 var(--cool-200), inset 0 -0.0625rem 0 transparent !important;
}
.svc .tabs .tabs__labels .tabs__label:last-of-type {
  border-radius: 0 0.3125rem 0 0;
  box-shadow: inset 0.0625rem 0 0 transparent, inset -0.0625rem 0 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200), inset 0 -0.0625rem 0 transparent !important;
}
.svc .tabs .tabs__labels .tabs__label.selected {
  background: var(--white) !important;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200), inset 0 -0.0625rem 0 var(--white), 0 0.0625rem 0 0 var(--white) !important;
  z-index: 1 !important;
}
.svc .tabs .tabs__labels .tabs__label h4 {
  font-size: var(--text-size-xs) !important;
  line-height: 1.4 !important;
  font-weight: var(--text-weight-semibold) !important;
}
.svc .tabs .tabs__contents {
  background: none !important;
  padding: 1.75rem 1.125rem !important;
  border: none !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
}
.svc .tabs .tabs__contents .tabs__content #search-campers,
.svc .tabs .tabs__contents .tabs__content #search-cars {
  display: grid !important;
}
.svc .tabs .tabs__contents .tabs__content #search-campers .flx.gp-2 > div,
.svc .tabs .tabs__contents .tabs__content #search-cars .flx.gp-2 > div {
  flex: 0 1 100% !important;
  gap: 1.25rem 1.25rem !important;
}
.svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.gp-2.clms-2.re-xs,
.svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.gp-2.clms-2.re-xs {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.25rem !important;
}
.svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(1),
.svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(1) {
  order: 1 !important;
}
.svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(2),
.svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(2) {
  order: 3 !important;
  grid-column-start: 1 !important;
  grid-column-end: 3 !important;
}
.svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(3),
.svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(3) {
  order: 2 !important;
}
.svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.gp-2.clms-2.re-xs button,
.svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.gp-2.clms-2.re-xs button {
  order: 4 !important;
  grid-column-start: 1 !important;
  grid-column-end: 4 !important;
  border-radius: 1.25rem !important;
  margin: 1.875rem auto 0 !important;
  width: 11.25rem !important;
}
.svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.gp-2.clms-2.re-xs button .ico,
.svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.gp-2.clms-2.re-xs button .ico {
  display: none !important;
}
@media only screen and (min-width: 768px) {
  .svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.gp-2.clms-2.re-xs,
  .svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.gp-2.clms-2.re-xs {
    grid-template-columns: 0.5fr 0.5fr 1fr !important;
    gap: 0 !important;
    row-gap: 1.25rem !important;
  }
  .svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(1),
  .svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(1) {
    order: 1 !important;
    margin-right: 0.625rem !important;
  }
  .svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(2),
  .svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(2) {
    order: 3 !important;
    grid-column-start: initial !important;
    grid-column-end: initial !important;
    margin-left: 0.625rem !important;
  }
  .svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(3),
  .svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.gp-2.clms-2.re-xs .input:nth-of-type(3) {
    order: 2 !important;
    margin: 0 0.625rem !important;
  }
}
.svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.clms-0, .svc .tabs .tabs__contents .tabs__content #search-campers .flx.date-range,
.svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.clms-0,
.svc .tabs .tabs__contents .tabs__content #search-cars .flx.date-range {
  flex-wrap: wrap !important;
}
@media only screen and (min-width: 768px) {
  .svc .tabs .tabs__contents .tabs__content #search-campers .flx.wrp.clms-0, .svc .tabs .tabs__contents .tabs__content #search-campers .flx.date-range,
  .svc .tabs .tabs__contents .tabs__content #search-cars .flx.wrp.clms-0,
  .svc .tabs .tabs__contents .tabs__content #search-cars .flx.date-range {
    flex-wrap: nowrap !important;
  }
}

.camper-introduction {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr;
  gap: 1.875rem;
  padding: 1.5rem;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200);
}
@media only screen and (min-width: 768px) {
  .camper-introduction {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
  }
}
.camper-introduction h1 {
  font-size: var(--text-size-2xl);
  font-weight: var(--text-weight-bold);
  line-height: 1.3;
  letter-spacing: -0.003125rem;
  padding-bottom: 1.5rem;
  border-bottom: 0.1875rem solid var(--cool-200);
}
@media only screen and (min-width: 768px) {
  .camper-introduction h1 {
    grid-column: span 2;
    font-size: var(--text-size-3xl);
  }
}
.camper-introduction .camper-introduction__image {
  position: relative;
  border-radius: 0.625rem;
  overflow: hidden;
}
.camper-introduction .camper-introduction__image .camper-promo {
  display: flex;
  height: 100%;
}
.camper-introduction .camper-introduction__image .camper-promo img {
  object-fit: cover;
}
.camper-introduction .camper-introduction__image .camper-promo .camper-promo__overlay {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  color: var(--white);
  text-shadow: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.5);
  width: calc(100% - 2rem);
}
.camper-introduction .camper-introduction__image .camper-promo .camper-promo__overlay h2, .camper-introduction .camper-introduction__image .camper-promo .camper-promo__overlay p {
  font-weight: var(--text-weight-semibold);
  line-height: 1.4;
  text-transform: uppercase;
}
.camper-introduction .camper-introduction__image .camper-promo .camper-promo__overlay h2 {
  font-size: var(--text-size-2xl);
  font-weight: var(--text-weight-bold);
}
.camper-introduction .camper-introduction__image .camper-promo .camper-promo__overlay p {
  font-size: var(--text-size-lg);
}
.camper-introduction .camper-introduction__image .camper-promo::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%);
}
.camper-introduction .camper-introduction__features {
  display: flex;
  flex-direction: column;
  row-gap: 1.125rem;
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
  background-color: var(--white);
  padding: 0.5rem 1.125rem 0.1875rem;
  border: 0.0625rem solid var(--cool-200);
  border-radius: 0.625rem;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
.camper-introduction .camper-introduction__features h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  background-color: var(--cool-700);
  padding: 0.0625rem 0;
  border-radius: 1rem;
  margin: 0 -0.75rem;
  min-height: 1.5rem;
}
.camper-introduction .camper-introduction__features dt {
  position: relative;
  font-style: italic;
  line-height: 1.5;
  margin: 0 0 0 2rem;
}
.camper-introduction .camper-introduction__features dt:before {
  position: absolute;
  top: 0;
  left: -2rem;
  content: "star";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-xl);
  font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
  font-style: normal;
  color: var(--cool-700);
}
.camper-introduction .camper-introduction__features dd {
  font-weight: var(--text-weight-normal);
  line-height: 1.5;
  margin: 0 0 0.625rem 2rem;
}

.svc .book-options__root {
  position: relative !important;
  gap: 0 !important;
}
.svc .book-options__root:has([data-tender=NZD]) .price-table__totals td.total:before {
  content: "" !important;
  background-image: url(../images/flagNZ.png) !important;
  background-size: cover !important;
  margin-right: 0.5rem !important;
  width: 1.5rem !important;
  height: 0.75rem !important;
}
.svc .book-options__root:has([data-tender=AUD]) .price-table__totals td.total:before {
  content: "" !important;
  background-image: url(../images/flagAU.png) !important;
  background-size: cover !important;
  margin-right: 0.5rem !important;
  width: 1.5rem !important;
  height: 0.75rem !important;
}
.svc .book-options__root div:has(.book-options__column-trip-info) {
  gap: 0 !important;
}
.svc .book-options__root .book-options__column-trip-info {
  gap: 0 !important;
  flex-basis: 100% !important;
  margin: 1.875rem 0 2.5rem !important;
}
.svc .book-options__root .book-options__column-trip-info h2 {
  order: 1 !important;
  font-size: 1.75rem !important;
  line-height: 1 !important;
  font-weight: var(--text-weight-bold) !important;
  padding-bottom: 0.9375rem;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
  margin: 0 0 0.9375rem !important;
}
.svc .book-options__root .book-options__column-trip-info .book-options__availability {
  order: 2 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 0.3125rem !important;
  font-style: italic !important;
  font-size: var(--text-size-11) !important;
  color: var(--white) !important;
  background: var(--green-700) !important;
  padding: 0 0.625rem !important;
  border: none !important;
  border-radius: 0.1875rem !important;
  margin-bottom: 0.625rem !important;
  height: fit-content !important;
  width: fit-content !important;
  height: 1.625rem !important;
  cursor: pointer !important;
}
.svc .book-options__root .book-options__column-trip-info .book-options__availability .ico {
  font-size: 0.875rem !important;
  font-variation-settings: "wght" 300 !important;
  margin: 0 !important;
}
.svc .book-options__root .book-options__column-trip-info .entity-detail__tags {
  order: 2 !important;
  display: flex !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  padding-bottom: 0.9375rem !important;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
  margin: 0 0 0.625rem !important;
}
.svc .book-options__root .book-options__column-trip-info .entity-detail__tags.rw p {
  display: flex !important;
}
.svc .book-options__root .book-options__column-trip-info .entity-detail__tags p {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.25rem !important;
  font-size: var(--text-size-2xs) !important;
  color: var(--cool-600) !important;
  background-color: var(--cool-50) !important;
  padding: 0.25rem 0.5rem 0.25rem 0.3125rem !important;
  border-radius: 0.1875rem !important;
  margin-bottom: 0 !important;
  height: 1.5rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-300) !important;
  box-sizing: border-box !important;
}
.svc .book-options__root .book-options__column-trip-info .entity-detail__tags p .ico {
  font-size: var(--text-size-13) !important;
  margin: 0 !important;
}
.svc .book-options__root .book-options__column-trip-info .book-options__balance-container.panel {
  order: 4 !important;
  padding: 0 0 0.9375rem !important;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
  margin-bottom: 1.875rem !important;
}
.svc .book-options__root .book-options__column-trip-info .book-options__balance-container.panel h2 {
  font-size: var(--text-size-xl) !important;
  color: var(--black) !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  margin: 0.3125rem 0 !important;
}
.svc .book-options__root .book-options__column-trip-info .book-options__balance-container.panel p {
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-semibold) !important;
}
.svc .book-options__root .book-options__column-trip-info .book-options__balance-container.panel b {
  font-size: var(--text-size-11) !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) {
  order: 5 !important;
  grid-column-start: 1 !important;
  grid-column-end: 3 !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div {
  flex-flow: wrap !important;
  gap: 1.25rem 2rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div {
    flex-flow: nowrap !important;
  }
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail {
  display: flex !important;
  flex-direction: column !important;
  row-gap: 1.125rem !important;
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-semibold) !important;
  background-color: var(--white) !important;
  padding: 0.5rem 1.125rem 1rem !important;
  border: 0.0625rem solid var(--cool-200) !important;
  border-radius: 0.625rem !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail > h2, .svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail > h3,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail > h2,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail > h3 {
  order: initial !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: var(--text-size-sm) !important;
  line-height: 1 !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--white) !important;
  text-align: center !important;
  text-transform: uppercase !important;
  background-color: var(--cool-600) !important;
  padding: 0.0625rem 0 0 !important;
  border-radius: 1rem !important;
  margin: 0 -0.75rem !important;
  height: 1.5rem !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail > h2 + div, .svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail > h3 + div,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail > h2 + div,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail > h3 + div {
  padding-top: 0.4375rem !important;
  border-top: 0.0625rem solid var(--cool-100) !important;
  margin-top: 0.5rem !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx {
  gap: 0.25rem !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-3,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-3 {
  row-gap: 0.75rem !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx ~ .flx,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx ~ .flx {
  margin-bottom: 1rem !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx h3,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx h3 {
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-semibold) !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx p,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx p {
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-normal) !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-0-2,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2 {
  position: relative !important;
  align-items: center !important;
  padding-bottom: 0.3125rem !important;
  padding-left: 1.875rem !important;
  border-bottom: 0.0625rem solid var(--cool-100) !important;
  margin-bottom: 0.3125rem !important;
  height: 2rem !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-0-2:before,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2:before {
  position: absolute !important;
  top: 0.3125rem !important;
  left: 0 !important;
  content: "calendar_month" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-xl) !important;
  font-weight: var(--text-weight-normal) !important;
  color: var(--cool-700) !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-0-2:nth-of-type(2):before,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2:nth-of-type(2):before {
  content: "groups" !important;
  font-variation-settings: "FILL" 1;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-0-2 p:first-of-type,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2 p:first-of-type {
  font-weight: var(--text-weight-semibold) !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-0-2:has(h3),
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2:has(h3) {
  padding-bottom: 0 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  height: auto !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-0-2:has(h3):before,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2:has(h3):before {
  top: 0.625rem !important;
  content: "location_on" !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-0-2:has(h3) p:first-of-type,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2:has(h3) p:first-of-type {
  font-weight: var(--text-weight-normal) !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-0-2:has(h3) + .gp-0-2,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2:has(h3) + .gp-0-2 {
  height: auto !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-0-2:has(h3) + .gp-0-2:before,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2:has(h3) + .gp-0-2:before {
  display: none !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .trip-detail .flx.gp-0-2:has(h3) + .gp-0-2 p:first-of-type,
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2:has(h3) + .gp-0-2 p:first-of-type {
  font-weight: var(--text-weight-normal) !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2:before {
  content: "id_card" !important;
}
.svc .book-options__root .book-options__column-trip-info .panel:has(.trip-detail) > div .offering-detail .flx.gp-0-2:nth-of-type(2):before {
  content: "directions_car" !important;
  font-variation-settings: "FILL" 1;
}
.svc .book-options__root .book-options__column-price-table {
  margin-bottom: 2.1875rem !important;
}
.svc .book-options__root .book-options__column-price-table .panel {
  padding: 0 !important;
  margin: 0 !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table {
  display: grid !important;
  width: 100% !important;
  flex-wrap: wrap !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table + p {
  padding-top: 0.5rem !important;
  box-shadow: inset 0 0.1875rem 0 var(--cool-300) !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr {
  display: grid;
  grid-template-columns: 1fr repeat(3, 0.2fr) !important;
  align-items: center !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
  min-height: 3.125rem !important;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-100) !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr:has(th), .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr:has(th) {
  color: var(--white) !important;
  background-color: var(--cool-800) !important;
  box-shadow: none !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr th, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr td, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr th, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr td {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  font-size: var(--text-size-11) !important;
  padding: 0 0.5rem !important;
  width: 100% !important;
  min-width: 5rem !important;
  box-sizing: border-box !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr th:first-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr td:first-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr th:first-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr td:first-of-type {
  justify-content: flex-start !important;
  line-height: 1.25 !important;
  padding: 0 1rem !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr th:last-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr td:last-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr th:last-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr td:last-of-type {
  padding: 0 1rem !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr th, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr th {
  font-weight: var(--text-weight-semibold) !important;
  color: var(--white) !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr th.col-days, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr th.col-days {
  justify-content: center !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead tr td.text-center, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody tr td.text-center {
  justify-content: center !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__totals, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__totals {
  box-shadow: 0 -0.0625rem 0 var(--cool-200);
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__totals tr, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__totals tr {
  grid-template-columns: none !important;
  background: var(--cool-50) !important;
  min-height: auto !important;
  box-shadow: none !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__totals tr:first-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__totals tr:first-of-type {
  display: none !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__totals tr:last-of-type td:first-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__totals tr:last-of-type td:first-of-type {
  padding-top: 0.3125rem !important;
  padding-bottom: 0.4375rem !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__totals tr td, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__totals tr td {
  display: none !important;
  justify-content: flex-end !important;
  width: 100% !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__totals tr td:first-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__totals tr td:first-of-type {
  display: flex !important;
  order: 2 !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__totals tr td:first-of-type b, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__totals tr td:first-of-type b {
  font-size: var(--text-size-2xs) !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__totals tr td:last-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__totals tr td:last-of-type {
  display: flex !important;
  order: 1 !important;
  font-size: var(--text-size-xl) !important;
  font-weight: var(--text-weight-bold);
  padding-top: 0.875rem !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__discounts tr, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__discounts tr {
  grid-template-columns: 1fr auto !important;
  background: var(--cool-50) !important;
  min-height: auto !important;
  box-shadow: none !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__discounts tr td, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__discounts tr td {
  display: none !important;
  justify-content: flex-end !important;
  font-style: italic !important;
  font-size: var(--text-size-xs) !important;
  width: 100% !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__discounts tr td:first-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__discounts tr td:first-of-type {
  display: flex !important;
  padding: 0 0.125rem 0.8125rem 1rem !important;
}
.svc .book-options__root .book-options__column-price-table .panel .price-table__html table thead.price-table__discounts tr td:last-of-type, .svc .book-options__root .book-options__column-price-table .panel .price-table__html table tbody.price-table__discounts tr td:last-of-type {
  display: flex !important;
  padding: 0 1rem 0.8125rem 0.125rem !important;
  min-width: fit-content !important;
}
.svc .book-options__root hr {
  display: none !important;
}
.svc .book-options__root .insurances__root {
  gap: 0 !important;
  margin-bottom: 2.5rem !important;
}
.svc .book-options__root .insurances__root.input.radio.input-invalid .insurances__container .insurances__option .panel {
  box-shadow: inset 0 0 0 0.125rem var(--warm-600) !important;
}
.svc .book-options__root .insurances__root div:has(h2) {
  gap: 0 !important;
}
.svc .book-options__root .insurances__root.input.radio .flx {
  grid-template-columns: none !important;
}
.svc .book-options__root .insurances__root.input.radio h2 {
  display: flex !important;
  align-items: center !important;
  column-gap: 0.3125rem !important;
  font-size: var(--text-size-lg) !important;
  margin: 0 0 1.25rem !important;
}
.svc .book-options__root .insurances__root.input.radio h2:before {
  content: "handshake" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: 2rem !important;
  font-weight: var(--text-weight-normal) !important;
  font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24 !important;
  color: var(--cool-700) !important;
}
.svc .book-options__root .insurances__root.input.radio h2 .ico {
  display: none !important;
}
.svc .book-options__root .insurances__root.input.radio p {
  line-height: 1.6 !important;
  margin: 0 !important;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 1.25rem 2rem !important;
  margin-bottom: 0.3125 !important;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option {
  flex-basis: 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
@media only screen and (min-width: 768px) {
  .svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option {
    flex-basis: 14rem !important;
    max-width: calc(50% - 1rem) !important;
  }
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option .panel {
  grid-template-rows: 1.875rem repeat(2, auto) !important;
  padding: 1.25rem 1.25rem 0.625rem !important;
  border-radius: 0.625rem !important;
  margin-bottom: 0 !important;
  height: 100% !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), 0 0 0 0 transparent !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option .panel:hover {
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500), 0 0 0 0.125rem var(--cool-500) !important;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option .panel:has(p) {
  grid-template-rows: 1.875rem repeat(3, auto) !important;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option .panel:has(p) p {
  order: 3 !important;
  font-size: var(--text-size-11) !important;
  line-height: 1.5 !important;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option .panel > .flx {
  grid-template-columns: 1.25rem 1fr !important;
  order: 1 !important;
  height: 1.5rem !important;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option .panel > .flx h3 {
  font-size: var(--text-size-sm) !important;
  margin: 0 !important;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option .panel > .flx > div {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option .panel table {
  order: 2 !important;
  background: var(--cool-50) !important;
  border: 0.0625rem solid var(--cool-300) !important;
  border-spacing: 0.3125rem !important;
  border-collapse: separate !important;
  border-radius: 0.1875rem !important;
  margin: 0 0 auto !important;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option .panel table td {
  font-size: var(--text-size-11) !important;
  padding: 0 0.1875rem !important;
}
.svc .book-options__root .insurances__root.input.radio .insurances__container .insurances__option .panel a {
  order: 4 !important;
  display: block !important;
  margin-top: auto !important;
}
.svc .book-options__root .insurances__root .input-msg-invalid {
  font-weight: var(--text-weight-semibold) !important;
  color: var(--warm-600) !important;
}
.svc .book-options__root div:has(.optionals__root) {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 1.25rem 2rem !important;
  margin: 0 0 2.5rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .book-options__root div:has(.optionals__root) {
    grid-template-columns: 1fr 1fr !important;
  }
}
.svc .book-options__root .optionals__root {
  display: flex !important;
  flex-direction: column !important;
  row-gap: 1.125rem !important;
  font-size: var(--text-size-13) !important;
  font-weight: var(--text-weight-semibold) !important;
  background-color: var(--white) !important;
  padding: 0.5rem 1.125rem 1rem !important;
  border: 0.0625rem solid var(--cool-200) !important;
  border-radius: 0.625rem !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.svc .book-options__root .optionals__root h2 {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: var(--text-size-sm) !important;
  line-height: 1 !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--white) !important;
  text-align: center !important;
  text-transform: uppercase !important;
  background-color: var(--cool-600) !important;
  padding: 0.0625rem 0 0 !important;
  border-radius: 1rem !important;
  margin: 0 -0.75rem !important;
  height: 1.5rem !important;
}
.svc .book-options__root .optionals__root h2 .ico {
  display: none !important;
}
.svc .book-options__root .optionals__root > p {
  font-size: var(--text-size-xs) !important;
  text-align: center !important;
}
.svc .book-options__root .optionals__root .optionals__table tr {
  border-bottom: 0.0625rem solid var(--cool-100) !important;
}
.svc .book-options__root .optionals__root .optionals__table tr:has(input:checked) td:last-of-type {
  font-weight: var(--text-weight-bold) !important;
  color: var(--cool-500) !important;
}
.svc .book-options__root .optionals__root .optionals__table tr th, .svc .book-options__root .optionals__root .optionals__table tr td {
  font-size: var(--text-size-11) !important;
  text-align: right !important;
  padding: 0 0.9375rem !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}
.svc .book-options__root .optionals__root .optionals__table tr th:first-of-type, .svc .book-options__root .optionals__root .optionals__table tr td:first-of-type {
  text-align: left !important;
  padding-left: 0 !important;
  width: 40% !important;
}
.svc .book-options__root .optionals__root .optionals__table tr th:first-of-type p, .svc .book-options__root .optionals__root .optionals__table tr td:first-of-type p {
  font-size: var(--text-size-11) !important;
}
.svc .book-options__root .optionals__root .optionals__table tr th:last-of-type, .svc .book-options__root .optionals__root .optionals__table tr td:last-of-type {
  padding-right: 0 !important;
}
.svc .book-options__root .optionals__root .optionals__table tr th {
  padding-bottom: 0.3125rem !important;
}
.svc .book-options__root .optionals__root .optionals__table tr th.text-nowrap:not(.text-left) {
  text-align: center !important;
}
.svc .book-options__root .optionals__root .optionals__table tr td {
  font-weight: var(--text-weight-normal) !important;
  height: 3.125rem !important;
}
.svc .book-options__root .optionals__root .optionals__table tr td:has(.integer) {
  text-align: center !important;
  min-width: auto !important;
  width: 9.375rem !important;
}
.svc .book-options__root .optionals__root .optionals__table tr td .integer {
  height: 2.25rem !important;
}
.svc .book-options__root .optionals__root .optionals__table tr td .integer > .flx {
  justify-content: space-between !important;
  align-items: center !important;
  column-gap: 0.3125rem !important;
}
.svc .book-options__root .optionals__root .optionals__table tr td .integer > .flx button {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: 0 !important;
  color: var(--cool-400) !important;
  background: var(--white) !important;
  border-radius: 50% !important;
  width: 2rem !important;
  max-width: 2rem !important;
  height: 2rem !important;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200) !important;
  transition: all 0.2s !important;
}
.svc .book-options__root .optionals__root .optionals__table tr td .integer > .flx button:hover {
  color: var(--white) !important;
  background-color: var(--cool-500) !important;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-500) !important;
}
.svc .book-options__root .optionals__root .optionals__table tr td .integer > .flx button.increment:before, .svc .book-options__root .optionals__root .optionals__table tr td .integer > .flx button.decrement:before {
  content: "add" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-lg) !important;
}
.svc .book-options__root .optionals__root .optionals__table tr td .integer > .flx button.decrement:before {
  content: "remove" !important;
}
.svc .book-options__root .optionals__root .optionals__table tr td .integer > .flx input {
  border-radius: 0.3125rem !important;
  width: 1.25rem !important;
  max-width: initial !important;
  min-height: 2.25rem !important;
  box-sizing: border-box !important;
}
.svc .book-options__root .optionals__root .accordion .accordion__label {
  align-items: center !important;
  background: var(--cool-50) !important;
  border-bottom: 0.0625rem solid var(--cool-200);
  margin-top: -1.125rem !important;
  height: 3.125rem !important;
  box-sizing: border-box;
}
.svc .book-options__root .optionals__root .accordion .accordion__label p {
  font-size: var(--text-size-11) !important;
  font-weight: var(--text-weight-semibold) !important;
  color: var(--cool-500) !important;
}
.svc .book-options__root .optionals__root .accordion .accordion__label p .ico {
  color: var(--cool-500) !important;
}
.svc .book-options__root .discount-code__root {
  display: flex !important;
  flex-direction: column !important;
  row-gap: 1.125rem !important;
  font-size: var(--text-size-13) !important;
  font-weight: var(--text-weight-semibold) !important;
  background-color: var(--white) !important;
  padding: 0.5rem 1.125rem 1rem !important;
  border: 0.0625rem solid var(--cool-200) !important;
  border-radius: 0.625rem !important;
  margin: 0 !important;
  width: 100% !important;
  height: fit-content !important;
  box-sizing: border-box !important;
}
.svc .book-options__root .discount-code__root h2 {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: var(--text-size-sm) !important;
  line-height: 1 !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--white) !important;
  text-align: center !important;
  text-transform: uppercase !important;
  background-color: var(--cool-600) !important;
  padding: 0.0625rem 0 0 !important;
  border-radius: 1rem !important;
  margin: 0 -0.75rem !important;
  height: 1.5rem !important;
}
.svc .book-options__root .discount-code__root h2 .ico {
  display: none !important;
}
.svc .book-options__root .discount-code__root p {
  font-size: var(--text-size-xs) !important;
  text-align: center !important;
}
.svc .book-options__root .discount-code__root .input {
  margin: 0 !important;
}
.svc .book-options__root .discount-code__root button {
  font-weight: var(--text-weight-medium) !important;
  color: var(--cool-600) !important;
  background-color: var(--white) !important;
  border: none !important;
  border-radius: 1.25rem !important;
  margin: 0 auto !important;
  width: 10.9375rem !important;
  max-width: 11.25rem !important;
  height: 2.5rem !important;
  box-shadow: 0.125rem 0.125rem 0.3125rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.3125rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200) !important;
  appearance: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}
.svc .book-options__root .discount-code__root button:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-400) !important;
}
.svc .pick-up-drop-off__root {
  gap: 0 !important;
  margin-bottom: 3.125rem !important;
}
.svc .pick-up-drop-off__root h2 {
  display: flex !important;
  align-items: center !important;
  column-gap: 0.1875rem !important;
  font-size: var(--text-size-lg) !important;
  line-height: 1 !important;
  font-weight: var(--text-weight-bold) !important;
  margin: 0 0 1.25rem !important;
}
.svc .pick-up-drop-off__root h2:before {
  content: "location_on" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: 2rem !important;
  font-weight: var(--text-weight-normal) !important;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24 !important;
  color: var(--cool-700) !important;
}
.svc .pick-up-drop-off__root h2 .ico {
  display: none !important;
}
.svc .pick-up-drop-off__root h2 + p {
  display: none !important;
  font-size: var(--text-size-xs) !important;
  margin-bottom: 0.625rem !important;
}
.svc .pick-up-drop-off__root .flx {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem 2rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .pick-up-drop-off__root .flx {
    grid-template-columns: 1fr 1fr !important;
  }
}
.svc .pick-up-drop-off__root .panel:has(h3) {
  display: flex !important;
  flex-direction: column !important;
  row-gap: 0 !important;
  background-color: var(--white) !important;
  padding: 0.5rem 1.25rem 1rem !important;
  border: 0.0625rem solid var(--cool-200) !important;
  border-radius: 0.625rem !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.svc .pick-up-drop-off__root .panel:has(h3) h3 {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: var(--text-size-sm) !important;
  line-height: 1 !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--white) !important;
  text-align: center !important;
  text-transform: uppercase !important;
  background-color: var(--cool-600) !important;
  padding: 0.0625rem 0 0 !important;
  border-radius: 1rem !important;
  margin: 0 -0.75rem 0.9375rem !important;
  height: 1.5rem !important;
}
.svc .pick-up-drop-off__root .panel:has(h3) p {
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-normal) !important;
  line-height: 1.6 !important;
}
.svc .pick-up-drop-off__root .panel:has(h3) .input {
  margin-top: 1.25rem !important;
}
.svc .customer-info__root {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.25rem 2rem !important;
  background: var(--cool-25) !important;
  padding: 1.75rem 1.25rem 10rem !important;
  border-radius: 0.5rem !important;
  margin: 0 auto 1.875rem !important;
  width: 100% !important;
  max-width: 40rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200) !important;
  box-sizing: border-box !important;
}
@media only screen and (min-width: 768px) {
  .svc .customer-info__root {
    grid-template-columns: 1fr 1fr !important;
  }
}
.svc .customer-info__root:before {
  content: "Add Your Details";
  font-size: var(--text-size-lg) !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--cool-700) !important;
  text-align: center !important;
  letter-spacing: -0.025rem !important;
  margin: 0 !important;
}
@media only screen and (min-width: 768px) {
  .svc .customer-info__root:before {
    grid-column-start: 1 !important;
    grid-column-end: 3 !important;
  }
}
.svc .customer-info__root .input {
  width: 100% !important;
}
.svc .customer-info__root .input.integer {
  order: 5 !important;
  margin: 0 auto !important;
  width: 16rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .customer-info__root .input.integer {
    grid-column-start: 1 !important;
    grid-column-end: 3 !important;
  }
}
.svc .customer-info__root .input.integer label {
  text-align: center !important;
}
.svc .customer-info__root .input.integer .flx {
  justify-content: center !important;
  align-items: center !important;
  column-gap: 0.625rem !important;
}
.svc .customer-info__root .input.integer .flx input {
  flex-grow: 0 !important;
}
.svc .customer-info__root .input.integer .flx button {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--cool-400) !important;
  background: var(--white) !important;
  border-radius: 50% !important;
  width: 2.25rem !important;
  max-width: 2.25rem !important;
  height: 2.25rem !important;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200) !important;
  transition: all 0.2s !important;
}
.svc .customer-info__root .input.integer .flx button:hover {
  color: var(--white) !important;
  background-color: var(--cool-500) !important;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-500) !important;
}
.svc button.book-options__submit {
  position: absolute;
  bottom: 4rem;
  left: calc(50% - 5.625rem) !important;
}
.svc .camper-terms-conditions {
  position: absolute !important;
  bottom: 8rem !important;
  left: 0 !important;
  font-size: 0.75rem !important;
  text-align: center !important;
  padding: 0 1rem !important;
  width: 100% !important;
  box-sizing: border-box;
}
.svc .camper-terms-conditions a {
  text-decoration: underline !important;
}
.svc .tippy-box .tippy-arrow {
  color: var(--cool-700) !important;
}
.svc .tippy-box .tippy-content div {
  background: var(--cool-700) !important;
  padding: 0.5rem !important;
  border: 0.0625rem solid var(--cool-700) !important;
  border-radius: 0.3125rem !important;
  max-width: 14.0625rem !important;
}
.svc .tippy-box .tippy-content div p {
  font-size: var(--text-size-11) !important;
  line-height: 1.35 !important;
  color: var(--white) !important;
}

.svc .book-payment__root {
  gap: 0 !important;
  min-width: initial !important;
  max-width: initial !important;
}
.svc .book-payment__root .glide__slides {
  height: 24rem !important;
}
.svc .book-payment__root .panel {
  padding: 0 !important;
  margin-bottom: 0 !important;
}
.svc .book-payment__root .panel h2 {
  order: 1 !important;
  font-size: 1.75rem !important;
  line-height: 1 !important;
  font-weight: var(--text-weight-bold) !important;
  padding-bottom: 0.9375rem;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
  margin: 1.875rem 0 0.3125rem !important;
}
.svc .book-payment__root .panel .entity-detail__tags {
  order: 2 !important;
}
.svc .book-payment__root .panel .entity-detail__tags .entity-detail__tags {
  display: flex !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  padding-bottom: 0.9375rem !important;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
  margin: 0 0 0.625rem !important;
}
.svc .book-payment__root .panel .entity-detail__tags .entity-detail__tags.rw p {
  display: flex !important;
}
.svc .book-payment__root .panel .entity-detail__tags .entity-detail__tags p {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.25rem !important;
  font-size: var(--text-size-2xs) !important;
  color: var(--cool-600) !important;
  background-color: var(--cool-50) !important;
  padding: 0.25rem 0.5rem 0.25rem 0.3125rem !important;
  border-radius: 0.1875rem !important;
  margin-bottom: 0 !important;
  height: 1.5rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-300) !important;
  box-sizing: border-box !important;
}
.svc .book-payment__root .panel .entity-detail__tags .entity-detail__tags p .ico {
  font-size: var(--text-size-13) !important;
  margin: 0 !important;
}
.svc .book-payment__root .panel:has(.trip-detail) {
  gap: 1.875rem 2rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .book-payment__root .panel:has(.trip-detail) {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
}
.svc .book-payment__root .panel:has(.trip-detail) > .flx {
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  padding: 0 0 0.9375 !important;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
}
@media only screen and (min-width: 768px) {
  .svc .book-payment__root .panel:has(.trip-detail) > .flx {
    grid-column-start: 1 !important;
    grid-column-end: 3 !important;
  }
}
.svc .book-payment__root .panel:has(.trip-detail) > .flx h3 {
  font-size: var(--text-size-11) !important;
  font-weight: var(--text-weight-normal) !important;
}
.svc .book-payment__root .panel:has(.trip-detail) > .flx p {
  font-size: var(--text-size-xl) !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--black) !important;
  text-align: left !important;
  margin: 0.3125rem 0 0.9375rem !important;
}
.svc .book-payment__root .panel:has(.trip-detail) > .flx p:before {
  content: "REF#: ";
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail {
  display: flex !important;
  flex-direction: column !important;
  row-gap: 1.125rem !important;
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-semibold) !important;
  background-color: var(--white) !important;
  padding: 0.5rem 1.125rem 1rem !important;
  border: 0.0625rem solid var(--cool-200) !important;
  border-radius: 0.625rem !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail > h2, .svc .book-payment__root .panel:has(.trip-detail) .trip-detail > h3,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail > h2,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail > h3 {
  order: initial !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: var(--text-size-sm) !important;
  line-height: 1 !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--white) !important;
  text-align: center !important;
  text-transform: uppercase !important;
  background-color: var(--cool-600) !important;
  padding: 0.0625rem 0 0 !important;
  border-radius: 1rem !important;
  margin: 0 -0.75rem !important;
  height: 1.5rem !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail > h2 + div, .svc .book-payment__root .panel:has(.trip-detail) .trip-detail > h3 + div,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail > h2 + div,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail > h3 + div {
  padding-top: 0.4375rem !important;
  border-top: 0.0625rem solid var(--cool-100) !important;
  margin-top: 0.5rem !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx {
  gap: 0 !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx h3,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx h3 {
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-semibold) !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx p,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx p {
  font-size: var(--text-size-xs) !important;
  font-weight: var(--text-weight-normal) !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2 {
  position: relative !important;
  align-items: center !important;
  padding-bottom: 0.3125rem !important;
  padding-left: 1.875rem !important;
  border-bottom: 0.0625rem solid var(--cool-100) !important;
  margin-bottom: 0.3125rem !important;
  height: 2rem !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:before,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:before {
  position: absolute !important;
  top: 0.3125rem !important;
  left: 0 !important;
  content: "calendar_month" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-xl) !important;
  font-weight: var(--text-weight-normal) !important;
  color: var(--cool-700) !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:nth-of-type(2):before,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:nth-of-type(2):before {
  content: "groups" !important;
  font-variation-settings: "FILL" 1;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2 p:first-of-type,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2 p:first-of-type {
  font-weight: var(--text-weight-semibold) !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3),
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3) {
  padding-bottom: 0 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  height: auto !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3):before,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3):before {
  top: 0.625rem !important;
  content: "location_on" !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3) p:first-of-type,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3) p:first-of-type {
  font-weight: var(--text-weight-normal) !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3) + .gp-0-2,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3) + .gp-0-2 {
  height: auto !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3) + .gp-0-2:before,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3) + .gp-0-2:before {
  display: none !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .trip-detail .flx.gp-0-2:has(h3) + .gp-0-2 p:first-of-type,
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:has(h3) + .gp-0-2 p:first-of-type {
  font-weight: var(--text-weight-normal) !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:before {
  content: "id_card" !important;
}
.svc .book-payment__root .panel:has(.trip-detail) .offering-detail .flx.gp-0-2:nth-of-type(2):before {
  content: "directions_car" !important;
  font-variation-settings: "FILL" 1;
}
.svc .book-payment__root .panel:has(.price-table) {
  padding: 0 !important;
  margin: 2.5rem 0 3.125rem !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table {
  display: grid !important;
  width: 100% !important;
  flex-wrap: wrap !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table + p {
  padding-top: 0.5rem !important;
  box-shadow: inset 0 0.1875rem 0 var(--cool-300) !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead tr, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr {
  display: grid;
  grid-template-columns: 1fr repeat(3, 0.2fr) !important;
  align-items: center !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
  min-height: 3.125rem !important;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-100) !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead tr:has(th), .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr:has(th) {
  color: var(--white) !important;
  background-color: var(--cool-800) !important;
  box-shadow: none !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead tr th, .svc .book-payment__root .panel:has(.price-table) .price-table table thead tr td, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr th, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr td {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  font-size: var(--text-size-11) !important;
  padding: 0 0.5rem !important;
  width: 100% !important;
  min-width: auto !important;
  box-sizing: border-box !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead tr th:first-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table thead tr td:first-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr th:first-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr td:first-of-type {
  justify-content: flex-start !important;
  padding: 0 1rem !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead tr th:last-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table thead tr td:last-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr th:last-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr td:last-of-type {
  padding: 0 1rem !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead tr th, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr th {
  font-weight: var(--text-weight-semibold) !important;
  color: var(--white) !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead tr th.col-days, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr th.col-days {
  justify-content: center !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead tr td.text-center, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody tr td.text-center {
  justify-content: center !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__totals, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__totals {
  box-shadow: 0 -0.0625rem 0 var(--cool-200);
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__totals tr, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__totals tr {
  grid-template-columns: none !important;
  background: var(--cool-50) !important;
  min-height: auto !important;
  box-shadow: none !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__totals tr:first-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__totals tr:first-of-type {
  display: none !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__totals tr:last-of-type td:first-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__totals tr:last-of-type td:first-of-type {
  padding-bottom: 0.4375rem !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__totals tr td, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__totals tr td {
  display: none !important;
  justify-content: flex-end !important;
  width: 100% !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__totals tr td:first-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__totals tr td:first-of-type {
  display: flex !important;
  order: 2 !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__totals tr td:first-of-type b, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__totals tr td:first-of-type b {
  font-size: var(--text-size-2xs) !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__totals tr td:last-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__totals tr td:last-of-type {
  display: flex !important;
  order: 1 !important;
  font-size: var(--text-size-xl) !important;
  font-weight: var(--text-weight-bold);
  padding-top: 0.875rem !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__discounts tr, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__discounts tr {
  grid-template-columns: 1fr auto !important;
  background: var(--cool-50) !important;
  min-height: auto !important;
  box-shadow: none !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__discounts tr td, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__discounts tr td {
  display: none !important;
  justify-content: flex-end !important;
  font-style: italic !important;
  font-size: var(--text-size-xs) !important;
  width: 100% !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__discounts tr td:first-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__discounts tr td:first-of-type {
  display: flex !important;
  padding: 0 0.125rem 0.8125rem 1rem !important;
}
.svc .book-payment__root .panel:has(.price-table) .price-table table thead.price-table__discounts tr td:last-of-type, .svc .book-payment__root .panel:has(.price-table) .price-table table tbody.price-table__discounts tr td:last-of-type {
  display: flex !important;
  padding: 0 1rem 0.8125rem 0.125rem !important;
}
.svc .book-payment__root .panel:has(.book-payment__prices) {
  margin: 0 auto 1.875rem !important;
  width: 100% !important;
  max-width: 40rem !important;
}
.svc .book-payment__root .panel:has(.book-payment__prices) .book-payment__prices h3 {
  font-size: var(--text-size-lg) !important;
  line-height: 1.4 !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--cool-700) !important;
  text-align: center !important;
  letter-spacing: -0.025rem !important;
  margin: 0 !important;
}
.svc .book-payment__root .panel:has(.book-payment__prices) .book-payment__prices p {
  font-size: var(--text-size-13) !important;
  font-weight: var(--text-weight-normal) !important;
  text-align: center !important;
  padding-top: 0.3125rem !important;
}
.svc .book-payment__root .panel:has(.book-payment__prices) .book-payment__prices + .flx {
  display: grid !important;
  margin-top: 1.875rem !important;
  border-radius: 0.5rem !important;
  padding: 1.25rem 1.25rem 7.375rem !important;
  background: var(--white) !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200) !important;
}
@media only screen and (min-width: 768px) {
  .svc .book-payment__root .panel:has(.book-payment__prices) .book-payment__prices + .flx {
    padding: 2.5rem 2.5rem 7.375rem !important;
  }
}
.svc .book-payment__root .panel:has(.book-payment__prices) .book-payment__prices + .flx .book-payment__disclaimer {
  font-size: var(--text-size-xs) !important;
  line-height: 1.45 !important;
  color: #13141A !important;
}
.svc .book-payment__root .panel:has(.book-payment__prices) button#submit {
  position: absolute !important;
  bottom: 4.5rem !important;
  left: calc(50% - 4.6875rem) !important;
  width: 11.25rem !important;
}

/* NEW VISA CONFIRMATION BLOCK */
.svc .customer-info__panel[data-tippy-root] {
  visibility: visible !important;
  position: absolute !important;
  z-index: 9999 !important;
}
.svc .customer-info__panel.panel__border {
  background-color: var(--white) !important;
  padding: 3rem 1.25rem 9rem !important;
  border: 0.1875rem solid var(--cool-200) !important;
  border-radius: 0.625rem !important;
  box-sizing: border-box !important;
}
.svc .customer-info__panel label,
.svc .customer-info__panel .input-label {
  font-size: var(--text-size-xs) !important;
  margin: 0 0 0.3125rem !important;
  color: var(--black) !important;
}
.svc .customer-info__panel .payment-methods div p.select-none {
  text-align: center !important;
  font-weight: bold !important;
}
.svc .customer-info__panel .integer {
  margin-top: 0.75em !important;
}
.svc .customer-info__panel .integer label {
  text-align: center;
  padding-bottom: 0.25rem;
}
.svc .customer-info__panel .integer .flx {
  align-items: center !important;
  column-gap: 0.625rem;
}
.svc .customer-info__panel .integer .flx input {
  flex-grow: 0 !important;
}
.svc .customer-info__panel .integer .flx button {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: 0 !important;
  color: var(--cool-400) !important;
  background: var(--white) !important;
  border-radius: 50% !important;
  width: 2rem !important;
  max-width: 2rem !important;
  height: 2rem !important;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200) !important;
  transition: all 0.2s !important;
}
.svc .customer-info__panel .integer .flx button:hover {
  color: var(--white) !important;
  background-color: var(--cool-500) !important;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-500) !important;
}
.svc .customer-info__panel .integer .flx button.increment:before, .svc .customer-info__panel .integer .flx button.decrement:before {
  content: "add" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-lg) !important;
}
.svc .customer-info__panel .integer .flx button.decrement:before {
  content: "remove" !important;
}

@media (max-width: 48rem) {
  .svc .customer-info__panel {
    width: 100% !important;
  }
  .svc .customer-info__panel > .input {
    width: 100% !important;
  }
}
.svc {
  /* == SEARCH HEADER ======================================= */
}
.svc .search__header {
  display: grid !important;
  padding: 1.5rem 0 !important;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
  margin-bottom: 2rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .search__header {
    display: flex !important;
  }
}
.svc .search__header .search__info-table {
  position: relative !important;
  margin-right: auto !important;
}
.svc .search__header .search__info-table:before {
  position: absolute;
  left: 0.4375rem !important;
  top: -0.375rem !important;
  content: "car_rental" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-xl) !important;
  font-variation-settings: "FILL" 1;
  color: var(--cool-500) !important;
}
.svc .search__header .search__info-table th:last-of-type {
  padding-left: 1.5625rem !important;
}
.svc .search__header .search__info-table th p {
  font-style: normal !important;
  font-weight: 700 !important;
  padding: 0 0 0.5rem 0.3125rem !important;
}
.svc .search__header .search__info-table td:last-of-type {
  padding-left: 1.5625rem !important;
}
.svc .search__header .search__info-table td p {
  font-size: var(--text-size-13) !important;
  font-weight: 400 !important;
  padding: 0 0 0.5rem 0.3125rem !important;
}
.svc .search__header .search__info-table td .ico {
  font-size: var(--text-size-xs) !important;
  color: var(--cool-500) !important;
  margin: -0.0625rem 0.8125rem 0 0.625rem !important;
}
.svc .search__header .search__header-buttons {
  justify-content: center !important;
  column-gap: 1rem !important;
  padding-top: 1.5rem !important;
  border-top: 0.0625rem solid var(--cool-200) !important;
}
@media only screen and (min-width: 768px) {
  .svc .search__header .search__header-buttons {
    justify-content: flex-end !important;
    padding: 0 !important;
    border-top: none !important;
  }
}
.svc .search__header .search__header-buttons button {
  column-gap: 0.3125rem !important;
  font-size: var(--text-size-xs) !important;
  color: var(--cool-500) !important;
  background-color: var(--white) !important;
  box-shadow: 0 0 0 0 rgba(var(--black-rgb), var(--alpha1)), 0 0 0 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200) !important;
  transition: box-shadow 0.2s ease-in-out !important;
  cursor: pointer !important;
}
.svc .search__header .search__header-buttons button:before {
  content: "youtube_searched_for" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-lg) !important;
}
.svc .search__header .search__header-buttons button:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-400) !important;
}
.svc .search__header .search__header-buttons button.search__button-filters:before {
  content: "tune" !important;
}
@media only screen and (min-width: 768px) {
  .svc .search__header .search__header-buttons button.search__button-filters {
    display: none !important;
  }
}
.svc {
  /* == SEARCH BODY ========================================= */
}
.svc .search__main {
  column-gap: 3.75rem !important;
  /* == VEHICLE CARD ======================================== */
}
.svc .search__main .search__results-container {
  gap: 2rem !important;
}
.svc .search__main .search__results-container .search__result {
  position: relative !important;
  padding: 1.25rem 1rem !important;
  border: none !important;
  border-radius: 0.625rem !important;
  margin-bottom: 0 !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200) !important;
}
.svc .search__main .search__results-container .search__result h2 {
  font-size: var(--text-size-lg) !important;
  line-height: var(--text-leading-base) !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--cool-700) !important;
  padding: 0 !important;
  margin: 0 0 0.75rem !important;
}
.svc .search__main .search__results-container .search__result .price-label {
  top: 0 !important;
  right: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  flex-direction: column !important;
  row-gap: 0.3125rem !important;
  color: var(--white) !important;
  text-align: right !important;
  background: var(--airnz-brand-major);
  border-radius: 0 0.1875rem 0.1875rem 0 !important;
  padding-left: 1.25rem !important;
  height: 3.75rem !important;
  box-shadow: none !important;
}
.svc .search__main .search__results-container .search__result .price-label:before {
  position: absolute !important;
  top: initial !important;
  bottom: 0 !important;
  left: -1.25rem !important;
  content: "" !important;
  border-bottom: 1.875rem solid var(--airnz-brand-major) !important;
  border-left: 1.25rem solid transparent !important;
  border-right: none !important;
  width: 0 !important;
  height: 0 !important;
}
.svc .search__main .search__results-container .search__result .price-label:after {
  position: absolute !important;
  top: 0 !important;
  left: -1.25rem !important;
  content: "" !important;
  background: transparent;
  border-top: 1.875rem solid var(--airnz-brand-major) !important;
  border-left: 1.25rem solid transparent !important;
  border-radius: 0;
  width: 0 !important;
  height: 0 !important;
}
.svc .search__main .search__results-container .search__result .price-label label {
  position: static !important;
  font-size: var(--text-size-15) !important;
  color: var(--white) !important;
  text-decoration-color: var(--white) !important;
  margin: 0 !important;
}
.svc .search__main .search__results-container .search__result .price-label p {
  font-size: var(--text-size-xl) !important;
  padding: 0 !important;
  margin: 0 !important;
}
.svc .search__main .search__results-container .search__result .search__tags {
  display: flex !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  padding-bottom: 0.9375rem !important;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
  margin: 1rem 0 0 !important;
}
.svc .search__main .search__results-container .search__result .search__tags p {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.25rem !important;
  font-size: var(--text-size-2xs) !important;
  color: var(--cool-600) !important;
  background-color: var(--cool-50) !important;
  padding: 0.25rem 0.5rem 0.25rem 0.3125rem !important;
  border-radius: 0.1875rem !important;
  height: 1.5625rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-300) !important;
  box-sizing: border-box !important;
}
.svc .search__main .search__results-container .search__result .search__tags p .ico {
  font-size: var(--text-size-13) !important;
  margin: 0 !important;
}
.svc .search__main .search__results-container .search__result .search__tags + div {
  align-items: center !important;
  padding-top: 1.125rem !important;
  border-top: 0.0625rem solid var(--cool-200) !important;
  margin-top: 2.9375rem !important;
}
.svc .search__main .search__results-container .search__result .search__tags + div p {
  position: absolute !important;
  bottom: 5rem !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 0.3125rem !important;
  font-style: italic !important;
  font-size: var(--text-size-11) !important;
  color: var(--white) !important;
  background: var(--green-700) !important;
  padding: 0 0.625rem !important;
  border: none !important;
  border-radius: 0.1875rem !important;
  margin-bottom: 0.625rem !important;
  height: fit-content !important;
  width: fit-content !important;
  height: 1.625rem !important;
  cursor: pointer !important;
}
.svc .search__main .search__results-container .search__result .search__tags + div p .ico {
  font-size: var(--text-size-11) !important;
  font-weight: var(--text-weight-normal) !important;
  margin: 0 !important;
}
.svc .search__main .search__results-container .search__result .search__tags + div p span:not(.ico) {
  font-size: var(--text-size-xs) !important;
}
.svc .search__main .search__results-container .search__result .search__tags + div div {
  justify-content: space-between !important;
  column-gap: 0.9375rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .search__main .search__results-container .search__result .search__tags + div div {
    justify-content: flex-end !important;
  }
}
@media only screen and (min-width: 768px) {
  .svc .search__main .search__results-container .search__result .search__tags + div div a:first-of-type {
    margin-left: auto !important;
  }
}
.svc .search__pagination-container .flx {
  justify-content: center !important;
  gap: 0.3125rem;
}
.svc .search__pagination-container .flx button.icon {
  width: 1.75rem !important;
  min-width: fit-content !important;
  height: 1.75rem !important;
}
.svc .search__pagination-container .flx button.icon.frame {
  text-decoration: none !important;
  background: var(--cool-25) !important;
  border-radius: 0.125rem !important;
  box-shadow: inset 0 0 0 9.0625rem var(--cool-100) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.svc .search__pagination-container .flx button.icon.frame:hover {
  color: var(--white) !important;
  background: var(--cool-500) !important;
  box-shadow: inset 0 0 0 9.0625rem var(--cool-500) !important;
}
.svc .search__pagination-container .flx button.icon.frame.search__page-arrow {
  font-size: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.svc .search__pagination-container .flx button.icon.frame.search__page-arrow:before {
  content: "chevron_right" !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: var(--text-size-lg) !important;
}
.svc .search__pagination-container .flx button.icon.frame.search__page-arrow:hover {
  color: var(--white) !important;
  background: var(--cool-500) !important;
}
.svc .search__pagination-container .flx button.icon.frame.search__page-arrow:has(+ button):before {
  content: "chevron_left" !important;
}
.svc .search__pagination-container .flx button.icon.frame.selected {
  color: var(--white) !important;
  background: var(--cool-400) !important;
  box-shadow: inset 0 0 0 9.0625rem var(--cool-400) !important;
}
.svc .search__zero-results {
  display: flex !important;
  row-gap: 0.5rem !important;
  justify-content: center !important;
  align-items: center !important;
  flex-direction: column !important;
  font-size: var(--text-size-base) !important;
  gap: 1.5rem !important;
  text-align: center !important;
  font-weight: var(--text-weight-semibold) !important;
  color: var(--cool-600) !important;
  padding: 2rem !important;
  border: 0.0625rem solid var(--cool-200) !important;
  border-radius: 1.5rem !important;
  margin: 0 auto !important;
  width: fit-content !important;
}
.svc .search__zero-results h3 {
  display: none !important;
}
.svc .search__zero-results:before {
  display: block !important;
  content: "乁(ツ)ㄏ" !important;
  font-size: var(--text-size-5xl) !important;
  line-height: 1.4;
  color: var(--cool-600) !important;
  text-align: center !important;
}
.svc .search__zero-results:after {
  content: "Sorry, we weren't able to find any results for your criteria." !important;
}

.svc {
  /* == SLIDE BOXES (MODALS) ================================ */
}
.svc .modal {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: flex !important;
  justify-content: start !important;
  align-items: flex-end !important;
  padding-top: 1.25rem !important;
}
.svc .modal:before {
  position: absolute !important;
  top: 0.6875rem !important;
  display: block !important;
  content: "" !important;
  background: var(--white) !important;
  border-radius: 2rem 2rem 0 0 !important;
  margin: 0 0.9375rem !important;
  height: 1.5625rem !important;
  width: calc(100% - 40px) !important;
  max-width: 728px !important;
  z-index: -1;
}
@media only screen and (min-width: 768px) {
  .svc .modal:before {
    display: none !important;
  }
}
.svc .modal .modal__background {
  background: transparent !important;
}
.svc .modal {
  /* == DEFAULT ============================================= */
}
.svc .modal .modal__container {
  position: relative !important;
  background: var(--cool-25) !important;
  padding-top: 5rem !important;
  border-radius: 0.625rem 0.625rem 0 0 !important;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.25) !important;
  width: 100% !important;
  max-width: 64rem !important;
  height: 100% !important;
  box-sizing: border-box !important;
}
.svc .modal .modal__container.modal__fs {
  height: 100% !important;
}
.svc .modal .modal__container:after {
  position: absolute;
  top: 1.375rem !important;
  right: 0.9375rem !important;
  left: 0.9375rem !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  content: "";
  font-size: var(--text-size-15) !important;
  line-height: 2.4 !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--white) !important;
  text-align: center !important;
  text-transform: uppercase !important;
  background-color: var(--cool-700) !important;
  padding: 0.0625rem 1.25rem 0 1rem !important;
  border-radius: 1.125rem !important;
  height: 2.25rem !important;
  box-sizing: border-box !important;
}
.svc .modal .modal__container .modal__content {
  padding: 0.9375rem 1.125rem 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
@media only screen and (min-width: 768px) {
  .svc .modal .modal__container .modal__content {
    padding: 0 2.25rem !important;
  }
}
.svc .modal .modal__container .modal__content > * {
  margin: 0 !important;
}
.svc .modal .modal__container .modal__content > div {
  padding-top: 0.3125rem !important;
  padding-bottom: 0 !important;
}
.svc .modal {
  /* == SEARCH ============================================== */
}
.svc .modal.search-modal .modal__container:after {
  content: "Search Options" !important;
}
.svc .modal.search-modal .modal__container .tabs {
  position: relative !important;
}
.svc .modal.search-modal .modal__container .tabs:after {
  position: fixed !important;
  bottom: 0 !important;
  content: "";
  font-size: 0 !important;
  color: transparent !important;
  background: var(--white) !important;
  margin-left: -1.125rem !important;
  width: 100% !important;
  max-width: 64rem !important;
  height: 6.25rem !important;
  box-shadow: 0 -0.25rem 0.25rem -0.25rem var(--neutral-300) !important;
  z-index: 1 !important;
}
@media only screen and (min-width: 768px) {
  .svc .modal.search-modal .modal__container .tabs:after {
    margin-left: -2.25rem !important;
  }
}
.svc .modal.search-modal .modal__container .tabs .tabs__contents {
  background: var(--white) !important;
  border-radius: 0.625rem !important;
}
.svc .modal.search-modal .modal__container .tabs .tabs__contents button.button-search {
  position: fixed !important;
  bottom: 2.75rem !important;
  left: calc(50% - 5.625rem) !important;
  width: 100% !important;
  z-index: 2 !important;
}
.svc .modal {
  /* == FILTERS ============================================= */
}
.svc .modal.search__filters-modal .modal__container:after {
  content: "Filters" !important;
}
.svc .modal.search__filters-modal .modal__container .modal__content > div {
  padding: 0 !important;
}
.svc .modal.search__filters-modal .modal__container > div .search__filters-apply {
  background: var(--white) !important;
  padding: 0.875rem 1.25rem 0 !important;
  margin: 1.25rem -2.25rem 0 !important;
  height: 100px !important;
  box-shadow: 0 0 0.25rem var(--neutral-300) !important;
  box-sizing: border-box !important;
}
.svc .modal {
  /* == VEHICLE DETAILS ===================================== */
}
.svc .modal:has(.display-entity) .modal__container:after {
  content: "Vehicle Details" !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content {
  padding: 0 !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity {
  gap: 15px !important;
  background: transparent !important;
  padding: 0 1.125rem 9.375rem !important;
}
@media only screen and (min-width: 768px) {
  .svc .modal:has(.display-entity) .modal__container .modal__content .display-entity {
    padding: 0 2.25rem 9.375rem !important;
  }
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity.panel {
  box-sizing: border-box;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity h2 {
  font-size: var(--text-size-base) !important;
  line-height: var(--text-leading-base) !important;
  font-weight: var(--text-weight-bold) !important;
  color: var(--cool-700) !important;
  padding: 0 !important;
  margin: 0 !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity p {
  line-height: 1.35 !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .entity-detail__tags {
  display: flex !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  padding-bottom: 0.9375rem !important;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
  margin: 0 0 0.625rem !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .entity-detail__tags.rw p {
  display: flex !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .entity-detail__tags p {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.25rem !important;
  font-size: var(--text-size-2xs) !important;
  color: var(--cool-600) !important;
  background-color: var(--cool-50) !important;
  padding: 0.25rem 0.5rem 0.25rem 0.3125rem !important;
  border-radius: 0.1875rem !important;
  margin-bottom: 0 !important;
  height: 1.5rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-300) !important;
  box-sizing: border-box !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .entity-detail__tags p .ico {
  font-size: var(--text-size-13) !important;
  margin: 0 !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs {
  margin: 1.25rem 0 0.625rem !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs .tabs__contents {
  background: var(--white) !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs .tabs__contents .tabs__content h5 {
  padding-bottom: 0.5rem !important;
  border-bottom: 0.0625rem solid var(--cool-200) !important;
  margin: 0.625rem 0 !important;
}
@media only screen and (min-width: 768px) {
  .svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs .tabs__contents .tabs__content > div {
    gap: 1.25rem 2.5rem !important;
  }
  .svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs .tabs__contents .tabs__content > div div:has(h5) {
    flex: 0 1 calc(50% - 1.25rem) !important;
  }
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table {
  margin-bottom: 0.625rem !important;
  width: 100% !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table th, .svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table td {
  font-size: var(--text-size-xs) !important;
  text-align: right !important;
  padding: 0.125rem 0 !important;
  width: 35% !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table th:first-of-type, .svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table td:first-of-type {
  text-align: left !important;
  width: 65% !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table.entity-detail__optionals-table tr {
  border-bottom: 0.0625rem solid var(--cool-100);
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table.entity-detail__optionals-table tr:nth-of-type(even) {
  background: var(--neutral-100) !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table.entity-detail__optionals-table th, .svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table.entity-detail__optionals-table td {
  padding: 0.5rem !important;
  width: 15% !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table.entity-detail__optionals-table th:first-of-type, .svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table.entity-detail__optionals-table td:first-of-type {
  display: flex !important;
  line-height: 1.3 !important;
  width: 55% !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table.entity-detail__optionals-table th .ico, .svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs table.entity-detail__optionals-table td .ico {
  font-size: var(--text-size-13) !important;
  color: var(--cool-600) !important;
  margin-right: 0.5rem !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs .entity-detail__tags {
  background: var(--cool-50) !important;
  padding: 0.625rem 0.5rem !important;
  border-bottom: none !important;
  margin-bottom: 0.625rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200) !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs .entity-detail__tags p {
  background: var(--white) !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs ~ h2 {
  position: fixed !important;
  bottom: 0 !important;
  font-size: 0 !important;
  color: transparent !important;
  background: var(--white) !important;
  margin-left: -1.125rem !important;
  width: 100% !important;
  max-width: 48rem !important;
  height: 100px !important;
  box-shadow: 0 -0.25rem 0.25rem -0.25rem var(--neutral-300) !important;
  z-index: 1 !important;
}
@media only screen and (min-width: 768px) {
  .svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs ~ h2 {
    margin-left: -2.25rem !important;
  }
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs ~ h2 + .button {
  position: fixed !important;
  bottom: 44px !important;
  left: calc(50% - 5.625rem) !important;
  width: 100% !important;
  z-index: 2 !important;
}
.svc .modal:has(.display-entity) .modal__container .modal__content .display-entity .tabs ~ h2 + .button + p {
  display: none;
}

.categoryProduct-wrapper {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  margin: 2rem 0 0;
}

.categoryProduct {
  position: relative;
  display: grid;
  grid-template-rows: repeat(3, auto);
  margin: 0 auto;
}
.categoryProduct.hotDeal .productName-wrapper .dealFlag-mobile {
  background-color: var(--warm-500);
}
.categoryProduct.bestPrice .productName-wrapper .dealFlag-mobile {
  background-color: var(--cool-400);
}
.categoryProduct.soldout .dealDetails-wrap .dealDiscount.dealDiscount.dealDiscount-1, .categoryProduct.soldout .dealDetails-wrap .dealDiscount.dealDiscount.dealDiscount-2, .categoryProduct.soldout .dealDetails-wrap .dealDiscount.dealDiscount.dealDiscount-3 {
  color: var(--neutral-300);
  text-decoration: line-through;
  background-color: var(--cool-50);
  box-shadow: 0 0 0 0.0625rem var(--cool-200);
}
.categoryProduct.soldout .dealDetails-wrap .dealDiscount span {
  display: none;
}
.categoryProduct.soldout .dealDetails-wrap .hd_dealSpaces {
  font-size: var(--text-sm);
  color: var(--neutral-300);
}
.categoryProduct.soldout .dealDetails-wrap .hd_dealPrice {
  display: none;
}
.categoryProduct.soldout .dealDetails-wrap .hd_dealButton {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.625rem;
  margin-bottom: 0 0.3125rem;
  width: 100%;
}
.categoryProduct.comingSoon .dealDetails-wrap .dealSpaces {
  position: relative;
  color: transparent;
  background-color: var(--bkme-button-hold);
  box-shadow: none;
}
.categoryProduct.comingSoon .dealDetails-wrap .dealSpaces:after {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  content: "Coming Soon";
  font-size: var(--text-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-semibold);
  color: #192439;
  padding: 0 0.3125rem;
}
.categoryProduct.comingSoon .dealDetails-wrap .dealPrice {
  display: none;
}
.categoryProduct.comingSoon .dealDetails-wrap .dealButton {
  display: flex;
  margin-bottom: 0.3125rem;
}
.categoryProduct .product-link {
  color: var(--black);
}
.categoryProduct .product-link:hover {
  opacity: 1;
}
.categoryProduct .product-link > * {
  pointer-events: none;
}
.categoryProduct .product-link .productName-wrapper {
  position: relative;
}
.categoryProduct .product-link .productName-wrapper h2, .categoryProduct .product-link .productName-wrapper .h2, .categoryProduct .product-link .productName-wrapper h3, .categoryProduct .product-link .productName-wrapper .h3 {
  font-size: var(--text-lg);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  color: var(--cool-700);
  margin-bottom: 0.5rem;
  width: calc(100% - 5rem);
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper {
  display: flex;
  justify-content: space-around;
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper.noReviews {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  font-style: italic;
  font-size: var(--text-2xs);
  color: var(--gold-500);
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper.noReviews i {
  font-size: var(--text-xs);
  color: var(--gold-500);
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .tinyStars,
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .tinyStars-percentage {
  position: relative;
  line-height: 0;
  margin-right: 0.75rem;
  height: auto;
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .tinyStars:before,
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .tinyStars-percentage:before {
  display: inline-block;
  content: "\e83a\e83a\e83a\e83a\e83a";
  font-family: "Material Icons";
  font-style: normal;
  font-size: var(--text-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-normal);
  color: var(--gold-300);
  letter-spacing: -0.25rem;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .tinyStars-percentage {
  display: block;
  position: absolute;
  top: 0;
  overflow: hidden;
  white-space: nowrap;
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .tinyStars-percentage:before {
  content: "\e838\e838\e838\e838\e838";
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .miniAvg,
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .miniCount {
  position: static;
  font-size: var(--text-3xs);
  font-family: "Open Sans";
  color: var(--black);
  border-radius: initial;
  margin: 0;
  min-width: initial;
  min-height: initial;
  width: auto;
  height: auto;
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .miniAvg::after {
  content: "Rating"/"";
  padding-left: 0.125rem;
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .miniCount:before {
  content: "/"/"";
  color: var(--neutral-300);
  border: none;
  padding: 0 0.25rem 0;
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .tinyReviewWrapper .miniCount:after {
  position: static;
  content: "Reviews"/"";
  padding-left: 0.125rem;
  border: none;
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .dealFlag-mobile {
  position: relative;
  display: flex;
  align-items: center;
  font-size: var(--text-3xs);
  line-height: var(--text-leading-3xs);
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  text-transform: uppercase;
  text-align: center;
  padding: 0 0.625rem 0 1.25rem;
  margin: 0 0 0 auto;
  border-radius: 0 0.125rem 0.125rem 0;
  height: 1.125rem;
  width: auto;
}
.categoryProduct .product-link .productName-wrapper .reviewFlag-wrapper .dealFlag-mobile:before {
  position: absolute;
  top: calc(50% - 0.75rem);
  left: 0;
  content: "";
  border-top: 0.75rem solid transparent;
  border-left: 0.625rem solid var(--white);
  border-bottom: 0.75rem solid transparent;
  width: 0;
  height: 0;
}
.categoryProduct .product-link .productImage-wrapper {
  display: block;
  margin-top: 0.625rem;
  overflow: hidden;
}
.categoryProduct .product-link .productImage-wrapper img {
  border-radius: 0.5rem 0.5rem 0 0;
  width: 100%;
  height: 100%;
  min-height: 10rem;
  max-height: 20rem;
  object-fit: cover;
}
.categoryProduct .product-link .categoryProduct-deal {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0.625rem;
  padding: 0.875rem 1rem 1.125rem;
  border-radius: 0 0 0.5rem 0.5rem;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
  box-sizing: border-box;
  width: 100%;
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap {
  display: grid;
  grid-template-columns: 4.5rem 4.5rem;
  grid-gap: 0.625rem;
  align-items: flex-end;
  width: 100%;
  height: 100%;
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDates {
  grid-column-start: 1;
  grid-column-end: 3;
  align-self: flex-start;
  font-size: var(--text-2xs);
  line-height: var(--text-leading-2xs);
  color: var(--bkme-secondary-light);
  width: 100%;
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDates:before {
  display: inline-block;
  content: "Best between:";
  margin-right: 0.1875rem;
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDates:after {
  display: block;
  content: "Tap through for more dates";
  font-style: italic;
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDates span:first-of-type:after {
  display: inline-block;
  content: "–";
  margin: 0 0.1875rem;
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDiscount,
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealSpaces {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-semibold);
  font-style: italic;
  color: var(--bkme-secondary);
  text-align: center;
  background-color: var(--cool-50);
  border-radius: 0.1875rem;
  width: 4.1875rem;
  height: 2.25rem;
  box-shadow: 0 0 0.0625rem var(--cool-200);
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDiscount span,
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealSpaces span {
  font-size: var(--text-2xs);
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDiscount span {
  font-size: var(--text-4xs);
  line-height: var(--text-leading-3xs);
  font-weight: var(--text-weight-normal);
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDiscount.dealDiscount.dealDiscount-1, .categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDiscount.dealDiscount.dealDiscount-2, .categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDiscount.dealDiscount.dealDiscount-3 {
  color: var(--white);
  box-shadow: none;
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDiscount.dealDiscount.dealDiscount-1 {
  background-color: var(--warm-300);
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDiscount.dealDiscount.dealDiscount-2 {
  background-color: var(--warm-400);
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDiscount.dealDiscount.dealDiscount-3 {
  background-color: var(--warm-500);
}
.categoryProduct .product-link .categoryProduct-deal .productDates-wrap div:empty {
  display: none;
}
.categoryProduct .product-link .categoryProduct-deal .productPrice {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  gap: 0.3125rem;
  width: 100%;
}
.categoryProduct .product-link .categoryProduct-deal .productPrice:has(> span) {
  position: relative;
}
.categoryProduct .product-link .categoryProduct-deal .productPrice:has(> span) > span {
  position: absolute;
  top: 0.5rem;
  left: 0;
  font-size: var(--text-2xs);
  font-weight: var(--text-weight-bold);
  width: 3.75rem;
  text-align: right;
}
.categoryProduct .product-link .categoryProduct-deal .productPrice strong, .categoryProduct .product-link .categoryProduct-deal .productPrice .offer-price {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: wrap;
  font-size: var(--text-4xl);
  line-height: var(--leading-7);
  font-weight: var(--text-weight-bold);
}
.categoryProduct .product-link .categoryProduct-deal .productPrice strong span, .categoryProduct .product-link .categoryProduct-deal .productPrice .offer-price span {
  font-size: var(--text-2xs);
  font-weight: var(--text-weight-normal);
  line-height: var(--text-leading-4xs);
  text-align: right;
  width: 100%;
}
.categoryProduct .product-link .categoryProduct-deal .productPrice strong span:before, .categoryProduct .product-link .categoryProduct-deal .productPrice .offer-price span:before {
  display: inline-block;
  content: "Prices ";
  margin-right: 0.125rem;
}
.categoryProduct .product-link .categoryProduct-deal .productPrice strong sup, .categoryProduct .product-link .categoryProduct-deal .productPrice .offer-price sup {
  align-self: flex-start;
  font-size: var(--text-size-lg);
  line-height: var(--leading-5);
  font-weight: var(--text-weight-bold);
  border-bottom: 0.125rem solid var(--black);
  margin: 0 0 0 0.25rem;
}
.categoryProduct .product-link .categoryProduct-deal .productPrice em {
  font-size: var(--text-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-normal);
  text-align: right;
}

@media only screen and (min-width: 360px) {
  .categoryProduct .product-link .categoryProduct-deal {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .categoryProduct .product-link .categoryProduct-deal .productDates-wrap {
    display: flex;
    flex-wrap: wrap;
  }
  .categoryProduct .product-link .categoryProduct-deal .productDates-wrap .dealDates:after {
    display: block;
    content: "Tap through for more dates & prices";
  }
  .categoryProduct.soldout .categoryProduct-deal .hd_dealButton {
    margin-top: 0;
    width: auto;
  }
}
@media only screen and (min-width: 390px) {
  .categoryProduct .product-link .categoryProduct-deal .productPrice strong {
    flex-wrap: nowrap;
  }
  .categoryProduct .product-link .categoryProduct-deal .productPrice strong span {
    margin: 0 0.375rem 0.25rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .categoryProduct-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2rem;
  }
  .categoryProduct-wrapper:has(.categoryProduct:first-of-type:is(:last-of-type)) {
    grid-template-columns: 1fr;
  }
  .categoryProduct-wrapper .categoryProduct .product-link {
    padding: 0.75rem 1rem 1.125rem;
    border-radius: 0.5rem;
    box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
    transition: all 0.2s ease-in;
  }
  .categoryProduct-wrapper .categoryProduct .product-link:hover {
    box-shadow: inset 0 0 0 0.1875rem var(--cool-500), inset 0 -0.1875rem 0 var(--cool-500);
  }
  .categoryProduct-wrapper .categoryProduct .productImage-wrapper img {
    border-radius: 0.1875rem;
  }
  .categoryProduct-wrapper .categoryProduct .categoryProduct-deal {
    padding: 0.875rem 0 0;
    border-radius: 0;
    box-shadow: none;
  }
}
.filter {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-size-xs);
  list-style-type: none;
  padding: 0;
  box-shadow: inset 0 0.0625rem 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
  box-sizing: border-box;
}
.filter li {
  display: flex;
  flex: 1 1 auto;
  justify-content: center;
  max-width: 33.3%;
}
.filter li a {
  display: flex;
  flex: 1 1 auto;
  justify-content: center;
  align-items: center;
  color: var(--cool-500);
  max-width: 100%;
  height: 3rem;
}
.filter li a i {
  font-size: var(--text-size-lg);
  margin-right: 0.25rem;
}
.filter li a.active {
  color: var(--cool-500);
  box-shadow: inset 0 -0.1875rem 0 0 var(--cool-500);
}

@media only screen and (min-width: 768px) {
  .filter {
    padding: 0 12.5%;
  }
}
.category-desc {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  padding: 1.125rem 1rem 0.3125rem 0.3125rem;
  border-top: 0.0625rem solid var(--cool-200);
  margin: 1.5rem 0 0;
  width: 100%;
  box-sizing: border-box;
}

/*  =========================================================================================================================== */
/*  STAY ====================================================================================================================== */
/*  =========================================================================================================================== */
li.hotels span {
  background-image: url(../images/activity-categories/nz/hotels.jpg);
}

li.motels span {
  background-image: url(../images/activity-categories/nz/motels.jpg);
}

li.holiday-homes span {
  background-image: url(../images/activity-categories/nz/holiday-homes.jpg);
}

li.boats-and-yachts span {
  background-image: url(../images/activity-categories/nz/boats-and-yachts.jpg);
}

li.tree-houses span {
  background-image: url(../images/activity-categories/nz/tree-houses.jpg);
}

li.camping span {
  background-image: url(../images/activity-categories/nz/camping.jpg);
}

li.campervans span {
  background-image: url(../images/activity-categories/nz/campervans.jpg);
}

/*  =========================================================================================================================== */
/*  ADVENTURE ================================================================================================================== */
/*  =========================================================================================================================== */
li.bungy-jumping span {
  background-image: url(../images/activity-categories/nz/bungy-swings.jpg);
}

li.canyon-swings span {
  background-image: url(../images/activity-categories/nz/canyon-swings.jpg);
}

li.canyoning-caving span {
  background-image: url(../images/activity-categories/nz/waitomo-caves.jpg);
}

li.ziplines-and-flying-fox span {
  background-image: url(../images/activity-categories/nz/zip-line.jpg);
}

li.jet-boating span {
  background-image: url(../images/activity-categories/nz/jet-boating.jpg);
}

li.whitewater-rafting-riversurfing span {
  background-image: url(../images/activity-categories/nz/rafting-riversurfing.jpg);
}

li.skydiving span {
  background-image: url(../images/activity-categories/nz/skydiving.jpg);
}

li.mountain-biking span {
  background-image: url(../images/activity-categories/nz/mountain-biking.jpg);
}

li.motorbikes span {
  background-image: url(../images/activity-categories/nz/motorbikes.jpg);
}

li.paragliding-hang-gliding span {
  background-image: url(../images/activity-categories/nz/paragliding-hang-gliding.jpg);
}

li.stunt-planes-gliders span {
  background-image: url(../images/activity-categories/nz/aerobatic-planes.jpg);
}

li.heli-skiing span {
  background-image: url(../images/activity-categories/au/heli-ski-snow-mobile.jpg);
}

li.hot-air-ballooning span {
  background-image: url(../images/activity-categories/nz/hot-air-ballooning.jpg);
}

li.rock-climbing span {
  background-image: url(../images/activity-categories/nz/climbing.jpg);
}

li.snowboarding-skiing span {
  background-image: url(../images/activity-categories/nz/mountain-info.jpg);
}

li.pinnacles span {
  background-image: url(../images/activity-categories/au/pinnacles.jpg);
}

li.swan-valley span {
  background-image: url(../images/activity-categories/au/swan-valley.jpg);
}

/*  =========================================================================================================================== */
/*  ACTIVITIES ================================================================================================================ */
/*  =========================================================================================================================== */
li.sailing-cruises span {
  background-image: url(../images/activity-categories/nz/sailing-cruises.jpg);
}

li.horse-trekking span {
  background-image: url(../images/activity-categories/nz/horse-trekking.jpg);
}

li.fishing span {
  background-image: url(../images/activity-categories/nz/fishing.jpg);
}

li.scuba-diving-snorkeling span {
  background-image: url(../images/activity-categories/nz/diving.jpg);
}

li.jet-ski span {
  background-image: url(../images/activity-categories/nz/jet-ski.jpg);
}

li.gondola-luge span {
  background-image: url(../images/activity-categories/nz/gondola-luge.jpg);
}

li.gondola span {
  background-image: url(../images/activity-categories/nz/gondola.jpg);
}

li.parasailing span {
  background-image: url(../images/activity-categories/nz/parasailing.jpg);
}

li.kayaking span {
  background-image: url(../images/activity-categories/nz/kayak-jet-ski-boat-hire.jpg);
}

li.cycling span {
  background-image: url(../images/activity-categories/nz/cycling.jpg);
}

li.walking-hiking span {
  background-image: url(../images/activity-categories/nz/walking-hiking.jpg);
}

li.pools-hotpools span {
  background-image: url(../images/activity-categories/nz/hotpools.jpg);
}

li.paintball span {
  background-image: url(../images/activity-categories/nz/paintball.jpg);
}

li.golf span {
  background-image: url(../images/activity-categories/nz/golf.jpg);
}

li.sports-hire span {
  background-image: url(../images/activity-categories/nz/sports-hire.jpg);
}

li.surfing-sup span {
  background-image: url(../images/activity-categories/nz/surfing.jpg);
}

li.climbing span {
  background-image: url(../images/activity-categories/nz/climbing.jpg);
}

li.wakeboarding-kite-surfing span {
  background-image: url(../images/activity-categories/nz/wakeboard-kitesurf-and-sup.jpg);
}

li.day-spa-massage span {
  background-image: url(../images/activity-categories/nz/day-spa-beauty.jpg);
}

li.yoga-fitness span {
  background-image: url(../images/activity-categories/nz/yoga.jpg);
}

li.entertainment span {
  background-image: url(../images/activity-categories/nz/entertainment.jpg);
}

li.lessons-learn-to span {
  background-image: url(../images/activity-categories/nz/learn-to.jpg);
}

li.cultural-experiences span {
  background-image: url(../images/activity-categories/nz/cultural-experiences.jpg);
}

li.pools-hot-pools span {
  background-image: url(../images/activity-categories/nz/hotpools.jpg);
}

/*  =========================================================================================================================== */
/*  TOURS ===================================================================================================================== */
/*  =========================================================================================================================== */
li.boat-tours-day-cruises span {
  background-image: url(../images/activity-categories/nz/boat-tours.jpg);
}

li.sightseeing-scenic-tours span {
  background-image: url(../images/activity-categories/nz/touring.jpg);
}

li.multi-day-tours-cruises span {
  background-image: url(../images/activity-categories/au/fraser-island-whitsundays.jpg);
}

li.wine-tours span {
  background-image: url(../images/activity-categories/nz/wine-tours.jpg);
}

li.walking-tours span {
  background-image: url(../images/activity-categories/nz/walking-hiking.jpg);
}

li.scenic-flights span {
  background-image: url(../images/activity-categories/nz/helicopters-flight-seeing.jpg);
}

li.helicopter-flights span {
  background-image: url(../images/activity-categories/nz/helicopters-flight-seeing.jpg);
}

li.atv-tours span {
  background-image: url(../images/activity-categories/nz/atv.jpg);
}

li.wd-tours span {
  background-image: url(../images/activity-categories/nz/four-wd-scenic-tours.jpg);
}

li.cycling-tours span {
  background-image: url(../images/activity-categories/nz/cycling.jpg);
}

li.golf-tours span {
  background-image: url(../images/activity-categories/nz/golf.jpg);
}

li.transport span {
  background-image: url(../images/activity-categories/nz/transport.jpg);
}

li.sunset-tours span {
  background-image: url(../images/activity-categories/nz/sunset-tours.jpg);
}

/*  =========================================================================================================================== */
/*  ATTRACTIONS =============================================================================================================== */
/*  =========================================================================================================================== */
li.zoos-wildlife-parks span {
  background-image: url(../images/activity-categories/nz/wildlife-parks.jpg);
}

li.nature-wildlife span {
  background-image: url(../images/activity-categories/nz/nature-wildlife.jpg);
}

li.museums span {
  background-image: url(../images/activity-categories/nz/museums.jpg);
}

li.geothermal-attractions span {
  background-image: url(../images/activity-categories/nz/geothermal.jpg);
}

li.cultural-attractions span {
  background-image: url(../images/activity-categories/nz/cultural-attractions.jpg);
}

li.theme-parks span {
  background-image: url(../images/activity-categories/nz/theme-parks.jpg);
}

li.water-parks span {
  background-image: url(../images/activity-categories/nz/water-parks.jpg);
}

li.aquariums span {
  background-image: url(../images/activity-categories/nz/aquariums.jpg);
}

li.whale-dolphin-watching span {
  background-image: url(../images/activity-categories/au/whale-watching.jpg);
}

li.uluru span {
  background-image: url(../images/activity-categories/au/uluru.jpg);
}

/*  =========================================================================================================================== */
/*  RESTAURANTS =============================================================================================================== */
/*  =========================================================================================================================== */
li.breakfast span {
  background-image: url(../images/activity-categories/nz/breakfast.jpg);
}

li.dinner span {
  background-image: url(../images/activity-categories/nz/classic.jpg);
}

li.lunch span {
  background-image: url(../images/activity-categories/nz/lunch.jpg);
}

/*  =========================================================================================================================== */
/*  NEW ZEALAND CATEGORIES  =================================================================================================== */
/*  =========================================================================================================================== */
/*  AIR ======================================================================================================================= */
li.aerobatic-planes-nz span {
  background-image: url(../images/activity-categories/nz/aerobatic-planes.jpg);
}

li.bungy-swings-nz span {
  background-image: url(../images/activity-categories/nz/bungy-swings.jpg);
}

li.helicopters-flight-seeing-nz span {
  background-image: url(../images/activity-categories/nz/helicopters-flight-seeing.jpg);
}

li.hot-air-ballooning-nz span {
  background-image: url(../images/activity-categories/nz/hot-air-ballooning.jpg);
}

li.paragliding-hang-gliding-nz span {
  background-image: url(../images/activity-categories/nz/paragliding-hang-gliding.jpg);
}

li.parasailing-nz span {
  background-image: url(../images/activity-categories/nz/parasailing.jpg);
}

li.skydiving-nz span {
  background-image: url(../images/activity-categories/nz/skydiving.jpg);
}

/*  ATTRACTIONS =============================================================================================================== */
li.cromwell-nz span {
  background-image: url(../images/activity-categories/nz/cromwell.jpg);
}

li.cromwell span {
  background-image: url(../images/activity-categories/nz/cromwell.jpg);
}

li.te-anau span {
  background-image: url(../images/activity-categories/nz/te-anau.jpg);
}

li.te-anau-nz span {
  background-image: url(../images/activity-categories/nz/te-anau.jpg);
}

li.glenorchy span {
  background-image: url(../images/activity-categories/nz/glenorchy.jpg);
}

li.glenorchy-nz span {
  background-image: url(../images/activity-categories/nz/glenorchy.jpg);
}

li.cultural-experience-nz span {
  background-image: url(../images/activity-categories/nz/cultural-experience.jpg);
}

li.doubtful-sound-nz span {
  background-image: url(../images/activity-categories/nz/doubtful-sound.jpg);
}

li.everglades-nz span {
  background-image: url(../images/activity-categories/nz/everglades.jpg);
}

li.geothermal-nz span {
  background-image: url(../images/activity-categories/nz/geothermal.jpg);
}

li.great-barrier-reef-nz span {
  background-image: url(../images/activity-categories/nz/great-barrier-reef.jpg);
}

li.kaikoura-nz span {
  background-image: url(../images/activity-categories/nz/kaikoura.jpg);
}

li.magnetic-island-nz span {
  background-image: url(../images/activity-categories/nz/magnetic-island.jpg);
}

li.hamilton-island-nz span {
  background-image: url(../images/activity-categories/au/hamilton-island.jpg);
}

li.whitehaven-beach-nz span {
  background-image: url(../images/activity-categories/au/whitehaven-beach.jpg);
}

li.fitzroy-island-nz span {
  background-image: url(../images/activity-categories/au/fitzroy-island.jpg);
}

li.maori-culture-nz span {
  background-image: url(../images/activity-categories/nz/maori-culture.jpg);
}

li.milford-sound-nz span {
  background-image: url(../images/activity-categories/nz/milford-sound.jpg);
}

li.rainforest-nz span {
  background-image: url(../images/activity-categories/nz/rainforest.jpg);
}

li.waiheke-island-nz span {
  background-image: url(../images/activity-categories/nz/waiheke-island.jpg);
}

li.waitomo-caves-nz span {
  background-image: url(../images/activity-categories/nz/waitomo-caves.jpg);
}

li.wanaka-nz span {
  background-image: url(../images/activity-categories/nz/wanaka.jpg);
}

li.wildlife-parks-nz span {
  background-image: url(../images/activity-categories/nz/wildlife-parks.jpg);
}

li.hunter-valley-au span {
  background-image: url(../images/activity-categories/au/hunter-valley.jpg);
}

li.blue-mountains-au span {
  background-image: url(../images/activity-categories/au/blue-mountains.jpg);
}

li.akaroa-nz span {
  background-image: url(../images/activity-categories/nz/akaroa.jpg);
}

li.byron-bay-au span {
  background-image: url(../images/activity-categories/au/byron-bay.jpg);
}

li.kuranda-au span {
  background-image: url(../images/activity-categories/au/kuranda.jpg);
}

li.cape-tribulation-au span {
  background-image: url(../images/activity-categories/au/cape-tribulation.jpg);
}

li.north-stradbroke-au span {
  background-image: url(../images/activity-categories/au/north-stradbroke.jpg);
}

li.aquariums span {
  background-image: url(../images/activity-categories/nz/aquarium-nz.jpg);
}

li.cultural-attractions span {
  background-image: url(../images/activity-categories/nz/cultural-attractions-nz.jpg);
}

li.cultural-experiences span {
  background-image: url(../images/activity-categories/nz/cultural-experiences-nz.jpg);
}

li.heli-skiing span {
  background-image: url(../images/activity-categories/nz/heliskiing-nz.jpg);
}

li.lessons-learn-to span {
  background-image: url(../images/activity-categories/nz/lessons-and-learn-to-nz.jpg);
}

li.museumns span {
  background-image: url(../images/activity-categories/nz/museums.jpg);
}

li.natural-wonders span {
  background-image: url(../images/activity-categories/nz/natural-wonders-nz.jpg);
}

li.paintball span {
  background-image: url(../images/activity-categories/nz/paintball-nz.jpg);
}

li.private-tours span {
  background-image: url(../images/activity-categories/nz/private-tour-nz.jpg);
}

li.zip-lines-flying-fox-and-rope-courses span {
  background-image: url(../images/activity-categories/nz/zip-lines-and-flying-fox-nz.jpg);
}

li.zoos-animal-parks span {
  background-image: url(../images/activity-categories/nz/zoos-and-animal-parks-nz.jpg);
}

li.beer-tours span {
  background-image: url(../images/activity-categories/nz/beer-tours.jpg);
}

/*  SNOW ====================================================================================================================== */
li.heli-ski-snow-mobile-nz span {
  background-image: url(../images/activity-categories/nz/heli-ski-snow-mobile.jpg);
}

li.mountain-info-nz span {
  background-image: url(../images/activity-categories/nz/mountain-info.jpg);
}

li.rentals-transport-nz span {
  background-image: url(../images/activity-categories/nz/rentals-transport.jpg);
}

/*  LAND ====================================================================================================================== */
li.atv-nz span {
  background-image: url(../images/activity-categories/nz/atv.jpg);
}

li.climbing-nz span {
  background-image: url(../images/activity-categories/nz/climbing.jpg);
}

li.cycling-nz span {
  background-image: url(../images/activity-categories/nz/cycling.jpg);
}

li.golf-nz span {
  background-image: url(../images/activity-categories/nz/golf.jpg);
}

li.gondola-luge-nz span {
  background-image: url(../images/activity-categories/nz/gondola-luge.jpg);
}

li.gondola-nz span {
  background-image: url(../images/activity-categories/nz/akaroa.jpg);
}

li.horse-trekking-nz span {
  background-image: url(../images/activity-categories/nz/horse-trekking.jpg);
}

li.motorbikes-nz span {
  background-image: url(../images/activity-categories/nz/motorbikes.jpg);
}

li.mountain-biking-nz span {
  background-image: url(../images/activity-categories/nz/mountain-biking.jpg);
}

li.tank-drive-nz span {
  background-image: url(../images/activity-categories/nz/tank-drive.jpg);
}

li.tour-nz span {
  background-image: url(../images/activity-categories/nz/touring.jpg);
}

li.transport-nz span {
  background-image: url(../images/activity-categories/nz/transport.jpg);
}

li.walking-hiking-nz span {
  background-image: url(../images/activity-categories/nz/walking-hiking.jpg);
}

li.wine-tours-nz span {
  background-image: url(../images/activity-categories/nz/wine-tours.jpg);
}

li.wd-scenic-tours-nz span {
  background-image: url(../images/activity-categories/nz/four-wd-scenic-tours.jpg);
}

li.places-to-stay-nz span {
  background-image: url(../images/activity-categories/nz/places-to-stay.jpg);
}

/*  WATER ===================================================================================================================== */
li.boat-tours-nz span {
  background-image: url(../images/activity-categories/nz/boat-tours.jpg);
}

li.canyoning-nz span {
  background-image: url(../images/activity-categories/nz/canyoning.jpg);
}

li.diving-nz span {
  background-image: url(../images/activity-categories/nz/diving.jpg);
}

li.fishing-nz span {
  background-image: url(../images/activity-categories/nz/fishing.jpg);
}

li.jet-boating-nz span {
  background-image: url(../images/activity-categories/nz/jet-boating.jpg);
}

li.kayak-jet-ski-boat-hire-nz span {
  background-image: url(../images/activity-categories/nz/kayak-jet-ski-boat-hire.jpg);
}

li.rafting-riversurfing-nz span {
  background-image: url(../images/activity-categories/nz/rafting-riversurfing.jpg);
}

li.sailing-cruises-nz span {
  background-image: url(../images/activity-categories/nz/sailing-cruises.jpg);
}

li.snorkeling-diving-nz span {
  background-image: url(../images/activity-categories/nz/snorkeling-diving.jpg);
}

li.surfing-nz span {
  background-image: url(../images/activity-categories/nz/surfing.jpg);
}

li.wakeboard-kitesurf-sup-nz span {
  background-image: url(../images/activity-categories/nz/wakeboard-kitesurf-and-sup.jpg);
}

/*  CHILL OUT ================================================================================================================= */
li.day-spa-beauty-nz span {
  background-image: url(../images/activity-categories/nz/day-spa-beauty.jpg);
}

li.dining-nz span {
  background-image: url(../images/activity-categories/nz/dining.jpg);
}

li.entertainment-nz span {
  background-image: url(../images/activity-categories/nz/entertainment.jpg);
}

li.hotpools-nz span {
  background-image: url(../images/activity-categories/nz/hotpools.jpg);
}

li.yoga-nz span {
  background-image: url(../images/activity-categories/nz/yoga.jpg);
}

li.ziplines-nz span {
  background-image: url(../images/activity-categories/nz/zip-line.jpg);
}

/*  RENTAL VEHICLES =========================================================================================================== */
li.camper-vans-nz span {
  background-image: url(../images/activity-categories/nz/camper-vans.jpg);
}

li.other-nz span {
  background-image: url(../images/activity-categories/nz/other.jpg);
}

li.rental-cars-nz span {
  background-image: url(../images/activity-categories/nz/rental-cars.jpg);
}

/*  DINE OUT ================================================================================================================== */
li.breakfast-nz span {
  background-image: url(../images/activity-categories/nz/breakfast.jpg);
}

li.classic-nz span {
  background-image: url(../images/activity-categories/nz/classic.jpg);
}

li.ethnic-nz span {
  background-image: url(../images/activity-categories/nz/ethnic.jpg);
}

li.fine-dining-nz span {
  background-image: url(../images/activity-categories/nz/fine-dining.jpg);
}

li.lunch-nz span {
  background-image: url(../images/activity-categories/nz/lunch.jpg);
}

li.pubs-nz span {
  background-image: url(../images/activity-categories/nz/pubs.jpg);
}

/*  =========================================================================================================================== */
/*  AUSTRALIA CATEGORIES ====================================================================================================== */
/*  =========================================================================================================================== */
/*  AIR ======================================================================================================================= */
li.aerobatic-planes-au span {
  background-image: url(../images/activity-categories/au/aerobatic-planes.jpg);
}

li.bungy-swings-au span {
  background-image: url(../images/activity-categories/au/bungy-swings.jpg);
}

li.bungy-jumping-au span {
  background-image: url(../images/activity-categories/au/bungy-swings.jpg);
}

li.canyon-swings-au span {
  background-image: url(../images/activity-categories/au/bungy-swings.jpg);
}

li.helicopters-flight-seeing-au span {
  background-image: url(../images/activity-categories/au/helicopters-flight-seeing.jpg);
}

li.hot-air-ballooning-au span {
  background-image: url(../images/activity-categories/au/hot-air-ballooning.jpg);
}

li.paragliding-hang-gliding-au span {
  background-image: url(../images/activity-categories/au/paragliding-hang-gliding.jpg);
}

li.parasailing-au span {
  background-image: url(../images/activity-categories/au/parasailing.jpg);
}

li.skydiving-au span {
  background-image: url(../images/activity-categories/au/skydiving.jpg);
}

/*  ATTRACTIONS =============================================================================================================== */
li.cromwell-au span {
  background-image: url(../images/activity-categories/au/cromwell.jpg);
}

li.cultural-experience-au span {
  background-image: url(../images/activity-categories/au/cultural-experience.jpg);
}

li.doubtful-sound-au span {
  background-image: url(../images/activity-categories/au/doubtful-sound.jpg);
}

li.everglades-au span {
  background-image: url(../images/activity-categories/au/everglades.jpg);
}

li.fraser-island-au span {
  background-image: url(../images/activity-categories/au/fraser-island.jpg);
}

li.geothermal-au span {
  background-image: url(../images/activity-categories/au/geothermal.jpg);
}

li.great-barrier-reef-au span {
  background-image: url(../images/activity-categories/au/great-barrier-reef.jpg);
}

li.port-douglas-au span {
  background-image: url(../images/activity-categories/au/port-douglas.jpg);
}

li.magnetic-island-au span {
  background-image: url(../images/activity-categories/au/magnetic-island.jpg);
}

li.hamilton-island-au span {
  background-image: url(../images/activity-categories/au/hamilton-island.jpg);
}

li.whitehaven-beach-au span {
  background-image: url(../images/activity-categories/au/whitehaven-beach.jpg);
}

li.fitzroy-island-au span {
  background-image: url(../images/activity-categories/au/fitzroy-island.jpg);
}

li.rainforest-au span {
  background-image: url(../images/activity-categories/au/rainforest.jpg);
}

li.whale-watching-au span {
  background-image: url(../images/activity-categories/au/whale-watching.jpg);
}

li.whale-watching-au span {
  background-image: url(../images/activity-categories/au/whale-watching.jpg);
}

li.whitsundays-au span {
  background-image: url(../images/activity-categories/au/whitsundays.jpg);
}

li.wildlife-parks-au span {
  background-image: url(../images/activity-categories/au/wildlife-parks.jpg);
}

li.great-ocean-road-au span {
  background-image: url(../images/activity-categories/au/great-ocean-road.jpg);
}

li.mornington-peninsula-au span {
  background-image: url(../images/activity-categories/au/mornington-peninsula.jpg);
}

li.phillip-island-au span {
  background-image: url(../images/activity-categories/au/phillip-island.jpg);
}

li.yarra-valley-au span {
  background-image: url(../images/activity-categories/au/yarra-valley.jpg);
}

/*  SNOW ====================================================================================================================== */
li.heli-ski-snow-mobile-au span {
  background-image: url(../images/activity-categories/au/heli-ski-snow-mobile.jpg);
}

li.mountain-info-au span {
  background-image: url(../images/activity-categories/au/mountain-info.jpg);
}

li.rentals-transport-au span {
  background-image: url(../images/activity-categories/au/rentals-transport.jpg);
}

/*  LAND ====================================================================================================================== */
li.atv-au span {
  background-image: url(../images/activity-categories/au/atv.jpg);
}

li.climbing-au span {
  background-image: url(../images/activity-categories/au/climbing.jpg);
}

li.cycling-au span {
  background-image: url(../images/activity-categories/au/cycling.jpg);
}

li.golf-au span {
  background-image: url(../images/activity-categories/au/golf.jpg);
}

li.gondola-luge-au span {
  background-image: url(../images/activity-categories/au/gondola-luge.jpg);
}

li.horse-trekking-au span {
  background-image: url(../images/activity-categories/au/horse-trekking.jpg);
}

li.motorbikes-au span {
  background-image: url(../images/activity-categories/au/motorbikes.jpg);
}

li.mountain-biking-au span {
  background-image: url(../images/activity-categories/au/mountain-biking.jpg);
}

li.tank-drive-au span {
  background-image: url(../images/activity-categories/au/tank-drive.jpg);
}

li.tour-au span {
  background-image: url(../images/activity-categories/au/touring.jpg);
}

li.transport-au span {
  background-image: url(../images/activity-categories/au/transport.jpg);
}

li.walking-hiking-au span {
  background-image: url(../images/activity-categories/au/walking-hiking.jpg);
}

li.wine-tours-au span {
  background-image: url(../images/activity-categories/au/wine-tours.jpg);
}

li.wd-scenic-tours-au span {
  background-image: url(../images/activity-categories/au/four-wd-scenic-tours.jpg);
}

/*  WATER ===================================================================================================================== */
li.boat-tours-au span {
  background-image: url(../images/activity-categories/au/boat-tours.jpg);
}

li.canyoning-au span {
  background-image: url(../images/activity-categories/au/canyoning.jpg);
}

li.diving-au span {
  background-image: url(../images/activity-categories/au/diving.jpg);
}

li.fishing-au span {
  background-image: url(../images/activity-categories/au/fishing.jpg);
}

li.jet-boating-au span {
  background-image: url(../images/activity-categories/au/jet-boating.jpg);
}

li.kayak-jet-ski-boat-hire-au span {
  background-image: url(../images/activity-categories/au/kayak-jet-ski-boat-hire.jpg);
}

li.rafting-riversurfing-au span {
  background-image: url(../images/activity-categories/au/rafting-riversurfing.jpg);
}

li.sailing-cruises-au span {
  background-image: url(../images/activity-categories/au/sailing-cruises.jpg);
}

li.snorkeling-diving-au span {
  background-image: url(../images/activity-categories/au/snorkeling-diving.jpg);
}

li.surfing-au span {
  background-image: url(../images/activity-categories/au/surfing.jpg);
}

li.wakeboard-kitesurf-sup-au span {
  background-image: url(../images/activity-categories/au/wakeboard-kitesurf-and-sup.jpg);
}

/*  COMBO DEALS   ============================================================================================================= */
li.fraser-island-whitsundays-au span {
  background-image: url(../images/activity-categories/au/fraser-island-whitsundays.jpg);
}

/*  CHILL OUT ================================================================================================================= */
li.day-spa-beauty-au span {
  background-image: url(../images/activity-categories/au/day-spa-beauty.jpg);
}

li.dining-au span {
  background-image: url(../images/activity-categories/au/dining.jpg);
}

li.entertainment-au span {
  background-image: url(../images/activity-categories/au/entertainment.jpg);
}

li.hotpools-au span {
  background-image: url(../images/activity-categories/au/hotpools.jpg);
}

li.yoga-au span {
  background-image: url(../images/activity-categories/au/yoga.jpg);
}

li.ziplines-au span {
  background-image: url(../images/activity-categories/au/zip-line.jpg);
}

li.ziplines-and-flying-fox-au span {
  background-image: url(../images/activity-categories/au/zip-line.jpg);
}

/*  RENTAL VEHICLES =========================================================================================================== */
li.camper-vans-au span {
  background-image: url(../images/activity-categories/au/camper-vans.jpg);
}

li.other-au span {
  background-image: url(../images/activity-categories/au/other.jpg);
}

li.rental-cars-au span {
  background-image: url(../images/activity-categories/au/rental-cars.jpg);
}

/*  DINE OUT ================================================================================================================== */
li.breakfast-au span {
  background-image: url(../images/activity-categories/au/breakfast.jpg);
}

li.classic-au span {
  background-image: url(../images/activity-categories/au/classic.jpg);
}

li.ethnic-au span {
  background-image: url(../images/activity-categories/au/ethnic.jpg);
}

li.fine-dining-au span {
  background-image: url(../images/activity-categories/au/fine-dining.jpg);
}

li.lunch-au span {
  background-image: url(../images/activity-categories/au/lunch.jpg);
}

li.pubs-au span {
  background-image: url(../images/activity-categories/au/pubs.jpg);
}

/*  =========================================================================================================================== */
/*  FIJI CATEGORIES  ========================================================================================================== */
/*  =========================================================================================================================== */
/*  AIR ======================================================================================================================= */
li.helicopters-flight-seeing-fj span {
  background-image: url(../images/activity-categories/fj/helicopters-flight-seeing.jpg);
}

li.parasailing-fj span {
  background-image: url(../images/activity-categories/fj/parasailing.jpg);
}

li.skydiving-fj span {
  background-image: url(../images/activity-categories/fj/skydiving.jpg);
}

/*  ATTRACTIONS =============================================================================================================== */
li.cultural-experience-fj span {
  background-image: url(../images/activity-categories/fj/cultural-experience.jpg);
}

li.geothermal-fj span {
  background-image: url(../images/activity-categories/fj/geothermal.jpg);
}

li.great-barrier-reef-fj span {
  background-image: url(../images/activity-categories/fj/great-barrier-reef.jpg);
}

li.rainforest-fj span {
  background-image: url(../images/activity-categories/fj/rainforest.jpg);
}

li.waiheke-island-fj span {
  background-image: url(../images/activity-categories/fj/waiheke-island.jpg);
}

li.waitomo-caves-nz span {
  background-image: url(../images/activity-categories/fj/waitomo-caves.jpg);
}

/*  LAND ====================================================================================================================== */
li.wd-scenic-tours-fj span {
  background-image: url(../images/activity-categories/fj/four-wd-scenic-tours.jpg);
}

li.gondola-luge-fj span {
  background-image: url(../images/activity-categories/fj/gondola-luge.jpg);
}

li.atv-fj span {
  background-image: url(../images/activity-categories/fj/atv.jpg);
}

li.climbing-fj span {
  background-image: url(../images/activity-categories/fj/climbing.jpg);
}

li.cycling-fj span {
  background-image: url(../images/activity-categories/fj/cycling.jpg);
}

li.golf-fj span {
  background-image: url(../images/activity-categories/fj/golf.jpg);
}

li.horse-trekking-fj span {
  background-image: url(../images/activity-categories/fj/horse-trekking.jpg);
}

li.motorbikes-fj span {
  background-image: url(../images/activity-categories/fj/motorbikes.jpg);
}

li.mountain-biking-fj span {
  background-image: url(../images/activity-categories/fj/mountain-biking.jpg);
}

li.tour-fj span {
  background-image: url(../images/activity-categories/fj/touring.jpg);
}

li.transport-fj span {
  background-image: url(../images/activity-categories/fj/transport.jpg);
}

li.walking-hiking-fj span {
  background-image: url(../images/activity-categories/fj/walking-hiking.jpg);
}

/*  WATER ===================================================================================================================== */
li.boat-tours-fj span {
  background-image: url(../images/activity-categories/fj/boat-tours.jpg);
}

li.canyoning-fj span {
  background-image: url(../images/activity-categories/fj/canyoning.jpg);
}

li.diving-fj span {
  background-image: url(../images/activity-categories/fj/diving.jpg);
}

li.fishing-fj span {
  background-image: url(../images/activity-categories/fj/fishing.jpg);
}

li.jet-boating-fj span {
  background-image: url(../images/activity-categories/fj/jet-boating.jpg);
}

li.kayak-jet-ski-boat-hire-fj span {
  background-image: url(../images/activity-categories/fj/kayak-jet-ski-boat-hire.jpg);
}

li.rafting-riversurfing-fj span {
  background-image: url(../images/activity-categories/fj/rafting-riversurfing.jpg);
}

li.sailing-cruises-fj span {
  background-image: url(../images/activity-categories/fj/sailing-cruises.jpg);
}

li.snorkeling-diving-fj span {
  background-image: url(../images/activity-categories/fj/snorkeling-diving.jpg);
}

li.surfing-fj span {
  background-image: url(../images/activity-categories/fj/surfing.jpg);
}

li.wakeboard-kitesurf-sup-fj span {
  background-image: url(../images/activity-categories/fj/wakeboard-kitesurf-and-sup.jpg);
}

/*  CHILL OUT ================================================================================================================= */
li.day-spa-beauty-fj span {
  background-image: url(../images/activity-categories/fj/day-spa-beauty.jpg);
}

li.dining-fj span {
  background-image: url(../images/activity-categories/fj/dining.jpg);
}

li.entertainment-fj span {
  background-image: url(../images/activity-categories/fj/entertainment.jpg);
}

li.yoga-fj span {
  background-image: url(../images/activity-categories/fj/yoga.jpg);
}

li.ziplines-fj span {
  background-image: url(../images/activity-categories/fj/zip-line.jpg);
}

/*  RENTAL VEHICLES =========================================================================================================== */
li.camper-vans-fj span {
  background-image: url(../images/activity-categories/fj/camper-vans.jpg);
}

li.other-fj span {
  background-image: url(../images/activity-categories/fj/other.jpg);
}

li.rental-cars-fj span {
  background-image: url(../images/activity-categories/fj/rental-cars.jpg);
}

/*  DINE OUT ================================================================================================================== */
li.breakfast-fj span {
  background-image: url(../images/activity-categories/fj/breakfast.jpg);
}

li.classic-fj span {
  background-image: url(../images/activity-categories/fj/classic.jpg);
}

li.ethnic-fj span {
  background-image: url(../images/activity-categories/fj/ethnic.jpg);
}

li.fine-dining-fj span {
  background-image: url(../images/activity-categories/fj/fine-dining.jpg);
}

li.lunch-fj span {
  background-image: url(../images/activity-categories/fj/lunch.jpg);
}

li.pubs-fj span {
  background-image: url(../images/activity-categories/fj/pubs.jpg);
}

.mobile-hider {
  display: none;
}

.desktop-hider {
  display: flex;
  justify-content: center;
}

.shower {
  display: flex !important;
}

.existingLogin {
  margin-bottom: 2rem;
}
.existingLogin .loginOptions {
  border-bottom: 0.1875rem solid var(--cool-200);
  padding: 1.5rem 0 2rem;
  margin-bottom: 1rem;
}
.existingLogin .loginOptions .loginButtons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0 auto;
  max-width: fit-content;
}
.existingLogin .existingUser-form {
  display: none;
  margin: 0 auto;
  max-width: 29.75rem;
}
.existingLogin .existingUser-form h3 {
  margin: 1rem 0 2rem;
}
.existingLogin .existingUser-form .bookme-account-login {
  display: grid;
}
.existingLogin .existingUser-form .bookme-account-login:has(#logonForBookingEmail.valError) .email-row {
  order: 1;
  border: 1px solid green;
}
.existingLogin .existingUser-form .bookme-account-login:has(#logonForBookingEmail.valError) .error-row {
  order: 2;
  border: 1px solid red;
}
.existingLogin .existingUser-form .bookme-account-login:has(#logonForBookingEmail.valError) .password-row {
  order: 3;
  border: 1px solid blue;
}
.existingLogin .existingUser-form .bookme-account-login:has(#logonForBookingPassword.valError) .email-row {
  order: 1;
  border: 1px solid green;
}
.existingLogin .existingUser-form .bookme-account-login:has(#logonForBookingPassword.valError) .password-row {
  order: 2;
  border: 1px solid blue;
}
.existingLogin .existingUser-form .bookme-account-login:has(#logonForBookingPassword.valError) .error-row {
  order: 3;
  border: 1px solid red;
}
.existingLogin:has(.existingUser-form[style="display: block;"]) .loginOptions,
.existingLogin:has(.existingUser-form[style="display: block;"]) .guest-login,
.existingLogin:has(.existingUser-form[style="display: block;"]) .newLogin,
.existingLogin:has(.existingUser-form[style="display: block;"]) .nextStep-wrapper {
  display: none;
}
.existingLogin:has(.existingUser-form[style="display: block;"]) .loginButton {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 1rem;
  width: 100%;
  box-sizing: border-box;
}
.existingLogin:has(.existingUser-form[style="display: block;"]) .loginButton .guest-login-switch,
.existingLogin:has(.existingUser-form[style="display: block;"]) .loginButton .newLogin-switch {
  align-items: center;
  column-gap: 0.375rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  color: var(--cool-400);
  cursor: pointer;
}
.existingLogin:has(.existingUser-form[style="display: block;"]) .loginButton .guest-login-switch i,
.existingLogin:has(.existingUser-form[style="display: block;"]) .loginButton .newLogin-switch i {
  font-size: var(--text-size-lg);
}

.checkOut h1 {
  font-size: var(--text-size-2xl);
}
.checkOut .checkoutWrapper {
  padding: 1.5rem 0 0.625rem;
}
.checkOut .checkoutWrapper .checkoutTimer {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.3125rem;
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-2xs);
  padding: 0 1rem;
  border-radius: 1.5rem;
  margin: 0 auto;
  width: fit-content;
  height: 3rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  box-sizing: border-box;
}
.checkOut .checkoutWrapper .checkoutTimer:before {
  content: "pace";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-2xl);
  color: var(--cool-500);
}
.checkOut .checkoutWrapper .checkoutTimer #timer {
  font-weight: var(--text-weight-semibold);
  font-size: var(--text-size-2xl);
  color: var(--cool-500);
}
.checkOut .checkoutWrapper .checkoutTimer #timer-message {
  margin-left: 0.25rem;
  max-width: 7rem;
}
.checkOut .stepCount {
  display: grid;
  grid-template-columns: max-content 1fr max-content;
  grid-column-gap: 0.75rem;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  font-size: var(--text-size-lg);
  font-weight: var(--text-weight-bold);
  color: var(--cool-600);
  letter-spacing: 0;
  padding: 0;
  width: auto;
}
.checkOut .stepCount .step {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-sm);
  line-height: 0;
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  text-align: center;
  background: var(--cool-600);
  border-radius: 50%;
  margin: 0;
  width: 1.5rem;
  height: 1.5rem;
  transition: all 0.3s;
  box-sizing: border-box;
}
.checkOut .stepCount .step em {
  font-style: normal;
}
.checkOut .stepCount .step i {
  display: none;
  font-size: var(--text-size-lg);
  color: var(--white);
}
.checkOut .stepCount.active {
  margin-bottom: 1.25rem;
}
.checkOut .stepCount.active p {
  display: none;
}
.checkOut .stepCount.active + div + .step_summary {
  display: none;
}
.checkOut .stepCount.disabled {
  color: var(--neutral-300);
  margin: 0;
}
.checkOut .stepCount.disabled p {
  display: none;
}
.checkOut .stepCount.disabled .step {
  color: var(--neutral-300);
  background: transparent;
  border: 0.0625rem dashed var(--cool-200);
}
.checkOut .stepCount.complete .step em {
  display: none;
}
.checkOut .stepCount.complete .step i {
  display: block;
}
.checkOut .stepCount.complete {
  margin-bottom: 0.625rem;
}
.checkOut .stepCount.complete p {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-xs);
  line-height: 0;
  font-weight: var(--text-weight-semibold);
  box-shadow: inset 0 0 0 0.125rem var(--cool-200);
  border-radius: 1.125rem;
  min-width: 3rem;
  height: 1.5rem;
  transition: all 0.3s;
  cursor: pointer;
}
.checkOut .stepCount.complete p:hover {
  color: var(--white);
  background-color: var(--cool-500);
  box-shadow: none;
}
.checkOut .container {
  position: relative;
  margin: 1rem auto 3rem;
  max-width: 48rem;
}
.checkOut .container .panel {
  padding: 2rem 0;
  box-shadow: inset 0 0.0625rem 0 var(--cool-200);
}
.checkOut .container .panel.panel-passenger:not(:has(.form-group[style="display: block;"])) .nextStep-wrapper {
  margin-top: 0;
}
.checkOut .container .panel .formContainer {
  padding: 0.75rem 1.25rem 0.625rem;
  border-radius: 0.5rem;
  margin-bottom: 2rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
}
.checkOut .container .panel .formContainer.highlight {
  background: var(--cool-25);
}
.checkOut .container .panel .formContainer.guestDetails {
  counter-reset: guest-counter;
}
.checkOut .container .panel .formContainer.checkout-transportOptions .free-transport-details .transport-guests {
  max-width: 25%;
  min-width: 8rem;
}
.checkOut .container .panel .formContainer h3 {
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  color: var(--cool-700);
  text-align: center;
  letter-spacing: -0.025rem;
  margin: 1rem 0 2rem;
}
.checkOut .container .panel .formContainer h3 span {
  display: block;
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-normal);
  text-align: center;
  padding-top: 0.3125rem;
}
.checkOut .container .panel .formContainer .extraBlock-group + .extraBlock-group {
  padding-top: 1.25rem;
  border-top: 0.0625rem solid var(--cool-200);
}
.checkOut .container .panel .formContainer .extraHead {
  display: grid;
  justify-content: space-between;
  align-items: center;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  color: white;
  line-height: 0;
  background-color: var(--cool-700);
  padding: 0 1.25rem;
  border-radius: 1.125rem;
  margin: 0 -0.75rem 1.25rem;
  width: calc(100% + 1.5rem);
  height: 1.75rem;
  box-sizing: border-box;
}
.checkOut .container .panel .formContainer .extraHead .extraHead-item:not(:first-child) {
  display: none;
}
.checkOut .container .panel .formContainer .extraHead.prodExtras:not(:first-of-type) {
  margin-top: 2rem;
}
.checkOut .container .panel .formContainer.guestDetails .extraHead {
  margin-bottom: 2rem;
}
.checkOut .container .panel .formContainer .extraBlock-row {
  position: relative;
}
.checkOut .container .panel .formContainer .extraBlock-row .inputItem {
  margin-bottom: 0;
}
.checkOut .container .panel .formContainer .extraBlock-row .inputItem .inputGroup {
  margin-bottom: 0;
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1rem;
  row-gap: 0.625rem;
  font-weight: var(--text-weight-semibold);
  padding-bottom: 1.25rem;
  margin-bottom: 1rem;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras:last-of-type {
  margin-bottom: 0;
  box-shadow: none;
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras:not(.summaryRowTransport):not(:nth-child(2)) > div:before {
  display: none;
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras input,
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras select,
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras textarea {
  padding: 0.625rem;
  margin-bottom: 0;
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras .paidExtra-desc {
  grid-column-start: 1;
  grid-column-end: 4;
  margin-bottom: 0;
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras .paidExtra-desc.extra_desc .inputItem {
  display: flex;
  align-items: flex-end;
  font-size: var(--text-size-xs);
  margin-bottom: 0;
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras .paidExtra-price > span,
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras .paidExtra-price > div,
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras .paidExtra-total > span,
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras .paidExtra-total > div {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  text-align: right;
  background: var(--cool-50);
  font-weight: var(--text-weight-normal);
  padding: 0.625rem;
  border-radius: 0.5rem;
  height: 3rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  box-sizing: border-box;
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras > div.paidExtra-desc:before {
  display: none;
  content: "Description";
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras > div.paidExtra-number {
  width: 100%;
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras > div.paidExtra-number .inputItem {
  margin-bottom: 0;
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras > div:before {
  content: "label";
  display: block;
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-normal);
  margin-bottom: 0.3125rem;
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras > div.paidExtra-number:before {
  content: "Number";
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras > div.paidExtra-price:before {
  content: "Price";
}
.checkOut .container .panel .formContainer .extraBlock-row.prodExtras > div.paidExtra-total:before {
  content: "Total";
}
.checkOut .container .panel .formContainer .guestBadge {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  color: var(--purple-800);
  margin: 0 0 0.3125rem 0.125rem;
  width: fit-content;
}
.checkOut .container .panel .formContainer .guestBadge span {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.1875rem;
}
.checkOut .container .panel .formContainer .guestBadge span:before {
  content: "person";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-base);
  font-variation-settings: "FILL" 1;
}
.checkOut .container .panel .formContainer .guestBadge span:after {
  counter-increment: guest-counter;
  content: "" counter(guest-counter);
}
.checkOut .container .panel .formContainer .confirmItems a {
  padding-left: 0.3125rem;
}
.checkOut .container .panel .formContainer .confirmItems input[type=checkbox]:not(:checked):hover + label:before {
  box-shadow: inset 0 0 0 0.125rem var(--cool-500);
}
.checkOut .container .panel .formContainer.transportOptions .extraBlock-row.prodExtras {
  font-weight: var(--text-weight-normal);
  padding-bottom: 0;
  margin-bottom: 1.25rem;
  box-shadow: none;
}
.checkOut .container .panel .formContainer.transportOptions .extraBlock-row.prodExtras .paidExtra-desc:before {
  display: block;
  content: "Transportation Options";
}
.checkOut .container .panel .step_summary.step_summary_details, .checkOut .container .panel .step_summary.step_summary_passenger {
  margin: 0 0 1.75rem 2.25rem;
}
.checkOut .container .panel .step_summary.step_summary_details p, .checkOut .container .panel .step_summary.step_summary_passenger p {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-normal);
  margin-bottom: 0.3125rem;
}
.checkOut .container .panel .nextStep-wrapper {
  margin-top: 2.5rem;
  width: fit-content;
}
.checkOut .container .panel:last-of-type .stepCount {
  padding-bottom: 2rem;
  margin-bottom: 3rem;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.checkOut .container .panel:last-of-type .stepCount.active {
  margin-bottom: 0;
  box-shadow: none;
}
.checkOut .container.paidExtras .panel {
  padding: 0;
  box-shadow: none;
}
.checkOut .container.paidExtras .nextStep-wrapper {
  display: flex;
  justify-content: center;
  margin: 2rem 0 0 auto;
}
.checkOut .container.paidExtras .selectWrapper .selectric-wrapper {
  margin-bottom: 0;
}
.checkOut .confirm-form-group .fauxCheck #terms[type=checkbox]:checked + label:before {
  color: var(--neutral-300);
}
.checkOut .confirm-form-group .bm_btn_2020 + .bm_btn_2020 {
  margin-top: -0.625rem;
}

.room-wrapper {
  display: grid;
  justify-content: center;
  grid-template-columns: 1fr;
  border-top: 0.0625rem solid var(--cool-200);
  margin: 0.75rem auto 2rem;
}
@media only screen and (min-width: 768px) {
  .room-wrapper {
    gap: 1.25rem;
  }
}
@media only screen and (min-width: 768px) {
  .room-wrapper:has(.hotel_room-summary:nth-of-type(2)) {
    grid-auto-flow: column;
    grid-template-columns: repeat(2, 1fr);
    min-width: 48rem;
    width: fit-content;
  }
}
@media only screen and (min-width: 768px) {
  .room-wrapper:has(.hotel_room-summary:nth-of-type(2)) .hotel_room-summary {
    max-width: 25rem;
  }
}
.room-wrapper:has(.hotel_room-summary:nth-of-type(2)) .hotel_room-summary .h3:before {
  display: block;
  content: "Room 1";
  font-size: var(--text-2xs);
  font-weight: var(--text-weight-normal);
}
.room-wrapper:has(.hotel_room-summary:nth-of-type(2)) .hotel_room-summary:nth-of-type(2) .h3:before {
  content: "Room 2";
}
.room-wrapper:has(.hotel_room-summary:nth-of-type(2)) .hotel_room-summary:nth-of-type(3) .h3:before {
  content: "Room 3";
}
@media only screen and (min-width: 768px) {
  .room-wrapper:has(.hotel_room-summary:nth-of-type(3)) {
    grid-template-columns: repeat(3, 1fr);
  }
}

.hotel_room-summary {
  display: flex;
  flex-direction: column;
  padding-top: 1rem;
  margin: 0 auto;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .hotel_room-summary {
    max-width: 22.5rem;
  }
}
.hotel_room-summary .h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: var(--text-base);
  font-weight: var(--text-weight-bold);
  text-align: left;
  margin: 0 0 0.5rem;
  overflow: hidden;
}
.hotel_room-summary .h3:has(::before) {
  border: 1px solid red;
}
.hotel_room-summary .h3 span {
  display: block;
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-normal);
  color: var(--neutral-400);
  margin-bottom: 0.3125rem;
}
.hotel_room-summary img {
  grid-column-start: 1;
  grid-column-end: 3;
  border-radius: 0.5rem 0.5rem 0 0;
  width: 100%;
  height: 12rem;
  object-fit: cover;
}
.hotel_room-summary .summary-text {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: flex-end;
  column-gap: 0.625rem;
  font-size: var(--text-2xs);
  line-height: var(--text-leading-2xs);
  font-weight: var(--text-weight-semibold);
  padding: 0.75rem 1rem 0.875rem 0.75rem;
  border-right: var(--box-light);
  border-bottom: var(--box-heavy);
  border-left: var(--box-light);
  border-radius: 0 0 var(--rounded-md) var(--rounded-md);
}
.hotel_room-summary .summary-text .rate-wrapper {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}
.hotel_room-summary .summary-text .rate-wrapper em {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: 0.3rem;
  font-size: var(--text-size-xs);
  color: green;
  margin-bottom: 0.1875rem;
}
.hotel_room-summary .summary-text .rate-wrapper em .material-symbols-outlined {
  font-size: var(--text-size-base);
}
.hotel_room-summary .summary-text .rate-wrapper .nights-and-guests {
  font-size: var(--text-size-2xs);
  line-height: 1.25;
  padding: 0.1875rem 0;
}
.hotel_room-summary .summary-text .rate-wrapper .rate {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  font-size: var(--text-size-3xl);
  line-height: 1.25;
  font-weight: var(--text-weight-bold);
}
.hotel_room-summary .summary-text .rate-wrapper .rate sup {
  align-self: flex-start;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-bold);
  border-bottom: 0.0625rem solid var(--black);
  margin: 0.5rem 0 0 0.25rem;
}
.hotel_room-summary .summary-text .rate-wrapper .rate span {
  position: absolute;
  bottom: 0.4375rem;
  left: -1.5625rem;
  font-size: var(--text-size-2xs);
  line-height: 1.25;
  font-weight: var(--text-weight-normal);
  text-align: right;
  width: fit-content;
}
.hotel_room-summary .summary-text .rate-wrapper .taxes-disclaimer {
  font-size: var(--text-size-2xs);
  line-height: 1;
  font-weight: var(--text-weight-normal);
  letter-spacing: 0.00625rem;
}

@media only screen and (min-width: 414px) {
  .existingUser-form[style="display:block;"] .loginButton {
    flex-direction: row;
  }
  .existingUser-form[style="display:block;"] .loginButton span.btn_secondary {
    order: initial;
  }
  .checkOut .mobile-hider {
    display: flex;
    justify-content: center;
  }
  .checkOut .desktop-hider {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .checkOut .mobile-hider {
    display: flex;
    justify-content: center;
  }
  .checkOut .desktop-hider {
    display: none;
  }
  .checkOut .existingLogin .loginOptions .loginButtons {
    flex-direction: row;
  }
  .checkOut .container.paidExtras .panel:first-of-type {
    padding: 0;
  }
  .checkOut .container .panel:first-of-type {
    padding: 2rem 0 0;
  }
  .checkOut .container .panel .formContainer.checkout-transportOptions .free-transport-details {
    grid-template-columns: 1fr minmax(8rem, 20%);
    column-gap: 2rem;
  }
  .checkOut .container .panel .formContainer .extraBlock-row.prodExtras {
    display: grid;
    grid-template-columns: 3fr 1fr 1fr 1fr;
    margin-bottom: 0;
    box-shadow: none;
  }
  .checkOut .container .panel .formContainer .extraBlock-row.prodExtras > div.paidExtra-desc {
    grid-column-end: initial;
  }
  .checkOut .container .panel .formContainer .extraBlock-row.prodExtras > div.paidExtra-desc:before {
    display: block;
    content: "Description";
  }
  .checkOut .container .panel .formContainer .extraBlock-row.prodExtras > div.paidExtra-desc.extra_desc .inputItem {
    align-items: center;
    font-size: var(--text-size-sm);
    font-weight: var(--text-weight-normal);
    height: 3rem;
  }
  .checkOut .container .panel .formContainer.transportOptions .extraBlock-row.prodExtras {
    font-weight: var(--text-weight-normal);
    padding-bottom: 0;
    margin-bottom: 1.25rem;
    box-shadow: none;
  }
  .checkOut .container.paidExtras .selectWrapper .selectric-wrapper {
    max-width: 21.25rem;
  }
  .checkOut .container.paidExtras .nextStep-wrapper {
    justify-content: flex-end;
  }
  .checkOut .container.paidExtras .nextStep-wrapper button {
    min-width: 12.5rem;
  }
  .checkOut .container.paidExtras .nextStep-wrapper button label {
    font-size: var(--text-size-xs);
    font-weight: var(--text-weight-normal);
  }
}
#confirm-booking {
  margin: 0 auto;
  max-width: 50rem;
}
#confirm-booking:has(.hotel-confirmation) .confirmationDetail-wrapper .confirmation-details .confirmation-map_wrapper {
  display: flex;
  flex-flow: column;
}
#confirm-booking .cancel-booking-status {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--warm-50);
  padding: 0 1.25rem;
  margin: 2rem auto 2.5rem;
  min-height: 5.625rem;
  box-shadow: inset 0 0.1875rem 0 var(--warm-700), inset 0 0 0 0.0625rem var(--warm-100);
}
#confirm-booking .cancel-booking-status.not-cancelled {
  background: var(--warm-500);
  box-shadow: inset 0 0.1875rem 0 var(--warm-600);
}
#confirm-booking .cancel-booking-status.not-cancelled p {
  color: var(--white);
}
#confirm-booking .cancel-booking-status p {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  text-align: center;
}
#confirm-booking .convertBox {
  display: grid;
  align-items: center;
  gap: 0.625rem;
  font-size: var(--text-size-13);
  line-height: var(--text-leading-xs);
  text-align: center;
  padding: 1rem;
  margin: 2rem auto;
  box-sizing: border-box;
  max-width: 30rem;
}
#confirm-booking .convertBox:not(:has(.bottom)) strong {
  font-weight: var(--text-weight-semibold);
}
#confirm-booking .convertBox:not(:has(.bottom)) a {
  display: flex;
  align-items: center;
  font-size: var(--text-size-2xs);
  color: var(--white);
  background: var(--cool-500);
  padding: 0 1rem;
  border-radius: 1rem;
  margin: 0 auto;
  width: fit-content;
  height: 1.5rem;
}
#confirm-booking .convertBox.bottom {
  gap: 0.5rem;
  padding: 1rem 1.5rem 1.5rem;
  margin-top: 4rem;
  max-width: 24rem;
}
#confirm-booking .convertBox.bottom h3 {
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  color: var(--black);
  margin-bottom: 1rem;
}
#confirm-booking .convertBox.bottom img {
  margin: 0 auto;
  width: 4rem;
}
#confirm-booking .convertBox.bottom .createAccount-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 2rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  padding: 1.5rem 0 0;
  border-top: 0.3125rem solid var(--cool-200);
}
#confirm-booking .convertBox.bottom .createAccount-wrapper .createAccount-form {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
}
#confirm-booking .confirmationDetail-wrapper {
  margin-top: 2rem;
}
#confirm-booking .confirmationDetail-wrapper .imageBox {
  position: relative;
  border-radius: 0.625rem;
  margin-bottom: 2rem;
  height: 12.8125rem;
  overflow: hidden;
  cursor: pointer;
}
#confirm-booking .confirmationDetail-wrapper .imageBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-number .headline-3 {
  color: var(--white);
  background-color: var(--cool-600);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-number ul {
  display: grid;
  row-gap: 0.625rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  color: var(--cool-600);
  text-align: center;
  list-style-type: none;
  margin: 0 0 0.625rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-number ul .number {
  font-size: var(--text-size-2xl);
  font-weight: var(--text-weight-bold);
  margin: 0 0 0.625rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-number ul .number span {
  display: block;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-normal);
  margin-bottom: 1rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-number ul .number.hotel-number {
  font-size: var(--text-size-xl);
  margin-top: 0.625rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-number ul .number.hotel-number span {
  margin-bottom: 0.625rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-number .manage-booking {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.1875rem;
  font-size: var(--text-size-xs);
  text-decoration: none;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-number .manage-booking i {
  font-size: var(--text-size-lg);
  font-variation-settings: "FILL" 1;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-number:has(.hotel-number) .manage-booking {
  display: none;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-number a {
  color: var(--cool-400);
  font-weight: var(--text-weight-semibold);
  text-decoration: underline;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-contact .headline-3 {
  color: var(--white);
  background-color: var(--cool-600);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-contact ul {
  display: grid;
  row-gap: 0.75rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  color: var(--cool-600);
  list-style-type: none;
  margin: 0 0 0.625rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-contact ul li {
  display: flex;
  align-items: center;
  column-gap: 0.75rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-contact ul li:first-of-type {
  align-items: flex-start;
  padding-top: 0.125rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-contact ul li:first-of-type span {
  margin-top: -0.125rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-contact ul li:empty {
  display: none;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-contact ul li .material-symbols-outlined {
  font-size: var(--text-size-xl);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-map_wrapper {
  display: grid;
  grid-template-rows: 30rem auto;
  row-gap: 1rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-map_wrapper .confirmation-map {
  display: flex;
  border: 0.125rem solid var(--cool-200);
  border-radius: 0.625rem;
  width: 100%;
  height: 100%;
  object-fit: cover;
  box-sizing: border-box;
  transition: border 0.2s ease-out;
  cursor: pointer;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-map_wrapper .confirmation-map:hover {
  border-color: var(--cool-500);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-map_wrapper .checkin-checkout {
  list-style-type: none;
  display: flex;
  column-gap: 2rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-map_wrapper .checkin-checkout li {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 0.3125rem;
  font-size: var(--text-size-xl);
  font-weight: var(--text-weight-bold);
  text-align: center;
  padding: 1rem;
  border-radius: 0.625rem;
  width: 50%;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-map_wrapper .checkin-checkout li span {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-normal);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-map_wrapper .checkin-checkout li span.material-symbols-outlined {
  font-size: var(--text-size-4xl);
  color: var(--cool-500);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-map_wrapper .map-disclaimer p {
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-xs);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details .confirmation-map_wrapper .map-disclaimer p:not(:first-of-type) {
  margin-top: 0.3125rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation {
  display: flex;
  margin-top: 2rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation:has(.confirmation-map_wrapper) {
  display: grid;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes {
  display: flex;
  flex-direction: column;
  row-gap: 0.625rem;
  background: var(--white);
  padding-top: 0.75rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div {
  position: relative;
  font-size: var(--text-size-sm);
  padding: 0 0 0 2.25rem;
  margin: 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div:has(> p) {
  padding: 0;
  margin-bottom: 0.625rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div:before {
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-xl);
  line-height: 1;
  color: var(--cool-600);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.accessibleList:before {
  content: "accessible";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.badweatherList:before {
  content: "storm";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.cuisineList:before {
  content: "local_dining";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.drinkingList:before {
  content: "local_bar";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.durationList:before {
  content: "watch";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.importantNote:before {
  content: "local_activity";
  color: var(--gold-500);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.inclusionList:before {
  content: "playlist_add_check_circle";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.kidfriendlyList:before {
  content: "child_friendly";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.locationList:before {
  content: "pin_drop";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.menuList:before {
  content: "menu_book";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.optionalNotes:before {
  content: "text_snippet";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.priceList:after {
  content: "payments";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.productMap:before {
  content: "explore";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.restrictedageList:before {
  content: "block";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.servicehoursList:before {
  content: "schedule";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.tobringList:before {
  content: "assignment_turned_in";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.latitudeImg-wrapper {
  padding: 1.5rem;
  margin: 1.5rem auto;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes div.productNotes:before {
  display: none;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes h3 {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  text-align: left;
  margin: 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes h3.headline-3 {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-bold);
  color: var(--cool-600);
  background: var(--cool-200);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes br {
  display: block;
  content: " ";
  padding: 0.3125rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes br + br {
  display: none;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes ul {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-sm);
  margin: 0 0 0.3125rem;
  list-style: none;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes ul li {
  padding: 0.3125rem 0 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes ul li p {
  margin-bottom: 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .product-confirmation .product-confirmation_notes ul li p:not(:first-of-type) {
  margin-top: 0.3125rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation {
  margin-top: 3rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  background: var(--white);
  padding-top: 1rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 {
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-lg);
  font-weight: var(--text-weight-bold);
  width: calc(100% - 2.5rem);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span {
  display: block;
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-normal);
  color: var(--neutral-600);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.max-people {
  display: flex;
  align-items: flex-end;
  column-gap: 0.25rem;
  margin-top: 0.25rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.max-people .max-adults {
  display: flex;
  margin: 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.max-people .max-adults .material-symbols-outlined {
  font-size: var(--text-size-base);
  color: var(--cool-600);
  margin-right: -0.1875rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.max-people .max-children {
  display: flex;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.max-people .max-children:before {
  display: flex;
  align-items: flex-end;
  content: "+";
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  margin: 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.max-people .max-children .material-symbols-outlined {
  font-size: var(--text-size-sm);
  color: var(--cool-600);
  margin-right: -0.1875rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.view-and-food {
  display: flex;
  align-items: center;
  column-gap: 0.25rem;
  margin-top: 0.25rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.view-and-food .room-view {
  display: flex;
  align-items: center;
  column-gap: 0.125rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.view-and-food .room-view .material-symbols-outlined {
  font-size: var(--text-size-base);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.view-and-food .free-breakfast {
  display: flex;
  align-items: center;
  column-gap: 0.125rem;
  font-weight: var(--text-weight-semibold);
  font-style: italic;
  color: green;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.view-and-food .free-breakfast .material-symbols-outlined {
  font-size: var(--text-size-lg);
  color: green;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.view-and-food:has(.free-breakfast) .room-view {
  column-gap: 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.view-and-food:has(.free-breakfast) .room-view:after {
  content: ",";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.plan-and-size {
  display: flex;
  align-items: center;
  margin-top: 0.25rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.plan-and-size.plan, #confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.plan-and-size .area {
  display: flex;
  align-items: center;
  margin: 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .h3 span.plan-and-size .area:not(:empty):before {
  display: flex;
  align-items: center;
  content: "–";
  line-height: 1;
  margin: 0 0.1875rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  background: var(--cool-50);
  padding: 1rem;
  box-shadow: 0 0 0 0.125rem var(--cool-300);
  border-radius: 0.3125rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .multi-room-expander {
  display: none;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .room-type-row {
  display: flex;
  justify-content: space-between;
  column-gap: 0.3125rem;
  row-gap: 1rem;
  min-height: 4rem;
  transition: all 0.3s;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .room-type-row .room-counter {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-4xs);
  line-height: var(--text-leading-4xs);
  color: var(--white);
  text-transform: uppercase;
  background-color: var(--warm-500);
  border-radius: 50%;
  margin-top: 0.125rem;
  width: 2rem;
  height: 2rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .room-type-row .room-counter strong {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-normal);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .ammenities-row {
  display: flex;
  grid-column-gap: 0.5rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .ammenities-row .ammenity {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 0.125rem;
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-3xs);
  color: var(--white);
  list-style-type: none;
  background: var(--airnz-brand-major);
  padding: 0.3125rem;
  border-radius: 0.25rem;
  margin: 0;
  width: 4rem;
  box-sizing: border-box;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .ammenities-row .ammenity .ammenity-icons {
  display: flex;
  align-items: center;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .ammenities-row .ammenity .ammenity-icons .material-symbols-outlined {
  font-size: var(--text-size-lg);
  color: var(--white);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .ammenities-row .ammenity label {
  display: flex;
  align-items: flex-start;
  font-size: var(--text-size-4xs);
  text-align: center;
  margin: 0;
  max-width: 3.5rem;
  max-height: 1.5rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .ammenities-row .ammenity.children .material-symbols-outlined {
  font-size: var(--text-size-lg);
  margin: 0.1875rem 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .image-row {
  position: relative;
  border-radius: 0.25rem;
  height: 11rem;
  overflow: hidden;
  cursor: pointer;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .image-row img {
  border-radius: 0.425em;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .image-row:hover {
  box-shadow: 0 0 0 0.125rem var(--cool-400);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .image-row:hover .image-count {
  background: var(--cool-400);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .image-row .image-count {
  position: absolute;
  right: 0.625rem;
  bottom: 625rem;
  display: flex;
  align-items: center;
  column-gap: 0.25rem;
  color: var(--white);
  background: rgba(0, 0, 0, 0.7);
  padding: 0.125rem 0.3125rem 0.125rem 0.25rem;
  border-radius: 0.25rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .image-row .image-count span {
  font-size: var(--text-size-sm);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .image-row .image-count span.material-symbols-outlined {
  font-size: var(--text-size-lg);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .facilities-group {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.3125rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .facilities-group li {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.25rem;
  font-size: var(--text-size-3xs);
  color: var(--cool-600);
  background-color: var(--white);
  padding: 0.3125rem 0.625rem 0.3125rem 0.3125rem;
  border-radius: 0.1875rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-300);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .single-room-details .facilities-group li .material-symbols-outlined {
  font-size: var(--text-size-base);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .cancellation-policy {
  display: flex;
  flex-direction: column;
  row-gap: 0.3125rem;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-normal);
  color: green;
  margin-top: 0.625rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .cancellation-policy span {
  font-weight: var(--text-weight-bold);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .rate-wrapper {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  margin-top: auto;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .rate-wrapper em {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: 0.1875rem;
  font-size: var(--text-size-xs);
  color: green;
  margin-bottom: 0.1875rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .rate-wrapper em .material-symbols-outlined {
  font-size: var(--text-size-lg);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .rate-wrapper .nights-and-guests {
  font-size: var(--text-size-3xs);
  font-weight: var(--text-weight-normal);
  padding: 0.1875rem 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .rate-wrapper .rate {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  font-size: var(--text-size-4xl);
  line-height: var(--text-leading-4xl);
  font-weight: var(--text-weight-semibold);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .rate-wrapper .rate sup {
  align-self: flex-start;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-bold);
  border-bottom: 0.0625rem solid var(--black);
  margin: 0.5rem 0 0 0.25rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .rate-wrapper .rate span {
  font-size: var(--text-size-4xs);
  font-weight: var(--text-weight-normal);
  text-align: right;
  margin: 0 0.3125rem 0.5625rem 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .rate-wrapper .taxes-disclaimer {
  font-size: var(--text-size-4xs);
  font-weight: var(--text-weight-normal);
  color: var(--neutral-500);
  letter-spacing: 0.00625rem;
  margin: 0.1875rem 0 0.3125rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .button-row .btn {
  column-gap: 0.3125rem;
  border-radius: 1.8rem;
  width: 100%;
  height: 2.5rem;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type .button-row .btn.btn_icon_left i {
  padding: 0;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection {
  max-height: fit-content;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection .single-room-details {
  position: relative;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection .single-room-details .multi-room-expander {
  position: absolute;
  bottom: 0.5625rem;
  right: 0.5625rem;
  left: initial;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--cool-400);
  border-radius: 0.3125rem;
  background: var(--white);
  width: 1.5rem;
  height: 1.5rem;
  cursor: pointer;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-300), 0.0625rem 0.0625rem 0.3125rem rgba(0, 0, 0, 0.2);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection .single-room-details .multi-room-expander:before {
  display: flex;
  content: "photo_library";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-lg);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection .single-room-details .image-row,
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection .single-room-details .facilities-group {
  display: none;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection .single-room-details .room-type-row .h3:before {
  display: block;
  content: "";
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-normal);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection .single-room-details:nth-of-type(1) .room-type-row .h3:before {
  content: "Room 1";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection .single-room-details:nth-of-type(2) .room-type-row .h3:before {
  content: "Room 2";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection .single-room-details:nth-of-type(3) .room-type-row .h3:before {
  content: "Room 3";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection.active-room .single-room-details .image-row,
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection.active-room .single-room-details .facilities-group {
  display: flex;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection.active-room .single-room-details .multi-room-expander {
  top: -0.5rem;
  right: -0.5rem;
  color: var(--white);
  background-color: var(--cool-400);
  border-radius: 50%;
  box-shadow: none;
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection.active-room .single-room-details .multi-room-expander:before {
  content: "close";
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection.active-room .single-room-details .multi-room-expander:hover {
  background-color: var(--cool-600);
}
#confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation .hotel-box_room-type.multi-room-selection.active-room .single-room-details:not(:first-of-type) .multi-room-expander {
  display: none;
}
#confirm-booking .operator-codes {
  margin: 4rem 0;
}
#confirm-booking .operator-codes h2 {
  display: flex;
  flex-direction: column;
  font-size: var(--text-size-xl);
  font-weight: var(--text-weight-bold);
  color: var(--black);
  line-height: var(--text-leading-xl);
  letter-spacing: -0.03125rem;
  text-align: center;
  padding: 0 0 1.25rem;
  border-bottom: 0.0625rem solid var(--cool-200);
  margin-bottom: 3rem;
  width: auto;
}
#confirm-booking .operator-codes h2 em {
  font-style: normal;
  text-transform: capitalize;
}
#confirm-booking .operator-codes h2 span {
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
  letter-spacing: initial;
}
#confirm-booking .operator-codes .code-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}
#confirm-booking .operator-codes .booking-code {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  column-gap: 4rem;
  row-gap: 1rem;
  flex-wrap: wrap;
  text-align: center;
  width: 15.625rem;
}
#confirm-booking .operator-codes .booking-code p {
  font-size: var(--text-size-xs);
  width: 100%;
}
#confirm-booking .operator-codes .booking-code .code {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0.375rem;
  box-shadow: 0 0 0 0.0625rem var(--cool-200);
  width: 15.625rem;
  height: 15.625rem;
}
#confirm-booking .operator-codes .booking-code .code img {
  page-break-inside: avoid;
  width: 100%;
}
#confirm-booking .summaryWrapper {
  font-size: var(--text-size-11);
  line-height: var(--text-leading-xs);
  text-align: center;
  margin-top: 3rem;
}
#confirm-booking .summaryWrapper .summaryHead,
#confirm-booking .summaryWrapper .summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 1rem;
  padding: 0.625rem 1rem;
  min-height: 3rem;
  box-sizing: border-box;
}
#confirm-booking .summaryWrapper .summaryHead {
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  background-color: var(--cool-700);
}
#confirm-booking .summaryWrapper .summaryHead.confirmHead {
  background-color: var(--cool-700);
}
#confirm-booking .summaryWrapper .summaryHead .date-string {
  display: block;
}
@media only screen and (min-width: 768px) {
  #confirm-booking .summaryWrapper .summaryHead .date-string {
    display: inline;
  }
}
#confirm-booking .summaryWrapper .summary {
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
#confirm-booking .summaryWrapper .summary + .summaryHead {
  margin-top: 2rem;
}
#confirm-booking .summaryWrapper .summary:has(.confirmItem) {
  background-color: var(--cool-25);
}
#confirm-booking .summaryWrapper .summaryItem {
  width: 15%;
}
#confirm-booking .summaryWrapper .summaryItem:nth-of-type(n+3), #confirm-booking .summaryWrapper .summaryItem:last-of-type {
  text-align: right;
}
#confirm-booking .summaryWrapper .summaryItem:first-child {
  text-align: left;
  width: 55%;
}
#confirm-booking .confirmItem {
  background-color: var(--white);
  padding: 1rem;
  margin: 1.25rem auto;
  width: 100%;
  max-width: 25rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  box-sizing: border-box;
}
#confirm-booking .confirmItem h3 {
  font-size: var(--text-size-base);
  text-align: center;
  margin-bottom: 0.5em;
}
#confirm-booking .confirmItem i {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-lg);
  color: var(--white);
  background-color: var(--purple-800);
  margin: 0 auto 0.3125rem;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
}
#confirm-booking .confirmItem ul {
  display: grid;
  row-gap: 0.625rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  color: var(--cool-600);
  text-align: center;
  list-style-type: none;
}
#confirm-booking .confirmItem ul li:first-of-type {
  font-weight: var(--text-weight-semibold);
  margin: 0.3125rem 0 0.1875rem;
}
#confirm-booking .confirmItem ul li span {
  display: block;
}
#confirm-booking .confirmItem ul li span.voucherBalance {
  display: inline-flex;
  color: var(--purple-800);
  background-color: var(--purple-50);
  padding: 0.1875rem 0.375rem;
  border-radius: 0.1875rem;
  margin: 0 0 0 0.1875rem;
  box-shadow: inset 0 0 0 0.0625rem var(--purple-100);
}
#confirm-booking .confirmItem ul li a {
  font-weight: var(--text-weight-semibold);
  text-decoration: underline;
}
#confirm-booking .confirmItem.voucherDiscount {
  font-size: var(--text-size-base);
  font-weight: var(--text-weight-semibold);
  color: var(--bkme-brand-major);
}
#confirm-booking .checkoutTotal #total {
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: right;
  background-color: var(--cool-50);
  padding: 0.875rem 0.625rem 1rem;
  box-shadow: 0 -0.0625rem 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-300);
}
#confirm-booking .checkoutTotal #total h3 {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
}
#confirm-booking .checkoutTotal #total #totalLabel {
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-normal);
}
#confirm-booking .checkoutTotal + .checkoutTotal {
  margin-top: -0.1875rem;
}
#confirm-booking .checkoutTotal + .checkoutTotal #total {
  box-shadow: inset 0 0.125rem 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-300);
}
#confirm-booking .recActivities {
  text-align: center;
  padding: 0 1rem;
  margin: 2.75rem auto 0;
  max-width: 48rem;
}
#confirm-booking .recActivities h2 {
  font-size: var(--text-size-xl);
  font-weight: var(--text-weight-bold);
  color: var(--black);
  line-height: var(--text-leading-xl);
  letter-spacing: -0.03125rem;
  text-align: center;
  padding: 0;
  border: none;
  margin: 0 0 1rem;
  width: auto;
}
#confirm-booking .recActivities h2 span {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-normal);
  letter-spacing: initial;
}
#confirm-booking .footnotes {
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-xs);
  margin-top: 0.5rem;
}

@media only screen and (min-width: 390px) {
  #confirm-booking .confirmationDetail-wrapper .imageBox {
    height: 15.625rem;
  }
}
@media only screen and (min-width: 428px) {
  #confirm-booking .confirmationDetail-wrapper .imageBox {
    height: 20.625rem;
  }
}
@media only screen and (min-width: 600px) {
  #confirm-booking .confirmationDetail-wrapper .imageBox {
    height: 25rem;
  }
}
@media only screen and (min-width: 768px) {
  #confirm-booking .confirmationDetail-wrapper .imageBox {
    height: 35.625rem;
  }
  #confirm-booking .confirmationDetail-wrapper .confirmation-details + .hotel-confirmation:has(.multi-room-selection.active-room) .confirmation-map_wrapper {
    max-height: 0;
  }
}
.confirmBooking .button-submit {
  margin: 2rem auto;
}
.confirmBooking .button-submit.disabled {
  display: none;
}
.confirmBooking .refund-box {
  margin: 2rem auto 0;
  width: 100%;
  max-width: 40rem;
}
.confirmBooking .refund-box .sub-head {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  margin: 0.875rem 0 0;
}
.confirmBooking .refund-box p {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  margin-bottom: 1.5rem;
}
.confirmBooking .refund-box .cancelBooking-bottom {
  background: var(--cool-25);
  padding: 1.5rem 1rem;
  border-radius: 0 0 0.625rem 0.625rem;
  margin: 1rem -0.9375rem -0.8125rem;
  box-shadow: inset 0 0.0625rem 0 var(--cool-200);
}
.confirmBooking .refund-box:has(.formRow) .sub-head {
  padding-bottom: 1.5rem;
  margin: 0.875rem 0 1.5rem;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.confirmBooking .refund-options {
  display: grid;
  gap: 2rem;
}
@media only screen and (min-width: 768px) {
  .confirmBooking .refund-options {
    grid-template-columns: repeat(2, 1fr);
  }
}
.confirmBooking .refund-options h2 {
  font-size: var(--text-size-xl);
  font-weight: var(--text-weight-bold);
  line-height: var(--text-leading-xl);
  color: var(--cool-600);
  text-align: center;
  margin: 2rem auto 0;
  width: 100%;
  max-width: 40rem;
}
@media only screen and (min-width: 768px) {
  .confirmBooking .refund-options h2 {
    grid-column: 1/3;
  }
}
.confirmBooking .refund-options .refund-option-box .sub-head {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-600);
  text-align: center;
}
.confirmBooking .refund-options .refund-option-box ul {
  font-weight: var(--text-weight-normal);
  text-align: left;
  padding: 1.25rem 0 0 2rem;
  margin: 0.75rem 0 0;
  box-shadow: inset 0 0.0625rem 0 var(--cool-200);
}
.confirmBooking .refund-options .refund-option-box ul li {
  position: relative;
  line-height: 1.5;
  list-style-type: none;
  padding: 0 0 0.625rem 0;
}
.confirmBooking .refund-options .refund-option-box ul li:before {
  position: absolute;
  top: 0;
  left: -2rem;
  content: "star";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-sm);
  color: var(--cool-700);
}
.confirmBooking .refund-options .refund-option-box .refund-option-notes:has(p) {
  padding: 1.25rem 0 0 0;
  margin: 0.75rem 0 0;
  box-shadow: inset 0 0.0625rem 0 var(--cool-200);
}
.confirmBooking .refund-options .refund-option-box .refund-option-notes:has(p):before {
  display: block;
  content: "Refund notes:";
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-semibold);
  color: var(--neutral-600);
}
.confirmBooking .refund-options .refund-option-box .refund-option-notes:has(p) p {
  font-size: var(--text-size-11);
}

.deals-list {
  display: grid;
  grid-template-columns: auto;
  gap: 2rem;
  padding: 2rem 0.625rem 0;
}
@media only screen and (min-width: 992px) {
  .deals-list {
    grid-template-columns: 1fr auto;
  }
}
.deals-list__wrapper {
  display: contents;
}
@media only screen and (min-width: 992px) {
  .deals-list__wrapper {
    display: block;
  }
}
.deals-list #deals_list,
.deals-list #deals_list_2,
.deals-list #hotels-wrapper {
  display: flex;
  flex-flow: column;
  gap: 2rem;
  width: 100%;
}
.deals-list #deals_list:empty,
.deals-list #deals_list_2:empty,
.deals-list #hotels-wrapper:empty {
  display: none;
}
.deals-list #deals_list {
  order: 1;
  margin-bottom: 0;
}
@media only screen and (min-width: 992px) {
  .deals-list #deals_list {
    margin-bottom: 3rem;
  }
}
.deals-list #deals_list_2 {
  order: 3;
  margin-bottom: 3rem;
}
.deals-list .promo-blocks {
  order: 2;
}

.dealCard {
  display: flex;
  flex-direction: column;
}
.dealCard .hd_dealName-wrap .rankName-wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  position: relative;
  padding-bottom: 0.125rem;
}
.dealCard .hd_dealName-wrap h2, .dealCard .hd_dealName-wrap .h2, .dealCard .hd_dealName-wrap h3, .dealCard .hd_dealName-wrap .h3 {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  color: var(--cool-700);
  width: 95%;
}
.dealCard .hd_dealName-wrap .qualmarkStatus {
  display: none;
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .noReviews {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  font-style: italic;
  font-size: var(--text-size-2xs);
  color: var(--gold-500);
  height: 1.25rem;
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .noReviews i {
  font-size: var(--text-size-xs);
  color: var(--gold-500);
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_stars,
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_percent {
  position: relative;
  line-height: 0;
  margin-right: 0.75rem;
  height: auto;
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_stars:before,
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_percent:before {
  display: inline-block;
  content: "\e83a\e83a\e83a\e83a\e83a";
  font-family: "Material Icons";
  font-style: normal;
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-normal);
  color: var(--gold-300);
  letter-spacing: -0.25rem;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_percent {
  display: block;
  position: absolute;
  top: 0;
  overflow: hidden;
  white-space: nowrap;
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_percent:before {
  content: "\e838\e838\e838\e838\e838";
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_avgRating,
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_countRating {
  position: static;
  font-size: var(--text-size-3xs);
  font-family: "Open Sans";
  color: var(--black);
  border-radius: initial;
  margin: 0;
  min-width: initial;
  min-height: initial;
  width: auto;
  height: auto;
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_avgRating::after {
  content: "Rating"/"";
  padding-left: 0.125rem;
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_countRating:before {
  content: "/"/"";
  color: var(--neutral-300);
  border: none;
  padding: 0 0.25rem 0;
}
.dealCard .hd_dealName-wrap .hd_dealRating_2020 .hd_countRating:after {
  position: static;
  content: "Reviews"/"";
  padding-left: 0.125rem;
  border: none;
}
.dealCard .hd_dealImage-wrap {
  display: block;
  border-radius: 0.5rem 0.5rem 0 0;
  margin-top: 0.625rem;
  overflow: hidden;
}
.dealCard .hd_dealImage-wrap img {
  border-radius: 0.5rem 0.5rem 0 0;
  width: 100%;
  min-height: 12rem;
  max-height: 20rem;
  object-fit: cover;
}
.dealCard .hd_dealDetails-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0.625rem;
  padding: 0.875rem 0.75rem 1rem;
  border-radius: 0 0 0.5rem 0.5rem;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
  box-sizing: border-box;
  width: 100%;
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap {
  display: grid;
  grid-template-columns: auto auto;
  grid-gap: 0.75rem;
  align-items: center;
  width: 100%;
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDates {
  grid-column-start: 1;
  grid-column-end: 3;
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-2xs);
  color: var(--bkme-secondary-light);
  width: 100%;
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDates:before {
  display: inline-block;
  content: "Best between:";
  margin-right: 0.1875rem;
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDates:after {
  display: block;
  content: "Tap through for more";
  font-style: italic;
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDates span:first-of-type:after {
  display: inline-block;
  content: "–";
  margin: 0 0.1875rem;
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDiscount,
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealSpaces {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-semibold);
  font-style: italic;
  color: var(--bkme-secondary);
  text-align: center;
  background-color: var(--cool-50);
  border-radius: 0.1875rem;
  width: 4.1875rem;
  height: 2.25rem;
  box-shadow: 0 0 0 0.0625rem var(--cool-200);
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDiscount span,
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealSpaces span {
  font-size: var(--text-size-2xs);
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDiscount span {
  font-size: var(--text-size-4xs);
  line-height: var(--text-leading-3xs);
  font-weight: var(--text-weight-normal);
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-1, .dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-2, .dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-3 {
  color: var(--white);
  box-shadow: none;
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-1 {
  background-color: var(--warm-300);
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-2 {
  background-color: var(--warm-400);
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-3 {
  background-color: var(--warm-500);
}
.dealCard .hd_dealDetails-wrap .hd_dealDates-wrap div:empty {
  display: none;
}
.dealCard .hd_dealDetails-wrap .hd_dealButton {
  display: none;
}
.dealCard .hd_dealPrice {
  display: grid;
  gap: 0.3125rem;
  width: 100%;
}
.dealCard .hd_dealPrice .price-wrapper {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 0.375rem;
}
.dealCard .hd_dealPrice .price-wrapper .left {
  display: grid;
  text-align: right;
  display: grid;
  align-items: flex-end;
  text-align: right;
  height: 100%;
}
.dealCard .hd_dealPrice .price-wrapper .left .currency-code {
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-semibold);
  line-height: var(--text-leading-4xs);
}
.dealCard .hd_dealPrice .price-wrapper .left .prices-from {
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-normal);
  line-height: var(--text-leading-4xs);
  text-align: right;
}
.dealCard .hd_dealPrice .price-wrapper .right {
  display: flex;
  align-items: flex-start;
  font-size: var(--text-size-3xl);
  line-height: var(--leading-6);
  font-weight: var(--text-weight-bold);
}
.dealCard .hd_dealPrice .price-wrapper .right sup {
  font-size: var(--text-size-base);
  line-height: var(--leading-4);
  font-weight: var(--text-weight-extrabold);
  padding-bottom: 0.1875rem;
  box-shadow: inset 0 -0.125rem 0 var(--black);
  margin: -0.0625rem 0 0 0.25rem;
  height: fit-content;
}
.dealCard .hd_dealPrice em {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  text-align: right;
  margin-right: 0.1875rem;
}
.dealCard.soldout .hd_dealDetails-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-1, .dealCard.soldout .hd_dealDetails-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-2, .dealCard.soldout .hd_dealDetails-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-3 {
  color: var(--neutral-500);
  text-decoration: line-through;
  background-color: var(--cool-50);
  box-shadow: 0 0 0 0.0625rem var(--cool-200);
}
.dealCard.soldout .hd_dealDetails-wrap .hd_dealDiscount span {
  display: none;
}
.dealCard.soldout .hd_dealDetails-wrap .hd_dealSpaces {
  font-size: var(--text-size-xs);
  color: var(--neutral-500);
}
.dealCard.soldout .hd_dealDetails-wrap .hd_dealPrice {
  display: none;
}
.dealCard.soldout .hd_dealDetails-wrap .hd_dealButton {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.dealCard.soldout .hd_dealDetails-wrap .hd_dealButton .next-link {
  display: flex;
  gap: 0.125rem;
  color: var(--cool-600);
}
.dealCard.soldout .hd_dealDetails-wrap .hd_dealButton .next-link__text {
  display: flex;
  flex-direction: column;
  font-size: var(--text-size-13);
  font-style: italic;
  font-weight: var(--font-semibold);
  line-height: var(--leading-5);
  text-align: right;
}
.dealCard.soldout .hd_dealDetails-wrap .hd_dealButton .next-link__icon {
  font-size: var(--text-3xl);
  font-variation-settings: "FILL" 1, "wght" 300, "GRAD" 0, "opsz" 24;
  margin-top: -0.0625rem;
}
.dealCard.comingSoon .hd_dealDetails-wrap .hd_dealSpaces {
  position: relative;
  color: transparent;
  background-color: #F6E3A7;
  box-shadow: 0 0 0 0.0625rem #FBCA2C;
}
.dealCard.comingSoon .hd_dealDetails-wrap .hd_dealSpaces:after {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  content: "Coming Soon";
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-2xs);
  font-weight: var(--text-weight-semibold);
  color: #192439;
  padding: 0 0.3125rem;
}
.dealCard.comingSoon .hd_dealDetails-wrap .hd_dealPrice {
  display: none;
}
.dealCard.comingSoon .hd_dealDetails-wrap .hd_dealButton {
  display: flex;
  justify-content: flex-end;
}

@media only screen and (min-width: 360px) {
  .dealCard .hd_dealDetails-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .dealCard .hd_dealDetails-wrap .hd_dealDates-wrap {
    display: flex;
    flex-wrap: wrap;
  }
  .dealCard .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDates:after {
    display: block;
    content: "Tap through for more dates & prices";
  }
  .dealCard.soldout .hd_dealDetails-wrap .hd_dealButton {
    width: auto;
  }
}
@media only screen and (min-width: 390px) {
  .dealCard .hd_dealDetails-wrap .hd_dealPrice strong {
    flex-wrap: nowrap;
  }
  .dealCard .hd_dealDetails-wrap .hd_dealPrice strong span {
    margin: 0 0.375rem 0.25rem 0;
  }
}
@media only screen and (min-width: 768px) {
  #deals_list,
  #deals_list_2 {
    row-gap: 2rem;
  }
  .dealCard {
    justify-content: space-between;
    position: relative;
    background-color: var(--white);
    padding: 1rem 1rem 1.125rem 19rem;
    border-radius: 0.8rem;
    max-width: 100%;
    min-height: 12.5rem;
    box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
    transition: all 0.2s;
  }
  .dealCard:hover {
    box-shadow: inset 0 0 0 0.1875rem var(--cool-400);
    cursor: pointer;
  }
  .dealCard .hd_dealName-wrap .rankName-wrapper {
    position: initial;
  }
  .dealCard .hd_dealName-wrap .rankName-wrapper h2, .dealCard .hd_dealName-wrap .rankName-wrapper .h2, .dealCard .hd_dealName-wrap .rankName-wrapper h3, .dealCard .hd_dealName-wrap .rankName-wrapper .h3 {
    font-size: var(--text-size-lg);
    line-height: var(--text-leading-base);
  }
  .dealCard .hd_dealImage-wrap {
    position: absolute;
    top: 0;
    left: 0.625rem;
    border-radius: 0.5rem;
    width: 17.5rem;
    max-height: calc(100% - 1.25rem);
  }
  .dealCard .hd_dealImage-wrap img {
    border-radius: 0.5rem;
  }
  .dealCard .hd_dealDetails-wrap {
    padding: 0 0.3125rem 0 0;
    box-shadow: none;
  }
  .dealCard .hd_dealDetails-wrap .hd_dealButton {
    margin-right: -0.5rem;
  }
  .dealCard .hd_dealPrice {
    width: auto;
  }
  .dealCard .hd_dealPrice:has(> span) > span {
    left: 2rem;
    width: auto;
  }
}
.dealCard.restaurant {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .dealCard.restaurant .hd_dealImage-wrap img {
    min-height: 8rem;
    max-height: 8.8rem;
  }
}
.dealCard.restaurant .restaurant-rank {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
}
.dealCard.restaurant .restaurant-rank.new:before, .dealCard.restaurant .restaurant-rank.new:after,
.dealCard.restaurant .restaurant-rank.new .number,
.dealCard.restaurant .restaurant-rank.new .ray {
  display: none;
}
.dealCard.restaurant .restaurant-rank.new .count {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  line-height: 0;
  text-transform: uppercase;
  border-radius: 0.25rem;
  background-color: #aa8326;
  padding: 0 0.5rem;
  margin-right: 0.5rem;
  height: 1.25rem;
  box-sizing: border-box;
}
.dealCard.restaurant .restaurant-rank:not(.new) {
  position: relative;
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-4xs);
  color: #aa8326;
  margin: 0 1.25rem 1rem 1rem;
  width: 2.25rem;
  height: 1.25rem;
  box-sizing: border-box;
}
.dealCard.restaurant .restaurant-rank:not(.new):after {
  position: absolute;
  top: initial;
  bottom: -1rem;
  left: initial;
  display: block;
  content: "Popular";
  font-size: var(--text-size-4xs);
  color: #ccb88a;
  text-align: center;
  text-transform: uppercase;
  padding-bottom: 0.3125rem;
  width: 3.75rem;
  height: auto;
  z-index: 1;
  transform: rotate(0);
}
.dealCard.restaurant .restaurant-rank:not(.new) span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: static;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-bold);
  color: #c59d5f;
  width: 1.25remrem;
  height: 0.875rem;
}
.dealCard.restaurant .restaurant-rank:not(.new) span .number {
  font-size: var(--text-size-3xs);
  font-weight: var(--text-weight-semibold);
  margin-right: -0.375rem;
  margin-left: -0.5625rem;
}
.dealCard.restaurant .restaurant-rank:not(.new) .ray {
  position: absolute;
  display: inline-block;
  background: #f0eadc;
  border-radius: 0.3125rem;
  width: 0.5rem;
  height: 0.25rem;
}
.dealCard.restaurant .restaurant-rank:not(.new) .ray.one {
  bottom: 0.75rem;
  left: -0.125rem;
  transform: rotate(30deg);
}
.dealCard.restaurant .restaurant-rank:not(.new) .ray.two {
  bottom: 1.125rem;
  left: 0.375rem;
  transform: rotate(60deg);
}
.dealCard.restaurant .restaurant-rank:not(.new) .ray.three {
  bottom: 1.125rem;
  right: 0.375rem;
  transform: rotate(-60deg);
}
.dealCard.restaurant .restaurant-rank:not(.new) .ray.four {
  bottom: 0.75rem;
  right: -0.125rem;
  transform: rotate(-30deg);
}
.dealCard.restaurant .hd_dealRating_2020:has(.restaurantPrice-wrapper) {
  padding-top: 0.5625rem;
}
.dealCard.restaurant .hd_dealRating_2020:has(.restaurantPrice-wrapper) .restaurantPrice-wrapper {
  margin: -0.1875rem 0 0 auto;
}
.dealCard.restaurant .hd_dealRating_2020:has(.restaurantPrice-wrapper) .restaurantPrice-wrapper .restaurantPrice-range:before,
.dealCard.restaurant .hd_dealRating_2020:has(.restaurantPrice-wrapper) .restaurantPrice-wrapper .restaurantPrice-percentage:before {
  font-size: var(--text-size-lg);
}
.dealCard.restaurant .hd_soldOutDining {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  text-align: right;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-semibold);
  font-style: italic;
  padding-right: 1.125rem;
  border: none;
  width: 100%;
  height: 2.5rem;
  box-sizing: border-box;
}
.dealCard.restaurant .hd_soldOutDining span {
  display: block;
}
.dealCard.restaurant .hd_soldOutDining:after {
  position: absolute;
  top: 0;
  right: 0;
  content: "navigate_next";
  font-family: "Material Icons";
  font-size: var(--text-size-2xl);
  color: var(--cool-500);
}
.dealCard.restaurant .hd_dealDetails-wrap .hd_dealDates-wrap .hd_dealDates:after {
  display: none;
}
.dealCard.restaurant .restaurant-week {
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  grid-column-start: 1;
  grid-column-end: 3;
  font-size: var(--text-size-2xs);
  color: var(--cool-500);
  list-style-type: none;
  margin-top: 0.3125rem;
  width: 100%;
  box-sizing: border-box;
}
.dealCard.restaurant .restaurant-week li {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  grid-column-gap: 0.3125rem;
  text-align: center;
  width: 25%;
  height: 4.5rem;
  box-shadow: 0 0.0625rem 0 var(--cool-100), 0 -0.0625rem 0 var(--cool-100);
}
.dealCard.restaurant .restaurant-week li:first-of-type {
  border-radius: 0.375rem 0 0 0.375rem;
  box-shadow: -0.0625rem 0 0 var(--cool-100), 0 0.0625rem 0 var(--cool-100), 0 -0.0625rem 0 var(--cool-100);
}
.dealCard.restaurant .restaurant-week li:first-of-type .status {
  border-radius: 0 0 0 0.375rem;
}
.dealCard.restaurant .restaurant-week li:first-of-type .status.open {
  box-shadow: 0 0 0 0.0625rem rgba(255, 255, 255, 0.5);
}
.dealCard.restaurant .restaurant-week li:first-of-type .status.sold {
  box-shadow: 0 0 0 0.0625rem var(--cool-100);
}
.dealCard.restaurant .restaurant-week li:nth-of-type(7) {
  border-radius: 0 0.375rem 0.375rem 0;
  box-shadow: 0.0625rem 0 0 var(--cool-100), 0 0.0625rem 0 var(--cool-100), 0 -0.0625rem 0 var(--cool-100);
}
.dealCard.restaurant .restaurant-week li:nth-of-type(7) .status {
  border-radius: 0 0 0.375rem 0;
}
.dealCard.restaurant .restaurant-week li:last-of-type {
  border-radius: 0 0.375rem 0 0;
  box-shadow: 0.0625rem 0 0 var(--cool-100), 0 0.0625rem 0 var(--cool-100), 0 -0.0625rem 0 var(--cool-100);
}
.dealCard.restaurant .restaurant-week li:last-of-type .status {
  border-radius: 0 0 0.375rem 0;
}
.dealCard.restaurant .restaurant-week li:last-of-type .status.sold {
  box-shadow: 0 0 0 0.0625rem var(--cool-100);
}
.dealCard.restaurant .restaurant-week li > div {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 25%;
}
.dealCard.restaurant .restaurant-week li > div.day, .dealCard.restaurant .restaurant-week li > div.date {
  line-height: 1;
  width: 100%;
  height: auto;
}
.dealCard.restaurant .restaurant-week li .status {
  font-size: 0;
  height: 50%;
  width: 100%;
}
.dealCard.restaurant .restaurant-week li .status:before {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: var(--text-size-lg);
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
}
.dealCard.restaurant .restaurant-week li .status.open {
  color: var(--white);
  background: var(--cool-600);
  box-shadow: 0 0 0.0625rem var(--white);
}
.dealCard.restaurant .restaurant-week li .status.open::before {
  content: "restaurant";
}
.dealCard.restaurant .restaurant-week li .status.sold {
  color: var(--cool-600);
  background: var(--cool-50);
  box-shadow: 0 0 0 0.0625rem var(--cool-100), inset 0.0625rem 0 0 var(--cool-100);
}
.dealCard.restaurant .restaurant-week li .status.sold:before {
  content: "no_meals";
}
.dealCard.restaurant.comingSoon .hd_dealDetails-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-1, .dealCard.restaurant.comingSoon .hd_dealDetails-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-2, .dealCard.restaurant.comingSoon .hd_dealDetails-wrap .hd_dealDiscount.hd_dealDiscount.dealDiscount-3 {
  color: var(--bkme-neutral);
  text-decoration: line-through;
  background-color: var(--bkme-neutral-lighter);
  box-shadow: 0 0 0 0.0625 var(--bkme-neutral-light);
}
.dealCard.restaurant.comingSoon .hd_dealDetails-wrap .hd_dealDiscount span {
  display: none;
}
.dealCard.restaurant.comingSoon .hd_dealDetails-wrap .hd_dealSpaces {
  background-color: var(--bkme-neutral-lighter);
  box-shadow: 0 0 0 0.0625 var(--bkme-neutral-light);
}
.dealCard.restaurant.comingSoon .hd_dealDetails-wrap .hd_dealSpaces:after {
  font-size: var(--text-size-sm);
  content: "Sold Out";
  color: var(--bkme-neutral);
}
.dealCard.restaurant.comingSoon .hd_dealDetails-wrap .hd_dealButton {
  display: none;
}

@media only screen and (min-width: 768px) {
  .dealCard.restaurant {
    justify-content: space-between;
    position: relative;
    height: 16rem;
  }
  .dealCard.restaurant .hd_dealName-wrap {
    padding-top: 0.3125rem;
  }
  .dealCard.restaurant .hd_dealName-wrap .restaurant-rank:not(.new) {
    position: absolute;
    top: 1.25rem;
    left: 0.25rem;
    background: var(--white);
    width: 2rem;
    z-index: 1;
  }
  .dealCard.restaurant .hd_dealName-wrap .restaurant-rank:not(.new):before {
    position: absolute;
    top: -0.625rem;
    content: "";
    background: #AA8226;
    border-radius: 0.5rem 0 0.5rem 0;
    width: 3rem;
    height: 3rem;
    z-index: -1;
  }
  .dealCard.restaurant .hd_dealName-wrap .restaurant-rank:not(.new):after {
    color: var(--white);
  }
  .dealCard.restaurant .hd_dealName-wrap .restaurant-rank:not(.new) span {
    color: var(--white);
  }
  .dealCard.restaurant .hd_dealName-wrap .restaurant-rank:not(.new) .ray {
    background-color: #BA9D59;
  }
  .dealCard.restaurant .hd_dealName-wrap .restaurant-rank.new .count {
    position: absolute;
    left: 0.625rem;
    top: 0.625rem;
    font-size: var(--text-size-sm);
    padding: 0;
    border-radius: 0.5rem 0 0.5rem 0;
    height: 2.25rem;
    width: 3rem;
    z-index: 1;
  }
  .dealCard.restaurant .hd_dealDetails-wrap {
    row-gap: 1.25rem;
  }
  .dealCard.restaurant .restaurant-week {
    margin: 0.125rem 0 0 -18.325rem;
    width: calc(100% + 19rem);
  }
  .dealCard.restaurant .restaurant-week li > div.day, .dealCard.restaurant .restaurant-week li > div.date {
    line-height: auto;
    width: auto;
    height: 25%;
  }
}
#hotels-wrapper {
  display: flex;
  flex-direction: column;
  row-gap: 3rem;
  margin: 0;
  width: 100%;
}
#hotels-wrapper:empty {
  display: none;
}

.hotelCard__2024 .hd_dealName-wrap {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
.hotelCard__2024 .hd_dealName-wrap:has(.hd_dealRating_2020) {
  row-gap: 0.375rem;
}
.hotelCard__2024 .hd_dealName-wrap .rankName-wrapper {
  padding-bottom: 0.25rem;
}
.hotelCard__2024 .hd_dealName-wrap .hd_dealRating_2020 {
  padding: 0;
}
.hotelCard__2024 .hd_dealName-wrap .property-details {
  display: flex;
  column-gap: 0.5rem;
  order: 2;
  width: fit-content;
}
.hotelCard__2024 .hd_dealName-wrap .property-details div {
  display: flex;
  align-items: center;
  font-size: var(--text-size-3xs);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-500);
  padding: 0 0.5rem 0 0.375rem;
  border-radius: 0.25rem;
  background-color: var(--cool-50);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  width: fit-content;
  height: 1.25rem;
  max-width: 100%;
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-self: stretch;
}
.hotelCard__2024 .hd_dealName-wrap .property-details div .material-symbols-outlined {
  font-size: var(--text-size-sm);
  margin: -0.0625rem 0.1875rem 0 0;
}
.hotelCard__2024 .hd_dealDetails-wrap {
  align-items: flex-start;
  grid-template-columns: 1fr auto;
  row-gap: 0;
  padding: 1rem;
}
.hotelCard__2024 .hd_dealDetails-wrap .room-and-amenities-wrap {
  display: flex;
  flex-direction: column;
  row-gap: 0.625rem;
  padding-bottom: 1rem;
  border-bottom: 0.0625rem solid var(--cool-100);
  margin-bottom: 0.75rem;
}
.hotelCard__2024 .hd_dealDetails-wrap .room-and-amenities-wrap .roomType {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-600);
}
.hotelCard__2024 .hd_dealDetails-wrap .room-and-amenities-wrap .amenities-list {
  display: flex;
  column-gap: 0.3125rem;
  list-style: none;
}
.hotelCard__2024 .hd_dealDetails-wrap .room-and-amenities-wrap .amenities-list li {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--cool-400);
  border-radius: 0.1875rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  width: 1.75rem;
  height: 1.75rem;
}
.hotelCard__2024 .hd_dealDetails-wrap .room-and-amenities-wrap .amenities-list li:nth-child(n+7) {
  display: none;
}
.hotelCard__2024 .hd_dealDetails-wrap .room-and-amenities-wrap .amenities-list li span {
  position: relative;
  font-size: var(--text-size-lg);
}
.hotelCard__2024 .hd_dealDetails-wrap .hd_dealPrice strong, .hotelCard__2024 .hd_dealDetails-wrap .hd_dealPrice .offer-price {
  flex-wrap: nowrap;
}
.hotelCard__2024 .hd_dealDetails-wrap .hd_dealPrice strong span, .hotelCard__2024 .hd_dealDetails-wrap .hd_dealPrice .offer-price span {
  color: var(--neutral-500);
  margin: 0 0.375rem 0.25rem 0;
}
.hotelCard__2024 .hd_dealDetails-wrap .hd_dealPrice strong span:before, .hotelCard__2024 .hd_dealDetails-wrap .hd_dealPrice .offer-price span:before {
  display: none;
}
.hotelCard__2024 .hd_dealDetails-wrap .hd_dealPrice em {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: 0.1875rem;
  font-size: var(--text-size-xs);
  color: green;
  margin-bottom: 0.3125rem;
}
.hotelCard__2024 .hd_dealDetails-wrap .hd_dealPrice em .material-symbols-outlined {
  font-size: var(--text-size-lg);
}
.hotelCard__2024 .hd_dealDetails-wrap .hd_dealPrice .nights-and-guests {
  position: static;
  font-size: var(--text-size-3xs);
  line-height: 1;
  font-weight: var(--text-weight-normal);
  padding: 0.1875rem 0;
  width: auto;
}
.hotelCard__2024 .hd_dealDetails-wrap .hd_dealPrice .taxes-disclaimer {
  position: static;
  font-size: var(--text-size-4xs);
  line-height: 1;
  font-weight: var(--text-weight-normal);
  color: var(--neutral-500);
  letter-spacing: 0.00625rem;
  margin: 0.1875rem 0 0.3125rem;
  width: auto;
}

@media only screen and (min-width: 360px) {
  .hotelCard__2024 .hd_dealDetails-wrap .room-and-amenities-wrap {
    padding: 0;
    border: none;
    margin: 0;
  }
  .hotelCard__2024 .hd_dealDetails-wrap .room-and-amenities-wrap .roomType {
    max-width: 15rem;
  }
}
@media only screen and (min-width: 768px) {
  .hotelCard__2024 {
    row-gap: 0.625rem;
  }
  .hotelCard__2024 .hd_dealDetails-wrap {
    align-items: flex-end;
    column-gap: 1.25rem;
    padding: 0;
  }
  .hotelCard__2024 .hd_dealDetails-wrap .room-and-amenities-wrap {
    row-gap: 0.625rem;
    margin-bottom: 0.3125rem;
  }
  .hotelCard__2024 .hd_dealDetails-wrap .room-and-amenities-wrap .roomType {
    font-size: var(--text-size-sm);
    line-height: var(--text-leading-sm);
    max-width: 15rem;
  }
}
/*
|===============================================================================
| Deal Card Component - Brian Standard Property Ordering
|===============================================================================
|
| Refactored to follow Brian's CSS Property Ordering Standard:
| Positioning → Layout → Typography → Background → Padding → Border → Margin → Dimensions → Effects → Behavior
|
| A flexible, responsive card component for displaying deal information.
| Supports multiple product types: Activities (default), Restaurants, Hotels.
|
*/
/*
|-------------------------------------------------------------------------------
| Deal Card Base Component
|-------------------------------------------------------------------------------
*/
.deal-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "header header" "image image" "details details";
  max-width: 64rem;
}
.deal-card--map-view {
  max-width: 360px; /* Map card fixed wdth size */
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) {
    grid-template-columns: 1fr 1.5fr 1fr;
    grid-template-areas: "image header header" "image details details";
    column-gap: 1rem;
    row-gap: 1rem;
    padding: 0.75rem;
    border: var(--box-light);
    border-bottom: var(--box-heavy);
    border-radius: var(--rounded-md);
  }
}
.deal-card {
  /*
  |---------------------------------------------------------------------------
  | Deal Card Body - Semantic Container
  |---------------------------------------------------------------------------
  */
}
.deal-card .deal-card__body {
  display: contents;
}

/*
|-------------------------------------------------------------------------------
| Deal Card Image Section
|-------------------------------------------------------------------------------
*/
.deal-card__image {
  grid-area: image;
  overflow: hidden;
  border-radius: var(--rounded-md) var(--rounded-md) 0 0;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__image {
    padding: 0;
    border: none;
    border-radius: var(--rounded-sm);
    width: 17.5rem;
  }
}

.deal-card__image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}

/*
|-------------------------------------------------------------------------------
| Deal Card Header Section
|-------------------------------------------------------------------------------
*/
.deal-card__header {
  display: flex;
  flex-direction: column;
  grid-area: header;
  gap: 0.675rem;
  margin-bottom: 0.75rem;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__header {
    margin-bottom: 0;
  }
}

/*
|-------------------------------------------------------------------------------
| Deal Card Title
|-------------------------------------------------------------------------------
*/
.deal-card__title {
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  line-height: var(--leading-5);
  margin-right: 5%;
}
@media screen and (min-width: 768px) {
  .deal-card__title {
    font-size: var(--text-lg);
    line-height: var(--leading-6);
  }
}
.deal-card__title h1, .deal-card__title h2, .deal-card__title h3, .deal-card__title h4, .deal-card__title h5, .deal-card__title h6 {
  margin: 0;
}

/*
|-------------------------------------------------------------------------------
| Star Rating Component Integration
|-------------------------------------------------------------------------------
*/
.deal-card__header .stars-wrapper {
  padding: 0.5rem 0.25rem 0.5rem 0;
  border-top: 0.0625rem solid var(--cool-200);
  border-bottom: 0.0625rem solid var(--cool-200);
  margin-right: 0.5rem;
}

/*
|-------------------------------------------------------------------------------
| Places ot Stay - Property Details Section
|-------------------------------------------------------------------------------
*/
.property-details {
  border-top: 0.0625rem solid var(--cool-200);
  margin-right: 0.5rem;
}
.property-details .visual-icon {
  color: var(--cool-600);
  margin-right: 0.3125rem;
}
.property-details__list {
  display: grid;
  grid-template-columns: 1fr 0.75fr;
  grid-template-areas: "rating-type rating-user" "rating-price rating-user" "distance distance";
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .property-details__list {
    grid-template-columns: 1.5fr 0.75fr;
  }
}

.property-details__item--rating-type {
  grid-area: rating-type;
}
.property-details__item--rating-price {
  grid-area: rating-price;
}
.property-details__item--rating-user {
  grid-area: rating-user;
  display: flex;
  justify-content: flex-end;
  text-align: right;
}
.property-details__item--rating-user .user-review {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.property-details__item--rating-user .user-review__rating {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: var(--font-bold);
  color: var(--white);
  background-color: var(--yellow-700);
  border-radius: 0.5rem;
}
.property-details__item--rating-user .user-review__descriptive {
  font-weight: var(--font-bold);
  font-style: italic;
}
.property-details__item--rating-user .user-review__count {
  font-size: var(--text-2xs);
  line-height: var(--leading-2);
}
.property-details__item--distance {
  grid-area: distance;
  max-width: 16rem;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .property-details__item--distance {
    max-width: 20rem;
  }
}

.property-details__content {
  display: flex;
  align-items: center;
  gap: 0.1875rem;
}
.property-details__content--reverse {
  flex-direction: row-reverse;
}
.property-details__group {
  display: flex;
}
.property-details__group--column {
  flex-direction: column;
  gap: 0.3125rem;
}
.property-details__group--row {
  flex-direction: row;
  column-gap: 0.1875rem;
}
.property-details__price-indicators {
  display: flex;
  align-items: center;
}
.property-details__price-indicators .visual-icon {
  color: var(--gray-300);
  margin-right: 0;
}
.property-details__price-indicators .visual-icon--active {
  color: var(--green-700);
}
.property-details--card {
  padding: 0.5rem 0.25rem 0.5rem 0;
  border-bottom: 0.0625rem solid var(--cool-200);
}
.property-details--card .visual-icon {
  font-size: var(--text-xl);
  margin-right: 0.3125rem;
}
.property-details--card .property-details__list {
  font-size: var(--text-xs);
  line-height: 1.25;
  row-gap: 0.25rem;
}
.property-details--card .property-details__item--rating-user {
  align-items: start;
  margin-top: 0.3125rem;
}
.property-details--card .property-details__item--rating-user .user-review__rating {
  font-size: var(--text-base);
  margin-left: 0.375rem;
  width: 2.25rem;
  height: 2.25rem;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .property-details--card .property-details__item--rating-user .user-review__rating {
    font-size: var(--text-lg);
  }
}

.property-details--card .property-details__item--rating-user .user-review__descriptive {
  font-size: var(--text-sm);
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .property-details--card .property-details__item--rating-user .user-review__descriptive {
    font-size: var(--text-base);
  }
}

.property-details--card .property-details__price-indicators .visual-icon {
  font-size: var(--text-3xl);
  margin-right: 0;
}
.property-details--listing {
  padding: 0.5rem 0.25rem 0 0;
  margin-bottom: -0.875rem;
}
.property-details--listing .visual-icon {
  font-size: var(--text-2xl);
  margin-right: 0.5rem;
}
.property-details--listing .property-details__list {
  font-size: var(--text-xs);
  line-height: var(--leading-4);
  row-gap: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .property-details--listing .property-details__list {
    font-size: var(--text-sm);
    line-height: var(--leading-5);
  }
}
.property-details--listing .property-details__item--rating-user {
  align-items: center;
  margin-top: 0;
}
.property-details--listing .property-details__item--rating-user .user-review__rating {
  font-size: var(--text-lg);
  margin-left: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
}
@media screen and (min-width: 768px) {
  .property-details--listing .property-details__item--rating-user .user-review__rating {
    font-size: var(--text-xl);
  }
}
.property-details--listing .property-details__price-indicators .visual-icon {
  font-size: var(--text-4xl);
  margin-right: 0;
}

/*
|-------------------------------------------------------------------------------
| Deal Card Info Section
|-------------------------------------------------------------------------------
*/
.deal-card__info {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-area: details;
  gap: 1rem;
  padding: 1.125rem 1rem 0.875rem 0.75rem;
  border-right: var(--box-light);
  border-bottom: var(--box-heavy);
  border-left: var(--box-light);
  border-radius: 0 0 var(--rounded-md) var(--rounded-md);
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__info {
    padding: 0 0.75rem 0 0;
    border: none;
    border-radius: 0;
  }
}

.deal-card__info:has(.deal-card__property-description) {
  align-items: start;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__info:has(.deal-card__property-description) {
    gap: 3rem;
  }
}

/*
|-------------------------------------------------------------------------------
| Deal Card Details Grid
|-------------------------------------------------------------------------------
*/
.deal-card__details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
  gap: 0.5rem;
  margin-right: auto;
}
.deal-card__details .deal-card__detail-item {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-3xs);
  text-align: center;
  border-radius: var(--rounded-xs);
  width: 100%;
  height: 3rem;
  box-shadow: 0 0 0 0.0625rem var(--blue-100);
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__details .deal-card__detail-item {
    font-size: var(--text-2xs);
    width: 6.5rem;
    height: 3.5rem;
  }
}

.deal-card__details .deal-card__detail-item:first-of-type {
  display: grid;
  justify-content: flex-start;
  grid-column: 1/-1;
  font-size: 0.6875rem;
  font-weight: var(--font-bold);
  text-align: left;
  background-color: transparent;
  column-gap: 0.1875rem;
  row-gap: 0.0625rem;
  width: auto;
  height: auto;
  box-shadow: none;
}
@media screen and (min-width: 390px) {
  .deal-card__details .deal-card__detail-item:first-of-type {
    grid-template-columns: auto 1fr;
  }
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__details .deal-card__detail-item:first-of-type {
    font-size: var(--text-xs);
    gap: 0.1875rem;
  }
}

.deal-card__details .deal-card__detail-item:first-of-type time {
  display: contents;
}
.deal-card__details .deal-card__detail-item:first-of-type dd {
  padding: 0;
  align-items: flex-start;
}
.deal-card__details .deal-card__detail-item:first-of-type dd.deal-card__dates-note {
  font-weight: var(--font-normal);
  font-style: italic;
  grid-column: 1/-1;
  padding: 0.25rem 0;
}
.deal-card__details .deal-card__detail-item:has(.dealDiscount-1) {
  color: var(--black);
  background-color: var(--deal-1);
  box-shadow: none;
}
.deal-card__details .deal-card__detail-item:has(.dealDiscount-2) {
  color: var(--white);
  background-color: var(--deal-2);
  box-shadow: none;
}
.deal-card__details .deal-card__detail-item:has(.dealDiscount-3) {
  color: var(--white);
  background-color: var(--deal-3);
  box-shadow: none;
}
.deal-card__details .deal-card__detail-item dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: var(--leading-3);
  padding: 0.5rem;
}
.deal-card__details .deal-card__detail-item dd span {
  font-size: var(--text-base);
  font-weight: var(--font-bold);
  line-height: var(--leading-5);
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__details .deal-card__detail-item dd span {
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    line-height: var(--leading-6);
  }
}

/*
|-------------------------------------------------------------------------------
| Places ot Stay - Property Description
|-------------------------------------------------------------------------------
*/
.deal-card__property-description {
  font-size: var(--text-xs);
  line-height: var(--leading-4);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__property-description {
    font-size: var(--text-sm);
    line-height: var(--leading-5);
    -webkit-line-clamp: 3;
  }
}

/*
|-------------------------------------------------------------------------------
| Deal Card Pricing Section
|-------------------------------------------------------------------------------
*/
.deal-card__pricing {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 0.125rem;
}
.deal-card__price-item {
  display: grid;
  justify-content: end;
  grid-template-rows: auto auto;
  grid-template-areas: "prices-from prices-from" "local-currency deal-price";
  gap: 0 0.375rem;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__price-item {
    grid-template-areas: "prices-from deal-price" "local-currency deal-price";
    gap: 0.125rem 0.5rem;
  }
}

.deal-card__price-from {
  grid-area: prices-from;
  font-size: var(--text-2xs);
  line-height: var(--leading-6);
  text-align: right;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__price-from {
    line-height: 1;
  }
}

.deal-card__price {
  display: contents;
}
.deal-card__amount {
  display: flex;
  grid-area: deal-price;
  font-size: var(--text-4xl);
  font-weight: var(--font-bold);
  line-height: var(--leading-6);
  align-items: flex-start;
  gap: 0.125rem;
}
.deal-card__amount sup {
  font-size: var(--text-sm);
  line-height: var(--leading-3);
  border-bottom: 0.125rem solid currentColor;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__amount {
    font-size: var(--text-4xl);
    line-height: var(--leading-7);
  }
  .deal-card:not(.deal-card--map-view) .deal-card__amount sup {
    font-size: var(--text-lg);
    line-height: var(--leading-5);
  }
}

.deal-card__currency-marker {
  grid-area: local-currency;
  font-size: var(--text-3xs);
  font-weight: var(--font-semibold);
  line-height: var(--leading-4);
  text-align: right;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__currency-marker {
    font-size: var(--text-2xs);
    line-height: var(--leading-3);
    justify-content: flex-end;
    align-items: flex-end;
  }
}

.deal-card__savings-item, .deal-card__duration-item {
  text-align: right;
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card__savings-item, .deal-card__duration-item {
    font-size: var(--text-sm);
  }
}

.deal-card__savings-item {
  font-style: italic;
  margin-top: 0.3125rem;
}
.deal-card__duration-item {
  margin-top: 0.3125rem;
}
.deal-card__taxes {
  font-size: var(--text-2xs);
  font-weight: var(--font-normal);
  text-align: right;
}
.deal-card__cancellation-item {
  display: flex;
  justify-content: flex-end;
}
.deal-card__cancellation {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.3125rem;
  font-size: var(--text-2xs);
  color: var(--white);
  background: var(--green-700);
  padding: 0.1875rem 0.5rem 0.1875rem 0.3125rem;
  border-radius: var(--rounded-2xs);
  margin-top: 0.375rem;
}

/*
|-------------------------------------------------------------------------------
| CTA Button (Hidden by Default)
|-------------------------------------------------------------------------------
*/
.deal-card__cta-button {
  display: none;
}

/*
|===============================================================================
| Deal Card State Modifiers
|===============================================================================
*/
/*
|-------------------------------------------------------------------------------
| Sold Out State
|-------------------------------------------------------------------------------
*/
.deal-card--sold-out .deal-card__body .deal-card__detail-item:not(:first-of-type) {
  color: var(--slate-600);
}
.deal-card--sold-out .deal-card__body .deal-card__detail-item:has(.deal-card__discount) .deal-card__discount span {
  text-decoration: line-through;
}
.deal-card--sold-out .deal-card__body .deal-card__pricing {
  display: none;
}
.deal-card--sold-out .deal-card__body .deal-card__cta-button {
  display: block;
}

/*
|-------------------------------------------------------------------------------
| Restaurants – Week Availability (Hidden by Default)
|-------------------------------------------------------------------------------
*/
.deal-card__week-availability-container {
  display: none;
}

/*
|-------------------------------------------------------------------------------
| Restaurants – Product Type
|-------------------------------------------------------------------------------
*/
.deal-card--restaurant {
  grid-template-areas: "header header" "image image" "details details" "restaurant-week restaurant-week";
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card--restaurant {
    grid-template-areas: "image header header" "image details details" "restaurant-week restaurant-week restaurant-week";
  }
}

.deal-card--restaurant .deal-card__info {
  padding-bottom: 0;
  border-bottom: none;
  border-radius: 0;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card--restaurant .deal-card__info {
    box-shadow: none;
  }
}

.deal-card--restaurant .deal-card__info .deal-card__details .deal-card__detail-item .deal-card__dates-note {
  display: none;
}
.deal-card--restaurant .deal-card__info .deal-card__pricing dd.deal-card__price .deal-card__price-from {
  display: none;
}
.deal-card--restaurant .deal-card__week-availability-container {
  display: block;
  grid-area: restaurant-week;
  padding: 0.5rem 0.75rem 0.6875rem;
  border-radius: 0 0 var(--rounded-md) var(--rounded-md);
  box-shadow: inset 0.0625rem 0 0 var(--blue-100), inset -0.0625rem 0 0 var(--blue-100), inset 0 -0.1875rem 0 var(--blue-100);
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card--restaurant .deal-card__week-availability-container {
    padding: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

.deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border: var(--box-light);
  border-radius: var(--rounded-sm);
  margin: 0.5rem 0 0.1875rem;
  overflow: hidden;
}
.deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item {
  display: grid;
  grid-template-rows: 2.25rem 1fr;
  font-size: var(--text-2xs);
  line-height: var(--leading-3);
  color: var(--blue-950);
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item {
    font-size: var(--text-xs);
  }
}

.deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item dt, .deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item dd {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  column-gap: 0.25rem;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item dt, .deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item dd {
    flex-direction: row;
  }
}

.deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item dd {
  font-size: var(--text-3xs);
  flex-direction: column;
  padding: 0.3875rem 0 0.1875rem;
  gap: 0.125rem;
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item dd {
    font-size: var(--text-2xs);
  }
}

.deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item dd.status--open {
  color: var(--white);
  background-color: var(--blue-950);
  box-shadow: inset -0.0625rem 0 0 rgba(255, 255, 255, 0.25);
}
.deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item dd.status--sold {
  color: var(--blue-950);
  background-color: var(--sky-50);
  box-shadow: inset -0.0625rem 0.0625rem 0 var(--slate-200);
}
.deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item dd .deal-card__status-icon {
  font-size: var(--text-xl);
}
.deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item time {
  font-size: var(--text-3xs);
}
@media screen and (min-width: 768px) {
  .deal-card:not(.deal-card--map-view) .deal-card--restaurant .deal-card__week-availability-container .deal-card__week-availability .deal-card__week-day-item time {
    font-size: var(--text-xs);
  }
}

/*
|-------------------------------------------------------------------------------
| Places ot Stay -  Product Type
|-------------------------------------------------------------------------------
*/
.deal-card--hotels {
  /* Hotel-specific styles to be added */
}

.promo-blocks--wrapper {
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
.promo-blocks__tiles-list {
  display: flex;
  gap: 1.25rem;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  width: max-content;
}
@media only screen and (min-width: 992px) {
  .promo-blocks__tiles-list {
    flex-direction: column;
  }
}
.promo-blocks__tiles-list li {
  border-radius: 0.25rem;
  width: 15rem;
  height: 12.5rem;
  overflow: hidden;
}
.promo-blocks__tiles-list li a {
  position: relative;
  display: block;
  line-height: 0;
  color: var(--white);
  transition: all 0.2s ease;
}
.promo-blocks__tiles-list li a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.promo-blocks__tiles-list li a:has(.pt_text):before {
  position: absolute;
  content: "";
  width: 15rem;
  height: 12.5rem;
}
.promo-blocks__tiles-list li a:has(.pt_text):has(.top):before {
  background: linear-gradient(to bottom, rgba(var(--black-rgb), var(--alpha3)) 0, rgba(var(--white-rgb), 0) 100%);
}
.promo-blocks__tiles-list li a:has(.pt_text):has(.bottom):before {
  background: linear-gradient(to top, rgba(var(--black-rgb), var(--alpha3)) 0, rgba(var(--white-rgb), 0) 100%);
}
.promo-blocks__tiles-list li .pt_text {
  position: absolute;
  display: grid;
  gap: 0.25rem;
  line-height: 1.35;
  text-align: center;
  padding: 0.75rem;
  width: 100%;
  box-sizing: border-box;
}
.promo-blocks__tiles-list li .pt_text.top {
  top: 0;
  bottom: initial;
}
.promo-blocks__tiles-list li .pt_text.bottom {
  top: initial;
  bottom: 0;
}
.promo-blocks__tiles-list li .pt_text h3 {
  font-size: var(--text-size-sm);
}

.dealTypes {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-700);
  background: var(--cool-50);
  border-radius: 0.625rem 0.625rem 0 0;
  margin: 0;
  width: 100%;
  height: 3rem;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200);
  box-sizing: border-box;
  cursor: pointer;
}
.dealTypes.category-filters {
  margin-top: 2rem;
}
.dealTypes li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  box-shadow: inset -0.0625rem 0 0 var(--cool-200), inset 0 -0.0625rem 0 var(--cool-200);
  cursor: pointer;
}
.dealTypes li.last {
  display: none;
}
.dealTypes li:first-of-type {
  border-radius: 0.625rem 0 0 0;
}
.dealTypes li:nth-last-of-type(2) {
  border-radius: 0 0.625rem 0 0;
}
.dealTypes li.active {
  background: var(--white);
  box-shadow: inset 0 -0.0625rem 0 var(--white);
}
.dealTypes li.active:first-of-type {
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200);
}
.dealTypes li.active:nth-of-type(even) {
  border-radius: 0;
  box-shadow: inset -0.0625rem 0 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200);
}
.dealTypes li.active:nth-last-of-type(2) {
  border-radius: 0 0.625rem 0 0;
  box-shadow: inset -0.0625rem 0 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200);
}
.dealTypes li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--cool-600);
  line-height: 1;
  width: 100%;
  height: 100%;
}
.dealTypes li#campers-tab {
  position: relative;
}
.dealTypes li#campers-tab:before {
  position: absolute;
  top: -0.75rem;
  right: -0.3125rem;
  content: "";
  background-image: url("https://bookmestatic.net.nz/things-to-do/images/new-speech.svg");
  background-repeat: no-repeat no-repeat;
  background-position: center center;
  background-size: cover;
  width: 2.25rem;
  height: 1.9125rem;
}
@media only screen and (min-width: 768px) {
  .dealTypes li#campers-tab:before {
    top: -0.5rem;
    right: calc(50% - 4.5rem);
  }
}

.dealFilters {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-size-xs);
  background-color: var(--white);
  list-style-type: none;
  padding: 1.25rem 1.25rem 2rem;
  border-radius: 0 0 0.625rem 0.625rem;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
}
.dealFilters li {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  max-width: 50%;
  height: 3rem;
  box-shadow: inset 0 -0.125rem 0 var(--cool-200);
}
.dealFilters li a {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 0.3125rem;
  color: var(--cool-500);
}
.dealFilters li a i {
  font-size: var(--text-size-xl);
}
.dealFilters li.active {
  box-shadow: inset 0 -0.125rem 0 0 var(--cool-500);
}
.dealFilters li.hd_map {
  display: none;
}

.dealSort {
  display: none;
}

@media only screen and (min-width: 768px) {
  .dealTypes {
    font-size: var(--text-size-sm);
    height: 4rem;
  }
  .dealFilters li.hd_map {
    display: flex;
  }
}
.trust-index--mini-review::before {
  display: block;
  content: "Real people rate Bookme!";
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-500);
  text-align: center;
  margin: 2rem 0 0.25rem;
}
@media only screen and (min-width: 768px) {
  .trust-index--mini-review::before {
    font-size: var(--text-size-sm);
    font-weight: var(--text-weight-semibold);
  }
}

.bookme-explainer--introduction {
  display: flex;
  flex-flow: column;
  gap: 0.25rem;
  text-align: center;
  padding: 0 1rem 0;
  border-top: 0.0625rem solid var(--cool-200);
  margin: 1rem 0 2rem;
  max-width: 768px;
}
@media only screen and (min-width: 768px) {
  .bookme-explainer--introduction {
    margin: 1.5rem auto 0;
  }
}
.bookme-explainer--introduction p {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-medium);
}
@media only screen and (min-width: 768px) {
  .bookme-explainer--introduction p {
    font-size: var(--text-size-lg);
    line-height: var(--text-leading-lg);
    font-weight: var(--text-weight-semibold);
  }
}

.big-head {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-lg);
  font-weight: var(--text-weight-extrabold);
  color: var(--cool-700);
  text-align: center;
  margin: 1.75rem 0 0.25rem;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .big-head {
    font-size: var(--text-size-2xl);
    line-height: var(--text-leading-2xl);
    margin: 2.25rem 0 0.5rem;
  }
}

.reserve-table {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 1rem;
  background-color: var(--white);
  padding: 0.75rem 1rem 1.5rem;
  border-top: none;
  border-radius: 0.625rem;
  margin: 2.5rem auto 0;
  max-width: 24.5rem;
  box-sizing: border-box;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
}
.reserve-table h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  text-transform: uppercase;
  background-color: var(--cool-600);
  padding: 0.0625rem 0 0;
  border-radius: 1rem;
  margin: 0;
  width: 100%;
  height: 2rem;
}
.reserve-table .reservation-availability {
  position: relative;
  display: grid;
  background-color: var(--cool-50);
  padding: 1.25rem 0.625rem;
  width: calc(100% - 1.25rem);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-100);
}
.reserve-table .reservation-availability .service-wrapper:has(.heading) .faux-grid:not(.heading) {
  display: none;
  opacity: 0;
}
.reserve-table .reservation-availability .service-wrapper:has(.heading):has(input:checked) label {
  color: var(--neutral-700);
  border-bottom: none;
}
.reserve-table .reservation-availability .service-wrapper:has(.heading):has(input:checked) label span {
  display: none;
}
.reserve-table .reservation-availability .service-wrapper:has(.heading):has(input:checked) .faux-grid:not(.heading) {
  display: grid;
  margin-bottom: 1.25rem;
  opacity: 1;
}
.reserve-table .reservation-availability .faux-grid {
  display: grid;
  align-items: flex-start;
  grid-gap: 0.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
  transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.reserve-table .reservation-availability .faux-grid.rest-days-block:before {
  content: "Booking Date";
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  margin-bottom: 0.625rem;
}
.reserve-table .reservation-availability .faux-grid.heading,
.reserve-table .reservation-availability .faux-grid .heading {
  justify-content: center;
  margin: 0 auto;
}
.reserve-table .reservation-availability .faux-grid.heading h3,
.reserve-table .reservation-availability .faux-grid .heading h3 {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  margin: 0 0 1rem;
}
.reserve-table .reservation-availability .faux-grid.heading .faux-select,
.reserve-table .reservation-availability .faux-grid .heading .faux-select {
  position: relative;
  display: flex;
  color: var(--cool-500);
  background-color: var(--white);
  padding: 0 0.3125rem 0 0.8125rem;
  border-radius: 1.25rem;
  margin: 2rem 0 0;
  min-width: fit-content;
  height: 2rem;
  box-shadow: 0.25rem 0.25rem 0.3125rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.3125rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--neutral-100);
  transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.reserve-table .reservation-availability .faux-grid.heading .faux-select label,
.reserve-table .reservation-availability .faux-grid .heading .faux-select label {
  display: flex;
  align-items: center;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-medium);
  margin-bottom: 0;
}
.reserve-table .reservation-availability .faux-grid.heading .faux-select label .today,
.reserve-table .reservation-availability .faux-grid .heading .faux-select label .today {
  display: inline-block;
  font-size: var(--text-size-base);
  color: var(--cool-400);
  padding-left: 0.625rem;
  margin-left: auto;
}
.reserve-table .reservation-availability .faux-grid.heading .faux-select label .chevron,
.reserve-table .reservation-availability .faux-grid .heading .faux-select label .chevron {
  display: inline-block;
  font-size: var(--text-size-base);
  color: var(--cool-400);
}
.reserve-table .reservation-availability .faux-grid.heading .faux-select input,
.reserve-table .reservation-availability .faux-grid .heading .faux-select input {
  position: absolute;
  top: 0;
  left: 0;
  color: transparent;
  background: transparent;
  padding: 0;
  border-radius: 0;
  width: 100%;
  height: 100%;
  min-height: initial;
  box-shadow: none;
  cursor: pointer;
}
.reserve-table .reservation-availability .faux-grid.heading .faux-select:hover,
.reserve-table .reservation-availability .faux-grid .heading .faux-select:hover {
  background-color: var(--white);
  box-shadow: inset 0 0 0 0.125rem var(--cool-400), 0.25rem 0.25rem 0.3125rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.3125rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--neutral-100);
}
.reserve-table .reservation-availability .faux-grid.heading .faux-accordion,
.reserve-table .reservation-availability .faux-grid .heading .faux-accordion {
  width: 100%;
}
.reserve-table .reservation-availability .faux-grid.heading .faux-accordion input,
.reserve-table .reservation-availability .faux-grid .heading .faux-accordion input {
  display: none;
  position: static;
  appearance: checkbox;
  -webkit-appearance: checkbox;
}
.reserve-table .reservation-availability .faux-grid.heading .faux-accordion input:not(:checked) + label:after,
.reserve-table .reservation-availability .faux-grid .heading .faux-accordion input:not(:checked) + label:after {
  content: "expand_more";
  font-family: "Material Icons";
  font-style: normal;
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-lg);
  font-weight: normal;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}
.reserve-table .reservation-availability .faux-grid.heading .faux-accordion label,
.reserve-table .reservation-availability .faux-grid .heading .faux-accordion label {
  position: static;
  display: flex;
  justify-content: center;
  grid-gap: 0.1875rem;
  align-items: center;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  padding: 0;
  margin-bottom: 0.625rem;
  width: 100%;
  cursor: pointer;
}
.reserve-table .reservation-availability .faux-grid.heading .faux-accordion label:before,
.reserve-table .reservation-availability .faux-grid .heading .faux-accordion label:before {
  content: "Book for ";
}
.reserve-table .reservation-availability .faux-grid.heading.deal-description,
.reserve-table .reservation-availability .faux-grid .heading.deal-description {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1.25rem 0 1rem;
  border-top: 0.0625rem solid var(--cool-200);
  border-bottom: 0.0625rem solid var(--cool-200);
  margin: 0 0 1.25rem;
}
.reserve-table .reservation-availability .faux-grid.heading.deal-description h3,
.reserve-table .reservation-availability .faux-grid .heading.deal-description h3 {
  font-size: var(--text-size-sm);
  margin: 0;
}
.reserve-table .reservation-availability .faux-grid.heading.deal-description .deal,
.reserve-table .reservation-availability .faux-grid .heading.deal-description .deal {
  display: flex;
  justify-content: center;
  justify-self: center;
  align-items: center;
  font-size: var(--text-size-base);
  font-weight: var(--text-weight-semibold);
  padding: 0 1.5rem;
  border-radius: 1.25rem;
  width: fit-content;
}
.reserve-table .reservation-availability .faux-grid.heading.deal-description .deal.deal-20,
.reserve-table .reservation-availability .faux-grid .heading.deal-description .deal.deal-20 {
  color: var(--black);
  background-color: var(--warm-300);
}
.reserve-table .reservation-availability .faux-grid.heading.deal-description .deal.deal-30, .reserve-table .reservation-availability .faux-grid.heading.deal-description .deal.deal-40,
.reserve-table .reservation-availability .faux-grid .heading.deal-description .deal.deal-30,
.reserve-table .reservation-availability .faux-grid .heading.deal-description .deal.deal-40 {
  color: var(--white);
  background-color: var(--warm-400);
}
.reserve-table .reservation-availability .faux-grid.heading.deal-description .deal.deal-50,
.reserve-table .reservation-availability .faux-grid .heading.deal-description .deal.deal-50 {
  color: var(--white);
  background-color: var(--warm-500);
}
.reserve-table .reservation-availability .faux-grid .faux-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 0.25rem;
  margin: 0;
  width: 100%;
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  grid-gap: 0.25rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  color: var(--cool-500);
  text-align: center;
  background-color: var(--white);
  border-radius: 0.25rem;
  width: 100%;
  min-height: 2.75rem;
  max-height: 5.25rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell h4 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 0.125rem;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-normal);
  width: 100%;
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell span {
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-2xs);
  padding: 0 0 0 0.3125rem;
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell span.price_desc {
  color: var(--warm-400);
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell .deal {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: var(--text-weight-semibold);
  border-radius: 1.25rem;
  width: calc(100% - 1.25rem);
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell .deal.deal-20 {
  color: var(--black);
  background-color: var(--warm-300);
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell .deal.deal-30, .reserve-table .reservation-availability .faux-grid .faux-row .cell .deal.deal-40 {
  color: var(--white);
  background-color: var(--warm-400);
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell .deal.deal-50 {
  color: var(--white);
  background-color: var(--warm-500);
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell:hover {
  color: var(--white);
  background-color: var(--cool-500);
  transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 0.25rem 0.3125rem 0 rgba(0, 0, 0, 0.14), 0 0.0625rem 0.625rem 0 rgba(0, 0, 0, 0.12), 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell:hover span.price_desc {
  color: var(--white);
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell.fully-booked, .reserve-table .reservation-availability .faux-grid .faux-row .cell.closed {
  background-color: var(--cool-100);
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell.fully-booked:hover, .reserve-table .reservation-availability .faux-grid .faux-row .cell.closed:hover {
  color: var(--cool-500);
  transition: none;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  cursor: initial;
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell.selected {
  box-shadow: inset 0 0 0 0.125rem var(--cool-400);
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell.fully-booked h4::after {
  content: "Fully Booked";
  font-size: var(--text-size-2xs);
}
.reserve-table .reservation-availability .faux-grid .faux-row .cell.closed h4::after {
  content: "Closed";
  font-size: var(--text-size-2xs);
}
.reserve-table .reservation-availability .faux-grid.stepper {
  margin-bottom: 2rem;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row {
  grid-column-gap: 0.125rem;
  background-color: var(--white);
  padding: 0.3125rem;
  border-radius: 0.5rem;
  box-shadow: inset 0 0 0 0.125rem var(--cool-200);
  width: calc(100% - 0.625rem);
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell {
  flex-direction: row;
  color: var(--cool-400);
  background: var(--cool-200);
  border-radius: 0;
  min-height: 2.75rem;
  max-height: 2.75rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  transition: none;
  pointer-events: none;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell#peopleSelector {
  border-radius: 0.25rem 0 0 0.25rem;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell#timeSelector, .reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell#timeSelector2 {
  border-radius: 0 0.25rem 0.25rem 0;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell:not(.complete) div, .reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell:not(.complete) span {
  display: none;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell:before {
  font-family: "Material Icons";
  font-style: normal;
  font-size: var(--text-size-2xl);
  line-height: var(--text-leading-2xl);
  font-weight: normal;
  color: var(--cool-400);
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell#peopleSelector:before {
  content: "groups_2";
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell#dateSelector:before {
  content: "today";
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell#timeSelector:before {
  content: "schedule";
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell.active {
  color: var(--white);
  background-color: var(--cool-500);
  box-shadow: none;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell.active:before {
  color: var(--cool-100);
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell.complete {
  justify-content: space-between;
  align-items: flex-start;
  color: var(--white);
  background-color: var(--cool-500);
  padding: 0.5rem 0 0.5rem 0.5rem;
  box-shadow: none;
  pointer-events: initial;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell.complete:before {
  display: none;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell.complete .step-trigger.hide2 {
  display: flex !important;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell .cell-value {
  display: flex;
  flex-direction: column;
  grid-gap: 0.13125rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  text-align: left;
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell .cell-value .faux-label {
  color: transparent;
  height: 0;
}
@media only screen and (min-width: 360px) {
  .reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell .cell-value .faux-label {
    font-size: var(--text-size-3xs);
    color: var(--white);
    height: auto;
  }
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell .cell-value .faux-label + span {
  display: flex;
  align-items: center;
  height: 1.25rem;
}
@media only screen and (min-width: 360px) {
  .reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell .cell-value .faux-label + span {
    height: auto;
  }
}
.reserve-table .reservation-availability .faux-grid.stepper .faux-row .cell .step-trigger {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-base);
  width: 1.25rem;
  height: 100%;
  box-shadow: inset 0.0625rem 0 0 var(--cool-400);
}
.reserve-table .reservation-availability .no-deal {
  background: var(--white);
  padding: 0 1.5rem 3rem;
  border-top: 3px solid var(--cool-200);
  border-bottom: 0.0625rem solid var(--cool-200);
  margin: 2.5rem -1.5rem -2.5rem;
  width: calc(100% + 3rem);
  box-sizing: border-box;
}
.reserve-table .reservation-availability .no-deal .faux-grid {
  grid-gap: 0.25rem;
}
.reserve-table .reservation-availability .no-deal .faux-grid.heading.deal-description {
  padding: 3rem 0 0;
  border: none;
  margin: 0;
}
.reserve-table .reservation-availability .no-deal .faux-grid.heading.deal-description .deal {
  margin-top: 1.75rem;
}
.reserve-table .reservation-availability .formRow + button {
  margin-top: 0.625rem;
}
.reserve-table .reservation-availability .rest-reservation-notice .reservation-type {
  padding: 0.625rem 0;
  border-top: 0.0625rem solid var(--cool-200);
  border-bottom: 0.0625rem solid var(--cool-200);
  margin-bottom: 1.5rem;
}
.reserve-table .reservation-availability .rest-reservation-notice .reservation-type p {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  margin: 0;
}
.reserve-table .reservation-availability .rest-reservation-notice .deal-terms {
  margin-bottom: 1.5rem;
}
.reserve-table .reservation-availability .rest-reservation-notice .deal-terms p {
  font-size: var(--text-size-xs);
  line-height: 1.4;
  margin-bottom: 0.5rem;
}
.reserve-table .reservation-availability .rest-reservation-notice .fauxCheck label {
  font-size: var(--text-size-xs);
}
.reserve-table .reservation-availability .rest-reservation-notice .voucherRedeem #confirm-with-card {
  padding: 0 0 1.25rem;
}
.reserve-table .reservation-availability .rest-reservation-notice .voucherRedeem #confirm-with-card a {
  flex-direction: column;
  font-size: var(--text-size-xs);
  line-height: 1.35;
  text-align: center;
}
.reserve-table .reservation-availability .rest-reservation-notice .voucherRedeem #confirm-with-card a i {
  font-size: var(--text-size-2xl);
  margin-bottom: 0;
}
.reserve-table .reservation-availability .loader-box {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.95);
}
.reserve-table .reservation-availability .loader-box .loader-dining {
  position: relative;
  display: inline-block;
  background: var(--cool-400);
  border-radius: 0.1875rem 0.1875rem 0.625rem 0.625rem;
  width: 2.25rem;
  height: 2.25rem;
}
.reserve-table .reservation-availability .loader-box .loader-dining::before {
  position: absolute;
  top: -1.25rem;
  left: 0.25rem;
  content: "";
  width: 0.125rem;
  height: 1.125rem;
  animation: animloader92 1s ease infinite;
}
.reserve-table .reservation-availability .loader-box .loader-dining::after {
  content: "";
  position: absolute;
  left: 2rem;
  top: 0.3125rem;
  border: 0.3125rem solid var(--cool-400);
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 0 0.3125rem 0.3125rem 0;
  box-sizing: border-box;
}
@keyframes animloader92 {
  0% {
    box-shadow: 0.125rem 0.3125rem rgba(23, 118, 209, 0), 0.75rem 0.3125rem rgba(23, 118, 209, 0.3), 1.25rem 0.3125rem rgba(23, 118, 209, 0);
  }
  50% {
    box-shadow: 0.125rem -0.3125rem rgba(23, 118, 209, 0.5), 0.75rem -3px rgba(23, 118, 209, 0.5), 1.25rem -0.125rem rgba(23, 118, 209, 0.6);
  }
  100% {
    box-shadow: 0.125rem -0.3125rem rgba(23, 118, 209, 0), 0.75rem -0.3125rem rgba(23, 118, 209, 0), 1.25rem -0.3125rem rgba(23, 118, 209, 0);
  }
}
.reserve-table .reservation-availability .reservation-calendar {
  margin-top: 2rem;
  width: 100%;
}
.reserve-table .reservation-availability .reservation-calendar .calendar-header {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 0.3125rem;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--black);
  background: var(--white);
  padding: 0.3125rem;
  border-radius: 0.3125rem;
  margin-bottom: 0.25rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  width: calc(100% - 0.625rem);
}
.reserve-table .reservation-availability .reservation-calendar .calendar-header a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--white);
  background: var(--cool-500);
  border-radius: 0.25rem;
  margin: 0 auto 0 0;
}
.reserve-table .reservation-availability .reservation-calendar .calendar-header a#rightDate {
  margin: 0 0 0 auto;
}
.reserve-table .reservation-availability .reservation-calendar .calendar-header a:hover {
  background-color: var(--cool-500);
  box-shadow: 0 0.25rem 0.3125rem 0 rgba(0, 0, 0, 0.14), 0 0.0625rem 0.625rem 0 rgba(0, 0, 0, 0.12), 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.2);
}
.reserve-table .reservation-availability .reservation-calendar .calendar-grid tbody {
  display: grid;
  grid-gap: 0.25rem;
  width: 100%;
}
.reserve-table .reservation-availability .reservation-calendar .calendar-grid tbody tr {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-gap: 0.25rem;
}
.reserve-table .reservation-availability .reservation-calendar .calendar-grid tbody tr:empty {
  display: none;
}
.reserve-table .reservation-availability .reservation-calendar .calendar-grid tbody tr td {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-500);
  width: 2.6785rem;
  height: 2.6785rem;
}
.reserve-table .reservation-availability .reservation-calendar .calendar-grid tbody tr td.day {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-normal);
}
.reserve-table .reservation-availability .reservation-calendar .calendar-grid tbody tr td.day span {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--white);
  border-radius: 0.25rem;
  width: 100%;
  height: 100%;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
}
.reserve-table .reservation-availability .reservation-calendar .calendar-grid tbody tr td.day span:hover {
  color: var(--white);
  background-color: var(--cool-500);
  box-shadow: 0 0.25rem 0.3125rem 0 rgba(0, 0, 0, 0.14), 0 0.0625rem 0.625rem 0 rgba(0, 0, 0, 0.12), 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.2);
}
.reserve-table .reservation-availability .reservation-calendar .calendar-grid tbody tr td.day.datePast span {
  background-color: var(--cool-100);
  cursor: default;
}
.reserve-table .reservation-availability .reservation-calendar .calendar-grid tbody tr td.day.datePast span:hover {
  color: var(--cool-500);
  background-color: var(--cool-100);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
.reserve-table .reservation-availability .reservation-calendar .calendar-grid tbody tr:first-of-type td {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  background: transparent;
}
.reserve-table button {
  margin-top: 2rem;
  width: 100%;
}

.reservation-filters {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  grid-gap: 1rem;
  width: 100%;
}
.reservation-filters .inputGroup {
  width: 100%;
}
.reservation-filters .inputGroup:first-of-type {
  width: 50%;
}
.reservation-filters .inputGroup:not(.fauxCheck) input,
.reservation-filters .inputGroup:not(.fauxCheck) select {
  padding-left: 2.25rem;
  margin-bottom: 0;
}
.reservation-filters .inputGroup label {
  left: 4rem;
  width: calc(100% - 2.25rem);
}
.reservation-filters .inputGroup label:before {
  position: absolute;
  left: -2rem;
  top: 0.3125rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Material Icons";
  font-size: var(--text-size-xl);
  color: var(--cool-400);
  content: "";
  width: 1.25rem;
  height: 1.25rem;
}
.reservation-filters .inputGroup.guests label:before {
  content: "people";
}
.reservation-filters .inputGroup.date label:before {
  content: "today";
}
.reservation-filters .inputGroup.service label:before {
  content: "restaurant";
}

.activityText.diningProduct .structuredProduct .optionsWrapper .priceList:before {
  content: "Pricing";
}

#menu_popup_wrapper #menu_popup {
  padding: 4em 1rem 2rem;
}
#menu_popup_wrapper #menu_popup .nextPrev {
  margin: 0.5rem 1.5rem 0 1.5rem;
  display: flex;
  justify-content: space-between;
  width: calc(100% - 3rem);
}
#menu_popup_wrapper #menu_popup .nextPrev button {
  color: var(--white);
  background: none;
  border: none;
  cursor: pointer;
  padding: 1rem;
  font-size: 1rem;
}
#menu_popup_wrapper #menu_popup button.my_popup_close {
  background: none;
  color: var(--white);
  position: absolute;
  top: 2rem;
  padding: 0;
  right: 0.6125rem;
}
#menu_popup_wrapper #menu_popup button.my_popup_close span {
  font-size: var(--text-size-xl);
}
#menu_popup_wrapper #menu_popup .popupPhoto img {
  width: 100%;
  max-height: calc(100vh - 6rem);
}

@media only screen and (min-width: 768px) {
  .reserve-table {
    padding: 1.5rem;
  }
  .reserve-table .reservation-availability .faux-grid.stepper {
    grid-template-columns: 1fr;
  }
  .reserve-table .reservation-availability .faux-grid.heading {
    grid-template-columns: 1fr;
    text-align: center;
    width: 100%;
  }
  .reserve-table .reservation-availability .faux-grid.heading:has(.date) {
    width: fit-content;
  }
  .reserve-table .reservation-availability .faux-grid .faux-row .cell {
    min-height: 3.375rem;
  }
  .reserve-table .reservation-availability .formRow.userName {
    grid-template-columns: auto auto;
    grid-gap: 1.25rem;
  }
  .reserve-table .reservation-availability .no-deal {
    padding: 0 1.5rem 2rem;
    margin: 2rem -1.5rem -1.5rem;
    width: calc(100% + 3rem);
  }
  .reserve-table .reservation-availability .no-deal button {
    width: auto;
    margin: 2rem auto 0;
  }
  .reserve-table .reservation-availability .rest-reservation-notice button,
  .reserve-table .reservation-availability .rest-form-field button {
    width: 14rem;
    margin: 2rem auto 0;
  }
}
body.homepage {
  font-family: "Open Sans", "Helvetica Neue", EmojiSymbols, arial, helvetica, helve, sans-serif;
  padding: 0;
  margin: 0;
}
body.homepage.nzl .header-wrapper {
  background-image: url("../homepages/things-to-do/images/2023/bookme-header-nzl-new.jpg");
}
body.homepage.nzl .footWrapper.nzl {
  display: flex;
}
body.homepage.aus .header-wrapper {
  background-image: url("../homepages/things-to-do/images/2023/bookme-header-aus-new.jpg");
  background-position: 60% 100%;
}
body.homepage.aus .slide-box {
  border: 1px solid green;
}
body.homepage.aus .footWrapper.aus {
  display: flex;
}
body.homepage.fji .header-wrapper {
  background-image: url("../homepages/things-to-do/images/2023/bookme-header-fji-new.jpg");
}
body.homepage.fji .footWrapper.fji {
  display: flex;
}
body.homepage .homepage-nav {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.9375rem;
  list-style: none;
  padding: 0 0.9375rem;
  width: 100%;
  height: 4rem;
  transition: all ease-out 0.5s;
  z-index: 10;
}
body.homepage .homepage-nav.active {
  display: grid;
  grid-template-columns: auto 1fr;
  background-color: var(--cool-800);
}
body.homepage .homepage-nav.active .homepage-nav__logo {
  display: flex;
}
body.homepage .homepage-nav__logo {
  display: none;
  width: 3rem;
  height: 2.25rem;
}
body.homepage .homepage-nav__logins {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  list-style: none;
  width: auto;
  color: var(--white);
}
body.homepage .homepage-nav__logins-link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.1875rem;
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-2xs);
  color: var(--white);
  height: 100%;
}
body.homepage .homepage-nav__logins-avatar--generic {
  font-size: 2.25rem;
  font-variation-settings: "FILL" 1, "wght" 200, "GRAD" 0, "opsz" 24;
}
body.homepage .header-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 22rem;
  overflow: hidden;
  background-position: center center;
  background-size: cover;
}
body.homepage .header-wrapper .content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--white);
  padding: 0 2rem;
  width: 100%;
  max-width: 48rem;
  z-index: 1;
  box-sizing: border-box;
}
body.homepage .header-wrapper .content h1 {
  font-size: var(--text-size-4xl);
  line-height: var(--text-leading-4xl);
  font-weight: var(--text-weight-extrabold);
  letter-spacing: -0.078125rem;
  text-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
  margin: 0;
}
body.homepage .header-wrapper .content h2 {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-lg);
  font-weight: var(--text-weight-semiboild);
  margin: 0.625rem 0 0;
}
body.homepage .header-wrapper .content .bookme-logo {
  margin: 0 auto;
  width: 5.625rem;
  height: 5.625rem;
}
body.homepage .country-home {
  background: var(--cool-50);
  padding-top: 1rem;
  border-top: 0.5rem solid var(--cool-200);
}
@media only screen and (min-width: 768px) {
  body.homepage .country-home {
    padding-top: 2rem;
  }
}
body.homepage .country-home .country-home__inner {
  padding: 0 0.625rem 3rem;
  margin: 0;
  max-width: 56rem;
}
@media only screen and (min-width: 768px) {
  body.homepage .country-home .country-home__inner {
    margin: 0 auto;
  }
}
body.homepage .trust-index--mini-review::before {
  display: block;
  content: "Real people rate Bookme!";
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-500);
  text-align: center;
  margin-bottom: 0.25rem;
}
@media only screen and (min-width: 768px) {
  body.homepage .trust-index--mini-review::before {
    font-size: var(--text-size-sm);
    font-weight: var(--text-weight-semibold);
  }
}
body.homepage .bookme-explainer--introduction {
  display: flex;
  flex-flow: column;
  gap: 0.25rem;
  text-align: center;
  padding-top: 0;
  border-top: 0.0625rem solid var(--cool-200);
  margin: 1rem 0 2rem;
}
@media only screen and (min-width: 768px) {
  body.homepage .bookme-explainer--introduction {
    margin: 1.5rem 0 1.5rem;
  }
}
body.homepage .bookme-explainer--introduction p {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-medium);
}
@media only screen and (min-width: 768px) {
  body.homepage .bookme-explainer--introduction p {
    font-size: var(--text-size-lg);
    line-height: var(--text-leading-lg);
    font-weight: var(--text-weight-semibold);
  }
}
body.homepage .bookme-explainer--bottom {
  padding: 0 0 3rem;
  margin: -1rem auto 0;
  max-width: 42.5rem;
}
@media only screen and (min-width: 768px) {
  body.homepage .bookme-explainer--bottom {
    margin: 3rem auto 0;
  }
}
body.homepage .bookme-explainer--bottom h3 {
  margin-top: 1.5rem;
}
body.homepage .bookme-explainer--bottom p {
  margin-top: 0.5rem;
}
body.homepage .bookme-explainer--bottom .list-box {
  background: var(--white);
  border: 0.0625rem solid var(--cool-200);
  padding: 0.75rem 0.5rem 1.5rem;
  border-radius: 1rem;
  margin: 2rem 0 0;
}
body.homepage .bookme-explainer--bottom .list-box h3 {
  font-size: var(--text-size-base);
  color: var(--white);
  text-align: center;
  background-color: var(--warm-500);
  padding: 0.25rem 0;
  border-radius: 1rem;
  margin: 0;
}
body.homepage .bookme-explainer--bottom .list-box h4 {
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  padding-top: 1.25rem;
  border-top: 0.0625rem solid var(--cool-200);
  margin: 0 1rem;
}
body.homepage .bookme-explainer--bottom .list-box ul {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  list-style: none;
  margin: 1.5rem 1rem;
}
body.homepage .bookme-explainer--bottom .list-box ul li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  font-size: var(--text-size-sm);
}
@media only screen and (min-width: 768px) {
  body.homepage .bookme-explainer--bottom .list-box ul li {
    font-size: var(--text-size-base);
  }
}
body.homepage .bookme-explainer--bottom .list-box ul li i {
  color: var(--cool-500);
}
body.homepage .search-container {
  background: var(--white);
  padding: 1.5rem 1rem 1.25rem;
  border-radius: 0 0 var(--rounded-md) var(--rounded-md);
  max-width: initial;
}
@media only screen and (min-width: 768px) {
  body.homepage .search-container {
    padding: 1.5rem 2.25rem 1.25rem;
    box-shadow: 0.0625rem 0 0 var(--cool-200), -0.0625rem 0 0 var(--cool-200), 0 0.1875rem 0 var(--cool-200);
  }
}
body.homepage .search-container .destination-search .inputGroup::after {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  content: "travel_explore";
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  font-size: var(--text-size-xl);
  color: var(--cool-500);
}
body.homepage .search-container .destination-search .inputGroup input {
  padding-left: 2.5rem;
}
body.homepage .search-container .destination-search .inputGroup input ~ label {
  left: 2.5rem;
}
body.homepage .search-container .destination-search:has(+ .result-list .location-results li) input {
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500), 0 0 0 0.125rem var(--cool-500);
}
body.homepage .search-container .result-list .location-results {
  position: relative;
  top: -0.5rem;
  background: var(--white);
  list-style: none;
  padding: 1rem 2rem;
  margin: -1.5rem 0 1.5rem;
  border-radius: 0 0 0.5rem 0.5rem;
  max-height: 24rem;
  overflow-y: scroll;
  box-shadow: inset 0.0625rem 0 0 var(--cool-500), inset 0 -0.0625rem 0 var(--cool-500), inset -0.0625rem 0 0 var(--cool-500), 0.125rem 0 0 var(--cool-500), 0 0.125rem 0 var(--cool-500), -0.125rem 0 0 var(--cool-500);
  transition: border 0.2s ease-out, box-shadow 0.2s ease-out;
}
body.homepage .search-container .result-list .location-results:hover {
  box-shadow: inset 0.0625rem 0 0 var(--cool-500), inset 0 -0.0625rem 0 var(--cool-500), inset -0.0625rem 0 0 var(--cool-500), 0.125rem 0 0 var(--cool-500), 0 0.125rem 0 var(--cool-500), -0.125rem 0 0 var(--cool-500);
}
body.homepage .search-container .result-list .location-results:empty {
  display: none;
}
body.homepage .search-container .result-list .location-results li {
  font-size: var(--text-size-13);
  margin: 0.75rem 0;
  box-shadow: none;
}
body.homepage .search-container .result-list .location-results li:first-of-type {
  padding-top: 1rem;
  border-top: 0.0625rem solid var(--cool-200);
  margin-top: 0;
}
body.homepage .search-container .browse-all {
  display: block;
  font-size: var(--text-size-xs);
  color: var(--cool-400);
  font-weight: var(--text-weight-semibold);
  text-decoration: underline;
  text-align: center;
  margin: 0 0 0.625rem;
}
body.homepage .big-head {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-lg);
  font-weight: var(--text-weight-extrabold);
  color: var(--cool-700);
  text-align: center;
  margin: 1.75rem 0 0.25rem;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  body.homepage .big-head {
    font-size: var(--text-size-2xl);
    line-height: var(--text-leading-2xl);
    margin: 2.25rem 0 0.5rem;
  }
}
body.homepage .popRegions-list {
  margin: 1.5rem 0 3rem;
}
@media only screen and (min-width: 768px) {
  body.homepage .popRegions-list {
    margin-top: 2.5rem;
  }
}
body.homepage .houseAd-wrapper {
  margin: 0 auto 2rem;
}
@media only screen and (min-width: 768px) {
  body.homepage .houseAd-wrapper {
    padding: 3rem 0;
    border-top: 0.0625rem solid var(--cool-200);
    border-bottom: 0.0625rem solid var(--cool-200);
    margin: 3rem auto;
  }
}
body.homepage .footWrapper {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  body.homepage .header-wrapper {
    height: 30rem;
  }
  body.homepage .header-wrapper .content {
    padding: 0 2rem;
  }
  body.homepage .header-wrapper .content h1 {
    font-size: var(--text-size-6xl);
    line-height: var(--text-leading-6xl);
  }
  body.homepage .header-wrapper .content h2 {
    font-size: var(--text-size-lg);
    line-height: var(--text-leading-lg);
    margin-top: 1.25rem;
  }
  body.homepage .header-wrapper .content .bookme-logo {
    width: 7rem;
    height: 7rem;
  }
}

/* ===============================================================================
   HOTEL BOOKING SYSTEM - COMPONENT-BASED STYLESHEET (BRIAN STANDARD)
   ===============================================================================

   Property Order: Positioning → Layout → Typography → Background → Padding → 
   Border → Margin → Dimensions → Overflow → Effects → Behavior

   Structure:
   1. Foundation Layer (Variables, Mixins, Utilities)
   2. Layout Components (Containers, Grid Systems)
   3. Navigation & Header Components
   4. Information Display Components  
   5. Interactive Form Components
   6. Booking Components
   7. State & Modifier Classes

=============================================================================== */
/* ===============================================================================
   1. FOUNDATION LAYER
   =============================================================================== */
/* ----- SCSS Breakpoint System ----- */
/* ----- Design System Variables ----- */
:root {
  /* Color System */
  --color-success: #22c55e;
  --color-success-dark: #16a34a;
  --color-overlay: rgba(0, 0, 0, 0.7);
  --color-overlay-hover: rgba(0, 0, 0, 0.8);
  /* Spacing Scale */
  --spacing-xs: 0.25rem; /* 4px */
  --spacing-sm: 0.5rem; /* 8px */
  --spacing-md: 0.75rem; /* 12px */
  --spacing-lg: 1rem; /* 16px */
  --spacing-xl: 1.5rem; /* 24px */
  --spacing-2xl: 2rem; /* 32px */
  --spacing-3xl: 3rem; /* 48px */
  /* Border Radius Scale */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  /* Shadow Scale */
  --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
  --shadow-md: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
  /* Component Specific */
  --image-height-standard: 11.25rem;
  --image-height-large: 22.5rem;
}

/* ----- Layout Utility Classes ----- */
.flex-center, .guest-picker__spinner, .guest-picker__spinner-button, .hotel-box__popular-facilities__item, .hotel-box__popular-facilities__title, .hotel-map__link, .checkin-checkout, .hotel__description__toggle {
  display: flex;
  justify-content: center;
  align-items: center;
}

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

.flex-end, .guest-picker__spinner-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.flex-column, .guest-picker__row,
.people-picker__row, .hotel-box__popular-facilities {
  display: flex;
  flex-direction: column;
}

.flex-column-center, .guest-picker, .checkin-checkout__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* ----- Spacing Utility Classes ----- */
.gap-xs {
  gap: var(--spacing-xs);
}

.gap-sm {
  gap: var(--spacing-sm);
}

.gap-md {
  gap: var(--spacing-md);
}

.gap-lg {
  gap: var(--spacing-lg);
}

.gap-xl {
  gap: var(--spacing-xl);
}

.gap-2xl {
  gap: var(--spacing-2xl);
}

.margin-bottom-lg {
  margin-bottom: var(--spacing-lg);
}

.margin-bottom-xl {
  margin-bottom: var(--spacing-xl);
}

.margin-bottom-2xl {
  margin-bottom: var(--spacing-2xl);
}

.padding-lg {
  padding: var(--spacing-lg);
}

.padding-xl {
  padding: var(--spacing-xl);
}

/* ----- Visual Utility Classes ----- */
.rounded-sm {
  border-radius: var(--radius-sm);
}

.rounded-md {
  border-radius: var(--radius-md);
}

.rounded-lg {
  border-radius: var(--radius-lg);
}

.shadow-sm {
  box-shadow: var(--shadow-sm);
}

.shadow-md {
  box-shadow: var(--shadow-md);
}

.shadow-lg {
  box-shadow: var(--shadow-lg);
}

/* ----- Interactive Utility Classes ----- */
.clickable, .hotel__property-images {
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}

.focusable, .input-group__input:not([type=range]), .guest-picker__child-select .input-group__input,
.people-picker__child-select .input-group__input {
  border-color: var(--cool-500);
  box-shadow: 0 0 0 0.125rem var(--cool-200);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.focusable:focus, .input-group__input:focus:not([type=range]), .guest-picker__child-select .input-group__input:focus,
.people-picker__child-select .input-group__input:focus {
  outline: none;
  border-color: var(--cool-500);
  box-shadow: 0 0 0 0.125rem var(--cool-200);
}

.focus-ring:hover, .guest-picker__spinner-button:hover, .hotel-map__link:hover, .hotel__description__toggle-text:hover, .hotel__property-images:hover, .focus-ring:focus, .guest-picker__spinner-button:focus, .hotel-map__link:focus, .hotel__description__toggle-text:focus, .hotel__property-images:focus {
  outline: none;
}
.focus-ring:focus, .guest-picker__spinner-button:focus, .hotel-map__link:focus, .hotel__description__toggle-text:focus, .hotel__property-images:focus {
  outline: 2px solid var(--cool-500);
  outline-offset: 2px;
}

.btn-focus {
  border-color: 0.2s ease;
  box-shadow: 0 0 0 0.125rem var(--cool-200);
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.btn-focus:hover, .btn-focus:focus {
  outline: none;
  box-shadow: 0 0 0 0.125rem var(--cool-200);
}
.btn-focus:focus {
  outline: 2px solid var(--cool-500);
  outline-offset: 2px;
}

.hover-lift:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

/* ----- Reusable Component Utilities ----- */
.image-count {
  position: absolute;
  right: var(--spacing-sm);
  bottom: var(--spacing-sm);
  display: flex;
  align-items: center;
  font-size: var(--text-sm);
  color: var(--white);
  background: var(--color-overlay);
  padding: 0.125rem var(--spacing-sm) 0.125rem var(--spacing-xs);
  border-radius: var(--radius-sm);
  column-gap: var(--spacing-xs);
  transition: background 0.2s ease;
}
.image-count__text {
  font-size: var(--text-sm);
}
.image-count__icon {
  font-size: var(--text-lg);
}

/* ===============================================================================
   2. LAYOUT COMPONENTS
   =============================================================================== */
/* ----- Main Container ----- */
.hotel-wrapper {
  /* Main wrapper styles would go here if needed */
}

/* ----- Content Layout ----- */
.content-box {
  margin: var(--spacing-2xl) auto 2.5rem;
}
@media screen and (min-width: 800px) {
  .content-box {
    margin-bottom: 5rem;
  }
}

/* ----- Summary Layout Grids ----- */
.property-summary {
  display: grid;
  gap: var(--spacing-2xl);
  margin-top: var(--spacing-2xl);
}

.arrival-summary,
.facility-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-lg);
  height: fit-content;
}
@media screen and (min-width: 800px) {
  .arrival-summary,
  .facility-summary {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-xl);
  }
}

.location-summary {
  display: grid;
  gap: var(--spacing-xl);
}
.location-summary__details {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}
@media screen and (min-width: 800px) {
  .location-summary {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-2xl);
  }
}

/* ===============================================================================
   3. NAVIGATION & HEADER COMPONENTS
   =============================================================================== */
/*
|-------------------------------------------------------------------------------
| Places ot Stay - Property Details Section
|-------------------------------------------------------------------------------
*/
.property-details__listing {
  padding: 1rem 0.25rem 0 0;
  border-bottom: none;
  margin: 0 0.5rem -0.875rem 0;
}
.property-details__listing .visual-icon {
  font-size: var(--text-2xl);
  margin-right: 0.375rem;
}
.property-details__listing-list {
  display: grid;
  grid-template-columns: 1fr 0.75fr;
  grid-template-areas: "rating-type rating-user" "rating-price rating-user";
  font-size: var(--text-base);
  line-height: var(--leading-4);
  row-gap: 0.2rem;
}
@media screen and (min-width: 800px) {
  .property-details__listing-list {
    grid-template-columns: 1.5fr 0.75fr;
  }
}
.property-details__listing-item--rating-type {
  grid-area: rating-type;
}
.property-details__listing-item--rating-price {
  grid-area: rating-price;
}
.property-details__listing-item--rating-user {
  grid-area: rating-user;
  display: flex;
  justify-content: flex-end;
  align-items: start;
  text-align: right;
  margin-top: 0.3125rem;
}
.property-details__listing-item--distance {
  grid-area: distance;
}
.property-details__listing-content {
  display: flex;
  align-items: center;
  gap: 0.1875rem;
}
.property-details__listing-content--reverse {
  flex-direction: row-reverse;
}
.property-details__listing-group {
  display: flex;
}
.property-details__listing-group--column {
  flex-direction: column;
  gap: 0.3125rem;
}
.property-details__listing-group--row {
  flex-direction: row;
  column-gap: 0.1875rem;
}
.property-details__listing-price-indicators {
  display: flex;
  align-items: center;
}
.property-details__listing-price-indicators .visual-icon {
  font-size: var(--text-4xl);
  color: var(--gray-300);
  margin-right: 0;
}
.property-details__listing-price-indicators .visual-icon--active {
  color: var(--green-700);
}

/* ----- Photo Gallery ----- */
.product-image-gallery {
  position: relative;
}
.product-image-gallery .flickity-page-dots {
  display: none;
}

/* ----- Main Property Images ----- */
.hotel__property-images {
  position: relative;
  display: block;
  background: transparent;
  padding: 0;
  border: none;
  border-radius: var(--radius-md);
  margin-bottom: var(--spacing-2xl);
  width: auto;
  height: var(--image-height-large);
  overflow: hidden;
}
.hotel__property-images:hover, .hotel__property-images:focus-within {
  box-shadow: 0 0 0 0.125rem var(--cool-400);
}
.hotel__property-images:hover .image-count, .hotel__property-images:focus-within .image-count {
  background: var(--cool-400);
}
.hotel__property-images__image {
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  height: 100%;
}

/* ===============================================================================
   4. INFORMATION DISPLAY COMPONENTS
   =============================================================================== */
/* ----- Hotel Description ----- */
.hotel__description__text {
  font-size: var(--text-15);
  line-height: var(--text-leading-base);
  margin-bottom: 0.3125rem;
}
.hotel__description__text--less-text {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hotel__description__toggle {
  font-size: var(--text-xs);
  color: var(--cool-500);
  margin-top: 0.1875rem;
}
.hotel__description__toggle-text {
  display: inline-block;
  font-weight: var(--text-weight-semibold);
  text-decoration: underline transparent;
  cursor: pointer;
  transition: text-decoration 300ms ease, color 0.2s ease;
}
.hotel__description__toggle-text:hover, .hotel__description__toggle-text:focus {
  color: var(--cool-600);
  text-decoration-color: var(--cool-500);
}
.hotel__description__toggle-text--hidden {
  display: none;
}
.hotel__description__toggle-icon {
  font-size: var(--text-xl);
}

/* ----- Check-in/Check-out Information ----- */
.location-address {
  grid-column: span 2;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: var(--spacing-md);
  border-radius: 0.3125rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  min-height: 6.25rem;
}
@media screen and (min-width: 800px) {
  .location-address {
    grid-column: initial;
  }
}

/* ----- Check-in/Check-out Information ----- */
.checkin-checkout {
  list-style-type: none;
  column-gap: var(--spacing-lg);
}
@media screen and (min-width: 800px) {
  .checkin-checkout {
    gap: var(--spacing-xl);
  }
}
.checkin-checkout__item {
  font-size: var(--text-base);
  text-align: center;
  padding: var(--spacing-md);
  border-radius: 0.3125rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
@media screen and (min-width: 800px) {
  .checkin-checkout__item {
    font-size: var(--text-lg);
  }
}
.checkin-checkout__icon {
  font-size: var(--text-4xl);
  color: #57468d;
}
.checkin-checkout__label {
  font-size: var(--text-xs);
}
.checkin-checkout time {
  font-size: var(--text-lg);
}

/* ----- Popular Ammenities for this Property ----- */
.property-highlights-wrapper {
  display: flex;
  flex-flow: column;
  row-gap: 1.125rem;
  padding: var(--spacing-sm) 1.5rem 1.5rem;
  border: 0.0625rem solid var(--cool-200);
  border-radius: 0.625rem;
}

.property-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.5rem;
  width: 100%;
}
.property-highlights__title {
  margin-bottom: 1rem;
}
.property-highlights__item {
  flex: 1 1 auto;
  min-width: -moz-fit-content;
  min-width: fit-content;
  max-width: calc(50% - 0.25rem);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem;
  border: 1px solid var(--cool-200);
  border-radius: 2rem;
  white-space: nowrap;
}
@media screen and (min-width: 800px) {
  .property-highlights__item {
    padding: 0.75rem 1rem;
    max-width: calc(33.333% - 0.25rem);
  }
}
.property-highlights__item:last-child:nth-child(3n-1), .property-highlights__item:last-child:nth-child(3n-2) {
  max-width: calc(33.333% - 0.35rem);
}
.property-highlights__term {
  font-size: var(--text-xs);
  font-weight: normal;
  color: var(--gray-700);
  margin: 0;
}
@media screen and (min-width: 800px) {
  .property-highlights__term {
    font-size: var(--text-sm);
  }
}
.property-highlights__definition {
  display: flex;
  align-items: center;
  margin: 0;
  order: -1;
}
.property-highlights .visual-icon {
  font-size: var(--text-xl);
  color: #c0379f;
}
@media screen and (min-width: 800px) {
  .property-highlights .visual-icon {
    font-size: var(--text-2xl);
  }
}
.property-highlights .visual-icon--boxed {
  background: none;
  padding: 0;
  border: none;
}

/* ----- Policies Display ----- */
.property-policies {
  font-size: var(--text-xs);
  line-height: var(--text-leading-xs);
  color: var(--amber-950);
  padding: 0.625rem 1rem;
  border: 0.0625rem solid var(--cool-200);
  border-left: 0.3125rem solid #ff8127;
  width: 100%;
}

/* ----- Map Display ----- */
.hotel-map {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  justify-content: center;
  text-align: center;
}
.hotel-map__container {
  display: block;
  width: 100%;
}
.hotel-map__image {
  display: block;
  border-radius: 0.625rem;
  border: 0.0625rem solid #4da476;
  width: 100%;
  height: 20rem;
  object-fit: cover;
}
@media screen and (min-width: 800px) {
  .hotel-map__image {
    border-radius: var(--spacing-sm);
    height: 25rem;
  }
}
.hotel-map__location {
  display: flex;
  gap: 0.5rem;
}
@media screen and (min-width: 800px) {
  .hotel-map__location {
    margin-top: 0.5rem;
  }
}
.hotel-map__location-address {
  font-size: var(--text-base);
  width: 100%;
}
.hotel-map__location-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  text-align: center;
}
.hotel-map__location-item .visual-icon {
  font-size: var(--text-3xl);
  color: #4da476;
}
@media screen and (min-width: 800px) {
  .hotel-map__location-item .visual-icon {
    font-size: var(--text-4xl);
  }
}
.hotel-map__link {
  font-size: var(--text-2xs);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-400);
  transition: color 0.2s ease;
}
.hotel-map__link:hover, .hotel-map__link:focus {
  color: var(--cool-600);
}

/* ----- Full Facilities Display ----- */
.hotel-box__popular-facilities {
  font-size: var(--text-sm);
  font-weight: var(--text-weight-semibold);
  background-color: var(--white);
  padding: var(--spacing-sm) 1.5rem 1.5rem;
  border: 0.0625rem solid var(--cool-200);
  border-radius: 0.625rem;
  margin: 0;
  width: 100%;
  order: 1;
  row-gap: 1.125rem;
  box-sizing: border-box;
}
@media screen and (min-width: 800px) {
  .hotel-box__popular-facilities {
    order: 3;
  }
}
.hotel-box__popular-facilities__title {
  font-size: var(--text-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-bold);
  text-align: center;
  text-transform: uppercase;
  color: var(--white);
  background-color: var(--cool-700);
  padding: 0.0625rem 0 0;
  border-radius: var(--spacing-md);
  margin: 0 -0.75rem;
  height: 1.5rem;
}
.hotel-box__popular-facilities__list {
  display: grid;
  align-items: center;
  font-size: var(--text-sm);
  font-weight: var(--text-weight-normal);
  color: var(--neutral-500);
  column-gap: var(--spacing-lg);
}
@media screen and (min-width: 800px) {
  .hotel-box__popular-facilities__list {
    grid-template-columns: 1fr 1fr;
    font-size: var(--text-xs);
  }
}
.hotel-box__popular-facilities__item {
  line-height: 1.5;
  list-style-type: none;
  padding: 0 0 0.625rem 0;
  column-gap: var(--spacing-sm);
}
.hotel-box__popular-facilities__icon {
  font-size: var(--text-xl);
  color: var(--cool-600);
}
@media screen and (min-width: 800px) {
  .hotel-box__popular-facilities__text {
    font-size: var(--text-base);
  }
}

#room-popup {
  background: var(--white);
  border-radius: 0.5rem;
  margin: 0 1rem;
  width: calc(100% - 2rem);
  max-width: 45.5rem;
}
#room-popup .popup_closer {
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  font-size: var(--text-size-lg);
}
#room-popup .popup_closer button {
  background-color: transparent;
  border-width: 0;
  font-family: inherit;
  font-style: inherit;
  line-height: inherit;
  font-size: inherit;
  font-weight: inherit;
  padding: 0;
}
#room-popup .popup_closer button span {
  color: var(--white);
}
#room-popup .room-popup-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  font-size: var(--text-size-sm);
  color: var(--black);
  border-radius: 0.5rem;
  width: 100%;
  max-width: 45.5rem;
  min-height: 28.125rem;
  box-shadow: 0 1.1875rem 2.375rem rgba(var(--black-rgb), var(--alpha3)), 0 15px 12px rgba(var(--black-rgb), var(--alpha2));
}
#room-popup .room-popup-body .room-details-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  column-gap: 1rem;
  background: var(--neutral-600);
  padding: 0.625rem 1.25rem 1rem;
  border-radius: 0.5rem 0.5rem 0 0;
  width: 100%;
  box-sizing: border-box;
}
#room-popup .room-popup-body .room-details-header .hotel-dates {
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-lg);
  color: var(--white);
  text-align: center;
}
#room-popup .room-popup-body .room-details-header .hotel-dates span {
  font-size: var(--text-size-xs);
  color: var(--neutral-200);
}
#room-popup .room-popup-body .room-details-header .arrow {
  font-size: var(--text-size-2xl);
  line-height: var(--text-leading-2xl);
  color: var(--neutral-400);
}
#room-popup .room-popup-body .room-details-header .hotel-nights {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  text-align: center;
  margin-top: 0.3125rem;
  width: 100%;
}
#room-popup .room-popup-body .room-details-body {
  padding: 1.5rem 1rem 3rem;
  height: 2.75rem;
  overflow-y: auto;
  box-sizing: border-box;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner {
  margin-bottom: 2rem;
  border-radius: 0.625rem;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner h3 {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-extrabold);
  margin-bottom: 1rem;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner h3 span {
  display: block;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .room-details-amenities {
  display: flex;
  column-gap: 0.5rem;
  margin-bottom: 1rem;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .room-details-amenities .room-details-people .amenity-icons span:nth-child(3) {
  position: relative;
  color: transparent;
  margin-left: -0.3125rem;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .room-details-amenities .room-details-people .amenity-icons span:nth-child(3)::before {
  position: absolute;
  top: 0.0625rem;
  left: 0.25rem;
  content: "add";
  font-family: "Material Icons";
  font-size: var(--text-size-base);
  color: var(--cool-200);
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .room-details-amenities .room-details-people .amenity-icons span:nth-child(n+4) {
  display: none;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .room-details-amenities > div {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-3xs);
  color: var(--cool-200);
  list-style-type: none;
  background: var(--cool-700);
  padding: 0.3125rem;
  border-radius: 0.25rem;
  margin: 0;
  width: 4rem;
  box-sizing: border-box;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .room-details-amenities > div .amenity-icons {
  display: flex;
  justify-content: center;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .room-details-amenities > div .amenity-icons span {
  font-size: var(--text-size-lg);
  color: var(--cool-200);
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .room-details-amenities > div label {
  font-size: var(--text-size-4xs);
  text-align: center;
  margin: 0;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .nightly-breakdown {
  background: var(--white);
  padding: 0.5rem 1.25rem;
  border: 1px solid var(--neutral-200);
  border-radius: 0.5rem;
  margin-bottom: 1.25rem;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .nightly-breakdown .nightly-breakdown-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.3125rem 0;
  border-top: 0.0625rem solid var(--neutral-100);
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .nightly-breakdown .nightly-breakdown-row:first-of-type {
  border: none;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .nightly-breakdown .nightly-breakdown-row p {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  color: var(--neutral-500);
  margin: 0.3125rem 0;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .nightly-breakdown .nightly-breakdown-row .material-symbols-outlined {
  color: var(--cool-400);
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .fees-taxes-breakdown {
  margin-top: 0.625rem;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .fees-taxes-breakdown h4 {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-bold);
  color: var(--neutral-500);
  margin-bottom: 0.3125rem;
}
#room-popup .room-popup-body .room-details-body .hotel-details-body-inner .fees-taxes-breakdown p {
  font-size: var(--text-size-2xs);
  margin: 0.0625rem 0;
}
#room-popup .room-popup-body .room-details-body h3.hotel-notes {
  font-size: var(--text-size-sm);
  color: var(--neutral-500);
  padding-bottom: 0.25rem;
  border-bottom: 0.0625rem solid var(--neutral-200);
  margin-bottom: 1.25rem;
}
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper {
  display: flex;
  column-gap: 0.625rem;
  margin-top: 1rem;
}
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper.ratePlans {
  padding-bottom: 2rem;
}
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper.hotelRates {
  margin-bottom: -0.375rem;
  margin-left: -2rem;
}
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper .material-symbols-outlined {
  font-size: var(--text-size-2xl);
  color: var(--cool-600);
}
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper .hotel-notes-checkin h4,
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper .hotel-notes-optional h4,
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper .hotel-notes-rateplan h4,
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper .ratePolicies h4 {
  font-size: var(--text-size-xs);
  color: var(--neutral-500);
  font-weight: var(--text-weight-bold);
}
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper .hotel-notes-checkin p,
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper .hotel-notes-optional p,
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper .hotel-notes-rateplan p,
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper .ratePolicies p {
  font-size: var(--text-size-2xs);
  margin: 0.125rem 0;
}
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper.facilities-group {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.3125rem;
  margin-bottom: 2rem;
}
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper.facilities-group li {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.25rem;
  font-size: var(--text-size-2xs);
  color: var(--cool-600);
  background-color: var(--cool-50);
  padding: 0.3125rem 0.625rem 0.3125rem 0.3125rem;
  border-radius: 0.1875rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
#room-popup .room-popup-body .room-details-body .hotel-notes-wrapper.facilities-group li .material-symbols-outlined {
  font-size: var(--text-size-base);
  color: var(--cool-600);
}
#room-popup .room-popup-body .room-details-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  background-color: var(--neutral-50);
  padding: 1rem 1.25rem 1.5rem;
  border-top: 0.3125rem solid var(--neutral-300);
  border-radius: 0 0 0.5rem 0.5rem;
  width: 100%;
  box-sizing: border-box;
}
#room-popup .room-popup-body .room-details-footer .room-footer-price {
  font-size: var(--text-size-3xs);
  text-align: right;
  margin-left: auto;
}
#room-popup .room-popup-body .room-details-footer .room-footer-price .room-price {
  font-size: var(--text-size-3xl);
  line-height: var(--text-leading-3xl);
  font-weight: var(--text-weight-bold);
  margin: 0;
}
#room-popup .room-popup-body .room-details-footer .room-footer-buttons {
  display: flex;
  column-gap: 1.25rem;
  width: 100%;
}
#room-popup .room-popup-body .room-details-footer .room-footer-buttons span {
  width: 50%;
}

@media only screen and (min-width: 768px) {
  #room-popup .room-popup-body .room-details-body {
    padding: 1.5rem 12.5% 3rem;
    width: 100%;
  }
  #room-popup .room-popup-body .room-details-footer {
    flex-wrap: initial;
  }
  #room-popup .room-popup-body .room-details-footer .room-footer-price {
    text-align: left;
    margin-left: initial;
  }
  #room-popup .room-popup-body .room-details-footer .room-footer-buttons {
    justify-content: flex-end;
    width: max-content;
  }
  #room-popup .room-popup-body .room-details-footer .room-footer-buttons span {
    width: initial;
  }
}
.hotel-booking-grid {
  background-color: var(--sky-50);
  padding: 0 1rem 2rem;
}
@media screen and (min-width: 768px) {
  .hotel-booking-grid {
    padding: 0 2rem 2rem;
  }
}

.reservation-header {
  display: flex;
  text-align: center;
  justify-content: center;
  padding: 1.25rem 0;
}
.reservation-header h3 {
  display: flex;
  align-items: center;
  font-size: var(--text-xs);
  font-weight: var(--font-normal);
  color: var(--cool-600);
  background: var(--white);
  padding: 0.5rem 1.5rem;
  border: 1px solid var(--cool-200);
  border-radius: 2rem;
  height: 2.75rem;
  box-shadow: 0 1.25rem 1.5rem -0.25rem rgba(16, 24, 40, 0.08), 0 0.5rem 0.5rem -0.25rem rgba(16, 24, 40, 0.03);
}

.room-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-gap: 2rem;
  list-style-type: none;
}

.room-card {
  display: flex;
  flex-flow: column;
  gap: 1rem;
  background: var(--white);
  border: var(--box-light);
  border-bottom: var(--box-heavy);
  border-radius: var(--rounded-md);
  padding: 0.75rem;
  box-shadow: 0 0.25rem 0.5rem -0.125rem rgba(16, 24, 40, 0.1), 0 0.125rem 0.25rem -0.125rem rgba(16, 24, 40, 0.06);
}

.room-card--multi-room .room-card__content {
  position: relative;
  padding: 0;
  transition: all 0.3s ease;
}
.room-card--multi-room .room-card__content .room-card__specs {
  margin-bottom: -0.75rem;
}
.room-card--multi-room .room-card__content .room-card__detail-group--occupancy,
.room-card--multi-room .room-card__content .room-card__detail-group--notes,
.room-card--multi-room .room-card__content .room-card__image-wrapper,
.room-card--multi-room .room-card__content .room-card__amenities {
  padding: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}
.room-card--multi-room .room-card__content .room-card__expand-btn {
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  left: initial;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--cool-400);
  border: 0.0625rem solid var(--cool-300);
  border-radius: 0.3125rem;
  background: var(--white);
  width: 1.75rem;
  height: 1.75rem;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  transition: color 0.3s ease, background-color 0.3s ease, border 0.3s ease, border-radius 0.3s ease;
  z-index: 1;
}
.room-card--multi-room .room-card__content .room-card__counter {
  display: flex;
}
.room-card--multi-room .room-card__content .room-card__header {
  padding: 0.625rem;
  border: 0.125rem solid var(--cool-300);
  border-radius: 0.5rem;
  transition: border-radius 0.3s ease;
}
.room-card--multi-room .room-card__content.room-card__content--expanded .room-card__specs {
  margin-bottom: 0;
}
.room-card--multi-room .room-card__content.room-card__content--expanded .room-card__detail-group--occupancy,
.room-card--multi-room .room-card__content.room-card__content--expanded .room-card__detail-group--notes,
.room-card--multi-room .room-card__content.room-card__content--expanded .room-card__image-wrapper,
.room-card--multi-room .room-card__content.room-card__content--expanded .room-card__amenities {
  display: flex;
  max-height: 50rem;
  opacity: 1;
}
.room-card--multi-room .room-card__content.room-card__content--expanded .room-card__image-wrapper,
.room-card--multi-room .room-card__content.room-card__content--expanded .room-card__amenities {
  display: block;
  padding: 0.625rem;
}
.room-card--multi-room .room-card__content.room-card__content--expanded .room-card__amenities {
  display: block;
  padding: 0.625rem 0.625rem 1.25rem;
}
.room-card--multi-room .room-card__content.room-card__content--expanded .room-card__expand-btn {
  top: -0.5rem;
  bottom: initial;
  right: -0.5rem;
  left: initial;
  color: var(--white);
  border: none;
  border-radius: 50%;
  background: var(--cool-400);
}
.room-card--multi-room .room-card__content.room-card__content--expanded .room-card__header {
  border-bottom: none;
  border-radius: 0.5rem 0.5rem 0 0;
}

/*
|-------------------------------------------------------------------------------
| Hotel Room Card Header Section
|-------------------------------------------------------------------------------
*/
.room-card .room-card__expand-btn {
  display: none;
}
.room-card__header {
  color: var(--black);
  padding: 0.625rem;
  background-color: var(--cool-50);
  border: 0.125rem solid var(--cool-300);
  border-bottom: none;
  border-radius: 0.5rem 0.5rem 0 0;
}
.room-card__availability-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  color: var(--cyan-800);
  background: var(--sky-100);
  padding: 0.5rem 0.625rem;
  border-radius: 0.3125rem 0.31255rem 0 0;
  margin: -0.625rem -0.625rem 1rem -0.625rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}
.room-card__availability-message {
  font-size: var(--text-xs);
  font-weight: var(--font-bold);
}
.room-card__availability-icon {
  display: flex;
}
.room-card__counter {
  display: none;
  font-size: var(--text-2xs);
}
.room-card__title {
  font-size: var(--text-lg);
  line-height: var(--leading-6);
  font-weight: var(--text-weight-bold);
  margin-bottom: 0.75rem;
}
.room-card__specs {
  display: flex;
  flex-flow: column;
  gap: 0.75rem;
}
.room-card__detail-group {
  display: flex;
  justify-content: center;
  flex-flow: column;
  gap: 0.1875rem;
  font-size: var(--text-xs);
}
.room-card__detail-group--beds .room-card__bed-info {
  justify-content: center;
  flex-flow: column;
  gap: 0;
  color: var(--white);
  background: var(--cyan-800);
  padding-inline: 0.5rem;
  border: none;
  height: 3rem;
}
.room-card__detail-group--beds .room-card__bed-icon {
  display: flex;
  color: var(--white);
}
.room-card__detail-group--beds .room-card__bed-icon .visual-icon {
  margin-bottom: -0.125rem;
}
.room-card__label {
  font-size: var(--text-2xs);
  font-weight: var(--font-semibold);
}
.room-card__value {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
}
.room-card__guests, .room-card__breakfast, .room-card__bed-info {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  background: var(--cool-25);
  padding: 0.25rem 0.5rem 0.25rem 0.25rem;
  border: 0.0625rem solid var(--cool-300);
  border-radius: var(--rounded-xs);
  height: 2rem;
}
.room-card__guests-separator {
  display: flex;
  align-items: center;
  color: var(--cool-600);
}
.room-card__guests-icons, .room-card__breakfast-icon {
  display: flex;
  color: var(--cool-400);
}
.room-card__guests-icons .visual-icon, .room-card__breakfast-icon .visual-icon {
  margin-right: -0.1875rem;
}
.room-card__guests-text {
  font-size: var(--text-2xs);
}
.room-card {
  /*
  |-------------------------------------------------------------------------------
  | Hotel Room Card Room Image
  |-------------------------------------------------------------------------------
  */
}
.room-card__image-wrapper {
  position: relative;
  background-color: var(--cool-50);
  padding: 0.625rem;
  border-inline: 0.125rem solid var(--cool-300);
}
.room-card__image-wrapper:hover .room-card__image {
  box-shadow: 0 0 0 0.125rem var(--cool-400);
}
.room-card__image-wrapper:hover .room-card__image-count {
  background: var(--cool-400);
}
.room-card__image-count {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  display: flex;
  align-items: center;
  column-gap: 0.25rem;
  color: var(--white);
  background: rgba(0, 0, 0, 0.75);
  padding: 0.125rem 0.3125rem 0.125rem 0.25rem;
  border-radius: 0.25rem;
  transition: background 0.2s ease;
}
.room-card__image {
  border-radius: var(--rounded-xs);
  transition: box-shadow 0.2s ease;
  width: 100%;
  height: 13.25rem;
  object-fit: cover;
}
.room-card {
  /*
  |-------------------------------------------------------------------------------
  | Amenities Section
  |-------------------------------------------------------------------------------
  */
}
.room-card__amenities {
  background-color: var(--cool-50);
  padding: 0.625rem 0.625rem 1.25rem;
  border-inline: 0.125rem solid var(--cool-300);
  border-bottom: 0.125rem solid var(--cool-300);
  border-radius: 0 0 0.5rem 0.5rem;
}
.room-card__amenities-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3125rem;
  list-style: none;
  width: 100%;
  max-height: 4rem; /* Approximately 2 rows */
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.room-card__amenities-list::after {
  content: "";
  flex: 1 1 auto;
  max-width: calc(40% - 0.25rem);
}
.room-card__amenities-list--expanded {
  max-height: 50rem;
}
.room-card__amenity {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  gap: 0.5rem;
  font-size: var(--text-2xs);
  font-weight: var(--font-semibold);
  color: var(--cyan-800);
  background-color: var(--white);
  padding: 0.1875rem 0.3125rem;
  border: 0.0625rem solid var(--cool-200);
  border-radius: 0.3125rem;
  white-space: nowrap;
  min-width: fit-content;
  max-width: calc(40% - 0.25rem);
}
.room-card__amenities-toggle {
  display: none;
  background: transparent;
  margin: 0.75rem 0 1rem;
  position: relative;
  width: 100%;
  text-align: center;
  border-top: 1px solid var(--cool-200);
  padding-top: 0.3125rem;
}
.room-card__toggle-text--more, .room-card__toggle-text--less {
  display: flex;
  position: absolute;
  left: calc(50% - 3rem);
  align-items: center;
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  color: var(--cyan-800);
  padding-left: 0.125rem;
  width: 6rem;
  transition: opacity 0.15s ease;
}
.room-card__toggle-text--less {
  opacity: 0;
  pointer-events: none;
}
.room-card {
  /*
  |-------------------------------------------------------------------------------
  | Cancellation Policy
  |-------------------------------------------------------------------------------
  */
}
.room-card__policy {
  display: flex;
  flex-direction: column;
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  color: var(--cyan-900);
  padding-inline: 0.625rem;
  padding-block: 0.375rem;
  border: 0.0625rem solid var(--cool-200);
  border-left: 0.3125rem solid #ff8127;
}
.room-card__policy-title {
  font-size: var(--text-2xs);
  font-weight: var(--font-semibold);
}
.room-card {
  /*
  |-------------------------------------------------------------------------------
  | Pricing Section
  |-------------------------------------------------------------------------------
  */
}
.room-card__booking {
  margin-top: auto;
}
.room-card__pricing {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 0.125rem;
  padding: 1.25rem 0.625rem;
  border-top: 0.0625rem solid var(--cool-200);
  border-bottom: 0.0625rem solid var(--cool-200);
  margin: 1.25rem 0;
}
.room-card__price-item {
  display: grid;
  justify-content: end;
  grid-template-rows: auto auto;
  grid-template-areas: "local-currency deal-price";
  gap: 0 0.375rem;
}
@media screen and (min-width: 768px) {
  .room-card__price-item {
    grid-template-areas: "local-currency deal-price";
    gap: 0.125rem 0.5rem;
  }
}
.room-card__price {
  display: contents;
}
.room-card__amount {
  display: flex;
  grid-area: deal-price;
  font-size: var(--text-4xl);
  font-weight: var(--font-bold);
  line-height: var(--leading-6);
  align-items: flex-start;
  gap: 0.125rem;
}
.room-card__amount sup {
  font-size: var(--text-sm);
  line-height: var(--leading-4);
  border-bottom: 0.125rem solid currentColor;
}
@media screen and (min-width: 768px) {
  .room-card__amount {
    font-size: var(--text-4xl);
    line-height: var(--leading-7);
  }
  .room-card__amount sup {
    font-size: var(--text-lg);
    line-height: var(--leading-5);
  }
}
.room-card__currency-marker {
  grid-area: local-currency;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  font-size: var(--text-3xs);
  font-weight: var(--font-semibold);
  line-height: var(--leading-4);
  text-align: right;
}
@media screen and (min-width: 768px) {
  .room-card__currency-marker {
    font-size: var(--text-2xs);
    line-height: var(--leading-3);
  }
}
.room-card__savings-item, .room-card__duration-item {
  text-align: right;
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
}
@media screen and (min-width: 768px) {
  .room-card__savings-item, .room-card__duration-item {
    font-size: var(--text-sm);
  }
}
.room-card__savings-item {
  font-style: italic;
  margin-top: 0.3125rem;
}
.room-card__duration-item {
  margin-top: 0.3125rem;
}
.room-card__taxes {
  font-size: var(--text-2xs);
  font-weight: var(--font-normal);
  text-align: right;
}
.room-card__cancellation-item {
  display: flex;
  justify-content: flex-end;
}
.room-card__cancellation {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.3125rem;
  font-size: var(--text-2xs);
  color: var(--green-800);
  background: var(--green-50);
  padding: 0.1875rem 0.5rem 0.1875rem 0.3125rem;
  border: 0.0625rem solid var(--green-800);
  border-radius: var(--rounded-xs);
  margin-top: 0.375rem;
}

.search-controls--hotels {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1.25rem;
  flex-direction: column;
  row-gap: 1.5rem;
  background: var(--cool-700);
  padding: 1rem 1rem 1.25rem;
  border-bottom: 0.3125rem solid var(--cool-400);
  border-radius: 0.1875rem 0.1875rem 0 0;
}
@media screen and (min-width: 800px) {
  .search-controls--hotels {
    flex-direction: row;
  }
}
.search-controls--deal-map {
  row-gap: 1.25rem;
  padding: 0;
  border: none;
  width: 100%;
}
@media screen and (min-width: 800px) {
  .search-controls--deal-map {
    flex-direction: column;
  }
}

/* ===============================================================================
   5. INTERACTIVE FORM COMPONENTS
   =============================================================================== */
/* ----- Guest Picker Container ----- */
/* ----- Input Group Base ----- */
.input-group {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 800px) {
  .input-group {
    max-width: 20rem;
  }
}
.input-group__icon {
  position: absolute;
  top: 0.6125rem;
  left: var(--spacing-sm);
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-xl);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  color: var(--cool-500);
  z-index: 1;
}
.input-group__icon--people::before {
  content: "people";
}
.input-group__icon--calendar::before {
  content: "date_range";
}
.input-group__input:not([type=range]) {
  padding-left: 2.5rem;
  margin-bottom: 0;
  min-width: 100%;
  box-shadow: none;
  cursor: pointer;
}
.input-group__label {
  left: 2.5rem;
  width: calc(100% - 2.5rem);
}

/* ----- People Picker Dropdown ----- */
.guest-picker,
.people-picker {
  position: absolute;
  top: 3.5rem;
  z-index: 1;
  display: flex;
  justify-content: start;
  row-gap: var(--spacing-md);
  background: var(--white);
  padding: 1.125rem;
  border-radius: var(--radius-md);
  min-width: 22.5rem;
  width: 100%;
  min-height: 14rem;
  box-shadow: var(--shadow-md), 0 0.375rem 1.25rem 0 rgba(0, 0, 0, 0.19);
  box-sizing: border-box;
}
.guest-picker.is-hidden,
.people-picker.is-hidden {
  display: none;
}
@media screen and (min-width: 800px) {
  .guest-picker__header,
  .people-picker__header {
    display: grid;
    grid-template-columns: 2rem 1fr 2rem;
    align-items: center;
    color: var(--white);
    background-color: var(--cool-600);
    border-radius: var(--spacing-lg);
    margin: 0 -var(--spacing-sm) 1.25rem;
    height: 2rem;
  }
}
.guest-picker__title,
.people-picker__title {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  text-align: center;
}
.guest-picker__header-icon,
.people-picker__header-icon {
  font-size: var(--text-size-lg);
}
.guest-picker__row,
.people-picker__row {
  flex-direction: row;
  column-gap: var(--spacing-sm);
  width: 100%;
}
.guest-picker__row--child-ages,
.people-picker__row--child-ages {
  flex-wrap: wrap;
}
.guest-picker__child-message,
.people-picker__child-message {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-semibold);
  margin: 0.5rem 0;
  width: 100%;
}
.guest-picker__child-select,
.people-picker__child-select {
  width: 100%;
}
.guest-picker__child-select .input-group__input,
.people-picker__child-select .input-group__input {
  padding-left: 2.5rem;
  margin-bottom: 0.625rem;
}
.guest-picker__child-select .input-group__label,
.people-picker__child-select .input-group__label {
  left: 2.5rem;
  width: calc(100% - 2.5rem);
}
.guest-picker__footer,
.people-picker__footer {
  width: 100%;
}

/* ----- Guest Picker Spinner Controls ----- */
.guest-picker__spinner {
  flex-direction: column;
  background-color: var(--cool-50);
  padding: 0.625rem 0 0.3125rem;
  border-radius: var(--radius-sm);
  min-width: 6rem;
  width: 100%;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
@media screen and (min-width: 800px) {
  .guest-picker__spinner {
    height: 3.75rem;
  }
}
.guest-picker__spinner-label {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  color: var(--cool-500);
  left: 0;
  margin-bottom: 0;
  width: 100%;
}
.guest-picker__spinner-controls {
  justify-content: center;
  column-gap: 0.625rem;
  width: 100%;
}
@media screen and (min-width: 800px) {
  .guest-picker__spinner-controls {
    column-gap: 0.1875rem;
  }
}
.guest-picker__spinner-button {
  font-family: system-ui, sans-serif;
  line-height: 0;
  text-decoration: none;
  white-space: nowrap;
  color: var(--cool-400);
  background-color: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  margin: 0;
  width: auto;
  height: auto;
  cursor: pointer;
  transition: color 0.2s ease;
}
.guest-picker__spinner-button:hover, .guest-picker__spinner-button:focus {
  color: var(--cool-600);
}
.guest-picker__spinner-button-icon {
  font-size: var(--text-size-2xl);
  line-height: 0;
}
@media screen and (min-width: 800px) {
  .guest-picker__spinner-button-icon {
    font-size: var(--text-size-xl);
  }
}

input:not([type=range]).guest-picker__spinner-value {
  font-size: var(--text-size-3xl);
  font-weight: var(--text-weight-bold);
  text-align: center;
  color: var(--bkme-neutral);
  background: transparent;
  padding: 0;
  margin: 0;
  width: 2rem;
  min-width: auto;
  min-height: min-content;
  box-shadow: none;
  pointer-events: none;
}
@media screen and (min-width: 800px) {
  input:not([type=range]).guest-picker__spinner-value {
    font-size: var(--text-size-2xl);
  }
}
input:not([type=range]).guest-picker__spinner-value--dirty {
  color: var(--black);
}

.property-photo .grid {
  gap: 0.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.property-photo .grid-item {
  border-radius: 0.5rem;
  height: 25rem;
  overflow: hidden;
}
.property-photo .grid-item:nth-child(3n+1) {
  grid-column: span 2;
}
.property-photo .grid-item img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.map {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden !important;
}
.map .newWrapper {
  display: grid;
  grid-template-rows: 4.5rem auto 4rem;
  height: 100vh;
}
@media only screen and (min-width: 768px) {
  .map .newWrapper {
    display: block;
  }
}
.map .newWrapper .nav-wrap {
  background-color: var(--cool-700);
}
.map .newWrapper .nav-wrap nav {
  max-width: initial;
}
.map .newWrapper .hero.fullSize-hero {
  display: none;
}
.map .newWrapper .bkmeNav {
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .map .newWrapper .pageWrapper {
    max-width: 100%;
    height: 100vh;
  }
}
.map .newWrapper .pageWrapper.productMap {
  padding: 0;
}
.map .newWrapper .pageWrapper.productMap .contentWrapper {
  padding: 0 3.5rem 0 4.875rem;
  margin: -3.5rem auto 0;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.2s ease;
}
@media only screen and (min-width: 768px) {
  .map .newWrapper .pageWrapper.productMap .contentWrapper {
    padding: 7rem 3rem 0;
    margin: 0;
    height: 100%;
  }
}
.map .newWrapper .pageWrapper.productMap .contentWrapper:has(#mapSearch-input:focus) {
  padding: 0 0.75rem;
  margin: -3.75rem auto 0;
}
@media only screen and (min-width: 768px) {
  .map .newWrapper .pageWrapper.productMap .contentWrapper:has(#mapSearch-input:focus) {
    padding: 7rem 3rem 0;
    margin: 0;
  }
}
.map .newWrapper .pageWrapper.productMap #googleMap {
  position: static;
}
.map .newWrapper #footWrapper {
  display: none;
}

.map .dealCard {
  justify-content: initial;
  position: relative;
  background-color: transparent;
  padding: 0;
  border-radius: 0;
  width: 20rem;
  max-width: 100%;
  height: auto;
  min-height: auto;
  box-shadow: none;
}
.map .dealCard:hover {
  cursor: pointer;
}
.map .dealCard .hd_dealName-wrap {
  display: grid;
  row-gap: 0.75rem;
}
.map .dealCard .hd_dealName-wrap .rankName-wrapper {
  position: relative;
}
.map .dealCard .hd_dealName-wrap .rankName-wrapper h3 {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-sm);
  width: 85%;
}
.map .dealCard .hd_dealName-wrap .dealFlag-mobile {
  position: relative;
  display: flex;
  align-items: center;
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-3xs);
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  text-transform: uppercase;
  text-align: center;
  padding: 0 0.625rem 0 1.25rem;
  margin: -2.1875rem 0 0 auto;
  border-radius: 0 0.125rem 0.125rem 0;
  height: 1.125rem;
  width: fit-content;
}
.map .dealCard .hd_dealName-wrap .dealFlag-mobile:before {
  position: absolute;
  top: calc(50% - 0.75rem);
  left: 0;
  content: "";
  border-top: 0.75rem solid transparent;
  border-left: 0.625rem solid var(--white);
  border-bottom: 0.75rem solid transparent;
  width: 0;
  height: 0;
}
.map .dealCard:has(.dealDiscount-1) .dealFlag-mobile {
  background: var(--warm-300);
}
.map .dealCard:has(.dealDiscount-2) .dealFlag-mobile {
  background: var(--warm-400);
}
.map .dealCard:has(.dealDiscount-3) .dealFlag-mobile {
  background: var(--warm-500);
}
.map .dealCard .hd_dealImage-wrap {
  position: static;
  border-radius: 0.5rem 0.5rem 0 0;
  margin-top: 0;
  width: auto;
  height: auto;
}
.map .dealCard .hd_dealDetails-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0.625rem 0.75rem 1rem;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
}
.map .dealCard .hd_dealDetails-wrap .hd_dealDates-wrap {
  display: grid;
}
.map .dealCard .hd_dealDetails-wrap .hd_dealPrice {
  width: 100%;
}
.map .dealCard .hd_dealDetails-wrap .hd_dealPrice strong {
  flex-direction: row;
  flex-wrap: wrap;
}
.map .dealCard .hd_dealDetails-wrap .hd_dealPrice strong span {
  margin: 0;
}

.map #googleMap {
  position: fixed !important;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.map #googleMap > div {
  height: calc(100vh + 27rem) !important;
}
@media only screen and (min-width: 768px) {
  .map #googleMap > div {
    padding-top: 6rem;
  }
}
.map #googleMap .gm-control-active.gm-fullscreen-control {
  margin: 1.25rem !important;
}
.map #googleMap .gm-style {
  font-family: inherit;
  text-align: left;
}
.map #googleMap .gm-style .gm-style-iw {
  font-weight: normal !important;
}
.map #googleMap .gm-style .gm-style-iw-c {
  top: -12.5rem;
  padding: 1rem 0.75rem 0.8125rem !important;
  max-width: fit-content !important;
}
.map #googleMap .gm-style .gm-style-iw-d {
  overflow: hidden !important;
}
.map #googleMap .gm-style .gm-style-iw-chr {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 100;
}
.map #googleMap .gm-style .gm-style-iw-chr .gm-ui-hover-effect > span {
  background-color: var(--cool-600);
}
.map #googleMap .gm-style .gm-style-iw-tc {
  top: -12.5rem;
}
.map #googleMap .gm-style button[aria-label="Toggle fullscreen view"] {
  display: none;
}

.map .marker {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: column;
  color: var(--white);
  text-align: center;
  vertical-align: middle;
  padding: 0.1875rem 0 0.375rem;
  border-radius: 0.25rem;
  margin-left: -1.5rem;
  box-sizing: border-box;
  width: 4rem;
  min-height: 3.5rem;
  filter: none;
  cursor: pointer;
  box-shadow: 0 0.75rem 1rem -0.25rem rgba(16, 24, 40, 0.08), 0 0.25rem 0.375rem -0.125rem rgba(16, 24, 40, 0.03);
}
.map .marker:before {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-2xl);
}
.map .marker:after {
  position: absolute;
  bottom: -0.6875rem;
  left: 1rem;
  content: "";
  border-top: 0.75rem solid transparent;
  border-right: 1rem solid transparent;
  width: 0;
  height: 0;
}
.map .marker.active {
  background-color: var(--cool-400);
  z-index: 1000 !important;
}
.map .marker.dealDiscount-fullPrice {
  background-color: var(--cool-600);
}
.map .marker.dealDiscount-fullPrice:after {
  border-top-color: var(--cool-600);
}
.map .marker.dealDiscount-1 {
  background-color: var(--warm-300);
}
.map .marker.dealDiscount-1:after {
  border-top-color: var(--warm-300);
}
.map .marker.dealDiscount-2 {
  background-color: var(--warm-400);
}
.map .marker.dealDiscount-2:after {
  border-top-color: var(--warm-400);
}
.map .marker.dealDiscount-3 {
  background-color: var(--warm-500);
}
.map .marker.dealDiscount-3:after {
  border-top-color: var(--warm-500);
}
.map .reductionPercent {
  font-size: var(--text-size-xs);
}
.map {
  /* -- ALL ACTIVITIES --- */
}
.map .categoryButton.allActivities:before {
  content: "check";
}
.map {
  /* -- ACCOMODATION ------*/
}
.map .categoryButton.accomodation:before,
.map .activity16:before {
  content: "hotel";
}
.map {
  /* -- ACTIVITIES ------- */
}
.map .categoryButton.activities:before,
.map .activity11:before {
  content: "settings_accessibility";
}
.map {
  /* -- ADVENTURE -------- */
}
.map .categoryButton.adventure:before,
.map .activity10:before {
  content: "snowboarding";
}
.map {
  /* -- AIR -------------- */
}
.map .categoryButton.air:before,
.map .activity1:before {
  content: "helicopter";
}
.map {
  /* -- ATTRACTIONS ------ */
}
.map .categoryButton.attractions::before,
.map .activity2::before {
  content: "festival";
}
.map {
  /* -- CHILL OUT -------- */
}
.map .categoryButton.chillout:before,
.map .activity7:before {
  content: "self_improvement";
}
.map {
  /* -- COMBO DEALS ------ */
}
.map .categoryButton.combodeals:before,
.map .activity6:before {
  content: "combine_columns";
}
.map {
  /* -- DINE OUT --------- */
}
.map .categoryButton.dineout:before,
.map .activity9:before {
  content: "local_dining";
}
.map {
  /* -- LAND ------------- */
}
.map .categoryButton.land:before,
.map .activity4:before {
  content: "hiking";
}
.map {
  /* -- RENTAL VEHICLES -- */
}
.map .categoryButton.rentalvehicles:before,
.map .activity8:before {
  content: "car_rental";
}
.map {
  /* -- RESTAURANTS ------ */
}
.map .categoryButton.restaurants:before,
.map .activity14:before {
  content: "local_dining";
}
.map {
  /* -- SNOW ------------- */
}
.map .categoryButton.snow:before,
.map .activity:before {
  content: "snowboarding";
}
.map {
  /* -- STAY ------------- */
}
.map .categoryButton.stay:before,
.map .activity15:before {
  content: "hotel";
}
.map {
  /* -- WATER ------------ */
}
.map .categoryButton.water:before,
.map .activity5:before {
  content: "sailing";
}
.map {
  /* -- TOURS ------------ */
}
.map .categoryButton.tours:before,
.map .activity12:before {
  content: "tour";
}

.map .marker.hotel-marker {
  gap: 0.1875em;
  color: var(--black);
  padding: 0.25rem 0.25rem 0.3125rem;
  width: auto;
  min-height: auto;
  box-shadow: 0 0.75rem 1rem -0.25rem rgba(16, 24, 40, 0.08), 0 0.25rem 0.375rem -0.125rem rgba(16, 24, 40, 0.03);
}
@media only screen and (min-width: 768px) {
  .map .marker.hotel-marker {
    gap: 0.3125rem;
    padding-bottom: 0.75rem;
    width: 5rem;
    min-height: 5rem;
    height: auto;
  }
}
.map .marker.hotel-marker .offer-price {
  color: var(--white);
  background: var(--green-950);
  padding: 0.1875rem;
  border-radius: 0.25rem;
  margin-bottom: 0.125rem;
  width: 100%;
}
.map .marker.hotel-marker .offer-price__inner {
  font-size: var(--text-xs);
  font-weight: var(--font-bold);
  padding: 0 0.5rem;
}
@media only screen and (min-width: 768px) {
  .map .marker.hotel-marker .offer-price__inner {
    font-size: var(--text-lg);
    padding: 0;
  }
}
.map .marker.hotel-marker .property-class__inner {
  display: flex;
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  line-height: 1;
  color: var(--yellow-800);
  align-items: center;
  gap: 0.1875rem;
}
@media only screen and (min-width: 768px) {
  .map .marker.hotel-marker .property-class__inner {
    font-size: var(--text-base);
  }
}
.map .marker.hotel-marker .property-class__inner .material-symbols-outlined {
  font-size: var(--text-sm);
  color: var(--yellow-700);
}
@media only screen and (min-width: 768px) {
  .map .marker.hotel-marker .property-class__inner .material-symbols-outlined {
    font-size: var(--text-lg);
  }
}
.map .marker.hotel-marker .user-review-descriptive {
  display: none;
}
@media only screen and (min-width: 768px) {
  .map .marker.hotel-marker .user-review-descriptive {
    display: none;
  }
}
.map .marker.hotel-marker .user-review-descriptive__inner {
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  line-height: 1.2;
}
.map .marker.hotel-marker .user-review-descriptive__label {
  display: block;
  font-size: var(--text-4xs);
}
.map .marker.hotel-marker:before {
  display: none;
}
.map .marker.hotel-marker:after {
  display: none;
}
.map .marker.hotel-marker.active {
  background-color: var(--cool-400);
  z-index: 1000 !important;
}
.map .marker.hotel-marker.dealDiscount-fullPrice {
  background-color: var(--white);
}
.map .marker.hotel-marker.dealDiscount-fullPrice:after {
  border-top-color: var(--white);
}
.map:has(.hotel-marker.active) .marker:not(.active)::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 0.25rem;
  transition: background 0.3s ease;
}

.map .filters-box {
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  width: 100%;
}

.map .mapToggles .deal-slider {
  display: none;
  row-gap: 0.75rem;
  margin: 2.5rem auto 0;
  width: 100%;
  max-width: 22.5rem;
}
@media only screen and (min-width: 768px) {
  .map .mapToggles .deal-slider {
    display: grid;
    margin-top: 0;
  }
}
.map .mapToggles .deal-slider .deal-slider_outer {
  position: relative;
}
.map .mapToggles .deal-slider .deal-slider_outer:before, .map .mapToggles .deal-slider .deal-slider_outer:after {
  position: absolute;
  font-style: italic;
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-light);
  color: var(--cool-200);
  text-align: right;
  width: fit-content;
}
.map .mapToggles .deal-slider .deal-slider_outer:before {
  top: 0.6875rem;
  right: 1rem;
  content: "Deals up to 99% off";
}
.map .mapToggles .deal-slider .deal-slider_outer:after {
  top: 4.9375rem;
  right: 1rem;
  content: "All Deals";
}
.map .mapToggles .deal-slider .deal-slider_outer.price:before {
  content: "Lower prices";
}
.map .mapToggles .deal-slider .deal-slider_outer.price:after {
  content: "All Hotels";
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner {
  position: relative;
  border-radius: 0.1875rem;
  height: 6.25rem;
  box-shadow: 0 0 0 0.0625rem var(--cool-500);
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner:before {
  position: absolute;
  right: 0.875rem;
  bottom: 3.625rem;
  content: "";
  border-top: 0.3125rem solid transparent;
  border-bottom: 0.3125rem solid transparent;
  border-left: 0.53125em solid var(--cool-200);
  width: 0;
  height: 0;
  transform: rotate(270deg);
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner:after {
  position: absolute;
  right: 0.125rem;
  bottom: 2.8125rem;
  content: "";
  background: var(--cool-200);
  width: 2rem;
  height: 0.125rem;
  transform: rotate(270deg);
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span {
  position: relative;
  display: block;
  height: 100%;
  width: 6.25rem;
  transform: rotate(270deg);
  transform-origin: center;
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  border-bottom: 6.25rem solid var(--cool-800);
  border-left: 6.25rem solid transparent;
  width: 0;
  height: 0;
  z-index: 1;
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range] {
  position: absolute;
  top: -0.125rem;
  left: -0.125rem;
  width: 6.25rem;
  height: 6.25rem;
  box-shadow: none;
  /* == WEBKIT == */
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range]::-webkit-slider-runnable-track {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to RIGHT, var(--warm-300) 0%, var(--warm-300) 19%, var(--white) 19%, var(--white) 21%, var(--warm-400) 21%, var(--warm-400) 39%, var(--white) 39%, var(--white) 41%, var(--warm-500) 41%, var(--warm-500) 100%);
  border-top-left-radius: 0.1875rem;
  width: 6.25rem;
  height: 6.25rem;
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range]::-webkit-slider-thumb {
  position: relative;
  bottom: 0.75rem;
  left: 0;
  border: 0.8rem solid var(--cool-200);
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  box-shadow: 0 0 0.5rem 0 rgba(var(--black-rgb), var(--alpha7));
  z-index: 1;
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range]::-webkit-slider-thumb:active {
  background-color: red;
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range] {
  /* == FIREFOX == */
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range]::-moz-range-track {
  background: -moz-linear-gradient(left, var(--warm-300) 0%, var(--warm-300) 19%, var(--white) 19%, var(--white) 21%, var(--warm-400) 21%, var(--warm-400) 39%, var(--white) 39%, var(--white) 41%, var(--warm-500) 41%, var(--warm-500) 100%);
  border-top-left-radius: 0.1875rem;
  width: 6.25rem;
  height: 6.25rem;
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range]::-moz-range-thumb {
  background-color: red;
  border: 0.7rem solid var(--cool-200);
  border-radius: 50%;
  box-shadow: 0 0 0.2rem 0 rgba(var(--black-rgb), var(--alpha7));
  width: 2.5rem;
  height: 2.5rem;
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range][disabled=disabled] {
  background: none;
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range][disabled=disabled]:hover {
  box-shadow: none;
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range][disabled=disabled] {
  /* == WEBKIT == */
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range][disabled=disabled]::-webkit-slider-runnable-track {
  background: linear-gradient(to RIGHT, #2B334F 0%, #2B334F 19%, #444B64 19%, #444B64 21%, #2B334F 21%, #2B334F 39%, #444B64 39%, #444B64 41%, #2B334F 41%, #2B334F 100%);
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range][disabled=disabled]::-webkit-slider-thumb {
  background: var(--neutral-300);
  border-color: var(--neutral-300);
  box-shadow: 0 0 0.5rem 0 rgba(var(--black-rgb), var(--alpha2));
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range][disabled=disabled] {
  /* == FIREFOX == */
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range][disabled=disabled]::-moz-range-track {
  background: linear-gradient(to RIGHT, rgb(83, 98, 105) 0%, rgb(83, 98, 105) 19%, rgb(105, 117, 123) 19%, rgb(105, 117, 123) 21%, rgb(83, 98, 105) 21%, rgb(83, 98, 105) 39%, rgb(105, 117, 123) 39%, rgb(105, 117, 123) 41%, rgb(83, 98, 105) 41%, rgb(83, 98, 105) 100%);
}
.map .mapToggles .deal-slider .deal-slider_outer .deal-slider_inner span input[type=range][disabled=disabled]::-moz-range-thumb {
  background-color: var(--black);
  border-color: var(--neutral-300);
}
.map .mapToggles .deal-slider .inputGroup label {
  color: var(--white);
}
.map .mapToggles.drawer .deal-slider {
  display: grid;
}

.map:has(.pac-item) .mapSearch-Wrapper .mapSearch #mapSearch-input:focus {
  border-radius: 0.5rem 0.5rem 0 0;
}
.map .mapSearch-Wrapper {
  margin: 0;
  width: 100%;
}
.map .mapSearch-Wrapper .mapSearch {
  font-family: "Open Sans";
  font-size: var(--text-size-13);
  line-height: 2.5;
  font-weight: var(--text-weight-normal);
}
.map .mapSearch-Wrapper .mapSearch #mapSearch-input {
  line-height: 1;
  padding-left: 2rem;
  background: var(--cool-800);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-400);
  color: var(--white);
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 0 3.125rem 0 2.25rem;
  border-radius: 1.5rem;
  height: 2.5rem;
  min-height: 2.5rem;
  transition: all 0.2s ease;
}
.map .mapSearch-Wrapper .mapSearch #mapSearch-input::placeholder {
  color: var(--white);
}
.map .mapSearch-Wrapper .mapSearch #mapSearch-input::placeholder {
  font-style: normal;
  font-size: var(--text-size-xs);
  color: var(--white);
}
.map .mapSearch-Wrapper .mapSearch #mapSearch-input::placeholder:focus {
  outline: none;
}
.map .mapSearch-Wrapper .mapSearch #mapSearch-input:focus, .map .mapSearch-Wrapper .mapSearch #mapSearch-input:active {
  color: var(--cool-700);
  font-style: normal;
  background-color: var(--white);
  box-shadow: none;
  padding-right: 2rem;
  border-radius: 0.5rem;
  height: 3rem;
}
.map .mapSearch-Wrapper .mapSearch i {
  position: absolute;
  bottom: 0.6875rem;
  left: 0.625rem;
  font-size: var(--text-size-xl);
  color: var(--cool-200);
}
.map .mapSearch-Wrapper .mapSearch .expandDrawer {
  position: absolute;
  bottom: 0.375rem;
  right: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.3125rem;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.1rem var(--cool-500);
  width: 1.75rem;
  height: 1.75rem;
  overflow: hidden;
  box-sizing: border-box;
  transition: all 0.2s ease;
  cursor: pointer;
}
.map .mapSearch-Wrapper .mapSearch .expandDrawer i {
  position: static;
  font-size: var(--text-size-lg);
}
.map .mapSearch-Wrapper .mapSearch:has(input:focus) i {
  bottom: 0.8125rem;
  color: var(--cool-500);
}
.map .mapSearch-Wrapper .mapSearch:has(input:focus) .expandDrawer {
  display: none;
}

@media only screen and (min-width: 768px) {
  .map:has(.pac-item) .mapSearch-Wrapper .mapSearch #mapSearch-input:focus {
    border-radius: 0.5rem;
  }
  .map .mapSearch-Wrapper .mapSearch {
    color: var(--black);
  }
  .map .mapSearch-Wrapper .mapSearch #mapSearch-input {
    font-size: var(--text-size-13);
    line-height: 5;
    color: var(--black);
    background: var(--white);
    border-radius: 0.5rem;
    padding: 0 1.25rem 0 2.125rem;
    height: 3rem;
    box-shadow: none;
  }
  .map .mapSearch-Wrapper .mapSearch #mapSearch-input::placeholder {
    color: var(--cool-700);
  }
  .map .mapSearch-Wrapper .mapSearch #mapSearch-input:focus, .map .mapSearch-Wrapper .mapSearch #mapSearch-input:active {
    font-style: normal;
    background-color: var(--white);
    padding-right: 1.25rem;
    box-shadow: none;
  }
  .map .mapSearch-Wrapper .mapSearch i {
    position: absolute;
    top: 2.125rem;
    bottom: initial;
    left: 1.75rem;
    font-size: var(--text-size-xl);
    color: var(--cool-400);
  }
  .map .mapSearch-Wrapper .mapSearch .expandDrawer {
    display: none;
  }
}
.pac-container {
  padding: 0 0 0.75rem;
  border-top: none;
  border-radius: 0 0 0.5rem 0.5rem;
  margin-top: 0;
  box-sizing: border-box;
  overflow: initial;
}
.pac-container .pac-item {
  font-size: var(--text-size-xs);
  padding: 0.25rem 0.875rem 0.125rem;
  border: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
.pac-container .pac-item:hover {
  color: var(--cool-500);
  background: var(--cool-50);
  box-shadow: inset 0 -0.0625rem 0 var(--cool-100), inset 0 0.0625rem 0 var(--cool-100);
}
.pac-container .pac-item:hover .pac-matched,
.pac-container .pac-item:hover .pac-item-query {
  color: var(--cool-500);
}
.pac-container .pac-item:hover .pac-matched:hover,
.pac-container .pac-item:hover .pac-item-query:hover {
  color: var(--cool-500);
}
.pac-container .pac-item .pac-item-query,
.pac-container .pac-item .pac-matched {
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-normal);
}
.pac-container .pac-item .pac-icon {
  display: none;
}
.pac-container.pac-logo:after {
  display: none;
}
@media only screen and (min-width: 768px) {
  .pac-container {
    border-radius: 0 0 0.5rem 0.5rem;
    margin-top: -0.5rem;
  }
}

.map .mapToggles {
  position: relative;
  z-index: 100;
  transition: all 0.2s ease;
}
.map .mapToggles .togglesClose {
  display: none;
  position: absolute;
  top: 1.5rem;
  right: 0.75rem;
  color: var(--white);
  z-index: 4;
  cursor: pointer;
}
.map .mapToggles h3 {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-lg);
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  text-align: center;
  padding: 0;
  border-top: 0;
  margin-top: 0;
  height: 4.5rem;
  width: 100%;
  box-shadow: inset 0 -0.1rem 0 var(--cool-600);
  /* Hotel H3 Style Overrides */
  background: transparent;
  border: none;
  border-radius: 0;
}
.map .mapToggles p.currency-note {
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-light);
  color: var(--cool-100);
  padding-top: 1rem;
  margin: 1rem auto;
  max-width: 22.5rem;
  box-shadow: inset 0 0.0625rem 0 var(--cool-600);
}
.map .mapToggles .category-toggles {
  display: none;
  row-gap: 0.5rem;
  margin: 0 auto;
  width: 100%;
  max-width: 22.5rem;
}
.map .mapToggles .category-toggles .region-categories {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.map .mapToggles .category-toggles .categoryButton {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 0.125rem;
  font-size: var(--text-size-11);
  color: var(--cool-200);
  border-radius: 0.25rem;
  width: 100%;
  height: 3.5rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-400);
  transition: all 0.2s ease;
  cursor: pointer;
}
.map .mapToggles .category-toggles .categoryButton:before {
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-lg);
}
.map .mapToggles .category-toggles .categoryButton:hover, .map .mapToggles .category-toggles .categoryButton.down {
  background: var(--cool-400);
  color: var(--white);
}
.map .mapToggles .category-toggles .categoryButton.down:hover {
  opacity: 0.8;
}
.map .mapToggles .category-toggles .categoryButton.accommodation {
  display: none;
}
.map .mapToggles .search-controls--deal-map,
.map .mapToggles .reservation-header {
  display: none;
}
@media only screen and (min-width: 768px) {
  .map .mapToggles .search-controls--deal-map,
  .map .mapToggles .reservation-header {
    display: flex;
  }
}
.map .mapToggles.drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  align-content: center;
  justify-content: center;
  background: var(--cool-800);
  padding: 0 1.5rem;
  width: 100%;
  box-sizing: border-box;
  z-index: 20;
}
.map .mapToggles.drawer .mapSearch-Wrapper {
  display: none;
}
.map .mapToggles.drawer h3 {
  display: flex;
}
.map .mapToggles.drawer .togglesClose {
  display: block;
}
.map .mapToggles.drawer .category-toggles {
  display: grid;
}
.map .mapToggles.drawer .reservation-header {
  display: flex;
}
.map .mapToggles.drawer .search-controls--deal-map {
  display: flex;
  justify-content: flex-start;
  gap: 1.75rem;
  background: transparent;
  height: 27rem;
}

@media only screen and (min-width: 768px) {
  .map .mapToggles {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    row-gap: 1.25rem;
    position: relative;
    background: var(--cool-800);
    padding: 1.25rem 1.25rem 1.25rem;
    border-radius: 0.5rem;
    width: 17.5rem;
    box-sizing: border-box;
    box-shadow: 0 1.125rem 2.5rem rgba(0, 0, 0, 0.3), 0 1rem 0.75rem rgba(0, 0, 0, 0.22);
    cursor: grab;
  }
  .map .mapToggles:has(#mapSearch-input:focus) {
    right: 0;
    left: 0;
    width: 17.5rem;
  }
  .map .mapToggles:active {
    cursor: grabbing;
  }
  .map .mapToggles p {
    display: none;
  }
  .map .mapToggles .category-toggles {
    display: grid;
  }
}
.mybookme-wrapper .booking-cards .mybookme-card .card-banner:has(.upcoming) {
  background: var(--green-600);
  box-shadow: inset 0 -0.0625rem var(--green-700);
}
.mybookme-wrapper .booking-cards .mybookme-card .card-banner:has(.upcoming) .card-item {
  color: var(--white);
}
.mybookme-wrapper .booking-cards .mybookme-card .card-banner:has(.upcoming) .btn {
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), inset 0 0 0 0.0625rem var(--cool-200);
}
.mybookme-wrapper .booking-cards .mybookme-card .card-banner:has(.upcoming) .btn:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), inset 0 0 0 0.125rem var(--cool-600);
}
.mybookme-wrapper .booking-cards .mybookme-card .booking-confirmation {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  background-color: var(--cool-600);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-700);
  border-radius: 0.875rem;
  height: 1.75rem;
}
.mybookme-wrapper .booking-cards .mybookme-card .booking-summary {
  display: grid;
  justify-content: flex-start;
  align-items: center;
  row-gap: 0.75rem;
}
.mybookme-wrapper .booking-cards .mybookme-card .booking-summary .manage-booking {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.1875rem;
  font-size: var(--text-size-xs);
  margin-top: 0.625rem;
}
.mybookme-wrapper .booking-cards .mybookme-card .booking-summary .manage-booking i {
  font-size: var(--text-size-lg);
  font-variation-settings: "FILL" 1;
}

.mybookme-wrapper .list-cards.find-more-lists {
  margin-top: 3rem;
}
.mybookme-wrapper .list-cards .mybookme-card {
  grid-template-rows: auto auto 1fr;
}
.mybookme-wrapper .list-cards .mybookme-card .card-banner:has(.lockedList) {
  background-color: var(--red-50);
  box-shadow: inset 0 -0.0625rem var(--red-100);
}
.mybookme-wrapper .list-cards .mybookme-card .listName-wrapper .avatar {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.5rem;
}
.mybookme-wrapper .list-cards .mybookme-card .listName-wrapper .avatar span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 5rem;
  font-variation-settings: "FILL" 1, "wght" 200;
  color: var(--neutral-300);
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  overflow: hidden;
}
.mybookme-wrapper .list-cards .mybookme-card .listName-wrapper .avatar span img {
  display: block;
  margin: 0;
  width: 4.625rem;
  clip-path: initial;
}
.mybookme-wrapper .list-cards .mybookme-card .productImage-wrapper {
  border-radius: 0.625rem 0.625rem 0 0;
  margin-bottom: 0;
}
.mybookme-wrapper .list-cards .mybookme-card .productImage-wrapper:has(+ .list-notes p:empty) {
  border-radius: 0.625rem;
}
.mybookme-wrapper .list-cards .mybookme-card .list-notes {
  font-size: var(--text-size-xs);
  color: var(--white);
  background-color: var(--cool-700);
  border-radius: 0 0 0.5rem 0.5rem;
  padding: 0.625rem 1rem 1.125rem;
  margin: -1rem 0 auto;
  min-height: 6rem;
  box-sizing: border-box;
}
.mybookme-wrapper .list-cards .mybookme-card .list-notes:has(p:empty) {
  background-color: transparent;
  min-height: initial;
}
.mybookme-wrapper .list-cards .mybookme-card .list-notes:has(p:empty) .no-notes {
  display: block;
  font-size: var(--text-size-11);
  color: var(--cool-500);
  text-align: center;
  margin-top: 0.625rem;
}
.mybookme-wrapper .list-cards .mybookme-card .list-notes:has(p:empty) .no-notes span {
  text-decoration: underline;
}
.mybookme-wrapper .list-cards .mybookme-card .list-notes:has(p:empty) .no-notes span:hover {
  text-decoration: none;
}
.mybookme-wrapper .list-cards .mybookme-card .list-notes .no-notes {
  display: none;
}

.infoCard-grid.mobileMessages-wrapper {
  position: static !important;
  height: auto !important;
}

@media only screen and (min-width: 768px) {
  .mybookme-wrapper .message-cards {
    grid-template-columns: 1fr;
  }
}
.mybookme-wrapper .message-cards .conversation-wrapper {
  display: grid;
  gap: 1rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--cool-200);
}
@media only screen and (min-width: 768px) {
  .mybookme-wrapper .message-cards .conversation-wrapper {
    grid-template-columns: 1fr 1fr;
  }
}
.mybookme-wrapper .message-cards .conversation-wrapper .mybookme-card .card-banner:has(.messages) {
  background: var(--green-600);
  box-shadow: inset 0 -0.0625rem var(--green-700);
}
.mybookme-wrapper .message-cards .conversation-wrapper .mybookme-card .card-banner:has(.messages) .card-item {
  color: var(--white);
}
.mybookme-wrapper .message-cards .conversation-wrapper .mybookme-card .booking-confirmation {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  background-color: var(--cool-600);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-700);
  border-radius: 0.875rem;
  height: 1.75rem;
}
.mybookme-wrapper .message-cards .conversation-wrapper .mybookme-card .booking-summary {
  display: grid;
  justify-content: flex-start;
  align-items: center;
  row-gap: 0.75rem;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread {
  display: grid;
  gap: 0.625rem;
  padding: 0 1rem;
  margin-bottom: auto;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .customerMessage,
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage {
  width: 100%;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .customerMessage .date-stamp,
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .date-stamp {
  font-size: var(--text-size-3xs);
  padding: 0 0.25rem 0.125rem;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .customerMessage .bubble,
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .bubble {
  position: relative;
  display: grid;
  row-gap: 0.1875rem;
  font-size: var(--text-size-13);
  line-height: 1.3;
  text-align: left;
  border-radius: 1.25rem;
  padding: 0.5rem 1.25rem 0.625rem;
  margin-bottom: auto;
  width: fit-content;
  max-width: calc(100% - 5rem);
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .customerMessage .bubble:before, .mybookme-wrapper .message-cards .conversation-wrapper .message-thread .customerMessage .bubble:after,
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .bubble:before,
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .bubble:after {
  position: absolute;
  bottom: -0.1rem;
  content: "";
  height: 1rem;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .customerMessage .bubble .who-said-what,
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .bubble .who-said-what {
  font-size: var(--text-size-3xs);
  text-align: left;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .customerMessage .bubble {
  color: var(--white);
  background: var(--cool-400);
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .customerMessage .bubble:before {
  left: -0.35rem;
  border-bottom-right-radius: 0.8rem 0.7rem;
  border-left: 1rem solid var(--cool-400);
  transform: translate(0, -0.1rem);
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .customerMessage .bubble:after {
  left: 1.25rem;
  background-color: var(--white);
  border-bottom-right-radius: 0.5rem;
  transform: translate(-1.875rem, -0.125rem);
  width: 0.625rem;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage div {
  text-align: right;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .bubble {
  color: var(--black);
  background: var(--neutral-200);
  margin-left: auto;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .bubble:before {
  right: -0.35rem;
  border-bottom-left-radius: 0.8rem 0.7rem;
  border-right: 1rem solid var(--neutral-200);
  transform: translate(0, -0.1rem);
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .bubble:after {
  right: -2.5rem;
  background-color: var(--white);
  border-bottom-left-radius: 0.5rem;
  transform: translate(-1.875rem, -0.125rem);
  width: 0.625rem;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .helpfulResponse {
  display: flex;
  column-gap: 0.1875rem;
  justify-content: flex-end;
  align-items: center;
  font-size: var(--text-size-11);
  line-height: 1;
  color: var(--cool-500);
  margin: 0.375rem 0.75rem 0 0;
  transition: all 0.2s ease;
  cursor: pointer;
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .helpfulResponse i {
  font-size: var(--text-size-sm);
}
.mybookme-wrapper .message-cards .conversation-wrapper .message-thread .operatorMessage .helpfulResponse:hover {
  color: var(--green-700);
}

.mybookme-wrapper form {
  padding: 0.75rem 1.25rem 0.625rem;
}
.mybookme-wrapper form .dropzone-box,
.mybookme-wrapper form .socialFeeds-box {
  margin: 2rem auto 0;
  width: 100%;
  max-width: 25rem;
  box-sizing: border-box;
}
.mybookme-wrapper form .dropzone-box .instagram:after,
.mybookme-wrapper form .dropzone-box .tiktok:after,
.mybookme-wrapper form .socialFeeds-box .instagram:after,
.mybookme-wrapper form .socialFeeds-box .tiktok:after {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0.5rem;
  right: 0.625rem;
  content: "";
  background-image: url(../images/instagram-logo-icon.png);
  background-size: cover;
  width: 2rem;
  height: 2rem;
}
.mybookme-wrapper form .dropzone-box .instagram input,
.mybookme-wrapper form .dropzone-box .tiktok input,
.mybookme-wrapper form .socialFeeds-box .instagram input,
.mybookme-wrapper form .socialFeeds-box .tiktok input {
  padding-right: 3.25rem;
}
.mybookme-wrapper form .dropzone-box .tiktok:after,
.mybookme-wrapper form .socialFeeds-box .tiktok:after {
  background-image: url(../images/tiktok-logo-icon.png);
}

.mybookme-wrapper:has(.user-activity) .user-settings {
  padding-bottom: 0;
  box-shadow: none;
}
.mybookme-wrapper .user-settings {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1.5rem;
  box-shadow: inset 0 -0.1875rem 0 var(--cool-200);
}
.mybookme-wrapper .user-settings .user-profile {
  display: flex;
  justify-content: space-around;
  align-items: center;
  column-gap: 0.75rem;
}
.mybookme-wrapper .user-settings .user-profile .myAvatar {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.5rem;
}
.mybookme-wrapper .user-settings .user-profile .myAvatar span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 5rem;
  font-variation-settings: "FILL" 1, "wght" 200;
  color: var(--neutral-300);
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  overflow: hidden;
}
.mybookme-wrapper .user-settings .user-profile .myAvatar span img {
  display: block;
  margin: 0;
  width: 4.625rem;
  clip-path: initial;
}
.mybookme-wrapper .user-settings .user-profile .user-details {
  display: grid;
  line-height: 1.5;
  color: var(--cool-600);
}
.mybookme-wrapper .user-settings .user-profile .user-details h3 {
  font-size: var(--text-size-15);
  text-align: left;
  margin: 0;
}
.mybookme-wrapper .user-settings .user-profile .user-details p {
  font-size: var(--text-size-11);
}
.mybookme-wrapper .user-settings .myBookme-settings {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--cool-500);
  background-color: var(--cool-100);
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  box-shadow: 0 0 0 0.0625rem var(--cool-200);
  transition: all 0.2s;
  cursor: pointer;
}
.mybookme-wrapper .user-settings .myBookme-settings.active, .mybookme-wrapper .user-settings .myBookme-settings:hover {
  color: var(--white);
  background-color: var(--cool-500);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500);
}
.mybookme-wrapper .user-settings .myBookme-settings .settings-trigger {
  font-size: var(--text-size-base);
  margin-right: -0.25rem;
}
.mybookme-wrapper .user-settings .myBookme-settings .settings-trigger:after {
  content: "arrow_drop_down";
  font-family: "Material Symbols Outlined";
  margin-left: -0.3125rem;
}
.mybookme-wrapper .user-settings .myBookme-settings ul {
  position: absolute;
  top: 0.375rem;
  right: 0.375rem;
  color: var(--cool-500);
  background: var(--white);
  padding: 0.3125rem 0;
  border-radius: 0.1875rem;
  width: 12.1875rem;
  box-sizing: border-box;
  box-shadow: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.19), 0 0.375rem 0.375rem rgba(0, 0, 0, 0.23);
  z-index: 1;
}
.mybookme-wrapper .user-settings .myBookme-settings ul li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 0.3125rem;
  font-size: var(--text-size-xs);
  line-height: 3;
  font-weight: var(--text-weight-normal);
  padding: 0 1.25rem;
}
.mybookme-wrapper .user-settings .myBookme-settings ul li:hover {
  background-color: var(--cool-50);
}
.mybookme-wrapper .user-settings .myBookme-settings ul li.divider {
  border-top: 0.0625rem solid var(--cool-200);
  margin-top: 0.1875rem;
}
.mybookme-wrapper .user-settings .myBookme-settings ul li span {
  font-size: var(--text-size-lg);
}
.mybookme-wrapper .user-settings .myBookme-settings ul li amount {
  font-weight: var(--text-weight-semibold);
}
.mybookme-wrapper.public-profile:has(.edit-profile-link) .user-bio {
  display: flex;
}
.mybookme-wrapper:has(.edit-profile-link) .user-bio {
  display: none;
}
.mybookme-wrapper:has(.edit-profile-link) .user-activity {
  margin-top: 1rem;
}
@media only screen and (min-width: 768px) {
  .mybookme-wrapper:has(.edit-profile-link) .user-activity {
    margin-top: 0;
  }
}
.mybookme-wrapper .create-user-bio,
.mybookme-wrapper .public-bio-view {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1rem 0 1.25rem;
  border-bottom: 0.0625rem solid var(--cool-100);
  margin: -1.5rem auto 2rem;
}
@media only screen and (min-width: 768px) {
  .mybookme-wrapper .create-user-bio,
  .mybookme-wrapper .public-bio-view {
    padding-bottom: 1rem;
    margin-top: -3rem;
  }
}
.mybookme-wrapper .create-user-bio p,
.mybookme-wrapper .public-bio-view p {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 0.25rem;
  font-size: var(--text-size-11);
  line-height: var(--text-leading-2xs);
  font-weight: var(--text-weight-normal);
  color: var(--white);
  background: var(--purple-800);
  padding: 0.625rem 0.75rem;
  border-radius: 0.1875rem;
  width: 100%;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .mybookme-wrapper .create-user-bio p,
  .mybookme-wrapper .public-bio-view p {
    flex-direction: row;
    column-gap: 0.25rem;
    margin: 0;
  }
}
.mybookme-wrapper .create-user-bio p .edit-profile-link,
.mybookme-wrapper .public-bio-view p .edit-profile-link {
  text-decoration: underline;
}
.mybookme-wrapper .create-user-bio p .icons,
.mybookme-wrapper .public-bio-view p .icons {
  display: flex;
  align-items: center;
}
.mybookme-wrapper .create-user-bio p .icons i,
.mybookme-wrapper .public-bio-view p .icons i {
  font-size: var(--text-size-lg);
}
.mybookme-wrapper .create-user-bio p:empty,
.mybookme-wrapper .public-bio-view p:empty {
  display: none;
}
.mybookme-wrapper .user-bio {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  margin: 1rem auto 1.5rem;
  width: 100%;
  max-width: 40rem;
}
@media only screen and (min-width: 768px) {
  .mybookme-wrapper .user-bio {
    margin-top: 0;
  }
}
.mybookme-wrapper .user-bio p {
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
}
.mybookme-wrapper .user-bio:has(a) {
  row-gap: 0.75rem;
}
.mybookme-wrapper .user-bio:has(.bio:empty) {
  row-gap: 0;
}
.mybookme-wrapper .user-bio .social-links {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1rem;
}
.mybookme-wrapper .user-bio .social-links .badge {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  background-repeat: no-repeat;
  background-size: cover;
}
.mybookme-wrapper .user-bio .social-links .badge.instagram {
  background-image: url(../images/instagram-logo-icon.png);
}
.mybookme-wrapper .user-bio .social-links .badge.tiktok {
  background-image: url(../images/tiktok-logo-icon.png);
}
.mybookme-wrapper .user-activity {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-3xs);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  text-transform: uppercase;
  padding: 0 0 1rem;
  border-bottom: 0.1875rem solid var(--cool-200);
  margin-bottom: 1.5rem;
}
.mybookme-wrapper .user-activity div {
  display: grid;
  flex-wrap: wrap;
  justify-content: center;
}
.mybookme-wrapper .user-activity div:nth-of-type(2) span {
  border-right: 0.0625rem solid var(--cool-200);
  border-left: 0.0625rem solid var(--cool-200);
}
.mybookme-wrapper .user-activity div span {
  font-size: var(--text-size-xl);
  line-height: 1.2;
  width: 5rem;
}
.mybookme-wrapper .user-navigation {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  text-transform: uppercase;
}
.mybookme-wrapper .user-navigation div {
  display: grid;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 0.125rem;
  color: var(--cool-500);
  transition: all 0.2s;
  cursor: pointer;
}
.mybookme-wrapper .user-navigation div:hover {
  color: var(--cool-600);
}
.mybookme-wrapper .user-navigation div i {
  line-height: 1.2;
  width: 6rem;
}
.mybookme-wrapper .user-navigation div:nth-of-type(2) i {
  border-right: 0.0625rem solid var(--cool-200);
  border-left: 0.0625rem solid var(--cool-200);
}
.mybookme-wrapper .user-navigation div.active {
  color: var(--warm-500);
}

.mybookme-wrapper .tab-wrapper {
  display: grid;
  grid-row-gap: 2rem;
  margin: 3rem auto 0;
  width: 100%;
  max-width: 48rem;
}
.mybookme-wrapper .booking-cards,
.mybookme-wrapper .list-cards,
.mybookme-wrapper .message-cards {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .mybookme-wrapper .booking-cards:not(.message-cards),
  .mybookme-wrapper .list-cards:not(.message-cards),
  .mybookme-wrapper .message-cards:not(.message-cards) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2rem;
    row-gap: 2.5rem;
  }
}
.mybookme-wrapper .booking-cards .mybookme-card,
.mybookme-wrapper .list-cards .mybookme-card,
.mybookme-wrapper .message-cards .mybookme-card {
  display: grid;
  row-gap: 1rem;
  padding: 1rem 1rem 1.3125rem;
  cursor: pointer;
}
.mybookme-wrapper .booking-cards .mybookme-card:has(.card-banner):hover,
.mybookme-wrapper .list-cards .mybookme-card:has(.card-banner):hover,
.mybookme-wrapper .message-cards .mybookme-card:has(.card-banner):hover {
  box-shadow: inset 0 0 0 0.1875rem var(--cool-500), inset 0 -0.1875rem 0 var(--cool-500), 0 -0.0625rem 0 var(--cool-500);
}
.mybookme-wrapper .booking-cards .mybookme-card:has(.card-banner):hover .card-banner,
.mybookme-wrapper .list-cards .mybookme-card:has(.card-banner):hover .card-banner,
.mybookme-wrapper .message-cards .mybookme-card:has(.card-banner):hover .card-banner {
  padding: 0.42rem 0.85rem 0.5rem;
  margin: -0.85rem -0.8rem 0;
}
.mybookme-wrapper h2 {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
  text-align: center;
}
.mybookme-wrapper h2.other-users {
  margin-top: 3rem;
}
.mybookme-wrapper h3 {
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  color: var(--cool-700);
  text-align: center;
  letter-spacing: -0.025rem;
  margin: 1rem 0 2rem;
}
.mybookme-wrapper .btn-row {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1.25rem;
  margin: 3rem 0 1.5rem;
}
.mybookme-wrapper .productName-wrapper,
.mybookme-wrapper .listName-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mybookme-wrapper .productName-wrapper:has(.avatar),
.mybookme-wrapper .listName-wrapper:has(.avatar) {
  display: grid;
  grid-template-columns: auto 3rem;
}
.mybookme-wrapper .productName-wrapper h3,
.mybookme-wrapper .listName-wrapper h3 {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  text-align: left;
  margin: 0;
}
.mybookme-wrapper .productName-wrapper h3 a,
.mybookme-wrapper .listName-wrapper h3 a {
  color: var(--cool-700);
}
.mybookme-wrapper .productName-wrapper h3 .creator,
.mybookme-wrapper .listName-wrapper h3 .creator {
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-2xs);
  font-weight: var(--text-weight-normal);
  margin-top: 0.125rem;
}
.mybookme-wrapper .productName-wrapper h3 .creator strong,
.mybookme-wrapper .listName-wrapper h3 .creator strong {
  display: block;
  font-weight: var(--text-weight-semibold);
  color: var(--cool-500);
}
.mybookme-wrapper .productImage-wrapper {
  position: relative;
  display: flex;
  border-radius: 0.625rem;
  margin-bottom: 0.3125rem;
  max-height: 11.875rem;
  overflow: hidden;
}
.mybookme-wrapper .productImage-wrapper img {
  display: block;
  width: 100%;
  object-fit: cover;
}
.mybookme-wrapper .productImage-wrapper .icon-total {
  position: absolute;
  display: flex;
  align-items: center;
  column-gap: 0.125rem;
  color: var(--white);
  z-index: 0;
}
.mybookme-wrapper .productImage-wrapper .icon-total.favouriteObj-total {
  bottom: 1rem;
  left: 1rem;
}
.mybookme-wrapper .productImage-wrapper .icon-total.productObj-total {
  top: 1rem;
  right: 1rem;
}
.mybookme-wrapper .card-item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  column-gap: 0.675rem;
  color: var(--cool-600);
}
.mybookme-wrapper .card-item i {
  font-size: var(--text-size-xl);
  margin-top: 0.25rem;
}
.mybookme-wrapper .card-item .item-text {
  display: grid;
  justify-content: flex-start;
  align-items: center;
  row-gap: 0.125rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
}
.mybookme-wrapper .card-item .item-text .item-title {
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-semibold);
  text-transform: uppercase;
}
.mybookme-wrapper .card-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--cool-25);
  padding: 0.5rem 1rem;
  border-radius: 0.625rem 0.625rem 0 0;
  margin: -0.9375rem -0.9375rem 0;
  height: 2.25rem;
  box-shadow: inset 0 -0.0625rem var(--cool-200);
  transition: all 0.2s ease-in;
}
.mybookme-wrapper .card-banner .card-item {
  align-items: center;
  column-gap: 0.5rem;
  font-size: var(--text-size-11);
}
.mybookme-wrapper .card-banner .card-item i {
  font-size: var(--text-size-3xl);
  font-variation-settings: "FILL" 0;
}
.mybookme-wrapper .card-banner .card-item .item-text {
  row-gap: 0;
  font-size: var(--text-size-11);
}
.mybookme-wrapper .no-records {
  display: grid;
  grid-template-rows: auto auto;
  align-items: flex-start;
  color: var(--cool-700);
  text-align: center;
  padding: 0 0 1.3125rem;
  border-radius: 0.625rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
}
.mybookme-wrapper .no-records .no-records-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--cool-700);
  padding: 1rem;
  border-radius: 0.625rem 0.625rem 0 0;
}
.mybookme-wrapper .no-records span {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--white);
  background-image: linear-gradient(135deg, rgb(238, 20, 16) 0, rgb(236, 55, 0) 44%, rgb(240, 68, 0) 56%, rgb(252, 92, 0) 100%);
  border-radius: 50%;
  width: 3.75rem;
  height: 3.75rem;
  box-shadow: inset 0 0 0 0.25rem var(--white), 0.1875rem 0.375rem rgba(0, 0, 0, 0.16), 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.23);
}
.mybookme-wrapper .no-records .no-records-text {
  display: block;
  padding: 0 1rem;
}
.mybookme-wrapper .no-records .no-records-text h3 {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  margin-bottom: 0.625rem;
}
.mybookme-wrapper .no-records .no-records-text p {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
}
@media only screen and (min-width: 768px) {
  .mybookme-wrapper .no-records {
    grid-template-columns: auto auto;
    grid-template-rows: initial;
    align-items: center;
    column-gap: 1rem;
    text-align: left;
    padding: 1rem;
  }
  .mybookme-wrapper .no-records .no-records-icon {
    padding: 0;
    border-radius: 0.375rem;
    width: 7.5rem;
    height: 7.5rem;
  }
  .mybookme-wrapper .no-records .no-records-icon span {
    width: 4.5rem;
    height: 4.5rem;
  }
  .mybookme-wrapper .no-records .no-records-text {
    padding: 0;
  }
  .mybookme-wrapper .no-records .no-records-text h3 {
    text-align: left;
    margin-top: 0;
  }
}

.regionPage .regionSummary {
  margin: 2rem auto;
}
.regionPage .regionSummary p {
  font-size: var(--text-size-15);
  line-height: var(--text-leading-base);
}

.mybookme-wrapper h2 {
  max-width: 37.5rem;
  margin: 0 auto 2rem;
}
.mybookme-wrapper .list-cards:has(+ .list-cards) {
  margin-bottom: 2.5rem;
}
.mybookme-wrapper .list-cards .mybookme-card {
  grid-template-rows: auto auto 1fr;
}
.mybookme-wrapper .list-cards .mybookme-card .card-banner h4 {
  font-size: var(--text-size-xs);
  line-height: 1.3;
  color: var(--cool-500);
  max-width: 12.5rem;
}
.mybookme-wrapper .list-cards .mybookme-card .productName-wrapper h3 {
  font-style: italic;
}
.mybookme-wrapper .list-cards .mybookme-card .productName-wrapper h3 .creator {
  font-style: normal;
}

.review-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin: 2rem 0 0;
}
.review-wrapper .review-content {
  display: flex;
  flex-direction: column;
  row-gap: 0.3125rem;
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  margin: 0 0 2rem;
}
.review-wrapper .review-content strong {
  font-weight: 700;
  color: var(--cool-500);
}
.review-wrapper .review-hero {
  position: relative;
  border-radius: 0.625rem;
  overflow: hidden;
}
.review-wrapper .review-hero:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: linear-gradient(45deg, rgba(var(--black-rgb), var(--alpha8)) 0%, rgba(var(--black-rgb), 0) 50%);
}
.review-wrapper .review-hero > img {
  display: block;
  width: 100%;
  height: clamp(17.5rem, 9.835rem + 34.069vw, 26.188rem);
  object-fit: cover;
}
.review-wrapper .review-hero .review-title {
  display: grid;
  align-items: center;
  grid-template-rows: 6rem auto auto;
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
}
.review-wrapper .review-hero .review-title h2 {
  font-size: var(--text-size-base);
  font-weight: var(--text-weight-bold);
  line-height: var(--text-leading-base);
  text-align: left;
  padding: 0;
  border: none;
  margin: 0.25rem 0 0.5rem;
}
.review-wrapper .review-hero .review-title h2 a {
  color: var(--white);
}
.review-wrapper .photo-grid .photo img {
  height: clamp(17.5rem, 9.835rem + 34.069vw, 26.188rem);
  max-height: initial;
}
.review-wrapper .browse-and-book {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3125rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  margin-top: 1rem;
}
.review-wrapper .browse-and-book img {
  width: 4rem;
}
.review-wrapper .browse-and-book a {
  color: var(--black);
  text-align: center;
  margin: 0;
}
.review-wrapper .browse-and-book a span {
  color: var(--cool-500);
  text-decoration: underline;
  cursor: pointer;
}

@media only screen and (min-width: 768px) {
  .review-wrapper .review-content {
    font-size: var(--text-size-base);
    line-height: var(--text-leading-base);
  }
  .review-wrapper .review-hero img {
    height: 100%;
  }
  .review-wrapper .review-hero .review-title {
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }
  .review-wrapper .review-hero .review-title h2 {
    font-size: var(--text-size-2xl);
  }
  .review-wrapper .photo-grid .photo img {
    height: 100%;
  }
}
.createReview .photo-grid {
  margin-top: 2rem;
}
.createReview .createReview-box {
  margin: 3rem auto 0;
  max-width: 48rem;
}
.createReview .createReview-box h3 {
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  color: var(--cool-700);
  text-align: center;
  letter-spacing: -0.025rem;
  margin: 1rem 0 2rem;
}
.createReview .createReview-box .btn-row {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1.25rem;
  margin: 3rem 0 1.5rem;
}
.createReview .createReview-box .dropzone-box {
  margin: 2rem auto 1.5rem;
  width: 100%;
  max-width: 25rem;
  box-sizing: border-box;
}
.createReview .createReview-box .user-rating {
  position: relative;
  display: grid;
  grid-template-rows: auto 2.75rem;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-xs);
  color: var(--vool-200);
  background-color: var(--white);
  padding: 0.75rem 0;
  border-radius: 20rem;
  margin: 2rem auto 0;
  width: 100%;
  max-width: 25rem;
  height: 6rem;
  box-shadow: inset 0 0 0 1px var(--cool-200);
  box-sizing: border-box;
  transition: all 0.2s ease;
}
.createReview .createReview-box .user-rating:hover {
  box-shadow: inset 0px 0px 0px 3px var(--cool-500);
}
.createReview .createReview-box .user-rating:hover h3 {
  color: var(--cool-500);
}
.createReview .createReview-box .user-rating p {
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-normal);
  color: var(--cool-700);
  text-align: center;
  margin: 0;
  width: 100%;
}
.createReview .createReview-box .user-rating .valError {
  position: absolute;
  bottom: -2.25rem;
  left: 25%;
  font-size: var(--text-size-xs);
  line-height: 2;
  text-align: center;
  background-color: var(--cool-200);
  border: 1px solid var(--bkme-error);
  border-radius: 1.25rem;
  width: 50%;
}
.createReview .createReview-box .user-rating .stars {
  display: flex;
  justify-content: center;
  align-items: center;
}
.createReview .createReview-box .user-rating .stars span input {
  display: none;
}
.createReview .createReview-box .user-rating .stars span input:checked ~ label {
  transition: all 0.2s ease;
}
.createReview .createReview-box .user-rating .stars span input:checked ~ label:before {
  content: "star";
  font-variation-settings: "FILL" 1;
  color: var(--gold-500);
}
.createReview .createReview-box .user-rating .stars span input:checked + label + span {
  display: block;
  position: absolute;
  bottom: -0.75rem;
  left: calc(50% - 4rem);
  content: "";
  font-size: var(--text-size-xs);
  color: var(--white);
  line-height: 1.5rem;
  text-align: center;
  background-color: var(--cool-600);
  padding: 0;
  border-radius: 2rem;
  width: 8.125rem;
}
.createReview .createReview-box .user-rating .stars span label {
  position: static;
  font-size: var(--text-size-4xl);
  color: var(--cool-500);
  line-height: 1.3;
  padding: 0;
  margin: 0;
  transition: all 0.2s ease;
  width: auto;
  cursor: pointer;
  pointer-events: all;
}
.createReview .createReview-box .user-rating .stars span label:before {
  content: "star";
  font-family: "Material Symbols Outlined";
}
.createReview .createReview-box .user-rating .stars span label:hover {
  color: var(--gold-500);
}
.createReview .createReview-box .user-rating .stars span label + span {
  display: none;
}
.createReview .createReview-box .user-rating .stars:has(.star-2:checked) span label.star-1:before {
  content: "star";
  font-variation-settings: "FILL" 1;
  color: var(--gold-500);
}
.createReview .createReview-box .user-rating .stars:has(.star-3:checked) span label.star-1:before, .createReview .createReview-box .user-rating .stars:has(.star-3:checked) span label.star-2:before {
  content: "star";
  font-variation-settings: "FILL" 1;
  color: var(--gold-500);
}
.createReview .createReview-box .user-rating .stars:has(.star-4:checked) span label.star-1:before, .createReview .createReview-box .user-rating .stars:has(.star-4:checked) span label.star-2:before, .createReview .createReview-box .user-rating .stars:has(.star-4:checked) span label.star-3:before {
  content: "star";
  font-variation-settings: "FILL" 1;
  color: var(--gold-500);
}
.createReview .createReview-box .user-rating .stars:has(.star-5:checked) span label.star-1:before, .createReview .createReview-box .user-rating .stars:has(.star-5:checked) span label.star-2:before, .createReview .createReview-box .user-rating .stars:has(.star-5:checked) span label.star-3:before, .createReview .createReview-box .user-rating .stars:has(.star-5:checked) span label.star-4:before {
  content: "star";
  font-variation-settings: "FILL" 1;
  color: var(--gold-500);
}
.createReview .browse-and-book {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3125rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  text-align: center;
  margin: 1rem auto 0;
  max-width: 22.5rem;
}
.createReview .browse-and-book img {
  width: 4rem;
}
.createReview .browse-and-book a {
  color: var(--black);
  text-align: center;
  margin: 0;
}
.createReview .browse-and-book a span {
  color: var(--cool-500);
  text-decoration: underline;
  cursor: pointer;
}

.reviewError-wrapper {
  display: grid;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-sm);
  color: var(--white);
  text-align: center;
  margin: 2rem 0;
  padding: 0.5rem 0.75rem;
  border-radius: 0.125rem;
}
@media only screen and (min-width: 768px) {
  .reviewError-wrapper {
    display: flex;
    justify-content: flex-start;
    gap: 0.75rem;
    text-align: left;
  }
}
.reviewError-wrapper i {
  font-size: var(--text-size-5xl);
}
@media only screen and (min-width: 768px) {
  .reviewError-wrapper i {
    font-size: var(--text-size-4xl);
  }
}
.reviewError-wrapper strong {
  font-weight: var(--text-weight-semibold);
}
.reviewError-wrapper.thanks-message {
  background-color: var(--green-800);
}
.reviewError-wrapper.previous-submission {
  color: var(--cool-700);
  background-color: var(--cool-100);
  box-shadow: 0 0 0 0.125rem var(--cool-200);
}
.reviewError-wrapper.error-message {
  color: var(--red-800);
  background-color: var(--red-100);
  box-shadow: 0 0 0 0.125rem var(--red-200);
}

.reviewVis {
  width: 100%;
}
.reviewVis .reviewVis-row {
  display: grid;
  grid-gap: 0.625rem;
  grid-template-columns: 2.5rem 1fr 2.5rem;
  align-items: center;
  font-size: var(--text-size-2xs);
  height: 2rem;
}
.reviewVis .reviewVis-row a {
  text-align: right;
  text-decoration: none;
}
.reviewVis .reviewVis-row .activityRatingGraph {
  background: var(--cool-200);
  height: 2rem;
  box-shadow: inset 0 -0.0625rem 0 var(--white);
}
.reviewVis .reviewVis-row .activityRatingGraph:hover {
  cursor: pointer;
}
.reviewVis .reviewVis-row .activityRatingGraph div {
  height: 2rem;
  box-shadow: inset 0 -0.0625rem 0 var(--white);
}
.reviewVis .reviewVis-row .activityRatingGraph div.fiveStar {
  background-color: var(--green-600);
}
.reviewVis .reviewVis-row .activityRatingGraph div.fourStar {
  background-color: var(--warm-400);
}
.reviewVis .reviewVis-row .activityRatingGraph div.threeStar {
  background-color: var(--warm-200);
}
.reviewVis .reviewVis-row .activityRatingGraph div.twoStar {
  background-color: var(--warm-300);
}
.reviewVis .reviewVis-row .activityRatingGraph div.oneStar {
  background-color: var(--warm-600);
}

.ratingActivityCircle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--white);
  background: var(--cool-700);
  border-radius: 50%;
  height: 10rem;
  width: 10rem;
}
.ratingActivityCircle h3 {
  display: block;
  font-family: "Open Sans Condensed", sans-serif;
  font-size: 3rem;
  line-height: 1.3;
  font-weight: var(--text-weight-light);
}
.ratingActivityCircle .review-count {
  font-size: var(--text-size-2xs);
  margin-top: 0.25rem;
}
.ratingActivityCircle .circleRating-stars,
.ratingActivityCircle .circleRating-percentage {
  position: relative;
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-3xl);
  letter-spacing: -0.75rem;
}
.ratingActivityCircle .circleRating-stars:before,
.ratingActivityCircle .circleRating-percentage:before {
  position: relative;
  left: -0.4rem; /* offsets the stars to account for their individual character width */
  content: "\e838\e838\e838\e838\e838";
  font-variation-settings: "wght" 100;
}
.ratingActivityCircle .circleRating-percentage {
  position: absolute;
  top: 0;
  overflow: hidden;
}
.ratingActivityCircle .circleRating-percentage:before {
  font-variation-settings: "FILL" 1, "wght" 100;
}

.ratingCircle-wrapper {
  width: 10rem;
}
.ratingCircle-wrapper .item {
  display: block;
  height: 0;
}

.ratingsWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-column-gap: 1rem;
  grid-row-gap: 2rem;
  flex-direction: column;
  padding-bottom: 2.75rem;
  border-bottom: 0.0625rem solid var(--cool-200);
  margin: 0 auto 2.5rem;
}
.ratingsWrapper .reviewVis-wrapper {
  width: 100%;
  max-width: 25rem;
}

@media only screen and (min-width: 768px) {
  .ratingsWrapper {
    flex-direction: row;
  }
}
.reviewWrapper {
  margin: 5rem 0 0;
}
.reviewWrapper h2 {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
  font-weight: var(--text-weight-bold);
  color: var(--black);
  letter-spacing: -0.05rem;
  text-align: center;
  padding-top: 2.75rem;
  border-top: 0.0625rem solid var(--cool-200);
  margin: 0 0 3rem;
}
.reviewWrapper h2 span {
  display: block;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  letter-spacing: initial;
  margin-top: 0.375rem;
}
.reviewWrapper:has(.photo-grid) h2 {
  border-top: none;
}
.reviewWrapper .regionExperience.activityPage {
  border: none;
}
.reviewWrapper .review-thread {
  margin: 0 auto;
  max-width: 36rem;
}
.reviewWrapper .review-thread h4 {
  font-style: italic;
  font-size: var(--text-size-SM);
  line-height: var(--text-leading-SM);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  margin-bottom: 1.25rem;
}
.reviewWrapper .review-thread .formRow .languageSwitch {
  margin: 0 auto;
  width: 12.5rem;
}
.reviewWrapper .review-thread .commentWrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  background-color: var(--white);
  border-radius: 0.75rem;
  margin: 0 0 2.5rem;
  width: 100%;
  min-height: 5.625rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
.reviewWrapper .review-thread .commentWrapper .review-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--black);
  background-color: var(--cool-100);
  padding: 0.3125rem 1rem;
  border-radius: 0.75rem 0.75rem 0 0;
  width: 100%;
  height: 3rem;
  box-sizing: border-box;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
.reviewWrapper .review-thread .commentWrapper .review-header h4 {
  font-size: var(--text-size-2xs);
  font-weight: var(--text-weight-semibold);
  color: var(--black);
  text-align: left;
  margin: 0;
}
.reviewWrapper .review-thread .commentWrapper .review-header a {
  display: inline-block;
  color: var(--black);
  text-decoration: underline;
  margin-right: 0.125rem;
}
.reviewWrapper .review-thread .commentWrapper .review-header .commentRating-activity-stars,
.reviewWrapper .review-thread .commentWrapper .review-header .commentRating-activity-percentage {
  position: relative;
  line-height: 1;
}
.reviewWrapper .review-thread .commentWrapper .review-header .commentRating-activity-stars:before,
.reviewWrapper .review-thread .commentWrapper .review-header .commentRating-activity-percentage:before {
  content: "\e83a\e83a\e83a\e83a\e83a";
  font-family: "Material Icons";
  font-size: var(--text-size-base);
  line-height: var(--text-leading-xs);
  color: var(--cool-700);
  letter-spacing: -0.3rem;
}
.reviewWrapper .review-thread .commentWrapper .review-header .commentRating-activity-percentage {
  display: block;
  position: absolute;
  top: 0;
  overflow: hidden;
}
.reviewWrapper .review-thread .commentWrapper .review-header .commentRating-activity-percentage:before {
  content: "\e838\e838\e838\e838\e838";
}
.reviewWrapper .review-thread .commentWrapper .reviewBody {
  display: grid;
  grid-template-columns: 2.5rem auto;
  column-gap: 0.75rem;
  padding: 1.25rem 1rem 1rem 1rem;
  min-height: 6.5rem;
}
.reviewWrapper .review-thread .commentWrapper .reviewBody h3 {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  margin-bottom: 0.3125rem;
}
.reviewWrapper .review-thread .commentWrapper .reviewBody p {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-sm);
}
.reviewWrapper .review-thread .commentWrapper .reviewBody p img {
  display: inline-block;
  background-color: rgba(var(--white-rgb));
  margin-top: 1.2rem;
  padding: 0.3rem;
  margin-right: 0.3125rem;
  width: 9rem;
  box-shadow: inset 0 0 0 1px var(--cool-200);
}
.reviewWrapper .review-thread .commentWrapper .reviewBody .reviewAvatar span {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  margin: 0 1rem 1rem 0;
  width: 3rem;
  height: 3rem;
  overflow: hidden;
  box-shadow: 0 0 0 0.1875rem var(--cool-200);
}
.reviewWrapper .review-thread .commentWrapper .review-tools {
  display: flex;
  column-gap: 0.625rem;
  margin: 0 0 1rem 1.5rem;
}
.reviewWrapper .review-thread .commentWrapper .review-tools .openButton {
  display: flex;
  align-items: center;
  grid-gap: 0.1875rem;
  font-size: var(--text-size-3xs);
  color: var(--cool-500);
  padding: 0.1875rem 0.5rem 0.1875rem 0.3125rem;
  border-radius: 0.25rem;
  width: fit-content;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
.reviewWrapper .review-thread .commentWrapper .review-tools .openButton span {
  font-size: var(--text-size-base);
}
.reviewWrapper .review-thread .commentWrapper .review-tools .openButton.verifiedPurchase {
  display: flex;
  align-items: center;
}
.reviewWrapper .review-thread .commentWrapper #votingBlock {
  position: absolute;
  right: 0;
  bottom: 0.5rem;
  width: 3rem;
}
.reviewWrapper .review-thread .commentWrapper #votingBlock a, .reviewWrapper .review-thread .commentWrapper #votingBlock span {
  display: block;
  position: relative;
  color: transparent;
  padding-right: 3rem;
}
.reviewWrapper .review-thread .commentWrapper #votingBlock a:before, .reviewWrapper .review-thread .commentWrapper #votingBlock span:before {
  position: absolute;
  bottom: -0.5rem;
  right: 0;
  content: "";
  border-left: 2.5rem solid transparent;
  width: 0;
  height: 0;
}
.reviewWrapper .review-thread .commentWrapper #votingBlock a:after, .reviewWrapper .review-thread .commentWrapper #votingBlock span:after {
  position: absolute;
  bottom: -0.3125rem;
  right: 0.25rem;
  content: "\e8dc";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-sm);
  font-variation-settings: "FILL" 1;
  color: var(--cool-400);
}
.reviewWrapper .review-thread .commentWrapper #votingBlock a:before {
  border-bottom: 2.5rem solid var(--white);
}
.reviewWrapper .review-thread .commentWrapper #votingBlock span:before {
  border-bottom: 2.5rem solid var(--green-700);
}
.reviewWrapper .review-thread .commentWrapper #votingBlock span:after {
  content: "\ea22";
  color: var(--white);
  bottom: -0.375rem;
}
.reviewWrapper .review-thread .commentWrapper #votingBlock:after {
  position: absolute;
  bottom: -0.5rem;
  right: 0;
  content: "";
  border-top: 2.5rem solid var(--cool-100);
  border-right: 2.5rem solid transparent;
  width: 0;
  height: 0;
}
@media only screen and (min-width: 768px) {
  .reviewWrapper .review-thread .commentWrapper .review-header {
    flex-direction: row;
    justify-content: space-between;
  }
  .reviewWrapper .review-thread .commentWrapper .review-header h4 {
    font-size: var(--text-size-xs);
    text-align: left;
  }
  .reviewWrapper .review-thread .commentWrapper .review-header .commentRating-activity-stars:before,
  .reviewWrapper .review-thread .commentWrapper .review-header .commentRating-activity-percentage:before {
    font-size: var(--text-size-lg);
  }
}
.reviewWrapper .review-thread .responseWrapper {
  position: relative;
  color: var(--white);
  background-color: var(--cool-600);
  padding: 0.8125rem 1rem 1rem;
  border-radius: 0.75rem 0 0.75rem 0.75rem;
  margin: 0 0 2.5rem 3rem;
  min-height: 6.25rem;
  box-sizing: border-box;
}
.reviewWrapper .review-thread .responseWrapper:after {
  position: absolute;
  top: -1.375rem;
  right: 0;
  content: "";
  width: 0;
  height: 0;
  border-bottom: 1.5rem solid var(--cool-600);
  border-left: 1.5rem solid transparent;
}
.reviewWrapper .review-thread .responseWrapper h3 {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  margin-bottom: 0.3125rem;
}
.reviewWrapper .review-thread .responseWrapper p {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  margin-top: 0.25rem;
}
@media only screen and (min-width: 768px) {
  .reviewWrapper .review-thread .responseWrapper {
    margin-left: 5.5rem;
  }
}

.reviewPagination {
  display: flex;
  justify-content: space-between;
  grid-gap: 1.25rem;
  margin: 0 auto;
  max-width: 36rem;
  padding-bottom: 1rem;
}
.reviewPagination .btn.btn_large {
  max-width: 11.25rem;
}

.reviewTip-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin: 2rem 0 0;
}
.reviewTip-wrapper .bookTip-wrapper {
  display: flex;
  justify-content: center;
  grid-gap: 1rem;
  padding: 1.625rem 0;
}
.reviewTip-wrapper .reviewTip-content {
  display: flex;
  flex-direction: column;
  row-gap: 0.3125rem;
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  padding: 1.625rem 0;
  box-shadow: inset 0 0.0625rem 0 var(--cool-200);
}
@media only screen and (min-width: 768px) {
  .reviewTip-wrapper .reviewTip-content {
    font-size: var(--text-size-base);
    line-height: var(--text-leading-base);
  }
}
.reviewTip-wrapper .reviewTip-content strong {
  font-weight: 700;
  color: var(--cool-500);
}
.reviewTip-wrapper .reviewTip-hero {
  position: relative;
  border-radius: 0.625rem;
  overflow: hidden;
}
.reviewTip-wrapper .reviewTip-hero:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: linear-gradient(45deg, rgba(var(--black-rgb), var(--alpha8)) 0%, rgba(var(--black-rgb), 0) 50%);
}
.reviewTip-wrapper .reviewTip-hero > img {
  display: block;
  width: 100%;
  height: clamp(17.5rem, 9.835rem + 34.069vw, 26.188rem);
  object-fit: cover;
  max-height: 36rem;
}
@media only screen and (min-width: 768px) {
  .reviewTip-wrapper .reviewTip-hero > img {
    height: 100%;
  }
}
.reviewTip-wrapper .reviewTip-hero .reviewTip-title {
  display: grid;
  align-items: center;
  grid-template-rows: 6rem auto auto;
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .reviewTip-wrapper .reviewTip-hero .reviewTip-title {
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
  }
}
.reviewTip-wrapper .reviewTip-hero .reviewTip-title h2 {
  font-size: var(--text-size-base);
  font-weight: var(--text-weight-bold);
  line-height: var(--text-leading-base);
  color: var(--white);
  text-align: left;
  padding: 0;
  border: none;
  margin: 0.25rem 0 0.5rem;
}
@media only screen and (min-width: 768px) {
  .reviewTip-wrapper .reviewTip-hero .reviewTip-title h2 {
    font-size: var(--text-size-2xl);
  }
}
.reviewTip-wrapper .photo-grid {
  margin: 0.375rem 0 1rem;
  width: 100%;
}
.reviewTip-wrapper .photo-grid .map a {
  width: 100%;
}
.reviewTip-wrapper .browse-and-book {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3125rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  margin-top: 1rem;
}
.reviewTip-wrapper .browse-and-book img {
  width: 4rem;
}
.reviewTip-wrapper .browse-and-book a {
  color: var(--black);
  text-align: center;
  margin: 0;
}
.reviewTip-wrapper .browse-and-book a span {
  color: var(--cool-500);
  text-decoration: underline;
  cursor: pointer;
}

.voucherRedeem {
  display: flex;
  justify-content: center;
  clear: both;
}
.voucherRedeem #confirm-with-card {
  padding: 1.25rem 0;
  width: 100%;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.voucherRedeem #confirm-with-card:has(a.disabled) {
  display: none;
}
.voucherRedeem #confirm-with-card a {
  display: block;
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  text-align: center;
  margin: 0 auto;
  max-width: 18.75rem;
  cursor: pointer;
}
.voucherRedeem #confirm-with-card a::before {
  top: 0.125rem;
  font-size: var(--text-size-xl);
  padding-right: 0.375rem;
}
.voucherRedeem #confirm-with-card a i {
  display: block;
  font-size: var(--text-size-lg);
  margin-bottom: 0.0625rem;
}
.voucherRedeem #confirm-with-card a.disabled {
  display: none;
}
.voucherRedeem #confirm-with-card a.disabled strong::before {
  background-image: url(../images/64px-Vodafone_icon-disabled.png);
}
.voucherRedeem #confirm-with-card a strong {
  position: relative;
  display: inline-block;
  color: var(--black);
  padding-left: 1.125rem;
  margin: 0 0.1875rem;
}
.voucherRedeem #confirm-with-card a strong::before {
  position: absolute;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  content: "";
  font-size: var(--text-size-xs);
  border-radius: 50%;
  width: 1rem;
  height: 1rem;
  background: radial-gradient(ellipse at center, var(--white) 0%, var(--white) 37%, #35f8b4 49%, #06af71 94%, #06af72 100%); /* One NZ Logo */
  margin: 0;
}
.voucherRedeem #confirm-with-card img {
  display: none;
  position: absolute;
  top: 0.375rem;
  left: 1.5rem;
}

.voucher-code {
  display: flex;
  justify-content: flex-end;
  margin: 0;
}
.voucher-code .voucher {
  flex-direction: column;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-3xs);
  font-weight: var(--text-weight-normal);
  background-color: var(--white);
  padding: 0.5rem 1.125rem 0.1875rem;
  border: 0.0625rem solid var(--cool-200);
  border-radius: 0.625rem;
  margin: 2rem 0 0;
  width: 100%;
  box-sizing: border-box;
}
.voucher-code .voucher h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  background-color: var(--purple-800);
  padding: 0.0625rem 0 0;
  border-radius: 1rem;
  margin: 0 -0.75rem;
  width: calc(100% + 1.5rem);
  height: 1.5rem;
}
.voucher-code .voucher .init-vouc {
  display: flex;
  flex-direction: column;
  row-gap: 0.75rem;
  text-align: center;
  margin: 1.25rem auto 0;
  max-width: 25rem;
}
.voucher-code .voucher .init-vouc p strong {
  position: relative;
  top: -0.3125rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  grid-gap: 0.125rem;
  font-size: 0;
  color: transparent;
  margin: 0 0.1875rem;
}
.voucher-code .voucher .init-vouc p strong::before {
  display: flex;
  justify-content: center;
  align-items: center;
  content: "";
  font-size: var(--text-size-xs);
  border-radius: 50%;
  width: 1rem;
  height: 1rem;
  background: radial-gradient(ellipse at center, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 37%, rgb(53, 248, 180) 49%, rgb(6, 175, 113) 94%, rgb(6, 175, 114) 100%);
}
.voucher-code .voucher .init-vouc p strong::after {
  display: flex;
  align-items: center;
  content: "one.nz";
  font-size: var(--text-size-xs);
  color: var(--neutral-550);
}

.buttonsRight {
  justify-content: center;
  text-align: center;
}
.buttonsRight a + .gift-experience-voucher {
  display: none;
}
.buttonsRight a.disabled + .gift-experience-voucher {
  display: flex;
  justify-content: center;
  margin: 2.5rem 0 0;
}
.buttonsRight a.disabled + .gift-experience-voucher a {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 0.5rem;
  flex-direction: column-reverse;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  color: var(--bkme-brand-alt);
  text-align: center;
  background-color: transparent;
  padding: 0;
  border-radius: 0;
  width: 100%;
}
.buttonsRight a.disabled + .gift-experience-voucher a strong {
  display: block;
}
.buttonsRight a.disabled + .gift-experience-voucher a i {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-lg);
  color: var(--white);
  background-color: var(--bkme-brand-alt);
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
}

.button-book {
  display: grid;
  justify-content: center;
  gap: 0.625rem;
  margin-top: 2rem;
}
.button-book span {
  font-style: italic;
  font-size: var(--text-size-base);
  font-weight: var(--text-weight-semibold);
  text-align: center;
}

.gift-voucher-details {
  display: grid;
  row-gap: 2rem;
  text-align: center;
  margin: 2rem auto 0;
  width: 100%;
  max-width: 40rem;
}
.gift-voucher-details h2 {
  font-size: var(--text-size-2xl);
  line-height: var(--text-leading-2xl);
  color: var(--cool-700);
}
.gift-voucher-details p {
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  text-align: center;
  margin: 0.875rem 0 0;
}
.gift-voucher-details p span em {
  font-style: normal;
  text-decoration: underline;
}
.gift-voucher-details .voucher-amount {
  padding: 1rem 1.5rem 2rem;
  border-radius: 0 0 0.625rem 0.625rem;
  margin: 1rem -0.9375rem -0.8125rem;
}
.gift-voucher-details .voucher-amount .inputGroup {
  background-color: transparent;
  padding: 0;
  box-shadow: none;
}
.gift-voucher-details .button-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 0.625rem;
  margin-top: 1rem;
}
.gift-voucher-details .button-row .btn {
  padding: 0;
}

@media only screen and (min-width: 768px) {
  .voucherRedeem #confirm-with-card {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    padding: 0.75rem 0;
    max-width: 25rem;
    box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
  }
  .voucherRedeem #confirm-with-card a {
    display: flex;
    align-items: center;
    gap: 0.3125rem;
    text-align: left;
    margin: 0;
    max-width: initial;
  }
  #bookingForm .voucher {
    max-width: 25rem;
  }
  h2.custom-voucher {
    margin: 0 auto -1.25rem;
  }
  .buttonsRight {
    justify-content: flex-end;
    text-align: right;
  }
  .buttonsRight a.disabled + .gift-experience-voucher {
    justify-content: flex-end;
  }
  .buttonsRight a.disabled + .gift-experience-voucher a {
    flex-direction: row;
    justify-content: flex-end;
    grid-gap: 1rem;
    text-align: right;
  }
  .buttonsRight a.disabled + .gift-experience-voucher a:hover strong {
    text-decoration: underline;
  }
}
.voucher-wrapper {
  position: relative;
  display: grid;
  grid-row-gap: 2rem;
  margin: 1.25rem 0 5rem;
}
.voucher-wrapper > * {
  grid-column: 1/3;
}
.voucher-wrapper .voucher-introduction {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  width: 100%;
}
.voucher-wrapper .voucher-introduction p {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-600);
  margin-bottom: 0;
}
.voucher-wrapper .voucher-description {
  grid-column: 1/3;
  font-size: var(--text-size-15);
  line-height: var(--text-leading-base);
}
.voucher-wrapper .voucher-description h3 {
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
  margin-bottom: 0.625rem;
}
.voucher-wrapper .voucher-description p {
  margin-bottom: 0.625rem;
}
.voucher-wrapper .voucher-description p:last-of-type {
  margin-bottom: 0;
}
.voucher-wrapper .voucher-gallery {
  grid-column: 1/3;
}
.voucher-wrapper .voucher-gallery .photo {
  position: relative;
  display: flex;
  background: var(--cool-25);
  border-radius: 0.625rem;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.voucher-wrapper .voucher-gallery .photo:not(.one) {
  display: none;
}
.voucher-wrapper .voucher-gallery .photo img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .voucher-wrapper {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2rem;
    margin-top: 3rem;
  }
  .voucher-wrapper .voucher-introduction {
    grid-column: 1/2;
    background-color: var(--cool-100);
    padding: 1.25rem 2.5rem;
    border-radius: 0.625rem;
    margin: 0;
    width: auto;
    box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  }
  .voucher-wrapper .voucher-introduction p {
    font-size: var(--text-size-xl);
    line-height: var(--text-leading-xl);
    font-weight: var(--text-weight-bold);
  }
  .voucher-wrapper .voucher-list {
    grid-column: 2/3;
  }
  .voucher-wrapper .voucher-email {
    grid-column: 1/2;
  }
  .voucher-wrapper .voucher-print {
    grid-column: 2/3;
  }
  .voucher-wrapper .voucher-gallery {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: repeat(6, 1fr);
    gap: 0.375rem;
    max-height: 28.5rem;
  }
  .voucher-wrapper .voucher-gallery .photo img {
    border-radius: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-height: 100%;
  }
  .voucher-wrapper .voucher-gallery .photo:not(.one) {
    display: flex;
  }
  .voucher-wrapper .voucher-gallery .photo.one {
    grid-column: 1/7;
    grid-row: 1/7;
    border-radius: 0.625rem 0 0 0.625rem;
  }
  .voucher-wrapper .voucher-gallery .photo.two {
    grid-column: 7/9;
    grid-row: 1/4;
    border-radius: 0;
  }
  .voucher-wrapper .voucher-gallery .photo.three {
    grid-column: 9/11;
    grid-row: 1/4;
    border-radius: 0 0.625rem 0 0;
  }
  .voucher-wrapper .voucher-gallery .photo.four {
    grid-column: 7/9;
    grid-row: 4/7;
    border-radius: 0;
  }
  .voucher-wrapper .voucher-gallery .photo.five {
    grid-column: 9/11;
    grid-row: 4/7;
    border-radius: 0 0 0.625rem 0;
  }
}

.create-voucher .container {
  position: relative;
  display: grid;
  row-gap: 2rem;
  margin: 3rem auto;
  max-width: 48rem;
}
.create-voucher .container .send-voucher-date p {
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
  text-align: center;
  margin: 1.5rem 0;
}
.create-voucher .container .send-voucher-date p strong {
  display: block;
}
.create-voucher .container .send-voucher-date .inputGroup {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--cool-600);
  font-size: var(--text-size-sm);
  letter-spacing: -0.05rem;
  margin: 0 auto;
  width: 15rem;
}
.create-voucher .container .send-voucher-date .inputGroup input {
  padding: 0 1.5rem;
  border-radius: 1.5rem;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
  cursor: pointer;
}
.create-voucher .container .send-voucher-date .inputGroup input::placeholder {
  color: var(--black);
}
.create-voucher .container .send-voucher-date .inputGroup i {
  position: absolute;
  top: 0;
  right: 1.125rem;
  line-height: 3rem;
  color: var(--cool-500);
  pointer-events: none;
}
.create-voucher .container .confirmation-details {
  display: grid;
  row-gap: 0.3125rem;
  text-align: left;
  margin: 0 auto;
  width: 100%;
  max-width: 31rem;
}
.create-voucher .container .confirmation-details .voucher-number {
  display: grid;
  gap: 0.625rem;
  font-size: var(--text-size-2xl);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-bold);
  color: var(--cool-600);
  text-align: center;
  list-style-type: none;
  margin: 0.375rem 0;
}
.create-voucher .container .confirmation-details .voucher-number p {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  color: var(--black);
}
.create-voucher .container .confirmation-details .voucher-number .voucher-pdf {
  padding: 0.625rem 0 1.5rem;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.create-voucher .container .confirmation-details .voucher-number .voucher-pdf p {
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
}
.create-voucher .container .confirmation-details .voucher-number .voucher-pdf p.voucher-activation {
  font-weight: var(--text-weight-semibold);
  margin-top: 0.325rem;
}
.create-voucher .container .confirmation-details .voucher-help p {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
}
@media only screen and (min-width: 768px) {
  .create-voucher .container .confirmation-details .voucher-help p {
    text-align: center;
  }
}
.create-voucher .container .confirmation-details .voucher-help p.sub-head {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  padding-bottom: 0.625rem;
  margin: 0.875rem 0 0;
}
.create-voucher .container #v-voucher {
  position: relative;
  line-height: 0;
  border-radius: 0.625rem;
  margin: 0 auto;
  max-width: 48rem;
  overflow: hidden;
}
.create-voucher .container #v-voucher .voucher-text {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  color: var(--white);
  text-align: right;
  padding: 0 clamp(1rem, 0.118rem + 3.922vw, 2rem);
  margin-top: clamp(6.875rem, -0.846rem + 34.314vw, 15.625rem);
}
.create-voucher .container #v-voucher .voucher-text h2 {
  font-size: clamp(4.8rem, -1.554rem + 28.24vw, 12rem);
  font-weight: var(--text-weight-semibold);
  line-height: initial;
}
.create-voucher .container #v-voucher .voucher-text h2 sup {
  font-size: clamp(2rem, -0.647rem + 11.765vw, 5rem);
  position: relative;
  left: 0.25rem;
  vertical-align: top;
  line-height: 2.4;
}
.create-voucher .container #v-voucher .voucher-text p {
  font-size: clamp(0.813rem, 0.206rem + 2.696vw, 1.5rem);
  font-weight: var(--text-weight-bold);
  line-height: 1.4;
}
.create-voucher .container #v-voucher .voucher-text .expiry {
  padding-top: 1rem;
  border-top: 0.0625rem solid var(--white);
}
.create-voucher .container #v-voucher .voucher-text .expiry p {
  font-size: clamp(0.625rem, 0.515rem + 0.49vw, 0.75rem);
  font-weight: var(--text-weight-normal);
}
.create-voucher .container #v-voucher .voucher-text .expiry p span {
  display: block;
}
.create-voucher .container #v-voucher img {
  width: 100%;
}
.create-voucher .container .voucher-terms {
  display: grid;
  align-items: center;
  text-align: center;
  margin: 1.5rem auto 0;
  width: 100%;
  max-width: 22rem;
}
.create-voucher .container .voucher-terms img {
  width: 4.5rem;
  margin-bottom: 0.3125rem;
}
.create-voucher .container .voucher-terms p {
  font-size: var(--text-size-xs);
}
.create-voucher .voucher-pay {
  display: flex;
  justify-content: center;
  padding: 2rem 0 0;
  border-top: 0.0625rem solid var(--cool-200);
  margin: 0.5rem 0 2rem;
}
.create-voucher:has(.currency-box) .voucher-pay {
  border-top: none;
}

.adyen-checkout__payment-method--selected {
  background: var(--cool-25) !important;
  border: 1px solid var(--cool-200) !important;
  border-radius: 0.5rem !important;
}

.adyen-checkout__button__icon {
  width: auto !important;
}

.adyen-checkout__helper-text,
.adyen-checkout__label__text {
  color: var(--black) !important;
  font-size: var(--text-size-xs) !important;
  padding-bottom: 0.4375rem !important;
}

.adyen-checkout__input {
  height: 3rem !important;
}

.adyen-checkout__field {
  margin-bottom: 1.5rem !important;
}

.adyen-checkout__card-input .adyen-checkout__fieldset--billingAddress,
.adyen-checkout__card__holderName,
.adyen-checkout__card__kcp-authentication,
.adyen-checkout__installments,
.adyen-checkout__store-details {
  margin-top: 0 !important;
}

#-error.valError {
  font-size: var(--text-size-2xs) !important;
  color: var(--warm-600) !important;
  margin-top: 0.3125rem !important;
}

.adyen-checkout__input:required {
  padding: 0 1rem !important;
  box-shadow: inset 0 0 0 0.0625rem var(--warm-600) !important;
}

.adyen-checkout__input::placeholder {
  color: var(--warm-600) !important;
}

.adyen-checkout__field-wrapper > .adyen-checkout__field:first-child {
  margin-right: 0.9375rem !important;
}

.adyen-checkout__field-wrapper > .adyen-checkout__field:nth-child(2) {
  margin-left: 0.9375rem !important;
}

.adyen-checkout__input.adyen-checkout__input--text.adyen-checkout__card__holderName__input.adyen-checkout__input--valid.adyen-checkout__input--large.valid {
  box-shadow: inset 0 0 0 0.0625rem var(--green-700) !important;
}

#bkmePop-info-box.newModal_wrapper__outer {
  align-items: flex-end;
  padding: 3rem 0 0;
  height: calc(100% - 3rem);
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos {
  height: 100%;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner {
  background-color: var(--cool-25);
  border-radius: 0.625rem 0.625rem 0 0;
  max-width: 48rem;
  height: 100%;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .bkmePop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0 0.625rem;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .bkmePop-header .bkmePop-closer {
  justify-content: space-between;
  align-items: center;
  gap: 0.625rem;
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  background-color: var(--cool-700);
  padding: 0.625rem 1.25rem 0.625rem 1rem;
  border-radius: 1.25rem;
  margin: 0 1rem;
  width: calc(100% - 2rem);
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .bkmePop-header .bkmePop-closer i {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: var(--text-size-xl);
  width: 100%;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .bkmePop-header .bkmePop-closer i:after {
  content: "Photos";
  font-family: "Open Sans";
  font-size: var(--text-size-base);
  font-weight: var(--text-weight-extrabold);
  text-transform: uppercase;
  text-align: center;
  width: 100% !important;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .newModal_body {
  height: 100%;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .newModal_body .bkmePop-body {
  background: transparent;
  padding-right: 2.25rem;
  padding-left: 2.25rem;
  overflow-y: auto;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .newModal_body .bkmePop-body .grid {
  gap: 0.5rem;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .newModal_body .bkmePop-body .grid .grid-item {
  gap: 0.5rem;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .newModal_body .bkmePop-body .grid .grid-item img {
  object-fit: cover;
  width: 50%;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .newModal_body .bkmePop-body .grid .grid-item--width2 img {
  object-fit: cover;
  width: 100%;
}
#bkmePop-info-box.newModal_wrapper__outer.bkmePop-hotel-photos .newModal_wrapper__inner .masonry-footer {
  background-color: var(--white);
  height: 1rem;
}

.nz-vaccine-requirements {
  background: repeating-linear-gradient(-45deg, #FFCC00 0.75rem, #FFCC00 3.125rem, var(--white) 3.12rem, var(--white) 5rem);
  padding: 1rem 0 0;
  margin: 2.5rem 1.25rem 1.25rem;
}
.nz-vaccine-requirements .nz-vaccine-requirements-internal {
  background: var(--white);
  padding: 0 0 0.625rem;
  border-top: 0.125rem solid var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--neutral-200);
}
.nz-vaccine-requirements h3 {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  background: var(--black);
  margin-bottom: 0.75rem;
}
.nz-vaccine-requirements .vaccine-traffic-light-holder {
  display: flex;
  align-items: center;
  grid-gap: 0.625rem;
  padding: 0 1rem;
  margin-bottom: 0.5rem;
}
.nz-vaccine-requirements .vaccine-traffic-light-holder .traffic-light-red,
.nz-vaccine-requirements .vaccine-traffic-light-holder .traffic-light-orange,
.nz-vaccine-requirements .vaccine-traffic-light-holder .traffic-light-green {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  background: var(--cool-200);
  border-radius: 50%;
}
.nz-vaccine-requirements .vaccine-traffic-light-holder .traffic-light-red {
  background: var(--warm-600);
}
.nz-vaccine-requirements .vaccine-traffic-light-holder .traffic-light-orange {
  background: var(--warm-300);
}
.nz-vaccine-requirements .vaccine-traffic-light-holder .traffic-light-green {
  background: var(--green-600);
}

.vaccine-info#bkmePop-info-box .newModal_wrapper__inner {
  background: repeating-linear-gradient(-45deg, #FFCC00 0.75rem, #FFCC00 3.125rem, var(--white) 3.12rem, var(--white) 5rem);
}
.vaccine-info#bkmePop-info-box .newModal_wrapper__inner .bkmePop-closer {
  color: var(--black);
}
.vaccine-info#bkmePop-info-box .bkmePop-status span {
  color: var(--black);
  background-image: none;
  box-shadow: inset 0 0 0 0.25rem var(--black);
}
.vaccine-info#bkmePop-info-box .bkmePop-status span::before {
  content: "\e565";
  font-family: "Material Icons";
  color: var(--black);
  font-size: 4.5rem;
}
.vaccine-info#bkmePop-info-box .bkmePop-status span i {
  display: none;
}
.vaccine-info#bkmePop-info-box .newModal_body {
  height: max-content;
}
.vaccine-info#bkmePop-info-box .newModal_body .vaccineText {
  display: block;
  margin: 0.625rem 0 1.25rem;
}
.vaccine-info#bkmePop-info-box .newModal_body .vaccineText p {
  font-size: var(--text-size-2xs);
}
.vaccine-info#bkmePop-info-box .newModal_body .vaccineText p.vaccineNote {
  padding-top: 0.625rem;
  border-top: 0 0.0625rem solid var(--neutral-200);
  margin-top: 0.75rem;
}
.vaccine-info#bkmePop-info-box h3 {
  display: none;
}
.vaccine-info#bkmePop-info-box .nz-vaccine-requirements {
  background: none;
  padding: 0;
  margin: 0;
}
.vaccine-info#bkmePop-info-box .nz-vaccine-requirements > div {
  display: block;
}
.vaccine-info#bkmePop-info-box .nz-vaccine-requirements h3 {
  display: block;
}

/* == CHECKOUT BUTTONS == */
.genoapay,
.latitudepay {
  color: var(--white);
  background: #00ab8e;
  margin: 0 0 2rem auto;
  box-shadow: none;
}
.genoapay img,
.latitudepay img {
  margin: 0 1875rem 0 0.8rem;
  width: 5.625rem;
}

.latitudepay {
  background: #0449a4;
}

/* == CHECKOUT BANNER == */
.latitudeImg-wrapper {
  padding: 1rem 0.625rem;
  border: 0.0625rem solid var(--bkme-neutral-light);
  margin-top: 1.25rem;
  box-sizing: border-box;
  pointer-events: initial;
  cursor: pointer;
}
.latitudeImg-wrapper.activity {
  margin: 1.25rem auto 2rem;
  width: 100%;
  max-width: 3rem;
}
.latitudeImg-wrapper img {
  width: 100%;
}

@media only screen and (min-width: 480px) {
  .genoapay_banner,
  .latitudepay_banner {
    margin: 2rem auto 0;
    max-width: 25.5rem;
  }
  .genoapay_banner img.genoapay_logo, .genoapay_banner img.atitudepay_logo,
  .latitudepay_banner img.genoapay_logo,
  .latitudepay_banner img.atitudepay_logo {
    height: 1.125rem;
  }
  .genoapay_banner img.shop_and_pay,
  .latitudepay_banner img.shop_and_pay {
    height: 2rem;
  }
}
.promoForm-wrapper {
  margin: 0 auto;
  max-width: 48rem;
}
.promoForm-wrapper .promoForm-form {
  position: relative;
  box-sizing: border-box;
}
.promoForm-wrapper .promoForm-form h1 {
  font-size: var(--text-size-3xl);
  font-weight: var(--text-weight-extrabold);
  margin-bottom: 1.25rem;
}
.promoForm-wrapper .promoForm-form p {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  margin: 0 0 0.625rem;
}
.promoForm-wrapper .promoForm-form ul {
  margin: 1.25rem 0 1.25rem 2rem;
  font-size: var(--text-size-sm);
}
.promoForm-wrapper .promoForm-form ul li {
  margin-top: 0.625rem;
}
.promoForm-wrapper .promoForm-form img {
  border-radius: 0.5rem;
  margin: 2rem 0;
  width: 100%;
}
.promoForm-wrapper .promoForm-form .logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem;
  border-radius: 0.5rem;
  margin-bottom: 2rem;
}
.promoForm-wrapper .promoForm-form .logo-wrap img {
  border-radius: 0;
  margin: 0;
  width: 100%;
}
.promoForm-wrapper .promoForm-form .logo-wrap img.bkme-logo {
  width: 6.25rem;
}
.promoForm-wrapper .promoForm-form .logo-wrap img.akl-unlimited-logo {
  width: 12.5rem;
}
.promoForm-wrapper .promoForm-form .promoterms {
  flex-direction: column;
  justify-content: center;
  padding-top: 1.25rem;
  border-top: 0.0625rem solid var(--bkme-neutral-light);
  margin: 2.5rem 0 0.3125rem;
}
.promoForm-wrapper .promoForm-form .promoterms p {
  font-size: var(--text-size-xs);
  text-align: center;
  margin: 0.625rem auto 1.25rem;
}
.promoForm-wrapper .promoForm-form .promoterms span {
  text-align: center;
  margin-bottom: 2rem;
  width: 100%;
}
.promoForm-wrapper .promoForm-form .promoterms .submit-button {
  margin: 0;
}
.promoForm-wrapper .promoForm-form .promoterms-text h3 {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  color: var(--bkme-neutral-dark);
  padding-top: 1.25rem;
  border-top: 0 0.625rem solid var(--bkme-neutral-light);
  margin: 2.5rem 0 0.3125rem;
}
.promoForm-wrapper .promoForm-form .promoterms-text p {
  font-size: 1rem;
  text-align: left;
  margin: 0 0 0.3125rem;
}
.promoForm-wrapper .promoForm-form .promoterms-text ul {
  padding: initial;
  margin-left: 1rem;
  list-style-type: square;
}
.promoForm-wrapper .promoForm-form .promoterms-text ul li {
  margin-top: 0.3125rem;
}
.promoForm-wrapper .promoForm-form .promo-voucher {
  display: block;
  text-align: center;
  background-color: var(--bkme-neutral-lighter);
  padding: 0.5rem 0.625rem;
  border: 0.0625rem dashed var(--bkme-neutral-light);
  border-radius: 0 0.25rem;
  margin: 0.625rem auto 1.25rem;
  box-sizing: border-box;
  width: 100%;
}
.promoForm-wrapper .promoForm-form .promo-voucher h3 {
  font-size: var(--text-size-2xl);
  line-height: var(--text-leading-2xl);
  font-weight: var(--text-weight-bold);
}
.promoForm-wrapper .promoForm-form .promo-voucher span {
  display: block;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-normal);
  margin-bottom: 0.3125rem;
}
.promoForm-wrapper .promoForm-form #promoConfirmation {
  display: flex;
  flex-direction: column;
  grid-row-gap: 1.25rem;
  align-items: center;
}
.promoForm-wrapper .promoForm-form #promoConfirmation p {
  font-size: var(--text-size-2xl);
  font-weight: var(--text-weight-extrabold);
  letter-spacing: -0.03125rem;
}
.promoForm-wrapper .promoForm-form #promoError p {
  font-size: var(--text-size-lg);
  font-weight: var(--text-weight-semibold);
  text-align: center;
}
.promoForm-wrapper .promoForm-form .newsletter .submit-button {
  margin: 0 auto;
}
.promoForm-wrapper .promoForm-form #agree1-signup {
  padding-top: 1.5rem;
  border-top: 0.0625rem solid var(--bkme-neutral-light);
  border-bottom: 0.0625rem solid var(--bkme-neutral-light);
  margin-top: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .promoForm-wrapper .promoForm-form {
    padding: 2rem;
    margin: 3rem auto;
    box-shadow: 0 0.0625rem 0.1875rem rgba(var(--black-rgb), var(--alpha12)), 0 0.0625rem 0.125rem rgba(var(--black-rgb), var(--alpha24));
  }
}

.daterangepicker {
  font-family: "Open Sans";
  padding: 0.75rem 0.75rem 1.75rem;
  border: none;
  border-radius: 0.5rem;
  box-shadow: 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.2), 0 0.375rem 1.25rem 0 rgba(0, 0, 0, 0.19);
  min-height: 15rem;
  box-sizing: border-box;
}
.daterangepicker:after, .daterangepicker:before {
  display: none;
}
.daterangepicker .date-header {
  display: grid;
  grid-template-columns: 2rem 1fr 2rem;
  align-items: center;
  color: var(--white);
  background-color: var(--cool-600);
  border-radius: 1rem;
  margin-bottom: 0.625rem;
  height: 2rem;
}
.daterangepicker .date-header h3 {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
  text-align: center;
}
.daterangepicker .date-header .material-symbols-outlined {
  font-size: var(--text-size-lg);
}
.daterangepicker .calendar-table thead tr:first-of-type th {
  background: transparent;
  border-radius: 0.25rem;
  box-shadow: none;
}
.daterangepicker .calendar-table thead tr:first-of-type th:first-of-type, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type {
  box-shadow: none;
}
.daterangepicker .calendar-table thead tr:first-of-type th:first-of-type.prev, .daterangepicker .calendar-table thead tr:first-of-type th:first-of-type.next, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.prev, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.next {
  position: relative;
  vertical-align: top;
  box-shadow: none;
}
.daterangepicker .calendar-table thead tr:first-of-type th:first-of-type.prev:before, .daterangepicker .calendar-table thead tr:first-of-type th:first-of-type.next:before, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.prev:before, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.next:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0.125rem;
  content: "";
  background: var(--white);
  border-radius: 50%;
  width: 1.5rem;
  height: 1.5rem;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
}
.daterangepicker .calendar-table thead tr:first-of-type th:first-of-type.prev span, .daterangepicker .calendar-table thead tr:first-of-type th:first-of-type.next span, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.prev span, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.next span {
  border-color: var(--cool-400);
}
.daterangepicker .calendar-table thead tr:first-of-type th:first-of-type.prev:hover:before, .daterangepicker .calendar-table thead tr:first-of-type th:first-of-type.next:hover:before, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.prev:hover:before, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.next:hover:before {
  background: var(--cool-400);
}
.daterangepicker .calendar-table thead tr:first-of-type th:first-of-type.prev:hover span, .daterangepicker .calendar-table thead tr:first-of-type th:first-of-type.next:hover span, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.prev:hover span, .daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.next:hover span {
  border-color: var(--white);
}
.daterangepicker .calendar-table thead tr:first-of-type th:last-of-type.next:before {
  right: 0.125rem;
  left: initial;
}
.daterangepicker .calendar-table thead tr:first-of-type th.month {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--cool-500);
  padding-bottom: 0.3125rem;
}
.daterangepicker .calendar-table thead tr th {
  background: var(--cool-50);
  border-radius: 0;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200);
  cursor: default;
}
.daterangepicker .calendar-table thead tr th:first-of-type {
  border-radius: 0.25rem 0 0 0.25rem;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset 0 -0.0625rem 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200);
}
.daterangepicker .calendar-table thead tr th:last-of-type {
  border-radius: 0 0.25rem 0.25rem 0;
  box-shadow: inset -0.0625rem 0 0 var(--cool-200), inset 0 -0.0625rem 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200);
}
.daterangepicker .calendar-table td.in-range {
  background-color: var(--cool-100);
}
.daterangepicker .calendar-table td.available:hover {
  color: var(--cool-500);
  background-color: var(--cool-200);
}
.daterangepicker .calendar-table td.active {
  color: var(--white);
  background-color: var(--cool-400);
}
.daterangepicker .calendar-table td.active:hover {
  color: var(--white);
  background-color: var(--cool-400);
}
.daterangepicker .time-label {
  font-size: var(--text-size-xs);
  padding-top: 0.75rem;
}

.camper-holder .daterangepicker.show-calendar .drp-buttons {
  display: flex;
  margin-top: 1rem;
}
@media only screen and (min-width: 768px) {
  .camper-holder .daterangepicker.show-calendar .drp-buttons {
    flex-flow: row;
    justify-content: space-between;
  }
}
.camper-holder .daterangepicker.show-calendar .drp-buttons .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: var(--text-weight-normal);
  color: var(--cool-500);
  background: var(--white);
  border: none;
  border-radius: 1.5rem;
  margin: 0 auto;
  width: 100%;
  max-width: 11.25rem;
  height: 2.75rem;
  box-shadow: 0 0 0 0 rgba(var(--black-rgb), var(--alpha1)), 0 0 0 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
  transition: all 0.2s ease;
  cursor: pointer;
}
.camper-holder .daterangepicker.show-calendar .drp-buttons .btn:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-400);
}
.camper-holder .daterangepicker.show-calendar .drp-buttons .btn.applyBtn {
  color: var(--white);
  background-color: var(--cool-500);
}
.camper-holder .daterangepicker.show-calendar .drp-buttons .btn.applyBtn:hover {
  box-shadow: none;
}
@media only screen and (min-width: 768px) {
  .camper-holder .daterangepicker.show-calendar .drp-buttons .btn {
    margin: 0;
  }
}

/*  ============================================================================================ */
/*  BASE PICKER STYLES  ======================================================================== */
/*  ============================================================================================ */
body:has(.picker--opened) {
  overflow: hidden !important;
}
body .picker {
  position: absolute;
  line-height: 1.6;
  z-index: 10000;
  user-select: none;
}
body .picker.picker--opened .picker__holder {
  background: transparent;
  transform: translateY(0);
  transition: background 0.15s ease-out;
  zoom: 1;
}
body .picker.picker--opened .picker__holder .picker__frame {
  top: auto;
  bottom: calc(50% - 19.75rem);
  transform: translateY(0);
  opacity: 1;
}
body .picker .picker__holder {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem;
  width: 100%;
  box-sizing: border-box;
  overflow-y: auto;
  transform: translateY(100%);
  transition: transform 0s 0.15s;
}
body .picker .picker__holder .picker__frame {
  top: auto;
  bottom: -100%;
  margin: 0 auto;
  width: 100%;
  max-width: 28rem;
  max-height: 80%;
  opacity: 0;
  transition: all 0.15s ease-out;
}
body .picker .picker__holder .picker__frame .picker__wrap {
  display: block;
  background: var(--white);
  padding: 3.75rem 0.75rem 0.75rem;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.25);
  width: 100%;
  max-height: 80%;
  box-sizing: border-box;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box {
  font-size: var(--text-size-base);
  background-color: var(--cool-50);
  padding: 1rem 0.5rem 0;
  box-shadow: inset 0 0 0 1px var(--cool-100);
  /*  ======================================================================== */
  /*  PICKER HEADER CONTROLS AND LABELS  ===================================== */
  /*  ======================================================================== */
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  column-gap: 0.5rem;
  background: var(--white);
  text-align: center;
  color: var(--white);
  background-color: var(--white);
  padding: 0.4rem;
  border-radius: 0.25rem;
  box-sizing: border-box;
  box-shadow: inset 0 0 0 0.1rem var(--cool-200);
  /*  ==================================================================== */
  /*  MONTH AND YEAR LABELS  ============================================= */
  /*  ==================================================================== */
  /**
  	* No Selects – Used on Email a Voucher Purchase Screen
  */
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__month,
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__year {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  order: 2;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  color: var(--black);
  height: 1.8rem;
  box-sizing: border-box;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__year {
  justify-content: flex-start;
  order: 3;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header {
  /*  ==================================================================== */
  /*  MONTH AND YEAR SELECTOR  =========================================== */
  /*  ==================================================================== */
  /**
  	* Month and Year Selects – Used to Set dates on the Activity Grid
  */
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__select--month,
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__select--year {
  order: 2;
  font-size: var(--text-size-sm);
  color: var(--black);
  background: var(--white) url(../images/icon-material-arrow-drop-down.png) no-repeat 95% 50%;
  background-size: 0.75rem 0.375rem;
  padding: 0 0 0 0.5rem;
  border-radius: 0.375rem;
  width: 35% !important;
  height: 1.8rem;
  min-height: initial;
  transition: border 0.2s ease-out, box-shadow 0.2s ease-out;
  outline: none;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__select--year {
  order: 3;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header {
  /*  ==================================================================== */
  /*  MONTH NAVIGATION LABELS  =========================================== */
  /*  ==================================================================== */
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--prev,
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--next {
  background: var(--cool-600);
  border-radius: 0.25rem;
  margin: 0 auto 0 0;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--prev:hover,
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--next:hover {
  background-color: var(--cool-500);
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--prev:before,
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--next:before {
  display: flex;
  justify-content: center;
  align-items: center;
  content: "chevron_left";
  font-family: "Material Symbols Outlined";
  color: var(--white);
  width: 1.8rem;
  height: 1.8rem;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--next {
  margin: 0 0 0 auto;
  order: 4;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--next:before {
  content: "chevron_right";
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--disabled,
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--disabled:hover,
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--disabled:before,
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--disabled:before:hover {
  background: none;
  border-right-color: var(--cool-200);
  border-left-color: var(--cool-200);
  cursor: default;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box {
  /*  ======================================================================== */
  /*  CALENDAR TABLE OF DATES  =============================================== */
  /*  ======================================================================== */
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0.375rem;
  font-size: var(--text-size-13);
  text-align: center;
  padding: 0;
  width: 100%;
  /*  ==================================================================== */
  /*  WEEKDAY LABELS  ==================================================== */
  /*  ==================================================================== */
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table th.picker__weekday {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-normal);
  color: var(--cool-500);
  text-transform: uppercase;
  margin: 0;
  padding: 0;
  width: 14.285714286%;
  height: clamp(2.25rem, -0.25rem + 12.5vw, 3.25rem);
  vertical-align: middle;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td {
  margin: 0;
  padding: 0;
  width: 14.285714286%;
  height: clamp(2.286rem, 1.782rem + 2.236vw, 3.214rem);
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--cool-500);
  background: var(--white);
  border-radius: 0.4rem;
  width: 100%;
  height: 100%;
  box-shadow: inset 0 0 0 1px var(--cool-200);
  transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  /*  ============================================================ */
  /*  DAYS ON THE CALENDAR  ====================================== */
  /*  ============================================================ */
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day.picker__day--infocus:hover, body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day.picker__day--outfocus:hover {
  cursor: pointer;
  color: var(--white);
  background-color: var(--cool-400);
  box-shadow: 0 0.4rem 0.5rem 0 rgba(0, 0, 0, 0.14), 0 0.1rem 1rem 0 rgba(0, 0, 0, 0.12), 0 0.2rem 0.4rem -0.1rem rgba(0, 0, 0, 0.2);
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day.picker__day--outfocus {
  color: var(--cool-200);
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day.picker__day--selected, body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day.picker__day--selected:hover, body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day.picker--focused .picker__day--selected, body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day.picker__day--highlighted:hover {
  background: var(--cool-600);
  color: var(--white);
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day.picker__day--disabled, body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day.picker__day--disabled:hover, body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__table td .picker__day.picker--focused .picker__day--disabled {
  background: var(--cool-100);
  pointer-events: none;
  cursor: default;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box {
  /*  ======================================================================== */
  /*  FOOTER CONTAINING THE 'TODAY', 'CLEAR' AND 'CLOSE' BUTTONS  ============ */
  /*  ======================================================================== */
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer {
  text-align: center;
  padding: 0.5rem 0;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer .picker__button--today {
  position: relative;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  font-family: inherit;
  font-size: var(--text-size-13);
  line-height: 2.25rem;
  font-weight: var(--text-weight-normal);
  color: var(--cool-500);
  text-align: center;
  background-color: var(--white);
  background-image: none;
  padding: 0 1.625rem 0 1.625rem;
  border: none;
  border-radius: 1.125rem;
  margin: 0.375rem 0 0.8125rem;
  width: 11.25rem;
  height: 2.25rem;
  overflow: hidden;
  vertical-align: middle;
  white-space: nowrap;
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
  transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-sizing: border-box;
  touch-action: manipulation;
  user-select: none;
  cursor: pointer;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer .picker__button--today:after {
  content: "today";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-lg);
  font-weight: var(--text-weight-normal);
  font-variation-settings: "FILL" 1;
  margin-left: 1rem;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer .picker__button--today:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.125rem var(--cool-500);
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer .picker__button--today[disabled] {
  color: var(--cool-200);
  background: var(--cool-200);
  border-color: var(--cool-200);
  cursor: default;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer .picker__button--today[disabled]:before {
  border-top-color: var(--neutral-300);
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer .picker__button--close {
  position: absolute;
  top: 1rem;
  right: 0.625rem;
  left: 0.625rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-size: var(--text-size-sm);
  color: var(--white);
  line-height: 0;
  font-weight: var(--text-weight-bold);
  text-transform: uppercase;
  background: var(--cool-700);
  padding: 0 1rem;
  border: none;
  border-radius: 0.875rem;
  height: 1.75rem;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer .picker__button--close:hover:after {
  color: var(--cool-300);
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer .picker__button--close:before {
  display: flex;
  justify-content: center;
  align-items: center;
  content: "Pick a Date";
  margin-left: 1.25rem;
  width: 100%;
  height: 1.75rem;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer .picker__button--close:after {
  content: "close";
  font-style: normal;
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-xl);
  font-weight: var(--text-weight-normal);
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
body .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__footer .picker__button--clear {
  display: none;
}

.dropzone-box .dropzone {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-13);
  color: var(--cool-500);
  border: 0.125rem dashed var(--cool-200);
  border-radius: 0.5rem;
  margin: 0 auto;
  height: 22.5rem;
  box-shadow: inset 0 0 0 0.0625rem transparent, 0 0 0 0 transparent;
  transition: all 0.2s;
}
.dropzone-box .dropzone:hover {
  border: none;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500), 0 0 0 0.125rem var(--cool-500);
}
.dropzone-box .dropzone.avatar-box .dz-message span:before {
  content: "account_circle";
}
.dropzone-box .dropzone.review-box .dz-message span:before {
  content: "photo_camera";
}
.dropzone-box .dropzone .dz-message span {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 0.5rem;
}
.dropzone-box .dropzone .dz-message span:before {
  display: flex;
  content: "account_circle";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-6xl);
  line-height: var(--text-leading-6xl);
}
.dropzone-box .dropzone .dz-preview .dz-image {
  border-radius: 0.25rem;
  width: 15rem;
  height: 15rem;
}
.dropzone-box .dropzone .dz-preview .dz-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.dropzone-box .dropzone .dz-preview .dz-details {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: var(--black);
  padding: 0;
  width: 15rem;
  height: 15rem;
  box-sizing: border-box;
}
.dropzone-box .dropzone .dz-preview .dz-details .dz-size span,
.dropzone-box .dropzone .dz-preview .dz-details .dz-filename span {
  color: var(--black);
  background-color: var(--white);
}
.dropzone-box .dropzone .dz-preview .dz-progress {
  background: rgb(255, 255, 255);
  border-radius: 0.25rem;
}
.dropzone-box .dropzone .dz-preview .dz-progress .dz-upload {
  background: linear-gradient(to bottom, var(--cool-400), var(--cool-300));
}
.dropzone-box .dropzone .dz-preview .dz-error-mark {
  display: none;
}
.dropzone-box .dropzone .dz-preview .dz-error-message {
  top: initial;
  left: calc(50% - 10rem);
  font-size: var(--text-size-2xs);
  line-height: var(--text-leading-xs);
  background: var(--red-600);
  margin-top: 3rem;
  width: 20rem;
}
.dropzone-box .dropzone .dz-preview .dz-error-message:after {
  left: calc(50% - 0.1875rem);
}
.dropzone-box .dropzone .dz-preview .dz-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.25rem;
  color: var(--red-600);
  margin: 1rem auto -1rem;
}
.dropzone-box .dropzone .dz-preview .dz-remove:before {
  content: "cancel";
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1;
  font-size: var(--text-size-lg);
}
.dropzone-box .dropzone .dz-preview .dz-remove:hover {
  color: var(--warm-700);
  text-decoration: none;
}

/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */
@-webkit-keyframes passing-through {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px);
  }
  30%, 70% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px);
  }
}
@-moz-keyframes passing-through {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px);
  }
  30%, 70% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px);
  }
}
@keyframes passing-through {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px);
  }
  30%, 70% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px);
  }
}
@-webkit-keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px);
  }
  30% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px);
  }
}
@-moz-keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px);
  }
  30% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px);
  }
}
@keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px);
  }
  30% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px);
  }
}
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  10% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
  }
  20% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@-moz-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  10% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
  }
  20% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  10% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
  }
  20% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
.dropzone, .dropzone * {
  box-sizing: border-box;
}

.dropzone.dz-clickable {
  cursor: pointer;
}
.dropzone.dz-clickable * {
  cursor: default;
}
.dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
  cursor: pointer;
}
.dropzone {
  min-height: 150px;
  border: 2px solid rgba(0, 0, 0, 0.3);
  background: white;
  padding: 20px 20px;
}
.dropzone.dz-started .dz-message {
  display: none;
}
.dropzone.dz-drag-hover {
  border-style: solid;
}
.dropzone.dz-drag-hover .dz-message {
  opacity: 0.5;
}
.dropzone .dz-message {
  text-align: center;
  margin: 2em 0;
}
.dropzone .dz-preview {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin: 16px;
  min-height: 100px;
}
.dropzone .dz-preview:hover {
  z-index: 1000;
}
.dropzone .dz-preview:hover .dz-details {
  opacity: 1;
}
.dropzone .dz-preview.dz-file-preview .dz-image {
  border-radius: 20px;
  background: #999;
  background: linear-gradient(to bottom, #eee, #ddd);
}
.dropzone .dz-preview.dz-file-preview .dz-details {
  opacity: 1;
}
.dropzone .dz-preview.dz-image-preview {
  background: white;
}
.dropzone .dz-preview.dz-image-preview .dz-details {
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  -ms-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.dropzone .dz-preview .dz-remove {
  font-size: 14px;
  text-align: center;
  display: block;
  cursor: pointer;
  border: none;
}
.dropzone .dz-preview .dz-remove:hover {
  text-decoration: underline;
}
.dropzone .dz-preview:hover .dz-details {
  opacity: 1;
}
.dropzone .dz-preview .dz-details {
  z-index: 20;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  font-size: 13px;
  min-width: 100%;
  max-width: 100%;
  padding: 2em 1em;
  text-align: center;
  color: rgba(0, 0, 0, 0.9);
  line-height: 150%;
}
.dropzone .dz-preview .dz-details .dz-size {
  margin-bottom: 1em;
  font-size: 16px;
}
.dropzone .dz-preview .dz-details .dz-filename {
  white-space: nowrap;
}
.dropzone .dz-preview .dz-details .dz-filename:hover span {
  border: 1px solid rgba(200, 200, 200, 0.8);
  background-color: rgba(255, 255, 255, 0.8);
}
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
  border: 1px solid transparent;
}
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
  overflow: hidden;
  text-overflow: ellipsis;
}
.dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
  background-color: rgba(255, 255, 255, 0.4);
  padding: 0 0.4em;
  border-radius: 3px;
}
.dropzone .dz-preview:hover .dz-image img {
  -webkit-transform: scale(1.05, 1.05);
  -moz-transform: scale(1.05, 1.05);
  -ms-transform: scale(1.05, 1.05);
  -o-transform: scale(1.05, 1.05);
  transform: scale(1.05, 1.05);
  -webkit-filter: blur(8px);
  filter: blur(8px);
}
.dropzone .dz-preview .dz-image {
  border-radius: 20px;
  overflow: hidden;
  width: 120px;
  height: 120px;
  position: relative;
  display: block;
  z-index: 10;
}
.dropzone .dz-preview .dz-image img {
  display: block;
}
.dropzone .dz-preview.dz-success .dz-success-mark {
  -webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
  -moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
  -ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
  -o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
  animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
}
.dropzone .dz-preview.dz-error .dz-error-mark {
  opacity: 1;
  -webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
  -moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
  -ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
  -o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
  animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
}
.dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
  pointer-events: none;
  opacity: 0;
  z-index: 500;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  margin-left: -27px;
  margin-top: -27px;
}
.dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
  display: block;
  width: 54px;
  height: 54px;
}
.dropzone .dz-preview.dz-processing .dz-progress {
  opacity: 1;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -ms-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.dropzone .dz-preview.dz-complete .dz-progress {
  opacity: 0;
  -webkit-transition: opacity 0.4s ease-in;
  -moz-transition: opacity 0.4s ease-in;
  -ms-transition: opacity 0.4s ease-in;
  -o-transition: opacity 0.4s ease-in;
  transition: opacity 0.4s ease-in;
}
.dropzone .dz-preview:not(.dz-processing) .dz-progress {
  -webkit-animation: pulse 6s ease infinite;
  -moz-animation: pulse 6s ease infinite;
  -ms-animation: pulse 6s ease infinite;
  -o-animation: pulse 6s ease infinite;
  animation: pulse 6s ease infinite;
}
.dropzone .dz-preview .dz-progress {
  opacity: 1;
  z-index: 1000;
  pointer-events: none;
  position: absolute;
  height: 16px;
  left: 50%;
  top: 50%;
  margin-top: -8px;
  width: 80px;
  margin-left: -40px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transform: scale(1);
  border-radius: 8px;
  overflow: hidden;
}
.dropzone .dz-preview .dz-progress .dz-upload {
  background: #333;
  background: linear-gradient(to bottom, #666, #444);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 0;
  -webkit-transition: width 300ms ease-in-out;
  -moz-transition: width 300ms ease-in-out;
  -ms-transition: width 300ms ease-in-out;
  -o-transition: width 300ms ease-in-out;
  transition: width 300ms ease-in-out;
}
.dropzone .dz-preview.dz-error .dz-error-message {
  display: block;
}
.dropzone .dz-preview.dz-error:hover .dz-error-message {
  opacity: 1;
  pointer-events: auto;
}
.dropzone .dz-preview .dz-error-message {
  pointer-events: none;
  z-index: 1000;
  position: absolute;
  display: block;
  display: none;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  -ms-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  border-radius: 8px;
  font-size: 13px;
  top: 130px;
  left: -10px;
  width: 140px;
  background: rgb(190, 38, 38);
  background: linear-gradient(to bottom, rgb(190, 38, 38), rgb(168.75, 33.75, 33.75));
  padding: 0.5em 1.2em;
  color: white;
}
.dropzone .dz-preview .dz-error-message:after {
  content: "";
  position: absolute;
  top: -6px;
  left: 64px;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid rgb(190, 38, 38);
}

.flickity-enabled:focus {
  outline: 0;
}
.flickity-enabled.is-draggable {
  user-select: none;
}
.flickity-enabled .flickity-viewport {
  position: relative;
  border-radius: 0.625rem;
  height: 100%;
}
.flickity-enabled .flickity-viewport .flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}
.flickity-enabled .flickity-viewport .flickity-slider .gallery-cell {
  width: 100%;
}
.flickity-enabled .flickity-viewport .flickity-slider .gallery-cell .gallery-cell-image {
  line-height: 0;
  display: block;
  width: 100%;
  object-fit: cover;
}
.flickity-enabled .flickity-page-dots {
  position: absolute;
  left: 50%;
  display: none;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  line-height: 0;
  text-align: center;
  background-color: var(--cool-50);
  list-style: none;
  padding: 0 0.75rem;
  border-radius: 0.5rem;
  height: 1.75rem;
  box-shadow: 0 0 0 0 var(--cool-400), inset 0 0 0 0.0625rem var(--cool-200);
  box-sizing: border-box;
  transform: translate(-50%, 0);
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.flickity-enabled .flickity-page-dots:hover {
  box-shadow: 0 0 0 0.125rem var(--cool-400), inset 0 0 0 0.0625rem var(--cool-400);
}
.flickity-enabled .flickity-page-dots:has(.dot:nth-of-type(2)) {
  display: flex;
}
.flickity-enabled .flickity-page-dots .dot {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  background: var(--cool-400);
  border-radius: 50%;
}
.flickity-enabled .flickity-page-dots .dot.is-selected {
  background-color: var(--warm-500);
}
.flickity-enabled .flickity-prev-next-button {
  position: absolute;
  bottom: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: white;
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  box-shadow: 0 0 0 0 var(--cool-400), inset 0 0 0 0.0625rem var(--cool-200);
  transition: all 0.2s ease-in-out;
  opacity: 1;
  cursor: pointer;
}
.flickity-enabled .flickity-prev-next-button:hover {
  box-shadow: 0 0 0 0.125rem var(--cool-400), inset 0 0 0 0.0625rem var(--cool-400);
}
.flickity-enabled .flickity-prev-next-button:disabled {
  opacity: 0;
}
.flickity-enabled .flickity-prev-next-button.previous {
  left: 1rem;
}
.flickity-enabled .flickity-prev-next-button.next {
  right: 1rem;
}
.flickity-enabled .flickity-prev-next-button svg {
  position: absolute;
  left: 30%;
  top: 20%;
  width: 40%;
  height: 60%;
}
.flickity-enabled .flickity-prev-next-button svg .arrow {
  fill: var(--cool-400);
}

.carousel .flickity-enabled {
  position: relative;
}
.carousel .flickity-enabled .flickity-viewport {
  overflow: hidden;
}
.carousel .flickity-enabled .flickity-page-dots {
  bottom: -2.5rem;
}
.carousel .flickity-enabled .flickity-prev-next-button {
  display: none;
}
.carousel .flickity-enabled .gallery-cell-image {
  height: 12.8125rem;
}
@media only screen and (min-width: 390px) {
  .carousel .flickity-enabled .gallery-cell-image {
    height: 15.625rem;
  }
}
@media only screen and (min-width: 428px) {
  .carousel .flickity-enabled .gallery-cell-image {
    height: 20.625rem;
  }
}
@media only screen and (min-width: 600px) {
  .carousel .flickity-enabled .flickity-page-dots {
    bottom: 1.25rem;
  }
  .carousel .flickity-enabled .flickity-prev-next-button {
    display: flex;
  }
  .carousel .flickity-enabled .gallery-cell-image {
    height: 25rem;
  }
}
@media only screen and (min-width: 768px) {
  .carousel .flickity-enabled .gallery-cell-image {
    height: 35.625rem;
  }
}
.carousel:has(.video) .flickity-page-dots {
  padding-right: 2.75rem;
  width: 7.5rem;
}
.carousel:has(.video:hover) .flickity-page-dots {
  box-shadow: 0 0 0 0.125rem var(--cool-400), inset 0 0 0 0.0625rem var(--cool-400);
}

#googleMap .flickity-enabled .flickity-page-dots {
  bottom: 1.1875rem;
}

/*======================================
  Selectric v1.13.0
======================================*/
.selectWrapper {
  position: relative;
}
.selectWrapper.selectric-component {
  margin-bottom: 1.5rem;
}
.selectWrapper:has(.special-label) .special-label {
  position: absolute;
  top: 0.875rem;
  left: 1rem;
  font-size: var(--text-size-13);
}
.selectWrapper:has(.special-label):has(option.default:checked) .selectric .label {
  display: none;
}
.selectWrapper:has(.special-label):has(option.option-item:checked) .special-label {
  top: 0.375rem;
  left: 1rem;
  font-size: var(--text-size-2xs);
}
.selectWrapper:has(.special-label):has(option.option-item:checked) .selectric .label {
  display: block;
}
.selectWrapper:has(.special-label):has(option.option-item:checked) .selectric .label:before {
  display: none;
}

.selectric-wrapper {
  position: relative;
  cursor: pointer;
}
.selectric-wrapper:has(option.default:checked) .selectric .label {
  position: absolute;
  top: 0.875rem;
  left: 1rem;
  display: block;
  font-size: var(--text-size-13);
  text-align: left;
  padding: 0;
  margin-bottom: 0.3125rem;
  transition-timing-function: ease-in;
  transition-duration: 0.125s;
  pointer-events: none;
  width: calc(100% - 1rem);
}
.selectric-wrapper:has(option.option-item:checked) .selectric .label {
  position: relative;
}
.selectric-wrapper:has(option.option-item:checked) .selectric .label:before {
  position: absolute;
  top: 0.375rem;
  left: 1rem;
  content: "Select...";
  font-size: var(--text-size-2xs);
  width: calc(100% - 1rem);
}
.selectric-wrapper.selectric-open {
  z-index: 9999;
}
.selectric-wrapper.selectric-open .selectric {
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500), 0 0 0 0.125rem var(--cool-500);
}
.selectric-wrapper.selectric-open .selectric-items {
  display: block;
}
.selectric-wrapper.selectric-open:has(option.default:checked) .selectric .label {
  position: absolute;
  top: 0.375rem;
  left: 1rem;
  font-size: var(--text-size-2xs);
  width: calc(100% - 1rem);
}
.selectric-wrapper .selectric {
  position: relative;
  font-size: var(--text-size-13);
  color: var(--black);
  background-color: var(--white);
  border-radius: 0.5rem;
  margin: 0;
  width: 100%;
  height: 3rem;
  outline: none;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), 0 0 0 0 transparent;
  transition: border 0.2s ease-out, box-shadow 0.2s ease-out;
  box-sizing: border-box;
  overflow: hidden;
}
.selectric-wrapper .selectric:after {
  position: absolute;
  top: 1.3125rem;
  right: 0.625rem;
  content: "";
  border-left: 0.375rem solid transparent;
  border-right: 0.375rem solid transparent;
  border-top: 0.375rem solid var(--neutral-500);
}
.selectric-wrapper .selectric:active, .selectric-wrapper .selectric:hover {
  border: none;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500), 0 0 0 0.125rem var(--cool-500);
}
.selectric-wrapper .selectric.error {
  background-color: #FDF2F4;
  box-shadow: inset 0 0 0 0.0625rem var(--warm-600);
}
.selectric-wrapper .selectric.error:before {
  position: absolute;
  top: 0.9375rem;
  right: 0.4375rem;
  content: "error";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-2xl);
  line-height: var(--text-leading-xs);
  color: var(--warm-600);
  font-variation-settings: "FILL" 1;
}
.selectric-wrapper .selectric.error:after {
  display: none;
}
.selectric-wrapper .selectric.error .label {
  color: var(--warm-600);
}
.selectric-wrapper .selectric .label {
  display: block;
  font-size: var(--text-size-13);
  color: var(--black);
  overflow: hidden;
  padding-top: 1.3625rem;
  padding-left: 1rem;
  max-width: calc(100% - 3rem);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.selectric-wrapper .selectric .labellabel.required:after {
  content: "*";
  font-size: var(--text-size-13);
  line-height: 0;
  font-weight: var(--text-weight-semibold);
  color: var(--warm-600);
  margin-left: 0.1875rem;
}
.selectric-wrapper .selectric-items {
  display: none;
  position: absolute;
  top: 0.5rem;
  left: -0.5rem;
  background-color: rgba(232, 228, 234, 0.9);
  backdrop-filter: blur(0.3125rem);
  padding: 0.375rem;
  border-radius: 0.5rem;
  box-shadow: inset 0 0 0 0.0625rem rgb(184, 184, 186), 0 0.0625rem 0.75rem rgba(0, 0, 0, 0.09), 0 0.0625rem 0.75rem rgba(0, 0, 0, 0.18);
  z-index: 1;
}
.selectric-wrapper .selectric-items .selectric-scroll {
  height: 100%;
  overflow: auto;
}
.selectric-wrapper .selectric-items .disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  cursor: default !important;
  background: none !important;
  color: #666 !important;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.selectric-wrapper .selectric-items ul, .selectric-wrapper .selectric-items li {
  list-style: none;
  padding: 0;
  border-radius: 0.25rem;
  margin: 0;
  min-height: 0.625rem;
}
.selectric-wrapper .selectric-items li {
  display: block;
  font-size: var(--text-size-13);
  line-height: 1.3;
  font-weight: var(--text-weight-medium);
  color: var(--black);
  list-style: none;
  padding: 0.1875rem 1.125rem 0.25rem 1.125rem;
  cursor: pointer;
}
.selectric-wrapper .selectric-items li:hover {
  color: var(--white);
  background-color: rgb(98, 155, 248);
}
.selectric-wrapper .selectric-items li.selected {
  display: grid;
  grid-template-columns: 0.625rem 1fr;
  padding-left: 0.375rem;
  column-gap: 0.3125rem;
}
.selectric-wrapper .selectric-items li.selected:before {
  position: relative;
  top: 0.3125rem;
  display: flex;
  align-items: center;
  content: "";
  background-image: url('data:image/svg+xml,<svg width="10" height="9" viewBox="0 0 10 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 4.5L4 8L9 1" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  width: 0.625rem;
  height: 0.625rem;
}
.selectric-wrapper .selectric-items li.selected:hover:before {
  background-image: url('data:image/svg+xml,<svg width="10" height="9" viewBox="0 0 10 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 4.5L4 8L9 1" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.selectric-disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  cursor: default;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.selectric-hide-select {
  position: relative;
  overflow: hidden;
  width: 0;
  height: 0;
}
.selectric-hide-select select {
  position: absolute;
  left: -100%;
}
.selectric-hide-select.selectric-is-native {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.selectric-hide-select.selectric-is-native select {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  border: none;
  z-index: 1;
  box-sizing: border-box;
  opacity: 0;
}

.selectric-input {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0.0625rem !important;
  height: 0.0625rem !important;
  outline: none !important;
  border: none !important;
  *font: 0/0 a !important;
  background: none !important;
}

.selectric-temp-show {
  position: absolute !important;
  visibility: hidden !important;
  display: block !important;
}

.earn-airpoints,
.earn-double-airpoints,
.earn-triple-airpoints {
  display: block;
  font-size: 0;
  color: transparent;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 7.5rem;
  height: 2.5rem;
}

.earn-airpoints {
  background-image: url(../images/airpoints-1x.png);
}

.earn-double-airpoints {
  background-image: url(../images/airpoints-2x.png);
}

.earn-triple-airpoints {
  background-image: url(../images/airpoints-3x.png);
}

.avatar {
  display: flex;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 0 0 0.1875rem var(--cool-200);
}
.avatar:has(span):before {
  display: none;
}
.avatar:before {
  display: flex;
  justify-content: center;
  align-items: center;
  content: "account_circle";
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1, "wght" 200;
  color: var(--neutral-300);
  width: 100%;
}
.avatar span {
  display: block;
  width: 100%;
}
.avatar span img {
  scale: 1.1;
}
.avatar.xxsmall {
  width: 1.5rem;
  height: 1.5rem;
  box-shadow: 0 0 0 0.125rem var(--cool-200);
}
.avatar.xxsmall:before {
  font-size: 2.4rem;
}
.avatar.xsmall {
  width: 1.8rem;
  height: 1.8rem;
}
.avatar.xsmall:before {
  font-size: 2.8rem;
}
.avatar.small {
  width: 2rem;
  height: 2rem;
}
.avatar.small:before {
  font-size: 3rem;
}
.avatar.medium {
  width: 2.5rem;
  height: 2.5rem;
}
.avatar.medium:before {
  font-size: 4rem;
}
.avatar.large {
  width: 3rem;
  height: 3rem;
}
.avatar.large:before {
  font-size: 4.5rem;
}
.avatar.xlarge {
  width: 4rem;
  height: 4rem;
}
.avatar.xlarge:before {
  font-size: 6rem;
}

.box {
  background-color: var(--white);
  padding: 0.5rem 1rem 1rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
.box.round-box {
  border-radius: 0.625rem;
}
.box.round-box-tight {
  border-radius: 0.3125rem;
}
.box.thick-box {
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
  transition: all 0.2s ease-in;
}
.box.thick-box.hover-box:hover {
  box-shadow: inset 0 0 0 0.1875rem var(--cool-500), inset 0 -0.1875rem 0 var(--cool-500);
}
.box.highlight-box {
  background-color: var(--cool-25);
}
.box.dashed-box {
  border: 0.0625rem dashed var(--cool-300);
  box-shadow: none;
}
.box.shadow-box {
  padding: 2rem;
  box-shadow: 0 0.0625rem 0.1875rem rgba(var(--black-rgb), var(--alpha12)), 0 0.0625rem 0.125rem rgba(var(--black-rgb), var(--alpha24));
}
.box.shadow-heavy-box {
  box-shadow: 0 1.25rem 2.5rem rgba(var(--black-rgb), var(--alpha3)), 0 1rem 0.75rem rgba(var(--black-rgb), var(--alpha2));
}
.box.multi-box {
  position: relative;
}
.box.multi-box:before, .box.multi-box:after {
  position: absolute;
  top: 0.375rem;
  right: -0.375rem;
  left: 0.625rem;
  bottom: 0.1875rem;
  display: block;
  content: " ";
  border-right: 0.0625rem solid var(--cool-200);
  border-radius: 0.625rem;
  pointer-events: none;
}
.box.multi-box:after {
  position: absolute;
  top: 0.75rem;
  right: -0.6875rem;
  left: 1rem;
  bottom: 0.625rem;
}
.box.heading-box {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  font-size: var(--text-size-13);
  background-color: var(--white);
  padding-top: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}
.box.heading-box:has(.formRow) {
  row-gap: 0;
}
.box.heading-box .headline-3:has(i) {
  column-gap: 0.5rem;
}
.box.heading-box .headline-3:has(i) i {
  font-size: var(--text-size-lg);
  margin-right: 0.25rem;
}
.box.heading-box .headline-3:has(+ .formRow) {
  margin-bottom: 1.125rem;
}
.box.heading-box .headline-3.light-blue {
  color: var(--cool-600);
  background: var(--cool-200);
}
.box.heading-box .headline-3.orange {
  color: var(--white);
  background: var(--warm-500);
}
.box.heading-box .headline-3.purple {
  color: var(--white);
  background: var(--purple-800);
}
.box.heading-box .headline-3.red {
  color: var(--red-600);
  background: var(--white);
}
.box.heading-box ul {
  display: flex;
  flex-direction: column;
  row-gap: 0.375rem;
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-normal);
  text-align: left;
  list-style-type: none;
  margin: 0;
}
.box.heading-box ul li {
  display: flex;
  align-items: center;
  column-gap: 0.25rem;
}
.box.heading-box ul li i {
  font-size: var(--text-size-2xl);
  margin-right: 0.25rem;
}
.box.heading-box ul.stars-list {
  padding: 0 0 0 2rem;
}
.box.heading-box ul.stars-list li {
  position: relative;
  line-height: 1.5;
  list-style-type: none;
  padding: 0 0 0.625rem 0;
}
.box.heading-box ul.stars-list li:before {
  position: absolute;
  top: 0;
  left: -2rem;
  content: "star";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-sm);
  color: var(--cool-700);
}
.box.help-box, .box.terms-box {
  padding: 1.5rem;
  margin: 2rem auto;
  max-width: 48rem;
}
.box.auth-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 1.25rem;
  text-align: center;
  padding: 0.3125rem 2rem 2rem;
  margin: 0 auto 2rem;
  width: 100%;
  max-width: 38rem;
  box-sizing: border-box;
}
.box.auth-box p {
  padding-bottom: 1.25rem;
  border-bottom: 0.1875rem solid var(--cool-200);
}
.box.auth-box .formRow {
  row-gap: 1rem;
}
.box.auth-box .formRow .inputGroup input,
.box.auth-box .formRow .inputGroup select,
.box.auth-box .formRow .selectWrapper input,
.box.auth-box .formRow .selectWrapper select {
  margin-bottom: 0;
}
.box.auth-box .formRow .inputGroup div.valError,
.box.auth-box .formRow .selectWrapper div.valError {
  margin: 0.5rem 0 0;
}
.box.error-box {
  position: fixed;
  top: 5.5rem;
  right: 1rem;
  left: 1rem;
  color: var(--white);
  background-color: var(--red-600);
  width: calc(100% - 2rem);
  max-width: 40rem;
  min-height: 8.5rem;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .box.error-box {
    right: initial;
    left: calc(50% - 20rem);
    width: calc(100% - 1.25rem);
  }
}
.box.error-box .box-header {
  display: grid;
  gap: 0.3125rem;
  text-align: center;
  margin: 1.25rem 0 1.5rem;
}
.box.error-box .box-header h3 {
  font-size: var(--text-size-lg);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  color: var(--cool-700);
  letter-spacing: -0.025rem;
}
.box.error-box .box-header p {
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
}
.box .box-header {
  display: grid;
  row-gap: 0.5rem;
  text-align: center;
  margin-bottom: 2rem;
}
.box .box-header h3 {
  margin: 1.5rem 0 0;
}
.box h3 {
  font-size: var(--text-size-lg);
  font-weight: var(--text-weight-extrabold);
  color: var(--cool-700);
  text-align: center;
  margin: 2.25rem 0 0;
  width: 100%;
}
.box h3.headline-3 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-sm);
  color: var(--white);
  line-height: 0;
  font-weight: var(--text-weight-bold);
  text-transform: uppercase;
  background: var(--cool-700);
  border-radius: 0.875rem;
  margin: 0 -0.375rem 0.75rem;
  width: calc(100% + 0.75rem);
  height: 1.75rem;
}
.box p {
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
  width: 100%;
}

.closeDeals-wrapper {
  margin: 0 0 3rem;
}
.closeDeals-wrapper.things-to-do {
  margin-bottom: 1rem;
}
.closeDeals-wrapper.exploreLists > p {
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  margin: 0 auto 2rem;
}
.closeDeals-wrapper.exploreLists .lists-wrapper {
  display: flex;
  justify-content: space-between;
}
.closeDeals-wrapper.exploreLists .lists-wrapper .infoCard {
  width: calc(50% - 1rem);
  margin: 0 0 2rem;
}
.closeDeals-wrapper.tips {
  margin-top: 0;
}
.closeDeals-wrapper h2 {
  display: flex;
  flex-direction: column;
  font-size: var(--text-size-xl);
  font-weight: var(--text-weight-bold);
  color: var(--black);
  line-height: var(--text-leading-lg);
  letter-spacing: -0.03125rem;
  text-align: center;
  padding: 1.25rem 0 0;
  margin: 0 auto 1rem;
  width: 100%;
  max-width: 40rem;
}
.closeDeals-wrapper h2 em {
  font-style: normal;
  text-transform: capitalize;
}
.closeDeals-wrapper h2 span {
  font-size: var(--text-size-13);
  line-height: 1.4;
  font-weight: var(--text-weight-normal);
  letter-spacing: initial;
  margin-top: 0.5rem;
}
.closeDeals-wrapper .closeDeals-scroller {
  display: grid;
  justify-content: flex-start;
  column-gap: 1rem;
  grid-auto-flow: column;
  padding: 0.625rem 0 2rem;
  overflow-x: auto;
}
@media only screen and (min-width: 768px) {
  .closeDeals-wrapper .closeDeals-scroller {
    justify-content: center;
  }
  .closeDeals-wrapper .closeDeals-scroller:has(.closeDeal:nth-of-type(4)) {
    justify-content: flex-start;
  }
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: var(--white);
  padding: 1.25rem 0.625rem;
  border-radius: 0.625rem;
  width: 15.1875rem;
  box-sizing: border-box;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal:first-of-type {
  margin: 0;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal h3 {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  font-size: var(--text-size-sm);
  line-height: 1.25;
  font-weight: var(--text-weight-bold);
  color: var(--black);
  text-align: left;
  white-space: normal;
  padding: 0;
  box-sizing: border-box;
  min-height: 5rem;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal h3 .howfaraway {
  display: block;
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-normal);
  color: var(--cool-600);
  margin-top: 0.3125rem;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal h3 .howfaraway:before {
  content: "\e52e";
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
  font-weight: normal;
  font-variation-settings: "FILL" 1;
  color: var(--cool-600);
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
  margin-right: 0.125rem;
  margin-top: -0.125rem;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_imageWrap {
  position: relative;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_imageWrap img {
  width: 100%;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_imageWrap .closeDeal_discount {
  position: absolute;
  top: -1.25rem;
  right: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-style: oblique;
  font-size: var(--text-size-base);
  line-height: var(--text-leading-base) 1;
  font-weight: var(--text-weight-semibold);
  color: var(--white);
  border-radius: 50%;
  box-shadow: 0 0.5rem 0.625rem 0.0625rem rgba(var(--black-rgb), var(--alpha1)), 0 0.1875rem 0.875rem 0.125rem rgba(var(--black-rgb), var(--alpha1)), 0 0.625rem 0.625rem -0.1875rem rgba(var(--black-rgb), var(--alpha2));
  width: 3.5rem;
  height: 3.5rem;
  z-index: 1;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_imageWrap .closeDeal_discount:after {
  display: block;
  content: "Discount";
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-3xs);
  font-weight: var(--text-weight-normal);
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_imageWrap .closeDeal_discount.dealDiscount-1 {
  background-color: var(--warm-300);
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_imageWrap .closeDeal_discount.dealDiscount-2 {
  background-color: var(--warm-400);
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_imageWrap .closeDeal_discount.dealDiscount-3 {
  background-color: var(--warm-500);
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_imageWrap .closeDeal_discount.dealDiscount-4 {
  background-color: var(--cool-400);
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: 0.3125rem;
  margin: 1rem 0 1.5rem;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_price em {
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-normal);
  text-align: right;
  margin-right: 0.1875rem;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_price span {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: 0.4rem;
  font-size: var(--text-size-2xl);
  line-height: var(--text-leading-2xl) 1.1;
  font-weight: var(--text-weight-semibold);
  letter-spacing: -0.0625rem;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_price span:before {
  content: "From:";
  font-size: var(--text-size-4xs);
  font-weight: var(--text-weight-normal);
  line-height: var(--text-leading-4xs);
  letter-spacing: 0;
  text-align: right;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_dealButton a {
  column-gap: 0.625rem;
  width: 100%;
}
.closeDeals-wrapper .closeDeals-scroller .closeDeal .closeDeal_dealButton a i {
  display: none;
}
.closeDeals-wrapper .closeRegions-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin: 1.875rem auto 2rem;
  width: 100%;
  max-width: fit-content;
}
.closeDeals-wrapper .closeRegions-wrap .closeRegions-card {
  position: relative;
  display: grid;
  align-items: flex-end;
  color: var(--white);
  border-radius: 0.5rem;
  padding: 1rem;
  width: 100%;
  max-width: 15.1875rem;
  height: 15.375rem;
  box-sizing: border-box;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .closeDeals-wrapper .closeRegions-wrap .closeRegions-card {
    height: 18rem;
  }
}
.closeDeals-wrapper .closeRegions-wrap .closeRegions-card .region {
  position: relative;
  display: grid;
  grid-template-rows: 1.25rem auto;
  gap: 0.1875rem;
  font-size: var(--text-size-xs);
  line-height: 1.3;
  text-align: center;
  height: 3.5rem;
  z-index: 1;
}
.closeDeals-wrapper .closeRegions-wrap .closeRegions-card .region .region-name {
  font-size: var(--text-size-base);
  font-weight: var(--text-weight-bold);
}
.closeDeals-wrapper .closeRegions-wrap .closeRegions-card .region .region-name.QTplusMS {
  margin-bottom: 0.8125rem;
}
.closeDeals-wrapper .closeRegions-wrap .closeRegions-card .closeRegions-img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.closeDeals-wrapper .closeRegions-wrap .closeRegions-card .closeRegions-img:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: linear-gradient(to top, rgba(var(--black-rgb), var(--alpha3)) 0%, rgba(var(--white-rgb), var(--alpha0)) 100%);
}
.closeDeals-wrapper .closeRegions-wrap .closeRegions-card .closeRegions-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.booking-confirmation .closeDeals-wrapper {
  margin: 0 auto;
  max-width: 50rem;
}

.country-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-13);
  line-height: 1.25;
  font-weight: var(--text-weight-semibold);
  color: var(--cool-700);
  margin-bottom: 1.5rem;
  width: 100%;
  height: 3.6rem;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.country-tabs__tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--white);
  width: 100%;
  height: 100%;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.country-tabs__tab.active {
  box-shadow: inset 0 -0.1875rem 0 var(--cool-400);
}

.bookmeLists-wrapper {
  display: flex;
  justify-content: center;
  grid-gap: 1rem;
  margin: 2rem auto 0;
  max-width: 48rem;
}
.bookmeLists-wrapper div {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-xs);
  background-color: var(--white);
  border-radius: 1.5rem;
  width: 100%;
  max-width: 11.25rem;
  height: 2.75rem;
  box-shadow: 0 0 0 0 rgba(var(--black-rgb), var(--alpha1)), 0 0 0 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
  transition: box-shadow 0.2s ease-in-out;
  cursor: pointer;
}
.bookmeLists-wrapper div:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-400);
}
.bookmeLists-wrapper div a {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 0.3125rem;
  width: 100%;
}
.bookmeLists-wrapper div a i {
  font-size: var(--text-size-lg);
}
.bookmeLists-wrapper div a span hider {
  display: none;
}
@media only screen and (min-width: 768px) {
  .bookmeLists-wrapper div a span hider {
    display: inline;
  }
}

/* CURRENCY FLAGS */
.flagAU,
.flagAUD,
.flagFJ,
.flagFJD,
.flagNZ,
.flagNZD {
  position: relative;
}
.flagAU:before,
.flagAUD:before,
.flagFJ:before,
.flagFJD:before,
.flagNZ:before,
.flagNZD:before {
  position: absolute;
  top: 0.5rem;
  content: "";
  background-size: cover;
  width: 1.5rem;
  height: 0.75rem;
  margin-left: -2rem;
}

.flagAU:before,
.flagAUD:before {
  background-image: url(../images/flagAU.png);
}

.flagFJ:before,
.flagFJD:before {
  background-image: url(../images/flagFJ.png);
}

.flagNZ:before,
.flagNZD:before {
  background-image: url(../images/flagNZ.png);
}

/* CONVERT CURRENCY IN FIJI */
.currencyWrapper {
  margin-top: 3rem;
}
.currencyWrapper h3 {
  font-size: var(--text-size-lg);
  font-weight: var(--text-weight-bold);
  margin-bottom: 0.3125rem;
}
.currencyWrapper .currency-box {
  padding: 2rem 1.5rem 1.5rem;
  margin: 2rem 0;
}
.currencyWrapper .convertedTotal.AUD span, .currencyWrapper .convertedTotal.NZD span {
  position: relative;
  display: block;
  font-size: var(--text-size-xl);
  line-height: var(--text-leading-xl);
  font-weight: var(--text-weight-semibold);
  color: var(--black);
  text-align: right;
}
.currencyWrapper .convertedTotal.AUD span:before, .currencyWrapper .convertedTotal.NZD span:before {
  position: absolute;
  top: 0.5rem;
  content: "";
  background-size: cover;
  width: 1.5rem;
  height: 0.75rem;
  margin-left: -2rem;
}
.currencyWrapper .convertedTotal.AUD:after, .currencyWrapper .convertedTotal.NZD:after {
  display: block;
  font-size: var(--text-size-3xs);
  line-height: var(--text-leading-3xs);
  font-weight: var(--text-weight-normal);
  text-align: right;
}
.currencyWrapper .convertedTotal.AUD span::before {
  background-image: url(../images/flagAU.png);
}
.currencyWrapper .convertedTotal.AUD:after {
  content: "Total in AUD";
}
.currencyWrapper .convertedTotal.NZD span::before {
  background-image: url(../images/flagNZ.png);
}
.currencyWrapper .convertedTotal.NZD:after {
  content: "Total in NZD";
}

.houseAd {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  position: relative;
  letter-spacing: 0;
  background-size: 100%;
  padding: 0;
  border: none;
  border-radius: 0.25rem;
  margin: 0 auto;
  width: 100%;
  max-width: 42.5rem;
  height: 12.5rem;
  overflow: hidden;
}
.houseAd .houseAd_inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.25rem;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  z-index: 1;
}
.houseAd .houseAd_inner .houseAd_text {
  text-transform: uppercase;
  width: 100%;
}
.houseAd .houseAd_inner .houseAd_text h3 {
  font-size: var(--text-size-xl);
  font-weight: var(--text-weight-bold);
  color: var(--white);
  line-height: 1.2;
  width: 90%;
}
.houseAd .houseAd_inner .houseAd_text h3 span {
  display: block;
  font-size: var(--text-size-lg);
  font-weight: var(--text-weight-semibold);
}
.houseAd .houseAd_inner .houseAd_button {
  display: flex;
  justify-content: flex-end;
}
.houseAd .houseAd_inner .houseAd_button a {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-base);
  border-radius: 1.25rem;
  margin: 0;
  width: 9rem;
  box-shadow: inset 0 0 0 0 transparent, 0 0 0 0 transparent;
  transition: all 0.2s ease;
  cursor: pointer;
}
.houseAd .houseAd_inner .houseAd_button a:hover {
  opacity: 1;
  box-shadow: inset 0 0 0 0.0625rem var(--black), 0 0 0 0.125rem var(--black);
}
.houseAd .houseAd_bg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0;
  width: 100%;
  height: 12.5rem;
  overflow: hidden;
}
.houseAd .houseAd_bg img {
  object-fit: cover;
  height: 100%;
}
.houseAd .houseAd_bg:after {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: linear-gradient(135deg, rgba(15, 20, 40, 0.35) 0%, rgba(0, 0, 0, 0) 100%);
  width: 100%;
}
.houseAd {
  /* == DINING HOUSE ADD ============================== */
}
.houseAd.houseAdDining .houseAd_inner .houseAd_button a {
  background-color: var(--green-500);
}
.houseAd {
  /* == CAMPERS HOUSE ADD ============================== */
}
.houseAd.houseAdCamper .houseAd_inner .houseAd_text h3 {
  font-size: var(--text-size-2xl);
}
.houseAd {
  /* == RESTAURANT APP HOUSE ADD ====================== */
}
.houseAd.restaurantApp:before, .houseAd.restaurantApp:after {
  display: none;
}
.houseAd.restaurantApp .houseAd_inner {
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.25rem;
  box-sizing: border-box;
}
.houseAd.restaurantApp .houseAd_inner .houseAd_text {
  background-image: url(../images/house-ads/house-ad-restaurant-app-logo.png);
  background-size: contain;
  background-repeat: no-repeat;
  min-height: 6rem;
}
.houseAd.restaurantApp .houseAd_inner .houseAd_button {
  justify-content: flex-end;
  width: 100%;
}
.houseAd.restaurantApp .houseAd_inner .houseAd_button a {
  display: flex;
  flex-wrap: no-wrap;
  flex-direction: row;
  background-color: transparent;
  padding-bottom: 1.25rem;
  width: auto;
}
.houseAd.restaurantApp .houseAd_inner .houseAd_button img {
  display: inline-block;
  margin: 0 0 0 0.625rem;
  width: auto;
  height: 2rem;
}
.houseAd.restaurantApp .houseAd_inner .houseAd_bg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0;
  width: 100%;
  height: 5rem;
  overflow: hidden;
  transform: scaleX(-1);
}
.houseAd.restaurantApp .houseAd_inner .houseAd_bg:after {
  display: block;
  position: relative;
  content: "";
  background: linear-gradient(315deg, rgba(0, 0, 0, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
  width: 100%;
  height: 12.5rem;
}
.houseAd.restaurantApp .houseAd_inner .houseAd_bg img {
  position: absolute;
  top: -9999px;
  left: -9999px;
  right: -9999px;
  bottom: -9999px;
  margin: auto;
  height: 12.5rem;
}

.camper-ad-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 0;
}

.camper-ad-terms {
  font-size: var(--text-size-2xs);
  color: var(--neutral-400);
  line-height: var(--text-leading-xs);
  padding: 1.5rem 1.125rem 0;
}
.camper-ad-terms dl dt {
  margin-bottom: 0.125rem;
}

@media only screen and (min-width: 768px) {
  .camper-ad-wrapper {
    box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200);
  }
  .camper-ad-terms {
    padding: 1.5rem 0 0;
  }
}
.modal-dialog-wrapper {
  position: fixed;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.8);
  padding: 0 1.25rem;
  width: 100%;
  height: 100vh;
  box-sizing: border-box;
  z-index: 11;
}
.modal-dialog-wrapper:has(.bookme, .qualmark) {
  display: none;
}
.modal-dialog-wrapper .modal-dialog {
  display: grid;
  grid-template-rows: 9rem minmax(9rem, 1fr) 1rem;
  background: var(--white);
  border-radius: 1rem;
  width: 100%;
  max-width: 30rem;
  max-height: 36rem;
  box-shadow: 0 0.625rem 1.5rem rgba(0, 0, 0, 0.3), 0 1rem 0.75rem rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
.modal-dialog-wrapper .modal-dialog:has(.modal-footer a) {
  grid-template-rows: 9rem minmax(9rem, 1fr) 3.25rem;
}
.modal-dialog-wrapper .modal-dialog .modal-header {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--cool-800);
}
.modal-dialog-wrapper .modal-dialog .modal-header .modal-type {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-5xl);
  color: var(--white);
  border-radius: 50%;
  margin: 0;
  width: 6rem;
  height: 6rem;
}
.modal-dialog-wrapper .modal-dialog .modal-header .modal-type.bookme {
  background-image: linear-gradient(135deg, var(--warm-600) 0, var(--warm-500) 100%);
  box-shadow: inset 0 0 0 0.25rem var(--white), 0 0.1875rem 0.375rem rgba(var(--black-rgb), var(--alpha1)), 0 0.1875rem 0.375rem rgba(var(--black-rgb), var(--alpha2));
}
.modal-dialog-wrapper .modal-dialog .modal-header .modal-type.qualmark {
  background-color: var(--black);
  background-image: url(../images/fern.png);
  background-size: 3rem 3rem;
  background-position: center center;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 0.25rem var(--white), 0 0.1875rem 0.375rem rgba(var(--black-rgb), var(--alpha1)), 0 0.1875rem 0.375rem rgba(var(--black-rgb), var(--alpha2));
}
.modal-dialog-wrapper .modal-dialog .modal-header .bkmePop-closer {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  font-size: var(--text-size-xl);
  color: var(--white);
  cursor: pointer;
}
.modal-dialog-wrapper .modal-dialog .modal-body {
  padding: 1.5rem;
  overflow-y: auto;
}
.modal-dialog-wrapper .modal-dialog .modal-body.center-text {
  text-align: center;
}
.modal-dialog-wrapper .modal-dialog .modal-body h3 {
  font-size: var(--text-size-base);
  line-height: var(--text-leading-base);
  font-weight: var(--text-weight-bold);
  margin-bottom: 0.75rem;
}
.modal-dialog-wrapper .modal-dialog .modal-body p {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-normal);
  margin-bottom: 0.75rem;
}
.modal-dialog-wrapper .modal-dialog .modal-body p .qualmarkLogoLarge {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50%;
  width: 5.5rem;
  height: 5.5rem;
}
.modal-dialog-wrapper .modal-dialog .modal-body p .qualmarkLogoLarge.left {
  float: left;
  margin: 0.25rem 1.5rem 0 0;
}
.modal-dialog-wrapper .modal-dialog .modal-body p .qualmarkLogoLarge.right {
  float: right;
  margin: 0.25rem 0 0 1.5rem;
}
.modal-dialog-wrapper .modal-dialog .modal-body p .qualmarkLogoLarge.qualmark-gold {
  background-image: url(../images/qualmark_badges/gold-large.jpg);
}
.modal-dialog-wrapper .modal-dialog .modal-body p .qualmarkLogoLarge.qualmark-silver {
  background-image: url(../images/qualmark_badges/silver-large.jpg);
}
.modal-dialog-wrapper .modal-dialog .modal-body p .qualmarkLogoLarge.qualmark-bronze {
  background-image: url(../images/qualmark_badges/bronze-large.jpg);
}
.modal-dialog-wrapper .modal-dialog .modal-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 1.5rem;
  padding: 0 1rem;
}

.photo-grid {
  position: relative;
}
.photo-grid .photo:not(.one) {
  display: none;
}
.photo-grid .photo img {
  border-radius: 0.625rem;
  width: 100%;
  max-height: 20rem;
  object-fit: cover;
}
.photo-grid .photos-count {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  display: flex;
  column-gap: 0.3125rem;
  font-size: var(--text-size-xs);
  color: var(--white);
  background: rgba(0, 0, 0, 0.65);
  border-radius: 0.3125rem;
  padding: 0.25rem 0.3125rem 0.3125rem;
  width: fit-content;
}
.photo-grid .photos-showAll {
  display: none;
}

.hero-grid {
  display: none;
}

@media only screen and (min-width: 768px) {
  .photo-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: repeat(6, 1fr);
    gap: 0.375rem;
    height: 27.5rem;
  }
  .photo-grid:has(.photos-count) .photo:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: rgba(0, 0, 0, 0.12);
    cursor: pointer;
    transition: opacity 0.4s ease;
    opacity: 0;
  }
  .photo-grid:has(.photos-count) .photo:hover:before {
    opacity: 1;
  }
  .photo-grid .photo {
    position: relative;
    display: flex;
    background: var(--cool-25);
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .photo-grid .photo:not(.one) {
    display: flex;
  }
  .photo-grid .photo img {
    border-radius: 0;
    width: 100%;
    height: 100%;
    max-height: initial;
    aspect-ratio: 3/2;
    object-fit: cover;
  }
  .photo-grid:has(.one) .photo.one {
    grid-column: 1/11;
    grid-row: 1/7;
    border-radius: 0.625rem;
  }
  .photo-grid:has(.two) .photo.one {
    grid-column: 1/7;
    grid-row: 1/7;
    border-radius: 0.625rem 0 0 0.625rem;
  }
  .photo-grid:has(.two) .photo.two {
    grid-column: 7/11;
    grid-row: 1/7;
    border-radius: 0 0.625rem 0.625rem 0;
  }
  .photo-grid:has(.three) .photo.one {
    grid-column: 1/7;
    grid-row: 1/7;
    border-radius: 0.625rem 0 0 0.625rem;
  }
  .photo-grid:has(.three) .photo.two {
    grid-column: 7/11;
    grid-row: 1/3;
    border-radius: 0 0.625rem 0 0;
  }
  .photo-grid:has(.three) .photo.three {
    grid-column: 7/11;
    grid-row: 3/7;
    border-radius: 0 0 0.625rem 0;
  }
  .photo-grid:has(.four) .photo.one {
    grid-column: 1/7;
    grid-row: 1/7;
    border-radius: 0.625rem 0 0 0.625rem;
  }
  .photo-grid:has(.four) .photo.two {
    grid-column: 7/11;
    grid-row: 3/7;
    border-radius: 0 0 0.625rem 0;
  }
  .photo-grid:has(.four) .photo.three {
    grid-column: 7/9;
    grid-row: 1/3;
    border-radius: 0;
  }
  .photo-grid:has(.four) .photo.four {
    grid-column: 9/11;
    grid-row: 1/3;
    border-radius: 0 0.625rem 0 0;
  }
  .photo-grid:has(.five) .photo.one {
    grid-column: 1/7;
    grid-row: 1/7;
    border-radius: 0.625rem 0 0 0.625rem;
  }
  .photo-grid:has(.five) .photo.two {
    grid-column: 7/9;
    grid-row: 1/4;
    border-radius: 0;
  }
  .photo-grid:has(.five) .photo.three {
    grid-column: 9/11;
    grid-row: 1/4;
    border-radius: 0 0.625rem 0 0;
  }
  .photo-grid:has(.five) .photo.four {
    grid-column: 7/9;
    grid-row: 4/7;
    border-radius: 0;
  }
  .photo-grid:has(.five) .photo.five {
    grid-column: 9/11;
    grid-row: 4/7;
    border-radius: 0 0 0.625rem 0;
  }
  .photo-grid .photos-count {
    display: none;
  }
  .photo-grid .photos-showAll {
    position: absolute;
    bottom: 1.25rem;
    right: 1.25rem;
    display: flex;
    align-items: center;
    column-gap: 0.3125rem;
    font-size: var(--text-size-xs);
    font-weight: var(--text-weight-semibold);
    color: var(--cool-500);
    background-color: var(--white);
    padding: 0.3125rem 0.5rem 0.3125rem 0.375rem;
    border-radius: 0.5rem;
    box-shadow: inset 0 0 0 0.125rem var(--cool-500);
    transition: box-shadow 0.2s ease-out;
    cursor: pointer;
  }
  .photo-grid .photos-showAll:hover {
    box-shadow: inset 0 0 0 0.1875rem var(--cool-500);
  }
  .photo-grid .photos-showAll .material-symbols-outlined {
    font-size: var(--text-size-base);
  }
  .hero-grid {
    display: grid;
    grid-template-columns: auto 13.75rem;
    gap: 0.375rem;
    border-radius: 0.625rem;
    max-width: 64rem;
    width: 100%;
    overflow: hidden;
  }
  .hero-grid img {
    display: block;
    object-fit: cover;
    width: 100%;
    max-width: 50rem;
  }
  .hero-grid .hero-grid--left img {
    height: 28.125rem;
  }
  .hero-grid .hero-grid--right {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
  }
  .hero-grid .hero-grid--right img {
    height: 33.3333%;
  }
}
.qualmarkLogo {
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
}
.qualmarkLogo.GOLD {
  background-image: url("https://bookmestatic.net.nz/things-to-do/images/qualmarkLogo-gold.svg");
}
.qualmarkLogo.SILVER {
  background-image: url("https://bookmestatic.net.nz/things-to-do/images/qualmarkLogo-silver.svg");
}
.qualmarkLogo.BRONZE {
  background-image: url("https://bookmestatic.net.nz/things-to-do/images/qualmarkLogo-bronze.svg");
}

.screen-title .qualmarkLogo {
  position: absolute;
  right: 0;
  bottom: 5.5rem;
  width: 3.6rem;
  height: 3.8rem;
}

.slide-card__body .qualmarkLogo {
  position: static;
  width: 5.5rem;
  height: 5.5rem;
}
.slide-card__body .qualmarkLogo.left {
  float: left;
  margin: 0.25rem 1.5rem 0.5rem 0;
}
.slide-card__body .qualmarkLogo.right {
  float: right;
  margin: 0.25rem 0 0.5rem 1.5rem;
}

@media only screen and (min-width: 768px) {
  .screen-title .qualmarkLogo {
    bottom: 1.6rem;
    width: 4.675rem;
    height: 4.9375rem;
  }
}
.qualmarkLogo {
  display: block;
  position: absolute;
  right: -0.5rem;
  bottom: 1.125rem;
  background-size: contain;
  background-repeat: no-repeat;
  width: 3.5rem;
  height: 3.5rem;
}
.qualmarkLogo.GOLD {
  background-image: url(../images/qualmark_badges/qualmark_gold_blackfern.svg);
}
.qualmarkLogo.SILVER {
  background-image: url(../images/qualmark_badges/qualmark_silver_blackfern.svg);
}
.qualmarkLogo.BRONZE {
  background-image: url(../images/qualmark_badges/qualmark_bronze_blackfern.svg);
}
@media only screen and (min-width: 768px) {
  .qualmarkLogo {
    width: 4.5rem;
    height: 4.5rem;
  }
}

.qualmarkLogoLarge {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50%;
  margin: 0.5rem 0;
  width: 9.75rem;
  height: 6.25rem;
}
.qualmarkLogoLarge.GOLD {
  background-image: url(../images/qualmark_badges/gold-large.jpg);
}
.qualmarkLogoLarge.SILVER {
  background-image: url(../images/qualmark_badges/silver-large.jpg);
}
.qualmarkLogoLarge.BRONZE {
  background-image: url(../images/qualmark_badges/bronze-large.jpg);
}
.qualmarkLogoLarge.HUNDRED_PCT {
  background-image: url(../images/qualmark_badges/100pure.png);
}

body::before {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: transparent;
  opacity: 1;
  transition: opacity 1s ease-in-out;
  pointer-events: none;
  z-index: -1;
}
body:has(.slide-box__open) {
  overflow: hidden;
}
body:has(.slide-box__open):before {
  background: var(--cool-800);
  overflow: hidden;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  body:has(.slide-box__open) {
    background: var(--white);
  }
  body:has(.slide-box__open):before {
    opacity: 0.4;
    z-index: 11;
    pointer-events: auto;
  }
}
body:has(.slide-box__open) .headerWrapper {
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) {
  body:has(.slide-box__open) .headerWrapper {
    opacity: 1;
  }
}
body:has(.slide-box__open) .fullPage {
  opacity: 0;
  transition: all 0.15s ease-in-out;
  transition-delay: initial;
}
@media only screen and (min-width: 768px) {
  body:has(.slide-box__open) .fullPage {
    opacity: 1;
  }
}
body:has(.slide-box__open) .pageWrapper {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  body:has(.slide-box__open) .pageWrapper {
    border-radius: 0;
    overflow: initial;
  }
}
body:has(.slide-box__open) .pageWrapper:before {
  position: fixed;
  top: 0.625rem;
  scale: 0.95 0.9;
  transform-origin: center top;
  border-radius: 2rem;
  height: 100vh;
  overflow: hidden;
  background: var(--white);
  z-index: 100;
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  body:has(.slide-box__open) .pageWrapper:before {
    opacity: 0;
  }
}
body:has(.slide-box__open) .mobNav {
  opacity: 0;
  transition-delay: initial;
}
body:has(.slide-box__open) .footWrapper {
  display: none;
}

.slide-box {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: stretch;
  padding-top: 1.25rem;
  z-index: 101;
  transition: all 0.3s ease-in-out;
}
.slide-box.slide-box__closed {
  top: 100%;
}
.slide-box.slide-box__open {
  top: 0;
}
.slide-box .slide-card {
  display: grid;
  grid-template-rows: 5rem 1fr;
  background: var(--cool-25);
  border-radius: 0.625rem 0.625rem 0 0;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.25);
  width: 100%;
  max-width: 64rem;
  height: 100%;
}
.slide-box .slide-card:has(.slide-card__footer) {
  grid-template-rows: 5rem auto 4rem;
}
.slide-box .slide-card:has(.slide-card__footer):has(.booking-list__summary) {
  grid-template-rows: 5rem auto minmax(auto, 8.5rem);
}
.slide-box .slide-card:has(.login-function):has(.slide-card__footer), .slide-box .slide-card:has(.askQuestion-confirmation[style="display:flex;"]):has(.slide-card__footer) {
  grid-template-rows: 5rem auto;
}
.slide-box .slide-card:has(.askQuestion-confirmation[style="display:flex;"]) .slide-card__footer, .slide-box .slide-card:has(#newFavForm[style="display:block;"]) .slide-card__footer {
  display: none;
}
.slide-box .slide-card {
  /* HEADER */
}
.slide-box .slide-card .slide-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.slide-box .slide-card .slide-card__header .header-wrapper {
  display: grid;
  grid-template-columns: 3.75rem 1fr 3.75rem;
  justify-content: space-between;
  align-items: center;
  gap: 0.625rem;
  font-size: var(--text-size-13);
  line-height: 2.4;
  font-weight: var(--text-weight-bold);
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  background-color: var(--cool-700);
  padding: 0.0625rem 1.25rem 0 1rem;
  border-radius: 1.25rem;
  margin: 0 1rem;
  width: 100%;
}
.slide-box .slide-card .slide-card__header .header-wrapper h2 {
  font-size: var(--text-size-sm);
  text-transform: uppercase;
  text-align: center;
  order: 2;
}
@media only screen and (min-width: 768px) {
  .slide-box .slide-card .slide-card__header .header-wrapper h2 {
    font-size: var(--text-size-15);
  }
}
.slide-box .slide-card .slide-card__header .header-wrapper span {
  display: flex;
  align-items: center;
  font-size: var(--text-size-xl);
  transition: all 0.2s;
  cursor: pointer;
}
.slide-box .slide-card .slide-card__header .header-wrapper span:hover {
  color: var(--cool-300);
}
.slide-box .slide-card .slide-card__header .header-wrapper span.filterClose {
  order: 3;
  justify-content: flex-end;
}
.slide-box .slide-card .slide-card__header .header-wrapper .listChip-switcher {
  justify-content: flex-start;
  column-gap: 1.25rem;
  flex-direction: row-reverse;
  order: 1;
}
.slide-box .slide-card .slide-card__header .header-wrapper .listChip-switcher span {
  color: var(--neutral-300);
}
.slide-box .slide-card .slide-card__header .header-wrapper .listChip-switcher span:hover {
  color: var(--cool-300);
}
.slide-box .slide-card .slide-card__header:has(+ .slide-card__body .chip) #asChips {
  color: var(--white);
}
.slide-box .slide-card .slide-card__header:has(+ .slide-card__body .list) #asList {
  color: var(--white);
}
.slide-box .slide-card {
  /* BODY */
}
.slide-box .slide-card .slide-card__body {
  padding: 0 1rem 3.75rem;
  overflow-y: auto;
}
.slide-box .slide-card .slide-card__body h3 {
  font-size: var(--text-size-15);
  font-weight: var(--text-weight-bold);
  color: var(--cool-600);
  margin: 1.5rem 0 0;
  width: 100%;
}
.slide-box .slide-card .slide-card__body h3 span {
  display: block;
  font-size: var(--text-size-xs);
  line-height: 1.5;
  font-weight: var(--text-weight-normal);
  margin-top: 0.3125rem;
}
.slide-box .slide-card .slide-card__body h3.bigHead {
  font-size: var(--text-size-lg);
  font-weight: var(--text-weight-extrabold);
  color: var(--cool-700);
  text-align: center;
  margin: 2.25rem 0 0;
  width: 100%;
}
.slide-box .slide-card .slide-card__body .booking-list__restrictions {
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin-top: 2rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
.slide-box .slide-card .slide-card__body .booking-list__restrictions h3 {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-bold);
  margin-top: 0;
}
.slide-box .slide-card .slide-card__body .booking-list__restrictions p {
  margin: 0.625rem 0 0;
}
.slide-box .slide-card .slide-card__body:has(.popupPhoto) {
  display: flex;
  align-items: center;
  padding: 0 1.25rem;
}
.slide-box .slide-card .slide-card__body .user-photo {
  padding: 0.625rem 0.625rem 1rem;
  border-radius: 0.25rem;
  width: 100%;
}
.slide-box .slide-card .slide-card__body .user-photo .masonry-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 14rem;
  gap: 0.625rem;
  width: 100%;
}
.slide-box .slide-card .slide-card__body .user-photo .masonry-grid .grid-item:nth-child(3n+1) {
  grid-column: span 2;
  grid-row: span 2;
}
.slide-box .slide-card .slide-card__body .user-photo .masonry-grid .grid-item.review-grid-item {
  position: relative;
  border-radius: 0.5rem;
  overflow: hidden;
}
.slide-box .slide-card .slide-card__body .user-photo .masonry-grid .grid-item.review-grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slide-box .slide-card .slide-card__body .user-photo .masonry-grid .grid-item.review-grid-item .popUp-review {
  position: absolute;
  bottom: 0;
  font-size: var(--text-size-2xs);
  color: var(--white);
  background: linear-gradient(0, rgba(0, 0, 0, 0.3), transparent);
  padding: 1rem 0.75rem 0.5rem;
  z-index: 1;
  width: 100%;
}
.slide-box .slide-card .slide-card__body .user-photo .masonry-grid .grid-item.review-grid-item .popUp-review h3 {
  display: none;
}
.slide-box .slide-card .login-function {
  overflow-y: auto;
}
.slide-box .slide-card .login-function:has(.slide-card__footer) {
  display: grid;
  grid-template-rows: 1fr 6.25rem;
}
.slide-box .slide-card:has(.qualmarkLogo) .qualmark-standards {
  display: block;
  margin: 0 auto 1rem;
  width: 100%;
  max-width: 15rem;
  height: auto;
}
.slide-box .slide-card:has(.qualmarkLogo) h3 {
  margin-bottom: 0.625rem;
}
.slide-box .slide-card:has(.qualmarkLogo) p {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  margin-bottom: 1.5rem;
}
.slide-box .slide-card:has(.qualmarkLogo) p.intro {
  font-weight: var(--text-weight-semibold);
  padding-bottom: 1.5rem;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.slide-box .slide-card {
  /* FOOTER */
}
.slide-box .slide-card .slide-card__footer {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 1rem;
  background: var(--white);
  padding: 0.875rem 1.25rem 0;
  box-shadow: 0 0 0.25rem var(--neutral-300);
}
.slide-box .slide-card .slide-card__footer a {
  min-width: initial;
  width: 100%;
  max-width: 12.5rem;
}
.slide-box .slide-card .slide-card__footer:has(.booking-list__summary) {
  flex-wrap: wrap;
  align-items: initial;
  padding-top: 0;
}
.slide-box .slide-card .slide-card__footer .booking-list__summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 4.5rem;
  box-sizing: border-box;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.slide-box .slide-card .slide-card__footer .booking-list__summary h3 {
  display: inline-block;
  font-size: var(--text-size-3xl);
  line-height: 1.25;
  font-weight: var(--text-weight-bold);
  color: var(--cool-700);
  margin: 0;
}
.slide-box .slide-card .slide-card__footer .booking-list__summary h3:before {
  display: none;
}
.slide-box .slide-card .slide-card__footer .booking-list__summary h3.flagAU:after, .slide-box .slide-card .slide-card__footer .booking-list__summary h3.flagFJ:after, .slide-box .slide-card .slide-card__footer .booking-list__summary h3.flagNZ:after {
  display: block;
  font-size: var(--text-size-3xs);
  font-weight: var(--text-weight-normal);
  text-align: center;
  text-transform: uppercase;
}
.slide-box .slide-card .slide-card__footer .booking-list__summary h3.flagAU :after {
  content: "Total in AUD";
}
.slide-box .slide-card .slide-card__footer .booking-list__summary h3.flagFJ :after {
  content: "Total in FJD";
}
.slide-box .slide-card .slide-card__footer .booking-list__summary h3.flagNZ:after {
  content: "Total in NZD";
}
.slide-box .slide-card .slide-card__footer .booking-list__summary:has(div:not(:empty)) {
  row-gap: 0.75rem;
}
.slide-box .slide-card .slide-card__footer .booking-list__summary .bkmePopError {
  font-weight: var(--text-weight-semibold);
  font-size: var(--text-size-xs);
  color: var(--warm-600);
  text-align: center;
}
.slide-box .slide-card .slide-card__footer .slide-card__buttons {
  display: flex;
  justify-content: space-between;
  column-gap: 1rem;
  padding-top: 0.875rem;
  width: 100%;
  height: 100%;
  min-height: 4rem;
  box-sizing: border-box;
}
.slide-box .slide-card .slide-card__footer .slide-card__buttons a {
  min-width: initial;
  width: 100%;
  max-width: 12.5rem;
}
.slide-box .slide-card .slide-card__footer .slide-card__buttons.icon_buttons {
  justify-content: center;
  padding: 0;
}
.slide-box .slide-card .slide-card__footer .slide-card__buttons.icon_buttons a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--white);
  background-color: var(--cool-400);
  border-radius: 1.25rem;
  width: 5rem;
  height: 2.5rem;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.slide-box .slide-card .slide-card__footer .slide-card__buttons.icon_buttons a:hover {
  box-shadow: 0 0.25rem 0.3125rem 0 rgba(0, 0, 0, 0.14), 0 0.0625rem 0.625rem 0 rgba(0, 0, 0, 0.12), 0 0.125rem 0.25rem -0.0625rem rgba(0, 0, 0, 0.2);
}
.slide-box {
  /* INPUT SPECIFIC STYLING */
}
.slide-box .formRow {
  row-gap: 1rem;
}
.slide-box .formRow:has(h3 + input) {
  row-gap: 0.625rem;
}
.slide-box .formRow .inputGroup input,
.slide-box .formRow .inputGroup select {
  margin-bottom: 0;
}
.slide-box .formRow .fauxToggle [type=checkbox]:not(:checked) + label, .slide-box .formRow .fauxToggle [type=checkbox]:checked + label {
  font-size: var(--text-size-xs);
  line-height: 1.4;
  margin: 0;
}
.slide-box .formRow .fauxCheck:not(.chip) [type=checkbox] + label {
  grid-template-columns: 1.625rem 1fr;
  margin-bottom: 0;
}
.slide-box .formRow .fauxCheck:not(.chip) [type=checkbox] + label:before {
  font-size: var(--text-size-2xl);
  line-height: 0.8;
  width: 1.125rem;
  height: 1.125rem;
}
.slide-box .formRow .fauxCheck.list label.price-range:hover span {
  color: var(--cool-500);
}
.slide-box .formRow .fauxCheck.list label.price-range:hover span.null-price {
  color: var(--cool-300);
}
.slide-box .formRow .fauxCheck.list [type=checkbox]:checked + label.price-range span {
  color: var(--cool-500);
}
.slide-box .formRow .fauxCheck.list [type=checkbox]:checked + label.price-range span.null-price {
  color: rgba(13, 58, 105, 0.25);
}
.slide-box .formRow:has([type=checkbox]:checked) .fauxCheck.allTypes [type=checkbox]:not(:checked) + label:before {
  position: relative;
  top: 0;
  left: -0.5rem;
  content: "indeterminate_check_box";
  font-family: "Material Icons";
  font-size: var(--text-size-2xl);
  line-height: 0.8;
  color: var(--cool-500);
  text-indent: -0.18rem;
  border-radius: 0.125rem;
  margin: 0 0 0 0.5rem;
  box-shadow: none;
}
.slide-box .formRow .listChip-wrapper {
  background: var(--cool-50);
  padding: 0.5rem 1rem;
  width: 100%;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-100);
}
.slide-box .formRow .listChip-wrapper:has(.fauxCheck.chip) {
  padding: 0.625rem;
  margin-top: 0;
}
.slide-box .formRow .listChip-wrapper .fauxCheck:not(.chip) {
  padding: 0 0 0.625rem;
  margin: 0.625rem 0;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
  width: 100%;
}
.slide-box .formRow .listChip-wrapper .fauxCheck:not(.chip) [type=checkbox] + label,
.slide-box .formRow .listChip-wrapper .fauxCheck:not(.chip) [type=checkbox]:checked + label {
  grid-template-columns: 1fr auto;
  width: 100%;
}
.slide-box .formRow .listChip-wrapper .fauxCheck:not(.chip) [type=checkbox] + label:before,
.slide-box .formRow .listChip-wrapper .fauxCheck:not(.chip) [type=checkbox]:checked + label:before {
  order: 2;
}
.slide-box .formRow .listChip-wrapper .fauxCheck:not(.chip):last-of-type {
  margin-bottom: 0;
  box-shadow: none;
}
.slide-box .formRow.y-t-divider {
  display: flex;
  flex-wrap: wrap;
  background: var(--white);
  padding: 1.25rem 1.25rem 1.375rem;
  border-radius: 0.625rem;
  margin-top: 2rem;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), inset 0 0.0625rem 0 var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
  box-sizing: border-box;
}
.slide-box .formRow.y-t-divider h3 {
  margin: 0;
}
.slide-box .formRow.sortResults select {
  padding: 0 1rem;
}
.slide-box .formRow.price-levels .listChip-wrapper:has(.fauxCheck.chip) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:not(:checked) + label,
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:checked + label {
  padding: 0 1rem;
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:not(:checked) + label div,
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:checked + label div {
  display: flex;
  column-gap: 0.0625rem;
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:not(:checked) + label div span,
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:checked + label div span {
  font-size: var(--text-size-lg);
  color: var(--cool-500);
  width: 1.125rem;
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:not(:checked) + label div span.null-price,
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:checked + label div span.null-price {
  color: rgba(13, 58, 105, 0.25);
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:not(:checked) + label:before,
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:checked + label:before {
  display: none;
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:checked + label div span {
  color: var(--cool-50);
  width: min-content;
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.chip [type=checkbox]:checked + label div span.null-price {
  color: rgba(255, 255, 255, 0.25);
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.list {
  padding: 0;
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.list [type=checkbox]:not(:checked) + label,
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.list [type=checkbox]:checked + label {
  padding-bottom: 0.5rem;
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.list [type=checkbox]:not(:checked) + label div,
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.list [type=checkbox]:checked + label div {
  display: flex;
  column-gap: 0.0625rem;
  width: fit-content;
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.list [type=checkbox]:not(:checked) + label div span,
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.list [type=checkbox]:checked + label div span {
  font-size: var(--text-size-xl);
  color: var(--cool-500);
}
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.list [type=checkbox]:not(:checked) + label div span.null-price,
.slide-box .formRow.price-levels .listChip-wrapper .fauxCheck.list [type=checkbox]:checked + label div span.null-price {
  color: rgba(13, 58, 105, 0.25);
}
.slide-box .formRow.search-box {
  position: relative;
}
.slide-box .formRow.search-box .searchBox {
  row-gap: 0;
  background: var(--white);
  padding: 1rem 1rem 0.3125rem;
  border-radius: 0.625rem;
  margin-top: 2rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
}
.slide-box .formRow.search-box .searchBox h3 {
  font-size: var(--text-size-13);
  font-weight: var(--text-weight-semibold);
  margin-top: 0;
  margin-bottom: 0;
}
.slide-box .formRow.search-box .searchBox ul {
  list-style: none;
  background: transparent;
  padding: 0;
  border-radius: 0.375rem;
  margin: 0.25remrem 0 0;
  width: initial;
}
.slide-box .formRow.search-box .searchBox ul li {
  font-size: var(--text-size-xs);
}
.slide-box .formRow.search-box .searchBox ul li span {
  font-variation-settings: "FILL";
}
.slide-box .formRow.search-box .inputGroup::after {
  position: absolute;
  top: 0.5625rem;
  left: 0.625rem;
  content: "search";
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  font-size: var(--text-size-xl);
  color: var(--cool-500);
}
.slide-box .formRow.search-box .inputGroup.experience-search::after {
  content: "search";
}
.slide-box .formRow.search-box .inputGroup:has(input:focus, input:hover) + .searchResults.result-list ul {
  box-shadow: inset 0.0625rem 0 0 var(--cool-500), inset 0 -0.0625rem 0 var(--cool-500), inset -0.0625rem 0 0 var(--cool-500), 0.125rem 0 0 var(--cool-500), 0 0.125rem 0 var(--cool-500), -0.125rem 0 0 var(--cool-500);
}
.slide-box .formRow.search-box input {
  padding-left: 2.5rem;
}
.slide-box .formRow.search-box input ~ label {
  top: 0.4375rem;
  left: 2.25rem;
  font-size: var(--text-size-3xs);
  width: calc(100% - 2.5rem);
  pointer-events: none;
}
.slide-box .formRow.search-box input:placeholder-shown ~ label {
  top: 1rem;
  font-size: var(--text-size-xs);
}
.slide-box .formRow.search-box input:placeholder-shown:focus ~ label {
  top: 0.4375rem;
  font-size: var(--text-size-3xs);
}
.slide-box .formRow.search-box ul {
  list-style: none;
  background: var(--cool-100);
  padding: 0.3125rem 1rem;
  border-radius: 0.375rem;
  width: 100%;
}
.slide-box .formRow.search-box ul li {
  font-size: var(--text-size-13);
  margin: 0.75rem 0;
}
.slide-box .formRow.search-box ul li a {
  display: flex;
  align-items: center;
  column-gap: 0.375rem;
}
.slide-box .formRow.search-box ul li a span.material-symbols-outlined {
  font-size: var(--text-size-xs);
}
.slide-box .formRow.search-box ul.location-results {
  position: relative;
  top: -0.5rem;
  background: var(--white);
  padding: 1rem 2rem;
  border-radius: 0 0 0.5rem 0.5rem;
  box-sizing: border-box;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset 0 -0.0625rem 0 var(--cool-200), inset -0.0625rem 0 0 var(--cool-200), 0.125rem 0 0 transparent, 0 0.125rem 0 transparent, -0.125rem 0 0 transparent;
  transition: border 0.2s ease-out, box-shadow 0.2s ease-out;
}
.slide-box .formRow.search-box ul.location-results:hover {
  box-shadow: inset 0.0625rem 0 0 var(--cool-500), inset 0 -0.0625rem 0 var(--cool-500), inset -0.0625rem 0 0 var(--cool-500), 0.125rem 0 0 var(--cool-500), 0 0.125rem 0 var(--cool-500), -0.125rem 0 0 var(--cool-500);
}
.slide-box .formRow.search-box ul.location-results:empty {
  display: none;
}
.slide-box .formRow.search-box ul.location-results li {
  font-size: var(--text-size-13);
  margin: 0.75rem 0;
  box-shadow: none;
}
.slide-box .formRow.search-box ul.location-results li:first-of-type {
  padding-top: 1rem;
  border-top: 0.0625rem solid var(--cool-200);
  margin-top: 0;
}
.slide-box .formRow.search-box:has(.searchResults.result-list:hover) .inputGroup input {
  box-shadow: inset 0 0 0 0.0625rem var(--cool-500), 0 0 0 0.125rem var(--cool-500);
}
.slide-box .formRow.search-box.destination-search {
  margin-top: 1.25rem;
}
.slide-box .formRow.search-box.destination-search input {
  margin: 0;
}
.slide-box .formRow.search-box.destination-search .box {
  background: var(--white);
  padding: 1.5rem 1rem 1.25rem;
  border-radius: 0.625rem;
  margin: 0 auto;
  width: 100%;
  box-shadow: 0 0 0 0.0625rem var(--cool-200), 0 0.1875rem 0 var(--cool-200);
}
.slide-box .formRow.search-box.destination-search .box .tabRow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-xs);
  line-height: 1.25;
  font-weight: var(--text-weight-semibold);
  color: var(--cool-700);
  border-radius: 0.625rem 0.625rem 0 0;
  margin: -1.5rem -1rem 1rem;
  width: calc(100% + 2rem);
  height: 3rem;
  box-shadow: 0.0625rem 0 0 var(--cool-200), -0.0625rem 0 0 var(--cool-200), 0 -0.0625rem 0 var(--cool-200);
  cursor: pointer;
  overflow: hidden;
}
.slide-box .formRow.search-box.destination-search .box .tabRow .tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--cool-50);
  width: 100%;
  height: 100%;
  box-shadow: inset 0.0625rem 0 0 var(--cool-200), inset 0 -0.0625rem 0 var(--cool-200);
}
.slide-box .formRow.search-box.destination-search .box .tabRow .tab:first-of-type {
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.slide-box .formRow.search-box.destination-search .box .tabRow .tab.active {
  background: var(--white);
  box-shadow: inset 0.0625rem 0 0 var(--cool-200);
}
.slide-box .formRow.search-box.destination-search .box .tabRow .tab.active:first-of-type {
  box-shadow: none;
}
.slide-box .formRow.search-box.destination-search .box .tabRow.countries {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 1.5rem 0;
  width: 100%;
  height: 3rem;
  box-shadow: none;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.slide-box .formRow.search-box.destination-search .box .tabRow.countries .tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-size-11);
  background: var(--white);
  box-shadow: inset 0 -0.125rem 0 var(--cool-200);
  width: 100%;
  height: 100%;
}
.slide-box .formRow.search-box.destination-search .box .tabRow.countries .tab.active {
  box-shadow: inset 0 -0.125rem 0 var(--cool-500);
}
.slide-box .formRow.search-box.destination-search .box .browse-all {
  display: block;
  font-size: var(--text-size-xs);
  color: var(--cool-400);
  font-weight: var(--text-weight-semibold);
  text-decoration: underline;
  text-align: center;
  margin: 2.25rem 0 0.625rem;
}
.slide-box .formRow.priceRange {
  display: flex;
  align-items: initial;
  flex-wrap: wrap;
}
.slide-box .formRow.priceRange .price-range_minmax {
  display: flex;
  column-gap: 1rem;
  align-items: center;
  width: 100%;
}
.slide-box .formRow.priceRange .price-range_minmax span.material-symbols-outlined {
  color: var(--neutral-300);
}
.slide-box .formRow.popularChoices {
  row-gap: 1rem;
}
.slide-box .formRow.popularChoices .fauxToggle {
  min-height: 1.5rem;
}
.slide-box .formRow.popularChoices .fauxToggle [type=checkbox]:not(:checked) + label, .slide-box .formRow.popularChoices .fauxToggle [type=checkbox]:checked + label {
  margin-bottom: 0;
}
.slide-box .formRow.popularChoices .fauxToggle:first-of-type {
  margin-top: 0.625rem;
}
.slide-box .formRow {
  /* BOOKING DATE AND SPACES LEFT */
}
.slide-box .formRow.time-and-date {
  position: relative;
  grid-template-columns: 1fr 1fr;
  align-items: flex-end;
  padding-bottom: 1rem;
  margin: 1.5rem 0;
  box-shadow: inset 0 -0.0625rem 0 var(--cool-200);
}
.slide-box .formRow.time-and-date h3#count-title {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.375em;
  font-size: var(--text-size-lg);
  font-weight: var(--text-weight-bold);
  color: var(--cool-600);
  margin-top: 0;
  width: 100%;
}
.slide-box .formRow.time-and-date h3#count-title span {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-semibold);
}
.slide-box .formRow.time-and-date .spacesLeft-wrapper {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
}
.slide-box .formRow.time-and-date .spacesLeft-wrapper::before {
  position: absolute;
  right: 3rem;
  display: flex;
  align-items: center;
  content: "Spaces left for this time";
  font-style: italic;
  font-size: var(--text-size-3xs);
  line-height: 1.3;
  font-weight: 500;
  color: var(--cool-600);
  text-align: right;
  width: 3.5rem;
  height: 2rem;
}
.slide-box .formRow.time-and-date .spacesLeft-wrapper .bkmePop-spaces {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-size-xs);
  line-height: 1;
  font-weight: var(--text-weight-semibold);
  color: var(--cool-500);
  letter-spacing: -0.03125rem;
  text-align: center;
  background: var(--white);
  width: 2.75rem;
  height: 2rem;
  transition: all 0.3s;
  z-index: 1;
}
.slide-box .formRow.time-and-date .spacesLeft-wrapper .bkmePop-spaces:after {
  position: absolute;
  content: "confirmation_number";
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 0, "wght" 100, "GRAD" 0, "opsz" 48;
  font-size: var(--text-size-5xl);
  color: var(--cool-400);
  z-index: -2;
}
.slide-box .formRow.time-and-date .spacesLeft-wrapper .bkmePop-spaces.nilSpaces {
  color: var(--white);
}
.slide-box .formRow.time-and-date .spacesLeft-wrapper .bkmePop-spaces.nilSpaces:after {
  font-variation-settings: "FILL" 1, "wght" 100, "GRAD" 0, "opsz" 48;
  color: var(--warm-500);
}
.slide-box .formRow.time-and-date .spacesLeft-wrapper .bkmePop-spaces span {
  display: none;
}
.slide-box .formRow {
  /* BOOKING SELECTOR */
}
.slide-box .formRow.deal-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 1rem;
  background: var(--white);
  padding: 1.25rem;
  border-radius: 0.625rem;
  margin-top: 1.25rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200), inset 0 -0.1875rem 0 var(--cool-200);
  width: 100%;
  box-sizing: border-box;
}
.slide-box .formRow.deal-block:has(.booking-list:empty) {
  display: none !important;
}
.slide-box .formRow.deal-block h3 {
  font-size: var(--text-size-base);
  margin: 0;
}
.slide-box .formRow.deal-block h3 span {
  display: block;
  font-size: var(--text-size-xs);
  line-height: 1.5;
  font-style: normal;
  font-weight: 500;
  margin-top: 0.5rem;
}
.slide-box .formRow.deal-block h3 .only-with-main {
  color: var(--warm-600);
  margin-left: 0.125rem;
}
.slide-box .formRow.deal-block .booking-list {
  display: flex;
  row-gap: 0.5rem;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0.75rem;
  width: 100%;
}
.slide-box .formRow.deal-block .booking-list li {
  display: grid;
  grid-template-columns: 3rem 1fr 2.25rem;
  column-gap: 1rem;
  align-items: center;
  font-size: var(--text-size-sm);
  font-weight: var(--text-weight-semibold);
  padding: 0 0.75rem 0 0.3125rem;
  height: 2.5rem;
  border-radius: 1.375rem;
  width: 100%;
}
.slide-box .formRow.deal-block .booking-list li.active, .slide-box .formRow.deal-block .booking-list li.active.selected {
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
.slide-box .formRow.deal-block .booking-list li.active span.selectionHolder, .slide-box .formRow.deal-block .booking-list li.active.selected span.selectionHolder {
  display: flex;
  color: var(--white);
}
.slide-box .formRow.deal-block .booking-list li.active span.selectionHolder:before, .slide-box .formRow.deal-block .booking-list li.active.selected span.selectionHolder:before {
  background: var(--cool-600);
}
.slide-box .formRow.deal-block .booking-list li.active span.selectionHolder:after, .slide-box .formRow.deal-block .booking-list li.active.selected span.selectionHolder:after {
  color: var(--cool-600);
}
.slide-box .formRow.deal-block .booking-list li.selected {
  background: var(--cool-50);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
}
.slide-box .formRow.deal-block .booking-list li.selected span.selectionHolder {
  display: flex;
  color: var(--white);
}
.slide-box .formRow.deal-block .booking-list li.selected span.selectionHolder:before {
  background: var(--cool-600);
}
.slide-box .formRow.deal-block .booking-list li.selected span.selectionHolder:after {
  color: var(--cool-600);
}
.slide-box .formRow.deal-block .booking-list li span.badge {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1rem;
  width: 3rem;
  height: 2rem;
}
.slide-box .formRow.deal-block .booking-list li span.badge:before {
  font-size: var(--text-size-11);
  font-weight: var(--text-weight-semibold);
}
.slide-box .formRow.deal-block .booking-list li span.selectionHolder {
  display: none;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: var(--text-size-15);
  line-height: 1;
  font-weight: var(--text-weight-semibold);
  text-align: center;
  width: 2.25rem;
  height: 2.25rem;
  z-index: 1;
}
.slide-box .formRow.deal-block .booking-list li span.selectionHolder:before {
  position: absolute;
  top: calc(50% - 0.625rem);
  left: calc(50% - 0.625rem);
  content: "";
  background: transparent;
  width: 1.25rem;
  height: 1.25rem;
  z-index: -1;
}
.slide-box .formRow.deal-block .booking-list li span.selectionHolder:after {
  position: absolute;
  top: -0.1875rem;
  left: -0.1875rem;
  content: "confirmation_number";
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1, "wght" 100, "GRAD" 0, "opsz" 24;
  font-size: 2.625rem;
  z-index: -1;
}
.slide-box .formRow.deal-block .booking-list li strong {
  font-weight: var(--text-weight-semibold);
}
.slide-box .formRow.deal-block .booking-list li.deal span.badge {
  color: var(--black);
  background-color: var(--green-500);
  box-shadow: inset 0 0 0 0.0625rem var(--green-700);
}
.slide-box .formRow.deal-block .booking-list li.deal span.badge:before {
  content: "Deal";
}
.slide-box .formRow.deal-block .booking-list li.fullprice span.badge {
  background: var(--cool-200);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-400);
}
.slide-box .formRow.deal-block .booking-list li.fullprice span.badge:before {
  content: "Best";
}
.slide-box .formRow.deal-block .booking-list li.fullprice.active span.badge {
  color: var(--white);
  background: var(--cool-500);
}
.slide-box .formRow.deal-block .booking-list li.selected:not(.active) span.badge {
  background: var(--cool-200);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-400);
}
.slide-box .formRow.deal-block .booking-list li.selected:not(.active) span.badge:before {
  content: "check";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-xl);
  color: var(--cool-600);
}
.slide-box .formRow.deal-block .booking-list__spinner {
  display: grid;
  justify-content: center;
  grid-template-columns: 2.25rem 4.375rem 2.25rem;
  column-gap: 0;
  width: 100%;
}
.slide-box .formRow.deal-block .booking-list__spinner button {
  background: transparent;
  padding: 0;
  outline: none;
}
.slide-box .formRow.deal-block .booking-list__spinner button span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: var(--text-weight-extrabold);
  color: var(--cool-400);
  background: var(--white);
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.6rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-100);
  transition: all 0.2s;
}
.slide-box .formRow.deal-block .booking-list__spinner button span:hover, .slide-box .formRow.deal-block .booking-list__spinner button span:active {
  color: var(--white);
  background-color: var(--cool-400);
}
.slide-box .formRow.deal-block .booking-list__spinner input {
  font-size: 2.5rem;
  font-weight: var(--text-weight-bold);
  color: var(--neutral-300);
  text-align: center;
  background-color: transparent;
  padding: 0;
  box-shadow: none;
}
.slide-box .formRow.deal-block .booking-list__spinner input.dirty {
  color: var(--cool-600);
}
.slide-box {
  /* MY BOOKME LOGIN AND SIGN-UP */
}
.slide-box .login-function .signUp-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 1.25rem;
  text-align: center;
  background-color: var(--white);
  padding: 0.3125rem 2rem 2rem;
  border-radius: 0.5rem;
  box-sizing: border-box;
  margin-top: 1.5rem;
  margin: 1.5rem auto 2rem;
  max-width: 37.5rem;
}
.slide-box .login-function .signUp-wrapper p {
  font-size: var(--text-size-13);
  line-height: var(--text-leading-sm);
  padding-bottom: 1.25rem;
  border-bottom: 0.1875rem solid var(--cool-200);
  width: 100%;
}
.slide-box .login-function .signUp-wrapper a:not(.btn, .btn_fb) {
  display: none;
}
.slide-box .login-function .signUp-wrapper .forgot-password {
  display: none;
}
.slide-box .login-function .askQuestion-main {
  margin: 0 auto;
  max-width: 37.5rem;
}
.slide-box .login-function .askQuestion-confirmation {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 1rem;
  text-align: center;
  font-weight: var(--text-weight-semibold);
  font-size: var(--text-size-xs);
  color: var(--neutral-500);
  text-align: center;
  margin: 0 auto;
  max-width: 20rem;
  width: 100%;
  height: 100%;
}
.slide-box .login-function .askQuestion-confirmation h3 {
  font-size: var(--text-size-lg);
}
.slide-box .login-function .askQuestion-confirmation p {
  line-height: 1.5;
}
.slide-box .login-function .askQuestion-confirmation .success-emoji {
  font-size: var(--text-size-7xl);
  color: var(--neutral-400);
  text-align: center;
  width: 100%;
}
.slide-box .prices-not-on-own {
  display: block;
  font-size: var(--text-size-11);
  color: var(--neutral-400);
  margin-top: 1rem;
}
.slide-box .prices-not-on-own sup {
  font-size: var(--text-size-xs);
  font-weight: var(--text-weight-bold);
  color: var(--warm-600);
  margin-right: 0.125rem;
}
.slide-box {
  /* ADD TO AND CREATE A LIST */
}
.slide-box .login-function .listMaker {
  flex-direction: column;
  position: relative;
  font-size: var(--text-size-11);
  text-align: center;
  margin: 1.25rem auto;
  width: 100%;
}
.slide-box .login-function .listMaker #addNewList {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.375rem;
  color: var(--cool-500);
  font-size: var(--text-size-11);
  padding: 0 1.5rem 0 1.25rem;
  border-radius: 1.5rem;
  margin: 2rem auto 0;
  height: 3.125rem;
  width: fit-content;
  box-sizing: border-box;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), 0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-100);
  transition: box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
}
.slide-box .login-function .listMaker #addNewList:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-400);
}
.slide-box .login-function .listMaker #addNewList[style="display:none;"] + form {
  position: absolute;
  top: -5rem;
  padding: 1.25rem;
  width: 100%;
  box-sizing: border-box;
  z-index: 1;
}
.slide-box .login-function .listMaker .formRow {
  row-gap: 1.25rem;
}
.slide-box .login-function .listMaker .button-group {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 1rem;
  padding-top: 1.25rem;
  margin-top: 2rem;
  box-shadow: inset 0 0.0625rem 0 var(--cool-200);
}

@media only screen and (min-width: 600px) {
  .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 4.5rem;
  }
  .slide-box .slide-card .slide-card__body {
    padding-right: 2.25rem;
    padding-left: 2.25rem;
  }
  .slide-box .slide-card .slide-card__footer {
    padding: 1.125rem 2.0625rem 0;
  }
  .slide-box .slide-card .formRow.price-levels .listChip-wrapper:has(.fauxCheck.chip) {
    grid-template-columns: repeat(4, 1fr);
  }
  .slide-box .slide-card .formRow.priceRange .price-range_minmax {
    width: 50%;
  }
}
.filters-box {
  background: var(--white);
  padding: 1.25rem 1.25rem 1.5rem;
  margin: 0;
  border-radius: 0 0 0.625rem 0.625rem;
  box-shadow: 0 0.1875rem 0 var(--cool-200), -0.0625rem 0 0 var(--cool-200), 0.0625rem 0 0 var(--cool-200);
}
.filters-box .filters-set {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 0.75rem;
  font-size: var(--text-size-xs);
  line-height: var(--text-leading-xs);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  color: var(--white);
  margin: 0 auto;
  max-width: 60rem;
}
.filters-box .filters-set .filters.filterButton {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 0;
  font-size: 0;
  color: var(--cool-500);
  padding: 0 1.25rem;
  border-radius: 0.5rem;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
  transition: box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
  height: 3rem;
  width: 35%;
  min-width: 4.5rem;
  box-sizing: border-box;
}
.filters-box .filters-set .filters.filterButton#activitySearch {
  line-height: 1.15;
  text-align: left;
}
.filters-box .filters-set .filters.filterButton#hotelsSearch {
  line-height: 1.15;
  text-align: left;
  width: 100%;
}
.filters-box .filters-set .filters.filterButton#change-dates {
  width: 20rem;
}
.filters-box .filters-set .filters.filterButton i {
  position: relative;
  font-size: var(--text-size-xl);
}
.filters-box .filters-set .filters.filterButton input,
.filters-box .filters-set .filters.filterButton select {
  font-size: var(--text-size-xs);
  line-height: 4;
  font-weight: var(--text-weight-semibold);
  color: var(--cool-500);
  background-color: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
}
.filters-box .filters-set .filters.filterButton.dates {
  display: inline-block;
  padding: 0;
  width: 56%;
}
.filters-box .filters-set .filters.filterButton.dates input {
  font-size: 0;
  text-align: center;
  width: 100%;
}
.filters-box .filters-set .filters.filterButton.dates i:first-of-type {
  position: absolute;
  top: 0.875rem;
  left: calc(50% - 0.625rem);
}
.filters-box .filters-set .filters.filterButton.dates i:last-of-type {
  display: none;
  right: 0.25rem;
}
.filters-box .filters-set .filters.filterButton.service {
  display: block;
  padding: 0;
}
.filters-box .filters-set .filters.filterButton.service select {
  color: transparent;
}
.filters-box .filters-set .filters.filterButton.service span.serviceIcon-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 0.3125rem;
  width: 100%;
  height: 100%;
}
.filters-box .filters-set .filters.filterButton.service span.serviceIcon-wrapper i {
  pointer-events: none;
}
.filters-box .filters-set .filters.filterButton.service span.serviceIcon-wrapper i:first-of-type {
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 0.3125rem;
}
.filters-box .filters-set .filters.filterButton.service i:last-of-type {
  display: none;
}
.filters-box .filters-set .filters.filterButton.active i:before {
  position: absolute;
  top: -0.1875rem;
  left: -0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  content: "check";
  font-family: "Material Icons";
  font-size: var(--text-size-xs);
  color: var(--white);
  background-color: var(--green-600);
  border-radius: 50%;
  width: 0.875rem;
  height: 0.875rem;
}
.filters-box .filters-set .filters:hover {
  box-shadow: 0.25rem 0.25rem 0.5rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.25rem -0.25rem 0.5rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.1875rem var(--cool-500);
}
.filters-box .filters-set .filters span {
  display: none;
}
.filters-box .summary-text {
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  padding: 1rem 1rem 0.3125rem 0.3125rem;
  border-top: 0.0625rem solid var(--cool-200);
  margin: 1.5rem 0 0;
}
.filters-box .summary-text h2 {
  font-size: var(--text-size-lg);
  color: var(--cool-600);
  margin-bottom: 0.3125rem;
}
.filters-box .summary-text a {
  display: flex;
  align-items: center;
  column-gap: 0.3125rem;
  font-size: var(--text-size-xs);
  margin-top: 1rem;
}
.filters-box .summary-text a i {
  font-size: var(--text-size-base);
}
.filters-box .hotel-picker-row {
  display: flex;
  justify-content: center;
  align-items: start;
  flex-direction: column;
  column-gap: 0.75rem;
  row-gap: 1rem;
  margin: 1.25rem auto 0;
  max-width: 60rem;
}
.filters-box .hotel-picker-row .input-group {
  max-width: initial;
}
.filters-box .hotel-picker-row .input-group__input {
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--cool-200);
}
.filters-box .hotel-picker-row.box.icon-list ul {
  flex-direction: row;
  grid-gap: 1.25rem;
}
.filters-box .hotel-picker-row.box.icon-list ul li .material-symbols-outlined {
  color: var(--cool-400);
}
.filters-box .btn-listing-map--hotels {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  font-weight: var(--font-semibold);
  color: var(--green-900);
  padding: 0.5rem 1rem;
  border-radius: 1.5rem;
  margin: 1.5rem auto 0;
  width: -moz-fit-content;
  width: fit-content;
  height: 3rem;
  background: url(../images/button-map-bg.png) no-repeat;
  background-size: cover;
  box-shadow: 0.125rem 0.125rem 0.375rem 0 rgba(var(--black-rgb), var(--alpha1)), -0.125rem -0.125rem 0.375rem 0 rgba(var(--white-rgb), var(--alpha3)), inset 0 0 0 0.0625rem var(--green-500);
}
.filters-box .btn-listing-map .visual-icon {
  font-size: var(--text-3xl);
  color: #4da476;
}

.dealCard-wrap:has(#no-results-list:not([style="display:none"])) #activitySearch i:before {
  display: none;
}

@media only screen and (min-width: 375px) {
  .home:has(.daterangepicker[style*="display:block;"]) .filters.filterButton.dates {
    box-shadow: inset 0 0 0 0.3rem var(--cool-400);
  }
  .filters-box .filters-set .filters.filterButton {
    grid-gap: 0.375rem;
    font-size: var(--text-size-xs);
  }
  .filters-box .filters-set .filters.filterButton#activitySearch {
    width: 56%;
  }
  .filters-box .filters-set .filters.filterButton.dates {
    display: flex;
    grid-gap: 0;
  }
  .filters-box .filters-set .filters.filterButton.dates input {
    font-size: var(--text-size-xs);
  }
  .filters-box .filters-set .filters.filterButton.dates i:first-of-type {
    display: inline-block;
    left: calc(50% - 3.5rem);
  }
  .filters-box .filters-set .filters.filterButton.dates i:last-of-type {
    display: inline-block;
    position: absolute;
    right: calc(50% - 3.5rem);
  }
}
@media only screen and (min-width: 768px) {
  .filters-box .filters-set .filters.filterButton i {
    font-size: var(--text-size-xl);
  }
  .filters-box .filters-set .filters.filterButton span {
    display: inline;
    margin: 0 0 0 -0.1875rem;
  }
  .filters-box .filters-set .filters.filterButton.service i:first-of-type:after {
    content: "Time";
    font-family: "Open Sans";
    font-size: var(--text-size-xs);
    font-weight: 600;
  }
  .filters-box .hotel-picker-row {
    flex-direction: row;
  }
}
.spinner {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.95);
  z-index: 100;
}
.spinner .spinWrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 1.5rem;
  font-size: var(--text-size-sm);
  line-height: var(--text-leading-sm);
  font-weight: var(--text-weight-semibold);
  text-align: center;
  padding: 2rem;
  background: var(--white);
  border-radius: 0.5rem;
  box-shadow: inset 0 0 0 0.0625rem var(--cool-200);
  min-width: 19rem;
  height: 19rem;
}
.spinner .spinWrap .spinner-animation {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.spinner .spinWrap .spinner-animation:has(.spinnerImage):after {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  content: "lock";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-size-3xl);
  font-weight: var(--text-weight-normal);
  color: var(--cool-500);
  width: 100%;
  height: 100%;
}
.spinner .spinWrap .spinner-animation .spinner-loader {
  display: flex;
  border: 0.375rem solid var(--cool-200);
  border-top: 0.375rem solid var(--cool-400);
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  animation: spin 1s infinite linear;
}
.spinner .spinWrap #spinner-message .loadingMessage {
  text-align: center;
}
.spinner .spinWrap #spinner-message .loadingMessage .spinner-message-text {
  color: red;
  font-size: 2rem;
  border: 1rem dolis red;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
.stars-wrapper {
  display: flex;
  align-items: center;
  column-gap: 0.375rem;
}
.stars-wrapper--small {
  font-size: var(--text-2xs);
}
.stars-wrapper--medium {
  font-size: var(--text-xs);
}
.stars-wrapper--large {
  font-size: var(--text-sm);
}
.stars-wrapper__stars {
  position: relative;
  display: inline-block;
  line-height: 1;
}
.stars-wrapper__stars::before {
  display: flex;
  content: "";
  mask: url(https://bookmestatic.net.nz/things-to-do/images/stars.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: var(--gray-400);
}
.stars-wrapper__stars--small {
  height: 0.75rem;
  width: 3.75rem;
}
.stars-wrapper__stars--small::before {
  height: 0.75rem;
  width: 3.75rem;
}
.stars-wrapper__stars--medium {
  height: 0.875rem;
  width: 4.375rem;
}
.stars-wrapper__stars--medium::before {
  height: 0.875rem;
  width: 4.375rem;
}
.stars-wrapper__stars--large {
  height: 1.25rem;
  width: 6.25rem;
}
.stars-wrapper__stars--large::before {
  height: 1.25rem;
  width: 6.25rem;
}
.stars-wrapper__percentage {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.stars-wrapper__percentage::before {
  display: flex;
  content: "";
  mask: url(https://bookmestatic.net.nz/things-to-do/images/stars.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
}
.stars-wrapper__percentage--small {
  height: 0.75rem;
}
.stars-wrapper__percentage--small::before {
  height: 0.75rem;
  width: 3.75rem;
}
.stars-wrapper__percentage--medium {
  height: 0.875rem;
}
.stars-wrapper__percentage--medium::before {
  height: 0.875rem;
  width: 4.375rem;
}
.stars-wrapper__percentage--large {
  height: 1.25rem;
}
.stars-wrapper__percentage--large::before {
  height: 1.25rem;
  width: 6.25rem;
}
.stars-wrapper__percentage--gold::before {
  background-color: var(--yellow-700);
}
.stars-wrapper__percentage--blue::before {
  background-color: var(--cool-700);
}
.stars-wrapper__percentage--white::before {
  background-color: var(--white);
}
.stars-wrapper__rating {
  font-size: var(--text-size-xs);
  padding-top: 0.125rem;
}
.stars-wrapper__count {
  font-size: var(--text-size-xs);
  padding-top: 0.125rem;
}
.stars-wrapper__count::before {
  content: "/";
  font-weight: var(--font-light);
  color: var(--neutral-500);
  margin: 0 0.25rem 0 -0.125rem;
}
.stars-wrapper__count::after {
  content: " Reviews";
}
.stars-wrapper__no-reviews {
  display: flex;
  align-items: center;
  column-gap: 0.125rem;
  font-size: var(--text-xs);
  font-style: italic;
}
.stars-wrapper__icon {
  font-size: var(--text-lg);
  font-variation-settings: "FILL" 0;
}

@media only screen and (device-width: 360px) and (height: 780px) and (-webkit-device-pixel-ratio: 3) {
  body .fullSize-hero .hero-wrap {
    padding-top: 7.625rem;
  }
  body.map .newWrapper {
    grid-template-rows: 7.625rem auto 6.125rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer h3 {
    top: 3.125rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer .togglesClose {
    top: 4.875rem;
  }
  body .bkmeNav {
    padding-top: 3.125rem;
    height: 7.625rem;
  }
  body #mobile-breadcrumbs {
    padding-top: 7.625rem;
  }
  body .pageWrapper {
    padding-top: 11.125rem;
  }
  body:has(.slide-box__open) .pageWrapper {
    top: 3.75rem;
  }
  body .slide-box {
    padding-top: 4.375rem;
  }
  body .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-body {
    top: 7.625rem;
    bottom: 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-footer {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .ugc_bottomNav-wrapper {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .footWrapper {
    margin-bottom: 6.125rem;
  }
}
@media only screen and (device-width: 428px) and (height: 926px) and (-webkit-device-pixel-ratio: 3) {
  body .fullSize-hero .hero-wrap {
    padding-top: 7.4375rem;
  }
  body.map .newWrapper {
    grid-template-rows: 7.4375rem auto 6.125rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer h3 {
    top: 2.9375rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer .togglesClose {
    top: 4.6875rem;
  }
  body .bkmeNav {
    padding-top: 2.9375rem;
    height: 7.4375rem;
  }
  body #mobile-breadcrumbs {
    padding-top: 7.4375rem;
  }
  body .pageWrapper {
    padding-top: 10.9375rem;
  }
  body:has(.slide-box__open) .pageWrapper {
    top: 3.5625rem;
  }
  body .slide-box {
    padding-top: 4.1875rem;
  }
  body .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-body {
    top: 7.4375rem;
    bottom: 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-footer {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .ugc_bottomNav-wrapper {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .footWrapper {
    margin-bottom: 6.125rem;
  }
}
@media only screen and (device-width: 390px) and (height: 844px) and (-webkit-device-pixel-ratio: 3) {
  body .fullSize-hero .hero-wrap {
    padding-top: 7.4375rem;
  }
  body.map .newWrapper {
    grid-template-rows: 7.4375rem auto 6.125rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer h3 {
    top: 2.9375rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer .togglesClose {
    top: 4.6875rem;
  }
  body .bkmeNav {
    padding-top: 2.9375rem;
    height: 7.4375rem;
  }
  body #mobile-breadcrumbs {
    padding-top: 7.4375rem;
  }
  body .pageWrapper {
    padding-top: 10.9375rem;
  }
  body:has(.slide-box__open) .pageWrapper {
    top: 3.5625rem;
  }
  body .slide-box {
    padding-top: 4.1875rem;
  }
  body .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-body {
    top: 7.4375rem;
    bottom: 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-footer {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .ugc_bottomNav-wrapper {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .footWrapper {
    margin-bottom: 6.125rem;
  }
}
@supports (padding: max(0px)) {
  body {
    padding-top: min(0vmin, env(safe-area-inset-top));
    padding-bottom: min(0vmin, env(safe-area-inset-bottom));
  }
}
@media only screen and (device-width: 393px) and (height: 852px) and (-webkit-device-pixel-ratio: 3) {
  body .fullSize-hero .hero-wrap {
    padding-top: 8.1875rem;
  }
  body.map .newWrapper {
    grid-template-rows: 8.1875rem auto 6.125rem;
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer h3 {
    top: 3.6875rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer .togglesClose {
    top: 5.1875rem;
  }
  body .bkmeNav {
    padding-top: 3.6875rem;
    height: 8.1875rem;
  }
  body #mobile-breadcrumbs {
    padding-top: 8.1875rem;
  }
  body .pageWrapper {
    padding-top: 11.6875rem;
  }
  body:has(.slide-box__open) .pageWrapper {
    top: 4.3125rem;
  }
  body .slide-box {
    padding-top: 4.9375rem;
  }
  body .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-body {
    top: 8.1875rem;
    bottom: 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-footer {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .ugc_bottomNav-wrapper {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .footWrapper {
    margin-bottom: 6.125rem;
  }
}
@media only screen and (device-width: 430px) and (height: 932px) and (-webkit-device-pixel-ratio: 3) {
  body .fullSize-hero .hero-wrap {
    padding-top: 8.1875rem;
  }
  body.map .newWrapper {
    grid-template-rows: 8.1875rem auto 6.125rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer h3 {
    top: 3.6875rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer .togglesClose {
    top: 5.1875rem;
  }
  body .bkmeNav {
    padding-top: 3.6875rem;
    height: 8.1875rem;
  }
  body #mobile-breadcrumbs {
    padding-top: 8.1875rem;
  }
  body .pageWrapper {
    padding-top: 11.6875rem;
  }
  body:has(.slide-box__open) .pageWrapper {
    top: 4.3125rem;
  }
  body .slide-box {
    padding-top: 4.9375rem;
  }
  body .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-body {
    top: 8.1875rem;
    bottom: 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-footer {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .ugc_bottomNav-wrapper {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .footWrapper {
    margin-bottom: 6.125rem;
  }
}
@media only screen and (device-width: 440px) and (height: 956px) and (-webkit-device-pixel-ratio: 3) {
  body .fullSize-hero .hero-wrap {
    padding-top: 8.375rem;
  }
  body.map .newWrapper {
    grid-template-rows: 8.375rem auto 6.125rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer h3 {
    top: 3.875rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer .togglesClose {
    top: 5.375rem;
  }
  body .bkmeNav {
    padding-top: 3.875rem;
    height: 8.375rem;
  }
  body #mobile-breadcrumbs {
    padding-top: 8.375rem;
  }
  body .pageWrapper {
    padding-top: 11.875rem;
  }
  body:has(.slide-box__open) .pageWrapper {
    top: 4.5rem;
  }
  body .slide-box {
    padding-top: 5.125rem;
  }
  body .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-body {
    top: 8.375rem;
    bottom: 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-footer {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .ugc_bottomNav-wrapper {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .footWrapper {
    margin-bottom: 6.125rem;
  }
}
@media only screen and (device-width: 402px) and (height: 874px) and (-webkit-device-pixel-ratio: 3) {
  body .fullSize-hero .hero-wrap {
    padding-top: 8.375rem;
  }
  body.map .newWrapper {
    grid-template-rows: 8.375rem auto 6.125rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer h3 {
    top: 3.875rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer .togglesClose {
    top: 5.375rem;
  }
  body .bkmeNav {
    padding-top: 3.875rem;
    height: 8.375rem;
  }
  body #mobile-breadcrumbs {
    padding-top: 8.375rem;
  }
  body .pageWrapper {
    padding-top: 11.875rem;
  }
  body:has(.slide-box__open) .pageWrapper {
    top: 4.5rem;
  }
  body .slide-box {
    padding-top: 5.125rem;
  }
  body .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-body {
    top: 8.375rem;
    bottom: 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-footer {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .ugc_bottomNav-wrapper {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .footWrapper {
    margin-bottom: 6.125rem;
  }
}
@media only screen and (device-width: 375px) and (height: 812px) and (-webkit-device-pixel-ratio: 3) {
  body .fullSize-hero .hero-wrap {
    padding-top: 7.25rem;
  }
  body.map .newWrapper {
    grid-template-rows: 7.25rem auto 6.125rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer h3 {
    top: 2.75rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer .togglesClose {
    top: 4.25rem;
  }
  body .bkmeNav {
    padding-top: 2.75rem;
    height: 7.25rem;
  }
  body #mobile-breadcrumbs {
    padding-top: 7.25rem;
  }
  body .pageWrapper {
    padding-top: 10.75rem;
  }
  body:has(.slide-box__open) .pageWrapper {
    top: 3.375rem;
  }
  body .slide-box {
    padding-top: 4rem;
  }
  body .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-body {
    top: 7.25rem;
    bottom: 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-footer {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .ugc_bottomNav-wrapper {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .footWrapper {
    margin-bottom: 6.125rem;
  }
}
@media only screen and (device-width: 414px) and (height: 896px) and (-webkit-device-pixel-ratio: 2) {
  body .fullSize-hero .hero-wrap {
    padding-top: 7.25rem;
  }
  body.map .newWrapper {
    grid-template-rows: 7.25rem auto 6.125rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer h3 {
    top: 2.75rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer .togglesClose {
    top: 4.25rem;
  }
  body .bkmeNav {
    padding-top: 2.75rem;
    height: 7.25rem;
  }
  body #mobile-breadcrumbs {
    padding-top: 7.25rem;
  }
  body .pageWrapper {
    padding-top: 10.75rem;
  }
  body:has(.slide-box__open) .pageWrapper {
    top: 3.375rem;
  }
  body .slide-box {
    padding-top: 4rem;
  }
  body .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-body {
    top: 7.25rem;
    bottom: 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-footer {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .ugc_bottomNav-wrapper {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .footWrapper {
    margin-bottom: 6.125rem;
  }
}
@media only screen and (device-width: 414px) and (height: 896px) and (-webkit-device-pixel-ratio: 3) {
  body .fullSize-hero .hero-wrap {
    padding-top: 7.25rem;
  }
  body.map .newWrapper {
    grid-template-rows: 7.25rem auto 6.125rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer h3 {
    top: 2.75rem;
  }
  body.map .newWrapper .pageWrapper.productMap .mapToggles.drawer .togglesClose {
    top: 4.25rem;
  }
  body .bkmeNav {
    padding-top: 2.75rem;
    height: 7.25rem;
  }
  body #mobile-breadcrumbs {
    padding-top: 7.25rem;
  }
  body .pageWrapper {
    padding-top: 10.75rem;
  }
  body:has(.slide-box__open) .pageWrapper {
    top: 3.375rem;
  }
  body .slide-box {
    padding-top: 4rem;
  }
  body .slide-box .slide-card:has(.slide-card__footer) {
    grid-template-rows: 5rem auto 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-body {
    top: 7.25rem;
    bottom: 6.125rem;
  }
  body .bkmeMenu-wrapper .bkmeMenu-footer {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .ugc_bottomNav-wrapper {
    padding-bottom: 2.125rem;
    height: 6.125rem;
  }
  body .footWrapper {
    margin-bottom: 6.125rem;
  }
}
.cruise.home .fullSize-hero {
  background-image: url(../images/milford-sound/bookme-header.jpg) !important;
}
.cruise {
  /* == FOOTER OVERRIDE == */
}
.cruise .ugc_bottomNav-wrapper li:last-of-type {
  display: none;
}
.cruise .footWrapper .social li:first-of-type {
  display: none;
}
.cruise .footWrapper .copyright .powered-by-bookme {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cruise .footWrapper .copyright .powered-by-bookme img {
  width: 4.7rem;
  height: 3.6rem;
}
.cruise .footWrapper .copyright .powered-by-bookme span {
  font-size: 0.8rem;
  font-weight: 600;
  margin: 0.5rem 0 0;
}

body.diningApp {
  background: #000;
  padding: 0 constant(safe-area-inset-right) constant(safe-area-inset-bottom) constant(safe-area-inset-left);
  padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  padding-top: 12rem;
}
body.diningApp.home {
  padding-top: 0;
}
body.diningApp.home .dealFilters {
  margin: 0 -2rem;
}
body.diningApp .bkmeNav {
  background-color: #000;
  height: 6rem;
  transition: initial;
}
body.diningApp .bkmeNav:not(.active) {
  background-color: #000;
}
body.diningApp .dealCard:first-of-type {
  margin-top: 1rem;
}
body.diningApp .dealCard.restaurant .restaurant-rank.desktop {
  display: none;
}
body.diningApp .dealCard .restaurant-week li:first-of-type .status.open {
  box-shadow: 0 0 0 0.1rem #444b53;
}
body.diningApp .dealCard .restaurant-week li .status.open {
  background: #444b53;
  box-shadow: 0 0 0 0.1rem #444b53, inset 0.1rem 0 0 #666;
}
body.diningApp .dealFilters {
  position: fixed;
  background: #000;
  color: var(--white);
  height: 6.7rem;
  box-shadow: inset 0 2px 0 0 #333;
  z-index: 2;
  width: 100%;
}
body.diningApp .dealFilters li {
  box-shadow: inset 0 -5px 0 0 #333, inset 0 2px 0 0 #333;
  height: 6.7rem;
}
body.diningApp .dealFilters li a {
  color: var(--white);
}
body.diningApp .dealFilters li i {
  font-size: 2.4rem;
  margin-right: 0.6rem;
}
body.diningApp .dealFilters li:hover {
  color: var(--white);
}
body.diningApp .dealFilters li.active {
  box-shadow: inset 0 -5px 0 0 #BE8844;
  height: 6.7rem;
}
body.diningApp .dealFilters li.active a {
  color: var(--white);
}

body.bkme-affiliate {
  --blacks-and-greys--black:	rgba(0, 0, 0, 1);
  --blacks-and-greys--white:	rgba(255, 255, 255, 1);
  --blacks-and-greys--american-silver:	rgba(206, 206, 206, 1);
  --blacks-and-greys--black-coffee:	rgba(56, 46, 44, 1);
  --blacks-and-greys--dark-charcoal:	rgba(51, 51, 51, 1);
  --blacks-and-greys--dark-gunmetal:	rgba(30, 39, 51, 1);
  --blacks-and-greys--dim-grey:	rgba(104, 104, 104, 1);
  --blacks-and-greys--isabelline:	rgba(242, 245, 237, 1);
  --blacks-and-greys--jet:	rgba(50, 59, 50, 1);
  --blacks-and-greys--quartz:	rgba(75, 75, 75, 1);
  --blues-and-purples--beau-blue:	rgba(193, 210, 236, 1);
  --blues-and-purples--catalina-blue:	rgba(0, 45, 114, 1);
  --blues-and-purples--cetacean-blue:	rgba(6, 1, 51, 1);
  --blues-and-purples--dark-cerulean:	rgba(0, 62, 126, 1);
  --blues-and-purples--crystal:	rgba(166, 212, 224, 1);
  --blues-and-purples--cyan-cornflower-blue: rgba(14, 135, 186, 1);
  --blues-and-purples--indigo:	rgba(40, 43, 107, 1);
  --blues-and-purples--metallic-seaweed:	rgba(17, 136, 157, 1);
  --blues-and-purples--ocean-boat-blue: rgba(1, 117, 193);
  --blues-and-purples--powder-blue:	rgba(181, 219, 217, 1);
  --blues-and-purples--rich-electric-blue: rgba(0, 158, 218);
  --blues-and-purples--twilight-lavender:	rgba(119, 64, 111, 1);
  --blues-and-purples--yale-blue:	rgba(16, 76, 151, 1);
  --greens--android-green:	rgba(160, 192, 55, 1);
  --greens--apple:	rgba(84, 185, 72, 1);
  --greens--bitter--lemon:	rgba(195, 214, 0, 1);
  --greens--cal-poly-pomona-green:	rgba(44, 80, 51, 1);
  --greens--deep-sea-green: rgba(133, 191, 133, 1);
  --greens--forest-green:	rgba(37, 132, 33, 1);
  --greens--myrtal-green:	rgba(37, 125, 115, 1);
  --greens--persian-green:	rgba(19, 160, 142, 1);
  --greens--pearl-aqua:	rgba(131, 205, 179, 1);
  --golds-and-bronze--aztec-gold:	rgba(200, 144, 92, 1);
  --golds-and-bronze--bronze-yellow:	rgba(131, 105, 0, 1);
  --golds-and-bronze--pastel-grey:	rgba(216, 206, 188, 1);
  --golds-and-bronze--university-of-california-gold:	rgba(169, 132, 36, 1);
  --red-and-yellows--carmine-pink:	rgba(240, 78, 49, 1);
  --red-and-yellows--congo-pink:	rgba(242, 139, 121, 1);
  --red-and-yellows--crimson:	rgba(220, 20, 60, 1);
  --red-and-yellows--deep-saffron:	rgba(255, 148, 37, 1);
  --red-and-yellows--golden-yellow:	rgba(255, 221, 2, 1);
  --red-and-yellows--lipstick:	rgba(207, 0, 114, 1);
  --red-and-yellows--marigold:	rgba(238, 163, 32, 1);
  --red-and-yellows--persimmon:	rgba(227, 82, 5, 1);
  --red-and-yellows--siren:	rgba(131, 0, 81, 1);
  --red-and-yellows--venetian-red:	rgba(238, 36, 36, 1);
  --red-and-yellows--violet-red:	rgba(138, 24, 75, 1);
}

body.bkme-affiliate.home .pageWrapper {
  max-width: 50rem;
}
body.bkme-affiliate.home .pageWrapper .pt_wrap {
  display: none;
}
body.bkme-affiliate .siteLogo img,
body.bkme-affiliate .logo img {
  display: none;
}
body.bkme-affiliate .homePage .logo a,
body.bkme-affiliate .logo a::after,
body.bkme-affiliate .homePage .siteLogo::after,
body.bkme-affiliate .siteLogo::after {
  display: inline-block;
  content: "";
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 2.5rem;
}
body.bkme-affiliate .nav-wrap,
body.bkme-affiliate .nav-wrap.active,
body.bkme-affiliate .bkmeNav,
body.bkme-affiliate .bkmeNav.active, body.bkme-affiliate.home .bkmeNav:not(.active) {
  background-color: var(--affiliate-primary);
}
body.bkme-affiliate .nav-wrap:not(.active),
body.bkme-affiliate .bkmeNav:not(.active) {
  box-shadow: inset 0 -0.0625rem 0 var(--affiliate-accent);
}
body.bkme-affiliate .fullSize-hero .hero-wrap .searchTrigger-segmented li {
  color: var(--cool-600);
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--cool-600);
}
body.bkme-affiliate .fullSize-hero .hero-wrap .searchTrigger-segmented li div strong {
  color: var(--cool-600);
}
body.bkme-affiliate .fullSize-hero .hero-wrap .searchTrigger-segmented li span.filter {
  color: var(--cool-600);
}
body.bkme-affiliate .bkmeNav {
  flex-wrap: wrap;
  row-gap: 0.75rem;
  padding: 0.625rem 1.25rem;
  height: auto;
}
body.bkme-affiliate .bkmeNav li.siteLogo {
  width: calc(100% - 3.1875rem);
}
body.bkme-affiliate .bkmeNav .searchTrigger-segmented {
  order: 1;
  color: var(--cool-600);
  margin: 0 auto;
  width: 100%;
}
body.bkme-affiliate .bkmeNav .searchTrigger-segmented li {
  background: var(--white);
}
body.bkme-affiliate .bkmeNav .searchTrigger-segmented li.search-button {
  box-shadow: inset 0 0 0 0.0625rem var(--affiliate-primary);
}
body.bkme-affiliate .bkmeNav .searchTrigger-segmented li.destination-button {
  box-shadow: inset 0.0625rem 0 0 var(--affiliate-primary), inset 0 0.0625rem 0 var(--affiliate-primary), inset 0 -0.0625rem 0 var(--affiliate-primary);
}
body.bkme-affiliate .bkmeNav .searchTrigger-segmented li i {
  color: var(--cool-600);
}
body.bkme-affiliate .bkmeNav .searchTrigger-segmented li i:after {
  color: var(--cool-600);
}
body.bkme-affiliate .bkmeNav .searchTrigger-segmented li span em {
  color: var(--cool-600);
}
body.bkme-affiliate .bkmeMenu-wrapper {
  background: var(--affiliate-primary);
}
body.bkme-affiliate .bkmeMenu-wrapper .bkmeMenu-body .tabs span {
  box-shadow: inset 0 -0.125rem 0 var(--white);
}
body.bkme-affiliate .bkmeMenu-wrapper .bkmeMenu-body .tabs a {
  box-shadow: inset 0 -0.0625rem 0 rgba(255, 255, 255, 0.5);
}
body.bkme-affiliate .bkmeMenu-wrapper .bkmeMenu-footer {
  background-color: var(--affiliate-primary);
  box-shadow: inset 0 0.0625rem 0 var(--affiliate-accent);
}
body.bkme-affiliate .bkmeMenu-wrapper .bkmeMenu-footer a {
  color: var(--white);
}
body.bkme-affiliate .ugc_bottomNav-wrapper {
  background: var(--affiliate-primary);
  box-shadow: inset 0 0.0625rem 0 var(--affiliate-primary);
}
body.bkme-affiliate .ugc_bottomNav-wrapper li a {
  color: var(--white);
}
body.bkme-affiliate .bookDate,
body.bkme-affiliate .bookingTime:first-child {
  background-color: var(--affiliate-primary);
  box-shadow: inset 0 -0.3125rem 0 var(--affiliate-accent);
}
body.bkme-affiliate .bookingGrid-wrapper .weekScroller .weekWrapper .dayWrapper:first-of-type {
  background-color: var(--affiliate-primary);
  box-shadow: inset 0 -0.3125rem 0 var(--affiliate-accent);
}
body.bkme-affiliate .mapNav .bkmeNav.navOpen {
  background: var(--affiliate-primary);
}
body.bkme-affiliate .mapToggles {
  top: 5.9rem;
  right: 0 !important;
  left: 0 !important;
  background: var(--affiliate-primary);
  border-radius: 0;
  padding: 0.625rem 1.25rem;
  width: 100%;
  min-height: 3.75rem;
  box-shadow: none;
  z-index: 11;
}
body.bkme-affiliate .mapToggles:has(#mapSearch-input:focus) {
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
}
body.bkme-affiliate .mapToggles .mapSearch i {
  color: var(--cool-600);
}
body.bkme-affiliate .mapToggles .mapSearch #mapSearch-input {
  color: var(--cool-600);
  background: var(--white);
  box-shadow: none;
}
body.bkme-affiliate .mapToggles .mapSearch #mapSearch-input::placeholder {
  color: var(--neutral-400);
}
body.bkme-affiliate .mapToggles .mapSearch .expandDrawer {
  box-shadow: inset 0 0 0 0.0625rem var(--cool-600);
}
body.bkme-affiliate .mapToggles.drawer {
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
  position: fixed;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  background: var(--affiliate-primary);
  padding: 6.875rem calc(50% - 8.75rem) 0;
  border-radius: 0;
  width: 100%;
  z-index: 20;
  transition: all 0.2s ease;
}
body.bkme-affiliate .mapToggles.drawer .categoryButton {
  color: var(--white);
  box-shadow: 0 0 0 0.0625rem var(--white);
}
body.bkme-affiliate .mapToggles.drawer .categoryButton.down {
  background: var(--white);
  color: var(--affiliate-primary);
}
body.bkme-affiliate .mapToggles.drawer .hotdealSlider input[type=range]::before {
  border-bottom: 5.9375rem solid var(--affiliate-primary-alt);
}
body.bkme-affiliate .mapToggles.drawer .hotdealSlider .hotdealSlider-InnerWrapper {
  box-shadow: 0 0 0 0.0625rem var(--white);
}
body.bkme-affiliate .footWrapper {
  background-color: var(--affiliate-primary);
  box-shadow: none;
}
body.bkme-affiliate .footWrapper ul li a:before {
  background-color: var(--affiliate-primary);
  border: 0.0625rem solid var(--white);
}
body.bkme-affiliate .footWrapper .follow-links a:nth-of-type(even) {
  border-right-color: var(--white);
  border-left-color: var(--white);
}
body.bkme-affiliate .footWrapper .copyright p {
  color: var(--white);
}
body.bkme-affiliate .footWrapper .footTwitter svg {
  border: 1px solid var(--white);
}
body.bkme-affiliate .footWrapper .footTwitter svg g > g > g > path:first-of-type {
  fill: var(--affiliate-primary);
}
body.bkme-affiliate .bkmeNav:after, body.bkme-affiliate.home .hero-wrap:after,
body.bkme-affiliate #breadcrumbs:after {
  position: absolute;
  right: 3.756rem;
  top: 1.125rem;
  display: flex;
  align-items: center;
  content: "Powered by Bookme";
  font-size: var(--text-size-4xs);
  line-height: 1.3;
  color: var(--white);
  text-wrap: auto;
  background-image: url(../images/bookme_logo_xsmall.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: calc(100% - 0.875rem) 0;
  padding: 0 2rem 0 0;
  border-right: 0.0625rem solid rgba(255, 255, 255, 0.5);
  width: 5rem;
  height: 1.5625rem;
  box-sizing: border-box;
  width: 6rem;
  height: 1.5625rem;
  box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
  body.bkme-affiliate .bkmeNav:after,
  body.bkme-affiliate #breadcrumbs:after {
    top: initial;
    right: -0.625rem;
    color: var(--black);
    border: none;
  }
  body.bkme-affiliate.home .hero-wrap:after {
    top: initial;
    bottom: 0.9375rem;
    left: 1.5625rem;
    border: none;
  }
  body.bkme-affiliate .homePage .logo a,
  body.bkme-affiliate .logo a::after,
  body.bkme-affiliate .homePage .siteLogo::after,
  body.bkme-affiliate .siteLogo::after {
    margin-top: 0.3125rem;
  }
  body.bkme-affiliate .nav-wrap nav .desktop-nav-wrapper .catNav {
    column-gap: 2.1875rem;
  }
  body.bkme-affiliate.subpage {
    padding-top: 0;
  }
  body.bkme-affiliate.subpage .fullSize-hero {
    background-color: var(--affiliate-primary);
  }
  body.bkme-affiliate.subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li {
    box-shadow: 0 0 0 0.0625rem var(--affiliate-primary);
  }
  body.bkme-affiliate.subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li.destination-button {
    box-shadow: 0 0 0 0.0625rem var(--affiliate-primary);
  }
  body.bkme-affiliate.subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li.destination-button:hover {
    background-color: var(--cool-100);
    box-shadow: none;
  }
  body.bkme-affiliate.subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li:hover {
    background-color: var(--cool-100);
    box-shadow: none;
  }
  body.bkme-affiliate .mapToggles {
    position: absolute;
    top: 6.25rem !important;
    left: 3.125rem !important;
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0.625rem;
    position: relative;
    color: var(--cool-200);
    background: var(--cool-700);
    padding: 1.25rem;
    border-radius: 0.5rem;
    width: 17.5rem;
    height: auto;
    z-index: 100;
    box-sizing: border-box;
    box-shadow: 0 1.1875rem 2.375rem rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
    cursor: initial;
  }
}

body.bkme-affiliate__bounce {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--metallic-seaweed);
  --affiliate-accent: var(--greens--pearl-aqua);
  /* == LOGOS == */
}
body.bkme-affiliate__bounce .homePage .logo a,
body.bkme-affiliate__bounce .logo a::after,
body.bkme-affiliate__bounce .homePage .siteLogo::after,
body.bkme-affiliate__bounce .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/bounce/bounce-logo-bookme.svg);
  width: 8.125rem;
}

body.bkme-affiliate__breakfree {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--venetian-red);
  --affiliate-accent: var(--blacks-and-greys--american-silver);
  /* == LOGOS == */
}
body.bkme-affiliate__breakfree .homePage .logo a,
body.bkme-affiliate__breakfree .logo a::after,
body.bkme-affiliate__breakfree .homePage .siteLogo::after,
body.bkme-affiliate__breakfree .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/breakfree/breakfree-logo-bookme.svg);
  width: 7.8125rem;
}

body.bkme-affiliate__budds {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--greens--persian-green);
  --affiliate-accent: var(--greens--myrtal-green);
  /* == LOGOS == */
}
body.bkme-affiliate__budds .homePage .logo a,
body.bkme-affiliate__budds .logo a::after,
body.bkme-affiliate__budds .homePage .siteLogo::after,
body.bkme-affiliate__budds .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/budds/budds-logo-bookme.svg);
  width: 4.375rem;
}

body.bkme-affiliate__castaways {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--dim-grey);
  --affiliate-accent: var(--greens--cal-poly-pomona-green);
  /* == LOGOS == */
}
body.bkme-affiliate__castaways .homePage .logo a,
body.bkme-affiliate__castaways .logo a::after,
body.bkme-affiliate__castaways .homePage .siteLogo::after,
body.bkme-affiliate__castaways .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/castaways/castaways-logo-bookme.svg);
  width: 7.5625rem;
}

body.bkme-affiliate__cch {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--dark-charcoal);
  --affiliate-accent: var(--golds-and-bronze--bronze-yellow);
  /* == LOGOS == */
}
body.bkme-affiliate__cch .homePage .logo a,
body.bkme-affiliate__cch .logo a::after,
body.bkme-affiliate__cch .homePage .siteLogo::after,
body.bkme-affiliate__cch .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/cch/christchurch-city-hotel-logo-bookme.svg);
  width: 4.5625rem;
}

body.bkme-affiliate__centralprivatehotel {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--black);
  --affiliate-accent: var(--red-and-yellows--violet-red);
  /* == LOGOS == */
}
body.bkme-affiliate__centralprivatehotel .homePage .logo a,
body.bkme-affiliate__centralprivatehotel .logo a::after,
body.bkme-affiliate__centralprivatehotel .homePage .siteLogo::after,
body.bkme-affiliate__centralprivatehotel .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/centralprivatehotel/central-private-hotel-logo-bookme.svg);
  width: 6.25rem;
}

body.bkme-affiliate__crowneplaza {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--siren);
  --affiliate-accent: var(--red-and-yellows--lipstick);
  /* == LOGOS == */
}
body.bkme-affiliate__crowneplaza .homePage .logo a,
body.bkme-affiliate__crowneplaza .logo a::after,
body.bkme-affiliate__crowneplaza .homePage .siteLogo::after,
body.bkme-affiliate__crowneplaza .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/crowneplaza/crowne-plaza-logo-bookme.svg);
  width: 6.625rem;
}

body.bkme-affiliate__bkme-dairyprivatehotel {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--black);
  --affiliate-accent: var(--blues-and-purples--powder-blue);
  /* == LOGOS == */
}
body.bkme-affiliate__bkme-dairyprivatehotel .homePage .logo a,
body.bkme-affiliate__bkme-dairyprivatehotel .logo a::after,
body.bkme-affiliate__bkme-dairyprivatehotel .homePage .siteLogo::after,
body.bkme-affiliate__bkme-dairyprivatehotel .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/dairyprivatehotel/dairy-private-hotel-logo-bookme.svg);
  width: 9.375rem;
}

body.bkme-affiliate__doubletree {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--yale-blue);
  --affiliate-accent: var(--blues-and-purples--cyan--cornflower-blue);
  /* == LOGOS == */
}
body.bkme-affiliate__doubletree .homePage .logo a,
body.bkme-affiliate__doubletree .logo a::after,
body.bkme-affiliate__doubletree .homePage .siteLogo::after,
body.bkme-affiliate__doubletree .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/doubletree/doubletree-logo-bookme.svg);
  width: 3.4375rem;
}

body.bkme-affiliate__driftaway {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--marigold);
  --affiliate-accent: var(--red-and-yellows--persimmon);
  /* == LOGOS == */
}
body.bkme-affiliate__driftaway .homePage .logo a,
body.bkme-affiliate__driftaway .logo a::after,
body.bkme-affiliate__driftaway .homePage .siteLogo::after,
body.bkme-affiliate__driftaway .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/driftaway/driftaway-logo-bookme.svg);
  width: 4.875rem;
}

body.bkme-affiliate__escape-video {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--rich-electric-blue);
  --affiliate-accent: var(--blacks-and-greys--quartz);
  /* == LOGOS == */
}
body.bkme-affiliate__escape-video .homePage .logo a,
body.bkme-affiliate__escape-video .logo a::after,
body.bkme-affiliate__escape-video .homePage .siteLogo::after,
body.bkme-affiliate__escape-video .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/escape-video/escape-video-logo-bookme.svg);
  width: 4.875rem;
}

body.bkme-affiliate__garden-court {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--greens--android-green);
  --affiliate-accent: var(--blacks-and-greys--dark-gunmetal);
  /* == LOGOS == */
}
body.bkme-affiliate__garden-court .homePage .logo a,
body.bkme-affiliate__garden-court .logo a::after,
body.bkme-affiliate__garden-court .homePage .siteLogo::after,
body.bkme-affiliate__garden-court .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/garden-court/garden-court-logo-bookme.svg);
  width: 6.1875rem;
}

body.bkme-affiliate__heartland-auckair {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__heartland-auckair .homePage .logo a,
body.bkme-affiliate__heartland-auckair .logo a::after,
body.bkme-affiliate__heartland-auckair .homePage .siteLogo::after,
body.bkme-affiliate__heartland-auckair .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/heartland-auckair/heartland-hotel-auckland-airport-logo-bookme.svg);
  width: 9.4375rem;
}

body.bkme-affiliate__heartland-cw {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__heartland-cw .homePage .logo a,
body.bkme-affiliate__heartland-cw .logo a::after,
body.bkme-affiliate__heartland-cw .homePage .siteLogo::after,
body.bkme-affiliate__heartland-cw .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/heartland-cw/scenic-hotel-cotswold-logo-bookme.svg);
  width: 8.75rem;
}

body.bkme-affiliate__heartland-fg {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__heartland-fg .homePage .logo a,
body.bkme-affiliate__heartland-fg .logo a::after,
body.bkme-affiliate__heartland-fg .homePage .siteLogo::after,
body.bkme-affiliate__heartland-fg .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/heartland-fg/heartland-hotel-fox-glacier-logo-bookme.svg);
  width: 10rem;
}

body.bkme-affiliate__heartland-glacier {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__heartland-glacier .homePage .logo a,
body.bkme-affiliate__heartland-glacier .logo a::after,
body.bkme-affiliate__heartland-glacier .homePage .siteLogo::after,
body.bkme-affiliate__heartland-glacier .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/heartland-glacier/heartland-hotel-glacier-country-logo-bookme.svg);
  width: 9.375rem;
}

body.bkme-affiliate__heartland-haast {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__heartland-haast .homePage .logo a,
body.bkme-affiliate__heartland-haast .logo a::after,
body.bkme-affiliate__heartland-haast .homePage .siteLogo::after,
body.bkme-affiliate__heartland-haast .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/heartland-haast/heartland-hotel-haast-logo-bookme.svg);
  width: 10.0625rem;
}

body.bkme-affiliate__heartland-ham {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__heartland-ham .homePage .logo a,
body.bkme-affiliate__heartland-ham .logo a::after,
body.bkme-affiliate__heartland-ham .homePage .siteLogo::after,
body.bkme-affiliate__heartland-ham .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/heartland-ham/heartland-ambassador-hotel-hamilton-logo-bookme.svg);
  width: 10rem;
}

body.bkme-affiliate__heritage {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--golds-and-bronze--bronze-yellow);
  /* == LOGOS == */
}
body.bkme-affiliate__heritage .homePage .logo a,
body.bkme-affiliate__heritage .logo a::after,
body.bkme-affiliate__heritage .homePage .siteLogo::after,
body.bkme-affiliate__heritage .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/heritage/heritage-logo-bookme.svg);
  width: 8.75rem;
}

body.bkme-affiliate__hgw {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--jet);
  --affiliate-accent: var(--golds-and-bronze--aztec-gold);
  /* == LOGOS == */
}
body.bkme-affiliate__hgw .homePage .logo a,
body.bkme-affiliate__hgw .logo a::after,
body.bkme-affiliate__hgw .homePage .siteLogo::after,
body.bkme-affiliate__hgw .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/hgw/fable-logo-bookme.svg);
  width: 7.5625rem;
}

body.bkme-affiliate__hiltonresort {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--yale-blue);
  --affiliate-accent: var(--blues-and-purples--cyan-cornflower-blue);
  /* == LOGOS == */
}
body.bkme-affiliate__hiltonresort .homePage .logo a,
body.bkme-affiliate__hiltonresort .logo a::after,
body.bkme-affiliate__hiltonresort .homePage .siteLogo::after,
body.bkme-affiliate__hiltonresort .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/hiltonresort/hilton-resort-logo-bookme.svg);
  width: 3.25rem;
}

body.bkme-affiliate__holidayinn {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--greens--forest-green);
  --affiliate-accent: var(--greens--bitter--lemon);
  /* == LOGOS == */
}
body.bkme-affiliate__holidayinn .homePage .logo a,
body.bkme-affiliate__holidayinn .logo a::after,
body.bkme-affiliate__holidayinn .homePage .siteLogo::after,
body.bkme-affiliate__holidayinn .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/holidayinn/holiday-inn-logo-bookme.svg);
  width: 5.375rem;
}

body.bkme-affiliate__lakefront {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--dark-charcoal);
  --affiliate-accent: var(--red-and-yellows--crimson);
  /* == LOGOS == */
}
body.bkme-affiliate__lakefront .homePage .logo a,
body.bkme-affiliate__lakefront .logo a::after,
body.bkme-affiliate__lakefront .homePage .siteLogo::after,
body.bkme-affiliate__lakefront .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/lakefront/copthorene-lakefront-logo-bookme.svg);
  width: 4.125rem;
}

body.bkme-affiliate__lakeview {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--indigo);
  --affiliate-accent: var(--blues-and-purples--beau-blue);
  /* == LOGOS == */
}
body.bkme-affiliate__lakeview .homePage .logo a,
body.bkme-affiliate__lakeview .logo a::after,
body.bkme-affiliate__lakeview .homePage .siteLogo::after,
body.bkme-affiliate__lakeview .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/lakeview/copthorne-lakeview-logo-bookme.svg);
  width: 6.8125rem;
}

body.bkme-affiliate__lakeviewqueenstown {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__lakeviewqueenstown .homePage .logo a,
body.bkme-affiliate__lakeviewqueenstown .logo a::after,
body.bkme-affiliate__lakeviewqueenstown .homePage .siteLogo::after,
body.bkme-affiliate__lakeviewqueenstown .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/images/affiliates/lakeview-queenstown-logo-bookme.svg);
  width: 10rem;
}

body.bkme-affiliate__lucky {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--cyan-cornflower-blue);
  --affiliate-accent: var(--red-and-yellows--deep-saffron);
  /* == LOGOS == */
}
body.bkme-affiliate__lucky .homePage .logo a,
body.bkme-affiliate__lucky .logo a::after,
body.bkme-affiliate__lucky .homePage .siteLogo::after,
body.bkme-affiliate__lucky .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/lucky/lucky-logo-bookme.svg);
  width: 5.375rem;
}

body.bkme-affiliate__luxestay {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--dim-grey);
  /* == LOGOS == */
}
body.bkme-affiliate__luxestay .homePage .logo a,
body.bkme-affiliate__luxestay .logo a::after,
body.bkme-affiliate__luxestay .homePage .siteLogo::after,
body.bkme-affiliate__luxestay .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/luxestay/luxe-stay-logo-bookme.svg);
  width: 8.75rem;
}

body.bkme-affiliate__marsden-lake {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--dark-cerulean);
  --affiliate-accent: var(--red-and-yellows--golden-yellow);
  /* == LOGOS == */
}
body.bkme-affiliate__marsden-lake .homePage .logo a,
body.bkme-affiliate__marsden-lake .logo a::after,
body.bkme-affiliate__marsden-lake .homePage .siteLogo::after,
body.bkme-affiliate__marsden-lake .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/marsden-lake/marsden-lake-resort-logo-bookme.svg);
  width: 4.25rem;
}

body.bkme-affiliate__marsden-rotorua {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--dark-cerulean);
  --affiliate-accent: var(--red-and-yellows--golden-yellow);
  /* == LOGOS == */
}
body.bkme-affiliate__marsden-rotorua .homePage .logo a,
body.bkme-affiliate__marsden-rotorua .logo a::after,
body.bkme-affiliate__marsden-rotorua .homePage .siteLogo::after,
body.bkme-affiliate__marsden-rotorua .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/images/affiliates/marsden-stay-rotorua-logo-bookme.svg);
  width: 4.25rem;
}

body.bkme-affiliate__marsden-viaduct {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--dark-cerulean);
  --affiliate-accent: var(--red-and-yellows--golden-yellow);
  /* == LOGOS == */
}
body.bkme-affiliate__marsden-viaduct .homePage .logo a,
body.bkme-affiliate__marsden-viaduct .logo a::after,
body.bkme-affiliate__marsden-viaduct .homePage .siteLogo::after,
body.bkme-affiliate__marsden-viaduct .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/marsden-viaduct/marsden-viaduct-hotel-logo-bookme.svg);
  width: 4.25rem;
}

body.bkme-affiliate__mercure {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--cetacean-blue);
  --affiliate-accent: var(--blues-and-purples--indigo);
  /* == LOGOS == */
}
body.bkme-affiliate__mercure .homePage .logo a,
body.bkme-affiliate__mercure .logo a::after,
body.bkme-affiliate__mercure .homePage .siteLogo::after,
body.bkme-affiliate__mercure .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/mercure/mercure-logo-bookme.svg);
  width: 4.9375rem;
}

body.bkme-affiliate__microtel {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--dark-cerulean);
  --affiliate-accent: var(--red-and-yellows--golden-yellow);
  /* == LOGOS == */
}
body.bkme-affiliate__microtel .homePage .logo a,
body.bkme-affiliate__microtel .logo a::after,
body.bkme-affiliate__microtel .homePage .siteLogo::after,
body.bkme-affiliate__microtel .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/microtel/microtel-wellington-central-logo-bookme.svg);
  width: 4.8125rem;
}

body.bkme-affiliate__millennium {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--dark-charcoal);
  --affiliate-accent: var(--red-and-yellows--crimson);
  /* == LOGOS == */
}
body.bkme-affiliate__millennium .homePage .logo a,
body.bkme-affiliate__millennium .logo a::after,
body.bkme-affiliate__millennium .homePage .siteLogo::after,
body.bkme-affiliate__millennium .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/millennium/millennium-logo-bookme.svg);
  width: 8.75rem;
}

body.bkme-affiliate__millennium-rotorua {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--dark-charcoal);
  --affiliate-accent: var(--red-and-yellows--crimson);
  /* == LOGOS == */
}
body.bkme-affiliate__millennium-rotorua .homePage .logo a,
body.bkme-affiliate__millennium-rotorua .logo a::after,
body.bkme-affiliate__millennium-rotorua .homePage .siteLogo::after,
body.bkme-affiliate__millennium-rotorua .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/millennium-rotorua/millennium-rotorua-logo-bookme.svg);
  width: 3.625rem;
}

body.bkme-affiliate__novotel {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--cetacean-blue);
  --affiliate-accent: var(--blues-and-purples--indigo);
  /* == LOGOS == */
}
body.bkme-affiliate__novotel .homePage .logo a,
body.bkme-affiliate__novotel .logo a::after,
body.bkme-affiliate__novotel .homePage .siteLogo::after,
body.bkme-affiliate__novotel .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/novotel/novotel-logo-bookme.svg);
  width: 6.375rem;
}

body.bkme-affiliate__peppers {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--greens--cal-poly-pomona-green);
  --affiliate-accent: var(--golds-and-bronze--university-of-california-gold);
  /* == LOGOS == */
}
body.bkme-affiliate__peppers .homePage .logo a,
body.bkme-affiliate__peppers .logo a::after,
body.bkme-affiliate__peppers .homePage .siteLogo::after,
body.bkme-affiliate__peppers .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/peppers/peppers-logo-bookme.svg);
  width: 5.125rem;
}

body.bkme-affiliate__pullman {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--dark-charcoal);
  --affiliate-accent: var(--blues-and-purples--twilight-lavender);
  /* == LOGOS == */
}
body.bkme-affiliate__pullman .homePage .logo a,
body.bkme-affiliate__pullman .logo a::after,
body.bkme-affiliate__pullman .homePage .siteLogo::after,
body.bkme-affiliate__pullman .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/pullman/pullman-hotels-and-resorts-logo-bookme.svg);
  width: 8.75rem;
}

body.bkme-affiliate__qtvillageapartments {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black-coffee);
  --affiliate-accent: var(--golds-and-bronze--university-of-california-gold);
  /* == LOGOS == */
}
body.bkme-affiliate__qtvillageapartments .homePage .logo a,
body.bkme-affiliate__qtvillageapartments .logo a::after,
body.bkme-affiliate__qtvillageapartments .homePage .siteLogo::after,
body.bkme-affiliate__qtvillageapartments .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/qtvillageapartments/queenstown-village-apartments-logo-bookme.svg);
  width: 8.75rem;
}

body.bkme-affiliate__quest {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--dark-charcoal);
  --affiliate-accent: var(--golds-and-bronze--university-of-california-gold);
  /* == LOGOS == */
}
body.bkme-affiliate__quest .homePage .logo a,
body.bkme-affiliate__quest .logo a::after,
body.bkme-affiliate__quest .homePage .siteLogo::after,
body.bkme-affiliate__quest .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/quest/quest-qrc-logo-bookme.svg);
  width: 3.9375rem;
}

body.bkme-affiliate__ramada {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--crimson);
  --affiliate-accent: var(--blacks-and-greys--dim-grey);
  /* == LOGOS == */
}
body.bkme-affiliate__ramada .homePage .logo a,
body.bkme-affiliate__ramada .logo a::after,
body.bkme-affiliate__ramada .homePage .siteLogo::after,
body.bkme-affiliate__ramada .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/ramada/ramada-remarkables-park-logo-bookme.svg);
  width: 6.75rem;
}

body.bkme-affiliate__ramada-albany {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--crimson);
  --affiliate-accent: var(--blacks-and-greys--dim-grey);
  /* == LOGOS == */
}
body.bkme-affiliate__ramada-albany .homePage .logo a,
body.bkme-affiliate__ramada-albany .logo a::after,
body.bkme-affiliate__ramada-albany .homePage .siteLogo::after,
body.bkme-affiliate__ramada-albany .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/ramada-albany/ramada-albany-logo-bookme.svg);
  width: 6.75rem;
}

body.bkme-affiliate__ramada-manukau {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--crimson);
  --affiliate-accent: var(--blacks-and-greys--dim-grey);
  /* == LOGOS == */
}
body.bkme-affiliate__ramada-manukau .homePage .logo a,
body.bkme-affiliate__ramada-manukau .logo a::after,
body.bkme-affiliate__ramada-manukau .homePage .siteLogo::after,
body.bkme-affiliate__ramada-manukau .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/ramada-manukau/ramada-manukau-pacific-centre-logo-bookme.svg);
  width: 6.75rem;
}

body.bkme-affiliate__ramada-nautilus {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--crimson);
  --affiliate-accent: var(--blacks-and-greys--dim-grey);
  /* == LOGOS == */
}
body.bkme-affiliate__ramada-nautilus .homePage .logo a,
body.bkme-affiliate__ramada-nautilus .logo a::after,
body.bkme-affiliate__ramada-nautilus .homePage .siteLogo::after,
body.bkme-affiliate__ramada-nautilus .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/ramada-nautilus/ramada-nautilus-orewa-logo-bookme.svg);
  width: 6.75rem;
}

body.bkme-affiliate__ramada-orewa {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--crimson);
  --affiliate-accent: var(--blacks-and-greys--dim-grey);
  /* == LOGOS == */
}
body.bkme-affiliate__ramada-orewa .homePage .logo a,
body.bkme-affiliate__ramada-orewa .logo a::after,
body.bkme-affiliate__ramada-orewa .homePage .siteLogo::after,
body.bkme-affiliate__ramada-orewa .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/ramada-nautilus/ramada-nautilus-orewa-logo-bookme.svg);
  width: 6.75rem;
}

body.bkme-affiliate__ramada-victoria {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--crimson);
  --affiliate-accent: var(--blacks-and-greys--dim-grey);
  /* == LOGOS == */
}
body.bkme-affiliate__ramada-victoria .homePage .logo a,
body.bkme-affiliate__ramada-victoria .logo a::after,
body.bkme-affiliate__ramada-victoria .homePage .siteLogo::after,
body.bkme-affiliate__ramada-victoria .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/ramada-victoria/ramada-victoria-street-west-logo-bookme.svg);
  width: 6.75rem;
}

body.bkme-affiliate__ramada-wellington {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--crimson);
  --affiliate-accent: var(--blacks-and-greys--dim-grey);
  /* == LOGOS == */
}
body.bkme-affiliate__ramada-wellington .homePage .logo a,
body.bkme-affiliate__ramada-wellington .logo a::after,
body.bkme-affiliate__ramada-wellington .homePage .siteLogo::after,
body.bkme-affiliate__ramada-wellington .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/ramada-wellington/ramada-wellington-logo-bookme.svg);
  width: 6.75rem;
}

body.bkme-affiliate__remarkablespark {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--catalina-blue);
  --affiliate-accent: var(--red-and-yellows--persimmon);
  /* == LOGOS == */
}
body.bkme-affiliate__remarkablespark .homePage .logo a,
body.bkme-affiliate__remarkablespark .logo a::after,
body.bkme-affiliate__remarkablespark .homePage .siteLogo::after,
body.bkme-affiliate__remarkablespark .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/remarkablespark/holiday-inn-express-remarkables-logo-bookme.svg);
  width: 3rem;
}

body.bkme-affiliate__rankers {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--ocean-boat-blue);
  --affiliate-accent: var(--greens--deep-sea-green);
  /* == LOGOS == */
}
body.bkme-affiliate__rankers .homePage .logo a,
body.bkme-affiliate__rankers .logo a::after,
body.bkme-affiliate__rankers .homePage .siteLogo::after,
body.bkme-affiliate__rankers .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/rankers/rankers-logo-bookme.svg);
  width: 2.75rem;
}
body.bkme-affiliate__rankers {
  /* == CUSTOM REQUESTS == */
}
body.bkme-affiliate__rankers .bkmeNav:after, body.bkme-affiliate__rankers.bkme-affiliate.home .hero-wrap:after, body.bkme-affiliate__rankers.bkme-affiliate #breadcrumbs:after,
body.bkme-affiliate__rankers .nav-wrap nav .desktop-nav-wrapper .loginNav {
  display: none;
}

body.bkme-affiliate__scenic {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__scenic .homePage .logo a,
body.bkme-affiliate__scenic .logo a::after,
body.bkme-affiliate__scenic .homePage .siteLogo::after,
body.bkme-affiliate__scenic .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/scenic/scenic-heartland-logo-bookme.svg);
  width: 4.375rem;
}

body.bkme-affiliate__scenic-boi {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__scenic-boi .homePage .logo a,
body.bkme-affiliate__scenic-boi .logo a::after,
body.bkme-affiliate__scenic-boi .homePage .siteLogo::after,
body.bkme-affiliate__scenic-boi .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/scenic-boi/scenic-hotel-bay-of-islands-logo-bookme.svg);
  width: 6.875rem;
}

body.bkme-affiliate__scenic-dunedin {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__scenic-dunedin .homePage .logo a,
body.bkme-affiliate__scenic-dunedin .logo a::after,
body.bkme-affiliate__scenic-dunedin .homePage .siteLogo::after,
body.bkme-affiliate__scenic-dunedin .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/scenic-dunedin/scenic-hotel-dunedin-city-logo-bookme.svg);
  width: 6.875em;
}

body.bkme-affiliate__scenic-fj {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__scenic-fj .homePage .logo a,
body.bkme-affiliate__scenic-fj .logo a::after,
body.bkme-affiliate__scenic-fj .homePage .siteLogo::after,
body.bkme-affiliate__scenic-fj .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/scenic-fj/scenic-hotel-franz-josef-glacier-logo-bookme.svg);
  width: 6.875rem;
}

body.bkme-affiliate__scenic-mal {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__scenic-mal .homePage .logo a,
body.bkme-affiliate__scenic-mal .logo a::after,
body.bkme-affiliate__scenic-mal .homePage .siteLogo::after,
body.bkme-affiliate__scenic-mal .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/scenic-mal/scenic-hotel-marlborough-logo-bookme.svg);
  width: 6.875rem;
}

body.bkme-affiliate__scenic-sc {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__scenic-sc .homePage .logo a,
body.bkme-affiliate__scenic-sc .logo a::after,
body.bkme-affiliate__scenic-sc .homePage .siteLogo::after,
body.bkme-affiliate__scenic-sc .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/scenic-sc/scenic-hotel-southern-cross-logo-bookme.svg);
  width: 6.875rem;
}

body.bkme-affiliate__scenic-tp {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--blacks-and-greys--isabelline);
  /* == LOGOS == */
}
body.bkme-affiliate__scenic-tp .homePage .logo a,
body.bkme-affiliate__scenic-tp .logo a::after,
body.bkme-affiliate__scenic-tp .homePage .siteLogo::after,
body.bkme-affiliate__scenic-tp .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/scenic-tp/scenic-hotel-te-pania-logo-bookme.svg);
  width: 6.875rem;
}

body.bkme-affiliate__sofitel {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--cetacean-blue);
  --affiliate-accent: var(--golds-and-bronze--pastel-grey);
  /* == LOGOS == */
}
body.bkme-affiliate__sofitel .homePage .logo a,
body.bkme-affiliate__sofitel .logo a::after,
body.bkme-affiliate__sofitel .homePage .siteLogo::after,
body.bkme-affiliate__sofitel .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/sofitel/sofitel-hotels-resorts-logo-bookme.svg);
  width: 8.75rem;
}

body.bkme-affiliate__stmoritz {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--dark-charcoal);
  --affiliate-accent: var(--golds-and-bronze--university-of-california-gold);
  /* == LOGOS == */
}
body.bkme-affiliate__stmoritz .homePage .logo a,
body.bkme-affiliate__stmoritz .logo a::after,
body.bkme-affiliate__stmoritz .homePage .siteLogo::after,
body.bkme-affiliate__stmoritz .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/stmoritz/hotel-st-moritz-logo-bookme.svg);
  width: 4.1875rem;
}

body.bkme-affiliate__summertravel {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--cyan-cornflower-blue);
  --affiliate-accent: var(--blues-and-purples--yale-blue);
  /* == LOGOS == */
}
body.bkme-affiliate__summertravel .homePage .logo a,
body.bkme-affiliate__summertravel .logo a::after,
body.bkme-affiliate__summertravel .homePage .siteLogo::after,
body.bkme-affiliate__summertravel .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/images/affiliates/summer-travel-logo-bookme.svg);
  width: 10rem;
}

body.bkme-affiliate__summertravelnz {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--cyan-cornflower-blue);
  --affiliate-accent: var(--blues-and-purples--yale-blue);
  /* == LOGOS == */
}
body.bkme-affiliate__summertravelnz .homePage .logo a,
body.bkme-affiliate__summertravelnz .logo a::after,
body.bkme-affiliate__summertravelnz .homePage .siteLogo::after,
body.bkme-affiliate__summertravelnz .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/images/affiliates/summer-travel-logo-bookme.svg);
  width: 10rem;
}

body.bkme-affiliate__swiss {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--red-and-yellows--carmine-pink);
  --affiliate-accent: var(--red-and-yellows--congo-pink);
  /* == LOGOS == */
}
body.bkme-affiliate__swiss .homePage .logo a,
body.bkme-affiliate__swiss .logo a::after,
body.bkme-affiliate__swiss .homePage .siteLogo::after,
body.bkme-affiliate__swiss .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/swiss/swiss-bel-coronet-peak-logo-bookme.svg);
  width: 6.75rem;
}

body.bkme-affiliate__thepoint {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--yale-blue);
  --affiliate-accent: var(--greens--pearl-aqua);
  /* == LOGOS == */
}
body.bkme-affiliate__thepoint .homePage .logo a,
body.bkme-affiliate__thepoint .logo a::after,
body.bkme-affiliate__thepoint .homePage .siteLogo::after,
body.bkme-affiliate__thepoint .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/thepoint/the-point-logo-bookme.svg);
  width: 2.5rem;
}
@media only screen and (min-width: 768px) {
  body.bkme-affiliate__thepoint .homePage .logo a,
  body.bkme-affiliate__thepoint .logo a::after,
  body.bkme-affiliate__thepoint .homePage .siteLogo::after,
  body.bkme-affiliate__thepoint .siteLogo::after {
    position: relative;
    top: 1rem;
    background-color: var(--affiliate-accent);
    background-position: 50% 50%;
    background-size: 80%;
    width: 5rem;
    height: 5rem;
  }
}

body.bkme-affiliate__wicked-campers {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--red-and-yellows--venetian-red);
  /* == LOGOS == */
}
body.bkme-affiliate__wicked-campers .homePage .logo a,
body.bkme-affiliate__wicked-campers .logo a::after,
body.bkme-affiliate__wicked-campers .homePage .siteLogo::after,
body.bkme-affiliate__wicked-campers .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/wicked-campers/wicked-campers-logo-bookme.svg);
  width: 6.625rem;
}

body.bkme-affiliate__wicked-campers-nz {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blacks-and-greys--black);
  --affiliate-accent: var(--red-and-yellows--venetian-red);
  /* == LOGOS == */
}
body.bkme-affiliate__wicked-campers-nz .homePage .logo a,
body.bkme-affiliate__wicked-campers-nz .logo a::after,
body.bkme-affiliate__wicked-campers-nz .homePage .siteLogo::after,
body.bkme-affiliate__wicked-campers-nz .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/wicked-campers/wicked-campers-logo-bookme.svg);
  width: 6.625rem;
}

body.bkme-affiliate__whitsundaycoastairport {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--metallic-seaweed);
  --affiliate-accent: var(--blues-and-purples--crystal);
  /* == LOGOS == */
}
body.bkme-affiliate__whitsundaycoastairport .homePage .logo a,
body.bkme-affiliate__whitsundaycoastairport .logo a::after,
body.bkme-affiliate__whitsundaycoastairport .homePage .siteLogo::after,
body.bkme-affiliate__whitsundaycoastairport .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/whitsundaycoastairport/whitsunday-coast-airport-logo-bookme.svg);
  width: 9rem;
}

body.bkme-affiliate__whitsundaystours {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--blues-and-purples--yale-blue);
  --affiliate-accent: var(--red-and-yellows--persimmon);
  /* == LOGOS == */
}
body.bkme-affiliate__whitsundaystours .homePage .logo a,
body.bkme-affiliate__whitsundaystours .logo a::after,
body.bkme-affiliate__whitsundaystours .homePage .siteLogo::after,
body.bkme-affiliate__whitsundaystours .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/whitsundaytours/whitsunday-island-tours-logo-bookme.svg);
  width: 2.8125em;
}

body.bkme-affiliate__wyndham-chch {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--greens--apple);
  --affiliate-accent: var(--blacks-and-greys--dark-gunmetal);
  /* == LOGOS == */
}
body.bkme-affiliate__wyndham-chch .homePage .logo a,
body.bkme-affiliate__wyndham-chch .logo a::after,
body.bkme-affiliate__wyndham-chch .homePage .siteLogo::after,
body.bkme-affiliate__wyndham-chch .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/wyndham-chch/wyndham-garden-christchurch-logo-bookme.svg);
  width: 8.75rem;
}

body.bkme-affiliate__wyndham-remarkables {
  /* == COLOUR WAY == */
  --affiliate-primary: var(--greens--apple);
  --affiliate-accent: var(--blacks-and-greys--dark-gunmetal);
  /* == LOGOS == */
}
body.bkme-affiliate__wyndham-remarkables .homePage .logo a,
body.bkme-affiliate__wyndham-remarkables .logo a::after,
body.bkme-affiliate__wyndham-remarkables .homePage .siteLogo::after,
body.bkme-affiliate__wyndham-remarkables .siteLogo::after {
  background-image: url(https://bookmestatic.net.nz/things-to-do/affiliate-logos/wyndham-remarkables/wyndam-garden-remarkables-park-logo-bookme.svg);
  width: 8.75rem;
}

.activity-deals {
  /* == BASE-STYLES.SCSS OVERRIDE == */
}
.activity-deals a {
  color: var(--airnz-brand-major);
}
.activity-deals {
  /* == BUTTONS.SCSS OVERRIDE == */
}
.activity-deals .blue a,
.activity-deals .green a {
  color: white;
  background-color: var(--airnz-brand-major);
}
.activity-deals .red a {
  color: var(--airnz–black);
  background-color: var(--white);
  box-shadow: inset 0 0 0 0.1rem var(--bkme-neutral-light);
}
.activity-deals .btn_green {
  background-color: var(--airnz-brand-major) !important;
}
.activity-deals .ugc-btn--primary a {
  background-color: var(--airnz-brand-major);
}
.activity-deals .grey a.disabled,
.activity-deals .green a.disabled,
.activity-deals .blue a.disabled,
.activity-deals .yellow a.disabled,
.activity-deals .red a.disabled,
.activity-deals .steel a.disabled {
  color: var(--bkme-neutral);
  background-color: var(--bkme-neutral-lighter);
}
.activity-deals {
  /* == HEADER OVERRIDE == */
}
.activity-deals.home .hero-wrap {
  grid-row-gap: 1rem;
  padding: 8rem 2rem 0;
  height: 40rem;
}
.activity-deals.home .hero-wrap .airpoints-blurb {
  display: inline-block !important;
  position: relative;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--white);
  text-align: center;
  padding-top: 1rem;
  border-top: 1px solid var(--white);
  margin-top: 1rem;
  order: 3;
}
.activity-deals.home .hero-wrap .searchTrigger-segmented li {
  color: var(--white);
  background: var(--black);
  box-shadow: inset 0 0 0 0.1rem var(--neutral-500);
}
.activity-deals.home .hero-wrap .searchTrigger-segmented li span.filter {
  box-shadow: inset 0 0 0 0.1rem var(--neutral-500);
}
.activity-deals.home .hero-wrap .searchTrigger-segmented li:hover span.filter {
  color: var(--airnz-brand-minor);
  box-shadow: none;
}
.activity-deals.home .hero h1 {
  font-family: Newzald;
  font-size: 3.6rem;
  line-height: 1;
  text-shadow: rgba(0, 0, 0, 0.5) 0px 2px 4px;
  padding: 0;
  margin-top: 3rem;
}
.activity-deals.home .hero h1.big {
  display: none;
}
.activity-deals.home .hero h1.medium {
  display: none;
}
.activity-deals.home .hero h1.small {
  display: block;
}
.activity-deals.home .bkmeNav.active, .activity-deals.home .bkmeNav:not(.active) {
  background-color: var(--airnz-black);
}
.activity-deals.home .bkmeNav.navOpen {
  background-color: transparent;
}
.activity-deals.home .bkmeNav.active .searchTrigger-segmented li.destination-button {
  box-shadow: inset 0.1rem 0 0 var(--neutral-500), inset 0 0.1rem 0 var(--neutral-500), inset 0 -0.1rem 0 var(--neutral-500);
}
.activity-deals.home .bkmeNav.active .searchTrigger-segmented li.search-button {
  box-shadow: inset 0 0 0 0.1rem var(--neutral-500);
}
.activity-deals.home .bkmeNav.active .searchTrigger-segmented li span em {
  color: var(--white);
}
.activity-deals {
  /* == NAVIGATION-BAR.SCSS OVERRIDE == */
}
.activity-deals .nav-wrap {
  background-color: var(--airnz-black);
}
.activity-deals .nav-wrap nav {
  justify-content: center;
}
.activity-deals .nav-wrap nav .catNav {
  margin-left: 0;
}
.activity-deals .nav-wrap nav .catNav li[accesskey=accommodation-sub-menu] {
  display: none !important;
}
.activity-deals .nav-wrap nav .catNav li a {
  color: var(--airnz-brand-alt);
}
.activity-deals .nav-wrap nav .catNav li.category a, .activity-deals .nav-wrap nav .catNav li.dealMap-nav-link a {
  padding-top: 0.6rem;
}
.activity-deals .nav-wrap nav .catNav li img {
  display: none;
}
.activity-deals .nav-wrap nav .catNav li.logo a:after {
  display: inline-block;
  content: "";
  background-image: url(../images/airnz-images/airnz-logo.svg);
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.5rem;
  width: 17.6rem;
  height: 3rem;
}
.activity-deals .nav-wrap nav .catNav li.active {
  position: relative;
}
.activity-deals .nav-wrap nav .catNav li.active:after {
  box-shadow: inset 0 0.4rem 0 var(--airnz-brand-minor);
}
.activity-deals .nav-wrap nav .loginNav {
  display: none;
}
.activity-deals .nav-wrap nav .gh-nav-categories {
  background: var(--airnz-black);
  border: 1px solid rgb(var(--white-rgb), var(--alpha2));
}
.activity-deals .nav-wrap nav .gh-nav-categories li a {
  color: var(--white);
}
.activity-deals .nav-wrap nav .gh-nav-categories li.all-category a {
  color: var(--white);
  box-shadow: inset 0 0 0 2px var(--airnz-brand-major);
}
.activity-deals {
  /* == MOBILE-NAV.SCSS OVERRIDE == */
}
.activity-deals .bkmeNav {
  background-color: var(--airnz-black);
}
.activity-deals .bkmeNav li.siteLogo a:after {
  display: inline-block;
  content: "";
  background-image: url(../images/airnz-images/airnz-logo.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-x: 100%;
  width: 3.6rem;
  height: 3.6rem;
}
.activity-deals .bkmeNav li.siteLogo img {
  display: none;
}
.activity-deals .bkmeNav.navOpen {
  background-color: transparent;
}
.activity-deals .bkmeNav .searchTrigger-segmented li.destination-button {
  box-shadow: inset 0.1rem 0 0 var(--neutral-500), inset 0 0.1rem 0 var(--neutral-500), inset 0 -0.1rem 0 var(--neutral-500);
}
.activity-deals .bkmeNav .searchTrigger-segmented li.search-button {
  box-shadow: inset 0 0 0 0.1rem var(--neutral-500);
}
.activity-deals .bkmeNav .searchTrigger-segmented li i {
  color: var(--white);
}
.activity-deals .bkmeNav .searchTrigger-segmented li span em {
  color: var(--white);
}
.activity-deals {
  /* == DEAL-TABS.SCSS OVERRIDE == */
}
.activity-deals .dealTypes li.hd_diningDeals:has(+ .hd_stayDeals) {
  border-radius: 0 1rem 0 0;
}
.activity-deals .dealTypes li.hd_stayDeals {
  display: none;
}
.activity-deals {
  /* == CATEGORY-FILTERS.SCSS OVERRIDE == */
}
.activity-deals .filter li a.active {
  color: var(--airnz-brand-minor);
  box-shadow: inset 0 -5px 0 0 var(--airnz-brand-minor);
}
.activity-deals .productFilters .productFilters-menu .menuHeader .menuHeader-wrapper {
  background-color: var(--airnz-black);
  color: var(--white);
}
.activity-deals .productFilters .productFilters-menu .menuBody .tabRow:not(.countries) {
  grid-template-columns: repeat(2, 1fr);
}
.activity-deals .productFilters .productFilters-menu .menuBody .tabRow:not(.countries) .tab#dineLocation {
  border-radius: 0 1rem 0 0;
}
.activity-deals .productFilters .productFilters-menu .menuBody .tabRow:not(.countries) .tab#stayLocation {
  display: none;
}
.activity-deals {
  /* == DEAL-CARDS.SCSS OVERRIDE == */
}
.activity-deals .dealCard .qualmarkStatus {
  display: block;
  position: absolute;
  right: 0;
  bottom: -9.3rem;
  background-color: #000;
  background-repeat: no-repeat;
  background-size: 5rem;
  background-position: calc(100% - 0.5rem) 50%;
  border-radius: 0 0.8rem 0 0.8rem;
  width: 6.5rem;
  height: 6.5rem;
  z-index: 1;
  box-sizing: border-box;
}
.activity-deals .dealCard .qualmarkStatus.Gold {
  background-image: url("../images/qualmark_badges/qualmark_gold.svg");
}
.activity-deals .dealCard .qualmarkStatus.Silver {
  background-image: url("../images/qualmark_badges/qualmark_silver.svg");
}
.activity-deals .dealCard .qualmarkStatus.Bronze {
  background-image: url("../images/qualmark_badges/qualmark_bronze.svg");
}
.activity-deals {
  /* == BREADCRUMB OVERRIDE == */
}
.activity-deals #mobile-breadcrumbs a {
  color: var(--airnz-brand-major);
}
.activity-deals {
  /* == STRUCTURED PRODUCT OVERRIDE == */
}
.activity-deals .activityText .productIntroduction p {
  color: var(--airnz-black);
}
.activity-deals .attractionList {
  border-radius: 0;
}
.activity-deals .attractionList h3 {
  display: inline-block;
  font-family: Newzald;
  font-size: 2.8rem;
  font-weight: normal;
  color: var(--airnz-black);
  text-align: center;
  line-height: 1.6;
  background-color: initial;
  padding-left: 0;
  border-bottom: 1px solid var(--airnz-black);
  margin: 0;
  text-transform: initial;
  border-radius: 0;
  padding: 0;
}
.activity-deals .attractionList ul {
  color: var(--airnz-black);
  text-align: left;
  margin-top: 1.5rem;
}
.activity-deals .attractionList ul li::before {
  top: 0;
  left: -2.2rem;
  font-size: 1.6rem;
  color: var(--airnz-brand-major);
}
.activity-deals .optionsWrapper::before {
  display: block;
  content: "Booking Notes";
  font-family: Newzald;
  font-size: 2.8rem;
  text-align: center;
  margin-bottom: 2rem;
  color: var(--airnz-black);
  line-height: initial;
  text-transform: initial;
  background: none;
  border-radius: 0;
  margin: 0;
  width: auto;
}
.activity-deals .optionsWrapper .priceList {
  position: relative;
  text-align: left;
  margin: 3rem 0 1rem;
}
.activity-deals .optionsWrapper .priceList::before {
  font-size: 1.5rem;
  color: var(--airnz-black);
}
.activity-deals .optionsWrapper div::before, .activity-deals .optionsWrapper div::after {
  color: var(--airnz-brand-major);
}
.activity-deals .optionsWrapper div h3::before, .activity-deals .optionsWrapper div h3::after {
  color: var(--airnz-black);
}
.activity-deals .optionsWrapper::after {
  position: absolute;
  top: 7rem;
  left: calc(50% - 7.5rem);
  content: "";
  background-color: var(--airnz-black);
  width: 15rem;
  height: 0.1rem;
}
.activity-deals {
  /* == REVIEW RATING OVERRIDE == */
}
.activity-deals .ratingActivityCircle {
  color: var(--airnz-brand-minor);
  background: transparent;
  border: 0.4rem solid var(--bkme-neutral-light);
  border-radius: 50%;
}
.activity-deals .ratingActivityCircle h3 {
  font-family: Newzald;
  font-weight: normal;
  font-size: 6rem;
  line-height: 1.2;
  margin: -1.8rem 0 0;
}
.activity-deals .ratingActivityCircle p {
  font-weight: 400;
  color: var(--airnz-black);
}
.activity-deals .ratingActivityCircle .circleRating-stars::before,
.activity-deals .ratingActivityCircle .circleRating-percentage::before {
  color: var(--airnz-brand-major);
}
.activity-deals {
  /* == CUSTOMER REVIEWS OVERRIDE == */
}
.activity-deals .commentWrapper .review-header a {
  color: var(--airnz-brand-major);
}
.activity-deals .commentWrapper .review-header .commentRating-activity-stars::before,
.activity-deals .commentWrapper .review-header .commentRating-activity-percentage::before {
  color: var(--airnz-brand-minor);
}
.activity-deals .responseWrapper {
  color: var(--white);
  background-color: var(--airnz-brand-major);
  border-radius: 0.4rem;
  margin-right: 0;
  min-height: 15rem;
}
.activity-deals .responseWrapper h3 {
  color: var(--white);
}
.activity-deals .responseWrapper::after {
  display: none;
}
.activity-deals {
  /* == CUSTOMER REVIEW PHOTOS OVERRIDE == */
}
.activity-deals .reviewsGallery .flickity-prev-next-button {
  color: var(--airnz-black);
  background-color: initial;
  background-image: initial;
  background-image: initial;
  background-image: initial;
  box-shadow: initial;
  border: none;
  box-shadow: inset 0 0 0 1px var(--bkme-neutral-light);
}
.activity-deals .reviewsGallery .flickity-prev-next-button:hover {
  background-color: var(--airnz-brand-minor);
  box-shadow: none;
}
.activity-deals .reviewsGallery .flickity-prev-next-button:hover .arrow {
  fill: white;
}
.activity-deals .reviewsGallery .flickity-prev-next-button .arrow {
  fill: var(--airnz-black);
}
.activity-deals #image_popup div:last-child .prev,
.activity-deals #image_popup div:last-child .next,
.activity-deals #menu_popup div:last-child .prev,
.activity-deals #menu_popup div:last-child .next {
  color: var(--airnz-black);
  background-color: initial;
  background-image: initial;
  background-image: initial;
  background-image: initial;
  box-shadow: initial;
  border: none;
  box-shadow: inset 0 0 0 1px var(--bkme-neutral-light);
}
.activity-deals #image_popup div:last-child .prev:hover,
.activity-deals #image_popup div:last-child .next:hover,
.activity-deals #menu_popup div:last-child .prev:hover,
.activity-deals #menu_popup div:last-child .next:hover {
  color: white;
  background-color: var(--airnz-brand-minor);
  box-shadow: none;
}
.activity-deals {
  /* == SHARED REVIEWS OVERRIDE == */
}
.activity-deals .sharedReview h1 strong {
  color: initial;
  text-decoration: none;
  pointer-events: none;
}
.activity-deals {
  /* == BOOKING GRID OVERRIDE == */
}
.activity-deals .bookDate {
  background-color: var(--airnz-black);
  box-shadow: inset 0 -0.5rem 0 var(--airnz-brand-major);
}
.activity-deals .bookingTime:first-child {
  background-color: var(--airnz-black);
  box-shadow: inset 0 -0.5rem 0 var(--airnz-brand-major);
}
.activity-deals .bookActivity.dealDiscount-1::after, .activity-deals .bookActivity.dealDiscount-2::after, .activity-deals .bookActivity.dealDiscount-3::after {
  color: var(--airnz-brand-major);
  background-color: transparent;
  box-shadow: inset 0 0 0 1px var(--airnz-brand-major);
}
.activity-deals .bookActivity.selected h3 {
  color: var(--airnz-brand-major);
}
.activity-deals .bookActivity.selected::after {
  color: var(--airnz-brand-major);
  box-shadow: none;
}
.activity-deals .bookActivity.selected.dealDiscount-1::after, .activity-deals .bookActivity.selected.dealDiscount-2::after, .activity-deals .bookActivity.selected.dealDiscount-3::after {
  color: var(--airnz-brand-major);
}
.activity-deals .bookActivity.selected.dealDiscount-1 .bookPrices, .activity-deals .bookActivity.selected.dealDiscount-2 .bookPrices, .activity-deals .bookActivity.selected.dealDiscount-3 .bookPrices {
  background-color: var(--airnz-brand-major);
}
.activity-deals {
  /* == BOOKING MODAL PICKER OVERRIDE == */
}
.activity-deals #bkmePop-alt-safe ul.dealsList li.selected {
  color: var(--bkme-neutral);
  background: var(--white);
  border: 0.1rem solid var(--bkme-neutral-light);
}
.activity-deals #bkmePop-alt-safe ul.dealsList li.active {
  color: var(--airnz-black);
  background: var(--white);
  border: 0.1rem solid var(--bkme-neutral-light);
}
.activity-deals #bkmePop-alt-safe ul.dealsList li.active div::before {
  background-color: var(--white);
  color: var(--airnz-brand-minor);
}
.activity-deals #bkmePop-alt-safe ul.dealsList li.active span.badge::before {
  background-color: var(--airnz-brand-major);
  box-shadow: none;
}
.activity-deals #bkmePop-alt-safe ul.dealsList li.active.selected {
  color: var(--airnz-black);
  background: var(--white);
  border: 0.1rem solid var(--bkme-neutral-light);
}
.activity-deals #bkmePop-alt-safe ul.dealsList li.active.selected div::before {
  background-color: var(--white);
  color: var(--airnz-brand-minor);
}
.activity-deals #bkmePop-alt-safe ul.dealsList li.active.selected div + span:after {
  color: var(--airnz-brand-minor);
}
.activity-deals #bkmePop-alt-safe ul.dealsList li.active.selected span.badge::before {
  background-color: var(--airnz-brand-major);
  box-shadow: none;
}
.activity-deals #bkmePop-alt-safe ul.dealsList li.active.deal div::before {
  background-color: var(--white);
  color: var(--airnz-brand-minor);
}
.activity-deals #bkmePop-alt-safe ul.dealsList li.active.deal span.badge::before {
  background-color: var(--airnz-brand-major);
  box-shadow: none;
}
.activity-deals #bkmePop-alt-safe .bkmePop-spinner button {
  color: var(--airnz-brand-major);
}
.activity-deals #bkmePop-alt-safe .bkmePop-spinner button:active {
  color: white;
  background: var(--airnz-brand-minor);
}
.activity-deals {
  /* == BOOKING DATE PICKER OVERRIDE == */
}
.activity-deals .picker__header .picker__nav--prev:hover::before,
.activity-deals .picker__header .picker__nav--next:hover::before {
  background-color: var(--airnz-brand-minor);
}
.activity-deals .picker__table .picker__day--selected {
  background: var(--airnz-brand-major) !important;
}
.activity-deals .picker__table .picker__day--selected:hover {
  background: var(--airnz-brand-major) !important;
}
.activity-deals .picker__table .picker__day--infocus:not(.picker__day--disabled):hover,
.activity-deals .picker__table .picker__day--outfocus:not(.picker__day--disabled):hover {
  background: var(--airnz-brand-minor) !important;
}
.activity-deals .picker__table .picker--focused .picker__day--selected {
  background: var(--airnz-brand-major) !important;
}
.activity-deals .picker__footer .picker__button--today {
  color: var(--airnz-brand-major) !important;
}
.activity-deals {
  /* == BOOKING TOTALS OVERRIDE == */
}
.activity-deals .totalWrapper dt a {
  color: var(--airnz-brand-major);
}
.activity-deals .totalWrapper dd span:hover {
  background-color: var(--airnz-brand-major);
}
.activity-deals .totalWrapper dd span:hover::after {
  border-left-color: var(--airnz-brand-major);
}
.activity-deals .totalWrapper .precheckTotal {
  box-shadow: 0 -0.1rem 0 var(--bkme-neutral), 0 0.3rem 0 var(--bkme-neutral);
}
.activity-deals {
  /* == AIRPOINTS TOTAL OVERRIDE == */
}
.activity-deals .airpointsTotal {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  background-color: var(--bkme-neutral-lighter);
  padding: 0 1rem 1.5rem 0;
  margin-bottom: 2.4rem;
  box-shadow: 0 0.3rem 0 var(--bkme-neutral);
  box-sizing: border-box;
}
.activity-deals .airpointsTotal h3 {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 600;
}
.activity-deals .airpointsTotal h3::before {
  display: inline-block;
  margin-right: 0.5rem;
}
.activity-deals {
  /* == FOOTER OVERRIDE == */
}
.activity-deals .ugc_bottomNav-wrapper {
  background-color: var(--airnz-black);
}
.activity-deals .ugc_bottomNav-wrapper li:last-of-type {
  display: none;
}
.activity-deals .footWrapper {
  background-color: var(--airnz-black);
}
.activity-deals .footWrapper a {
  color: white;
}
.activity-deals .footWrapper .social li:first-of-type {
  display: none;
}
.activity-deals .footWrapper .copyright::before {
  display: none;
}
.activity-deals .footWrapper .copyright .powered-by-bookme {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 0 1rem;
}
.activity-deals .footWrapper .copyright .powered-by-bookme img {
  width: 4.7rem;
  height: 3.6rem;
}
.activity-deals .footWrapper .copyright .powered-by-bookme span {
  font-size: 0.8rem;
  font-weight: 600;
  margin: 0.5rem 0 0;
}
.activity-deals {
  /* == DEAL MAP OVERRIDE == */
}
.activity-deals .mapToggles {
  background-color: var(--airnz-black);
}
.activity-deals .mapToggles #mapSearch-input {
  background-color: var(--airnz-black);
  box-shadow: inset 0 0 0 0.1rem var(--neutral-500);
}
.activity-deals .mapToggles #mapSearch-input:active, .activity-deals .mapToggles #mapSearch-input:focus {
  background-color: var(--white);
}
.activity-deals .mapToggles .mapSearch i {
  color: var(--white);
}
.activity-deals .mapToggles .mapSearch .expandDrawer {
  box-shadow: inset 0 0 0 0.1rem var(--neutral-500);
}
.activity-deals .mapToggles .categoryButton {
  background-color: var(--airnz-black);
  box-shadow: 0 0 0 0.1rem var(--airnz-brand-major);
}
.activity-deals .mapToggles .categoryButton:hover {
  background-color: var(--airnz-brand-minor);
  box-shadow: none;
}
.activity-deals .mapToggles .categoryButton.down {
  background-color: var(--airnz-brand-major);
  box-shadow: none;
}
.activity-deals .mapToggles .hotdealSlider input[type=range]::before {
  border-bottom-color: var(--airnz-black);
}
.activity-deals .mapToggles .hotdealSlider .hotdealSlider-InnerWrapper {
  box-shadow: 0 0 0 0.1rem var(--airnz-brand-major);
}
.activity-deals {
  /* == MOBILE NAV OVERRIDE == */
}
.activity-deals .bkmeMenu-wrapper {
  background-color: var(--airnz-black);
}
.activity-deals .bkmeMenu-wrapper .bkmeMenu-body .tabs span {
  box-shadow: inset 0 -0.2rem 0 var(--airnz-brand-alt);
}
.activity-deals .bkmeMenu-wrapper .bkmeMenu-body .tabs a {
  box-shadow: inset 0 -0.1rem 0 var(--airnz-brand-major);
}
.activity-deals .bkmeMenu-wrapper .bkmeMenu-footer {
  background-color: var(--airnz-black);
  box-shadow: inset 0 0.1rem 0 var(--neutral-500);
}
.activity-deals {
  /* == ODDS & ENDS OVERRIDE == */
}
.activity-deals .regionPage .closeDeals-wrapper.exploreLists, .activity-deals .regionPage .closeDeals-wrapper.tips {
  display: none;
}

@media only screen and (min-width: 768px) {
  .activity-deals.home .hero-wrap {
    padding: 0;
    grid-gap: 1rem;
  }
  .activity-deals.home .hero-wrap .airpoints-blurb {
    width: initial;
  }
  .activity-deals.home .hero h1 {
    font-size: 4rem;
    max-width: 78rem;
  }
  .activity-deals.home .hero h1.big {
    display: block;
  }
  .activity-deals.home .hero h1.big.qualmark {
    display: block;
  }
  .activity-deals.home .hero h1.medium {
    display: none;
  }
  .activity-deals.home .hero h1.small {
    display: none;
  }
  .activity-deals.home .fullSize-hero {
    margin-top: 6.4rem;
  }
  .activity-deals .nav-wrap nav .catNav {
    justify-content: center;
    font-size: 1.3rem;
    font-weight: 500;
    width: 100%;
  }
  .activity-deals.subpage .fullSize-hero {
    background-color: var(--airnz-black);
    background-image: none !important;
  }
  .activity-deals.subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li {
    background-color: var(--black);
    color: var(--white);
  }
  .activity-deals.subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li:hover {
    background-color: var(--airnz-black);
  }
  .activity-deals.subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li.destination-button {
    box-shadow: inset 0.1rem 0 0 var(--neutral-500), inset 0 -0.1rem 0 var(--neutral-500), inset 0 0.1rem 0 var(--neutral-500);
  }
  .activity-deals.subpage .fullSize-hero .hero-wrap .searchTrigger-segmented li.search-button {
    box-shadow: inset 0 0 0 0.1rem var(--neutral-500);
  }
  .activity-deals {
    /* == DEAL-CARDS.SCSS OVERRIDE == */
  }
  .activity-deals .dealCard .rankName-wrapper .qualmarkStatus {
    display: block;
    position: absolute;
    top: 1rem;
    right: initial;
    bottom: initial;
    left: 1rem;
    border-radius: 0.8rem 0 0.8rem 0;
  }
  .activity-deals .mapToggles:hover, .activity-deals .mapToggles:active {
    box-shadow: 0 0 0 0.3rem var(--airnz-brand-alt), 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
  }
  .activity-deals .mapToggles #mapSearch-input {
    background-color: var(--white);
    box-shadow: inset 0 0 0 0.1rem var(--neutral-500);
  }
  .activity-deals .mapToggles #mapSearch-input:active, .activity-deals .mapToggles #mapSearch-input:focus {
    background-color: var(--white);
  }
}
.akl-unlimited.promoForm-wrapper .promoForm-form .logo-wrap {
  background-color: var(--akl-unlimited-teal);
}
.akl-unlimited.promoForm-wrapper .promoForm-form input:focus,
.akl-unlimited.promoForm-wrapper .promoForm-form input:hover,
.akl-unlimited.promoForm-wrapper .promoForm-form select:focus,
.akl-unlimited.promoForm-wrapper .promoForm-form select:hover,
.akl-unlimited.promoForm-wrapper .promoForm-form textarea:focus,
.akl-unlimited.promoForm-wrapper .promoForm-form textarea:hover {
  box-shadow: 0 0 0 2px var(--akl-unlimited-teal);
  margin: 1rem;
}
.akl-unlimited.promoForm-wrapper .promoForm-form .fauxCheck [type=checkbox]:not(:checked) + label:hover:before {
  box-shadow: inset 0 0 0 2px var(--akl-unlimited-teal);
}
.akl-unlimited.promoForm-wrapper .promoForm-form .fauxCheck [type=checkbox]:checked + label:before {
  color: var(--akl-unlimited-teal);
}
.akl-unlimited.promoForm-wrapper .promoForm-form .fauxRadio [type=radio]:not(:checked) + label:hover:before {
  color: var(--akl-unlimited-teal);
}
.akl-unlimited.promoForm-wrapper .promoForm-form .fauxRadio [type=radio]:checked + label:before {
  color: var(--akl-unlimited-teal);
}

#bkmePop-info-box.bkmePop-info-box.terms-and-info.akl-unlimited .newModal_wrapper__inner .bkmePop-header {
  background-color: var(--akl-unlimited-teal);
  border-radius: 0.8rem 0.8rem 0 0;
}
#bkmePop-info-box.bkmePop-info-box.terms-and-info.akl-unlimited .newModal_wrapper__inner .bkmePop-header .bkmePop-status span {
  background-image: url("https://www.bookmestatic.net.nz/things-to-do/images/aucklandunlimited/Explore-TM-White.png");
  background-size: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 0;
  margin: 0;
  width: 15rem;
  height: 10rem;
  box-shadow: none;
}
#bkmePop-info-box.bkmePop-info-box.terms-and-info.akl-unlimited .newModal_wrapper__inner .bkmePop-header .bkmePop-status span i {
  display: none;
}
#bkmePop-info-box.bkmePop-info-box.terms-and-info.akl-unlimited .newModal_wrapper__inner .bkmePop-body ul {
  font-size: 1.3rem;
  padding: 2rem 3rem 0;
  border-top: 1px solid var(--neutral-200);
  margin-top: 1rem;
}
#bkmePop-info-box.bkmePop-info-box.terms-and-info.akl-unlimited .newModal_wrapper__inner .bkmePop-body ul li {
  margin: 0.35rem 0;
}

#bookingForm .voucher.voucher-explore-auckland {
  background-color: var(--akl-unlimited-teal);
  padding: 0 1.5rem;
  border: none;
  border-radius: 0.3rem;
  margin: 1.5rem 0 3rem;
  min-height: auto;
  width: 100%;
}
@media only screen and (min-width: 480px) {
  #bookingForm .voucher.voucher-explore-auckland {
    width: 40rem;
  }
}
#bookingForm .voucher.voucher-explore-auckland .voucher-inner {
  text-align: left;
  width: 100%;
}
#bookingForm .voucher.voucher-explore-auckland .voucher-inner h3 {
  justify-content: flex-start;
  font-size: 1.4rem;
  line-height: 1.3;
  text-align: left;
  text-transform: none;
  background-color: var(--akl-unlimited-teal);
  background-image: url(https://www.bookmestatic.net.nz/things-to-do/images/aucklandunlimited/Explore-TM-White.png);
  background-position: 100% center;
  background-repeat: no-repeat;
  background-size: 7rem;
  padding: 0;
  margin: 0 0 0.5rem;
  height: 7rem;
}
#bookingForm .voucher.voucher-explore-auckland .voucher-inner .init-vouc p {
  font-size: 1.4rem;
  margin: 0.5rem 0.5rem 1rem;
}
#bookingForm .voucher.voucher-explore-auckland .voucher-inner .init-vouc p strong {
  color: initial;
}
#bookingForm .voucher.voucher-explore-auckland .voucher-inner .init-vouc p strong:before {
  display: none;
}
#bookingForm .voucher.voucher-explore-auckland .voucher-inner .init-vouc .inputGroup:not(.fauxCheck) input {
  margin-bottom: 1.7rem;
}
#bookingForm .voucher.voucher-explore-auckland .voucher-inner .init-vouc .inputGroup:not(.fauxCheck) input:placeholder-shown ~ label {
  top: 1.4rem;
}
#bookingForm .voucher.voucher-explore-auckland .voucher-inner .init-vouc .inputGroup:not(.fauxCheck) input:placeholder-shown:focus ~ label {
  top: 0.7rem;
}
#bookingForm .voucher.voucher-explore-auckland .voucher-inner .init-vouc .inputGroup:not(.fauxCheck) input:hover {
  box-shadow: 0 0 0 2px var(--akl-unlimited-teal);
}

.houseAd.akl-unlimited {
  background: var(--akl-unlimited-teal);
}
.houseAd.akl-unlimited:before {
  display: none;
}
.houseAd.akl-unlimited:after {
  top: initial;
  bottom: 0;
  right: 1rem;
  background-image: url(https://www.bookmestatic.net.nz/things-to-do/images/aucklandunlimited/Explore-TM-White.png);
  width: 7.5rem;
  height: 7rem;
}
.houseAd.akl-unlimited .houseAd_inner {
  justify-content: flex-start;
  padding: 1.5rem;
}
.houseAd.akl-unlimited .houseAd_inner .houseAd_text {
  font-size: 1.2rem;
  color: var(--white);
  text-transform: initial;
  width: 100%;
}
.houseAd.akl-unlimited .houseAd_inner .houseAd_text h3 {
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
}
@media only screen and (min-width: 480px) {
  .houseAd.akl-unlimited:after {
    top: 0.9rem;
    right: 1rem;
    bottom: initial;
  }
  .houseAd.akl-unlimited .houseAd_inner {
    justify-content: center;
  }
  .houseAd.akl-unlimited .houseAd_inner .houseAd_text {
    width: 80%;
  }
  .houseAd.akl-unlimited .houseAd_inner .houseAd_text h3 {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .houseAd.akl-unlimited:after {
    width: 9rem;
    height: 9rem;
  }
  .houseAd.akl-unlimited .houseAd_inner .houseAd_text h3 {
    margin-bottom: 0.3rem;
  }
}

.nz-activities {
  @import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600;1,700;1,800&display=swap");
}
.nz-activities :root {
  --intcty-action: rgb(0,154,255); /* InterCity Blue */
  --intcty-neutral: rgb(238,238,238); /* InterCity Grey */
  --intcty-brand-major: rgb(0,154,255); /* InterCity Blue */
  --intcty-brand-minor: rgb(71,193,50); /* InterCity Green */
  --intcty-brand-alt: rgb(255,121,0); /* InterCity Orange */
}
.nz-activities * {
  letter-spacing: 0 !important;
}
.nz-activities body {
  font-family: "Nunito", "Open Sans", "Helvetica Neue", EmojiSymbols, arial, helvetica, helve, sans-serif;
}
.nz-activities h1 {
  color: var(--intcty-brand-minor);
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.15;
}
.nz-activities a {
  color: var(--intcty-brand-major);
}
.nz-activities {
  /* == BUTTONS.SCSS OVERRIDE == */
}
.nz-activities .btn_green,
.nz-activities .green a {
  color: var(--white);
  background-color: var(--intcty-brand-minor);
}
.nz-activities .blue a {
  color: var(--white);
  background-color: var(--intcty-brand-major);
}
.nz-activities .ugc-btn--primary a {
  color: var(--white);
  background-color: var(--intcty-action);
}
.nz-activities .ugc-btn--secondary a {
  background-color: var(--white);
  box-shadow: 0 0 0 0.2rem var(--bkme-neutral-light);
}
.nz-activities {
  /* == MOBILE-NAV.SCSS OVERRIDE == */
}
.nz-activities .bkmeNav {
  background: linear-gradient(180deg, #fafafa 0, #f7f7f7);
}
.nz-activities .bkmeNav li.siteLogo svg {
  width: 10.6rem;
  height: 3.2rem;
}
.nz-activities .bkmeNav li.siteLogo svg g {
  fill: var(--intcty-brand-minor);
}
.nz-activities .bkmeNav li div span {
  background-color: var(--intcty-brand-minor);
}
.nz-activities .bkmeNav.active {
  background: linear-gradient(180deg, #fafafa 0, #f7f7f7);
}
.nz-activities .bkmeNav.navOpen {
  background: transparent;
}
.nz-activities .bkmeNav.navOpen li.siteLogo svg g {
  fill: var(--white);
}
.nz-activities .bkmeNav.navOpen li div span {
  background-color: var(--white);
}
.nz-activities .homePage .bkmeNav {
  background: transparent;
}
.nz-activities .homePage .bkmeNav li.siteLogo svg g {
  fill: var(--white);
}
.nz-activities .homePage .bkmeNav li div span {
  background-color: var(--white);
}
.nz-activities .homePage .bkmeNav.active {
  background: linear-gradient(180deg, #fafafa 0, #f7f7f7);
}
.nz-activities .homePage .bkmeNav.active li.siteLogo svg g {
  fill: var(--intcty-brand-minor);
}
.nz-activities .homePage .bkmeNav.active li div span {
  background-color: var(--intcty-brand-minor);
}
.nz-activities.map li.logo svg g {
  fill: var(--intcty-brand-minor);
}
.nz-activities {
  /* == DEAL-TABS.SCSS OVERRIDE == */
}
.nz-activities .dealTypes {
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 800;
  background: var(--white);
  margin: 0 -1.2rem;
  height: 8rem;
}
.nz-activities .dealTypes li {
  background: transparent;
  border: none;
  border-radius: 0.5rem;
  height: 4.5rem;
  box-shadow: 0 0 0 0.1rem var(--bkme-neutral-light);
}
.nz-activities .dealTypes li:before, .nz-activities .dealTypes li:after {
  display: none;
}
.nz-activities .dealTypes li.active {
  align-self: center;
  background: var(--intcty-brand-major);
  border: none;
  box-shadow: none;
}
.nz-activities .dealTypes li.active a {
  align-items: center;
  color: var(--white);
  padding: 0;
}
.nz-activities .dealTypes li.active a:before, .nz-activities .dealTypes li.active a:after {
  display: none;
}
.nz-activities .dealTypes li a {
  color: var(--intcty-brand-major);
}
.nz-activities .dealTypes li.hd_stayDeals {
  display: none;
}
.nz-activities .dealFilters {
  line-height: 3.6;
  padding: 0;
  border-top: 1px solid #f2f2f2;
  margin: 0 auto 3rem;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.23);
  max-width: 56rem;
}
.nz-activities .dealFilters li.active {
  box-shadow: inset 0 -5px 0 0 var(--intcty-brand-major);
}
.nz-activities .dealFilters li.active a {
  color: var(--intcty-brand-major);
}
.nz-activities .dealFilters li a {
  font-size: 1.3rem;
  font-weight: 600;
  color: #222;
}
.nz-activities .dealFilters li i {
  color: var(--intcty-brand-major);
}
.nz-activities .filter {
  line-height: 3.6;
  padding-top: 0.3rem;
  border-top: 1px solid #f2f2f2;
  border-bottom-color: var(--white);
  padding: 0;
  margin: -0.6rem 0 0;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.23);
}
.nz-activities .filter li a {
  font-size: 1.5rem;
  font-weight: 600;
  color: #222;
}
.nz-activities .filter li a.active {
  color: var(--intcty-brand-major);
  box-shadow: inset 0 -5px 0 0 var(--intcty-brand-major);
}
.nz-activities .filter li i {
  color: var(--intcty-brand-major);
}
@media only screen and (min-width: 768px) {
  .nz-activities {
    /* == WRAPPERS.SCSS OVERRIDE == */
  }
  .nz-activities .pageWrapper .hotDeals-wrap {
    justify-content: center;
  }
  .nz-activities .diningTitleTag-wrapper {
    box-shadow: none;
  }
  .nz-activities {
    /* == NAVIGATION BAR.SCSS OVERRIDE == */
  }
  .nz-activities .nav-wrap.active {
    background: linear-gradient(180deg, #fafafa 0, #f7f7f7);
  }
  .nz-activities .nav-wrap.active nav .catNav li a {
    color: #777;
  }
  .nz-activities .nav-wrap.active nav .catNav li svg g {
    fill: var(--intcty-brand-minor);
  }
  .nz-activities .nav-wrap nav {
    justify-content: center;
  }
  .nz-activities .nav-wrap nav .catNav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.25rem;
    font-weight: 700;
    height: 4.8rem;
  }
  .nz-activities .nav-wrap nav .catNav li[accesskey=accommodation-sub-menu] {
    display: none !important;
  }
  .nz-activities .nav-wrap nav .catNav li svg {
    width: 10.6rem;
    height: 3.2rem;
  }
  .nz-activities .nav-wrap nav .catNav li.active:after {
    box-shadow: inset 0 0.4rem 0 var(--intcty-brand-minor);
  }
  .nz-activities .nav-wrap nav .loginNav {
    display: none;
  }
  .nz-activities {
    /* == DEAL-TABS.SCSS OVERRIDE == */
  }
  .nz-activities .dealFilters {
    margin: 0 0 3rem;
    max-width: initial;
  }
  .nz-activities {
    /* == INTERCITY ONLY OVERRIDES == */
  }
  .nz-activities #breadcrumbs a {
    color: #777;
  }
}
