@charset "UTF-8";
/** 
* Strip units from a string
*
* @param - With or without unit
* @return - The value without unit
*/
/**
 * Calculate rem value based on base html font size
 *
 * @param {String} $pxValue - The value in pixels (with or without 'px' suffix)
 * @return {String} The calculated rem value
 */
/**
* Convert px to vw : https://vw.joealden.com/
*
* @param {Number} $target 
* @param {Number} $screenwidth 
* @return {Number} - The calculated vw value
*/
/**
* Urlencode color. Convert # to %23
*
* @param {String} $string - Hex value 
* @return {Number} - The converted hexvalue e.g. %23ffffff
*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

:root {
  --primary-color: #002839;
  --secondary-color: #B49860;
  --tertiary-color: #B49860;
  --primary-color-rgb: 0, 40, 57;
  --secondary-color-rgb: 180, 152, 96;
  --tertiary-color-rgb: 180, 152, 96;
  --body-color: #f0f0f0;
  --green-color: #36bf59;
  --green-color-rgb: 54, 191, 89;
  --border-radius-small: 1.6666666667rem;
  --border-radius-large: 0.2777777778rem;
}

* {
  text-rendering: geometricPrecision;
}

html {
  font-size: 112.5%;
}

html:not(.bookingpage) {
  scroll-behavior: smooth;
  scroll-snap-type: y proximity;
  scroll-padding-top: 120px;
}

body {
  font-family: halyard-display, Helvetica, sans-serif;
  font-size: clamp(0.8888888889rem, 1.0044642857vw, 1rem);
  color: #000;
  background-color: #f0f0f0;
  transition: padding-top 0.3s ease-out;
}

#page {
  overflow-x: clip;
}

main {
  position: relative;
  z-index: 8;
  padding-top: var(--header-height);
}

main + footer {
  position: relative;
  z-index: 16;
}

main > * {
  z-index: 8;
}

a:not([class]) {
  text-underline-offset: 0.15em;
  transition: text-underline-offset 200ms;
}
a:not([class]):hover {
  text-underline-offset: 0.06em;
}

h1, h2, h3, h4, h5, h6 {
  font-size: clamp(1.3888888889rem, 2.5111607143vw, 2.5rem);
}

h1, h2, h3, h4, h5, h6, .f-s--large, .f-s--xlarge {
  font-family: halyard-display, Helvetica, sans-serif;
  font-weight: 700;
  -webkit-hyphens: auto;
          hyphens: auto;
  hyphenate-limit-chars: 6 3 2;
}

strong {
  font-weight: 600;
}

ul.no-bullets {
  list-style: none;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

ul.inline-list {
  display: inline-flex;
  gap: 1.1111111111rem;
  -webkit-margin-start: 1.1111111111rem;
          margin-inline-start: 1.1111111111rem;
  padding-block: 1rem;
}
@media (max-width: 450px) {
  ul.inline-list {
    flex-direction: column;
  }
}

.text li:not(:last-child) {
  -webkit-margin-after: 0.8333333333rem;
          margin-block-end: 0.8333333333rem;
}

.lead, .subheader {
  font-size: clamp(1rem, 1.1160714286vw, 1.1111111111rem);
  font-weight: 600;
}

.text p:not(.lead) + .lead,
.text p:not(.subheader) + .subheader {
  -webkit-margin-before: 2.1111111111rem;
          margin-block-start: 2.1111111111rem;
}

.f-s--large {
  font-size: clamp(1.8333333333rem, 5.078125vw, 5.0555555556rem);
}

.f-s--xlarge {
  font-size: clamp(1.8333333333rem, 6.6964285714vw, 6.6666666667rem);
}

.f-s--large,
.f-s--xlarge {
  -webkit-hyphens: manual;
          hyphens: manual;
  line-height: 0.9;
  margin-bottom: 0.3em;
}

p.f-s--large, p.f-s--xlarge {
  line-height: 1.1;
}

.t-c--pink {
  color: #ff00dd;
}

.t-c--primary {
  color: var(--primary-color);
}

.t-c--secondary {
  color: var(--secondary-color);
}

.t-c--white {
  color: #fff;
}

.text-center {
  text-align: center;
}

.text-shadow {
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.29);
}

.text + .actions {
  -webkit-margin-before: 1.6666666667rem;
          margin-block-start: 1.6666666667rem;
}

mark {
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}

span.mark {
  background-color: var(--primary-color);
  color: #fff;
  -webkit-padding-start: 1ch;
          padding-inline-start: 1ch;
  font-family: halyard-display, Helvetica, sans-serif;
  font-weight: 700;
  font-size: clamp(0.8333333333rem, 1.6741071429vw, 1.6666666667rem);
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  text-decoration: none;
  background-image: linear-gradient(to right, var(--primary-color) 0, var(--primary-color) 100%);
  background-position: 0;
  background-size: 100% 90%;
  background-repeat: no-repeat;
  position: relative;
}
span.mark:last-of-type {
  -webkit-padding-end: 1ch;
          padding-inline-end: 1ch;
}
span.mark:first-child ~ span.mark::before {
  content: "\a";
  white-space: pre;
}
.primary-sheet .textblock span.mark {
  color: #000;
  background-image: linear-gradient(to right, #fff 0, #fff 100%);
  background-size: 100%;
}

.vh100 {
  height: calc(var(--vh, 1vh) * 100);
}

.vh90 {
  height: calc(var(--vh, 1vh) * 90);
}

.vh80 {
  height: calc(var(--vh, 1vh) * 80);
}

.vh70 {
  height: calc(var(--vh, 1vh) * 70);
}

.vh60 {
  height: calc(var(--vh, 1vh) * 60);
}

.vh50 {
  height: calc(var(--vh, 1vh) * 50);
}

.vh40 {
  height: calc(var(--vh, 1vh) * 40);
}

.vh30 {
  height: calc(var(--vh, 1vh) * 30);
}

.vh20 {
  height: calc(var(--vh, 1vh) * 20);
}

.vh10 {
  height: calc(var(--vh, 1vh) * 10);
}

.vmh100 {
  min-height: calc(var(--vh, 1vh) * 100);
}

.vmh90 {
  min-height: calc(var(--vh, 1vh) * 90);
}

.vmh80 {
  min-height: calc(var(--vh, 1vh) * 80);
}

.vmh70 {
  min-height: calc(var(--vh, 1vh) * 70);
}

.vmh60 {
  min-height: calc(var(--vh, 1vh) * 60);
}

.vmh50 {
  min-height: calc(var(--vh, 1vh) * 50);
}

.vmh40 {
  min-height: calc(var(--vh, 1vh) * 40);
}

.vmh30 {
  min-height: calc(var(--vh, 1vh) * 30);
}

.vmh20 {
  min-height: calc(var(--vh, 1vh) * 20);
}

.vmh10 {
  min-height: calc(var(--vh, 1vh) * 10);
}

/*
	Improved screen reader only CSS class
	@author Gaël Poupard
    https://gist.github.com/ffoodd/000b59f431e3e64e4ce1a24d5bb36034
*/
.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.sr-only-focusable:focus,
.sr-only-focusable:active {
  clip: auto !important;
  -webkit-clip-path: none !important;
          clip-path: none !important;
  height: auto !important;
  margin: auto !important;
  overflow: visible !important;
  width: auto !important;
  white-space: normal !important;
}

.primary-sheet {
  background-color: #002839;
  color: #fff;
}

.secondary-sheet {
  background-color: #B49860;
  color: #fff;
}

.tertiary-sheet {
  background-color: #B49860;
  color: #fff;
}

.light-sheet {
  background-color: #fff;
  color: #000;
}

section:not([class*=-sheet]) + section:not([class*=-sheet]) [data-size],
[class*=primary-sheet] + [class*=primary-sheet] [data-size],
[class*=light-sheet] + [class*=light-sheet] [data-size] {
  -webkit-padding-before: 0;
          padding-block-start: 0;
}

main > section.light-sheet:last-of-type:last-child [data-size], main > section.primary-sheet:last-of-type:last-child [data-size] {
  -webkit-margin-after: 3.3333333333rem;
          margin-block-end: 3.3333333333rem;
}

@media (min-width: 800px) {
  .has-sticker {
    position: relative;
  }
  .has-sticker::after {
    content: "";
    inline-size: var(--sticker-inline-size, 220px);
    aspect-ratio: 1;
    display: block;
    background-image: var(--sticker-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    inset: 0 auto auto 0;
    rotate: 10deg;
    z-index: 1;
    transform: translate(var(--sticker-offset-x, 0), var(--sticker-offset-y, 0));
  }
  .has-sticker.top-left::after {
    --sticker-offset-x: 25%;
    --sticker-offset-y: -50%;
    inset: 0 auto auto 0;
    rotate: -10deg;
  }
  .has-sticker.top-center::after {
    --sticker-offset-x: -25%;
    --sticker-offset-y: -50%;
    inset: 0 auto auto 50%;
  }
  .has-sticker.top-right::after {
    --sticker-offset-x: -25%;
    --sticker-offset-y: -50%;
    inset: 0 0 auto auto;
  }
  .has-sticker.mid-right::after {
    --sticker-offset-x: 25%;
    --sticker-offset-y: -50%;
    inset: 50% 0 auto auto;
  }
  .has-sticker.bottom-right::after {
    --sticker-offset-x: -25%;
    --sticker-offset-y: 40%;
    inset: auto 0 0 auto;
  }
  .has-sticker.bottom-center::after {
    --sticker-offset-x: -25%;
    --sticker-offset-y: 40%;
    inset: auto auto 0 50%;
  }
  .has-sticker.bottom-left::after {
    --sticker-offset-x: 25%;
    --sticker-offset-y: 40%;
    inset: auto auto 0 0;
    rotate: -10deg;
  }
  .has-sticker.mid-left::after {
    --sticker-offset-x: -25%;
    --sticker-offset-y: -50%;
    inset: 50% auto auto 0;
    rotate: -10deg;
  }
  .has-sticker.mid-center::after {
    --sticker-offset-x: -50%;
    --sticker-offset-y: -50%;
    inset: 50% auto auto 50%;
  }
  .has-sticker[style*="Web-01.svg"] {
    --sticker-inline-size: 220px;
  }
  .has-sticker[style*="Web-02.svg"] {
    --sticker-inline-size: 240px;
  }
  .has-sticker[style*="Web-03.svg"] {
    --sticker-inline-size: 290px;
  }
  .has-sticker[style*="Web-04.svg"] {
    --sticker-inline-size: 250px;
  }
  .has-sticker[style*="Web-05.svg"] {
    --sticker-inline-size: 260px;
  }
  .has-sticker[style*="Web-06.svg"] {
    --sticker-inline-size: 220px;
  }
  .has-sticker.card:is(.top-left, .top-center, .top-right)::after {
    --sticker-offset-y: -40px;
  }
  .has-sticker.card:is(.top-right, .mid-right, .bottom-right)::after {
    --sticker-offset-x: -20px;
  }
}
/**
 * Swiper 9.3.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 15, 2023
 */
/* FONT_START */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

.swiper,
swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide,
swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
          margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  /*ADD_HOST*/
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  -ms-touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */
.swiper .swiper-notification,
swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev,
.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

:root {
  --swiper-theme-color: $color_primary;
}

[data-has-bar-visible=true] .mm-menu {
  padding-top: calc(var(--notificationBarHeight) + 20px);
}

.mm-menu {
  display: none;
  padding-top: 10px;
  background-color: var(--primary-color);
  transition: padding-top 0.3s ease-out;
}
.mm-menu.mm-menu--opened {
  display: inherit;
}

:root {
  --mm-listitem-size: 55px;
  --mm-size: 100%;
}

.mm-menu--theme-light {
  --mm-color-background: var(--primary-color);
  --mm-color-border: transparent;
  --mm-color-icon: #fff;
  --mm-color-text: #fff;
  --mm-color-text-dimmed: #fff;
  --mm-color-background-emphasis: transparent;
  --mm-color-focusring: transparent;
}

.mm-wrapper--position-left #page.mm-slideout,
.mm-wrapper--position-right #page.mm-slideout {
  transform: none;
}
.mm-wrapper--position-left.mm-wrapper--opened #page.mm-slideout,
.mm-wrapper--position-right.mm-wrapper--opened #page.mm-slideout {
  transform: translateX(var(--mm-translate-horizontal));
}

.mm-panels {
  margin-top: 30px;
  height: calc(100% - 120px - var(--mm-navbar-size) * 2);
}

.mm-navbar > .mm-navbar__title {
  justify-content: flex-start;
}
.mm-navbar [href^="tel:"] {
  font-weight: 700;
  font-size: clamp(0.8888888889rem, 1.0602678571vw, 1.0555555556rem);
}

.mm-navbars--top .mm-navbar nav {
  justify-content: space-evenly;
  gap: 1.1111111111rem;
}
.mm-navbars--top .mm-navbar nav .button-and-search {
  display: inline-flex;
  align-items: center;
  gap: 0.5555555556rem;
}
.mm-navbars--top .mm-navbar nav .search-button {
  width: 18px;
  height: 18px;
  display: inline-flex;
}
.mm-navbars--top .mm-navbar nav .search-button svg {
  width: 100%;
  height: 100%;
}
.mm-navbars--top .mm-navbar nav .icon.globe {
  width: 25px;
  height: 25px;
}
.mm-navbars--top .mm-navbar nav .linkbutton {
  font-size: 0.8888888889rem;
  padding-top: 0px;
  padding-right: 0.8333333333rem;
  padding-bottom: 0.1111111111rem;
  padding-left: 0.8333333333rem;
}
.mm-navbars--top .mm-navbar nav .linkbutton span.book-tex span {
  display: none;
}
.mm-navbars--top .mm-navbar nav .close-button {
  cursor: pointer;
  font-family: "Times New Roman", Times, serif;
  font-size: 2.5rem;
}

#mm-1 .mm-navbar__title {
  padding-left: 40px;
}
#mm-1 .mm-navbar__title a:hover {
  color: #f0f0f0;
}

