@charset "UTF-8";


@font-face { font-family: "Lato"; font-style: normal; font-weight: 300; src: url("/fonts/club/lato-300.woff2") format("woff2"); }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; src: url("/fonts/club/lato-400.woff2") format("woff2"); }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; src: url("/fonts/club/lato-700.woff2") format("woff2"); }

.sihl-shell, .sihl-shell *, .sihl-footer, .sihl-footer * { box-sizing: border-box; }
:where(#nav-root, .sihl-footer) { color: #000; font-family: Arial, Helvetica, sans-serif; font-weight: 400; }
:where(#nav-root, .sihl-footer) * { color: inherit; font-family: inherit; font-weight: inherit; }
.sihl-container { position: relative; height: 100%; clear: both; width: 100%; max-width: 980px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; }
.sihl-container::before, .sihl-container::after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.sihl-container::after { clear: both; }
.sihl-shell { --sihl-contact-height: 400px; position: relative; transition: transform 500ms ease-in-out; }
.sihl-shell.is-contact-open { transform: translateY(var(--sihl-contact-height)) translateZ(0); }
.sihl-page { position: relative; clear: both; transition: transform 500ms ease-in-out, filter 250ms ease; }
.sihl-page.is-menu-open { transform: translateX(-200px) translateZ(0); }

.sihl-header { z-index: 100; width: 100%; height: auto; position: absolute; padding-top: 20px; left: 0; }
.sihl-header__inner { display: flex; align-items: flex-start; }
.sihl-logo { text-decoration: none; }
.sihl-logo--desktop { width: 12.49875%; flex: 0 0 12.49875%; }
.sihl-logo--desktop img { display: block; width: 103px; height: 96px; }
.sihl-logo--mobile { display: none; }
.sihl-logo--mobile img { display: block; width: 124px; height: 36px; }
.sihl-header__navigation { width: 87.49125%; text-align: right; }
.sihl-primary-nav { padding-top: 20px; }
.sihl-primary-nav ul, .sihl-secondary-nav ul { margin: 0; padding: 0; font-size: 0; list-style: none; }
.sihl-primary-nav__item { display: inline-block; padding-left: 16px; }
.sihl-primary-nav__item:first-child { padding-left: 0; }
.sihl-primary-nav__link { color: #203543; font-family: Arial, Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 700; letter-spacing: .02em; line-height: 24px; padding-bottom: 5px; text-decoration: none; text-transform: uppercase; }
.sihl-primary-nav__link:hover { border-bottom: 3px solid #203543; }
.sihl-secondary-nav__item { display: inline-block; padding-left: 22px; vertical-align: middle; }
.sihl-secondary-nav__item:first-child { padding-left: 0; }
.sihl-secondary-nav__link { color: #9caeb9; font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 400; line-height: 18px; padding-bottom: 5px; text-decoration: none; }
.sihl-secondary-nav__link:hover { border-bottom: 2px solid #9caeb9; }
.sihl-secondary-nav__item--action { padding-left: 20px; }
.sihl-account-menu + .sihl-secondary-nav__item--action { padding-left: 12px; }
.sihl-header-action { appearance: none; display: inline-flex; min-height: 28px; margin: -5px 0; padding: 4px 0; align-items: center; justify-content: center; gap: 9px; border: 0; color: #203543; background: transparent; cursor: pointer; font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 700; line-height: 18px; vertical-align: middle; }
.sihl-header-action img { display: block; width: 24px; height: 24px; opacity: .62; }
.sihl-header-action--account { width: 28px; }
.sihl-header-action--account img { width: 24px; height: 24px; }
.sihl-header-action:hover img, .sihl-header-action[aria-expanded="true"] img { opacity: 1; }
.sihl-header-action--cart span { min-width: 56px; text-align: left; white-space: nowrap; }
.sihl-account-menu { position: relative; }
.sihl-account-menu__panel { visibility: hidden; position: absolute; z-index: 300; top: calc(100% + 14px); right: 0; width: 210px; padding: 20px; border: 1px solid rgba(80,76,74,.12); background: #f4f8fb; box-shadow: 0 18px 40px rgba(54,50,47,.18); opacity: 0; text-align: left; transform: translateY(-8px); transition: opacity 180ms ease, transform 180ms ease, visibility 180ms; }
.sihl-account-menu__panel::before { content: ""; position: absolute; top: -7px; right: 7px; width: 14px; height: 14px; border-top: 1px solid rgba(80,76,74,.12); border-left: 1px solid rgba(80,76,74,.12); background: #f4f8fb; transform: rotate(45deg); }
.sihl-account-menu.is-open .sihl-account-menu__panel { visibility: visible; opacity: 1; transform: translateY(0); }
.sihl-account-menu__title { display: block; margin-bottom: 12px; color: #203543; font-family: Arial, Helvetica, Arial, sans-serif; font-size: 16px; line-height: 20px; text-transform: uppercase; }
.sihl-account-menu__panel a { display: block; padding: 9px 0; color: #203543; border-top: 1px solid rgba(80,76,74,.12); font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; text-decoration: none; }
.sihl-account-menu__panel a:hover { color: #087ab7; }
.sihl-account-menu__panel .sihl-account-menu__logout { margin-top: 7px; color: #8e5b58; }
.sihl-menu-button { display: none; position: relative; width: 40px; height: 38px; margin-left: auto; padding: 10px; border: 0; background: transparent; cursor: pointer; }
.sihl-menu-button span { background-color: #203543; position: absolute; height: 3px; width: 20px; display: block; transition: all 200ms ease-in-out; }
.sihl-menu-button span:nth-child(1) { top: 10px; }
.sihl-menu-button span:nth-child(2) { top: 50%; margin-top: -2px; }
.sihl-menu-button span:nth-child(3) { bottom: 11px; }

.sihl-mobile-drawer { background-color: #8cc5e5; padding-right: 30px; padding-bottom: 50px; width: 200px; position: fixed; right: -200px; top: 0; bottom: 0; z-index: 999; overflow-y: auto; transition: transform 500ms ease-in-out; transform: translateZ(0); }
.sihl-mobile-drawer.is-open { transform: translateX(-200px) translateZ(0); }
.sihl-mobile-drawer__close { display: block; width: 100%; margin-top: 30px; padding: 0; border: 0; color: #fff; background: transparent; cursor: pointer; font: 30px/20px Arial, sans-serif; text-align: right; }
.sihl-primary-nav--mobile { padding-top: 10px; padding-bottom: 30px; }
.sihl-primary-nav--mobile .sihl-primary-nav__item, .sihl-secondary-nav--mobile .sihl-secondary-nav__item { display: block; padding-left: 0; text-align: right; }
.sihl-primary-nav--mobile .sihl-primary-nav__item { line-height: 40px; }
.sihl-secondary-nav--mobile .sihl-secondary-nav__item { line-height: 32px; }
.sihl-primary-nav--mobile .sihl-primary-nav__link, .sihl-secondary-nav--mobile .sihl-secondary-nav__link { color: #fff; }
.sihl-mobile-drawer__action { padding: 0; border: 0; color: #fff; background: transparent; cursor: pointer; font: 400 15px/32px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
.sihl-mobile-drawer__action span { font-weight: 700; }

.sihl-contact { position: absolute; width: 100%; height: var(--sihl-contact-height); top: calc(-1 * var(--sihl-contact-height)); visibility: hidden; transition: visibility 500ms; }
.is-contact-open .sihl-contact { visibility: visible; }
.sihl-contact__information { width: 24.9975%; float: left; position: relative; z-index: 10; padding: 20px; background-color: #f4f8fb; color: #203543; font: 400 15px/21px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
.sihl-contact__information h2 { padding: 15px 0; color: #203543; font: 700 20px/24px Arial, Helvetica, Arial, sans-serif; text-transform: uppercase; }
.sihl-contact__information p { margin: 0; padding-top: 10px; color: #203543; font: 400 15px/21px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
.sihl-contact__information p:first-of-type { padding-top: 0; }
.sihl-contact__information p.sihl-contact__hours { margin-top: 31px; } /* Original blank paragraph: 21px line + 10px padding. */
.sihl-contact__information :is(a, strong) { color: inherit; font: inherit; }
.sihl-contact__information strong { font-weight: 700; }
.sihl-contact__information a[href^="mailto:"] { color: var(--sihl-contact-accent, #8cc5e5); transition: color 1s cubic-bezier(0.63, 0.18, 0.1, 0.92); }
@media (prefers-reduced-motion: reduce) {
  .sihl-contact__information a[href^="mailto:"] { transition: none; }
}
.sihl-contact .sihl-contact__close { float: right; position: relative; z-index: 10; width: 53px; height: 53px; margin: 0; padding: 15px; border: 0; border-radius: 0; background: #f4f8fb; box-shadow: none; cursor: pointer; }
.sihl-contact .sihl-contact__close:hover { background: #fefefd; }
.sihl-contact__close span { display: block; position: relative; width: 23px; height: 23px; overflow: hidden; font-size: 0; }
.sihl-contact__close span::before { content: ""; position: absolute; top: 50%; left: 50%; width: 23px; height: 23px; margin: -12px 0 0 -12px; background: url("/images/icons/legacy-sprite.png") no-repeat -45px 0 / 388px auto; }
.sihl-contact__close:focus-visible { outline: 2px solid #087ab7; outline-offset: -2px; }
.sihl-contact__map { width: 100%; height: 100%; background-color: #c6e3f2; position: absolute; z-index: 2; top: 0; }
.sihl-contact__map-canvas { position: absolute; inset: 0; background: #edf4f8; font-family: "Lato", Helvetica, Arial, sans-serif; }
.sihl-contact__map-fallback { position: absolute; z-index: 500; top: 50%; left: 50%; max-width: 240px; padding: 12px 16px; color: #203543; background: #f4f8fb; font: 400 14px/20px "Lato", Helvetica, Arial, sans-serif; text-align: center; transform: translate(-50%, -50%); }
.sihl-contact__map.is-loaded .sihl-contact__map-fallback { display: none; }
.sihl-contact__map-attribution { position: absolute; z-index: 500; right: 8px; bottom: 8px; padding: 4px 8px; border: 1px solid rgba(80,76,74,.12); border-radius: 3px; color: #203543; background: rgba(245,245,241,.96); box-shadow: 0 2px 8px rgba(54,50,47,.08); font: 400 11px/16px "Lato", Helvetica, Arial, sans-serif; text-decoration: none; }
.sihl-contact__map-attribution:hover { text-decoration: underline; }
.sihl-contact__map-zoom { position: absolute; z-index: 500; right: 12px; top: 70px; border: 1px solid rgba(80,76,74,.18); background: #f4f8fb; box-shadow: 0 3px 12px rgba(54,50,47,.1); }
.sihl-contact__map-zoom button { display: block; width: 36px; height: 36px; padding: 0; border: 0; background: transparent; color: #203543; font: 400 24px/36px "Lato", Helvetica, Arial, sans-serif; cursor: pointer; }
.sihl-contact__map-zoom button + button { border-top: 1px solid rgba(80,76,74,.18); }
.sihl-contact__map-zoom button:hover { background: #edf4f8; }
.sihl-contact__map :focus-visible { outline: 2px solid #086da2; outline-offset: 2px; }
.sihl-contact__map .sihl-map-pin::after { content: ""; display: block; width: 26px; height: 26px; border: 3px solid #f4f8fb; border-radius: 50% 50% 50% 0; background: #087ab7; box-shadow: 0 3px 10px rgba(54,50,47,.25); transform: rotate(-45deg); }
.sihl-contact__map .sihl-map-label { padding: 7px 11px; border: 1px solid rgba(80,76,74,.16); border-radius: 0; background: #f4f8fb; color: #203543; box-shadow: 0 3px 12px rgba(54,50,47,.12); font: 700 14px/18px Arial, Helvetica, Arial, sans-serif; }
.sihl-contact__map .leaflet-tooltip-top::before { border-top-color: #f4f8fb; }

.sihl-site { overflow-x: hidden; }
/* The current fragment, not the first requested container, owns header layout. */
.sihl-site:not(:has(#page > :is(.sihl-landing, .sihl-sport-page))) .sihl-header { position: relative; min-height: 136px; padding-bottom: 20px; background: #fff; }
.sihl-site:not(:has(#page > :is(.sihl-landing, .sihl-sport-page))) #page { min-height: 60vh; padding-top: 0; }

#nav-root { display: contents; }
#nav-root > .upper-spacer, #nav-root > #nav-checkbox, #nav-root > .nav-backdrop, #nav-root > .nav-wrapper, #nav-root > .overlay-spacer-wrapper { display: none !important; }
#nav-root > .cart-wrapper { display: contents; }
#nav-root #title-nav-title { display: none !important; }
.sihl-cart-backdrop { visibility: hidden; position: fixed; z-index: 1090; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(24,46,60,.24); opacity: 0; cursor: default; backdrop-filter: blur(4px); transition: opacity 240ms ease, visibility 240ms; }
body.sihl-cart-open { overflow: hidden; }
body.sihl-cart-open .sihl-cart-backdrop { visibility: visible; opacity: 1; }
body.sihl-cart-open .sihl-page { filter: blur(3px); }
body #nav-root #cart { display: flex; position: fixed; z-index: 1100; top: 0; right: 0; bottom: 0; width: min(460px, 100vw); height: 100dvh; max-height: none; margin: 0; border: 0; border-radius: 0; background: #f4f8fb; box-shadow: -18px 0 60px rgba(24,46,60,.2); opacity: 1; overflow: hidden; pointer-events: none; transform: translateX(102%); transition: transform 360ms cubic-bezier(.22,.74,.22,1); flex-direction: column; }
body #nav-root #cart.expanded { width: min(460px, 100vw); height: 100dvh; max-height: none; pointer-events: auto; transform: translateX(0); }
body #nav-root #cart .cart-header { flex: 0 0 auto; padding: 27px 28px 22px; border-bottom: 1px solid rgba(80,76,74,.13); background: #f4f8fb; }
body #nav-root #cart #cart-close { position: absolute; z-index: 3; top: 20px; right: 22px; display: grid; box-sizing: border-box; width: 40px; min-width: 40px; max-width: 40px; height: 40px; min-height: 40px; max-height: 40px; padding: 0; appearance: none; border: 0; border-radius: 50%; place-items: center; color: #203543; background: #edf3f7; box-shadow: none; line-height: 1; cursor: pointer; }
body #nav-root #cart #cart-close span { position: relative; display: block; width: 16px; height: 16px; overflow: hidden; color: transparent; font-size: 0; }
body #nav-root #cart #cart-close span::before, body #nav-root #cart #cart-close span::after { content: ""; position: absolute; top: 7px; left: 0; width: 16px; height: 2px; border-radius: 1px; background: #203543; transform: rotate(45deg); }
body #nav-root #cart #cart-close span::after { transform: rotate(-45deg); }
body #nav-root #cart #cart-close:hover { background: #dce8f0; transform: none; }
body #nav-root #cart #cart-close:focus-visible { outline: 2px solid #087ab7; outline-offset: 2px; }
body #nav-root #cart :is(button:enabled, a[href]:not([aria-disabled="true"])),
body #nav-root #cart :is(button:enabled, a[href]:not([aria-disabled="true"])) * { cursor: pointer !important; }
body #nav-root #cart .cart-header .card-container { padding: 0; }
body #nav-root #cart .cart-grid { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; grid-template-areas: "sihl-cart-icon sihl-cart-heading sihl-cart-price"; align-items: center; gap: 13px; padding-right: 48px; }
body #nav-root #cart .cart-icon { grid-area: sihl-cart-icon; width: 30px; height: 30px; background-position: center; background-repeat: no-repeat; background-size: contain; opacity: .62; }
body #nav-root #cart .cart-heading-copy { grid-area: sihl-cart-heading; }
body #nav-root #cart .cart-heading-copy strong { display: block; color: #203543; font: 700 22px/26px Arial, Helvetica, Arial, sans-serif; text-transform: uppercase; }
body #nav-root #cart .cart-products { margin: -4px 0 0; color: #647682; font: 400 13px/18px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
body #nav-root #cart .cart-price { grid-area: sihl-cart-price; margin: 0; color: #203543; font: 700 16px/20px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; white-space: nowrap; }
body #nav-root #cart .cart-item-wrapper { display: block; flex: 1 1 auto; min-height: 0; max-height: none; padding: 24px 28px; overflow: auto; overscroll-behavior: contain; }
body #nav-root #cart .cart-inner-item-wrapper { gap: 0; padding: 0; }
body #nav-root #cart .cart-empty { margin: 0; padding: 24px 0; color: #647682; font: 400 15px/22px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
body #nav-root #cart .cart-pay-wrapper { flex: 0 0 auto; width: 100%; max-height: 52dvh; padding: 18px 28px 24px; border-top: 1px solid rgba(80,76,74,.16); background: #edf4f8; box-shadow: none; overflow-y: auto; }
body #nav-root #cart .cart-item { gap: 7px; padding: 20px 0; border: 0; border-bottom: 1px solid rgba(80,76,74,.18); border-radius: 0; color: #203543; background: transparent; box-shadow: none; font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
body #nav-root #cart .cart-item:first-child { padding-top: 0; }
body #nav-root #cart .cart-item:last-child { padding-bottom: 0; border-bottom: 0; }
body #nav-root #cart .cart-item-head { min-width: 0; align-items: flex-start; flex-wrap: nowrap; }
body #nav-root #cart .cart-item-head > div { min-width: 0; }
body #nav-root #cart .cart-item h4 { margin: 0; color: #203543; font: 700 20px/24px Arial, Helvetica, Arial, sans-serif; }
body #nav-root #cart .cart-item-description { width: auto; margin: 1px 0 0; color: #647682; font-size: 13px; line-height: 18px; }
body #nav-root #cart .cart-item-purchase-row { margin-top: 1px; gap: 12px; }
body #nav-root #cart .cart-item .extra-tag { margin: 0; padding: 3px 7px; border: 0; border-radius: 0; color: #203543; background: #edf4f8; font-size: 12px; line-height: 17px; }
body #nav-root #cart .cart-item .extra-tag i { font-style: normal; }
body #nav-root #cart .cart-item .time-span,
body #nav-root #cart .cart-item .cart-item-meta,
body #nav-root #cart .cart-item .cart-item-note { margin: 0; color: #203543; font-size: 14px; line-height: 20px; }
body #nav-root #cart .cart-item .cart-item-note { color: #647682; }
body #nav-root #cart .cart-item-price { margin: 3px 0 0; color: #203543; font-size: 17px; font-weight: 700; line-height: 22px; text-align: right; }
body #nav-root #cart .item-trash { position: static; display: block; flex: 0 0 34px; width: 34px; height: 34px; margin: -6px -7px 0 0; padding: 0; border: 0; border-radius: 0; background-color: transparent; background-position: center; background-repeat: no-repeat; background-size: 17px 17px; opacity: .5; cursor: pointer !important; }
body #nav-root #cart .item-trash:hover,
body #nav-root #cart .item-trash:focus-visible { background-color: rgba(80,76,74,.07); opacity: .9; }
body #nav-root #cart .item-trash:focus-visible { outline: 2px solid #087ab7; outline-offset: 2px; }
body #nav-root #cart .cart-link-block { padding: 9px 0 0; border: 0; border-top: 1px solid rgba(80,76,74,.14); border-radius: 0; color: #203543; background: transparent; }
body #nav-root #cart .cart-link-block--missing { border-color: rgba(142,91,88,.3); background: transparent; }
body #nav-root #cart .cart-link-badge { color: #647682; }
body #nav-root #cart .cart-shop-customer-note { padding: 9px 0 0; border-top: 1px solid rgba(80,76,74,.14); border-radius: 0; color: #647682; background: transparent; }
body #nav-root #cart .cart-linked-booking + .cart-linked-booking { border-color: rgba(80,76,74,.14); }
body #nav-root #cart .cart-linked-booking__remove.item-trash { margin: -6px -7px -6px 0; }
body #nav-root #cart .cart-total { gap: 0; color: #203543; font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
body #nav-root #cart .cart-summary-extras { gap: 12px; padding: 0 0 16px; max-height: none; overflow: visible; }
body #nav-root #cart :is(.cart-total, .cart-summary-extras, .cart-summary-dock, .cart-voucher-block, [data-cart-contact-form], [data-cart-voucher-form]) { min-width: 0; max-width: 100%; }
body #nav-root #cart :is(.cart-total, .cart-item) :is(label, input:not(.number), select, textarea) { box-sizing: border-box; min-width: 0; max-width: 100%; }
body #nav-root #cart :is(.cart-summary-financial-details, .cart-review) { min-width: 0; overflow-wrap: anywhere; }
body #nav-root #cart .cart-summary-financial-details p { gap: 12px; }
body #nav-root #cart .cart-summary-financial-details .thin { flex: 1 1 0; width: auto; min-width: 0; }
body #nav-root #cart .cart-summary-financial-details .text-right { flex: 0 0 auto; width: auto; max-width: 50%; }
body #nav-root #cart .cart-summary-toggle { gap: 12px; }
body #nav-root #cart .cart-summary-toggle span { min-width: 0; overflow-wrap: anywhere; }
body #nav-root #cart .cart-summary-extras, body #nav-root #cart .cart-summary-financial-details { background: transparent; }
body #nav-root #cart .cart-summary-financial-details { gap: 8px; }
body #nav-root #cart .cart-summary-financial-details hr { margin: 0 0 6px; background: rgba(80,76,74,.42); }
body #nav-root #cart .cart-summary-financial-details p { margin: 0; color: #203543; font-size: 14px; font-weight: 400; line-height: 20px; }
body #nav-root #cart .cart-summary-financial-details .netto, body #nav-root #cart .cart-summary-financial-details .netto span { color: #203543; }
body #nav-root #cart .cart-summary-financial-details .thin,
body #nav-root #cart .cart-summary-financial-details .netto .thin { color: #647682; font-weight: 400; }
body #nav-root #cart .cart-summary-dock { gap: 13px; padding: 0; background: transparent; }
body #nav-root #cart .cart-summary-toggle { min-height: 32px; padding: 0 0 9px; border: 0; border-bottom: 1px solid rgba(80,76,74,.2); color: #203543; background: transparent; font: 400 13px/20px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; text-align: left; }
body #nav-root #cart .cart-summary-toggle::after { color: #203543; font-size: 18px; font-weight: 400; }
body #nav-root #cart .checkout-info { padding: 0; background: transparent; }
body #nav-root #cart .cart-summary-total-row { margin: 0; color: #203543; font-size: 17px; line-height: 24px; }
body #nav-root #cart .cart-summary-total-row .thin { font-weight: 400; }
body #nav-root #cart .cart-summary-total-row .bold { font-weight: 700; }
body #nav-root #cart .cart-summary-dock > label { gap: 7px; margin: 0; color: #203543; }
body #nav-root #cart .cart-summary-dock > label > p { margin: 0; color: #203543; font: 700 14px/20px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
body #nav-root #cart .cart-summary-dock > label > select { width: 100%; min-height: 44px; margin: 0; padding: 0 42px 0 13px; border: 1px solid rgba(80,76,74,.2); border-radius: 0; color: #203543; background-color: rgba(255,255,255,.72); box-shadow: none; font: 400 15px/20px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
body #nav-root #cart .main-input { border: 1px solid rgba(80,76,74,.2); border-radius: 0; color: #203543; background-color: rgba(255,255,255,.72); box-shadow: none; font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
body #nav-root #cart .cart-voucher-block .main-input { min-height: 44px; padding: 10px 13px; font-size: 15px; line-height: 20px; }
body #nav-root #cart .main-input::placeholder { color: #80929e; }
body #nav-root #cart .cart-voucher-apply { font-weight: 700; cursor: pointer; }
body #nav-root #cart .cart-voucher-apply:enabled:hover { border-color: #087ab7; background-color: #edf4f8; transform: none; }
body #nav-root #cart .main-input:not([readonly]):focus { border-color: #087ab7; outline: 2px solid #087ab7; outline-offset: -2px; box-shadow: none; }
body #nav-root #cart .main-input:disabled,
body #nav-root #cart .main-input[readonly] { border-color: rgba(80,76,74,.2); color: #647682; background-color: #f4f8fb; cursor: default; }
body #nav-root #cart .main-input:user-invalid,
body #nav-root #cart .main-input:user-invalid:focus { border-color: #b34e48; color: #7b2424; background-color: #fff1f1; outline-color: #b34e48; }
body #nav-root #cart .cart-summary-dock > .button-100 { display: flex; width: 100%; min-height: 46px; margin: 0; padding: 10px 18px; align-items: center; justify-content: center; border: 0; border-radius: 0; color: #fff; background: #58a9d5; box-shadow: none; font: 700 15px/20px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; text-decoration: none; transition: background-color 240ms ease; }
body #nav-root #cart .cart-summary-dock > .button-100:hover { color: #fff; background: #8cc5e5; transform: none; }
body #nav-root #cart .cart-summary-dock > .button-100:focus-visible { outline: 2px solid #087ab7; outline-offset: 3px; }

body :where(.sihl-shell, .app-dialog) :where(button:not(:disabled), a[href], [role="button"]:not([aria-disabled="true"]), summary),
body :where(.sihl-shell, .app-dialog) :where(button:not(:disabled), a[href], [role="button"]:not([aria-disabled="true"]), summary) * { cursor: pointer; }


.sihl-footer { background-color: #203543; color: #fff; }
.sihl-footer a { color: #fff; letter-spacing: .02em; text-decoration: none; }
.sihl-footer__inner { padding-top: 45px; padding-bottom: 50px; font: 700 15px/18px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
.sihl-footer__contact { width: 24.9975%; float: left; }
.sihl-footer__contact p { margin: 0; padding-top: 20px; color: #fff; }
.sihl-footer__contact p:first-child { padding-top: 0; }
.sihl-footer__socials { width: 49.995%; float: left; margin: 0; padding: 0 0 20px; list-style: none; }
.sihl-footer__socials li { display: inline-block; padding-left: 5px; transition: opacity 250ms ease-in-out; }
.sihl-footer__socials li:first-child { padding-left: 0; }
.sihl-footer__socials li:hover { opacity: .4; }
.sihl-social-icon { width: 38px; height: 38px; display: inline-block; vertical-align: middle; text-indent: -9999px; position: relative; }
.sihl-social-icon::before { content: ""; position: absolute; top: 50%; left: 50%; width: 38px; height: 38px; margin: -19px 0 0 -19px; background: url("/images/icons/legacy-sprite.png") no-repeat; background-size: 388px auto; }
.sihl-social-icon--facebook::before { background-position: -205px 0; }
.sihl-social-icon--instagram::before { background-position: -286px 0; }
.sihl-footer__logo { width: 24.9975%; float: left; margin-top: 48px; text-align: right; }
.sihl-footer__logo img { width: 103px; height: 96px; }
.sihl-footer__legal { padding: 12px 0; background-color: #182e3c; }
.sihl-footer__legal-list { margin: 0; padding: 0; list-style: none; }
.sihl-footer__legal-item { display: inline-block; padding-left: 25px; }
.sihl-footer__legal-item:first-child { padding-left: 0; }
.sihl-footer__legal strong { padding-right: 20px; color: #fff; font: 700 14px/18px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
.sihl-footer__legal a { padding-bottom: 5px; font: 400 15px/18px "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }
.sihl-footer__legal a:hover { border-bottom: 2px solid #fff; }

@media only screen and (max-width: 900px) {
  .sihl-header__navigation { display: none; }
  .sihl-logo--desktop { width: 49.995%; flex-basis: 49.995%; }
  .sihl-menu-button { display: block; }
  .sihl-footer__contact { width: 33.33%; }
  .sihl-footer__socials { width: 66.66%; text-align: right; }
  .sihl-footer__logo { display: none; }
}

@media only screen and (max-width: 600px) {
  .sihl-logo--desktop { display: none; }
  .sihl-logo--mobile { display: block; width: 74.9925%; flex: 0 0 74.9925%; }
  .sihl-shell { --sihl-contact-height: 651px; }
  .sihl-contact { background-color: #f4f8fb; }
  .sihl-contact > .sihl-container { height: 371px; }
  .sihl-contact__information { width: 99.99%; background-color: #fff; }
  .sihl-contact .sihl-contact__close { position: absolute; top: 0; right: 0; }
  .sihl-contact__map { top: 371px; height: 280px; }
  .sihl-contact__map-zoom { top: 12px; }
  .sihl-site:not(:has(#page > :is(.sihl-landing, .sihl-sport-page))) .sihl-header { min-height: 76px; }
  body #nav-root #cart .cart-header { padding: 22px 20px 18px; }
  body #nav-root #cart #cart-close { top: 16px; right: 16px; width: 44px; min-width: 44px; max-width: 44px; height: 44px; min-height: 44px; max-height: 44px; }
  body #nav-root #cart .cart-item-wrapper { padding: 18px 20px; }
  body #nav-root #cart .cart-pay-wrapper { padding: 18px 20px max(20px, env(safe-area-inset-bottom)); }
  body #nav-root #cart.summary-details-open .cart-pay-wrapper { max-height: min(68dvh, calc(100dvh - 150px)); }
  .sihl-footer__contact, .sihl-footer__socials { width: 99.99%; float: left; clear: both; }
  .sihl-footer__socials { margin-top: 30px; text-align: left; }
  .sihl-footer__legal-item { display: block; padding-left: 0; margin-top: 8px; }
}

/* Checkout review and completion share the cart's warm neutral palette. */
@media (max-width: 360px) {
  body #nav-root #cart .cart-grid { grid-template-columns: 28px minmax(0, 1fr); grid-template-areas: "sihl-cart-icon sihl-cart-heading" ". sihl-cart-price"; row-gap: 4px; }
  body #nav-root #cart .cart-icon { align-self: start; margin-top: 5px; }
}
body #nav-root #cart.is-reviewing [data-cart-checkout] { display: none; }
body #nav-root #cart.is-reviewing .cart-summary-extras,
body #nav-root #cart.is-reviewing .cart-summary-dock > :is(.checkout-info, label, .cart-summary-toggle) { display: none; }
body #nav-root #cart .cart-review[hidden] { display: none; }
body #nav-root #cart .cart-review { padding: 18px; border: 1px solid #58a9d5; background: #f4f8fb; color: #203543; }
body #nav-root #cart .cart-review h3 { margin: 0 0 8px; font: 700 22px/26px Arial, Helvetica, Arial, sans-serif; }
body #nav-root #cart .cart-review p { margin: 0; color: #647682; font: 400 14px/20px "Lato", Helvetica, Arial, sans-serif; }
body #nav-root #cart .cart-review dl { display: grid; gap: 8px; margin: 18px 0; }
body #nav-root #cart .cart-review dl > div { display: flex; gap: 12px; justify-content: space-between; font: 400 14px/20px "Lato", Helvetica, Arial, sans-serif; }
body #nav-root #cart .cart-review dt { color: #647682; }
body #nav-root #cart .cart-review dd { margin: 0; font-weight: 700; text-align: right; }
body #nav-root #cart .cart-review button { width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 0; box-shadow: none; font: 700 14px/20px "Lato", Helvetica, Arial, sans-serif; cursor: pointer; }
body #nav-root #cart .cart-review__confirm { color: #fff; background: #203543; }
body #nav-root #cart .cart-review__confirm:hover { background: #69635e; }
body #nav-root #cart .cart-review__back { margin-top: 6px; color: #203543; background: transparent; }
body #nav-root #cart .cart-review__back:hover { background: #edf4f8; }
body #nav-root #cart .cart-review button:focus-visible { outline: 2px solid #087ab7; outline-offset: -2px; }
body #nav-root #cart .cart-review button:disabled { opacity: .55; cursor: default; }
body.sihl-booking-confirmed { overflow: hidden; }
body.sihl-booking-confirmed #nav-root #cart { visibility: hidden; transition: none; }
body .sihl-confirmation { box-sizing: border-box; width: min(520px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 36px; overflow-y: auto; border: 1px solid rgba(80,76,74,.15); border-radius: 0; background: #f4f8fb; color: #203543; box-shadow: 0 24px 80px rgba(24,46,60,.22); font: 400 15px/22px "Lato", Helvetica, Arial, sans-serif; }
body .sihl-confirmation::backdrop { background: rgba(24,46,60,.38); backdrop-filter: blur(4px); }
body .sihl-confirmation__mark { display: grid; width: 52px; height: 52px; margin-bottom: 22px; place-items: center; border: 1px solid #58a9d5; border-radius: 50%; background: #edf4f8; color: #086da2; }
body .sihl-confirmation__mark svg { width: 32px; height: 32px; }
body .sihl-confirmation h2 { margin: 0 0 10px; font: 700 30px/34px Arial, Helvetica, Arial, sans-serif; color: #203543; }
body .sihl-confirmation p { margin: 0; color: #647682; font: inherit; }
body .sihl-confirmation__summary { display: grid; gap: 10px; margin: 24px 0; padding: 18px 0; border-block: 1px solid rgba(80,76,74,.18); }
body .sihl-confirmation__summary > div { display: flex; justify-content: space-between; gap: 16px; }
body .sihl-confirmation dt { color: #647682; }
body .sihl-confirmation dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; text-align: right; }
body .sihl-confirmation__details { margin-bottom: 24px; }
body .sihl-confirmation__details summary { cursor: pointer; font-weight: 700; }
body .sihl-confirmation__details ul { display: grid; gap: 14px; max-height: 220px; margin: 14px 0 0; padding: 0; overflow-y: auto; list-style: none; }
body .sihl-confirmation__details li { display: grid; gap: 3px; }
body .sihl-confirmation__details strong { font-weight: 700; }
body .sihl-confirmation__details span { color: #647682; font-size: 14px; line-height: 20px; }
body .sihl-confirmation__return { width: 100%; min-height: 48px; padding: 12px 16px; border: 0; border-radius: 0; background: #203543; color: #fff; font: 700 15px/22px "Lato", Helvetica, Arial, sans-serif; cursor: pointer; }
body .sihl-confirmation__return:hover { background: #69635e; }
body .sihl-confirmation__return:disabled { opacity: .65; cursor: default; }
body .sihl-confirmation :is(button, summary):focus-visible { outline: 2px solid #087ab7; outline-offset: 3px; }
body .sihl-confirmation .sihl-confirmation__error { margin: 0 0 18px; color: #8e5b58; }
body #nav-root #cart .cart-review__confirm.is-loading:disabled,
body .sihl-confirmation__return.is-loading { position: relative; isolation: isolate; overflow: hidden; opacity: 1; cursor: default; }
body #nav-root #cart .cart-review__confirm.is-loading::before,
body .sihl-confirmation__return.is-loading::before { content: ""; position: absolute; z-index: -1; inset: 0; background: rgba(201,183,127,.4); transform-origin: left; animation: sihl-button-fill 2s ease-in-out infinite; pointer-events: none; }
@keyframes sihl-button-fill {
  0% { transform: scaleX(0); opacity: 1; }
  75% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body #nav-root #cart .cart-review__confirm.is-loading::before,
  body .sihl-confirmation__return.is-loading::before { animation: none; transform: scaleX(1); opacity: .5; }
}
@media (max-width: 600px) {
  body .sihl-confirmation { padding: 26px 22px; }
  body .sihl-confirmation h2 { font-size: 27px; line-height: 32px; }
}