.mm-listitem .mm-listitem__text {
  font-family: halyard-display, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  padding-left: 40px;
  padding-right: 40px;
}
.mm-listitem .mm-listitem__text span.with-icon {
  -webkit-margin-end: 1.1111111111rem;
          margin-inline-end: 1.1111111111rem;
}
.mm-listitem .mm-listitem__text.is-active, .mm-listitem .mm-listitem__text:hover {
  color: #f0f0f0;
}

.mm-listitem__btn,
.mm-listitem__text {
  padding: calc((var(--mm-listitem-size) - var(--mm-lineheight)) / 2) 0;
}

.mm-btn--next:after {
  inset-inline-end: 40px;
}
.mm-btn--next:after, .mm-btn--prev:before {
  width: 13px;
  height: 13px;
}

[data-mm-parent] .mm-navbar .mm-btn--next:after, [data-mm-parent] .mm-navbar .mm-btn--prev:before {
  width: 10px;
  height: 10px;
}

.mm-navbars--bottom .mm-navbar {
  padding: 0 20px;
}
.mm-navbars--bottom .mm-navbar nav {
  flex-direction: column;
  gap: 20px;
}
.mm-navbars--bottom .mm-navbar nav .iconsrow {
  flex-direction: row-reverse;
  width: 100%;
  align-content: space-between;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding-top: 20px;
  padding-bottom: 20px;
}
.mm-navbars--bottom .mm-navbar nav .iconsrow + div {
  display: flex;
  width: 100%;
  gap: 20px;
  justify-content: left;
}
.mm-navbars--bottom .mm-navbar nav .icontext span {
  font-size: 13px;
}
.mm-navbars--bottom .mm-navbar nav .icontext .with-icon {
  width: 20px;
  height: 20px;
}
.mm-navbars--bottom .mm-navbar nav .icontext .with-icon svg {
  min-width: 20px;
  min-height: 20px;
}

#mm-lang-changer .is-active {
  opacity: 0.5;
  cursor: default;
}
#mm-lang-changer span.with-icon + span {
  display: none;
}

.mm-wrapper--opened .booking-bar {
  display: none;
}

div[class*=cookieconsent] {
  background-color: rgba(var(--primary-color-rgb), 0.6);
  color: #fff;
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1.6666666667rem;
  line-height: 1.5em;
}
div[class*=cookieconsent][style*=block] {
  display: flex !important;
}

.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  box-sizing: border-box;
  touch-action: manipulation;
  background: #fff;
  box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
}

.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}

.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}

.flatpickr-calendar.animate.open {
  animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}

.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}

.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  box-shadow: none !important;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}

.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}

.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}

.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  left: 22px;
}

.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}

.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}

.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}

.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}

.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}

.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}

.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}

.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}

.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}

.flatpickr-calendar:focus {
  outline: 0;
}

.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}

.flatpickr-months {
  display: flex;
}

.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  overflow: hidden;
  flex: 1;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}

.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  left: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */
}

/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  right: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */
}

/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}

.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  transition: fill 0.1s;
  fill: inherit;
}

.numInputWrapper {
  position: relative;
  height: auto;
}

.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}

.numInputWrapper input {
  width: 100%;
}

.numInputWrapper input::-ms-clear {
  display: none;
}

.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57, 57, 57, 0.15);
  box-sizing: border-box;
}

.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1);
}

.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2);
}

.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}

.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}

.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57, 57, 57, 0.6);
  top: 26%;
}

.numInputWrapper span.arrowDown {
  top: 50%;
}

.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57, 57, 57, 0.6);
  top: 40%;
}

.numInputWrapper span svg {
  width: inherit;
  height: auto;
}

.numInputWrapper span svg path {
  fill: rgba(0, 0, 0, 0.5);
}

.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05);
}

.numInputWrapper:hover span {
  opacity: 1;
}

.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  transform: translate3d(0px, 0px, 0px);
}

.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}

.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0 ;
  display: inline-block;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0, 0, 0, 0.9);
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0, 0, 0, 0.9);
}

.flatpickr-current-month input.cur-year {
  background: transparent;
  box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}

.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0, 0, 0, 0.5);
  background: transparent;
  pointer-events: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}

.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: flex;
  align-items: center;
  height: 28px;
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: flex;
  flex: 1;
}

span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0, 0, 0, 0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  flex: 1;
  font-weight: bolder;
}

.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}

.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  width: 307.875px;
}

.flatpickr-days:focus {
  outline: 0;
}

.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  box-sizing: border-box;
  display: inline-block;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  justify-content: space-around;
  transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}

.dayContainer + .dayContainer {
  box-shadow: -1px 0 0 #e6e6e6;
}

.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  justify-content: center;
  text-align: center;
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}

.flatpickr-day.today {
  border-color: #959ea9;
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}

.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}

.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  box-shadow: -10px 0 0 #569ff7;
}

.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}

.flatpickr-day.inRange {
  border-radius: 0;
  box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57, 57, 57, 0.1);
}

.flatpickr-day.week.selected {
  border-radius: 0;
  box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}

.flatpickr-day.hidden {
  visibility: hidden;
}

.rangeMode .flatpickr-day {
  margin-top: 1px;
}

.flatpickr-weekwrapper {
  float: left;
}

.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  box-shadow: 1px 0 0 #e6e6e6;
}

.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}

.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  cursor: default;
  border: none;
}

.flatpickr-innerContainer {
  display: block;
  display: flex;
  box-sizing: border-box;
  overflow: hidden;
}

.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  box-sizing: border-box;
}

.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
}

.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}

.flatpickr-time .numInputWrapper {
  flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}

.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}

.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}

.flatpickr-time input {
  background: transparent;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}

.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}

.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  align-self: center;
}

.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}

.flatpickr-input[readonly] {
  cursor: pointer;
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  box-sizing: border-box;
  touch-action: manipulation;
  box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08);
}

.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}

.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}

.flatpickr-calendar.animate.open {
  animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}

.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}

.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  box-shadow: none !important;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  box-shadow: -2px 0 0 var(--body-color), 5px 0 0 var(--body-color);
}

.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}

.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid rgba(72, 72, 72, 0.2);
}

.flatpickr-calendar.hasTime .flatpickr-innerContainer {
  border-bottom: 0;
}

.flatpickr-calendar.hasTime .flatpickr-time {
  border: 1px solid rgba(72, 72, 72, 0.2);
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}

.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  left: 22px;
}

.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}

.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}

.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}

.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}

.flatpickr-calendar.arrowTop:before {
  border-bottom-color: rgba(72, 72, 72, 0.2);
}

.flatpickr-calendar.arrowTop:after {
  border-bottom-color: var(--body-color);
}

.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}

.flatpickr-calendar.arrowBottom:before {
  border-top-color: rgba(72, 72, 72, 0.2);
}

.flatpickr-calendar.arrowBottom:after {
  border-top-color: var(--body-color);
}

.flatpickr-calendar:focus {
  outline: 0;
}

.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}

.flatpickr-months {
  display: flex;
}

.flatpickr-months .flatpickr-month {
  border-radius: 5px 5px 0 0;
  background: var(--body-color);
  color: #000; /*var(--primary-color); /*#fff;*/
  fill: #fff;
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  overflow: hidden;
  flex: 1;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: #fff;
  fill: #fff;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}

.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  left: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */
}

/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  right: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */
}

/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #bbb;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}

.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  transition: fill 0.1s;
  fill: inherit;
}

.numInputWrapper {
  position: relative;
  height: auto;
}

.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}

.numInputWrapper input {
  width: 100%;
}

.numInputWrapper input::-ms-clear {
  display: none;
}

.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(72, 72, 72, 0.15);
  box-sizing: border-box;
}

.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1);
}

.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2);
}

.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}

.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}

.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(72, 72, 72, 0.6);
  top: 26%;
}

.numInputWrapper span.arrowDown {
  top: 50%;
}

.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(72, 72, 72, 0.6);
  top: 40%;
}

.numInputWrapper span svg {
  width: inherit;
  height: auto;
}

.numInputWrapper span svg path {
  fill: rgba(255, 255, 255, 0.5);
}

.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05);
}

.numInputWrapper:hover span {
  opacity: 1;
}

.flatpickr-current-month {
  font-size: 120%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  transform: translate3d(0px, 0px, 0px);
}

.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}

.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0 ;
  display: inline-block;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: #fff;
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: #fff;
}

.flatpickr-current-month input.cur-year {
  background: transparent;
  box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}

.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(255, 255, 255, 0.5);
  background: transparent;
  pointer-events: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: var(--body-color);
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: var(--body-color);
  outline: none;
  padding: 0;
}

.flatpickr-weekdays {
  background: var(--body-color);
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: flex;
  align-items: center;
  height: 28px;
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: flex;
  flex: 1;
}

span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: var(--body-color);
  color: #000; /*var(--primary-color); rgba(0,0,0,0.54);*/
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  flex: 1;
  font-weight: bolder;
}

.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}

.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  width: 307.875px;
  border-left: 1px solid rgba(72, 72, 72, 0.2);
  border-right: 1px solid rgba(72, 72, 72, 0.2);
}

.flatpickr-days:focus {
  outline: 0;
}

.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  box-sizing: border-box;
  display: inline-block;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  justify-content: space-around;
  transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}

.dayContainer + .dayContainer {
  box-shadow: -1px 0 0 rgba(72, 72, 72, 0.2);
}

.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  box-sizing: border-box;
  color: #484848;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  justify-content: center;
  text-align: center;
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: var(--body-color);
  border-color: var(--body-color);
}

.flatpickr-day.today {
  border-color: #bbb;
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #bbb;
  background: #bbb;
  color: #fff;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #000; /* var(--primary-color); */
  box-shadow: none;
  color: #fff;
  border-color: #000; /* var(--primary-color); */
}

.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}

.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  box-shadow: -10px 0 0 var(--body-color);
}

.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}

.flatpickr-day.inRange {
  border-radius: 0;
  box-shadow: -5px 0 0 var(--body-color), 5px 0 0 var(--body-color);
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(72, 72, 72, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(72, 72, 72, 0.1);
}

.flatpickr-day.week.selected {
  border-radius: 0;
  box-shadow: -5px 0 0 var(--body-color), 5px 0 0 var(--body-color);
}

.flatpickr-day.hidden {
  visibility: hidden;
}

.rangeMode .flatpickr-day {
  margin-top: 1px;
}

.flatpickr-weekwrapper {
  float: left;
}

.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  border-left: 1px solid rgba(72, 72, 72, 0.2);
}

.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}

.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(72, 72, 72, 0.3);
  background: transparent;
  cursor: default;
  border: none;
}

.flatpickr-innerContainer {
  display: block;
  display: flex;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid rgba(72, 72, 72, 0.2);
}

.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  box-sizing: border-box;
}

.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  background: #fff;
  border-radius: 0 0 5px 5px;
}

.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}

.flatpickr-time .numInputWrapper {
  flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #484848;
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #484848;
}

.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}

.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}

.flatpickr-time input {
  background: transparent;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #484848;
  font-size: 14px;
  position: relative;
  box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}

.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}

.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #484848;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  align-self: center;
}

.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eaeaea;
}

.flatpickr-input[readonly] {
  cursor: pointer;
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.placeholder {
  box-sizing: border-box;
  background: var(--bg-color, rgba(0, 100, 200, 0.3));
  min-height: 5em;
  border: 2px dashed rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
  padding: 10px;
  text-align: center;
}
.placeholder h3 {
  margin: auto;
  font-size: 1em;
  font-weight: normal;
}
.placeholder h3::before {
  content: "[ ";
}
.placeholder h3::after {
  content: " ]";
}

.text > * + * {
  -webkit-margin-before: 1rem;
          margin-block-start: 1rem;
}
.text.contain p, .text.contain ul, .text.contain ol, .text.contain h2, .text.contain h3, .text.contain h4 {
  max-inline-size: 75ch;
}
.text.start {
  text-align: start;
}
.text.center {
  text-align: center;
}
.text.end {
  text-align: end;
}
.text blockquote {
  -webkit-padding-start: 3rem;
          padding-inline-start: 3rem;
  -webkit-border-start: 0.5em solid;
          border-inline-start: 0.5em solid;
  font-style: italic;
}

.userrating {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px;
}
.userrating > data {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2px;
}
.userrating.tripadvisor > data::before {
  content: "";
  display: block;
  inline-size: 20px;
  block-size: 1em;
  background: url(icon-tripadvisor.svg) center no-repeat;
  background-size: 100%;
  -webkit-margin-end: 6px;
          margin-inline-end: 6px;
}
.userrating .star-hollow,
.userrating .star-filled {
  display: block;
  aspect-ratio: 1;
  border-radius: 50%;
  block-size: 0.7778em;
  color: rgba(255, 255, 255, 0);
}
.userrating .star-filled {
  background: #36bf59;
}
.userrating .star-hollow {
  background: transparent;
  border: 2px solid #36bf59;
}

.ratingitem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
}
.ratingitem blockquote {
  margin: 0;
  line-height: 1.3226;
}
.ratingitem blockquote p:first-child::before {
  content: open-quote;
}
.ratingitem blockquote p:last-child::after {
  content: close-quote;
}

.marquee {
  --marquee-size: clamp(10rem, 1rem + 40vmin, 30rem);
  --marquee-gap: calc(var(--marquee-size) / 5);
  --marquee-duration: 30s;
  --marquee-scroll-start: 0;
  --marquee-scroll-end: calc(-100% - var(--marquee-gap));
}

.marquee {
  display: flex;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  gap: var(--marquee-gap);
}

.marquee-group {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: var(--marquee-gap);
  min-width: 100%;
  animation: scroll-x 20s linear infinite;
}
@media (min-width: 700px) {
  .marquee-group {
    animation: scroll-x 30s linear infinite;
  }
}
@media (min-width: 1400px) {
  .marquee-group {
    animation: scroll-x 60s linear infinite;
  }
}

@media (prefers-reduced-motion: reduce) {
  .marquee-group {
    animation-play-state: paused;
  }
}
/* Pause on hover */
.marquee:hover .marquee-group {
  animation-play-state: paused;
}

@keyframes scroll-x {
  from {
    transform: translateX(var(--marquee-scroll-start));
  }
  to {
    transform: translateX(var(--marquee-scroll-end));
  }
}
.notificationbar {
  opacity: 0;
  transition: transform 0.3s ease-out;
  width: 100%;
  padding-top: 0.8333333333rem;
  padding-bottom: 0.8333333333rem;
  background-color: var(--primary-color);
  color: #fff;
}
[data-has-bar-visible] .notificationbar {
  position: fixed;
  z-index: 60;
}
.notificationbar.top {
  top: 0;
}
.notificationbar.top.slide-in-top {
  transform: translateY(-100%);
}
.notificationbar.top.slide-in-top.animate {
  transform: translateY(0);
}
.notificationbar.top.slide-out-top {
  transform: translateY(0);
}
.notificationbar.top.slide-out-top.animate {
  transform: translateY(-100%);
}
.notificationbar.bottom {
  bottom: 0;
}
.notificationbar .closebutton {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  min-width: calc(var(--notificationBarHeight) / 2);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0;
  color: #fff;
  background-color: var(--primary-color);
  font-size: 1.5em;
  transition: background-color 0.25s ease-in;
}
@media (min-width: 35.5555555556rem) {
  .notificationbar .closebutton {
    min-width: var(--notificationBarHeight);
  }
}
.notificationbar .closebutton:hover {
  background-color: rgb(0, 4.2105263158, 6);
  cursor: pointer;
}
.notificationbar .closebutton span {
  font-weight: 400;
}
.notificationbar.fade-in {
  opacity: 1;
}

.closebutton {
  font-family: "Times New Roman", Times, serif;
}

.textwithmedia {
  --threshold: 30rem;
  --align: stretch;
  display: flex;
  align-items: var(--align);
  flex-wrap: wrap;
  gap: 3.3333333333rem;
  --align: center;
  --threshold: 38rem;
}
.textwithmedia > * {
  flex-grow: 1;
  flex-basis: calc((var(--threshold) - 100%) * 999);
}
.textwithmedia:has(.imageslider) .textcontent {
  -webkit-margin-before: 3.5555555556rem;
          margin-block-start: 3.5555555556rem;
}
.textwithmedia.topped {
  --align: flex-start;
}
.textwithmedia.flipped {
  flex-direction: row-reverse;
}
.textwithmedia .imageslider {
  max-inline-size: min(680px, 100%);
}

.linkbutton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 600;
  font-size: 0.8888888889rem;
  padding: 0.2777777778rem 1.6666666667rem;
  text-decoration: none;
  box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.15);
  border: 1px solid transparent;
  border-radius: 1.5rem;
  transition: background-color 200ms ease-in-out;
  color: #fff;
}
@media (min-width: 500px) {
  .linkbutton {
    font-size: inherit;
  }
}
@media (min-width: 500px) {
  .linkbutton {
    padding: 0.5rem 1.6666666667rem 0.5555555556rem 1.6666666667rem;
  }
}
.linkbutton.primary {
  background-color: var(--primary-color);
}
.linkbutton.primary:hover, .linkbutton.primary:focus {
  background-color: rgb(0, 71.7894736842, 102.3);
}
.linkbutton.primary.outline {
  border: 1px solid var(--primary-color);
}
.linkbutton.primary.outline:hover {
  color: #fff;
  background-color: var(--primary-color);
}
.linkbutton.secondary {
  background-color: var(--secondary-color);
}
.linkbutton.secondary:hover, .linkbutton.secondary:focus {
  background-color: #bb913d;
}
.linkbutton.secondary.outline {
  border: 1px solid var(--secondary-color);
}
.linkbutton.secondary.outline:hover {
  color: #fff;
}
.linkbutton.light, .linkbutton.white {
  background-color: #fff;
  color: #000;
}
.linkbutton.light:hover, .linkbutton.white:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.linkbutton.light.outline, .linkbutton.white.outline {
  border: 1px solid #fff;
}
.linkbutton.success {
  background-color: #36bf59;
}
.linkbutton.success:hover {
  background-color: #1DA841;
}
.linkbutton.success.outline {
  border: 1px solid #36bf59;
  color: #1DA841;
}
.linkbutton.success.outline:hover {
  color: #fff;
}
.linkbutton.outline {
  color: #000;
  background-color: transparent;
}
.linkbutton.small {
  padding: 0.2777777778rem 1.6666666667rem 0.3888888889rem;
  box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.15);
}

.linkbutton.icon, .linkbutton.icon span {
  display: inline-flex;
  align-items: center;
}
.linkbutton.icon:not(.icon-last) svg {
  margin-right: 15px;
}
.linkbutton.icon.icon-last svg {
  margin-left: 15px;
}
.linkbutton.icon.icon-last {
  flex-flow: row-reverse;
}
.linkbutton.icon.small svg.icon {
  max-width: 20px;
  max-height: 20px;
}
.linkbutton.icon svg.icon {
  max-width: 25px;
  max-height: 25px;
}

.mediablock {
  position: relative;
}
.mediablock.noscale {
  display: inline-block;
}
.mediablock:not(.noscale) picture, .mediablock:not(.noscale) img, .mediablock:not(.noscale) video {
  inline-size: 100%;
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mediablock.empty, .mediablock.deleted {
  inline-size: 100%;
  aspect-ratio: 5/3;
}
.mediablock.deleted {
  box-shadow: inset 0 0 8px 4px rgba(200, 100, 100, 0.4);
}
.mediablock.masked {
  -webkit-mask: url(mask_mediablock.svg) no-repeat;
          mask: url(mask_mediablock.svg) no-repeat;
}
.mediablock.mirror img, .mediablock.mirror video {
  transform: scaleX(-1);
}
.mediablock.veiled::before {
  content: "";
  display: block;
  background: var(--veil-color, rgba(0, 0, 0, 0.5));
  opacity: 0.7;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  z-index: 8;
}
.components .mediablock.empty, .components .mediablock.deleted {
  max-inline-size: 500px;
}

.mediablock figure {
  position: relative;
}
.mediablock figure figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding-inline: 10px;
  padding-block: 5px;
  background-color: #fff;
  border-radius: 0 10px 0 0;
}

.icontext {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: currentColor;
  transition: all 200ms ease-in-out;
}
.icontext .with-icon {
  width: 25px;
  height: 25px;
  -webkit-margin-end: 0.5555555556rem;
          margin-inline-end: 0.5555555556rem;
}
.icontext .with-icon svg {
  width: 100%;
  height: 100%;
  min-width: 25px;
  min-height: 25px;
}

a.icontext:hover {
  color: #000;
}

.iconsrow {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.iconsrow > * {
  flex-grow: 1;
  flex-shrink: 1;
}

.iconsrow.highlights > * {
  flex-grow: initial;
}
@media (max-width: 599px) {
  .iconsrow.highlights .icontext {
    font-size: 0.7222222222rem;
  }
}

.burger-menu {
  cursor: pointer;
  padding: 5px 0;
  display: inline-block;
  min-width: 30px;
}
.burger-menu .burger-menu-box {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.burger-menu .burger-menu-box::after, .burger-menu .burger-menu-box::before {
  content: "";
  border: 1px solid #002839;
  width: 100%;
}
.burger-menu .burger-menu-box .burger-menu-inner {
  border: 1px solid #002839;
  width: 100%;
  margin: 3px;
}

.lang-changer {
  cursor: pointer;
}
.lang-changer .dropdown-menu {
  display: none;
  flex-direction: column;
}
.lang-changer.active .dropdown-menu, .lang-changer:hover .dropdown-menu, .lang-changer:active .dropdown-menu, .lang-changer:focus .dropdown-menu {
  display: flex;
  transform: translateX(-20px);
}
.lang-changer .dropdown-menu {
  position: absolute;
  background: #fff;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.5555555556rem;
  border-radius: 10px;
  z-index: 60;
}
.lang-changer .dropdown-toggle {
  width: 20px;
  display: inline-block;
  height: 20px;
}
.lang-changer .dropdown-toggle svg.icon {
  width: 100%;
  height: 100%;
}
.lang-changer .dropdown-menu > * {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #002839;
  padding: 0.5555555556rem;
  border-radius: 5px;
}
.lang-changer .dropdown-menu > *:hover, .lang-changer .dropdown-menu > *.is-active {
  background-color: #f0f0f0;
}
.lang-changer .dropdown-menu > *.is-active {
  cursor: default;
}
.lang-changer .icontext .with-icon {
  width: 20px;
  height: 20px;
}
.lang-changer .icontext .with-icon svg {
  min-width: 20px;
  min-height: 20px;
}

.booking-bar {
  --bookingbar-border-radius-small: var(--border-radius-small);
  --bookingbar-border-radius-large: var(--border-radius-large);
  display: none;
  transition: opacity 300ms ease, bottom 300ms ease;
  background-color: #fff;
  box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.15);
  padding: 0.5555555556rem;
  border-radius: var(--bookingbar-border-radius-small);
  max-width: 950px;
  color: #000;
  position: relative;
  left: 50%;
  transform: translateX(calc(-50% - 20px));
  margin-left: 20px;
  margin-right: 20px;
}
@media (min-width: 700px) {
  .booking-bar {
    border-radius: var(--bookingbar-border-radius-large);
    display: block;
    opacity: 1;
  }
}
@media (min-width: 1075px) {
  body > .booking-bar {
    min-width: 950px;
  }
}
[data-layout] > .booking-bar {
  position: fixed;
  z-index: 16;
  bottom: 1.1111111111rem;
}
@media (min-width: 700px) {
  [data-layout] > .booking-bar {
    bottom: 3.3333333333rem;
  }
}

.booking-bar form {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  align-items: center;
  grid-template-areas: "arrival" "accommodation" "linkbutton";
}
.booking-bar form .arrival {
  grid-area: arrival;
}
.booking-bar form .accommodation {
  grid-area: accommodation;
}
.booking-bar form .linkbutton {
  grid-area: linkbutton;
}
@media (max-width: 699px) {
  .booking-bar form {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-areas: "arrival" "accommodation" "linkbutton linkbutton";
    gap: 10px;
  }
}
@media (min-width: 700px) {
  .booking-bar form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-template-areas: "arrival accommodation" "linkbutton linkbutton";
  }
}
@media (min-width: 940px) {
  .booking-bar form {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    grid-template-areas: "arrival accommodation linkbutton";
  }
}

.booking-bar form > div {
  position: relative;
  display: flex;
  height: 100%;
  min-height: 2.7777777778rem;
}
@media (min-width: 700px) {
  .booking-bar form > div:not(.accommodation):after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 70%;
    border-right: 1px solid var(--body-color);
  }
}

.booking-bar form {
  --bookingbar-padding: 0.5555555556rem;
}
@media (min-width: 700px) and (max-width: 940px) {
  .booking-bar form .arrival {
    padding-right: var(--bookingbar-padding);
  }
  .booking-bar form .accommodation {
    padding-left: var(--bookingbar-padding);
  }
  .booking-bar form > .linkbutton {
    margin-top: var(--bookingbar-padding);
  }
}
@media (min-width: 940px) {
  .booking-bar form .arrival {
    padding-right: calc(var(--bookingbar-padding) * 2);
  }
  .booking-bar form .accommodation {
    padding: 0 calc(var(--bookingbar-padding) * 2);
  }
}

@media (min-width: 700px) {
  .booking-bar form .arrival input.input-from {
    min-width: 23ch;
  }
}

.booking-bar form .accommodation .dropdown-menu {
  display: none;
}
.booking-bar form .accommodation:hover .dropdown-menu {
  display: block;
}

.booking-bar form .accommodation .dropdown-menu {
  --dropdown-padding: 0.5555555556rem;
  position: absolute;
  border-radius: var(--bookingbar-border-radius-small) var(--bookingbar-border-radius-small) 0 0;
  background: #fff;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: var(--dropdown-padding);
  z-index: 60;
  transform: translate(calc(var(--dropdown-padding) * -1), -100%);
  width: 100%;
  box-shadow: rgba(100, 100, 111, 0.2) 0px -16px 20px 0px;
}
@media (min-width: 700px) {
  .booking-bar form .accommodation .dropdown-menu {
    border-radius: var(--bookingbar-border-radius-large) var(--bookingbar-border-radius-large) 0 0;
  }
}
.booking-bar form .accommodation .dropdown-menu ul {
  width: 100%;
  display: flex;
  flex-direction: column;
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
.booking-bar form .accommodation .dropdown-menu ul li {
  position: relative;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding: var(--dropdown-padding) 20px;
  border-radius: var(--bookingbar-border-radius-large);
  transition: all 200ms ease-in-out;
}
.booking-bar form .accommodation .dropdown-menu ul li:hover, .booking-bar form .accommodation .dropdown-menu ul li.selected {
  background-color: var(--body-color);
  cursor: pointer;
}

.booking-bar form div.input-error {
  animation: shake 0.2s ease-in-out 0s 2;
}
.booking-bar form div.input-error span.with-icon {
  position: relative;
}
@media (max-width: 699px) {
  .booking-bar form div.input-error span.with-icon {
    position: absolute;
  }
}
.booking-bar form div.input-error span.with-icon::after {
  content: "!";
  position: absolute;
  right: -8px;
  top: 0;
  background-color: red;
  width: 18px;
  height: 18px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  color: #fff;
  justify-content: center;
  font-family: Helvetica, sans-serif;
  font-size: 0.8em;
  font-weight: 700;
  line-height: 0;
}

.booking-bar input[type=text] {
  border: none;
  background-color: transparent;
  cursor: pointer;
  flex: 1;
}
.booking-bar input[type=text]:hover, .booking-bar input[type=text]:focus, .booking-bar input[type=text]:focus-visible {
  outline: none;
}
.booking-bar input[type=text]::-moz-placeholder {
  color: #000;
}
.booking-bar input[type=text]::placeholder {
  color: #000;
}

.booking-bar form > div > div {
  display: flex;
  align-items: center;
  border-radius: var(--bookingbar-border-radius-large);
  padding: 0 var(--bookingbar-padding);
}
.booking-bar form > div > div:hover {
  background-color: var(--body-color);
  cursor: pointer;
}
@media (max-width: 699px) {
  .booking-bar form > div > div {
    width: 100%;
  }
}
@media (min-width: 700px) {
  .booking-bar form > div > div {
    min-width: 200px;
  }
}

.booking-bar span.with-icon {
  height: 25px;
  width: 25px;
  -webkit-margin-end: 0.5555555556rem;
          margin-inline-end: 0.5555555556rem;
}
@media (min-width: 500px) {
  .booking-bar span.with-icon {
    height: 30px;
    width: 30px;
    -webkit-margin-end: 1.1111111111rem;
            margin-inline-end: 1.1111111111rem;
  }
}
@media (min-width: 700px) {
  .booking-bar span.with-icon {
    height: 35px;
    width: 35px;
  }
}
.booking-bar span.with-icon svg {
  width: 100%;
  height: 100%;
}

.booking-bar form > .linkbutton {
  cursor: pointer;
}
@media (max-width: 699px) {
  .booking-bar form > .linkbutton {
    margin-left: 10px;
    margin-right: 10px;
  }
}

.booking-bar > .linkbutton {
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  display: block;
}
@media (min-width: 700px) {
  .booking-bar > .linkbutton {
    display: none;
  }
}

.booking-bar.hidden {
  opacity: 0;
  bottom: 0;
  transform: translate(calc(-50% - 20px), calc(100% - 3.3333333333rem));
}

@keyframes shake {
  0%, 50%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-5px);
  }
  75% {
    transform: translateX(5px);
  }
}
.flatpickr-calendar {
  font-size: 0.8888888889rem;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  color: var(--primary-color);
  fill: var(--primary-color);
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: var(--secondary-color);
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
.actions.center {
  justify-content: center;
}

.textoffer > * + * {
  -webkit-margin-before: 1rem;
          margin-block-start: 1rem;
}
.textoffer figure {
  margin-bottom: 0.5555555556rem;
  height: 38px;
  width: 38px;
}
.textoffer figure svg {
  width: 100%;
  height: 100%;
}
.textoffer .offer-desc strong {
  font-size: clamp(1.1111111111rem, 1.2834821429vw, 1.2777777778rem);
}
.textoffer .offer-line > * + * {
  -webkit-margin-before: 1rem;
          margin-block-start: 1rem;
}

.textwithoffer {
  --threshold: 30rem;
  --align: stretch;
  display: flex;
  align-items: var(--align);
  flex-wrap: wrap;
  gap: 3.3333333333rem;
}
.textwithoffer > * {
  flex-grow: 1;
  flex-basis: calc((var(--threshold) - 100%) * 999);
}
.textwithoffer .textcontent {
  padding-inline: 30px 60px;
}
.textwithoffer .textoffer {
  border-top: 1px solid #000;
  padding-top: 60px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 500px) {
  .textwithoffer .textoffer {
    border-top: none;
    padding-top: 0;
    padding-left: 60px;
    border-left: 1px solid #000;
    align-content: center;
  }
}

.featured-list {
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}
.featured-list li {
  padding-left: 2.2222222222rem;
  position: relative;
  margin-block: 1.1111111111rem;
}
.featured-list li span {
  font-weight: 600;
}
.featured-list li:first-child {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
.featured-list li::before {
  content: "";
  width: 25px;
  height: 25px;
  background: url(icons/25x25/checkmark.svg) center/contain no-repeat;
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 50%;
  transform: translateY(50%);
}
.text-center .featured-list li, .featured-list.text-center li,
.featured-list li.text-center {
  padding-left: 0;
}
.text-center .featured-list li::before, .featured-list.text-center li::before,
.featured-list li.text-center::before {
  position: relative;
  bottom: 0.2777777778rem;
  margin-right: 0.5555555556rem;
}
.primary-sheet .featured-list li::before {
  background-color: #fff;
}
.featured-list li span.small {
  font-size: 0.8888888889rem;
  font-weight: 400;
}
.featured-list.star li::before {
  background: url(icons/25x25/circle-star.svg) center/contain no-repeat;
}
.featured-list.question li::before {
  background: url(icons/25x25/circle-question-mark.svg) center/contain no-repeat;
}
.featured-list.info li::before {
  background: url(icons/25x25/circle-information.svg) center/contain no-repeat;
}
.featured-list.exclamation li::before {
  background: url(icons/25x25/circle-exclamation-mark.svg) center/contain no-repeat;
}
@media (min-width: 500px) {
  .featured-list.two-columns {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
}

.card {
  --border-radius: 0.6666666667rem;
  display: flex;
  flex-direction: column;
  border-radius: var(--border-radius);
  background-color: #fff;
}
.card.primary {
  background-color: var(--primary-color);
}
.card.secondary {
  background-color: var(--secondary-color);
}
.card.tertiary {
  background-color: var(--tertiary-color);
}
.card.primary, .card.secondary, .card.tertiary {
  color: #fff;
}
.card .mediablock {
  overflow: clip;
  border-radius: var(--border-radius);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.card .content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: 1rem;
  padding-block: 1.7777777778rem;
  padding-inline: 1.6666666667rem;
}
.card .content h3 {
  font-size: 1.3888888889rem;
}
.card .actions {
  -webkit-padding-before: 2.2222222222rem;
          padding-block-start: 2.2222222222rem;
  -webkit-margin-before: auto;
          margin-block-start: auto;
}
.card .actions .linkbutton {
  color: inherit;
}
@media (max-width: 414px) {
  .card :is(.linkbutton) {
    padding: 0.2777777778rem 1.6666666667rem;
    box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.15);
  }
}

@container cardslide (max-width: 300px) {
  .card :is(.linkbutton) {
    padding: 0.2777777778rem 1.6666666667rem;
    box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.15);
  }
}
a.card {
  text-decoration: none;
  color: #000;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
  transition: box-shadow 250ms ease-in-out;
}
a.card .mediablock img {
  transition: scale 500ms ease-in-out;
}
a.card:hover {
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.2);
}
a.card:hover .mediablock img {
  scale: 1.05;
}

a.card .linkbutton.success {
  color: #fff;
}

.card .iconsrow.highlights {
  position: relative;
  -webkit-padding-before: 1.1111111111rem;
          padding-block-start: 1.1111111111rem;
  -webkit-margin-before: 1.1111111111rem;
          margin-block-start: 1.1111111111rem;
}
.card .iconsrow.highlights:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--body-color);
  border-radius: 5px;
}

.card.accommodation .content {
  padding-block: 1.7777777778rem 1.1111111111rem;
}

@media (max-width: 599px) {
  .card .content h3 + div {
    max-height: 5em;
    overflow-y: hidden;
    position: relative;
  }
  .card .content h3 + div:after {
    display: block;
    position: absolute;
    content: "";
    bottom: 0;
    width: 100%;
    height: 75%;
    background: #fff;
    background: linear-gradient(0deg, white 0%, white 15%, rgba(255, 255, 255, 0) 100%);
  }
  .card.primary .content h3 + div:after {
    background: linear-gradient(0deg, #002839 0%, #002839 15%, rgba(0, 40, 57, 0) 100%);
  }
  .card.secondary .content h3 + div:after {
    background: linear-gradient(0deg, #b49860 0%, #b49860 15%, rgba(180, 152, 96, 0) 100%);
  }
  .card.tertiary .content h3 + div:after {
    background: linear-gradient(0deg, #b49860 0%, #b49860 15%, rgba(180, 152, 96, 0) 100%);
  }
}
.content h3 + div + u {
  display: block;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}

.video-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  line-height: 0;
  z-index: 0;
  position: relative;
}
.video-container video {
  height: auto;
  width: 100%;
}
.video-container.portrait video {
  aspect-ratio: 9/16 auto;
}
.video-container .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: all ease-in-out 100ms;
  opacity: 0.7;
  background: rgba(var(--primary-color-rgb), 0.8);
}
.video-container.playing .overlay {
  background: transparent;
}
.video-container button {
  transition: all ease-in-out 100ms;
  background-color: #fff;
  border: 2px solid #fff;
  border-radius: 50%;
  min-width: 65px;
  min-height: 65px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
}
.video-container button:hover {
  background-color: rgba(255, 255, 255, 0.8);
}
.video-container button.play-button svg.icon {
  margin-left: 6px;
}
.video-container button.back-to-start {
  opacity: 0;
  top: auto;
  left: 15px;
  bottom: 15px;
  transform: none;
  min-width: 45px;
  min-height: 45px;
}
.video-container.unmute button.back-to-start {
  opacity: 1;
}
.video-container svg {
  color: #002839;
  width: 25px;
  height: 25px;
  transition: all ease-in-out 300ms;
}

figure.video-container .text {
  line-height: 1.5;
}

figure.video-container figcaption {
  bottom: 0px;
  transform: translateY(calc(100% + 20px));
}
figure.video-container figcaption a {
  font-weight: 600;
}

.video-container .fade-out {
  opacity: 0;
}

.video-container .hide {
  display: none;
}

.video-container iframe {
  border: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  display: none;
  opacity: 0;
  transition: opacity 200ms ease-in-out;
}
.video-container.playing iframe {
  display: block;
  opacity: 1;
}
.video-container.portrait iframe {
  aspect-ratio: 9/16;
}

.video-container img.video-poster {
  transition: opacity 200ms ease-in-out;
  opacity: 1;
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.video-container.playing img.video-poster {
  opacity: 0;
}

.video-container {
  aspect-ratio: 16/9 auto;
}
.video-container.portrait {
  aspect-ratio: 9/16 auto;
}
.video-container.square {
  aspect-ratio: 1/1 auto;
}

.umbraco-forms-field input[type=text],
.umbraco-forms-field input[type=tel],
.umbraco-forms-field input[type=url],
.umbraco-forms-field input[type=number],
.umbraco-forms-field input[type=email],
.umbraco-forms-field input[type=password],
.umbraco-forms-field input[type^=date],
.umbraco-forms-field input[type=time],
.umbraco-forms-field input[type=week],
.umbraco-forms-field select,
.umbraco-forms-field textarea {
  padding: 12px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: var(--forms-border-width, 1px) solid var(--forms-border-color, black);
  background: var(--forms-field-bgcolor, white);
  display: block;
  border-radius: var(--forms-border-radius, 0);
  box-shadow: var(--forms-box-shadow, none);
}
.umbraco-forms-field input[type=text]:focus,
.umbraco-forms-field input[type=tel]:focus,
.umbraco-forms-field input[type=url]:focus,
.umbraco-forms-field input[type=number]:focus,
.umbraco-forms-field input[type=email]:focus,
.umbraco-forms-field input[type=password]:focus,
.umbraco-forms-field input[type^=date]:focus,
.umbraco-forms-field input[type=time]:focus,
.umbraco-forms-field input[type=week]:focus,
.umbraco-forms-field select:focus,
.umbraco-forms-field textarea:focus {
  border-color: var(--forms-focus-border-color);
  box-shadow: var(--forms-focus-box-shadow);
  outline: none;
}

.umbraco-forms-field textarea {
  min-block-size: 8em;
}

.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper .umbraco-forms-label,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .umbraco-forms-label,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper .umbraco-forms-label {
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper .umbraco-forms-label input[type=checkbox],
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .umbraco-forms-label input[type=checkbox],
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper .umbraco-forms-label input[type=checkbox] {
  position: absolute;
  inline-size: 1.875rem;
  block-size: 1.875em;
  opacity: 0;
  flex: none;
}
.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper .umbraco-forms-label .visualizer,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .umbraco-forms-label .visualizer,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper .umbraco-forms-label .visualizer {
  display: block;
  inline-size: 1.875rem;
  block-size: 1.875rem;
  border: var(--forms-border-width, 1px) solid var(--forms-border-color, black);
  background: var(--forms-field-bgcolor, white);
  border-radius: var(--forms-border-radius, 0);
  flex: none;
}
.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper .umbraco-forms-label input[type=checkbox]:checked + .visualizer,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .umbraco-forms-label input[type=checkbox]:checked + .visualizer,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper .umbraco-forms-label input[type=checkbox]:checked + .visualizer {
  background: var(--forms-field-bgcolor, white) url(checkbox-checkmark.svg) center no-repeat;
  background-size: 1em;
}
.umbraco-forms-field.checkbox .umbraco-forms-field-wrapper .umbraco-forms-label:focus-within .visualizer,
.umbraco-forms-field.multiplechoice .umbraco-forms-field-wrapper .umbraco-forms-label:focus-within .visualizer,
.umbraco-forms-field.dataconsent .umbraco-forms-field-wrapper .umbraco-forms-label:focus-within .visualizer {
  outline-offset: 2px;
  outline-style: auto;
  border-color: var(--forms-focus-border-color, gray);
}
.umbraco-forms-field.checkbox .umbraco-forms-tooltip,
.umbraco-forms-field.multiplechoice .umbraco-forms-tooltip,
.umbraco-forms-field.dataconsent .umbraco-forms-tooltip {
  display: block;
}

.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .radiobuttonlist {
  -webkit-margin-before: 0.5rem;
          margin-block-start: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 2rem;
}
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .umbraco-forms-label {
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .umbraco-forms-label input[type=radio] {
  position: absolute;
  inline-size: 1.25rem;
  block-size: 1.25rem;
  opacity: 0;
  flex: none;
}
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .umbraco-forms-label .visualizer {
  display: grid;
  place-items: center;
  inline-size: 20px;
  block-size: 20px;
  border: 1px solid var(--forms-border-color, black);
  border-radius: 50%;
  background: var(--forms-field-bgcolor, white);
  flex: none;
  box-shadow: var(--forms-box-shadow);
}
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .umbraco-forms-label .visualizer::before {
  content: "";
  display: block;
  border-radius: 50%;
  inline-size: 10px;
  block-size: 10px;
  background: var(--forms-field-fgcolor, black);
  opacity: 0;
  transition: opacity 200ms;
}
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .umbraco-forms-label input[type=radio]:checked + .visualizer {
  background: var(--forms-field-bgcolor, white);
}
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .umbraco-forms-label input[type=radio]:checked + .visualizer::before {
  opacity: 1;
}
.umbraco-forms-field.singlechoice .umbraco-forms-field-wrapper .umbraco-forms-label:focus-within .visualizer {
  outline-offset: 2px;
  outline-style: auto;
  border-color: var(--forms-focus-border-color, gray);
}

.umbraco-forms-field select {
  background: var(--forms-field-bgcolor, white) url(dropdown-indicator.svg) right 12px center no-repeat;
  background-size: 16px;
  -webkit-padding-end: 32px;
          padding-inline-end: 32px;
}

.umbraco-forms-field.fileupload .umbraco-forms-field-wrapper ::-webkit-file-upload-button {
  font: inherit;
  background-color: var(--forms-field-bgcolor, white);
}

.umbraco-forms-field.fileupload .umbraco-forms-field-wrapper ::file-selector-button {
  font: inherit;
  background-color: var(--forms-field-bgcolor, white);
}
.umbraco-forms-field.fileupload .umbraco-forms-field-wrapper ::-webkit-file-upload-button:hover, .umbraco-forms-field.fileupload .umbraco-forms-field-wrapper ::-webkit-file-upload-button:focus-within {
  box-shadow: inset 0 0 0 3px var(--forms-border-color, black);
}
.umbraco-forms-field.fileupload .umbraco-forms-field-wrapper ::file-selector-button:hover, .umbraco-forms-field.fileupload .umbraco-forms-field-wrapper ::file-selector-button:focus-within {
  box-shadow: inset 0 0 0 3px var(--forms-border-color, black);
}

.umbraco-forms-label {
  display: block;
}

.umbraco-forms-tooltip {
  font-size: 0.85em;
  -webkit-margin-after: 0.5rem;
          margin-block-end: 0.5rem;
  color: var(--forms-border-color);
}

:root {
  --forms-field-bgcolor: #fff;
  --forms-field-fgcolor: #000;
  --forms-border-color: rgba(66, 80, 102, 0.4);
  --forms-border-width: 1px;
  --forms-border-radius: 5px;
  --forms-box-shadow: 0 2px 4px 0 rgba(66, 80, 102, 0.1);
  --forms-focus-border-color: rgba(66, 190, 99, 0.8);
  --forms-focus-box-shadow: 0 2px 4px 0 rgba(66, 80, 102, 0.1), 0 0 0 2px rgba(19, 106, 243, 0.25);
}

.umbraco-forms-fieldset {
  container-type: inline-size;
  border: none;
  padding-inline: 0;
}
.umbraco-forms-fieldset + .umbraco-forms-fieldset {
  -webkit-margin-before: 3rem;
          margin-block-start: 3rem;
}
.umbraco-forms-fieldset legend {
  font-family: halyard-display, Helvetica, sans-serif;
  padding-inline: 0;
  -webkit-padding-after: 1rem;
          padding-block-end: 1rem;
}
.umbraco-forms-fieldset .umbraco-forms-field-wrapper input[type=text],
.umbraco-forms-fieldset .umbraco-forms-field-wrapper input[type=tel],
.umbraco-forms-fieldset .umbraco-forms-field-wrapper input[type=url],
.umbraco-forms-fieldset .umbraco-forms-field-wrapper input[type=number],
.umbraco-forms-fieldset .umbraco-forms-field-wrapper input[type=email],
.umbraco-forms-fieldset .umbraco-forms-field-wrapper input[type=password],
.umbraco-forms-fieldset .umbraco-forms-field-wrapper input[type^=date],
.umbraco-forms-fieldset .umbraco-forms-field-wrapper input[type=time],
.umbraco-forms-fieldset .umbraco-forms-field-wrapper input[type=week],
.umbraco-forms-fieldset .umbraco-forms-field-wrapper select,
.umbraco-forms-fieldset .umbraco-forms-field-wrapper textarea {
  inline-size: 100%;
}

.row-fluid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@container (min-inline-size: 800px) {
  .row-fluid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: end;
    gap: 1.47%;
  }
  .col-md-12 {
    grid-column: 1/-1;
  }
  .col-md-3 {
    grid-column: span 3;
  }
  .col-md-4 {
    grid-column: span 4;
  }
  .col-md-5 {
    grid-column: span 5;
  }
  .col-md-6 {
    grid-column: span 6;
  }
}
.umbraco-forms-field + .umbraco-forms-field {
  -webkit-margin-before: 2rem;
          margin-block-start: 2rem;
}
.umbraco-forms-field .umbraco-forms-tooltip:empty {
  display: none;
}
.umbraco-forms-field .umbraco-forms-tooltip:empty + .umbraco-forms-field-wrapper,
.umbraco-forms-field .umbraco-forms-label + .umbraco-forms-field-wrapper {
  -webkit-margin-before: 0.5rem;
          margin-block-start: 0.5rem;
}

.umbraco-forms-indicator {
  color: #d02d2d;
}
.component .umbraco-forms-field:not(.mandatory) .umbraco-forms-indicator {
  display: none;
}

.field-validation-error {
  color: #d02d2d;
  display: block;
}
.component .umbraco-forms-field:not(.error) .field-validation-error {
  display: none;
}

.input-validation-error input, .input-validation-error textarea,
.umbraco-forms-field.error input,
.umbraco-forms-field.error textarea {
  border-color: #d02d2d;
}
.input-validation-error .umbraco-forms-label input[type=radio]:checked + .visualizer,
.input-validation-error .umbraco-forms-label input[type=checkbox]:checked + .visualizer,
.umbraco-forms-field.error .umbraco-forms-label input[type=radio]:checked + .visualizer,
.umbraco-forms-field.error .umbraco-forms-label input[type=checkbox]:checked + .visualizer {
  border-color: #d02d2d !important;
}

.umbraco-forms-navigation {
  -webkit-margin-before: 2rem;
          margin-block-start: 2rem;
}
.umbraco-forms-navigation > .col-md-12 {
  display: flex;
}
.imageslider {
  --swiper-navigation-top-offset: 0;
  --swiper-navigation-size: 10px;
  --swiper-navigation-sides-offset: 0;
  --swiper-navigation-main-color: #002839;
  --swiper-navigation-alt-color: #fff;
  --swiper-pagination-color: var(--primary-color);
  --swiper-theme-color: var(--primary-color);
}
.imageslider .swiper {
  -webkit-padding-before: 3.5555555556rem;
          padding-block-start: 3.5555555556rem;
}
@media (min-width: 415px) {
  .imageslider .swiper {
    aspect-ratio: 68/101;
  }
}
@media (min-width: 800px) {
  .imageslider .swiper {
    aspect-ratio: 215/134;
  }
}
.imageslider .swiper-button-prev,
.imageslider .swiper-button-next {
  top: 0;
  width: calc(var(--swiper-navigation-size) * 2);
  height: calc(var(--swiper-navigation-size) * 2);
  border: 2px solid var(--swiper-navigation-main-color);
  border-radius: calc(var(--swiper-navigation-size) * 2);
  margin-top: 0;
  padding: 10px;
  transition: 180ms ease-in-out;
  transition-property: background-color, color;
}
.imageslider .swiper-button-prev:not(.swiper-button-disabled):hover, .imageslider .swiper-button-prev:not(.swiper-button-disabled):focus,
.imageslider .swiper-button-next:not(.swiper-button-disabled):hover,
.imageslider .swiper-button-next:not(.swiper-button-disabled):focus {
  background-color: var(--swiper-navigation-main-color);
  color: var(--swiper-navigation-alt-color);
}
.primary-sheet .imageslider .swiper-button-prev, .secondary-sheet .imageslider .swiper-button-prev, .tertiary-sheet .imageslider .swiper-button-prev,
.primary-sheet .imageslider .swiper-button-next,
.secondary-sheet .imageslider .swiper-button-next,
.tertiary-sheet .imageslider .swiper-button-next {
  --swiper-navigation-main-color: #fff;
  --swiper-navigation-alt-color: #002839;
}
.imageslider .swiper-button-prev {
  left: auto;
  right: calc(var(--swiper-navigation-size) * 4);
}

[class*=background-media] {
  position: relative;
}

[class*=background-media].overlay:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 40, 57, 0.5);
  mix-blend-mode: multiply;
}

[class*=background-media-] .content {
  position: absolute;
  z-index: 1;
}
[class*=background-media-] .content.top-center {
  left: 50%;
  transform: translateX(-50%);
}
[class*=background-media-] .content.top-right {
  right: 0;
}
[class*=background-media-] .content.mid-left {
  top: 50%;
  transform: translateY(-50%);
}
[class*=background-media-] .content.mid-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
[class*=background-media-] .content.mid-right {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
[class*=background-media-] .content.bottom-left {
  bottom: 0;
}
[class*=background-media-] .content.bottom-center {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
[class*=background-media-] .content.bottom-right {
  bottom: 0;
  right: 0;
}

/****************************
****  Background images  ****
****************************/
.background-media-image {
  background-image: -webkit-image-set(var(--bg-image));
  background-image: image-set(var(--bg-image));
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.background-media-image .b-p--left-top {
  background-position: left top;
}
.background-media-image .b-p--left-center {
  background-position: left center;
}
.background-media-image .b-p--left-bottom {
  background-position: left bottom;
}
.background-media-image .b-p--center-top {
  background-position: center top;
}
.background-media-image .b-p--center-center {
  background-position: center center;
}
.background-media-image .b-p--center-bottom {
  background-position: center bottom;
}
.background-media-image .b-p--right-top {
  background-position: right top;
}
.background-media-image .b-p--right-center {
  background-position: right center;
}
.background-media-image .b-p--right-bottom {
  background-position: right bottom;
}

.background-media-video {
  position: relative;
  width: 100%;
}

.background-media-video .video-container {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}

.background-media-video .video-container video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (min-width: 1260px) {
  [data-layout] > .scroll-for-more {
    position: fixed;
    left: 5%;
    bottom: 3.3333333333rem;
  }
}
@media (min-width: 1560px) {
  [data-layout] > .scroll-for-more {
    left: calc(50% - 690px);
  }
}
@media (min-width: 2060px) {
  [data-layout] > .scroll-for-more {
    left: 330px;
  }
}
@media (min-width: 2560px) {
  [data-layout] > .scroll-for-more {
    left: calc(50% - 940px);
  }
}

@media (min-width: 1260px) {
  .accommodationpage [data-layout] > .scroll-for-more {
    bottom: 5rem;
  }
}

.scroll-for-more {
  display: none;
  opacity: 0;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  transition: background 300ms ease, opacity 300ms ease, bottom 300ms ease;
  background: #fff;
  cursor: pointer;
}
@media (min-width: 1260px) {
  .scroll-for-more {
    display: flex;
    opacity: 1;
    z-index: 16;
  }
}
.scroll-for-more:hover {
  background: #002839;
}
.scroll-for-more:hover svg {
  fill: #fff;
}

[data-layout] > .scroll-for-more.hidden {
  opacity: 0;
  bottom: -80px;
}

.scroll-for-more svg {
  width: 18px;
  fill: #002839;
  transition: fill 300ms ease;
}

.offerlistblock {
  border-top: 1px solid #000;
  padding-top: 60px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 700px) {
  .offerlistblock {
    border-top: none;
    padding-top: 0;
  }
}

@media (min-width: 700px) {
  .offerlistblock.border-left .textoffer {
    padding-left: 60px;
    border-left: 1px solid #000;
    align-content: center;
  }
}
@media (min-width: 700px) {
  .offerlistblock.border-right:not(.border-left) .textoffer {
    padding-left: initial;
    border-left: initial;
    padding-right: 60px;
    border-right: 1px solid #000;
  }
}
@media (min-width: 700px) {
  .offerlistblock.border-right.border-left .textoffer {
    padding-right: 60px;
    border-right: 1px solid #000;
  }
}
.somefeedblock .flockler-grid-items[data-container-width=">=1500"] .flockler-grid-item,
.somefeedblock .flockler-grid-items[data-container-width=">=1200"] .flockler-grid-item {
  width: calc(0.3333333333 * (100% - 60px));
}
.somefeedblock .flockler-grid-item:nth-of-type(2n+2) {
  margin-left: 30px;
  margin-right: 30px;
  margin-bottom: 30px;
}

.faqitem {
  background: #fff;
  color: #000;
  border-radius: 0.6666666667rem;
  padding-block: 0;
  padding-inline: 2rem;
}
.light-sheet .faqitem {
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
}
.faqitem summary {
  font-family: halyard-display, Helvetica, sans-serif;
  font-size: clamp(1rem, 1.1160714286vw, 1.1111111111rem);
  font-weight: 600;
  min-height: 4.4444444444rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  cursor: pointer;
  padding: 0.8333333333rem 0;
}
.faqitem summary::-webkit-details-marker {
  display: none;
}
.faqitem summary .icon {
  transition: transform 200ms ease-in-out;
  flex: none;
  inline-size: 1.7777777778rem;
  block-size: 1.7777777778rem;
  -webkit-margin-start: 2rem;
          margin-inline-start: 2rem;
  transform: rotate(0);
}
.faqitem .text {
  border-top: 1px solid;
  padding-top: 1.2em;
  padding-bottom: 4em;
  margin-right: 14%;
}
.faqitem[open] summary .icon {
  transform: rotate(180deg);
}

.search-wrapper,
.search-container {
  background-color: #f0f0f0;
  border-radius: var(--border-radius-large);
}

.search-wrapper {
  padding: 0.8333333333rem 0 0.8333333333rem 0.8333333333rem;
  flex: 1;
}
.search-wrapper form {
  display: flex;
  gap: 0.8333333333rem;
  flex-direction: column;
  align-items: start;
}
@media (min-width: 700px) {
  .search-wrapper form {
    flex-direction: row;
    align-items: center;
  }
}
.search-wrapper .umbraco-forms-field {
  width: 100%;
  display: flex;
  gap: 0.8333333333rem;
  flex: 1;
  padding-inline: 2.2222222222rem 0.5555555556rem;
  padding-block: 0.1111111111rem;
  background: var(--forms-field-bgcolor) url(icons/25x25/magnifying-glass.svg) 20px center no-repeat;
  background-size: 20px;
  border-radius: var(--border-radius-small);
}
.search-wrapper .umbraco-forms-field input[type=text] {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  flex: 1;
}
.search-wrapper .umbraco-forms-field input[type=text]::-moz-placeholder {
  color: #ccc;
  opacity: 1; /* Firefox */
}
.search-wrapper .umbraco-forms-field input[type=text]::placeholder {
  color: #ccc;
  opacity: 1; /* Firefox */
}
.search-wrapper .umbraco-forms-field .success.linkbutton {
  box-shadow: none;
  cursor: pointer;
}

.search-suggestions ul {
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media (min-width: 700px) {
  .search-suggestions ul {
    padding: 0.5555555556rem 1.1111111111rem 0;
  }
}
.search-suggestions ul li {
  margin-bottom: clamp(0.6666666667rem, 0.8928571429vw, 0.8888888889rem);
}
.search-suggestions ul li:last-of-type {
  margin-bottom: 0;
}
.search-suggestions ul li a {
  -webkit-text-decoration-color: rgba(0, 0, 0, 0.1);
          text-decoration-color: rgba(0, 0, 0, 0.1);
}
.search-suggestions ul li a:hover {
  -webkit-text-decoration-color: black;
          text-decoration-color: black;
}

a.langbutton {
  text-decoration: none;
}

.langbutton,
button.csob-language-button.langbutton {
  border: 2px solid transparent;
  background-color: #fff;
  display: inline-flex;
  align-items: center;
  padding: 10px 12px !important;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 200ms ease-in-out, box-shadow 200ms ease-in-out;
  color: #000;
  box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.15);
}
.langbutton .with-icon, .langbutton .with-icon svg,
button.csob-language-button.langbutton .with-icon,
button.csob-language-button.langbutton .with-icon svg {
  width: 25px;
  height: 25px;
}
.langbutton .with-icon .icon,
button.csob-language-button.langbutton .with-icon .icon {
  width: 100%;
  height: 100%;
  min-width: 25px;
  min-height: 25px;
}
.langbutton.is-active, .langbutton:hover, .langbutton:active, .langbutton:focus-visible,
button.csob-language-button.langbutton.is-active,
button.csob-language-button.langbutton:hover,
button.csob-language-button.langbutton:active,
button.csob-language-button.langbutton:focus-visible {
  outline: none;
}
.langbutton.is-active, .langbutton:hover, .langbutton.csob-language-button-selected,
button.csob-language-button.langbutton.is-active,
button.csob-language-button.langbutton:hover,
button.csob-language-button.langbutton.csob-language-button-selected {
  box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.15);
  background-color: #f3f3f3;
}

.langbutton[data-cs-language]:after {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
}
.langbutton[data-cs-language=DA]:after {
  background: var(--flag-da);
}
.langbutton[data-cs-language=EN]:after {
  background: var(--flag-en);
}
.langbutton[data-cs-language=DE]:after {
  background: var(--flag-de);
}

.sample-panel {
  background: rgba(0, 0, 0, 0.1);
  padding: 10px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}

#site-header .header-content {
  max-width: 1440px;
  display: grid;
  grid-template-rows: 1fr;
  gap: 0px 0.5555555556rem;
  grid-auto-flow: row;
  align-items: center;
  padding-block: 1.1111111111rem;
  z-index: 9;
  grid-template-columns: minmax(150px, 1fr) minmax(auto, 1fr) minmax(auto, 30px);
  grid-template-areas: "header-logo tool-menu top-menu";
}
#site-header .header-content .header-logo {
  grid-area: header-logo;
}
#site-header .header-content .tool-menu {
  grid-area: tool-menu;
}
#site-header .header-content .top-menu {
  grid-area: top-menu;
}
@media (min-width: 400px) {
  #site-header .header-content {
    gap: 0px 1.1111111111rem;
  }
}
@media (min-width: 800px) {
  #site-header .header-content {
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 200px minmax(200px, 1fr);
    grid-template-areas: "header-logo tool-menu" "top-menu top-menu";
  }
}
@media (min-width: 1160px) {
  #site-header .header-content {
    grid-template-columns: minmax(250px, 410px) minmax(auto, 1fr);
    grid-template-areas: "header-logo tool-menu" "header-logo top-menu";
    padding-left: 2.7777777778rem;
    padding-right: 2.7777777778rem;
  }
}

@media (min-width: 800px) {
  #site-header[data-size] {
    padding-inline: calc(1.6666666667rem);
  }
}
#site-header .header-logo {
  max-width: 200px;
}
@media (min-width: 1200px) {
  #site-header .header-logo {
    max-width: 250px;
  }
}
#site-header .header-logo a:nth-child(2) {
  display: none;
}

#site-header .tool-menu {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  flex-direction: row-reverse;
  align-items: center;
  gap: 1.1111111111rem;
}
#site-header .tool-menu .icontext {
  color: #000;
}
#site-header .tool-menu .icontext:hover {
  color: var(--secondary-color);
}
@media (min-width: 640px) {
  #site-header .tool-menu {
    justify-content: flex-end;
    flex-direction: row;
    gap: 1.6666666667rem;
  }
}
@media (min-width: 970px) {
  #site-header .tool-menu {
    gap: 2.7777777778rem;
  }
}

@media (max-width: 800px) {
  #site-header .tool-menu .iconsrow {
    display: none;
  }
}
@media (max-width: 950px) {
  #site-header .tool-menu .iconsrow {
    gap: 10px;
  }
  #site-header .tool-menu .iconsrow .icontext {
    width: 25px;
    height: 25px;
  }
  #site-header .tool-menu .iconsrow .icontext span.with-icon {
    margin: 0;
  }
  #site-header .tool-menu .iconsrow .icontext span:nth-child(2) {
    display: none;
  }
}

#site-header .tool-menu .search-and-lang {
  display: none;
  gap: 0.8333333333rem;
  align-items: center;
}
@media (min-width: 400px) {
  #site-header .tool-menu .search-and-lang {
    display: inline-flex;
  }
}

#site-header .tool-menu .search-and-lang .lang-changer {
  line-height: 0;
}
@media (max-width: 450px) {
  #site-header .tool-menu .search-and-lang .lang-changer {
    display: none;
  }
}

#site-header .tool-menu .search-and-lang .search-button {
  width: 18px;
  height: 18px;
}
#site-header .tool-menu .search-and-lang .opening-hours-button {
  width: 20px;
  height: 20px;
}
#site-header .tool-menu .search-and-lang > a {
  display: inline-flex;
  transition: all 200ms ease-in-out;
  color: #000;
}
#site-header .tool-menu .search-and-lang > a:hover {
  color: var(--secondary-color);
}
#site-header .tool-menu .search-and-lang > a svg {
  width: 100%;
  height: 100%;
}

#site-header .tool-menu .linkbutton {
  font-size: 0.8888888889rem;
  padding-top: 0px;
  padding-right: 0.8333333333rem;
  padding-bottom: 0.1111111111rem;
  padding-left: 0.8333333333rem;
}
@media (min-width: 800px) {
  #site-header .tool-menu .linkbutton {
    padding-right: 1.6111111111rem;
    padding-left: 1.6111111111rem;
  }
}
#site-header .tool-menu .linkbutton span.text-hide {
  display: none;
}
@media (min-width: 800px) {
  #site-header .tool-menu .linkbutton span.text-hide {
    display: contents;
  }
}

.linkbutton.booking-button {
  position: relative;
}
.linkbutton.booking-button .book-text,
.linkbutton.booking-button .cart {
  display: inline-block;
  opacity: 1;
  transform: translateY(0);
}
.linkbutton.booking-button .cart {
  display: none;
}
.linkbutton.booking-button.has-items .book-text {
  display: none;
}
.linkbutton.booking-button.has-items .cart {
  display: flex;
  animation: fadeUp 0.3s ease;
}
@media (max-width: 799px) {
  .linkbutton.booking-button .cart .cart-text {
    display: none;
  }
}
.linkbutton.booking-button .cart svg.icon {
  max-width: 20px;
  max-height: 20px;
}
@media (max-width: 799px) {
  .linkbutton.booking-button .cart svg.icon {
    padding: 2px;
  }
}
@media (min-width: 800px) {
  .linkbutton.booking-button .cart svg.icon {
    display: none;
  }
}
.linkbutton.booking-button .cart-badge {
  display: none;
  position: absolute;
  top: -0.5em;
  right: -0.5em;
  background-color: #fff;
  color: #000;
  border-radius: 50%;
  width: 1.5em;
  height: 1.5em;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.7em;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 2px #36bf59;
  transition: background-color 0.2s ease;
}
.linkbutton.booking-button .cart-badge.active {
  display: flex;
  animation: fadeUp 0.3s ease;
  animation-delay: 2s;
  animation-fill-mode: backwards;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#site-header .top-menu ul {
  display: inline-flex;
  width: 100%;
  justify-content: flex-end;
  gap: 2.2222222222rem;
  list-style: none;
  margin-block: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  -webkit-margin-before: 18px;
          margin-block-start: 18px;
}
@media (max-width: 800px) {
  #site-header .top-menu ul {
    display: none;
  }
}
@media (min-width: 1500px) {
  #site-header .top-menu ul {
    gap: 3.3333333333rem;
  }
}
#site-header .top-menu ul li > span,
#site-header .top-menu ul li > a {
  font-weight: 700;
  font-size: 1.2222222222rem;
  letter-spacing: 0.0268888889rem;
}
#site-header .top-menu ul a, #site-header .top-menu ul span {
  cursor: pointer;
  transition: all 200ms ease-in-out;
  text-decoration: none;
}
#site-header .top-menu ul a.is-active, #site-header .top-menu ul a:hover, #site-header .top-menu ul span.is-active, #site-header .top-menu ul span:hover {
  color: var(--secondary-color);
}
#site-header .top-menu ul > li > ul {
  display: none;
}
@media (max-width: 799px) {
  #site-header .top-menu {
    display: flex;
    align-items: center;
    justify-items: end;
  }
}
@media (min-width: 800px) {
  #site-header .top-menu .burger-menu {
    display: none;
  }
}

#site-header.headroom {
  position: fixed;
  z-index: 60;
  background-color: var(--body-color);
  left: 0;
  right: 0;
  will-change: top;
  transition: top 200ms linear;
}
#site-header.headroom--pinned {
  top: 0;
}
[data-has-bar-visible=true] #site-header.headroom--pinned {
  top: var(--notificationBarHeight);
}
#site-header.headroom--pinned.headroom--not-top {
  box-shadow: 0 0 17px 5px rgba(0, 0, 0, 0.16);
}
#site-header.headroom--unpinned {
  top: calc(var(--header-height) * -1);
}

/* DROP DOWN*/
#site-header ul.drop-down .drop-parent {
  position: relative;
  z-index: 2;
}
#site-header ul.drop-down .drop-parent span {
  display: inline-block;
  position: relative;
  z-index: 2;
}
#site-header ul.drop-down .drop-parent ul li {
  position: relative;
  z-index: 1;
}
#site-header ul.drop-down > .drop-parent > ul {
  display: none;
}
#site-header ul.drop-down > .drop-parent:hover > ul {
  display: flex;
  gap: 15px;
  position: absolute;
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  padding-top: 20px;
}
#site-header ul.drop-down ul {
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
}
#site-header ul.drop-down .drop-parent ul li a {
  font-weight: 400;
  font-size: 18px;
}
#site-header ul.drop-down .drop-parent ul li a:hover span:nth-child(2) {
  padding-left: 5px;
}
#site-header ul.drop-down .drop-parent ul li a.icontext .with-icon {
  -webkit-margin-end: 0.8333333333rem;
          margin-inline-end: 0.8333333333rem;
}
#site-header ul.drop-down .drop-parent ul li a.icontext.is-active span {
  font-weight: 600;
}

#site-header ul.drop-down > .drop-parent:hover::after {
  content: "";
  position: absolute;
  display: block;
  height: calc(100% + 30px);
  width: calc(100% + 20px);
  left: -10px;
  top: 0;
}
#site-header ul.drop-down > .drop-parent:hover::before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-top: 0;
  border-bottom: 15px solid #fff;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}
#site-header ul.drop-down > .drop-parent:hover > ul:before {
  content: "";
  width: calc(100% + 40px);
  height: calc(100% + 20px);
  position: absolute;
  left: -20px;
  top: 2px;
  background-color: #fff;
  box-shadow: 0 5px 6px 0px rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  z-index: 0;
}

#site-header ul.drop-down > li:last-of-type:is(.drop-parent) ul {
  right: 0;
}

.ratings {
  background-color: #fff;
  color: #000;
  padding-inline: 1.5555555556rem;
  padding-block: 2.8888888889rem;
  font-size: 1rem;
}
.ratings .swiper-wrapper {
  align-items: center;
}
.ratings .ratingitem {
  margin-inline: auto;
  text-align: center;
  max-inline-size: 50ch;
  block-size: 100%;
  justify-content: center;
}
.ratings .userrating {
  font-size: 0.7222222222rem;
}
@media (min-width: 40rem) {
  .ratings {
    border-radius: 1.6666666667rem;
    padding-inline: 3.4444444444rem;
    font-size: 1.7222222222rem;
  }
  .ratings .ratingitem {
    padding-inline: 3.8888888889rem;
  }
  .ratings .userrating {
    font-size: 1rem;
  }
}
@media (min-width: 960px) {
  [data-size=layout] .ratings, [data-size=full] .ratings {
    margin-inline: 4.2777777778rem;
  }
}

.site-footer {
  z-index: 16;
}
.site-footer [data-size=full] {
  max-width: none;
}
.site-footer .footer-content {
  position: relative;
  padding-block: 0;
  display: grid;
  grid-template-rows: 1fr auto;
  grid-template-columns: minmax(auto, 1fr);
  gap: 3.3333333333rem 0.5555555556rem;
  grid-auto-flow: row;
  align-items: start;
  padding-left: 0;
  padding-right: 0;
  grid-template-areas: "center-column" "right-column" "left-column";
}
.site-footer .footer-content .left-column {
  grid-area: left-column;
}
.site-footer .footer-content .center-column {
  grid-area: center-column;
}
.site-footer .footer-content .right-column {
  grid-area: right-column;
}
@media (min-width: 500px) {
  .site-footer .footer-content {
    grid-template-rows: 1fr 1fr;
    gap: 0px 1.1111111111rem;
    grid-template-columns: minmax(auto, 1fr) minmax(auto, 1fr);
    grid-template-areas: "center-column center-column" "left-column right-column";
  }
}
@media (min-width: 1000px) {
  .site-footer .footer-content {
    grid-template-rows: 1fr;
    grid-template-columns: minmax(auto, 1fr) minmax(165px, 3fr) minmax(auto, 1fr);
    grid-template-areas: "left-column center-column right-column";
    align-items: center;
  }
}

.site-footer {
  -webkit-text-decoration-color: var(--secondary-color);
          text-decoration-color: var(--secondary-color);
}

.site-footer section > .footer-content[data-size] > * + *:not(.column),
.site-footer section > div[data-size] .column > * + * {
  margin-top: 0;
}

.site-footer .pre-footer {
  padding-top: 0;
  padding-bottom: 5.5555555556rem;
}
@media (max-width: 1000px) {
  .site-footer .pre-footer {
    display: none;
  }
}
.site-footer .pre-footer .text h3 {
  font-size: 5.0555555556rem;
  text-align: center;
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1000px) {
  .site-footer .pre-footer .text h3 {
    font-size: 2.2222222222rem;
  }
}

.site-footer > .primary-sheet {
  -webkit-padding-after: 1.1111111111rem;
          padding-block-end: 1.1111111111rem;
}

@media (min-width: 500px) {
  .site-footer .center-column {
    padding-block: 60px;
  }
}
@media (min-width: 500px) {
  .site-footer .left-column {
    padding-right: 45px;
  }
}
@media (max-width: 500px) {
  .site-footer .left-column {
    border-top: 1px solid var(--secondary-color);
    padding-block: 3.3333333333rem;
    text-align: center;
  }
}
.site-footer .left-column ul li:last-of-type {
  margin-bottom: 0;
}
.site-footer .left-column li {
  margin-bottom: 20px;
}

.site-footer .center-column {
  text-align: center;
}
@media (min-width: 1000px) {
  .site-footer .center-column {
    border-left: 1px solid var(--secondary-color);
    border-right: 1px solid var(--secondary-color);
  }
}

@media (max-width: 500px) {
  .site-footer .right-column {
    border-top: 1px solid var(--secondary-color);
    padding-block: 3.3333333333rem 0;
    text-align: center;
  }
}
@media (min-width: 500px) {
  .site-footer .right-column {
    padding-left: 45px;
  }
}

.site-footer .right-column .table {
  flex-direction: column;
}
.site-footer .right-column .table, .site-footer .right-column .table div {
  display: block;
}
@media (min-width: 500px) {
  .site-footer .right-column .table, .site-footer .right-column .table div {
    display: flex;
  }
}
.site-footer .right-column .table div {
  justify-content: space-between;
}

.site-footer .contact-info,
.site-footer .awards {
  border-bottom: 1px solid var(--secondary-color);
}
.site-footer .awards {
  padding-block: 3.3333333333rem;
}
.site-footer .contact-info,
.site-footer .awards,
.site-footer .other-camps {
  text-align: center;
}
.site-footer .contact-info,
.site-footer .other-camps {
  padding-block: 3.8888888889rem;
}
@media (min-width: 500px) {
  .site-footer .contact-info,
  .site-footer .other-camps {
    padding-block: 5.5555555556rem;
  }
}

@media (max-width: 500px) {
  .site-footer .contact-info {
    border-top: 1px solid var(--secondary-color);
  }
}

.site-footer .awards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  gap: 20px;
}
.site-footer .awards > * > * {
  height: 75px;
  display: flex;
}

.site-footer .contact-info .social-icons {
  display: inline-flex;
  gap: 1.1111111111rem;
  -webkit-margin-start: 1.1111111111rem;
          margin-inline-start: 1.1111111111rem;
  padding-block: 1rem;
}
.site-footer .contact-info .social-icons a {
  display: block;
  max-width: 25px;
  max-height: 25px;
}
.site-footer .contact-info .social-icons a .icon {
  width: 100%;
  height: 100%;
}

.site-footer a {
  -webkit-text-decoration-color: rgba(var(--secondary-color-rgb), 0.4);
          text-decoration-color: rgba(var(--secondary-color-rgb), 0.4);
}
.site-footer a:hover {
  -webkit-text-decoration-color: rgba(var(--secondary-color-rgb), 1);
          text-decoration-color: rgba(var(--secondary-color-rgb), 1);
}

.site-footer .center-column a.footer-logo {
  color: #fff;
  display: inline-block;
  min-width: 150px;
  max-width: 250px;
}
@media (min-width: 800px) {
  .site-footer .center-column a.footer-logo {
    max-width: 300px;
  }
}
.site-footer .center-column a.footer-logo svg {
  width: 100%;
}

.site-footer .awards .award {
  margin-top: 0;
}
@media (min-width: 800px) {
  .site-footer .awards .award {
    margin-top: 0;
  }
}

.site-footer .center-column a.btn-get-direction {
  display: inline-flex;
  align-items: center;
  gap: 1.1111111111rem;
  color: #fff;
  text-decoration: none;
}
.site-footer .center-column a.btn-get-direction .icon {
  width: 100%;
  height: 100%;
  color: var(--secondary-color);
}
.site-footer .center-column a.btn-get-direction span {
  transition: border 0.3s ease-out, color 0.3s ease-out, background-color 0.3s ease-out;
  display: inline-flex;
  width: 45px;
  height: 45px;
  padding: 10px;
  background-color: #fff;
  border-radius: 50%;
  color: #002839;
  border: 2px solid transparent;
}
.site-footer .center-column a.btn-get-direction:hover span {
  border: 2px solid #fff;
  color: #fff;
  background-color: transparent;
}

.site-footer section.primary-sheet h1, .site-footer section.primary-sheet h2, .site-footer section.primary-sheet h3, .site-footer section.primary-sheet h4, .site-footer section.primary-sheet h5, .site-footer section.primary-sheet h6 {
  color: var(--secondary-color);
  font-size: 1.4444444444rem;
  letter-spacing: 0.0433333333rem;
  font-weight: 600;
}

.site-footer .sticker {
  display: none;
  top: 120px;
}
@media (xmin-width: 1000px) {
  .site-footer .sticker {
    display: block;
    position: absolute;
    right: 30px;
    top: -120px;
    width: 230px;
    height: 330px;
    transform: translateY(-50%) rotate(10deg);
  }
}

.site-footer .has-sticker {
  --sticker-inline-size: 330px;
}

.site-footer .booking-bar {
  z-index: 8;
  top: calc((100px + 60px) * -1);
}

@media (max-width: 500px) {
  .site-footer .hide-small {
    display: none;
  }
}
.site-footer .other-camps {
  text-align: center;
  padding-bottom: 0;
}
.site-footer .other-camps .other-camp-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  -moz-column-gap: 60px;
       column-gap: 60px;
  row-gap: 20px;
  margin-top: 30px !important;
  margin-bottom: 30px;
}
.site-footer .other-camps .other-camp-logos a {
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  -moz-column-gap: 1.1111111111rem;
       column-gap: 1.1111111111rem;
  width: 22.2222222222rem;
  justify-content: center;
}
@media (min-width: 400px) {
  .site-footer .other-camps .other-camp-logos a {
    justify-content: left;
  }
}
@media (min-width: 975px) {
  .site-footer .other-camps .other-camp-logos a:first-of-type {
    justify-content: right;
  }
}
.site-footer .other-camps .other-camp-logos a span {
  display: none;
  text-align: left;
}
@media (min-width: 400px) {
  .site-footer .other-camps .other-camp-logos a span {
    display: block;
  }
}
.site-footer .other-camps .other-camp-logos svg {
  width: 90px;
  aspect-ratio: 1/1;
}

.site-footer .copyright {
  padding-block: 0;
  text-transform: uppercase;
  font-size: 0.7222222222rem;
  text-align: center;
}
@media (min-width: 1000px) {
  .site-footer .copyright {
    text-align: right;
  }
}
.site-footer .we-made-this {
  text-transform: initial;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.5);
}

:root {
  --hgap: 3.3333333333rem;
  --vgap: 1.6666666667rem;
}

section > div[data-size] > * + *:not(.column),
section > div[data-size] .column > * + * {
  margin-top: var(--vgap);
}
@media (min-width: 800px) {
  section > div[data-size] > * + *:not(.column),
  section > div[data-size] .column > * + * {
    margin-top: var(--hgap);
  }
}

.columns {
  container: columns/inline-size;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--vgap) var(--hgap);
  align-items: center;
}
.columns[data-align=start] {
  align-items: flex-start;
}
.columns[data-align=end] {
  align-items: flex-end;
}
.columns .column {
  --cols: 6;
  --col-percent: calc(var(--cols) / 12 * 100%);
  --col-minimum: calc(var(--cols) / 12 * 640px);
  min-width: 0;
  flex-grow: var(--cols);
  flex-basis: calc(max(var(--col-percent), var(--col-minimum)) - var(--gap) / 2);
}
.columns .column[data-columns="3"] {
  --cols: 3;
}
.columns .column[data-columns="4"] {
  --cols: 4;
}
.columns .column[data-columns="5"] {
  --cols: 5;
}
.columns .column[data-columns="6"] {
  --cols: 6;
}
.columns .column[data-columns="7"] {
  --cols: 7;
}
.columns .column[data-columns="8"] {
  --cols: 8;
}
.columns .column[data-columns="9"] {
  --cols: 9;
}
@supports (display: grid) {
  .columns {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  @media (max-width: 800px) {
    .columns {
      --hgap: 1.6666666667rem;
    }
  }
  .columns .column {
    grid-column-end: span var(--cols);
  }
}

@container columns (max-width: 680px) {
  @supports (display: grid) {
    .columns .column[data-columns="3"] {
      --cols: 12;
    }
    .columns .column[data-columns="4"] {
      --cols: 12;
    }
    .columns .column[data-columns="5"] {
      --cols: 12;
    }
    .columns .column[data-columns="6"] {
      --cols: 12;
    }
    .columns .column[data-columns="7"] {
      --cols: 12;
    }
    .columns .column[data-columns="8"] {
      --cols: 12;
    }
    .columns .column[data-columns="9"] {
      --cols: 12;
    }
  }
}
.cardsslider {
  --swiper-navigation-top-offset: 0;
  --swiper-navigation-size: 10px;
  --swiper-navigation-sides-offset: 0;
  --swiper-navigation-main-color: var(--primary-color);
  --swiper-navigation-alt-color: #fff;
  --swiper-pagination-color: var(--primary-color);
  --swiper-theme-color: var(--primary-color);
  --swiper-pagination-bottom: 0;
  container: cardsslider/inline-size;
}
.cardsslider .swiper {
  -webkit-padding-before: 3.5555555556rem;
          padding-block-start: 3.5555555556rem;
  -webkit-padding-after: 1.7777777778rem;
          padding-block-end: 1.7777777778rem;
}
.cardsslider .swiper-button-prev,
.cardsslider .swiper-button-next {
  top: 0;
  width: calc(var(--swiper-navigation-size) * 2);
  height: calc(var(--swiper-navigation-size) * 2);
  border: 2px solid var(--swiper-navigation-main-color);
  border-radius: calc(var(--swiper-navigation-size) * 2);
  margin-top: 0;
  padding: 10px;
  transition: 180ms ease-in-out;
  transition-property: background-color, color;
}
.cardsslider .swiper-button-prev:not(.swiper-button-disabled):hover, .cardsslider .swiper-button-prev:not(.swiper-button-disabled):focus,
.cardsslider .swiper-button-next:not(.swiper-button-disabled):hover,
.cardsslider .swiper-button-next:not(.swiper-button-disabled):focus {
  background-color: var(--swiper-navigation-main-color);
  color: var(--swiper-navigation-alt-color);
}
.cardsslider .swiper-button-prev {
  left: auto;
  right: calc(var(--swiper-navigation-size) * 4);
}
.cardsslider .swiper-slide {
  container: cardslide/inline-size;
  align-self: stretch;
  max-inline-size: 21.8888888889rem;
}
.cardsslider .card {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  block-size: 100%;
}
.cardsslider .card .actions {
  -webkit-margin-before: auto;
          margin-block-start: auto;
}

@container cardsslider (max-width: 500px) {}
.gallery {
  container: gallery/inline-size;
}
.gallery .items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.gallery .items > * {
  flex: 1 calc(50% - 5px);
}
@supports (display: grid) {
  .gallery .items {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 2fr;
    grid-auto-rows: -webkit-min-content;
    grid-auto-rows: min-content;
    gap: 20px;
  }
  .gallery .items :nth-child(1),
  .gallery .items :nth-child(2),
  .gallery .items :nth-child(4),
  .gallery .items :nth-child(5) {
    aspect-ratio: 1;
    grid-column: span 2;
  }
  .gallery .items :nth-child(3),
  .gallery .items :nth-child(6) {
    grid-column: 1/-1;
  }
  .gallery .items :nth-child(7),
  .gallery .items :nth-child(8) {
    grid-column: span 2;
  }
}
@media (min-width: 650px) {
  @supports (display: grid) {
    .gallery .items {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      grid-template-rows: 272px repeat(3, 110px) 272px;
      gap: 22px;
    }
    .gallery .items :nth-child(1),
    .gallery .items :nth-child(2) {
      aspect-ratio: 1;
      grid-column: span 1;
      grid-row: 1/span 1;
    }
    .gallery .items :nth-child(4),
    .gallery .items :nth-child(5) {
      aspect-ratio: 1;
      grid-column: span 1;
      grid-row: 5/span 1;
    }
    .gallery .items :nth-child(3) {
      grid-column: 1/span 2;
      grid-row: span 3;
    }
    .gallery .items :nth-child(6) {
      grid-column: span 3;
      grid-row: 1/span 3;
    }
    .gallery .items :nth-child(7) {
      grid-column: 3;
      grid-row: 4/span 2;
    }
    .gallery .items :nth-child(8) {
      grid-column: 4/span 2;
      grid-row: 4/span 2;
    }
  }
  @supports (grid-template-rows: 1cqi) {
    .gallery .items {
      grid-template-rows: 18.7cqi repeat(3, 7.6cqi) 18.7cqi;
      gap: 1.8cqi;
    }
  }
}

.activities {
  display: grid;
}
.activities > div {
  height: 100%;
}
.activities .activity .content {
  padding: 20px;
}
.activities .activity .content .text h1 {
  display: none;
}
.activities .activity .content .text .mark {
  font-size: clamp(0.8333333333rem, 1.6741071429vw, 1.6666666667rem);
}
.activities .activity .content .actions {
  -webkit-margin-before: 1rem;
          margin-block-start: 1rem;
}
.activities .items {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1111111111rem;
}
.activities .items > * {
  flex: 1 100%;
}
@media (min-width: 750px) {
  .activities .items {
    gap: 1.1111111111rem;
  }
  .activities .items > * {
    flex: 1 calc(50% - 10px);
  }
}
.activities .items .activity {
  min-height: 550px;
  overflow: hidden;
}
@media (min-width: 1200px) {
  .activities .items .activity {
    min-height: 100%;
  }
  @supports (display: grid) {
    .activities .items .activity {
      min-height: 450px;
    }
    .activities .items.one > div {
      min-height: 800px;
    }
    .activities .items.two {
      gap: 22px;
      flex-wrap: nowrap;
    }
    .activities .items.three {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 50%));
      grid-template-rows: repeat(2, minmax(0, 50%));
      gap: 22px;
    }
    .activities .items.three > :nth-child(1) {
      grid-column: span 1;
      grid-row: 1/span 2;
    }
  }
}

@supports (display: grid) {
  .activities.flipped .items.three > :nth-child(1) {
    grid-column: auto;
    grid-row: auto;
  }
  .activities.flipped .items.three > :nth-child(3) {
    grid-column: 2/span 1;
    grid-row: 1/span 2;
  }
}

.activities + .activities {
  margin-top: 1.1111111111rem !important;
}

[class*=hero] {
  position: relative;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  min-height: 500px;
  transition: height 0.3s ease-out;
}

[class*=hero] .content {
  width: 100%;
  padding: 1.1111111111rem 1.6666666667rem 1.1111111111rem;
}
@media (min-width: 700px) {
  [class*=hero] .content {
    width: clamp(27.7777777778rem, 51.8973214286vw, 51.6666666667rem);
  }
}
@media (min-width: 900px) {
  [class*=hero] .content {
    padding: 3.3333333333rem;
  }
}
[class*=hero] .content .text p:not(.text-center) {
  max-width: clamp(27.7777777778rem, 30.6919642857vw, 30.5555555556rem);
}

main > section:first-of-type > div[data-size] > [class*=hero]:first-of-type {
  height: calc(var(--vh, 1vh) * 100 - var(--header-height) - 3.3333333333rem / 2);
  -webkit-padding-before: 0;
          padding-block-start: 0;
}
@media (min-width: 700px) {
  main > section:first-of-type > div[data-size] > [class*=hero]:first-of-type .content[class*=bottom-] {
    padding-bottom: 11.1111111111rem;
  }
}

section.is-first:not([class*=-sheet]) > div[data-size] > [class*=hero]:first-of-type {
  height: calc(var(--vh, 1vh) * 100 - var(--header-height));
}
@media (min-width: 1160px) {
  section.is-first:not([class*=-sheet]) > div[data-size] > [class*=hero]:first-of-type {
    height: calc(var(--vh, 1vh) * 100 - var(--header-height) - 3.3333333333rem / 2);
  }
}

[data-has-bar-visible=true] section.is-first:not([class*=-sheet]) > div[data-size] > [class*=hero]:first-of-type {
  height: calc(var(--vh, 1vh) * 100 - var(--header-height) - var(--notificationBarHeight));
}
@media (min-width: 1160px) {
  [data-has-bar-visible=true] section.is-first:not([class*=-sheet]) > div[data-size] > [class*=hero]:first-of-type {
    height: calc(var(--vh, 1vh) * 100 - var(--header-height) - var(--notificationBarHeight) - 3.3333333333rem / 2);
  }
}

@media (max-width: 800px) {
  [data-size=full] > .hero {
    transform: translateX(-1.1111111111rem);
    width: calc(100% + 1.3888888889rem);
  }
}
@media (max-width: 1160px) {
  [data-size=full] > .hero {
    transform: translateX(-1.6666666667rem);
    width: calc(100% + 3.3333333333rem);
  }
}

/* 
-- SPECIFIC for accommodationpage 
-- the page has highlights which should be visible on pageload 
*/
.accommodationpage section.is-first:not([class*=-sheet]) > div[data-size] > [class*=hero]:first-of-type {
  height: calc(var(--vh, 1vh) * 100 - var(--header-height) - var(--highlights-height) - 20px);
}
@media (min-width: 1160px) {
  .accommodationpage section.is-first:not([class*=-sheet]) > div[data-size] > [class*=hero]:first-of-type {
    height: calc(var(--vh, 1vh) * 100 - var(--header-height) - 3.3333333333rem / 2 - var(--highlights-height));
  }
}

.accommodationpage[data-has-bar-visible=true] section.is-first:not([class*=-sheet]) > div[data-size] > [class*=hero]:first-of-type {
  height: calc(var(--vh, 1vh) * 100 - var(--header-height) - var(--notificationBarHeight) - 37px);
}
@media (min-width: 1160px) {
  .accommodationpage[data-has-bar-visible=true] section.is-first:not([class*=-sheet]) > div[data-size] > [class*=hero]:first-of-type {
    height: calc(var(--vh, 1vh) * 100 - var(--header-height) - var(--notificationBarHeight) - 3.3333333333rem / 2 - 37px);
  }
}

.accommodationpage .hero + .iconsrow.highlights {
  gap: 10px 20px;
  margin-top: 40px;
}
@media (min-width: 1260px) {
  .accommodationpage .hero + .iconsrow.highlights {
    margin-top: 20px;
    padding-inline: 20px;
    gap: 20px 30px;
  }
}
.accommodationpage .hero + .iconsrow.highlights > * {
  flex-grow: initial;
}

.accommodationpage section.is-first .hero > .content.bottom-left {
  bottom: 30px;
}

.accommodationpage section.is-first .hero > .actions {
  position: absolute;
  bottom: -20px;
  left: 30px;
}
@media (min-width: 1260px) {
  .accommodationpage section.is-first .hero > .actions {
    bottom: 45px;
    left: 170px;
    z-index: 5;
  }
}
.accommodationpage section.is-first .hero > .actions span {
  display: none;
}
@media (min-width: 1160px) {
  .accommodationpage section.is-first .hero > .actions span {
    display: inline;
  }
}
@media (max-width: 1159px) {
  .accommodationpage section.is-first .hero > .actions svg {
    margin: 0;
  }
}

.accommodationpage section.is-first .hero > .actions .gallery-link {
  transition: opacity 300ms ease;
  opacity: 0;
}
.accommodationpage section.is-first .hero > .actions .gallery-link.loaded {
  opacity: 1;
}
.accommodationpage section.is-first .hero > .actions .gallery-link .media-amount {
  position: absolute;
  background: var(--secondary-color);
  color: #fff;
  font-weight: normal;
  font-size: 13px;
  width: 25px;
  height: 25px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  opacity: 0;
  top: 5px;
  right: 0;
  transition: opacity 300ms ease, top 300ms ease;
}
.accommodationpage section.is-first .hero > .actions .gallery-link .media-amount.loaded {
  opacity: 1;
  top: -12px;
  right: 0;
}

.hero .video-container[data-video-type=yt]:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
  background-color: transparent;
}

.hero.background-media-video .video-container {
  overflow: hidden;
}
.hero.background-media-video .video-container iframe {
  display: none;
  opacity: 0;
  transition: opacity 200ms ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vh;
  transform: translate(-50%, -50%);
  max-width: 2000px;
}
@media (min-aspect-ratio: 16/9) {
  .hero.background-media-video .video-container iframe {
    height: 56.25vw;
  }
}
@media (max-aspect-ratio: 16/9) {
  .hero.background-media-video .video-container iframe {
    width: 177.78vh;
  }
}
.hero.background-media-video .video-container.playing iframe {
  display: block;
  opacity: 1;
}

@media (min-width: 1440px) {
  .textblock .text :not(h1, h2, h3, h4, h5, h6, a, br, span, strong, b, em, i, sup, sub, small, .text-center) {
    padding-right: 3.3333333333rem;
  }
}
.textblock.medium, .textblock.small {
  margin-inline: auto;
  inline-size: 100%;
}
.textblock.medium {
  max-inline-size: 70ch;
}
.textblock.small {
  max-inline-size: 38ch;
}

.faqlist {
  padding-block: 2rem;
  --vspace: 0.5rem;
  --align: stretch;
}
.faqlist > * + * {
  -webkit-margin-before: 1rem;
          margin-block-start: 1rem;
}

.cardsgrid .items {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6666666667rem;
}
.cardsgrid .items > .card {
  flex: 0 30%;
}
@supports (display: grid) {
  .cardsgrid .items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }
}

.cardsgrid.two-col .items > .card {
  flex: 0 50%;
}
@supports (display: grid) {
  .cardsgrid.two-col .items {
    grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
  }
  @media (max-width: 1285px) {
    .cardsgrid.two-col .items {
      grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    }
  }
  @media (max-width: 1000px) {
    .cardsgrid.two-col .items {
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
  }
}
.cardsgrid.two-col .card .content h3 {
  font-size: clamp(1.3888888889rem, 3.0691964286vw, 3.0555555556rem);
}

.cardsgrid.three-col .items > .card {
  flex: 0 33%;
}
@supports (display: grid) {
  .cardsgrid.three-col .items {
    grid-template-columns: repeat(auto-fill, minmax(365px, 1fr));
  }
  @media (max-width: 1285px) {
    .cardsgrid.three-col .items {
      grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    }
  }
  @media (max-width: 1000px) {
    .cardsgrid.three-col .items {
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
  }
}

.text-toggle {
  position: relative;
  transition: max-height 250ms ease-in-out;
  max-height: 2000px;
}
.text-toggle:not(.toggle) {
  max-height: 350px;
  overflow-y: hidden;
}
.text-toggle:not(.toggle):before {
  display: block;
  position: absolute;
  z-index: 0;
  content: "";
  bottom: 0;
  width: 100%;
  height: 150px;
  background: #f0f0f0;
  background: linear-gradient(0deg, #f0f0f0 0%, #f0f0f0 30%, rgba(240, 240, 240, 0) 100%);
  transition: all 250ms ease-in-out;
}
.text-toggle:not(.toggle) button.toggle-btn {
  display: block;
}
.text-toggle button.toggle-btn {
  display: none;
  background-color: transparent;
  color: currentColor;
  position: absolute;
  bottom: 0;
  padding: 0;
  z-index: 1;
  border: 0;
  text-decoration: underline;
  cursor: pointer;
}

.light-sheet .text-toggle:not(.toggled):before {
  background: linear-gradient(0deg, white 0%, white 30%, rgba(255, 255, 255, 0) 100%);
}

.primary-sheet .text-toggle:not(.toggled):before {
  background: linear-gradient(0deg, #002839 0%, #002839 30%, rgba(0, 40, 57, 0) 100%);
}

.secondary-sheet .text-toggle:not(.toggled):before {
  background: linear-gradient(0deg, #b49860 0%, #b49860 30%, rgba(180, 152, 96, 0) 100%);
}

.tertiary-sheet .text-toggle:not(.toggled):before {
  background: linear-gradient(0deg, #b49860 0%, #b49860 30%, rgba(180, 152, 96, 0) 100%);
}

#search-overlay[popover] {
  display: none;
}
#search-overlay[popover]:popover-open {
  display: block;
  inline-size: 100%;
  -webkit-margin-before: 60px;
          margin-block-start: 60px;
  padding-inline: 1.1111111111rem;
  border: none;
  background: transparent;
}
#search-overlay[popover]:popover-open::backdrop {
  background: rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: blur(15px);
          backdrop-filter: blur(15px);
}
#search-overlay[popover] .search-container {
  display: flex;
  inline-size: 960px;
  margin-inline: auto;
  max-inline-size: 100%;
}
#search-overlay[popover] .button-wrapper {
  display: flex;
  align-items: flex-start;
}
#search-overlay[popover] button.closebutton {
  cursor: pointer;
  background: transparent;
  border: 0;
  color: #ccc;
  line-height: 1;
  min-width: 55px;
}
#search-overlay[popover] button.closebutton span {
  font-size: 3em;
}

#csob-lang-changer-container {
  -webkit-margin-after: 1.6666666667rem;
          margin-block-end: 1.6666666667rem;
}
@media (min-width: 500px) {
  #csob-lang-changer-container {
    -webkit-margin-after: 2.5rem;
            margin-block-end: 2.5rem;
  }
}
#csob-lang-changer-container .csob-language-button-container {
  display: flex;
  justify-content: center;
  gap: 20px;
}

main > section:not([class*=-sheet]):first-child {
  -webkit-padding-before: 3.3333333333rem;
          padding-block-start: 3.3333333333rem;
}
main > section:not([class*=-sheet]):first-child:has(> [data-size] > .hero) {
  -webkit-padding-before: 0;
          padding-block-start: 0;
}
main > section:not([class*=-sheet]):first-child > [data-size] {
  -webkit-padding-before: 0;
          padding-block-start: 0;
}

[data-size] {
  padding-block: 3.3333333333rem;
}
@media (min-width: 738px) {
  [data-size] {
    padding-block: 6.6666666667rem;
  }
}

[data-size=full] {
  inline-size: 100%;
  padding-inline: 20px;
}
@media (min-width: 800px) {
  [data-size=full] {
    padding-inline: calc(1.6666666667rem);
  }
}
@media screen and (min-width: 1500px) {
  [data-size=full] {
    margin-right: auto;
    margin-left: auto;
    max-width: clamp(1500px + 3.3333333333rem, 100vw - 500px, 100vw - 500px);
  }
}
@media screen and (min-width: 2560px) {
  [data-size=full] {
    margin-right: auto;
    margin-left: auto;
    max-width: 2060px;
  }
}

[data-size=layout] {
  margin-right: auto;
  margin-left: auto;
  max-width: 1500px;
  padding-right: 20px;
  padding-left: 20px;
  box-sizing: content-box;
}

[data-size=content] {
  margin-right: auto;
  margin-left: auto;
  max-width: 960px;
  padding-right: 20px;
  padding-left: 20px;
  box-sizing: content-box;
}

.searchpage .search-wrapper {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
}

.searchpage .result {
  padding-block: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.6666666667rem;
}
.searchpage .resultscounter {
  padding: 30px;
  text-align: center;
}
.searchpage .searchcard .teaser {
  -webkit-margin-before: 1rem;
          margin-block-start: 1rem;
}
.searchpage .pagination ul {
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 0.8333333333rem;
}
