@charset "UTF-8";
/*  1 - SETTINGS
 *  Global variables, site-wide settings,
 *  config switches etc.
 *
 *  The order in which these Sass files
 *  are loaded is critical!
 *  So please be careful when editing
  =========================================================== */
/* ==========================================================================
   Config settings
   ========================================================================== */
/* ============================================
   Define breakpoints for given formats
   ============================================ */
/* =========================================================
   Organize color variables in a Sass Map.
   This way, the colors can be iterated, are more organized,
   and are more intuitive to reference.
   ========================================================= */
/** =====================================================================================
 *  Defines the typographic baseline.
 *  We define every size in pixels, the underlying system converts the
 *  respective units to the responsive REM value.
 ===================================================================================== */
/**
 * Our base font-size and line-height
 */
/**
 *	Here we assign short names for the font families
 */
/*  2 - TOOLS
 *  Site wide mixins and functions
 =========================================================== */
/* ==========================================================================
  Functions used in grid calculation
  ========================================================================== */
/**
  * Return percentage based on amount of columns
  * Use parent column size to adjust the origin
  */
/**
  * Default function for columns
  * Return as percentage
  */
/**
  * Return as viewport width
  */
/* ==========================================================================
 * Font related functions
 * ========================================================================== */
/**
 *  Mixin for setting font-size in REM through a Sass Map with all available sizes

    USAGE:

    .myClass {
        @include font-size(xl);
    }

 */
/**
 *  Mixin for setting font-weight through a Sass Map with all available weights

    USAGE:

    .myClass {
        @include font-weight(semi-bold);
    }


    .myClass {
        @include font-weight(700);
    }

 */
/**
 *	A simple function for accessing the font families from our mapping

	USAGE:

	span {
		@include font-family(primary);
	}

 */
/* Media query mixin for writing Mobile First
 * ========================================== */
/** =====================================================================================
 *  Toolbox functions
 ===================================================================================== */
/**
 *  Maths helpers.
 *  Halve and double numbers, returning rounded integers.

    USAGE:

    .foo {
        padding: halve(30px);
    }

 */
/**
 *  Remove the unit of a length
 *  @param {Number} $number - Number to remove unit from
 *  @return {Number} - Unitless number
 */
/* Check if value is number */
/* Value to Em */
/* Value to Rem */
/**
 *	A simple function for accessing the colors from our mapping
 *	To access colors in our palette, we use a very simple custom Sass function

	USAGE:

	a {
		color: palette(primary);

		&:hover {
			color: palette(primary, 400);
		}
	}

 */
/*
 * Set vertical spacing for viewport larger than mobile
 * In flexible units (vw) and on max viewport in a fixed amount (px)

 USAGE:

 .example {
	 @include vspacing(
		'padding-top' 0.5,
		'margin-bottom' 1
	);
  }

 */
/**
 *	A simple function for setting a consistent box-shadow

	USAGE:

	.card {
		@include box-shadow;
	}

	.card--alt {
		@include box-shadow(low);
	}

 */
/**
 *	A simple function for setting a consistent border-radius

	USAGE:

	.card {
		@include border-radius;
	}

	.card--alt {
		@include border-radius(l);
	}

 */
/**
 * Lobotomized Owl Selector mixin:
 * - Set spacing for consecutive items with margin-top on all but the first item

	USAGE:

	.box {
		@include owl-children;
	}

	.card__item {
		@include owl;
	}

 */
/**
 *  Show hyphens for every browser supporting it
 *  and will break lines in every other browser
 */
/*
 *  Restrict an element to a max-width for creating gutters on the side
 */
/*
 * A mixin to set elements to its own named grid-area
 * --------------------------------------------------
 * USAGE:
 *
 * @include template(body, form, extra);
 */
/** =================================================================================================
 *  The 'z-index-map' is used for managing the elements stacking order in the 'root' stacking context
 *  This way we have a overview of all the z-index values that are used across the project.
 ==================================================================================================== */
/**
    USAGE:

    @include z(z-modal);

 */
/*  3 - ELEMENTS
 *  Plain old simple HTML elements without a class (type selectors)
 =========================================================== */
/* ==========================================================================
 * Basic elements (no class selectors allowed)
 * ========================================================================== */
/**
 * Set up the html
 *
 * 1. Makes sure that some fonts are better rendered
 * 2. Set font to lining figures
 */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "lnum";
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Open Sans", sans-serif;
  margin: 0;
  color: #485B63;
}

/**
 * [1] Make sure elements like input and textarea inherit some base properties
 *     https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
 *
 * [2] Setting box-sizing the best way per:
 *     https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
* {
  font-family: inherit;
  line-height: inherit;
  color: inherit;
}
*, *:before, *:after {
  box-sizing: inherit;
}

/**
 * [1] Turn off text-shadow when selecting text for better readability
 */
::-moz-selection {
  background: #1776DD;
  color: #E5F2FF;
  text-shadow: none; /* [1] */
}
::selection {
  background: #1776DD;
  color: #E5F2FF;
  text-shadow: none; /* [1] */
}

/* Remove default margin around figure
 */
figure {
  margin: 0;
}

/**
 * [1] Setting 'vertical-align' removes the whitespace that appears under 'img'
 *	   elements when they are dropped into a page as-is. Safer alternative to
 *	   using 'display: block;'.
 * [2] Remove border / especially on older browsers
 */
img, svg {
  vertical-align: middle; /*[1]*/
  border: none; /*[2]*/
  max-width: 100%;
}

/**
 * Still add display block to svg and picture to prevent unwanted spacing or collapsing
 */
svg, picture {
  display: block;
}

/**
 *  Needed for iOS to prevent input zooming
 *  https://uxcellence.com/2014/01/15/quick-fix-increase-font-size-to-16px-to-fix-input-zoom
 */
input,
select,
textarea {
  font-size: 16px;
}

a {
  color: #1776DD;
  text-decoration: none;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
a:not([class]):hover {
  color: #1F292D;
  text-decoration: underline;
}

h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
  margin-top: 0;
  margin-bottom: 0;
}

strong {
  font-weight: 800;
}

@media screen and (min-width: 768px) {
  .mobile-visible {
    display: none !important;
  }
}

[v-cloak] {
  display: none !important;
}

h1 {
  font-size: 2.5rem;
  font-size: clamp(1.375rem, 0.9323189927rem + 1.888772298vw, 2.5rem);
  line-height: 1.2;
}

h2 {
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
}

h3 {
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
}

h4 {
  font-size: 1.125rem;
  font-size: clamp(1rem, 0.9508132214rem + 0.2098635887vw, 1.125rem);
  line-height: 1.3333333333;
}

h5, h6 {
  font-size: 1rem;
  line-height: 1.5;
}

/** =====================================================================================
 *  Lists
 ===================================================================================== */
/**
 *	Default indentation value for lists
 */
ul,
ol {
  padding: 0;
  margin: 0;
  margin-left: 1.125em;
}

dd {
  margin-left: 0;
}

/**
 *	Remove extra vertical spacing when nesting lists.
 */
li > ul,
li > ol {
  margin-bottom: 0;
}

/** =====================================================================================
 *  Root element
 ===================================================================================== */
:root {
  --gutter-size: calc(1 / 14 * 100%);
  --max-size: 1288px;
  --block-gap: clamp(56px, 6vw, 96px);
  --slant-height: calc( 95 / 1440 * 100vw);
  --o-header-offset: 20px;
  --o-header-height: 66px;
}

/*  4 - Layout elements
 *  Design patterns (e.g. grids or media object)
 =========================================================== */
.l-body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/*==========================================================================
 * Contains
 * ========================================================================== */
.l-contain {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
}

.l-contain--small {
  max-width: 800px;
}

.l-contain--wide {
  max-width: 1288px;
}

/**
 * Contain classes used when only
 */
.l-contain\@s {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
}
@media screen and (min-width: 400px) {
  .l-contain\@s {
    width: calc(100% / 14 * 12);
  }
}

.l-contain\@m {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
}
@media screen and (min-width: 800px) {
  .l-contain\@m {
    width: calc(100% / 14 * 12);
  }
}

.l-contain\@l {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
}
@media screen and (min-width: 1152px) {
  .l-contain\@l {
    width: calc(100% / 14 * 12);
  }
}

/**
 * Contain classes used when nested inside an 'l-contain@x' class
 * To get the content on the grid when nested inside a contain class
 */
.l-contain\^s {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 399px) {
  .l-contain\^s {
    width: calc(100% / 14 * 12);
  }
}

.l-contain\^m {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 799px) {
  .l-contain\^m {
    width: calc(100% / 14 * 12);
  }
}

.l-contain\^l {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1151px) {
  .l-contain\^l {
    width: calc(100% / 14 * 12);
  }
}

.l-double__left {
  grid-area: left;
  display: block;
}
.l-double__right {
  grid-area: right;
  display: block;
}
.l-double {
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-template-columns: minmax(0, 1fr);
  grid-row-gap: 32px;
  grid-template-areas: "left" "right";
  padding-block: 40px;
}
@media screen and (min-width: 1152px) {
  .l-double {
    grid-template-rows: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: 7.1428571429%;
    grid-template-areas: "left right";
  }
}

@media screen and (min-width: 1152px) {
  .l-double--wide {
    grid-template-columns: 5fr minmax(560px, 6fr);
  }
}

@media screen and (min-width: 1152px) {
  .l-double--reversed {
    grid-template-areas: "right left";
  }
}
@media screen and (min-width: 1152px) {
  .l-double--reversed.l-double--wide {
    grid-template-columns: minmax(560px, 6fr) 5fr;
  }
}

.l-double__left-button,
.l-double__right-button {
  margin-top: 16px;
}
@media screen and (max-width: 1154px) {
  .l-double__left-button,
  .l-double__right-button {
    margin-top: 0;
    margin-bottom: 24px;
  }
}

.l-main {
  flex: 1;
  overflow: hidden;
}
@media screen and (min-width: 920px) {
  .l-main:has(.o-hero:first-child) {
    margin-top: calc((var(--o-header-height) + var(--o-header-offset) + var(--o-header-offset)) * -1);
  }
}

/*==========================================================================
 * Restrict
 *
 * When a block shouldn't take up the whole width of the container
 * we can restrict the maximum width
 * ========================================================================== */
@media screen and (min-width: 1152px) {
  .l-restrict-1 {
    margin-left: auto;
    margin-right: auto;
    width: 83.3333333333%;
  }
}

@media screen and (min-width: 1152px) {
  .l-restrict-2 {
    margin-left: auto;
    margin-right: auto;
    width: 83.3333333333%;
  }
}
@media screen and (min-width: 1344px) {
  .l-restrict-2 {
    width: 66.6666666667%;
  }
}

@media screen and (min-width: 800px) {
  .l-restrict-3 {
    margin-left: auto;
    margin-right: auto;
    width: 83.3333333333%;
  }
}
@media screen and (min-width: 1152px) {
  .l-restrict-3 {
    width: 66.6666666667%;
  }
}
@media screen and (min-width: 1344px) {
  .l-restrict-3 {
    width: 50%;
  }
}

/*  5 - COMPONENTS
 *  Discrete complete chunks of UI.
 *  Designed components
 =========================================================== */
/** ==========================================================================
 * Components
 * =========================================================================*/
.c-activity-card {
  --title-color: #12332A;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: #fff;
  height: 96%;
}
.c-activity-card:hover {
  --title-color: #FF7700;
}

.c-activity-card__head {
  position: relative;
}

.c-activity-card__favorite {
  padding-block: 6px;
  padding-inline: 12px;
  position: absolute;
  top: 12px;
  left: 10px;
  right: 10px;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 40px;
  background-color: #FF7700;
  color: #3F0902;
  font-size: 12px;
}

.c-activity-card__image {
  width: 100%;
  border-radius: 12px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 24px;
}

.c-activity-card__image--placeholder {
  width: 100%;
  height: 180px;
  border-radius: 12px;
  background-color: #E3E8EA;
  margin-bottom: 24px;
}

.c-activity-card__title {
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
  font-weight: 600;
  color: var(--title-color);
  margin-bottom: 16px;
}

.c-activity-card__list {
  list-style: none;
  margin-left: 0;
}

.c-activity-card__link {
  text-decoration: none;
  padding: 16px;
  height: 100%;
}
.c-activity-card__link-wrapper {
  width: 78%;
  text-decoration: none;
  padding: 0 16px 0 16px;
  height: 100%;
}

.c-activity-card__item {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 400;
  color: #12332A;
  display: flex;
  align-items: center;
  gap: 8px;
}
.c-activity-card__item::before {
  content: "";
  height: 20px;
  width: 20px;
  min-width: 20px;
  background-image: url(/img/check.svg);
}

.c-activity-slider__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 16px;
}

.c-activity-card__tag {
  --icon-url: url(/img/clock.svg);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  width: -moz-fit-content;
  width: fit-content;
  background: #F7E1BF;
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 400;
  color: #482C28;
}
.c-activity-card__tag::before {
  content: "";
  height: 16px;
  width: 16px;
  background-image: var(--icon-url);
}
.c-activity-card__tag[data-icon=clock] {
  --icon-url: url(/img/clock.svg);
}
.c-activity-card__tag[data-icon=persons] {
  --icon-url: url(/img/persons.svg);
}
.c-activity-card__tag[data-icon=food] {
  --icon-url: url(/img/food.svg);
}

.c-activity-card__wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-right: 16px;
}

.c-activity-card__price {
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
  font-weight: 400;
  color: #12332A;
}

.c-activity-card__price-pp {
  font-weight: 400;
  font-size: 16px;
  color: #12332A;
}

.c-activity-card__button {
  background-color: #FF7700;
  width: 40px;
  height: 40px;
  min-width: 40px;
  display: flex;
  border-radius: 40px;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  margin-bottom: 10px;
}
.c-activity-card__button svg {
  color: #fff;
}

.c-activity-slider {
  --bg-color: #F0F1F2;
  padding-block: var(--block-gap);
  background-color: var(--bg-color);
}
.c-activity-slider.has-green-background {
  --bg-color: #12332A;
}

.c-activity-slider__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 36px;
}

.c-activity-slider__head {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  padding-right: 16px;
  color: #B3E57B;
  font-size: clamp(28px, 5vw, 40px);
  font-weight: 400;
}

.c-activity-slider__tax-switch {
  margin-top: 16px;
}
@media screen and (min-width: 765px) {
  .c-activity-slider__tax-switch {
    margin-top: 0;
  }
}

.c-activity-slider__anchor {
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  padding: 5px 15px;
  border-radius: 20px;
  text-decoration: none;
  background: #fff;
  color: #12332A;
}
.c-activity-slider__anchor.is-active {
  background: #B3E57B;
}

.c-activity-slider__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  gap: 16px;
}

.c-activity-slider__wrapper.swiper {
  overflow: visible !important;
}
.c-activity-slider__wrapper .swiper-slide {
  width: 268px;
  max-width: 100%;
  height: auto;
}

.c-activity-swiper__controls {
  position: relative;
  display: flex;
  width: 100%;
  justify-content: space-between;
  padding-top: 72px;
  color: #B3E57B;
}

.c-activity-swiper__buttons {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  gap: 8px;
  -webkit-user-select: none;
             -moz-user-select: none;
          user-select: none;
}

.c-activity-slider__button {
  color: #B3E57B;
  padding: 8px;
  background-color: #fff;
  border: none;
  height: -moz-max-content;
  height: max-content;
  border-radius: 50%;
  cursor: pointer;
  transition: all 150ms linear;
}
.c-activity-slider__button.is-disabled {
  opacity: 0.2;
  cursor: not-allowed;
  pointer-events: none;
}
.c-activity-slider__button:hover {
  background-color: #FF7700;
  color: #fff;
}

.c-addon {
  background-color: #fff;
  margin-top: 16px;
}

.c-addon__main {
  display: flex;
}

.c-addon__image {
  flex: 0 0 144px;
  position: relative;
  padding: 8px 0px 8px 8px;
  z-index: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-addon__image::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #052A35;
  pointer-events: none;
  transform: matrix(1, 0, -0.5, 1, 0, 0) scale(2);
  transform-origin: right top;
}
.ie .c-addon__image img {
  width: 100%;
}

.c-addon__content {
  padding: 16px;
  min-width: 0; /* override flex-items' default min-width: auto so text can wrap */
}

.c-addon__title {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
  line-height: 1.1;
  text-transform: uppercase;
}

.c-addon__price {
  margin-top: 8px;
  font-weight: 700;
  line-height: 1.2;
}
.c-addon__price sub {
  margin-left: 5px;
  font-size: 0.875rem;
  line-height: 1;
  color: #999EA0;
  vertical-align: unset;
}

.c-addon__action {
  margin-top: 16px;
}

.c-appointment {
  margin-left: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.c-appointment__item {
  font-weight: 700;
  display: flex;
  align-items: center;
}
.c-appointment__item:nth-last-child(n+2) {
  margin-right: 40px;
}
.c-appointment__item[data-icon]::before {
  content: "";
  width: 24px;
  height: 24px;
  display: block;
  margin-right: 8px;
}
.c-appointment__item[data-icon=calendar]::before {
  background-image: url("/img/calendar.svg");
}
.c-appointment__item[data-icon=location]::before {
  background-image: url("/img/location.svg");
}

.c-basket__list {
  margin-left: 0;
  list-style: none;
}

.c-basket__item + .c-basket__item {
  margin-top: 16px;
}
.c-basket__item {
  border-radius: 5px;
  padding: 24px;
  background-color: #fff;
  box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.2);
}

.c-basket__header {
  display: flex;
  align-items: center;
}

.c-basket__image {
  flex: none;
  width: 64px;
  margin-right: 16px;
  text-align: center;
}

.c-basket__no-image {
  background-color: #F0F1F2;
  border-radius: 6px;
  padding: 10px;
}

.c-basket__title {
  flex: auto;
}
@media screen and (min-width: 640px) {
  .c-basket__title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
  }
}

.c-basket__product {
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-weight: 700;
  margin-right: 8px;
  color: #052A35;
}

.c-basket__location {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

.c-basket__remove {
  flex: none;
  border: none;
  padding: 4px;
  color: #999EA0;
  background-color: transparent;
  cursor: pointer;
  transition: color 200ms linear;
}
.c-basket__remove svg {
  width: 18px;
  height: 26px;
}
.c-basket__remove .trash__lid {
  transform: rotate(0) translate3d(0, 0, 0);
  transition: transform 400ms ease-in-out;
}
.c-basket__remove:hover {
  color: #FF4040;
}
.c-basket__remove:hover .trash__lid {
  transform: rotate(10deg) translate3d(0, -3px, 0);
}

.c-basket__main {
  display: flex;
  align-items: flex-start;
  margin: 16px 0;
}
@media screen and (max-width: 639px) {
  .c-basket__main {
    flex-wrap: wrap;
  }
}

.c-basket__time-slot {
  flex: 0 0 200px;
  margin-right: 24px;
}
@media screen and (max-width: 639px) {
  .c-basket__time-slot {
    order: 2;
  }
}

.c-basket__amount {
  flex: 0 0 140px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 499px) {
  .c-basket__amount {
    width: 100%;
    margin-top: 16px;
  }
}
@media screen and (max-width: 639px) {
  .c-basket__amount {
    order: 3;
  }
}
@media screen and (min-width: 640px) {
  .c-basket__amount {
    margin-right: 24px;
  }
}

.c-basket__amount-fixed {
  display: inline-block;
  padding: 12px 0;
}

.c-basket__cost {
  flex: 1 0 auto;
}
@media screen and (max-width: 639px) {
  .c-basket__cost {
    order: 1;
    width: 100%;
    margin-bottom: 32px;
  }
  .c-basket__cost .c-price {
    justify-content: flex-start;
  }
}

.c-basket__add-remark {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 600;
  color: #052A35;
  opacity: 0.8;
  border: none;
  cursor: pointer;
  background-color: transparent;
  transition: color 150ms linear, opacity 150ms linear;
}
.c-basket__add-remark:hover, .c-basket__add-remark:focus {
  outline: none;
  opacity: 1;
  color: #1F292D;
}
.c-basket__add-remark.is-toggled {
  display: none;
}

.c-basket__add-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 18px;
  width: 18px;
  border-radius: 50%;
  line-height: 1;
  background-color: transparent;
  transition: background-color 150ms linear, color 150ms linear;
}
.c-basket__add-remark:hover .c-basket__add-icon {
  font-weight: 700;
  color: white;
  background-color: #B3E57B;
}

.c-basket__remarks .c-form-element__label {
  font-size: 0.8125rem;
  line-height: 1.2307692308;
}

.c-price {
  font-weight: 600;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.c-price__currency {
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 2px;
  margin-right: 8px;
}
.c-price--sub .c-price__currency {
  margin-top: 0;
  margin-right: 4px;
}

.c-price__amount {
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
}
.c-price--sub .c-price__amount {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}

.c-price--sub {
  margin-top: 8px;
  color: #999EA0;
  text-align: right;
}

.breadcrumb {
  display: flex;
  align-items: center;
}

.breadcrumb__arrow {
  padding: 0 10px;
  color: #1776DD;
}

.breadcrumb__link {
  font-weight: 600;
}

/* ==========================================================================
 * Default button
 * ========================================================================== */
.c-button {
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Open Sans", sans-serif;
  border-radius: 5px;
  font-weight: 600;
  line-height: 1.5;
  display: inline-flex;
  align-items: center;
  padding: 12px 0;
  border: none;
  background-color: #12332A;
  color: #B3E57B;
  cursor: pointer;
  text-decoration: none;
  transition-property: background-color;
  transition-duration: 150ms;
  transition-timing-function: linear;
}
.c-button:hover:not(:disabled) {
  background-color: rgb(130.5, 145.8, 0);
}
.c-button:disabled, .c-button.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .c-button--mobile-visible {
    display: none;
  }
}

.c-button__text {
  padding: 0 16px;
}

.c-button__icon {
  margin-right: 16px;
  margin-left: -8px;
}

.c-button--is-reversed {
  flex-direction: row-reverse;
}
.c-button--is-reversed .c-button__icon {
  margin-right: -8px;
  margin-left: 16px;
}

.c-button--secondary {
  background-color: #1F292D !important;
}
.c-button--secondary:hover:not(:disabled) {
  background-color: rgb(20.15, 26.65, 29.25) !important;
}

.c-button--secondary-500 {
  background-color: #BFDCDA !important;
}
.c-button--secondary-500:hover:not(:disabled) {
  background-color: rgb(98.0060606061, 169.1439393939, 164.2378787879) !important;
}

.c-button--secondary-400 {
  background-color: #12332A !important;
}
.c-button--secondary-400:hover:not(:disabled) {
  background-color: rgb(41.0086956522, 116.1913043478, 95.6869565217) !important;
}

.c-button--tertiary {
  background-color: #FF7700 !important;
  color: #3F0902 !important;
}
.c-button--tertiary:hover:not(:disabled) {
  background-color: rgb(255, 146.2, 51) !important;
}

.c-button--quaternary {
  background-color: #F7E1BF !important;
  color: #482C28 !important;
}
.c-button--quaternary:hover:not(:disabled) {
  background-color: rgb(248.6, 231, 203.8) !important;
}

.c-button--cta {
  --bg: #FF7700;
  --text-color: #052A35;
  --icon-color: #fff;
  background-color: var(--bg);
  color: var(--text-color);
}
.c-button--cta:hover:not(:disabled) {
  background-color: color-mix(in lab, var(--bg), white 13%);
}

.c-button--light {
  --bg: #fff;
  --text-color: #052A35;
  --icon-color: #B3E57B;
  background-color: var(--bg);
  color: var(--text-color);
}
.c-button--light:hover:not(:disabled) {
  background-color: color-mix(in lab, var(--bg), black 7%);
}

.c-button--roomy {
  padding-left: 16px;
  padding-right: 16px;
}

.c-button--large {
  font-size: 1.125rem;
  font-size: clamp(1rem, 0.9508132214rem + 0.2098635887vw, 1.125rem);
  line-height: 1.3333333333;
  min-width: 260px;
  max-width: 384px;
  justify-content: center;
  padding-block: 16px;
}

.c-button--wide {
  width: 100%;
  justify-content: center;
}

.c-button--fit-content {
  width: -moz-fit-content;
  width: fit-content;
}

.c-button--big {
  font-family: "Open Sans", sans-serif;
  height: auto;
  font-size: clamp(14px, 2.8cqi, 21px);
  font-weight: 600;
  border-radius: clamp(8px, 1.6cqi, 16px);
  padding-block: clamp(10px, 2cqi, 24px);
  padding-inline: clamp(14px, 2.8cqi, 32px);
}
.c-button--big .c-button__text {
  padding: 0;
}
.c-button--big .c-button__icon {
  margin-inline: 16px 0;
  color: var(--icon-color);
}
.c-button--big .c-button__icon svg {
  width: 24px;
  height: auto;
  aspect-ratio: 1;
}

.c-button--text {
  padding: 0;
  background: none;
  color: #052A35;
}
.c-button--text .c-button__text {
  padding: 0;
}
.c-button--text .c-button__icon {
  color: #B3E57B;
  margin-inline: 16px 0;
}
.c-button--text:hover:not(:disabled) {
  background: none;
  color: #111A1E;
  text-decoration: underline;
}

.c-button__reservation {
  padding: 8px 16px;
  margin-bottom: 24px;
}

.c-card {
  display: block;
  width: 100%;
}

.c-card--on-dark {
  color: #fff;
}

.c-card__image-placeholder {
  position: relative;
}

.c-card__image img {
  width: 100%;
}

.c-card__body {
  margin-top: 24px;
}

.c-card__title {
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-family: "Archivo", sans-serif;
  color: #482C28;
}

.c-card__subtitle {
  opacity: 0.5;
}

.c-card__content {
  margin-top: 8px;
  margin-bottom: 8px;
  color: #482C28;
}

.c-cart-button {
  position: relative;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-family: "Archivo Black", "Arial Black", sans-serif;
  border-radius: 5px;
  display: inline-flex;
  aspect-ratio: 1;
  align-items: center;
  padding-block: 8px;
  padding-inline: 16px;
  background: #B3E57B;
  color: #12332A;
  overflow: hidden;
}
.c-cart-button:after {
  font-size: 0.6875rem;
  content: attr(data-item);
  position: absolute;
  top: 7px;
  right: 7px;
  height: 16px;
  min-width: 16px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  color: #fff;
  background-color: #ff4040;
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s ease-in-out;
}
.c-cart-button[data-item="0"]:after {
  display: none;
}
.c-cart-button:before {
  content: "";
  position: absolute;
  left: -25%;
  top: 100%;
  display: block;
  height: 100%;
  width: 180%;
  background-color: #91A200;
  transform-origin: 100% 0;
  transform: rotate(var(--before-rotation, 0deg));
  transition: transform 0.3s ease-in-out;
}
.c-cart-button:hover {
  --before-rotation: 17deg;
}

.c-cart-button--animate:before {
  transform: rotate(17deg);
}

.c-cart-button__icon {
  position: relative;
  top: 4px;
}
.c-cart-button:hover .c-cart-button__icon, .c-cart-button--animate .c-cart-button__icon {
  animation: cartMoving 2s infinite;
}

.c-cart-button__icon-placeholder {
  position: relative;
  display: inline-block;
  transform-origin: 80% 64%;
  transform: rotate(0) translate3d(0, 0, 0);
  transition: transform 0.3s ease-in-out;
}
.c-cart-button__icon-placeholder:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 6px;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 80%);
  transform: rotate(-10deg);
  transform-origin: 80% 64%;
  opacity: 0;
  transition: opacity 0.2s ease-in-out 0.1s;
}
.c-cart-button:hover .c-cart-button__icon-placeholder, .c-cart-button--animate .c-cart-button__icon-placeholder {
  transform: rotate(15deg) translate3d(-3px, 7px, 0);
}
.c-cart-button:hover .c-cart-button__icon-placeholder:before, .c-cart-button--animate .c-cart-button__icon-placeholder:before {
  opacity: 1;
}

.c-cart-button__speed-icons {
  position: absolute;
  left: -10px;
  bottom: 10px;
  display: block;
  width: 10px;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.c-cart-button__speed-icons > * + * {
  margin-top: 2px;
}
.c-cart-button:hover .c-cart-button__speed-icons, .c-cart-button--animate .c-cart-button__speed-icons {
  opacity: 1;
}

.c-cart-button__speed-icon {
  display: block;
  height: 2px;
  width: 100%;
  background-color: white;
}
.c-cart-button__speed-icon:nth-child(1) {
  animation: cartSpeedLines 1s infinite;
}
.c-cart-button__speed-icon:nth-child(2) {
  animation: cartSpeedLines 1s infinite -100ms;
}

.c-cart-button__text {
  margin-left: 8px;
}
.c-cart-button--loader .c-cart-button__text {
  margin-left: 32px;
}

@keyframes cartMoving {
  0% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(2px, -2px, 0);
  }
}
@keyframes cartSpeedLines {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  25% {
    transform: translate3d(25%, 0, 0);
  }
  50% {
    opacity: 1;
    transform: translate3d(50%, 0, 0);
  }
  75% {
    opacity: 1;
    transform: translate3d(75%, 0, 0);
  }
  100% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.c-cart-button--loader {
  background-color: #052A35;
  padding-right: 40px;
  padding-top: 16px;
  padding-bottom: 16px;
  align-items: flex-end;
}
.c-cart-button--loader:before {
  left: 0;
  top: auto;
  bottom: 0;
  transform: none !important;
  background-color: transparent;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 0 0 110px;
  border-color: transparent transparent transparent #B3E57B;
}

.c-close {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  transition: transform 180ms ease-out;
}
.c-close:focus-visible {
  box-shadow: 0 0 3px 2px white;
}
.c-close:after, .c-close:before {
  content: "";
  position: absolute;
  top: 20px;
  right: 20%;
  left: 20%;
  height: 3px;
  margin-top: -2px;
  pointer-events: none;
  background: white;
  border-radius: 3px;
}
.c-close:before {
  transform: rotate(45deg);
}
.c-close:after {
  transform: rotate(-45deg);
}
.c-close:hover {
  transform: scale(1.2);
}

.c-checkbox {
  -webkit-user-select: none;
             -moz-user-select: none;
          user-select: none;
}
.c-checkbox.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}

.c-checkbox__input {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

.c-checkbox__text {
  position: relative;
  display: inline-block;
  padding-left: 24px; /* 16px width of fake checkbox + gap */
  color: #12332A;
}
.c-checkbox__text::before, .c-checkbox__text::after {
  position: absolute;
  content: "";
  /*Needed for the line-height to take effect*/
  display: inline-block;
}
.c-checkbox__text {
  /*Outer box of the fake checkbox*/
}
.c-checkbox__text::before {
  height: 16px;
  width: 16px;
  background-color: #fff;
  border: 1px solid #CCCCCC;
  top: 5px;
  left: 0;
  border-radius: 2px;
  transition: all 150ms linear;
}
.c-checkbox__text {
  /*Checkmark of the fake checkbox*/
}
.c-checkbox__text::after {
  height: 5px;
  width: 10px;
  top: 10px;
  left: 3px;
  color: #fff;
  border-left: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(-53deg);
}
.c-checkbox__text {
  /*Hide the checkmark by default*/
}
.c-checkbox__input + .c-checkbox__text::after {
  content: none;
}
.c-checkbox__text {
  /*Unhide on the checked state*/
}
.c-checkbox__input:checked + .c-checkbox__text::before {
  background-color: #1776DD;
  border-color: #1776DD;
}
.c-checkbox__input:checked + .c-checkbox__text::after {
  content: "";
}
.c-checkbox__text {
  /*Adding focus styles on the outer-box of the fake checkbox*/
}
.c-checkbox__input:focus + .c-checkbox__text::before {
  outline: rgb(59, 153, 252) auto 5px;
  outline: none;
  box-shadow: 0 0 7px -3px rgba(5, 42, 53, 0.7);
  border-color: #999EA0;
}

.c-check-list + .c-check-list {
  margin-top: 40px;
}
.c-check-list {
  list-style: none;
  margin-left: 0;
}
.c-check-list::before {
  font-weight: 700;
  display: inline-block;
  content: attr(aria-label);
  margin-bottom: 8px;
}

.c-check-list__item {
  margin-top: 2px;
}

.c-cookie-overlay {
  position: fixed;
  z-index: 900;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 1;
  transition: opacity 0.5s;
}
.c-cookie-overlay.is-accepted {
  display: none;
}
.c-cookie-overlay.fade-out {
  opacity: 0;
}

.c-cookie-overlay__modal {
  display: block;
  width: 92%;
  max-width: 960px;
  padding: 60px 120px;
  margin: auto;
  background-color: white;
}

.c-cookie-overlay__container.is-hidden {
  display: none;
}

.c-cookie-overlay__title {
  font-size: 24px;
  line-height: 1;
  font-weight: 500;
  margin: 0 0 5px;
}

.c-cookie-overlay__text {
  font-size: 16px;
  line-height: 1.2;
  margin: 0;
  color: #12332A;
}

.c-cookie-overlay__link {
  text-decoration: underline;
  color: #1776DD;
  cursor: pointer;
  transition: color 0.3s;
}
.c-cookie-overlay__link:hover {
  color: rgba(23, 118, 221, 0.75);
}

.c-cookie-overlay__button {
  display: inline-block;
  margin-top: 35px;
  padding: 13px 25px;
  border-radius: 4px;
  background-color: #1776DD;
  transition: background-color 0.4s;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 500;
  color: white;
  cursor: pointer;
  outline: none;
  border: none;
}
.c-cookie-overlay__button:hover {
  background-color: rgb(19.1540983607, 98.268852459, 184.0459016393);
}

.c-cookie-overlay__types, .c-cookie-overlay__settings {
  margin: 30px 0;
}
.c-cookie-overlay__types > * + *, .c-cookie-overlay__settings > * + * {
  margin-top: 25px;
}

.c-cookie-overlay__settings {
  margin-bottom: 0;
}

.c-cookie-switch__title {
  font-size: 24px;
  line-height: 1;
  font-weight: 500;
  margin: 0 0 5px;
}

.c-cookie-switch__text {
  font-size: 16px;
  line-height: 1.2;
  margin: 0;
  color: #12332A;
}

.c-cookie-switch__settings {
  margin: 30px 0 0;
}
.c-cookie-switch__settings > * + * {
  margin-top: 25px;
}

.c-cookie-switch__button {
  display: inline-block;
  margin-top: 35px;
  padding: 13px 25px;
  border-radius: 4px;
  background-color: #1776DD;
  transition: background-color 0.4s;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 500;
  color: white;
  cursor: pointer;
  outline: none;
  border: none;
}
.c-cookie-switch__button:hover {
  background-color: rgb(19.1540983607, 98.268852459, 184.0459016393);
}

.c-cookie-type {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
.c-cookie-type--static {
  pointer-events: none;
}

.c-cookie-type__icon {
  display: block;
  margin: 0;
  width: 26px;
  height: 26px;
}
.c-cookie-type__icon svg {
  width: 100%;
  max-height: 26px;
}

.c-cookie-type--static .c-cookie-type__input {
  opacity: 0.3;
}

.c-cookie-type__text {
  margin: 0;
  width: calc(100% - 55px);
  font-size: 14px;
  line-height: 1.2;
  color: #12332A;
}

.c-cookie-type__title {
  display: block;
  margin: 0 0 5px;
  font-size: 18px;
  font-weight: 600;
}

.c-cta {
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  padding-block: 40px;
}
.c-cta.has-green-bg {
  background-image: linear-gradient(to bottom, transparent 50%, #B3E57B 50%);
}

.c-cta__main {
  border-radius: 10px;
  background-color: #12332A;
  padding-block: clamp(32px, 5vw, 56px);
  padding-inline: clamp(32px, 5vw, 56px);
  grid-column: 2;
}

.c-cta__grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;
  align-items: center;
  justify-items: center;
  -moz-column-gap: clamp(32px, 2vw, 56px);
       column-gap: clamp(32px, 2vw, 56px);
}
@media screen and (min-width: 768px) {
  .c-cta__grid {
    grid-template-columns: 1fr 2fr;
  }
}

.c-cta__picture {
  width: 100%;
  align-self: stretch;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .c-cta__picture {
    margin-left: 0;
    justify-content: flex-end;
  }
}

.c-cta__image {
  aspect-ratio: 1;
  height: auto;
  max-height: 170px;
  border-radius: 100%;
  transform: scaleX(-1);
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .c-cta__image {
    margin-bottom: 0;
  }
}

.c-cta__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-cta__content {
    justify-content: flex-start;
    flex-direction: inherit;
  }
}

.c-cta__title {
  max-width: 300px;
  margin-bottom: 8px;
  color: #fff;
  font-size: clamp(24px, 3vw, 32px);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-cta__title {
    max-width: 560px;
    text-align: inherit;
  }
}

.c-cta__subtitle {
  width: 100%;
  max-width: 300px;
  color: #E3E8EA;
  font-size: clamp(15px, 3vw, 20px);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-cta__subtitle {
    max-width: 100%;
    text-align: inherit;
  }
}

.c-cta__button {
  margin-top: 32px;
  margin-inline: auto;
}
.c-cta__button svg {
  width: 24px;
  height: 24px;
  color: #B3E57B;
}
@media screen and (min-width: 768px) {
  .c-cta__button {
    margin-inline: inherit;
  }
}

.c-customer-logo-slider {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
}
.ie .c-customer-logo-slider {
  grid-template-columns: 1fr calc(100% - 120px) 1fr;
}

.c-customer-logo-slider__container {
  position: relative;
  width: 100%;
  grid-column: 2;
  opacity: 1;
  transition: opacity 0.3s;
}
.c-customer-logo-slider__container.is-loading {
  opacity: 0;
}

.c-customer-logo-slider__button {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  cursor: pointer;
  border: none;
  color: white;
  background-color: #052A35;
  border-radius: 50%;
  transition: background-color 0.2s, color 0.2s;
}
.ie .c-customer-logo-slider__button {
  margin-top: 15px;
}
@media screen and (min-width: 1100px) {
  .c-customer-logo-slider__button {
    width: 24px;
    height: 24px;
  }
}
.c-customer-logo-slider__button:active, .c-customer-logo-slider__button:focus {
  outline: none;
  background-color: #52777F;
}
.c-customer-logo-slider__button:hover {
  background-color: #52777F;
}
.c-customer-logo-slider__button[disabled] {
  opacity: 0.3;
}
.c-customer-logo-slider__button.previous {
  right: 15px;
}
.c-customer-logo-slider__button.next {
  left: 15px;
  grid-column: 3;
  margin-left: auto;
}
.c-customer-logo-slider__button.next svg {
  margin-left: 1px;
}

.c-customer-logo-slider__placeholder {
  width: 15%;
}
.c-customer-logo-slider__placeholder:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 50%;
}

.c-customer-logo-slider__item {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  display: block;
  width: 15%;
  transform: scale3d(0, 0, 1);
  transition: left 0.4s, opacity 0.4s, transform 0.4s;
  transition-timing-function: ease-in-out;
}
.c-customer-logo-slider__item.is-hidden {
  display: none;
  pointer-events: none;
}

.c-customer-logo-slider__item--position-1 {
  opacity: 1;
}

.c-customer-logo-slider__item--position-1,
.c-customer-logo-slider__item--position-5 {
  transform: scale3d(0.5, 0.5, 1);
}

.c-customer-logo-slider__item--position-3 {
  transform: scale3d(1, 1, 1);
}

.c-customer-logo-slider__item--position-2,
.c-customer-logo-slider__item--position-4 {
  transform: scale3d(0.65, 0.65, 1);
}

.c-customer-logo-slider__item--position-2 {
  left: 21.25%;
  opacity: 1;
}

.c-customer-logo-slider__item--position-3 {
  left: 42.5%;
  opacity: 1;
}

.c-customer-logo-slider__item--position-4 {
  left: 63.75%;
  opacity: 1;
}

.c-customer-logo-slider__item--position-5 {
  left: 85%;
  opacity: 1;
}

.c-customer-logo-slider__item--pre-previous {
  left: -15%;
  pointer-events: none;
}

.c-customer-logo-slider__item--pre-next {
  left: 100%;
  pointer-events: none;
}

.c-customer-logo-slider__logo {
  width: 100%;
  height: 0;
  padding-bottom: 50%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.4s;
}
.c-customer-logo-slider__item:hover .c-customer-logo-slider__logo {
  opacity: 1;
}

@media screen and (max-width: 1099px) {
  .c-customer-logo-slider__placeholder {
    width: 20%;
  }
  .c-customer-logo-slider__item {
    width: 20%;
  }
  .c-customer-logo-slider__item--position-2 {
    left: 26.6666666667%;
  }
  .c-customer-logo-slider__item--position-3 {
    left: 53.3333333333%;
  }
  .c-customer-logo-slider__item--position-4 {
    left: 80%;
  }
  .c-customer-logo-slider__item--position-2,
  .c-customer-logo-slider__item--position-3 {
    transform: scale3d(1, 1, 1);
  }
  .c-customer-logo-slider__item--position-1,
  .c-customer-logo-slider__item--position-4 {
    transform: scale3d(0.65, 0.65, 1);
  }
  .c-customer-logo-slider__item--position-5 {
    left: 100%;
    pointer-events: none;
    opacity: 0;
    transform: scale3d(0, 0, 1);
  }
}
@media screen and (max-width: 799px) {
  .c-customer-logo-slider__placeholder {
    width: 28%;
  }
  .c-customer-logo-slider__item {
    width: 28%;
  }
  .c-customer-logo-slider__item--position-2 {
    left: 36%;
  }
  .c-customer-logo-slider__item--position-3 {
    left: 72%;
  }
  .c-customer-logo-slider__item--position-1,
  .c-customer-logo-slider__item--position-3 {
    transform: scale3d(0.65, 0.65, 1);
  }
  .c-customer-logo-slider__item--position-4 {
    left: 100%;
    pointer-events: none;
    opacity: 0;
    transform: scale3d(0, 0, 1);
  }
}
@media screen and (max-width: 549px) {
  .c-customer-logo-slider {
    grid-template-columns: 20px 1fr 20px;
  }
  .c-customer-logo-slider__button.next {
    left: 5px;
  }
  .c-customer-logo-slider__placeholder {
    width: 30%;
  }
  .c-customer-logo-slider__item {
    width: 30%;
  }
  .c-customer-logo-slider__item--position-2 {
    left: 35%;
  }
  .c-customer-logo-slider__item--position-3 {
    left: 70%;
  }
}
.c-details__title {
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-weight: 700;
  font-family: "Archivo", sans-serif;
  margin-bottom: 24px;
}

.c-details__section + .c-details__section {
  margin-top: 16px;
}

.c-details__subtitle {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  text-transform: uppercase;
}

.c-dialog {
  display: flex;
  position: fixed;
  align-self: center;
  width: min(542px, 100%);
  margin: 0 auto;
  padding: 20px;
  background-color: white;
  border: 1px solid #CCCCCC;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
}
.c-dialog[open] {
  opacity: 1;
  pointer-events: all;
}
.c-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

.c-dialog__wrapper {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}

.c-dialog__close {
  width: -moz-fit-content;
  width: fit-content;
  border: none;
  background-color: transparent;
  cursor: pointer;
  padding-left: 0;
  padding-bottom: 8px;
}
.c-dialog__close:where(:hover, :focus-visible) {
  outline-color: gray;
}
.c-dialog__close svg {
  color: #B3E57B;
}
.c-dialog__close svg:where(:hover) {
  color: #111A1E;
}

.c-divider {
  height: 75px;
  background-color: transparent;
}
.c-divider__has-bg-white {
  background-color: #fff;
}
.c-divider__has-bg-grey {
  background-color: #F0F1F2;
}
.c-divider__has-bg-green {
  background-color: #B3E57B;
}
.c-divider__has-bg-lightblue {
  background-color: #12332A;
}
.c-divider__has-bg-darkblue {
  background-color: #052A35;
}

.c-dvdlb {
  margin-top: 80px;
  display: grid;
  -moz-column-gap: 120px;
       column-gap: 120px;
  row-gap: 64px;
  background: white;
}
@media screen and (min-width: 1152px) {
  .c-dvdlb {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-dvdlb__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.c-experiences__placeholder {
  margin: auto;
}

.c-experiences__heading {
  margin-bottom: 32px;
  text-align: center;
}
@media screen and (max-width: 384px) {
  .c-experiences__heading {
    font-size: 1.25rem;
    font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
    line-height: 1.5;
  }
}
@media screen and (min-width: 1140px) {
  .c-experiences__heading {
    margin-bottom: 80px;
  }
}

.c-experiences__fat-text {
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  font-weight: 800;
  text-transform: uppercase;
}

@media screen and (min-width: 1140px) {
  .c-experiences__grid {
    display: flex;
    justify-content: space-between;
  }
}

.c-experiences__program {
  position: relative;
  background-color: #f9f9fa;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1139px) {
  .c-experiences__program {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-experiences__program + .c-experiences__program {
    margin-top: 60px;
  }
  .c-experiences__program.c-experiences__program--highlighted {
    margin-top: 105px;
  }
}
@media screen and (min-width: 1140px) {
  .c-experiences__program {
    width: calc((100% - 40px) / 3);
  }
}

.c-experiences__highlight-label {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  padding: 10px 20px;
  background: #B3E57B;
  color: white;
  text-align: center;
  border-radius: 10px 10px 0 0;
  transform: translateY(-100%);
}

.c-experiences__title {
  font-size: 20px;
  text-align: center;
  padding: 15px 5px;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-experiences__price {
  padding: 10px 0;
  text-align: center;
  border-top: 1px solid rgba(82, 119, 127, 0.35);
  border-bottom: 1px solid rgba(82, 119, 127, 0.35);
}

.c-experiences__amount {
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-weight: 700;
  color: #B3E57B;
}
.c-experiences__amount sup {
  position: relative;
  top: 4px;
  margin-left: 4px;
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
  font-weight: 600;
}
.c-experiences__amount:before {
  position: relative;
  top: -7px;
  content: "€";
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
  font-weight: 600;
  color: rgba(82, 119, 127, 0.35);
}

.c-experiences__price-text {
  padding: 0 5px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
}

.c-experiences__list {
  list-style: none;
  margin: 15px 0;
  padding: 15px 20px;
  border-top: 1px solid rgba(82, 119, 127, 0.35);
  border-bottom: 1px solid rgba(82, 119, 127, 0.35);
  flex: 1;
}
@media screen and (min-width: 1140px) {
  .c-experiences__list {
    min-height: 285px;
  }
}

.c-experiences__list-item {
  position: relative;
  padding: 5px 10px 5px 30px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 600;
  color: #052A35;
}
.c-experiences__list-item:before {
  position: absolute;
  left: 10px;
  top: 14px;
  content: "";
  display: inline-block;
  height: 6px;
  width: 6px;
  border-radius: 50%;
  background-color: #E2EF7A;
}
.c-experiences__list-item + .c-experiences__list-item {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.c-experiences__ratings {
  padding: 0 25px;
  margin: 15px auto 0;
}

.c-experiences__rating + .c-experiences__rating {
  margin-top: 12px;
}

.c-experiences__rating-label {
  margin-bottom: 2px;
}

.c-experiences__cow {
  display: inline-block;
}

.c-experiences__cow--inactive {
  opacity: 0.3;
}

.c-experiences__pay-offs {
  margin: 20px 0 15px;
}
@media screen and (min-width: 1140px) {
  .c-experiences__pay-offs {
    margin: 15px 0 10px;
  }
}

.c-experiences__pay-off {
  display: flex;
  justify-content: center;
}
.c-experiences__pay-off + .c-experiences__pay-off {
  margin-top: 6px;
}

.c-experiences__icon {
  display: inline-block;
  margin-right: 5px;
}
.c-experiences__icon svg {
  position: relative;
}

.c-experiences__icon--clock svg {
  top: -3px;
}

.c-experiences__icon--group svg {
  top: -2px;
}

.c-experiences__icon--fork svg {
  top: -2px;
}

.c-experiences__offer {
  margin: 13px 0;
  padding: 12px 0;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 600;
  color: #999EA0;
  text-align: center;
  background-color: rgba(82, 119, 127, 0.1);
}

.c-experiences__button-area {
  text-align: center;
  padding: 10px 40px 20px;
}

.c-experiences__button {
  display: inline-block;
  width: 100%;
  color: white;
  background-color: #B3E57B;
  font-family: "Archivo Black", "Arial Black", sans-serif;
  border-radius: 5px;
  padding: 12px 0;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition-property: background-color;
  transition-duration: 150ms;
  transition-timing-function: linear;
}
.c-experiences__button:hover:not(:disabled) {
  background-color: rgb(162.0683544304, 223.2075949367, 93.5924050633);
}

.c-faq {
  --icon-color: palette(primary,500);
  --hover-text-color: palette(primary, 500);
  --item-border-bottom: palette(primary, 900);
  --item-image-plus: url('/img/button-plus.svg');
  --item-image-min: url('/img/button-minus.svg');
  --fw-faq-question: 700;
  --fs-faq-question: 1rem;
  --padding-question: 24px 0;
  --answer-color: inherit;
  border-radius: 10px;
  margin-block: min(7vw, 64px);
  padding-block: 24px;
  padding-inline: clamp(16px, 4vw, 40px);
  background-color: #fff;
  box-shadow: 2px 2px 32px -8px rgba(51, 51, 51, 0.26);
}

.c-faq__title {
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  color: #12332A;
  margin-bottom: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.c-faq__icon {
  flex: none;
  width: 64px;
  height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 480px) {
  .c-faq__icon {
    transform: translateX(16px) scale(1.25);
  }
}

.c-faq__list {
  list-style: none;
  margin-left: 0;
}

.c-faq__item {
  color: var(--answer-color);
  border-bottom: 2px solid var(--item-border-bottom);
}

.c-faq__question {
  display: flex;
  justify-content: space-between;
  padding: var(--padding-question);
  cursor: pointer;
  transition: color 250ms linear;
  font-size: var(--fs-faq-question);
  font-weight: var(--fw-faq-question);
  color: #12332A;
}
.c-faq__question:hover {
  color: var(--hover-text-color);
}
.c-faq__question::after {
  flex: none;
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background-image: var(--item-image-plus);
  background-repeat: no-repeat;
  margin-left: 16px;
}
.c-faq__item.is-active .c-faq__question::after {
  background-image: var(--item-image-min);
}

.c-faq__answer {
  display: none;
  padding-right: 40px;
  padding-bottom: 24px;
}
.c-faq__item.is-active .c-faq__answer {
  display: block;
}

.c-file {
  border-radius: 5px;
  font-size: 1rem;
  line-height: 1.5;
  width: 100%;
  padding: 8px;
  border: 2px solid #B3E57B;
  color: #E3E8EA;
  background-color: transparent;
  outline: none;
  transition: border 150ms linear;
}
.has-error .c-file {
  box-shadow: 0 0 7px -3px #1776DD;
  border-color: #DDAC17;
}
.c-file:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.c-file:focus {
  box-shadow: 0 0 7px -3px rgba(23, 118, 221, 0.7);
}

.flash-message {
  position: relative;
  align-items: flex-start;
  overflow: hidden;
  padding: 13px 12px;
  border: 1px solid #E3E8EA;
  border-radius: 4px;
  background-color: white;
  box-shadow: 0 4px 8px 0 rgba(46, 56, 94, 0.1);
}
.flash-message:before {
  position: absolute;
  height: 100%;
  width: 5px;
  left: 0;
  top: 0;
  content: "";
}
.flash-message.is-small {
  align-items: center;
  padding-top: 8px;
  padding-bottom: 8px;
}

div.flash-message {
  display: flex;
}

span.flash-message {
  display: inline-flex;
}

.flash-message__area > * + * {
  margin-top: 8px;
}

.flash-message__icon {
  display: flex;
  align-items: center;
  height: 14px;
  width: 14px;
  min-width: 14px;
  margin-top: 1px;
  margin-right: 8px;
}

.flash-message__icon-img {
  width: 100%;
  max-height: 100%;
}

.flash-message__close {
  height: 10px;
  width: 10px;
  min-width: 10px;
  color: #1F292D;
  margin-left: 8px;
  margin-right: 0;
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.2s ease-in-out;
}
.flash-message__close:hover {
  opacity: 0.6;
}

.flash-message__text {
  flex: 1 1 auto;
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  color: #1F292D;
}
.flash-message.is-small .flash-message__text {
  font-size: 0.75rem;
  line-height: 1.1666666667;
}

.flash-message__title {
  display: block;
  margin-bottom: 8px;
}

.flash-message__lines {
  margin-left: 16px;
}

.flash-message[data-type=action]:before {
  background-color: #1776DD;
}
.flash-message[data-type=action] .flash-message__text strong,
.flash-message[data-type=action] .flash-message__icon {
  color: #1776DD;
}

.flash-message[data-type=warning]:before {
  background-color: #F18C33;
}
.flash-message[data-type=warning] .flash-message__text strong,
.flash-message[data-type=warning] .flash-message__icon {
  color: #F18C33;
}

.flash-message[data-type=error]:before {
  background-color: #FF4040;
}
.flash-message[data-type=error] .flash-message__text strong,
.flash-message[data-type=error] .flash-message__icon {
  color: #FF4040;
}

.flash-message[data-type=success]:before {
  background-color: #3ecf8e;
}
.flash-message[data-type=success] .flash-message__text strong,
.flash-message[data-type=success] .flash-message__icon {
  color: #3ecf8e;
}

@keyframes fade-in-left {
  0% {
    opacity: 0;
    transform: translateX(0);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%);
  }
}
.c-food-slider {
  --bg-color: #482C28;
  padding-block: var(--block-gap);
  background-color: var(--bg-color);
}

.c-food-slider__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 36px;
}

.c-food-slider__head {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  padding-right: 16px;
  color: #F7E1BF;
  font-size: clamp(28px, 5vw, 40px);
  font-weight: 400;
}

.c-food-slider__tax-switch {
  margin-top: 16px;
}
@media screen and (min-width: 765px) {
  .c-food-slider__tax-switch {
    margin-top: 0;
  }
}

.c-food-slider__anchor {
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  padding: 5px 15px;
  border-radius: 20px;
  text-decoration: none;
  background: #fff;
  color: #482C28;
}
.c-food-slider__anchor.is-active {
  background: #F7E1BF;
}

.c-food-slider__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  gap: 16px;
}

.c-food-slider__wrapper.swiper {
  overflow: visible !important;
}
.c-food-slider__wrapper .swiper-slide {
  width: 268px;
  max-width: 100%;
  height: auto;
}

.c-food-swiper__controls {
  position: relative;
  display: flex;
  width: 100%;
  justify-content: space-between;
  padding-top: 72px;
}

.c-food-swiper__buttons {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  gap: 8px;
  -webkit-user-select: none;
             -moz-user-select: none;
          user-select: none;
}

.c-food-slider__button {
  padding: 8px;
  background-color: #fff;
  color: #482C28;
  border: none;
  height: -moz-max-content;
  height: max-content;
  border-radius: 50%;
  cursor: pointer;
  transition: all 150ms linear;
}
.c-food-slider__button.is-disabled {
  opacity: 0.2;
  cursor: not-allowed;
  pointer-events: none;
}
.c-food-slider__button:hover {
  background-color: #FF7700;
  color: #fff;
}

.c-food-card {
  --title-color: #12332A;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: #fff;
  height: 100%;
}
.c-food-card:hover {
  --title-color: #FF7700;
}

.c-food-card__head {
  position: relative;
}

.c-food-card__favorite {
  padding-block: 8px;
  padding-inline: 16px;
  position: absolute;
  top: 12px;
  left: 10px;
  right: 10px;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 40px;
  background-color: #FF7700;
  color: #3F0902;
  font-size: 12px;
}

.c-food-card__image {
  width: 100%;
  border-radius: 12px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 24px;
}

.c-food-card__image--placeholder {
  width: 100%;
  height: 265px;
  border-radius: 12px;
  background-color: #E3E8EA;
  margin-bottom: 24px;
}

.c-food-card__title {
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
  font-weight: 600;
  color: var(--title-color);
  margin-bottom: 16px;
}

.c-food-card__list {
  list-style: none;
  margin-left: 0;
}

.c-food-card__link {
  text-decoration: none;
  padding: 16px;
  height: 100%;
}
.c-food-card__link-wrapper {
  width: 78%;
  text-decoration: none;
  padding: 0 16px 0 16px;
  height: 100%;
}

.c-food-card__item {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 400;
  color: #12332A;
  display: flex;
  align-items: center;
  gap: 8px;
}
.c-food-card__item::before {
  content: "";
  height: 20px;
  width: 20px;
  min-width: 20px;
  background-image: url(/img/check.svg);
}

.c-activity-slider__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 16px;
}

.c-food-card__tag {
  --icon-url: url(/img/clock.svg);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  width: -moz-fit-content;
  width: fit-content;
  background: #F7E1BF;
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 400;
  color: #482C28;
}
.c-food-card__tag::before {
  content: "";
  height: 16px;
  width: 16px;
  background-image: var(--icon-url);
}
.c-food-card__tag[data-icon=clock] {
  --icon-url: url(/img/clock.svg);
}
.c-food-card__tag[data-icon=persons] {
  --icon-url: url(/img/persons.svg);
}
.c-food-card__tag[data-icon=food] {
  --icon-url: url(/img/food.svg);
}

.c-food-card__wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-right: 16px;
}

.c-food-card__price {
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
  font-weight: 400;
  color: #12332A;
  padding-bottom: 16px;
}

.c-food-card__price-pp {
  font-weight: 400;
  font-size: 16px;
  color: #12332A;
}

.c-food-card__button {
  background-color: #FF7700;
  width: 40px;
  min-width: 40px;
  height: 40px;
  display: flex;
  border-radius: 40px;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  margin-bottom: 16px;
}
.c-food-card__button svg {
  color: #fff;
}

.c-form-element + .c-form-element {
  margin-top: 16px;
}

.c-form-element--full-width {
  width: 100%;
}

.c-form-element--honey {
  position: fixed;
  top: -100px;
  height: 20px;
  width: 100%;
}

.c-form-element__error {
  border-radius: 5px;
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  font-weight: 600;
  display: none;
  margin-top: 5px;
  padding: 2px 8px;
  color: #DDAC17;
}
.c-form-element__error:not(:empty) {
  display: block;
}

.c-form-element__label {
  display: block;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  color: #12332A;
  text-transform: uppercase;
  padding-bottom: 5px;
  order: 1;
}
.has-error .c-form-element__label {
  color: #DDAC17;
}
.c-form-element__label.has-error--negative {
  color: #FF4040;
}
p.c-form-element__label {
  margin: 0;
}

.c-form-element__label--small {
  font-weight: 600;
  text-transform: initial;
  line-height: 1.4;
  color: #12332A;
}

.c-form-element__tooltip {
  position: relative;
  top: 2px;
  display: inline-block;
  margin: -8px 0 0 8px;
}

.c-form-feedback {
  margin: 0 0 8px;
  padding: 16px 40px;
  background-color: #FFF8E5;
  border: 1px solid #DDAC17;
  border-radius: 5px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 600;
  color: #DDAC17;
}
.c-form-feedback:not(:empty) {
  display: block;
}
.c-form-feedback:before {
  content: attr(data-feedback);
  display: inline-block;
  margin-left: -16px;
  margin-bottom: 8px;
  font-weight: 700;
  color: #DDAC17;
}
.c-form-feedback li::first-letter {
  text-transform: uppercase;
}

/* ==========================================================================
 * Ghost button
 * ========================================================================== */
.c-ghost-button {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-family: "Archivo Black", "Arial Black", sans-serif;
  border-radius: 5px;
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 48px;
  padding: 2px 0;
  border: 2px solid #B3E57B;
  background: transparent;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  transition-property: color, background-color, border-color;
  transition-duration: 150ms;
  transition-timing-function: linear;
}
.c-ghost-button:hover:not(:disabled) {
  color: #1776DD;
  background-color: #1F292D;
  border-color: #1776DD;
}
.c-ghost-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.c-ghost-button__text {
  padding: 0 16px;
  white-space: nowrap;
}

.c-ghost-button__icon {
  margin-right: 16px;
  margin-left: -8px;
}

.c-ghost-button--is-reversed {
  flex-direction: row-reverse;
}
.c-ghost-button--is-reversed .c-ghost-button__icon {
  margin-right: -8px;
  margin-left: 16px;
}

.c-hamburger {
  display: flex;
  justify-content: center;
  align-self: center;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  color: currentColor;
  background: none;
  border: none;
  outline: none;
  cursor: context-menu;
}
.c-hamburger:focus-visible {
  box-shadow: 0 0 3px 2px #1776DD;
}
.c-hamburger > span {
  position: absolute;
  top: 20px;
  right: 20%;
  left: 20%;
  height: 3px;
  margin-top: -2px;
  pointer-events: none;
  background: currentColor;
  border-radius: 3px;
  transform-origin: right;
  transition-property: transform;
  transition-duration: 150ms;
  transition-timing-function: ease-out;
  transition-delay: 100ms;
}
.c-hamburger > span:nth-child(1) {
  top: 12px;
  transform: scaleX(0.8);
}
.c-hamburger > span:nth-child(3) {
  top: 28px;
  transform: scaleX(0.5);
}
.c-hamburger:hover > span {
  transform: scaleX(0.8);
}
.c-hamburger:hover > span:nth-child(1), .c-hamburger:hover > span:nth-child(3) {
  transform: scaleX(1);
}
.is-overlay-menu-active .c-hamburger > span {
  transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger > span:nth-child(1) {
  transform: translateY(3px) scaleX(1) !important;
  transition-delay: 0s;
}
.is-overlay-menu-active .c-hamburger > span:nth-child(3) {
  transform: translateY(-3px) scaleX(1) !important;
  transition-delay: 0s;
}

.c-icon-button {
  border-radius: 5px;
  vertical-align: top;
  display: inline-flex;
  align-items: center;
  height: 48px;
  padding: 0;
  border: none;
  cursor: pointer;
  background-color: #B3E57B;
  color: #fff;
  text-decoration: none;
  transition-property: color, background-color;
  transition-duration: 250ms;
}
.c-icon-button:hover:not(:disabled) {
  background-color: rgb(162.0683544304, 223.2075949367, 93.5924050633);
}
.c-icon-button.is-disabled {
  opacity: 0.75;
  pointer-events: none;
}

.c-icon-button--secondary {
  background-color: #052A35;
  color: white;
}
.c-icon-button--secondary:hover:not(:disabled) {
  background-color: black;
}

.c-icon-button--action {
  background-color: #1776DD;
}
.c-icon-button--action:hover:not(:disabled) {
  background-color: rgb(20.7, 106.2, 198.9);
}

.c-icon-button--wide {
  padding: 0 40px;
}

.c-image {
  display: block;
}
.c-image > img {
  display: block;
  position: relative;
  width: 100%;
  min-height: 130px;
  text-align: center;
}
.c-image > img:before {
  border-radius: 5px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  content: "We're sorry, this image is broken :(";
  display: block;
  position: absolute;
  top: -10px;
  left: 0;
  height: calc(100% + 20px);
  width: 100%;
  padding: 15px;
  background-color: #fff;
  background-image: url(/img/kms/dynamic/image.svg);
  background-repeat: no-repeat;
  background-position: bottom 20px center;
  background-size: 130px;
  border: 2px solid #F0F1F2;
}

.c-image__placeholder {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 66.67%;
  background-color: #fff;
  background-image: url("/img/kms/dynamic/image.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 200px auto;
  border: 1px solid #E3E8EA;
  border-radius: 16px;
}
.c-image__placeholder--video {
  padding-bottom: 56.25%;
  background-image: url("/img/kms/dynamic/video-block.svg");
}

.c-input {
  border-radius: 5px;
  font-size: 1rem;
  line-height: 1.5;
  width: 100%;
  max-width: 500px;
  height: 48px;
  padding: 6px 16px;
  border: 2px solid #CCCCCC;
  color: #12332A;
  background-color: #fff;
  outline: none;
  transition: border 150ms linear;
}
.has-error .c-input {
  box-shadow: 0 0 7px -3px #1776DD;
  border-color: #DDAC17;
}
.c-input:hover {
  border-color: #999EA0;
}
.c-input:focus {
  box-shadow: 0 0 7px -3px rgba(23, 118, 221, 0.7);
  border-color: #1776DD;
}
.c-input ::-moz-placeholder {
  color: #999EA0;
}
.c-input ::placeholder {
  color: #999EA0;
}
textarea.c-input {
  display: block;
  padding: 16px;
  min-height: 156px;
  line-height: 24px;
  resize: vertical;
}

.c-input[type=date] {
  text-transform: uppercase;
}

.c-input--clean {
  border-color: #fff !important;
}

.c-input[data-icon] {
  padding-left: calc(24px + 16px);
  background-position: 8px center, right 0.7em top 50%, 0 0;
  background-repeat: no-repeat;
  background-size: 24px 24px;
}

.c-input-wrapper {
  position: relative;
}
.c-input-wrapper.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}
.c-input-wrapper.is-locked {
  display: none;
}

.c-input__icon {
  position: absolute;
  top: 12px;
  left: 10px;
}
.c-input__icon + * {
  padding-left: calc(24px + 16px) !important;
}

.c-input__icon--pull-up {
  top: 11px;
}

.c-input--read-only {
  pointer-events: none;
  cursor: not-allowed;
  background-color: rgba(255, 255, 255, 0.6);
  border-color: rgba(255, 255, 255, 0.3) !important;
  background-image: none;
}

.c-linklist {
  list-style: none;
  margin-left: 0;
}

/**
	Can be a button or an anchor element
	so we need to reset some extra properties
 */
.c-linklist__link {
  font-size: 1rem;
  line-height: 1.5;
  display: inline-block;
  min-width: 200px;
  padding: 4px 0;
  color: #12332A;
  text-decoration: none;
  transition: color 150ms linear;
  cursor: pointer;
  border: none;
  background: none;
  text-align: left;
}
.ie .c-linklist__link {
  padding: 4px;
}
.c-linklist__link.is-active, .c-linklist__link:focus, .c-linklist__link:hover {
  position: relative;
  z-index: 0;
}
.c-linklist__link.is-active::before, .c-linklist__link:focus::before, .c-linklist__link:hover::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  left: -16px;
  height: 100%;
  width: calc(100% + 32px);
  pointer-events: none;
}
.c-linklist__link.is-active {
  font-weight: 700;
  color: #fff;
}
.c-linklist__link.is-active::before {
  background-color: #1F292D;
}
.c-linklist__link:hover:not(.is-active) {
  color: #1F292D;
}
.c-linklist__link:hover:not(.is-active)::before {
  background-color: #E3E8EA;
}
.c-linklist__link:focus {
  outline: none;
}
.c-linklist__link:focus::before {
  box-shadow: 0 0 2px #999EA0;
}

.c-location__title {
  margin-top: 16px;
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  color: #485B63;
}

.c-location__directions {
  margin: 24px 0 40px;
}
@media screen and (min-width: 575px) {
  .c-location__directions {
    margin: 32px 0;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .c-location__directions.has-no-ratings {
    justify-content: flex-end;
  }
}

.c-location__address {
  margin: 16px 0;
}
@media screen and (min-width: 575px) {
  .c-location__address {
    margin: 0 0 16px;
  }
}

.c-image {
  display: block;
}
.c-image > img {
  display: block;
  position: relative;
  width: 100%;
  min-height: 130px;
  text-align: center;
}
.c-image > img:before {
  border-radius: 5px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  content: "We're sorry, this image is broken :(";
  display: block;
  position: absolute;
  top: -10px;
  left: 0;
  height: calc(100% + 20px);
  width: 100%;
  padding: 15px;
  background-color: #fff;
  background-image: url(/img/kms/dynamic/image.svg);
  background-repeat: no-repeat;
  background-position: bottom 20px center;
  background-size: 130px;
  border: 2px solid #F0F1F2;
}

.c-image__placeholder {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 66.67%;
  background-color: #fff;
  background-image: url("/img/kms/dynamic/image.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 200px auto;
  border: 1px solid #E3E8EA;
  border-radius: 16px;
}
.c-image__placeholder--video {
  padding-bottom: 56.25%;
  background-image: url("/img/kms/dynamic/video-block.svg");
}

.c-location-map {
  position: relative;
  --map-bounding-box-north: 53.949834;
  --map-bounding-box-east: 7.217292;
  --map-bounding-box-south: 49.5;
  --map-bounding-box-west: 2.55;
}

.c-location-map__map {
  width: 100%;
  height: 100%;
}

.c-location-map__item {
  position: absolute;
  width: 40px;
  height: 1px;
  transform: translate(-50%, -50%);
  top: calc((var(--latitude) - var(--map-bounding-box-north)) / (var(--map-bounding-box-south) - var(--map-bounding-box-north)) * 100%);
  left: calc((var(--longitude) - var(--map-bounding-box-west)) / (var(--map-bounding-box-east) - var(--map-bounding-box-west)) * 100%);
}

.c-location-map__marker {
  margin-top: -43px;
  text-align: center;
}

.c-location-map__tooltip {
  position: absolute;
  z-index: 3;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  padding: 8px 24px;
  border-radius: 8px;
  background-color: #1F292D;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 700;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  transition-timing-function: ease-in-out;
}
.c-location-map__item:hover .c-location-map__tooltip {
  opacity: 1;
}
.c-location-map__tooltip::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -5px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #1F292D;
}

.c-logo-slider {
  --background-color: #F0F1F2;
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  position: relative;
  padding-top: 56px;
  text-align: center;
  background-image: linear-gradient(to bottom, #F0F1F2, 60%, var(--background-color) 50%);
}
.c-logo-slider > * {
  grid-column: 2;
}
.c-logo-slider.is-bg-default {
  --background-color: #fff;
}
.c-logo-slider.is-bg-gray {
  --background-color: #F0F1F2;
}
.c-logo-slider.is-bg-dark {
  --background-color: #F7E1BF;
}
.c-logo-slider.is-bg-green {
  --background-color: #B3E57B;
}
.c-logo-slider .swiper-slide {
  width: auto;
  max-width: 100%;
}
.c-logo-slider .swiper-slide img {
  width: 80px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1100px) {
  .c-logo-slider .swiper-slide img {
    width: 120px;
  }
}
@media screen and (min-width: 1100px) {
  .c-logo-slider {
    background-image: linear-gradient(to bottom, #F0F1F2, 65%, var(--background-color) 50%);
  }
}

.c-logo-slider__main {
  background-color: #fff;
  border-radius: 10px;
  padding-inline: clamp(16px, 2vw, 32px);
  padding-block: 16px;
  box-shadow: 0 0px 4px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(0, 0, 0, 0.08);
}

.c-logo-slider__frame {
  position: relative;
  overflow: hidden;
  display: grid;
}
@media screen and (min-width: 1100px) {
  .c-logo-slider__frame {
    grid-template-columns: 1fr 3fr;
  }
}
.c-logo-slider__frame:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(to left, #fff, transparent);
  z-index: 1;
}
.c-logo-slider__frame .swiper-wrapper {
  align-items: center;
  height: -moz-max-content;
  height: max-content;
}

.c-logo-slide__intro {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 100%;
  min-height: 60px;
  background-color: #fff;
  color: #999EA0;
  text-align: left;
  z-index: 10;
}
@media screen and (min-width: 1100px) {
  .c-logo-slide__intro {
    min-height: 97px;
  }
}

@media screen and (min-width: 1100px) {
  .c-logo-slide__text {
    max-width: 150px;
  }
}

.c-location-tile {
  --arrow-bg-color: #BFDCDA;
  --arrow-color: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(392px, 100%);
  padding: clamp(10px, 3.6cqi, 16px);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 0px 4px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.c-location-tile:hover {
  --arrow-bg-color: #FF7700;
  --arrow-color: #1F292D;
}

.c-location-tile__image {
  width: 100%;
  aspect-ratio: 360/250;
  border-radius: 10px;
  margin-bottom: 24px;
  background-color: #E3E8EA;
  overflow: hidden;
}

.c-location-tile__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-location-tile__title {
  font-size: clamp(16px, 6cqi, 20px);
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 0.85em;
  color: var(--title-color);
  margin-bottom: 16px;
}
.c-location-tile__title::before {
  content: "";
  margin-top: -0.25em;
  width: 1.8em;
  aspect-ratio: 36/32;
  background-image: url(/img/icon-farm-1.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.c-location-tile__body {
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: end;
}
.c-location-tile__body > * {
  grid-column: 1;
}

.c-location-tile__arrow {
  grid-column: 2;
  display: grid;
  place-items: center;
  width: clamp(32px, 16px + 6cqi, 40px);
  aspect-ratio: 1;
  background-color: var(--arrow-bg-color);
  border-radius: 50%;
  transition: all 150ms linear;
}
.c-location-tile__arrow:after {
  content: "";
  width: 60%;
  aspect-ratio: 1;
  -webkit-mask-image: url("/img/icon-arrowStickRight.svg");
          mask-image: url("/img/icon-arrowStickRight.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--arrow-color);
  transition: inherit;
}

.c-location-tile__subtitle {
  font-weight: 700;
}

.c-location-tile__link {
  position: absolute;
  inset: 0;
}

.c-map {
  --map-bounding-box-north: 53.5498339;
  --map-bounding-box-east: 7.217292;
  --map-bounding-box-south: 49.5;
  --map-bounding-box-west: 2.55;
  position: relative;
  container-type: inline-size;
  width: min(100%, 500px);
  margin-inline: auto;
}

.c-map__background {
  width: 100%;
}

.c-map__marker {
  width: clamp(13px, 8cqi, 29px);
  height: clamp(20px, 8cqi, 36px);
  position: absolute;
  color: rgb(41.0086956522, 116.1913043478, 95.6869565217);
  fill: currentColor;
  transform: translate(-50%, -50%);
  transform-origin: left top;
  transition: color 250ms;
  cursor: pointer;
}
.c-map__marker path {
  pointer-events: none;
}
.c-map__marker {
  top: calc((var(--latitude) - var(--map-bounding-box-north)) / (var(--map-bounding-box-south) - var(--map-bounding-box-north)) * 100%);
  left: calc((var(--longitude) - var(--map-bounding-box-west)) / (var(--map-bounding-box-east) - var(--map-bounding-box-west)) * 100%);
}
.c-map__marker:hover {
  color: #12332A;
}
.c-map__marker.is-active {
  color: #12332A;
  scale: 1.5;
  z-index: 10;
}

.c-nav {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.c-nav__list {
  display: flex;
  gap: clamp(16px, 1.65vw, 24px);
  align-items: center;
  height: 100%;
  width: 100%;
  padding: 0;
  list-style: none;
}

.c-nav__link {
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  line-height: 1.4;
  position: relative;
  display: inline-block;
  padding-block: 4px;
  color: #12332A;
  text-decoration: none;
  isolation: isolate;
  transition: color 150ms linear;
}
.c-nav__link::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -4px -8px;
  background-color: #E3E8EA;
  border-radius: 8px;
  pointer-events: none;
  opacity: var(--before-opacity, 0);
  transition: opacity 150ms linear;
}
.c-nav__link:hover:not(.is-active) {
  --before-opacity: 1;
}
.c-nav__link.is-active::after {
  content: "";
  position: absolute;
  top: calc(100% - 4px);
  left: 0;
  right: 0;
  background-color: currentColor;
  height: 2px;
  pointer-events: none;
}

.c-nav__toggle {
  background: transparent;
  border: none;
  padding: 0;
  cursor: context-menu;
  width: 32px;
  aspect-ratio: 1;
  border-radius: 8px;
}
.c-nav__toggle:where(:hover, :focus-visible) {
  background-color: #E3E8EA;
}
.c-nav__toggle svg {
  width: 50%;
  height: auto;
}

.c-note {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 600;
  border-radius: 5px;
  padding: 8px;
  color: #1776DD;
  background-color: #E5F2FF;
  border: 1px solid currentColor;
  display: flex;
}

.c-note--warning {
  color: #DDAC17;
  background-color: #FFF8E5;
}

.c-note__icon {
  flex: none;
  width: 24px;
  height: 24px;
  margin-right: 8px;
}

.c-note__content a {
  color: #052A35;
}
.c-note__content a:hover {
  color: #1F292D;
  text-decoration: underline;
}

.c-pagination {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin-left: 0;
}

.c-pagination__item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  font-weight: 500;
  color: #52777F;
  transition: color 0.2s;
}
.c-pagination__item:hover {
  color: #BFDCDA;
}
.c-pagination__item.is-active {
  color: #E2EF7A !important;
}
.c-pagination__item.is-dots {
  pointer-events: none;
}
.c-pagination__item.is-disabled {
  opacity: 0.2;
  pointer-events: none;
}

.c-pagination__bg {
  position: absolute;
  left: 0;
  top: -1px;
  z-index: -1;
  opacity: 0.75;
  transition: opacity 0.2s;
}
.c-pagination__bg .c-pagination__item:hover, .c-pagination__item.is-dots .c-pagination__bg, .c-pagination__item.is-active .c-pagination__bg {
  opacity: 1;
}

.c-pagination__link {
  padding: 8px;
  text-decoration: none;
  color: white;
  opacity: 0.65;
  font-weight: bold;
  transition: color 0.2s, opacity 0.2s;
}
.c-pagination__item.is-active .c-pagination__link {
  cursor: default;
  opacity: 1;
}

.c-pagination__prev,
.c-pagination__next {
  padding: 8px;
  color: white;
  transition: color 0.2s;
  opacity: 0.65;
}

.c-post__title-row {
  padding: 32px 0 48px;
}

.c-post__title {
  color: #052A35;
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  text-align: center;
}
@media screen and (min-width: 600px) {
  .c-post__title {
    font-size: 2rem;
    font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
    line-height: 1.25;
  }
}

.c-post__date {
  display: block;
  width: 234px;
  margin: 32px auto 0;
  padding: 4px 8px;
  background-color: #E3E8EA;
  border-radius: 4px;
}
.c-post__date strong {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  text-transform: uppercase;
  vertical-align: baseline;
  margin-right: 16px;
}
.c-post__date time {
  vertical-align: baseline;
}

.c-post__back {
  text-align: center;
  margin-bottom: 16px;
}

.c-post__image {
  max-width: 800px;
  margin-top: -15vw;
  margin-bottom: 64px;
}
@media screen and (min-width: 550px) and (max-width: 1399px) {
  .c-post__image {
    margin-top: -9vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-post__image {
    margin-top: -7vw;
  }
}

.c-post__components {
  margin-bottom: 100px;
}
.c-post__components .l-contain {
  max-width: 960px;
}

.c-post__components--no-image {
  padding-top: 32px;
}

.c-poster__heading {
  grid-area: heading;
  display: block;
}
.c-poster__costs {
  grid-area: costs;
  display: block;
}
.c-poster__table {
  grid-area: table;
  display: block;
}
.c-poster__more {
  grid-area: more;
  display: block;
}
.c-poster__book {
  grid-area: book;
  display: block;
}
.c-poster {
  width: 100%;
  background: #fff;
  box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.2);
  border-radius: 0 5px 5px 0;
}
.c-poster.unavailable {
  opacity: 0.3;
  pointer-events: none;
  cursor: default;
  -webkit-user-select: none;
             -moz-user-select: none;
          user-select: none;
}
@media screen and (min-width: 525px) {
  .c-poster {
    display: flex;
  }
}

.c-poster__image {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding: 16px 0px 16px 16px;
  display: flex;
  align-items: center;
  border-radius: 5px 0 0 5px;
}
.ie .c-poster__image img {
  width: 100%;
}
.c-poster__image::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #052A35;
  pointer-events: none;
  transform: matrix(1, 0, -0.5, 1, 0, 0) scale(2);
  transform-origin: right top;
  transition: background-color 0.2s;
}
.c-poster__image:hover::before {
  background-color: #B3E57B;
}
@media screen and (max-width: 524px) {
  .c-poster__image {
    display: block;
    width: 100%;
    padding: 32px 16px;
    border-bottom-left-radius: 0;
  }
  .c-poster__image::before {
    width: 75%;
  }
}
@media screen and (min-width: 525px) and (max-width: 799px) {
  .c-poster__image {
    width: 50%;
  }
}
@media screen and (min-width: 800px) {
  .c-poster__image {
    flex: 0 0 215px;
  }
  .c-poster--addon .c-poster__image {
    flex: 0 0 148px;
  }
}
.c-poster--in-swiper .c-poster__image {
  width: 75%;
}
.c-poster--in-swiper .c-poster__image img {
  aspect-ratio: 1.5;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 525px) {
  .c-poster--in-swiper .c-poster__image {
    width: 180px;
  }
}

.c-poster__body {
  flex: auto;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "heading" "costs" "table" "more" "book";
  padding: 24px 24px 24px 32px;
}
@media screen and (max-width: 524px) {
  .c-poster__body {
    padding: 40px;
  }
}
@media screen and (min-width: 800px) {
  .c-poster__body {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
    grid-template-areas: "heading costs" "table costs" "more  book";
  }
}

.c-poster__body--simple {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 16px;
  justify-content: space-between;
}

.c-poster__heading {
  margin-bottom: 16px;
  margin-right: 16px;
  text-decoration: none;
}

.c-poster__title {
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-weight: 700;
  line-height: 1.25;
  color: #485B63;
  transition: color 0.2s;
}
.c-poster__heading:hover .c-poster__title {
  color: #B3E57B;
}
.c-poster--addon .c-poster__title {
  font-size: 1.125rem;
  font-size: clamp(1rem, 0.9508132214rem + 0.2098635887vw, 1.125rem);
  line-height: 1.3333333333;
}
.c-poster__location {
  margin-top: 4px;
  padding-left: 24px;
  background-repeat: no-repeat;
  background-position: -4px center;
  background-size: 24px 24px;
  background-image: url("/img/location.svg");
  color: #12332A;
}

@media screen and (min-width: 800px) {
  .c-poster__costs {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
  }
}
.c-poster--addon .c-poster__costs {
  display: block !important;
  text-align: left !important;
}
.unavailable .c-poster__costs > * {
  display: none;
}

.c-poster__price {
  position: relative;
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-weight: 600;
  line-height: 1;
  color: #052A35;
}
.c-poster__price::before {
  position: absolute;
  top: 1px;
  left: -18px;
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.2;
  content: attr(data-currency);
  vertical-align: super;
}
.c-poster__price small {
  display: inline-block;
  margin-left: 5px;
}
@media screen and (max-width: 524px) {
  .c-poster__price::before {
    position: relative;
    top: 3px;
    left: 0;
    margin-right: 7px;
  }
}
.c-poster--addon .c-poster__price {
  font-size: 0.875rem;
  line-height: 1.2142857143;
  line-height: 1.4;
  color: #999EA0;
  padding-bottom: 8px;
  padding-top: 8px;
}

.c-poster__price small,
.c-poster__price-line {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  color: #12332A;
}

@media screen and (max-width: 524px) {
  .c-poster__price, .c-poster__price-line {
    display: inline-block;
  }
}

.c-poster__taxprice {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 600;
  margin-top: 8px;
  color: #999EA0;
}
@media screen and (min-width: 800px) {
  .c-poster__taxprice {
    margin-top: 24px;
  }
}

@media screen and (max-width: 799px) {
  .c-poster__table {
    display: none;
    padding: 16px 0;
  }
}

.c-poster__more {
  align-self: end;
}
@media screen and (max-width: 799px) {
  .c-poster__more .c-text-button {
    display: none;
  }
}

.c-poster__book {
  padding-top: 16px;
}
@media screen and (min-width: 800px) {
  .c-poster__book {
    justify-self: end;
    padding-top: 0;
  }
}
.c-poster--addon .c-poster__book {
  display: flex;
  justify-content: space-between;
}
.unavailable .c-poster__book > * {
  display: none;
}

.c-poster--addon {
  height: 100%;
}
.swiper .c-poster--addon {
  min-height: 180px;
}

.c-poster__book-button {
  height: auto;
  padding: 6px 16px;
}

.c-poster__read-more {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  padding: 8px;
  height: auto;
}

.c-poster__na-pill {
  display: inline-block;
  background-color: #052A35;
  color: white;
  font-size: 0.6875rem;
  line-height: 1.3636363636;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 4px;
  padding: 4px 8px;
}

.c-projector {
  position: relative;
  height: 100%;
  padding-block: 64px;
}

.c-projector--small {
  --max-image-height: 75vh;
  --max-image-width: auto;
}

.c-projector__figure {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr;
  height: 100%;
}

.c-projector__picture {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  height: 100%;
  margin: 0 auto;
  display: block;
  background-color: #fff;
  opacity: 0;
  transition: opacity 0.5s;
}
.c-projector__picture.is-active {
  opacity: 1;
}

.c-projector__img {
  width: var(--max-image-width, 100%);
  height: var(--max-image-height, 100%);
  margin: 0 auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 799px) {
  .c-projector__img {
    max-height: 78vh;
  }
}

.c-projector__control {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  margin-bottom: 8px;
  margin-right: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-projector__button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 5px;
  padding: 10px;
  color: #1776DD;
  background: white;
  border: 1px solid #F0F1F2;
  border-radius: 100%;
  cursor: pointer;
  transition-property: background-color, border, box-shadow;
  transition-duration: 0.25s;
  outline: none;
}
.c-projector__button:hover {
  color: white;
  background-color: #1776DD;
  border-color: transparent;
  cursor: pointer;
}
.c-projector__button:active {
  background-color: rgb(16.1, 82.6, 154.7);
  color: white;
}
.c-projector__button:focus {
  box-shadow: 0 1px 6px 0 hsla(0, 50%, 0%, 0.2);
}
.c-projector__button.previous {
  transform: rotate(0.5turn);
}

.c-projector__arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 16px;
  font-size: 0;
  line-height: 0;
}

.c-qa {
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  padding-block: 96px;
  background-color: #B3E57B;
}

.c-qa__title {
  font-size: clamp(28px, 3vw, 40px);
  padding-bottom: clamp(32px, 3vw, 56px);
  color: #052A35;
}

.c-qa__grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-column: 2;
  -moz-column-gap: clamp(40px, 4vw, 96px);
       column-gap: clamp(40px, 4vw, 96px);
}
@media screen and (min-width: 850px) {
  .c-qa__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.c-qa__cta {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 24px;
  padding: 32px;
  height: -moz-max-content;
  height: max-content;
  background-color: #fff;
  border-radius: 16px;
  margin-bottom: 10px;
  max-width: 560px;
}
@media screen and (min-width: 1050px) {
  .c-qa__cta {
    grid-template-columns: 1fr 2fr;
    justify-items: flex-start;
    margin-bottom: 0;
    gap: 40px;
  }
}

.c-qa__image {
  aspect-ratio: 1;
  height: auto;
  max-height: 170px;
  border-radius: 100%;
  transform: scaleX(-1);
  margin-bottom: 0;
}

.c-qa__content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  row-gap: 32px;
}
@media screen and (min-width: 1050px) {
  .c-qa__content {
    justify-content: flex-start;
  }
}

.c-qa__text {
  display: flex;
  justify-content: center;
  width: 100%;
  font-size: 20px;
  text-align: center;
  color: #12332A;
}
@media screen and (min-width: 1050px) {
  .c-qa__text {
    justify-content: flex-start;
    text-align: left;
  }
}

.c-qa__button svg {
  width: 24px;
  height: 24px;
  color: #B3E57B;
}

.c-qa__faq {
  --icon-color: #fff;
  --hover-text-color: #12332A;
  --border-color: #fff;
  --item-border-bottom: #12332A;
  --item-image-plus:url('/img/plus.svg');
  --item-image-min:url('/img/minus.svg');
  --fw-faq-question: 400;
  --fs-faq-question: 1.25rem;
  --answer-color: #052A35;
  --padding-question: 12px 0;
  padding-inline: 0;
  background-color: #B3E57B;
  box-shadow: none;
}

.c-radio input {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}
.c-radio label {
  position: relative;
  display: inline-block;
  padding-left: 24px; /* 16px width of fake radio button + gap */
}
.c-radio label::before, .c-radio label::after {
  position: absolute;
  content: "";
  /*Needed for the line-height to take effect*/
  display: inline-block;
}
.c-radio label {
  /*Outer box of the fake radio button*/
}
.c-radio label::before {
  height: 16px;
  width: 16px;
  background-color: #fff;
  border: 2px solid #CCCCCC;
  top: 5px;
  left: 0;
  border-radius: 50%;
  transition: all 150ms linear;
}
.c-radio label {
  /*Checkmark of the fake radio button*/
}
.c-radio label::after {
  border-radius: 50%;
  height: 8px;
  width: 8px;
  top: 9px;
  left: 4px;
}
.c-radio {
  /*Hide the selected circle by default*/
}
.c-radio input + label::after {
  content: none;
}
.c-radio {
  /*Unhide on the checked state*/
}
.c-radio input:checked + label::before {
  border-color: #1776DD;
}
.c-radio input:checked + label::after {
  content: "";
  background-color: #1776DD;
}
.c-radio {
  /*Adding focus styles on the outer-box of the fake radio button*/
}
.c-radio input:focus + label::before {
  outline: none;
  box-shadow: 0 0 7px 1px rgba(31, 41, 45, 0.7);
  border-color: #1776DD;
}

.c-radio-list {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  list-style: none;
  margin-left: 0;
}

.c-radio-list__item {
  flex: 0 0 140px;
  margin-top: 2px;
  margin-right: 24px;
}

.c-rating {
  --fs-base: 12px;
}
.c-rating__stars {
  grid-area: stars;
  display: block;
}
.c-rating__score {
  grid-area: score;
  display: block;
}
.c-rating__reviews {
  grid-area: reviews;
  display: block;
}
.c-rating__platform {
  grid-area: platform;
  display: block;
}
.c-rating {
  display: inline-grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  grid-column-gap: 4px;
  grid-template-areas: "stars score" "reviews platform";
  color: #fff;
  font-size: var(--fs-base);
  text-decoration: none;
}

.c-rating--boxed {
  border-radius: 5px;
  grid-row-gap: 8px;
  padding: 16px;
  background-color: #12332A;
}

.c-rating--dark {
  color: #1F292D;
}

.c-rating__stars {
  display: flex;
  align-items: flex-start;
  transform: translate(-4px, 0);
}
.c-rating__stars .c-star {
  padding: 0;
}

.c-rating__score {
  justify-self: end;
  height: 24px;
}

.c-rating__points {
  font-size: calc(var(--fs-base) * 1.33333);
  font-weight: 700;
  line-height: 1;
}

.c-rating__max {
  font-size: calc(var(--fs-base) * 1.16666667);
}

.c-rating__reviews {
  justify-self: end;
}

.c-rating:hover .c-rating__platform {
  text-decoration: underline;
}

.c-rating-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  background-color: #482C28;
  border-radius: 8px;
  padding: 8px;
  color: #fff;
  text-decoration: none;
}
.c-card__image-placeholder .c-rating-badge {
  position: absolute;
  right: 7.5%;
  bottom: -8px;
}

.c-rating-badge__stars {
  display: flex;
  align-items: flex-start;
  margin-bottom: 6px;
}
.c-rating-badge__stars .c-star {
  padding: 0;
}
.c-rating-badge__stars .c-star svg {
  width: 12px;
  height: 12px;
}

.c-rating-badge__points {
  font-size: 1.125rem;
  font-size: clamp(1rem, 0.9508132214rem + 0.2098635887vw, 1.125rem);
  line-height: 1.3333333333;
  font-weight: 700;
  line-height: 1;
}

.c-rating-badge__max {
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  opacity: 0.5;
}

.c-review__grid {
  padding-block: 40px;
}
@media screen and (max-width: 959px) {
  .c-review__grid > * + * {
    margin-top: 32px;
  }
}
@media screen and (min-width: 960px) {
  .c-review__grid {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-gap: 32px;
  }
}

.c-review {
  position: relative;
  padding: 16px;
  background: rgba(240, 241, 242, 0.5);
  border-radius: 24px;
}
@media screen and (min-width: 500px) {
  .c-review {
    padding: 32px;
  }
}

.c-review__text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-review__author {
  font-size: 1.125rem;
  font-size: clamp(1rem, 0.9508132214rem + 0.2098635887vw, 1.125rem);
  line-height: 1.3333333333;
  font-weight: 700;
  color: #052A35;
  margin-bottom: 2px;
}

.c-review__location {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  line-height: 1.4;
  color: #999EA0;
}
@media screen and (min-width: 1100px) {
  .c-review__location br {
    display: none;
  }
}

@media screen and (min-width: 500px) {
  .c-review__heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.c-review__rating .c-rating__score {
  margin-top: 16px;
}
@media screen and (min-width: 500px) {
  .c-review__rating .c-rating__score {
    margin-top: 0;
    text-align: right;
    padding-right: 10px;
  }
}
.c-review__rating .c-star {
  padding: 0;
}

.c-search__label {
  display: none;
}

.c-search__segment + .c-search__segment {
  margin-top: 16px;
}
.c-search__segment[data-label=button] {
  margin-top: 24px;
}

/**
 * Modifier for horizontal version
 */
@media screen and (min-width: 670px) {
  .c-search--bar {
    display: flex;
    flex-wrap: wrap;
  }
  .c-search--bar .c-search__segment {
    margin-top: 0;
    flex: 1 1 calc(50% - 16px);
  }
  .c-search--bar .c-search__segment:nth-child(2n+1) {
    margin-right: 16px;
  }
  .c-search--bar .c-search__segment:nth-child(n+3) {
    margin-top: 16px;
  }
}
@media screen and (min-width: 1152px) {
  .c-search--bar {
    flex-wrap: nowrap;
  }
  .c-search--bar .c-search__segment {
    margin-top: 0 !important;
    margin-right: 0 !important;
    align-self: flex-end;
    flex-basis: 25%;
  }
  .c-search--bar .c-search__segment + .c-search__segment {
    margin-left: 16px;
  }
  .c-search--bar .c-search__segment[data-label=location] {
    width: 25%;
  }
  .c-search--bar .c-search__segment[data-label=date] {
    width: 25%;
  }
  .c-search--bar .c-search__segment[data-label=attendees] {
    width: 25%;
  }
  .c-search--bar .c-search__segment[data-label=button] {
    width: 25%;
  }
}

/**
 * Select styled without extra containing elements
 * ------------------------------------
 * Based on this article:
 * https://www.filamentgroup.com/lab/select-css.html
 */
.c-select {
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 5px;
  display: block;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 16px;
  padding-right: 32px;
  height: 48px;
  width: 100%;
  max-width: 500px;
  box-sizing: border-box;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #12332A;
  background-color: #fff;
  background-image: url("/img/tinyarrow.png"), linear-gradient(to bottom, #fff 0%, #fff 100%);
  background-repeat: no-repeat, repeat;
  background-position: right 0.7em top 50%, 0 0;
  background-size: 0.65em auto, 100%;
  border: 2px solid #CCCCCC;
  transition: border 150ms linear;
}
.c-select:hover {
  border-color: #E3E8EA;
}
.c-select:focus {
  border-color: #999EA0;
  box-shadow: 0 0 7px -3px rgba(5, 42, 53, 0.7);
  box-shadow: 0 0 0 1px -moz-mac-focusring;
  color: #1F292D;
  outline: none;
}
.c-select option {
  font-weight: normal;
}

.c-select--clean {
  border-color: #fff !important;
}

.c-select--read-only {
  pointer-events: none;
  cursor: not-allowed;
  background-color: rgba(255, 255, 255, 0.6);
  border-color: rgba(255, 255, 255, 0.3) !important;
  background-image: none;
}

.c-select--alert {
  border-color: #FF4040 !important;
}

.c-select::-ms-expand {
  display: none;
}

.c-servicepoint {
  display: flex;
  align-items: center;
}

.c-servicepoint__image {
  margin-right: 16px;
  border-radius: 100%;
  max-width: 80px;
  flex: none;
}

.c-servicepoint__title {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  text-transform: uppercase;
}

.c-servicepoint__body {
  color: #12332A;
}

.c-servicepoint__action {
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-weight: 700;
  color: #12332A;
  display: block;
  transition: color 250ms linear;
}
.c-servicepoint__action:hover {
  color: #1776DD;
}

.c-servicepoint__action--small {
  font-size: 1.125rem;
  font-size: clamp(1rem, 0.9508132214rem + 0.2098635887vw, 1.125rem);
  line-height: 1.3333333333;
}

.c-servicepoint__subheading {
  font-size: 0.875rem;
  line-height: 1.7142857143;
}

.sitemap {
  padding-block: 40px;
}

.c-slide-indicator {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.c-slide-indicator__button {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition-property: background-color, opacity;
  transition-duration: 250ms;
}
.c-slide-indicator__button:focus {
  outline: none;
}
.c-slide-indicator__button:hover:not(.is-active), .c-slide-indicator__button:focus:not(.is-active) {
  opacity: 0.5;
}
.c-slide-indicator__button:before, .c-slide-indicator__button:after {
  content: "";
  position: absolute;
  background-clip: content-box;
  transition-property: transform, background-color, opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  border-radius: 100%;
}
.c-slide-indicator__button:before {
  top: calc((30px - 8px) / 2);
  right: calc((30px - 8px) / 2);
  bottom: calc((30px - 8px) / 2);
  left: calc((30px - 8px) / 2);
  background-color: white;
}
.c-slide-indicator__button:after {
  top: calc((30px - 12px) / 2);
  right: calc((30px - 12px) / 2);
  bottom: calc((30px - 12px) / 2);
  left: calc((30px - 12px) / 2);
  border: 1px solid white;
  transform: scale(1.4);
  opacity: 0;
}
.c-slide-indicator__button.is-active:before {
  background-color: #052A35;
  border-color: rgba(255, 255, 255, 0.9);
  transform: scale(0.75);
}
.c-slide-indicator__button.is-active:after {
  opacity: 0.9;
  transform: scale(1);
}
.c-slide-indicator__button:focus {
  opacity: 1 !important;
}
.c-slide-indicator__button:focus:before {
  box-shadow: 0 0 0 2px #052A35, 0 0 10px 1px white;
}
.c-slide-indicator__button:focus:after {
  box-shadow: 0 0 0 2px #052A35, 0 0 10px 1px white;
}

.c-spec {
  border-collapse: collapse;
}

.c-spec__label {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  text-transform: uppercase;
  vertical-align: baseline;
}

.c-spec__value {
  padding-left: 8px;
  vertical-align: baseline;
}
@media screen and (min-width: 768px) {
  .c-spec__value {
    padding-left: 48px;
  }
}

.c-star {
  padding: 0 2px;
  color: #E3E8EA;
  line-height: 0;
}

.c-star--full {
  color: #B3E57B;
}

.c-star--half .half-star {
  fill: #B3E57B;
}

/**
 * When we need an animation we can use the following as a basis
 */
.c-stat {
  display: flex;
  align-items: flex-start;
}

.c-stat__icon {
  flex: none;
  margin-right: 24px;
  color: #485B63;
}

.c-stat__label {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  text-transform: uppercase;
  margin-top: 8px;
}

.c-stat__stars {
  display: flex;
  align-items: flex-start;
  transform: translate(-4px, -2px);
}

.c-steps {
  display: grid;
  gap: 32px 16px;
  list-style: none;
  margin-left: 0;
  counter-reset: ol-counter;
}
@container (min-width: 320px) {
  .c-steps {
    grid-template-columns: repeat(2, 1fr);
  }
}
@container (min-width: 720px) {
  .c-steps {
    grid-template-columns: repeat(4, 1fr);
  }
}

.c-steps__item {
  counter-increment: ol-counter;
  display: flex;
  align-items: center;
  text-align: center;
  gap: 1em;
  flex-direction: column;
  color: #12332A;
  position: relative;
  text-wrap: balance;
}

.c-steps__icon {
  width: 72px;
  height: 72px;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-steps__content::before {
  content: counter(ol-counter) ". ";
}

.c-suggest {
  position: relative;
  z-index: 0;
  padding: 64px 0;
  max-width: 226px;
}
.c-suggest::before {
  content: "";
  z-index: -1;
  display: block;
  position: absolute;
  top: 0;
  left: -32px;
  right: -32px;
  bottom: 0;
  background-image: url("/img/suggest-shape.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0.1;
}

.c-suggest__title {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 8px;
}

.c-suggest__action {
  margin-top: 16px;
}

.c-switch {
  position: relative;
}

.c-switch__input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.c-switch__label {
  border-radius: 5px;
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  font-weight: 500;
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  -webkit-user-select: none;
             -moz-user-select: none;
          user-select: none;
  color: white;
  background: #F0F1F2;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  transition: background-color 0.3s cubic-bezier(0, 1, 0.5, 1);
}
.c-switch__label::before, .c-switch__label::after {
  position: relative;
  z-index: 1;
  padding: 9px;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.2s;
}
.c-switch__label::before {
  grid-column: 1;
  content: attr(data-checked);
}
.c-switch__input:checked ~ .c-switch__label::before {
  color: rgba(82, 119, 127, 0.4);
}
.c-switch__label::after {
  grid-column: 2;
  content: attr(data-unchecked);
  color: rgba(255, 255, 255, 0.3);
}
.c-switch__input:checked ~ .c-switch__label::after {
  color: inherit;
}

.c-switch__indicator {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  height: 100%;
  width: 50%;
  background: linear-gradient(to bottom, #1776DD, #0090da);
  transition: transform 0.35s cubic-bezier(0.23, 0.18, 0.3, 1);
}
.c-switch__indicator:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(270deg, #a02d09 10%, #DE4313 100%);
  opacity: 0;
  transition: opacity 0.35s cubic-bezier(0.23, 0.18, 0.3, 1);
}
.c-switch__input:checked ~ .c-switch__label .c-switch__indicator {
  transform: translateX(101%);
}
.c-switch__input:checked ~ .c-switch__label .c-switch__indicator:after {
  opacity: 1;
}

.c-switchbutton {
  display: flex;
  background: white;
  border-radius: 20px;
  border: 2px solid white;
}

.c-switchbutton__anchor {
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  padding: 5px 15px;
  border-radius: 20px;
  text-decoration: none;
  background: white;
  color: black;
}
.c-switchbutton__anchor.is-active {
  background: rgba(84, 122, 140, 0.2);
}

.c-switchbutton__button {
  outline: none;
  border: none;
  margin: 0;
}

.c-text {
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  padding-block: clamp(32px, 4vw, 40px);
  color: #12332A;
}

.c-text__main {
  grid-column: 2;
}

/* ==========================================================================
 * Text button
 * ========================================================================== */
.c-text-button {
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  padding: 4px 0;
  border: none;
  background-color: transparent;
  color: #1776DD;
  cursor: pointer;
  text-decoration: none;
  transition: color 150ms linear;
  font-size: 0.875rem;
  line-height: 1.7142857143;
}
.c-text-button:hover:not(:disabled) {
  color: #052A35;
}
.c-text-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-text-button.has-white-icon {
  color: #111A1E;
  font-size: 1rem;
}
.c-text-button.has-white-icon svg {
  color: #fff;
}
.c-text-button.has-white-icon:hover:not(:disabled) {
  color: #fff;
}
.c-text-button.has-green-icon {
  color: #111A1E;
  font-size: 1rem;
}
.c-text-button.has-green-icon svg {
  color: #111A1E;
}
.c-text-button.has-green-icon:hover:not(:disabled) {
  color: #52777F;
}
.c-text-button--regular {
  align-items: center;
  color: #111A1E;
}
.c-text-button--regular i {
  margin-top: 0;
}
.c-text-button--quaternary-500 {
  align-items: center;
  color: #F7E1BF;
}
.c-text-button--quaternary-500 i {
  margin-top: 0;
}
.c-text-button--quaternary-500:hover:not(:disabled) {
  color: rgb(242.1333333333, 206.75, 152.0666666667);
}

.c-text-button--is-back-button {
  color: #BFDCDA;
  font-size: 16px;
}
.c-text-button--is-back-button svg {
  color: #B3E57B;
}
.c-text-button--is-back-button:hover:not(:disabled) {
  color: rgb(162.0683544304, 223.2075949367, 93.5924050633);
}

.c-text-button--font-size-s {
  font-size: 0.875rem;
  line-height: 1.7142857143;
}

.c-text-button--wide {
  width: 100%;
  justify-content: center;
}

.c-text-button__icon {
  margin-top: 3px;
  margin-left: 12px;
  margin-right: 8px;
}
.c-text-button--icon .c-text-button__icon {
  display: inline-block;
}

.c-text-button--is-reversed {
  flex-direction: row-reverse;
}
.c-text-button--is-reversed .c-text-button__icon {
  margin-left: 0;
  margin-right: 12px;
}

.c-text-button--primary {
  color: #B3E57B;
}
.c-text-button--primary:hover:not(:disabled) {
  color: #1776DD;
}

.c-text-button--secondary {
  color: #12332A;
}
.c-text-button--secondary:hover:not(:disabled) {
  color: #B3E57B;
}

.c-text-button--secondary {
  color: #12332A;
}
.c-text-button--secondary:hover:not(:disabled) {
  color: #1776DD;
}

.c-text-button--secondary {
  color: #12332A;
}
.c-text-button--secondary:hover:not(:disabled) {
  color: #B3E57B;
}

.c-text-image {
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  padding-block: var(--block-gap);
  color: #12332A;
}
@media screen and (min-width: 860px) {
  .c-text-image.is-flipped {
    --grid-column-i: -2;
  }
}

.c-text-image__main {
  grid-column: 2;
  display: grid;
  row-gap: clamp(32px, 4vw, 56px);
  -moz-column-gap: clamp(32px, 4vw, 56px);
       column-gap: clamp(32px, 4vw, 56px);
  overflow: hidden;
}
@media screen and (min-width: 860px) {
  .c-text-image__main {
    grid-template-columns: 1fr 1fr;
  }
}

.c-text-image__t {
  container-type: inline-size;
  align-self: center;
}

.c-text-image__i {
  grid-row: 1;
  grid-column: var(--grid-column-i);
  overflow: hidden;
  border-radius: 16px;
}
.c-text-image__i:not(:has(*)) {
  background-color: #F5F5F5;
  aspect-ratio: var(--img-aspect-ratio, 1);
}

.c-text-image__img {
  width: 100%;
  height: var(--img-height, auto);
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: inherit;
}

.c-text-image__content {
  height: 100%;
  display: flex;
  row-gap: clamp(32px, -24px + 13cqi, 56px);
  flex-direction: column;
  align-items: start;
  max-width: 560px;
}
.c-text-image__content form {
  margin: 0 !important;
  padding: 0 !important;
}

.c-text-image__ornament {
  color: #12332A;
}

.c-thumbnail__link {
  display: block;
  text-decoration: none;
  width: 100%;
}

.c-thumbnail__frame {
  position: relative;
  width: 100%;
  padding-bottom: 66.67%;
  height: 0;
  overflow: hidden;
}
.c-thumbnail__frame.has-hover-effect {
  position: relative;
}
.c-thumbnail__frame.has-hover-effect::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: radial-gradient(rgba(23, 118, 221, 0.2), rgba(23, 118, 221, 0.6));
  opacity: 0;
  transition-property: opacity;
  transition-duration: 0.4s;
}
.c-thumbnail__link:hover .c-thumbnail__frame.has-hover-effect::after {
  opacity: 1;
}

.c-thumbnail__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #F0F1F2;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50%;
}
.c-thumbnail__frame.has-hover-effect .c-thumbnail__image {
  transform: scale(1);
  transition-property: transform, filter;
  transition-duration: 0.4s;
}
.c-thumbnail__link.has-hover:hover .c-thumbnail__image {
  transform: scale(1.06);
  filter: saturate(0%);
}

.c-thumbnail__content {
  margin-top: 20px;
}

.c-thumbnail__caption {
  font-size: 1.125rem;
  font-size: clamp(1rem, 0.9508132214rem + 0.2098635887vw, 1.125rem);
  line-height: 1.3333333333;
  font-weight: 500;
  transition: color 0.25s;
}

.c-thumbnail__button {
  margin-top: 30px;
}

/**
 * Modifier of the thumbnail where the figure gets a little extra styling
 */
.c-thumbnail--pop .c-thumbnail__frame {
  border-radius: 16px;
  box-shadow: 0 20px 30px -10px hsla(0, 50%, 0%, 0.2);
  overflow: hidden;
}
.c-thumbnail--pop .c-thumbnail__content {
  margin-top: 30px;
}

.c-thumbnail__link[href]:hover .c-thumbnail__caption {
  color: #1776DD;
}

.c-tooltip {
  cursor: pointer;
  position: relative;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  color: #1776DD;
  transition: color 300ms ease-in-out;
}
.c-tooltip:focus, .c-tooltip:hover {
  outline: none;
  cursor: help;
}
.c-tooltip::before {
  border-radius: 5px;
  z-index: 100;
  content: attr(aria-label);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  width: 260px;
  padding: 16px;
  color: white;
  background-color: #052A35;
  box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1);
  text-transform: none;
  font-size: 0.875rem;
  line-height: 1.2857142857;
  font-weight: 600;
  transform: translate3d(-50%, 10px, 0);
  transition: all 300ms ease-in-out 100ms;
}
@media screen and (min-width: 600px) {
  .c-tooltip::before {
    width: 320px;
  }
}
.c-tooltip::after {
  border-left: 11.2px solid transparent;
  border-right: 11.2px solid transparent;
  border-top: 11.2px solid #052A35;
  content: " ";
  z-index: 101;
  font-size: 0;
  left: 50%;
  line-height: 0;
  position: absolute;
  bottom: 100%;
  width: 0;
  transform: translate3d(-50%, -5px, 0);
  transition: all 300ms ease-in-out;
}
.c-tooltip::before, .c-tooltip::after {
  opacity: 0;
  pointer-events: none;
}
.c-tooltip:hover::before, .c-tooltip:hover::after {
  opacity: 1;
  transform: translate3d(-50%, 0, 0);
}
.c-tooltip:hover::before {
  transition-delay: 0ms;
}
.c-tooltip:hover::after {
  transition-delay: 100ms;
}

.c-tooltip__icon {
  flex: none;
}

.c-tooltip__label {
  font-weight: 600;
  padding-left: 8px;
  color: currentColor;
}

.c-trademark {
  display: inline-flex;
  align-items: center;
  color: #F7E1BF;
  text-decoration: none;
  transition: color 150ms linear;
}

.c-trademark__text {
  display: flex;
  align-items: center;
  margin-right: 7px;
}

.c-trademark__love {
  display: inline-flex;
  background-image: url(/img/heart-sprite.png);
  background-position: right 1px;
  background-repeat: no-repeat;
  background-size: 2900%;
  cursor: pointer;
  width: 56px;
  height: 56px;
  margin: 0 -12px;
}

.c-trademark:hover {
  color: #B3E57B;
}
.c-trademark:hover .komma-emblem {
  transform-origin: 12px 12px;
  animation: logo-spin 1.8s linear infinite;
}
.c-trademark:hover .c-trademark__love {
  animation: heartAnim 1.1s steps(28) forwards;
}

@keyframes heartAnim {
  from {
    background-position: left 1px;
  }
  to {
    background-position: right 1px;
  }
}
@keyframes logo-spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(-1turn);
  }
}
.c-vacancy__title {
  margin: 16px 0;
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  color: #485B63;
}

.c-vacancy__components {
  margin-bottom: 100px;
}
.c-vacancy__components .l-contain {
  max-width: 960px;
}

.c-vacancy__form {
  background-color: #1F292D;
  min-height: 100px;
}

.c-vacancy__form-top {
  color: #1F292D;
  background-color: #B3E57B;
}
@media screen and (min-width: 1000px) {
  .c-vacancy__form-top {
    margin-bottom: -6.6666666667vw;
  }
}

.c-vacancy__form-main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  padding: 32px 0 32px;
}
@media screen and (min-width: 1000px) {
  .c-vacancy__form-main {
    padding: 112px 0 64px;
    display: grid;
    grid-template-rows: none;
    grid-template-columns: 6fr 5fr;
    grid-column-gap: 8.3333333333%;
    grid-template-areas: "left right";
  }
}
@media screen and (max-width: 599px) {
  .c-vacancy__form-main .o-form__field[data-size="2"] {
    width: 100%;
  }
  .c-vacancy__form-main .o-form__field[data-size="1"] {
    width: 75%;
    max-width: 400px;
  }
}

.c-vacancy__form-area {
  color: white;
}
.c-vacancy__form-area .o-form {
  max-width: 600px;
}
.c-vacancy__form-area .o-form .c-input {
  max-width: none;
}

.c-vacancy__form-title {
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  color: #B3E57B;
  margin-bottom: 32px;
}

.c-vacancy__deco {
  align-self: center;
}
.c-vacancy__deco img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 999px) {
  .c-vacancy__deco {
    margin-top: 64px;
    max-width: 480px;
  }
}

.c-video {
  width: 100%;
  max-width: 960px;
  margin: auto;
  padding-block: 32px;
  margin-block: 32px;
}

.c-video__placeholder {
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 53.6%;
  background-color: #F0F1F2;
}

.c-video__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 1000ms linear;
}
.c-video__iframe.is-active {
  opacity: 1;
}

.c-videos {
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  padding-block: var(--block-gap);
  color: #12332A;
}

.c-videos__main {
  display: grid;
  gap: clamp(32px, 4.5vw, 56px);
  grid-column: 2;
}
@media screen and (min-width: 920px) {
  .c-videos__main {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.c-videos__iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  border: none;
}

.c-videos__body {
  display: grid;
  gap: clamp(12px, 3vw, 32px);
}

.c-videos__title {
  font-weight: 700;
  font-size: clamp(24px, -27px + 15cqi, 32px);
  margin-top: 0.5em;
}

/*  6 - ORGANISMS
 *  Large blocks composed of multiple components.
 =========================================================== */
/** ==========================================================================
 * Organisms
 * =========================================================================*/
.o-availability {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
}
.o-availability__title {
  grid-area: title;
  display: block;
}
.o-availability__sidebar {
  grid-area: sidebar;
  display: block;
}
.o-availability__main {
  grid-area: main;
  display: block;
}
.o-availability {
  max-width: 1440px;
}

.o-availability__intro {
  display: flex;
  flex-wrap: wrap-reverse;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-top: 24px;
  margin-bottom: 24px;
}
@media screen and (min-width: 740px) {
  .o-availability__intro {
    margin-top: 80px;
  }
}

.o-availability__head {
  max-width: clamp(30em, 50%, 708px);
  color: #12332A;
}

.o-availability__title {
  font-family: "Archivo", sans-serif;
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-weight: 700;
  color: #12332A;
}

.o-availability__tax-switch {
  flex: none;
}

.o-availability__list {
  list-style: none;
  margin-left: 0;
  display: grid;
  gap: 32px 24px;
  grid-template-columns: repeat(auto-fit, minmax(min(274px, 100%), 1fr));
}
@media screen and (min-width: 1045px) {
  .o-availability__list {
    grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
  }
}
@media screen and (min-width: 1345px) {
  .o-availability__list {
    grid-template-columns: repeat(auto-fit, minmax(min(474px, 100%), 1fr));
  }
}
@media screen and (min-width: 1400px) {
  .o-availability__list {
    grid-template-columns: repeat(auto-fit, minmax(min(274px, 100%), 1fr));
  }
}

.o-availability__item {
  container-type: inline-size;
}
.o-availability__item > * {
  height: 96%;
}

.o-availability__footer {
  padding: 0 0 40px;
}

.o-availability__footer-content {
  padding-top: 0;
}
@media screen and (min-width: 1045px) {
  .o-availability__footer-content {
    padding-top: 48px;
  }
}

.o-availability__food-hint {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 64px auto auto auto;
  isolation: isolate;
  position: relative;
  max-width: 800px;
}
.o-availability__food-hint > span {
  font-size: 0.75rem;
  line-height: 1.4166666667;
  flex: none;
  max-width: 80%;
  display: block;
  padding: 16px 24px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  color: white;
  background-color: #052A35;
  border-radius: 4px;
}
.o-availability__food-hint::before {
  position: absolute;
  content: "";
  height: 1px;
  width: 100%;
  background-color: #12332A;
  opacity: 0.5;
  z-index: -1;
}
@media screen and (min-width: 1045px) {
  .o-availability__food-hint {
    margin: 112px auto auto auto;
  }
}

.o-book {
  position: relative;
  padding-block: min(56px, var(--gutter-size));
  padding-inline: var(--gutter-size);
  background-color: #B3E57B;
}

.o-book__main {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.o-book__content {
  border-radius: 5px;
  width: 100%;
  padding-block: clamp(16px, 2vw, 32px);
  padding-inline: clamp(16px, 4vw, 56px);
  background-color: #f9f9fa;
}

.o-book__title {
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
}

.o-booking__main-data {
  border-radius: 5px;
  padding: 16px;
  background-color: #B3E57B;
}
.o-booking__main-data .c-select, .o-booking__main-data .c-input {
  border-color: white;
}
@media screen and (min-width: 640px) {
  .o-booking__main-data {
    display: flex;
    justify-content: space-between;
  }
}

.o-booking__change-button {
  display: flex;
  justify-content: center;
  width: 48px;
}

.o-booking__location,
.o-booking__date {
  width: 100%;
  margin-bottom: 8px;
}
@media screen and (min-width: 640px) {
  .o-booking__location,
  .o-booking__date {
    width: calc((100% - 48px - 16px) / 2);
    margin-bottom: 0;
  }
}

.o-booking__top-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  margin-top: 32px;
  padding-bottom: 32px;
  border-bottom: 2px solid rgba(82, 119, 127, 0.3);
}
@media screen and (max-width: 649px) {
  .o-booking__top-info {
    display: grid;
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
}

.o-booking__top-grid {
  display: flex;
  flex-direction: column;
  flex: none;
}

.o-booking__sum {
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  grid-template-areas: "label amount" "vat amount-ex" "info info";
  display: grid;
  grid-template-columns: 1fr max-content;
  grid-template-rows: 1fr auto;
  grid-row-gap: 4px;
  margin-top: 24px;
  padding-top: 24px;
  padding-right: 24px;
  color: #052A35;
}

.o-booking__sum--top {
  margin: 0;
  padding: 0;
  grid-row-gap: 0;
  align-self: start;
}
@media screen and (max-width: 649px) {
  .o-booking__sum--top {
    margin-bottom: 24px;
  }
}

.o-booking__label {
  grid-area: label;
}

.o-booking__amount {
  grid-area: amount;
}
.o-booking__amount::before {
  display: inline-block;
  margin-right: 4px;
  content: attr(data-currency);
}

.o-booking__vat {
  grid-area: vat;
}

.o-booking__info {
  grid-area: info;
  font-size: 11px !important;
  max-width: 240px;
  margin-top: 8px;
  line-height: 16px !important;
}

.o-booking__amount-ex {
  grid-area: amount-ex;
  text-align: right;
  padding-left: 4px;
}
.o-booking__amount-ex::before {
  display: inline-block;
  margin-right: 4px;
  content: attr(data-currency);
}

.o-booking__vat,
.o-booking__info,
.o-booking__amount-ex {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  color: #999EA0;
}

.o-booking__basket {
  margin-top: 32px;
}

.o-booking__note {
  width: 100%;
  margin: 24px 0;
}

.o-booking__footer {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-top: 24px;
}
@media screen and (max-width: 639px) {
  .o-booking__footer .o-booking__back {
    display: none;
  }
}

.o-booking__back {
  margin-top: 8px;
  margin-right: 16px;
}

.o-booking__continue {
  margin-top: 8px;
  margin-left: auto;
}
.o-booking__continue .is-disabled {
  opacity: 0.4;
  pointer-events: none;
}

.o-booking__offer-button {
  text-align: right;
}

@media screen and (min-width: 850px) {
  .o-booking__meal-swiper {
    display: none;
  }
}

.o-booking__meal-swiper-slides {
  position: relative;
  width: 100vw;
  left: -7.1428571429vw;
}

.o-booking__show-addons {
  position: relative;
  display: flex;
  justify-content: center;
}
.o-booking__show-addons .c-button {
  position: relative;
  z-index: 2;
  font-size: 0.8125rem;
  line-height: 1.1538461538;
  box-shadow: 0 0 10px 15px #F0F1F2 !important;
  pointer-events: none;
}
.o-booking__show-addons:before, .o-booking__show-addons:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50%;
  height: 2px;
  background-color: rgba(82, 119, 127, 0.3);
}
.o-booking__show-addons:before {
  left: 0;
}
.o-booking__show-addons:after {
  right: 0;
}
.o-booking__show-addons.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}

.o-booking__addons {
  list-style: none;
  display: none;
}
@media screen and (min-width: 850px) {
  .o-booking__addons {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 24px -24px 0;
  }
  .o-booking__addons > * {
    width: calc(50% - 24px);
    margin: 12px;
  }
}

.o-booking__addons-area {
  display: none;
  border-bottom: 2px solid rgba(82, 119, 127, 0.3);
}
@media screen and (min-width: 800px) {
  .o-booking__addons-area {
    display: block;
  }
}

.o-booking-widget {
  background-color: #1F292D;
  text-align: center;
}

.o-booking-widget__inner {
  padding-top: 0;
  position: relative;
}
.o-booking-widget__inner::before {
  padding-top: var(--slant-height);
  clip-path: polygon(0 0, 100% var(--slant-height), 100% 101%, 0% 101%);
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: #F0F1F2;
}

.o-booking-widget__content {
  position: relative;
  z-index: 1;
  margin-inline: auto;
  max-width: 320px;
  background-color: #fff;
  padding: 24px;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.o-button-component {
  text-align: left;
}

.o-button-component--align-center {
  text-align: center;
}

.o-button-component--align-right {
  text-align: right;
}

.o-contact__datagrid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: 0;
}
.o-contact__datagrid > [data-pos=left] {
  flex: 0 1 50%;
  max-width: 270px;
  min-width: 165px;
  padding-right: 16px;
  display: flex;
  flex-direction: column;
}
.o-contact__datagrid > [data-pos=right] {
  flex: 0 1 50%;
  max-width: 270px;
  min-width: 165px;
}

.o-contact__link {
  color: #12332A;
  text-decoration: none;
  transition: color 250ms linear;
}
.o-contact__link:hover {
  color: #1776DD;
}

.o-contact__social {
  display: flex;
  list-style: none;
  margin: 32px 0 0;
}

.o-contact__channel {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  margin-right: 16px;
}

.o-contact__icon {
  flex: auto;
  display: block;
  height: 100%;
  color: #B3E57B;
  transition: all 150ms linear;
  opacity: 1;
}
.o-contact__icon:hover, .o-contact__icon:focus {
  color: #052A35;
}

.o-cards-row {
  background-color: #F7E1BF;
  position: relative;
}

.o-cards-row--inverted {
  background-color: white;
}

.o-cards-row__main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  padding-bottom: 8px;
}
@media screen and (min-width: 1152px) {
  .o-cards-row__main {
    max-width: calc(1152px - 192px);
  }
}

.o-cards-row__title {
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  color: #482C28;
  margin-top: 16px;
  margin-bottom: 48px;
}
.o-cards-row--inverted .o-cards-row__title {
  margin-top: 32px;
  color: #485B63;
}

.o-cards-row__title--small {
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
}

.o-cards-row__list {
  list-style: none;
  margin: -24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.o-cards-row__item {
  flex: none;
  width: 288px;
  margin: 24px;
}

.o-duplex__figure {
  grid-area: figure;
  display: block;
}
.o-duplex__content {
  grid-area: content;
  display: block;
}
.o-duplex {
  position: relative;
}

.o-duplex__grid {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  display: grid;
  grid-template-rows: auto auto;
  grid-row-gap: 32px;
  grid-template-areas: "content" "figure";
}
@media screen and (min-width: 850px) {
  .o-duplex__grid {
    grid-template-rows: auto;
    grid-template-columns: 5fr 1fr 6fr;
    grid-template-areas: "figure . content";
  }
}
@media screen and (min-width: 1060px) {
  .o-duplex__grid {
    grid-template-columns: 6fr 1fr 5fr;
  }
}
@media screen and (min-width: 850px) {
  .o-duplex--reversed .o-duplex__grid {
    grid-template-columns: 6fr 1fr 5fr;
    grid-template-areas: "content . figure";
  }
}
@media screen and (min-width: 1060px) {
  .o-duplex--reversed .o-duplex__grid {
    grid-template-columns: 5fr 1fr 6fr;
  }
}
@media screen and (min-width: 1200px) {
  .o-duplex--reversed .o-duplex__grid {
    grid-template-columns: 1fr 4fr 1fr 6fr;
    grid-template-areas: ". content . figure";
  }
}
.o-duplex--full-grid .o-duplex__grid {
  max-width: none;
  width: 100%;
}

@media screen and (max-width: 1343px) {
  .o-duplex__content {
    margin-bottom: 3.125vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-duplex__content {
    margin-bottom: 41.1428571429px;
  }
}
@media screen and (max-width: 1343px) {
  .o-duplex__content.is-pulled-down {
    margin-top: 3.125vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-duplex__content.is-pulled-down {
    margin-top: 41.1428571429px;
  }
}
@media screen and (min-width: 850px) {
  .o-duplex--reversed .o-duplex__content {
    margin-top: 0;
    margin-bottom: 64px;
  }
}

.o-duplex__figure {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  align-self: start;
  margin-bottom: 32px;
}
@media screen and (min-width: 850px) {
  .o-duplex__figure {
    margin-top: -9vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-duplex__figure {
    margin-top: -120px;
  }
}
.o-duplex--prevent-pull-up .o-duplex__figure {
  margin-top: 0;
}
@media screen and (min-width: 850px) {
  .o-duplex--additional-pull-up .o-duplex__figure {
    margin-top: -14vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-duplex--additional-pull-up .o-duplex__figure {
    margin-top: -160px;
  }
}

.o-duplex__image {
  grid-row: 1/2;
  grid-column: 1/2;
}
.ie .o-duplex__image {
  width: 100%;
}

.o-duplex__extra {
  grid-row: 1/2;
  grid-column: 1/2;
  align-self: end;
  z-index: 1;
  margin-left: 32px;
}

.o-duplex__note {
  max-width: 326px;
}

@media screen and (max-width: 1343px) {
  .o-faq {
    padding-top: 6.25vw;
    padding-bottom: 9.375vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-faq {
    padding-top: 82.2857142857px;
    padding-bottom: 123.4285714286px;
  }
}
.o-faq {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
}
.o-faq__filters {
  grid-area: filters;
  display: block;
}
.o-faq__suggest {
  grid-area: suggest;
  display: block;
}
.o-faq__main {
  grid-area: main;
  display: block;
}

.o-faq__intro {
  margin-bottom: 48px;
}

.o-faq__title {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-weight: 400;
  color: #485B63;
  align-self: end;
}

.o-faq__description {
  margin-top: 32px;
}
@media screen and (min-width: 800px) {
  .o-faq__description {
    width: 58.3333333333%;
  }
}
@media screen and (min-width: 1200px) {
  .o-faq__description {
    width: 50%;
  }
}

.o-faq__grid {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-row-gap: 48px;
  grid-template-areas: "filters" "main" "suggest";
}
@media screen and (min-width: 740px) {
  .o-faq__grid {
    grid-template-columns: 3fr 1fr 8fr;
    grid-template-rows: auto 1fr;
    grid-template-areas: "filters .  main" "suggest .  main";
  }
}

.o-faq__filters {
  position: relative;
  z-index: 0;
  padding-top: 48px;
  padding-bottom: 64px;
  padding-right: 32px;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 739px) {
  .o-faq__filters {
    margin-inline: 32px;
  }
}
.o-faq__filters::before {
  content: "";
  z-index: -1;
  display: block;
  position: absolute;
  top: 0;
  left: -36px;
  right: -36px;
  bottom: 0;
  background-color: #485B63;
  -webkit-mask-image: url("/img/shape1.svg");
          mask-image: url("/img/shape1.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}

.o-faq__subheader {
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-weight: 700;
  margin-bottom: 24px;
  color: #B3E57B;
}

.o-faq__links {
  list-style: none;
  margin-left: 0;
}

.o-faq__link {
  font-size: 1rem;
  line-height: 1.5;
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5em;
  min-width: 200px;
  padding: 4px 0;
  color: #E3E8EA;
  text-decoration: none;
  transition: color 150ms linear;
  cursor: pointer;
  border: none;
  background: none;
  text-align: left;
}
.o-faq__link.is-active, .o-faq__link:focus, .o-faq__link:hover {
  position: relative;
  z-index: 0;
}
.o-faq__link.is-active {
  font-weight: 700;
  color: #B3E57B;
}
.o-faq__link:hover:not(.is-active) {
  color: #fff;
}
.o-faq__link:focus {
  outline: none;
}
.o-faq__link svg {
  pointer-events: none;
  flex: none;
  margin-top: 0.6em;
  width: 0.5em;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.o-faq__main {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  grid-template-areas: "full";
}

.o-faq__category {
  pointer-events: none;
  grid-area: full;
  opacity: 0;
  transition: opacity 125ms linear;
}
.o-faq__category.is-active {
  pointer-events: auto;
  opacity: 1;
  transition: opacity 125ms linear 175ms;
}

@media screen and (max-width: 739px) {
  .o-faq__suggest {
    margin: auto;
  }
}
.ie .o-faq__suggest {
  margin-top: 40px;
}

.o-cookie-bar {
  position: fixed;
  z-index: 900;
  bottom: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  width: min(90vw, 420px);
  padding: 16px 24px;
  background-color: #F5F5F5;
  border-radius: 8px;
  box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.17);
  opacity: 1;
  transition: opacity 0.5s, transform 0.6s;
  transform: none;
}
.o-cookie-bar.is-accepted {
  display: none;
}
.o-cookie-bar.is-transitioning-out {
  translate: 150% 0;
  transition: translate 600ms;
}

.o-cookie-bar__main {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

.o-cookie-bar__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
  color: #052A35;
}

.o-cookie-bar__link {
  color: #052A35;
  transition: color 0.3s;
}
.o-cookie-bar__link:hover {
  color: rgba(5, 42, 53, 0.75);
}

.o-contact-image {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  padding-block: 20px;
}

.o-food-assortment {
  background-color: #F6F6F6;
  padding-block: 20px;
  position: relative;
  z-index: 1;
}
.o-food-assortment:after {
  background: inherit;
  content: "";
  display: block;
  height: 50%;
  left: 0;
  position: absolute;
  right: 0;
  z-index: -1;
  -webkit-backface-visibility: hidden;
}
.o-food-assortment:after {
  bottom: 0;
  transform: skewY(-1.5deg);
  transform-origin: 100%;
}
.o-food-assortment {
  position: relative;
  z-index: 1;
}
.o-food-assortment:before {
  background: inherit;
  content: "";
  display: block;
  height: 50%;
  left: 0;
  position: absolute;
  right: 0;
  z-index: -1;
  -webkit-backface-visibility: hidden;
}
.o-food-assortment:before {
  top: 0;
  transform: skewY(-1.5deg);
  transform-origin: 0 0;
}

.o-food-assortment__title {
  text-align: center;
  margin-top: 72px;
}

.o-food-assortment__wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  gap: 62px;
  margin-block: 72px;
}

.o-food-assortment__item {
  display: flex;
  gap: 8px;
  flex-direction: column;
  text-align: center;
  width: 168px;
  font-weight: bold;
  color: #111A1E;
}
@media screen and (min-width: 390px) {
  .o-food-assortment__item {
    width: 132px;
  }
}
.o-food-assortment__item img {
  width: 164px;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.1607843137);
  border-radius: 6px;
}
.o-food-assortment__item img:hover {
  transform: scale(1.1) rotateZ(2deg);
}

.o-footer {
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  padding-block: clamp(32px, 4vw, 56px);
  font-size: 1rem;
  line-height: 1.5;
  z-index: 20;
  padding-bottom: 0;
  background-color: #482C28;
  color: #F7E1BF;
  transition: padding 600ms;
}

.o-footer__main {
  grid-column: 2;
}

.o-footer__body {
  display: grid;
  grid-row-gap: 32px;
  grid-template-columns: 1fr;
  grid-template-areas: "logo" "rating" "info" "menu" "locations";
}
@media screen and (min-width: 560px) {
  .o-footer__body {
    gap: clamp(32px, 4.5vw, 56px);
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "logo logo" "info rating" "menu locations";
  }
}
@media screen and (min-width: 840px) {
  .o-footer__body {
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: var(--block-gap);
    grid-template-areas: "logo logo rating" "info menu locations";
  }
}

.o-footer__logo {
  grid-area: logo;
  display: inline-block;
  align-self: start;
  justify-self: start;
}
.o-footer__logo img {
  height: 64px;
}

.o-footer__rating {
  grid-area: rating;
}
@media screen and (min-width: 560px) {
  .o-footer__rating {
    margin-left: auto;
  }
}

.o-footer__locations {
  grid-area: locations;
}

.o-footer__info {
  grid-area: info;
}

.o-footer__menu {
  grid-area: menu;
}

.o-footer__label {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 400;
  padding: 0 0 8px;
  font-size: 14px;
  color: #B3E57B;
}

.o-footer__list {
  margin: 0;
  list-style: none;
}

.o-footer__link {
  display: inline-flex;
  align-items: center;
  position: relative;
  z-index: 0;
  padding: 4px 0;
  color: #F7E1BF;
  text-decoration: none;
  cursor: pointer;
  transition: color 150ms linear;
}
.o-footer__link svg {
  flex: none;
  width: 1.1em;
  aspect-ratio: 1;
  margin-right: 0.5em;
  color: #B3E57B;
}
.o-footer__link:hover {
  color: #B3E57B;
}
.o-footer__link:focus-visible {
  outline-color: #B3E57B;
}
.is-active .o-footer__link {
  font-weight: bold;
}

.o-footer__social {
  display: flex;
  list-style: none;
  margin: 32px 0 0;
}

.o-footer__channel {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  margin-right: 16px;
}

.o-footer__icon {
  flex: auto;
  display: block;
  height: 100%;
  color: #B3E57B;
  transition: all 150ms linear;
  opacity: 1;
}
.o-footer__icon:hover {
  color: rgba(255, 255, 255, 0.65);
}
.o-footer__icon:focus-visible {
  outline-color: #B3E57B;
}

.o-footer__bottom {
  grid-column: 2;
  background-color: #482C28;
  margin-top: var(--block-gap);
}

.o-footer--simple .o-footer__main {
  padding: 0;
}
.o-footer--simple .o-footer__body {
  grid-template-rows: repeat(2, auto);
  grid-template-areas: "logo" "info";
}
@media screen and (min-width: 560px) {
  .o-footer--simple .o-footer__body {
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto;
    grid-template-areas: "logo . info";
  }
}
.o-footer--simple .o-footer__list {
  margin-bottom: 0;
}
.o-footer--simple .o-footer__bottom {
  margin-top: 0;
}

/**
 * To prevent the honey pot from working
 * the o-form can't have a 'POSITION' property.
 */
.o-form__title {
  color: #12332A;
  margin: 0 0 32px 0;
}

.o-form__row + .o-form__row {
  margin-top: 16px;
}
@media screen and (min-width: 600px) {
  .o-form__row {
    display: flex;
    justify-content: flex-start;
  }
}

@media screen and (max-width: 599px) {
  .o-form__field {
    width: 100%;
  }
  .o-form__field[data-size="1"] {
    width: 33.3333333333%;
  }
  .o-form__field[data-size="2"] {
    width: 66.6666666667%;
  }
  .o-form__field + .o-form__field {
    margin-top: 16px;
  }
}
@media screen and (min-width: 600px) {
  .o-form__field {
    margin-right: 8px;
  }
  .o-form__field[data-size="1"] {
    width: calc(16.6666666667% - 8px);
  }
  .o-form__field[data-size="2"] {
    width: calc(33.3333333333% - 8px);
  }
  .o-form__field[data-size="3"] {
    width: calc(50% - 8px);
  }
  .o-form__field[data-size="4"] {
    width: calc(66.6666666667% - 8px);
  }
  .o-form__field[data-size="5"] {
    width: calc(83.3333333333% - 8px);
  }
  .o-form__field[data-size="6"] {
    width: 100%;
  }
}

.o-form__notes {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  text-transform: uppercase;
}

.c-form__note :first-child {
  display: inline-block;
  width: 24px;
}

.o-form__submit {
  margin-top: 32px;
}

.o-header {
  --main-background-color: #fff;
  z-index: 50;
  display: grid;
  position: sticky;
  z-index: 50;
  top: var(--header-top, calc((var(--o-header-height) + var(--o-header-offset) * 2) * -1));
  left: 0;
  width: 100%;
  margin-inline: auto;
  background-color: var(--bg);
  transition-property: top;
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}
@media screen and (min-width: 920px) {
  .o-header {
    grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
    padding-block: var(--o-header-offset);
  }
}
.is-header-sticky .o-header {
  --header-top: 0;
  --main-box-shadow: 0 0 20px 1px #00000026;
}
.o-header.has-gray-header {
  --main-background-color:#F0F1F2;
}

.o-header__main {
  height: var(--o-header-height);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: clamp(16px, 1.45vw, 24px);
  background-color: var(--main-background-color);
  box-shadow: var(--main-box-shadow);
  overflow: clip;
  transition-property: box-shadow;
  transition-duration: inherit;
  transition-timing-function: inherit;
}
@media screen and (min-width: 920px) {
  .o-header__main {
    grid-column: 2;
    border-radius: 16px;
  }
}

.o-header__logo {
  flex: none;
  height: 56px;
  width: auto;
  margin-left: 16px;
  margin-right: auto;
}
.o-header__logo img {
  width: auto;
  height: 100%;
}

@media screen and (max-width: 919px) {
  .o-header__nav {
    display: none;
  }
}

.o-header__cart {
  align-self: stretch;
}
.o-header__cart > .c-cart-button {
  height: 100%;
  border-radius: 0;
}
@media screen and (max-width: 919px) {
  .o-header__cart {
    display: none;
  }
}

.o-header__toggle {
  margin-right: 16px;
}
@media screen and (min-width: 920px) {
  .o-header__toggle {
    display: none;
  }
}

.o-header__rating {
  margin-right: 16px;
  margin-left: auto;
  color: #fff;
}
@media screen and (max-width: 349px) {
  .o-header__rating .c-rating {
    display: none;
  }
}
@media screen and (max-width: 535px) {
  .o-header__rating .c-rating__stars,
  .o-header__rating .c-rating__reviews {
    display: none;
  }
}

.o-hero {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto auto auto;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  isolation: isolate;
  max-height: max(600px, 70vh);
  overflow: clip;
  padding-bottom: clamp(16px, 2vw, 32px);
  background-color: #B3E57B;
}
.o-hero:before {
  content: "";
  z-index: -1;
  display: block;
  grid-row: 1/span 3;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(179deg, rgba(45, 55, 60, 0) 26.14%, rgba(45, 55, 60, 0.6) 92.92%);
}
@media screen and (min-width: 450px) {
  .o-hero:after {
    content: "";
    z-index: -1;
    display: block;
    grid-row: 4;
    position: absolute;
    inset: 0;
    background-color: #12332A;
  }
}

.o-hero__video {
  position: relative;
  z-index: -2;
  grid-row: 1/span 3;
  grid-column: 1/-1;
  background-image: url("/img/hero-loader.jpg?v=2");
  background-size: cover;
  background-position: center;
}
.o-hero__video .c-video {
  padding: 0;
  max-width: none;
  margin: 0;
}
@media screen and (min-width: 630px) {
  .o-hero__video .c-video {
    margin: -90px 0 0;
  }
}
.o-hero__video .c-video__placeholder {
  padding-bottom: 0;
  height: auto;
  aspect-ratio: 960/540;
  background-color: transparent;
  pointer-events: none;
}

.o-hero__content {
  grid-row: 1;
  grid-column: 2;
  align-self: end;
  display: grid;
  justify-items: start;
  color: white;
  padding-bottom: clamp(0px, -20px + 4vw, 40px);
  max-width: 896px;
}

.o-hero__title {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  font-size: clamp(24px, 4.5vw, 60px);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  text-wrap: balance;
}

.o-hero__subtitle {
  margin-top: 8px;
  font-size: clamp(18px, 2vw, 24px);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

.o-hero__rating {
  grid-row: 2;
  grid-column: 2;
  justify-self: end;
  margin-bottom: clamp(0px, -4vw + 40px, 16px);
}

.o-hero__actions {
  grid-row: 4;
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px clamp(8px, 2vw, 16px);
  container-type: inline-size;
  padding-top: clamp(16px, 2vw, 32px);
}
@media screen and (min-width: 450px) {
  .o-hero__actions {
    grid-row: 3/span 2;
    padding-top: 0;
  }
}

.o-imagebanner > img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 280px;
}

.o-imagebanner__swiper-img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 280px;
}

.o-imagebanner--medium > img {
  max-height: 400px;
}

.o-location {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
}
.o-location__map {
  grid-area: map;
  display: block;
}
.o-location__content {
  grid-area: content;
  display: block;
}
@media screen and (max-width: 1343px) {
  .o-location {
    padding-bottom: 3.125vw;
    padding-top: 3.125vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-location {
    padding-bottom: 41.1428571429px;
    padding-top: 41.1428571429px;
  }
}
.o-location {
  position: relative;
}

.o-location__main {
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-gap: 64px;
  grid-template-areas: "content" "map";
}
@media screen and (min-width: 1000px) {
  .o-location__main {
    grid-template-columns: 3fr 4fr;
    grid-template-rows: auto;
    grid-gap: 48px;
    grid-template-areas: "map content";
  }
}

.o-location__title {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  color: #485B63;
  text-transform: uppercase;
  margin-bottom: 48px;
}

@media screen and (min-width: 480px) and (max-width: 799px) {
  .o-location__map svg {
    max-width: 460px;
  }
}

@media screen and (min-width: 1000px) {
  .o-location__content--small > * {
    max-width: 500px;
    margin-left: auto;
  }
}

.o-location__list {
  margin-left: 0;
  list-style: none;
}
@media screen and (min-width: 800px) {
  .o-location__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-gap: 32px;
  }
}

.o-location__item {
  display: flex;
  margin-top: 48px;
}

.o-location__link {
  color: #485B63;
}

.o-location__icon {
  flex: none;
  width: 80px;
  margin-right: 16px;
}

.o-location__route {
  margin-top: 16px;
}

.o-modal {
  z-index: 1001;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  transition: opacity 200ms linear;
}

.o-modal__shader {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #1F292D;
  cursor: pointer;
  opacity: 0.8;
  transition: background-color 0.15s linear;
}

.o-modal__main {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 100%;
  padding: 5vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.o-modal__content {
  position: relative;
  z-index: 3;
  width: 90vw;
  padding-bottom: 24px;
  background-color: #fff;
  opacity: 0;
  transform: translateY(25px);
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(0.17, 0.84, 0.44, 1), linear;
  transition-duration: 300ms, 300ms;
  transition-delay: 0s;
}
@media screen and (min-width: 400px) {
  .o-modal__content {
    max-width: 384px;
  }
}
.is-modal-visible .o-modal__content {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0px);
  transition-delay: 150ms, 150ms;
}

.o-modal__header {
  position: relative;
  background-color: #052A35;
  color: #fff;
  padding: 16px 24px;
  display: flex;
  flex-direction: row-reverse;
}

.o-model__selected {
  position: relative;
  padding: 16px 24px;
}

.o-modal__edit {
  position: absolute;
  top: 16px;
  right: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  background-color: #B3E57B;
  border-radius: 8px;
  transition: background-color 0.2s;
  color: white;
  cursor: pointer;
}
.o-modal__edit:hover {
  background-color: rgb(183.9063291139, 230.6784810127, 131.5215189873);
  color: #052A35;
}

.o-modal__close {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 7px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  opacity: 0.5;
  transform: rotate(45deg);
  transition: opacity 0.2s, transform 0.4s;
}
.o-modal__close::after, .o-modal__close::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(50% - 2px);
  display: block;
  background-color: #fff;
  width: 100%;
  height: 2px;
}
.o-modal__close::after {
  transform: rotate(90deg);
}
.o-modal__close:hover {
  opacity: 1;
}

.o-modal__title {
  flex: auto;
  padding-right: 16px;
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-weight: bold;
}

.o-modal__location {
  margin-top: 4px;
  padding-left: 24px;
  background-repeat: no-repeat;
  background-position: -4px center;
  background-size: 24px 24px;
  background-image: url("/img/location--green.svg");
}

.o-modal__details {
  background-color: #B3E57B;
  padding: 16px 24px 24px;
}

.o-modal__notification {
  margin-top: 16px;
}

.o-modal__notification-message {
  padding: 12px 16px;
  border-radius: 5px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  line-height: 1.5;
  background-color: rgba(255, 255, 255, 0.3);
}

.o-modal__remarks,
.o-modal__notes {
  margin-top: 24px;
  padding: 0 24px;
}

.o-modal__notes > * + * {
  margin-top: 8px;
}

.o-modal__confirm {
  margin: 24px 0;
  padding: 0 24px;
}

.o-modal__errors {
  padding: 0 24px;
}
.o-modal__errors > * + * {
  margin-top: 8px;
}

.o-modal__submit {
  margin-top: 24px;
  padding: 0 24px;
}
.o-modal__submit.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}

.o-modal__cancel {
  text-align: center;
  margin-top: 16px;
  padding: 0 24px;
}

@media screen and (max-width: 1343px) {
  .o-other-posters {
    padding-top: 6.25vw;
    padding-bottom: 6.25vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-other-posters {
    padding-top: 82.2857142857px;
    padding-bottom: 82.2857142857px;
  }
}
.o-other-posters {
  background-color: #F0F1F2;
}
.o-other-posters:not(.o-other-posters--no-slant) {
  padding-top: var(--slant-height);
  clip-path: polygon(0 var(--slant-height), 100% 0, 100% 101%, 0% 101%);
  margin-bottom: calc(-1 * var(--slant-height));
}

.o-other-posters__main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  margin-top: var(--slant-height);
}

.o-other-posters__title {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 48px;
}

.o-other-posters__list {
  list-style: none;
  margin: 0 auto;
}
@media screen and (min-width: 1152px) {
  .o-other-posters__list {
    max-width: 83.3333333333%;
  }
}
@media screen and (min-width: 1344px) {
  .o-other-posters__list {
    max-width: 66.6666666667%;
  }
}

.o-other-posters__item + .o-other-posters__item {
  margin-top: 48px;
}

.o-other-posters__button {
  margin-top: 64px;
  padding-bottom: var(--slant-height);
  text-align: center;
}

.o-overlay-menu {
  z-index: 100;
  display: flex;
  flex-direction: column;
  position: fixed;
  height: 100%;
  width: clamp(min(340px, 94%), 50vw, 540px);
  right: 0;
  top: 0;
  border-radius: 16px 0 0 16px;
  pointer-events: none;
  opacity: 0;
  transform: translateX(100vw);
  transition-property: transform, opacity;
  transition-duration: 350ms, 300ms;
  transition-timing-function: cubic-bezier(0.35, 0.05, 0.05, 1), linear;
  transition-delay: 0s, 350ms;
}
.is-overlay-menu-active .o-overlay-menu {
  pointer-events: all;
  opacity: 1;
  transform: none;
  transition-delay: 200ms, 0s;
}

.o-overlay-menu__shader {
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 200vw;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  cursor: e-resize;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 300ms;
  transition-delay: 0s;
  transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu__shader {
  opacity: 1;
  transition-delay: 0s;
}

.o-overlay-menu__bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #B3E57B;
  padding: 12px 24px;
  border-radius: 16px 0 0 0;
}

.o-overlay-menu__logo {
  position: relative;
  z-index: 1;
}
.o-overlay-menu__logo img {
  height: 41px;
  width: auto;
}

.o-overlay-menu__toggle {
  transform: rotate(-0.5turn);
  transition: transform 600ms ease-out;
  transition-delay: 200ms;
}
.is-overlay-menu-active .o-overlay-menu__toggle {
  transform: none;
}

.o-overlay-menu__nav {
  height: calc(100dvh - 65px);
  overflow-y: auto;
  overflow-x: hidden;
  padding-inline: 24px;
  background: #12332A;
  border-radius: 0 0 0 16px;
}

.o-overlay-menu__list {
  margin-left: 0;
  list-style: none;
}
@media screen and (min-width: 920px) {
  .o-overlay-menu__list {
    display: none;
  }
}

.o-overlay-menu__cart {
  margin-top: 32px;
  margin-bottom: 32px;
}
@media screen and (min-width: 920px) {
  .o-overlay-menu__cart {
    display: none;
  }
}

.o-overlay-menu__link {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
  font-weight: 400;
  display: block;
  padding: 8px 0;
  color: #fff;
  text-decoration: none;
  outline: none;
  transition: color 150ms linear;
}
.o-overlay-menu__link:where(:hover, :focus-visible) {
  color: #999EA0;
}
.o-overlay-menu__link.is-active {
  color: #B3E57B;
}

.o-overlay-menu__sublist {
  list-style: none;
  margin-left: 0;
  margin-top: 32px;
  padding-block: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.o-overlay-menu__sublink {
  display: inline-block;
  padding-block: 2px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 150ms linear;
}
.o-overlay-menu__sublink:hover {
  color: #fff;
}
.o-overlay-menu__sublink.is-active {
  color: #B3E57B;
}
@media screen and (min-width: 920px) {
  .o-overlay-menu__sublink {
    font-size: 20px;
    padding-block: 6px;
  }
}

.o-post-overview {
  margin-top: 80px;
}

.o-post-overview__items {
  position: relative;
  top: -15vw;
}
@media screen and (min-width: 550px) and (max-width: 1399px) {
  .o-post-overview__items {
    top: -9vw;
  }
}
@media screen and (min-width: 1400px) {
  .o-post-overview__items {
    top: -7vw;
  }
}
.o-post-overview__items > * + * {
  margin-top: 32px;
}

.o-post-overview__pagination {
  margin-top: -15vw;
}
@media screen and (min-width: 550px) and (max-width: 1399px) {
  .o-post-overview__pagination {
    margin-top: -9vw;
  }
}
@media screen and (min-width: 1400px) {
  .o-post-overview__pagination {
    margin-top: -7vw;
  }
}

.o-post-overview__item {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.2);
}
.o-post-overview__item:first-child {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}

@media screen and (min-width: 700px) {
  .o-post-overview__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.o-poster-overview__figure {
  position: relative;
  padding: 16px 0 16px 24px;
}
.o-poster-overview__figure > * {
  position: relative;
  z-index: 2;
}
.o-poster-overview__figure:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #052A35;
  pointer-events: none;
  transform: matrix(1, 0, -0.5, 1, 0, 0) scale(2);
  transform-origin: right top;
  transition: background-color 0.2s;
}
.o-poster-overview__figure:hover::before {
  background-color: #B3E57B;
}
@media screen and (max-width: 699px) {
  .o-poster-overview__figure {
    padding: 16px 24px;
    overflow: hidden;
    background-color: #E3E8EA;
  }
  .o-poster-overview__figure:before {
    width: 75%;
  }
}
@media screen and (min-width: 700px) and (max-width: 979px) {
  .o-poster-overview__figure {
    flex: 2;
    align-self: stretch;
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 980px) {
  .o-poster-overview__figure {
    flex: 0 0 400px;
  }
}

.o-poster-overview__img-fallback {
  width: 100%;
  padding-bottom: 50%;
  background-color: #F0F1F2;
  background-image: url("/img/footer_art.svg");
  background-size: 75% auto;
  background-position: center center;
  background-repeat: no-repeat;
}

.o-poster-overview__content {
  padding: 32px 40px;
}
@media screen and (min-width: 700px) and (max-width: 979px) {
  .o-poster-overview__content {
    flex: 3;
  }
}
@media screen and (min-width: 980px) {
  .o-poster-overview__content {
    flex: 1 1 auto;
  }
}

.o-poster-overview__date-icon {
  position: relative;
  top: -2px;
}

.o-poster-overview__teaser {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  color: #999EA0;
}

.o-plan-your-day {
  text-align: center;
  max-width: 1152px;
  margin-inline: auto;
  width: 85.7142857143%;
  margin-bottom: 100px;
}

.o-plan-your-day__title {
  grid-area: title;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 48px;
}

.o-plan-your-day__main {
  grid-area: main;
  container-type: inline-size;
}

.o-process {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
}
@media screen and (max-width: 1343px) {
  .o-process {
    padding-top: 4.6875vw;
    padding-bottom: 6.25vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-process {
    padding-top: 61.7142857143px;
    padding-bottom: 82.2857142857px;
  }
}
.o-process__intro {
  grid-area: intro;
  display: block;
}
.o-process__main {
  grid-area: main;
  display: block;
}
.o-process__cta {
  grid-area: cta;
  display: block;
}
.o-process__aside {
  grid-area: aside;
  display: block;
}
.o-process {
  color: #12332A;
}

.o-process__grid {
  display: grid;
  grid-template-rows: repeat(4, auto);
  grid-row-gap: 32px;
  grid-template-areas: "cta" "intro" "main" "aside";
}
@media screen and (min-width: 1152px) {
  .o-process__grid {
    grid-template-rows: none;
    grid-template-columns: 6fr 3fr;
    grid-column-gap: 10%;
    grid-template-areas: "intro cta" "main aside";
  }
}
@media screen and (min-width: 1344px) {
  .o-process__grid {
    margin-left: auto;
    margin-right: auto;
    width: 83.3333333333%;
  }
}
@media screen and (max-width: 1151px) {
  .o-process--summary .o-process__grid {
    grid-template-areas: "cta" "intro" "aside" "main";
  }
}

.o-process__cart-grid {
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-row-gap: 32px;
  grid-template-areas: "cta" "intro" "main";
}
@media screen and (min-width: 1080px) {
  .o-process__cart-grid {
    grid-template-rows: none;
    grid-template-columns: 6fr 3fr;
    grid-column-gap: 10%;
    grid-template-areas: "intro cta" "main main";
  }
}

.o-process__notes {
  margin-top: 32px;
}

.o-process__heading {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-weight: 400;
}

.o-process__subheading {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 600;
  color: #999EA0;
  margin-top: -4px;
}

.o-process__description {
  margin-top: 32px;
}

.o-process__main {
  min-width: 0;
}
.o-process--create-offer .o-process__main {
  max-width: 600px;
}
.o-process--cart .o-process__main {
  grid-column: 1/-1;
  max-width: 740px;
}

@media screen and (min-width: 1152px) {
  .o-process__aside {
    max-width: 360px;
  }
}
@media screen and (max-width: 1151px) {
  .o-process--cart .o-process__aside {
    position: relative;
    margin-top: 48px;
    border-top: 1px solid rgba(153, 158, 160, 0.4);
    padding-top: 48px;
  }
}
@media screen and (max-width: 1151px) {
  .o-process--summary .o-process__aside {
    padding: 32px 0;
  }
}
.o-process--quotation .o-process__aside {
  margin-top: 32px;
  padding: 48px 0 16px;
  border-top: 1px solid rgba(153, 158, 160, 0.4);
}

@media screen and (max-width: 679px) {
  .o-process__addons > * {
    max-width: 340px;
  }
}
@media screen and (min-width: 680px) and (max-width: 1079px) {
  .o-process__addons {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .o-process__addons > * {
    width: calc((100% - 16px) / 2);
  }
}

.o-product__aside {
  grid-area: aside;
  display: block;
}
.o-product__content {
  grid-area: content;
  display: block;
}
.o-product {
  position: relative;
  margin-block: 16px;
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
}
@media screen and (min-width: 850px) {
  .o-product {
    margin-block: clamp(24px, 4vw, 56px);
  }
}

.o-product__main {
  grid-column: 2;
  display: grid;
  grid-template-rows: auto auto;
  grid-row-gap: 16px;
  grid-template-areas: "header" "aside" "content" "stats";
}
@media screen and (min-width: 850px) {
  .o-product__main {
    grid-row-gap: 32px;
    grid-column-gap: clamp(32px, 3.6vw, 56px);
    grid-template-rows: auto;
    grid-template-columns: 688fr 544fr;
    grid-template-areas: "header ." "aside content";
  }
}

.o-product-head {
  display: block;
  grid-area: header;
}

.o-product__aside {
  min-width: 0;
}
.o-product__aside .swiper {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.o-product__aside .swiper-slide {
  background-size: cover;
  background-position: center;
}
.o-product__aside .mainSwiper {
  width: 100%;
  height: auto;
  border-radius: 6px;
  aspect-ratio: 1;
}
@media screen and (min-width: 850px) {
  .o-product__aside .mainSwiper {
    aspect-ratio: inherit;
    height: 420px;
  }
}
@media screen and (min-width: 1060px) {
  .o-product__aside .mainSwiper {
    aspect-ratio: inherit;
    height: 420px;
  }
}
.o-product__aside .thumbsSwiper {
  box-sizing: border-box;
  padding: 10px 0;
}
.o-product__aside .thumbsSwiper .swiper-slide {
  opacity: 0.4;
  border-radius: 6px;
  width: 69px;
  height: 64px;
  overflow: hidden;
  cursor: pointer;
}
.o-product__aside .thumbsSwiper .swiper-slide-thumb-active {
  opacity: 1;
}
.o-product__aside .thumbsSwiper img {
  aspect-ratio: 1;
}
.o-product__aside .thumbsSwiper .swiper-slide img {
  aspect-ratio: 1;
}
.o-product__aside .swiper-slide img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  aspect-ratio: 1;
}
@media screen and (min-width: 850px) {
  .o-product__aside .swiper-slide img {
    aspect-ratio: inherit;
    height: 100%;
  }
}
@media screen and (min-width: 1060px) {
  .o-product__aside .swiper-slide img {
    aspect-ratio: inherit;
    height: 100%;
  }
}
@media screen and (min-width: 1080px) {
  .o-product__aside .swiper-slide img {
    height: 100%;
  }
}

.o-product__thumbs {
  position: relative;
}

.o-product__controls {
  position: absolute;
  z-index: 1;
  width: 100%;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.o-product-button {
  z-index: 10;
  width: 48px;
  height: 48px;
  display: grid;
  align-items: center;
  justify-items: end;
  background-color: white;
  padding: 4px;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  overflow: hidden;
  pointer-events: all;
}
.o-product-button:after {
  content: "";
  right: 10px;
  display: block;
  width: 100%;
  height: 100%;
  margin-top: auto;
  background-image: url("/img/icon-arrowStickRight.svg");
  background-size: 24px;
  background-repeat: no-repeat;
  background-position: center;
  border: 2px solid #E2EF7A;
  border-radius: inherit;
  padding: 8px;
}
.o-product-button:hover:after {
  border: 2px solid #F18C33; /* Change the border color on hover */
}

/* Previous button */
.o-product-button-prev {
  rotate: 0.5turn;
}

.o-product-video__container {
  width: 100%;
  height: 100%;
  position: relative;
}

.o-product__video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 0;
}

.o-product-video__thumb {
  position: relative;
}
.o-product-video__thumb img {
  width: 100%;
  height: 100%;
}

.o-product-video__icon {
  position: absolute;
  width: 28px;
  height: 28px;
  z-index: 10;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.o-product-video__icon svg {
  display: block;
  width: 28px;
  height: 28px;
}

.o-product__info-stats {
  display: none;
  grid-area: stats;
}
@media screen and (min-width: 850px) {
  .o-product__info-stats {
    display: block;
  }
}
@media screen and (min-width: 1060px) {
  .o-product__info-stats {
    display: block;
  }
}

.o-product__info-mobile {
  display: block;
}
@media screen and (min-width: 850px) {
  .o-product__info-mobile {
    display: none;
  }
}
@media screen and (min-width: 1060px) {
  .o-product__info-mobile {
    display: none;
  }
}

.o-product__content {
  justify-self: start;
}

.o-product__lists {
  display: none;
  color: #12332A;
}
@media screen and (min-width: 850px) {
  .o-product__lists {
    display: block;
  }
}
@media screen and (min-width: 1060px) {
  .o-product__lists {
    display: block;
  }
}

.o-product__lists-mobile {
  display: block;
}
@media screen and (min-width: 850px) {
  .o-product__lists-mobile {
    display: none;
  }
}
@media screen and (min-width: 1060px) {
  .o-product__lists-mobile {
    display: none;
  }
}

.o-product__positives ul, .o-product__negatives ul {
  margin: 0;
  list-style: none;
}
.o-product__positives li, .o-product__negatives li {
  display: flex;
  align-items: center;
}
.o-product__positives li:before, .o-product__negatives li:before {
  content: "+";
  margin-right: 8px;
  color: #B3E57B;
  text-align: center;
  width: 18px;
  min-width: 18px;
  height: 18px;
  font-size: 20px;
  line-height: 16px;
  font-weight: bold;
}

.o-product__negatives li:before {
  content: "-";
  color: #FF4040;
}

.o-product__usps {
  list-style: none;
  margin-left: 0;
  margin-bottom: 32px;
}
.o-product__usps li {
  position: relative;
  padding-left: 28px;
  font-size: 0.875rem;
  padding-bottom: 4px;
}
.o-product__usps li:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  height: 20px;
  width: 20px;
  background-image: url("/img/checkmark.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.c-product-downloads__title {
  font-size: 1.25rem;
  margin-top: 32px;
  color: #12332A;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

.c-product-download__link {
  font-size: 1rem;
  display: flex;
  justify-content: space-between;
  padding-top: 16px;
  padding-bottom: 10px;
  color: #12332A;
  font-weight: normal;
  border-bottom: 1px solid #CCCCCC;
}
.c-product-download__link svg {
  color: #B3E57B;
}
.c-product-download__link:hover:not(:disabled) {
  color: rgb(162.0683544304, 223.2075949367, 93.5924050633);
}

.c-product-download__files {
  list-style: none;
  margin-left: 0;
}

.c-product-download__file {
  padding-block: 16px;
  border-bottom: 1px solid #CCCCCC;
}

.c-product-download__file-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 24px;
       column-gap: 24px;
  width: 100%;
  color: #12332A;
}
.c-product-download__file-link svg {
  color: #B3E57B;
}
.c-product-download__file-link:hover:not(:disabled) {
  color: rgb(16.2, 45.9, 37.8);
}

.o-product__title {
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  color: #12332A;
}

.o-product__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding-block: 16px;
}

.o-product__tag {
  --icon-url: url(/img/clock.svg);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  width: -moz-fit-content;
  width: fit-content;
  background: #F7E1BF;
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 400;
  color: #482C28;
}
.o-product__tag::before {
  content: "";
  height: 16px;
  width: 16px;
  background-image: var(--icon-url);
}
.o-product__tag[data-icon=clock] {
  --icon-url: url(/img/clock.svg);
}
.o-product__tag[data-icon=persons] {
  --icon-url: url(/img/persons.svg);
}
.o-product__tag[data-icon=food] {
  --icon-url: url(/img/food.svg);
}

.o-product-description {
  display: grid;
  justify-items: start;
  gap: 8px;
  padding-top: 16px;
  padding-bottom: 32px;
  color: #12332A;
}

.o-product-description__content {
  max-height: 6lh;
  overflow: hidden;
  transition: max-height 300ms ease-out;
}
.o-product-description__content a {
  color: #BFDCDA;
}
.o-product-description__content.is-expanded {
  transition-timing-function: ease-in;
  max-height: 2000px;
}

.o-product-description__toggle {
  display: inline-block;
  padding: 0;
  color: #B3E57B;
  font-weight: bold;
  text-decoration: underline;
  border: none;
  background: transparent;
  cursor: pointer;
}
.o-product-description__toggle:hover {
  color: #B3E57B;
}

.o-product__location {
  margin-top: 4px;
  margin-bottom: 24px;
  padding-left: 24px;
  background-repeat: no-repeat;
  background-position: -4px center;
  background-size: 24px 24px;
  background-image: url("/img/location.svg");
  color: #12332A;
}

.o-product__costs {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

.o-product__action-sticky {
  --_offset: 12px;
  z-index: 60;
  position: fixed;
  inset: auto 0 0 0;
  width: -moz-fit-content;
  width: fit-content;
  max-width: min(100% - var(--_offset) * 2, 500px);
  margin: var(--_offset) auto;
  padding: 12px;
  background-color: color-mix(in lab, white, transparent 20%);
  backdrop-filter: blur(14px);
  border-radius: 8px;
  box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.17);
  pointer-events: none;
  translate: 0 calc(101% + var(--_offset));
  transition-property: translate;
  transition-duration: 600ms;
  transition-timing-function: cubic-bezier(0.29, 0.06, 0.11, 0.96);
}
.o-product__action-sticky.is-visible {
  pointer-events: auto;
  translate: 0 0;
}
@media screen and (min-width: 850px) {
  .o-product__action-sticky {
    display: none;
  }
}

.o-product__costs--left {
  margin-right: 16px;
}

.o-product__costs--prices {
  display: flex;
  align-items: flex-end;
}

.o-product-food__costs--prices {
  display: flex;
  flex-wrap: wrap;
}

.o-product__costs--right {
  width: 100%;
  padding-top: 16px;
}
.o-product__costs--right button {
  font-family: "Archivo", sans-serif;
  background-color: #FF7700;
  color: #3F0902;
  font-weight: bold;
}
.o-product__costs--right button:hover:not(:disabled) {
  background-color: rgb(239.1247706422, 124.5963302752, 23.6752293578);
}
.o-product__costs--right svg {
  color: #3F0902;
}

.o-product__booking {
  margin-top: 3px;
  font-size: 16px;
  color: #12332A;
}

.o-product__price,
.o-product__price-line {
  display: inline-block;
}

.o-product__price-pp {
  font-size: 16px;
  font-weight: 400;
}

.o-product__price-line {
  padding-left: 4px;
}

.o-product__price {
  position: relative;
  padding-left: 16px;
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-weight: 600;
}
.o-product__price::before {
  position: absolute;
  top: 5px;
  left: -2px;
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.2;
  content: attr(data-currency);
  vertical-align: super;
}
@media screen and (max-width: 524px) {
  .o-product__price {
    padding-left: 0;
  }
  .o-product__price::before {
    position: relative;
    left: 0;
    margin-right: 7px;
  }
}
.o-product__price-detail {
  font-size: 1.5rem;
}

.o-product__subprice {
  margin-top: 8px;
  color: #999EA0;
  font-size: 14px;
  padding-left: 8px;
}

.o-product-food__price {
  position: relative;
  padding-left: 16px;
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-weight: 600;
}
.o-product-food__price::before {
  position: absolute;
  top: 5px;
  left: -2px;
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.2;
  content: attr(data-currency);
  vertical-align: super;
}
@media screen and (max-width: 524px) {
  .o-product-food__price {
    padding-left: 0;
  }
  .o-product-food__price::before {
    position: relative;
    left: 0;
    margin-right: 7px;
  }
}
.o-product-food__price-detail {
  font-size: 1.5rem;
}

.o-product-food__subprice {
  margin-top: 8px;
  color: #999EA0;
  font-size: 14px;
  padding-left: 8px;
}
.o-product-food__subprice-btw {
  width: 100%;
}

.o-product__spec {
  margin-top: 24px;
}

.o-product__note {
  display: none;
  margin-top: 24px;
}
.o-product__note + .o-product__note {
  margin-top: 8px;
}
@media screen and (min-width: 850px) {
  .o-product__note {
    display: block;
  }
}
@media screen and (min-width: 1060px) {
  .o-product__note {
    display: block;
  }
}

.o-product__note-mobile {
  margin-top: 24px;
  display: block;
}
.o-product__note-mobile + .o-product__note-mobile {
  margin-top: 8px;
}
@media screen and (min-width: 850px) {
  .o-product__note-mobile {
    display: none;
  }
}
@media screen and (min-width: 1060px) {
  .o-product__note-mobile {
    display: none;
  }
}

.o-product__order {
  margin-top: 24px;
}

.o-progress {
  --_border-color: color-mix(in lab, #052A35, transparent 85%);
  overflow-x: hidden;
  border-bottom: 1px solid var(--_border-color);
}

.o-progress__list {
  list-style: none;
}
@media screen and (min-width: 550px) {
  .o-progress__list {
    margin-left: auto;
    margin-right: auto;
    max-width: 1152px;
  }
}
@media screen and (min-width: 550px) and (min-width: 325px) {
  .o-progress__list {
    width: calc(100% / 14 * 12);
  }
}
@media screen and (min-width: 325px) {
  .o-progress__list {
    display: flex;
    justify-content: space-between;
  }
}

.o-progress__item {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  flex: auto;
  position: relative;
  z-index: 0;
  padding: 16px;
  text-transform: uppercase;
  color: #12332A;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.o-progress__item::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--_border-color);
  pointer-events: none;
}
@media screen and (max-width: 549px) {
  .o-progress__item {
    font-size: 0.75rem;
    line-height: 1.3333333333;
    padding: 16px 8px;
  }
  .o-progress__item:first-child {
    padding-left: 0;
  }
  .o-progress__item:first-child::before {
    display: none;
  }
}
@media screen and (max-width: 324px) {
  .o-progress__item + .o-progress__item::before {
    content: "";
  }
}
.o-progress__item {
  /**
    * Separator line
    * - when laying items out in a row add a thin line
    */
}
@media screen and (min-width: 325px) {
  .o-progress__item::before {
    content: "";
    width: 1px;
    height: 100%;
    transform: matrix(1, 0, -0.5, 1, 0, 0);
  }
}
.o-progress__item {
  /**
   * Marked state
   * - adds a background color behind the item
   * - first and last item extend the color in the gutters
   */
}
.o-progress__item.is-marked::after {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0;
  bottom: 0;
  left: -1px;
  background-color: #B3E57B;
  width: calc(100% + 2px);
  pointer-events: none;
}
@media screen and (min-width: 325px) {
  .o-progress__item.is-marked::after {
    transform: matrix(1, 0, -0.5, 1, 0, 0);
  }
  .o-progress__item.is-marked:first-child::after {
    width: 100vw;
    right: -1px;
    left: auto;
  }
  .o-progress__item.is-marked:last-child::after {
    width: 100vw;
  }
}

.o-progress__label {
  display: flex;
  align-items: center;
  position: relative;
  /**
    * Ready state
    * - color text changes
    * - we add a checkmark before the text
    */
}
.o-progress__item.is-ready .o-progress__label {
  color: #485B63;
}
@media screen and (min-width: 550px) {
  .o-progress__item.is-ready .o-progress__label::before {
    content: "";
    position: absolute;
    top: 0;
    left: -40px;
    width: 24px;
    height: 24px;
    margin-right: 16px;
    background-image: url(/img/checkmark--dark.svg);
    background-repeat: no-repeat;
    background-position: center;
  }
}
@media screen and (min-width: 550px) and (max-width: 899px) {
  .o-progress__item.is-ready .o-progress__label {
    margin-left: 24px;
  }
  .o-progress__item.is-ready .o-progress__label::before {
    margin-right: 8px;
    left: -32px;
  }
}
.o-progress__label {
  /**
  * Active state
  * - changes the color of the marked background
  */
}
.o-progress__item.is-active .o-progress__label {
  color: #1F292D;
}

.o-questions__left {
  grid-area: left;
  display: block;
}
.o-questions__right {
  grid-area: right;
  display: block;
}
.o-questions {
  background-color: #B3E57B;
}

.o-questions__top {
  color: #B3E57B;
  background-color: #B3E57B;
}
@media screen and (min-width: 1000px) {
  .o-questions__top {
    margin-bottom: -6.6666666667vw;
  }
}

.o-questions__main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  padding: var(--slant-height) 0;
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-row-gap: 32px;
  grid-template-areas: "right" "left";
}
@media screen and (min-width: 1000px) {
  .o-questions__main {
    padding: 0 0 var(--slant-height);
    grid-template-rows: none;
    grid-template-columns: 6fr 5fr;
    grid-column-gap: 8.3333333333%;
    grid-template-areas: "left right";
  }
}

.o-questions__left {
  padding-bottom: 80px;
  max-width: 642px;
  justify-self: center;
}

.o-questions__right {
  max-width: 520px;
  width: 100%;
  margin-top: 40px;
  justify-self: center;
}
@media screen and (min-width: 1000px) {
  .o-questions__right {
    margin-top: calc(6.6666666667vw + 64px);
  }
}
@media screen and (min-width: 1344px) {
  .o-questions__right {
    padding-right: 20%;
  }
}

.o-quote {
  padding-top: var(--slant-height);
  clip-path: polygon(0 var(--slant-height), 100% 0, 100% 101%, 0% 101%);
}
.o-quote__content {
  grid-area: content;
  display: block;
}
.o-quote__image {
  grid-area: image;
  display: block;
}
@media screen and (max-width: 1343px) {
  .o-quote {
    padding-top: 4.6875vw;
    padding-bottom: 4.6875vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-quote {
    padding-top: 61.7142857143px;
    padding-bottom: 61.7142857143px;
  }
}
.o-quote {
  background-color: #1F292D;
  color: #fff;
  padding-top: calc(var(--slant-height) + 40px) !important;
}

.o-quote__main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  display: grid;
  grid-template-rows: auto auto;
  grid-row-gap: 32px;
  grid-template-areas: "content" "image";
}
@media screen and (min-width: 850px) {
  .o-quote__main {
    grid-template-rows: auto;
    grid-template-columns: 5fr 1fr 6fr;
    grid-template-areas: "content . image";
  }
}
@media screen and (min-width: 1060px) {
  .o-quote__main {
    grid-template-columns: 1fr 5fr 1fr 5fr;
    grid-template-areas: ". content . image";
  }
}

.o-quote__content {
  margin: 0;
}

.o-quote__text {
  position: relative;
  margin-top: 24px;
  quotes: "“" "”" "‘" "’";
}
.o-quote__text::before, .o-quote__text::after {
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-weight: 700;
  font-family: "Archivo", sans-serif;
  position: absolute;
  color: #E2EF7A;
}
.o-quote__text::before {
  content: open-quote;
  left: -24px;
  top: 0;
}
.o-quote__text::after {
  content: close-quote;
  right: -24px;
  bottom: 0;
}

.o-quote__author {
  font-weight: 700;
  margin-top: 32px;
}

.o-quote__function {
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  color: #999EA0;
  margin-top: 8px;
}

.o-quote__function {
  margin-top: 8px;
}

.o-review-slider {
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  margin-top: clamp(56px, 2vw, 24px);
}
.o-review-slider.has-green-bg {
  background-image: linear-gradient(to bottom, transparent 50%, #B3E57B 50%);
}

.o-review-slider__main {
  border-radius: 10px;
  background-color: #12332A;
  padding-block: clamp(32px, 2vw, 56px);
  padding-inline: clamp(16px, 2vw, 56px);
  grid-column: 2;
}

.o-review-slider__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 32px;
  grid-template-areas: "intro" "swiper" "general-rating";
}
@media screen and (min-width: 900px) {
  .o-review-slider__content {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    -moz-column-gap: 32px;
         column-gap: 32px;
    grid-template-areas: "intro           swiper" "general-rating  swiper";
  }
}

.o-review-slider__button {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  cursor: pointer;
  color: white;
  background-color: transparent;
  border: 1px solid #999EA0;
  border-radius: 50%;
  transition: background-color 0.2s, color 0.2s;
}
.o-review-slider__button:active, .o-review-slider__button:focus {
  outline: none;
  background-color: #52777F;
}
.o-review-slider__button:hover {
  background-color: #52777F;
}
.o-review-slider__button[disabled] {
  opacity: 0.3;
}

.o-review-slider__intro {
  grid-area: intro;
  display: flex;
  flex-direction: column;
  row-gap: clamp(16px, 2vw, 24px);
}

.o-review-slider__title {
  width: 100%;
  color: #fff;
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: normal;
}

.o-review-slider__controls {
  display: inline-flex;
  gap: 8px;
}

.o-review-slider__swiper {
  grid-area: swiper;
  width: 100%;
}

.o-review-slider__rating {
  display: flex;
  align-items: center;
}

.o-review-slider__stars {
  margin-top: -3px;
  margin-left: 2px;
}

.o-review-slider__score {
  color: #fff;
}

.o-review-slider__text {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  margin-bottom: clamp(16px, 2vw, 24px);
  overflow: hidden;
  color: #fff;
  font-size: 1.25rem;
}

.o-review-slider__author {
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0;
}

.o-review-slider__location {
  color: #999EA0;
  font-size: 1rem;
  font-weight: 400;
  padding-top: 5px;
}

.o-review-slider__general-rating {
  grid-area: general-rating;
  justify-self: end;
}
@media screen and (min-width: 900px) {
  .o-review-slider__general-rating {
    justify-self: start;
  }
}

.o-sc {
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  row-gap: var(--block-gap);
  padding-block: var(--block-gap);
  background-color: #B3E57B;
  color: #12332A;
}
.o-sc > * {
  grid-column: 2;
}

.o-sc__header {
  font-size: clamp(32px, 8vw, 40px);
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  text-align: center;
}

.o-sc__list {
  list-style: none;
  margin-left: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: clamp(24px, 3vw, 48px);
  -moz-column-gap: clamp(16px, 2vw, 32px);
       column-gap: clamp(16px, 2vw, 32px);
}
@media screen and (min-width: 670px) {
  .o-sc__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 888px) {
  .o-sc__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1400px) {
  .o-sc__list {
    grid-template-columns: repeat(7, 1fr);
  }
}

.o-sc__item {
  container-type: inline-size;
  display: grid;
  gap: 12px;
  align-content: start;
  justify-items: center;
}

.o-sc__icon {
  display: grid;
  place-items: center;
  width: clamp(80px, 80cqi, 124px);
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: 50%;
}
.o-sc__icon svg {
  width: 60%;
  height: 60%;
}

.o-sc__title {
  text-align: center;
}

.o-sc__button {
  justify-self: center;
}

.o-statistics {
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  padding-block: var(--block-gap);
  color: #052A35;
}
.o-statistics > * {
  grid-column: 2;
}

.o-statistics__header {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  font-size: clamp(32px, 8cqi, 40px);
  color: #052A35;
  margin-bottom: clamp(32px, 4vw, 56px);
}
@media screen and (min-width: 920px) {
  .o-statistics__header {
    text-align: center;
  }
}

.o-statistics__list {
  list-style: none;
  margin-left: 0;
  display: grid;
  gap: clamp(32px, 4.5vw, 56px);
}
@media screen and (min-width: 920px) {
  .o-statistics__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.o-statistics__item {
  container-type: inline-size;
}

.o-statistics__number {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-size: clamp(52px, -84px + 45cqi, 90px);
  line-height: 1.2;
  color: #B3E57B;
}

.o-statistics__title {
  font-weight: 700;
  font-size: clamp(24px, -27px + 15cqi, 32px);
  margin-top: 0.5em;
}

.o-statistics__desc {
  margin-top: 8px;
}

.o-stats__stats {
  grid-area: stats;
  display: block;
}
.o-stats__content {
  grid-area: content;
  display: block;
}
@media screen and (max-width: 1343px) {
  .o-stats {
    padding-top: 3.125vw;
    padding-bottom: 6.25vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-stats {
    padding-top: 41.1428571429px;
    padding-bottom: 82.2857142857px;
  }
}
.o-stats {
  background-color: #F0F1F2;
}

.o-stats__main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto;
  grid-row-gap: 80px;
  grid-template-areas: "content" "info";
}
@media screen and (min-width: 1148px) {
  .o-stats__main {
    grid-template-rows: auto;
    grid-template-columns: 6fr 1fr 5fr;
    grid-row-gap: 32px;
    grid-template-areas: "info . content";
  }
}

.o-stats__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin-left: -16px;
  margin-right: -16px;
}

.o-stats__item {
  margin-left: 16px;
  margin-right: 16px;
  margin-bottom: 24px;
  width: 230px;
}

@media screen and (min-width: 680px) and (max-width: 1147px) {
  .o-stats__content-wrapper {
    max-width: 500px;
  }
}

.o-steps-intro {
  display: none;
}
@media screen and (min-width: 740px) {
  .o-steps-intro {
    margin-left: auto;
    margin-right: auto;
    max-width: 1152px;
    width: calc(100% / 14 * 12);
    max-width: 1440px;
    margin-top: 32px;
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(200px, 360px);
    -moz-column-gap: 32px;
         column-gap: 32px;
    row-gap: 40px;
    grid-template-areas: "title title" "main main" "aside video";
  }
}
@media screen and (min-width: 1100px) {
  .o-steps-intro {
    grid-template-columns: minmax(480px, 1fr) minmax(200px, 480px);
    grid-template-areas: "title title" "main video" "aside video";
  }
}

.o-steps-intro__title {
  grid-area: title;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  text-transform: uppercase;
}

.o-steps-intro__main {
  grid-area: main;
  container-type: inline-size;
}

.o-steps-intro__aside {
  grid-area: aside;
  display: grid;
  align-items: start;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: 24px;
}

.o-steps-intro__notice {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  padding: 4px 8px;
  color: #12332A;
  background-color: rgb(218.419138756, 229.0765550239, 231.380861244);
  border: 1px solid #52777F;
  border-radius: 4px;
}
.o-steps-intro__notice::before {
  display: grid;
  place-items: center;
  flex: none;
  content: "i";
  font-size: 1.25em;
  line-height: 1;
  height: 1.1em;
  aspect-ratio: 1;
  color: white;
  background-color: #52777F;
  border-radius: 50%;
}

.o-steps-intro__action {
  margin-top: 8px;
}

.o-steps-intro__video {
  grid-area: video;
}
.o-steps-intro__video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 320/200;
  border: none;
  border-radius: 8px;
}

.o-stories__header {
  margin-bottom: 12.5%;
}

.o-stories__footer {
  margin-top: 8.333%;
}

.o-streamer__top {
  grid-area: top;
  display: block;
}
.o-streamer__left {
  grid-area: left;
  display: block;
}
.o-streamer__right {
  grid-area: right;
  display: block;
}
.o-streamer__bottom {
  grid-area: bottom;
  display: block;
}
.o-streamer__text {
  grid-area: text;
  display: block;
}
.o-streamer {
  overflow: hidden;
  display: grid;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 32px 1fr;
  grid-template-areas: "top top top" "text text text" "left . right";
  position: relative;
  padding-top: 40px;
  color: #12332A;
}
@media screen and (min-width: 874px) {
  .o-streamer {
    grid-template-rows: auto 1fr 1px;
    grid-template-columns: 2fr 8fr 2fr;
    grid-template-areas: "top top top" "left text right" "bottom bottom bottom";
  }
}

.o-streamer__text {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-weight: 400;
  margin: 0 auto;
  padding: 16px 0;
  max-width: 430px;
  text-align: center;
}
@media screen and (min-width: 874px) {
  .o-streamer__text {
    padding: 8px 24px 24px;
    max-width: none;
  }
}
@media screen and (min-width: 1180px) {
  .o-streamer__text {
    font-size: 2rem;
    font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
    line-height: 1.25;
  }
}

@media screen and (max-width: 873px) {
  .o-streamer__top {
    transform: scale(2);
    margin-top: 6px;
  }
}

.o-streamer__right {
  justify-self: end;
}

.o-streamer__bottom {
  justify-self: center;
}
@media screen and (max-width: 873px) {
  .o-streamer__bottom {
    display: none;
  }
}

#sun-rays {
  animation: sun 3s infinite;
  transform-origin: 50% 50%;
}

#clouds {
  animation: float 3s infinite;
  animation-timing-function: ease-in-out;
  transform-origin: 50% 50%;
}

#tree {
  animation: tree 3s infinite;
  animation-timing-function: ease-in-out;
  transform-origin: 50% 100%;
}

#tree-1 {
  animation: tree 3s infinite;
  animation-delay: 1.5s;
  animation-timing-function: ease-in-out;
  transform-origin: 50% 100%;
}

@keyframes sun {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(45deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes float {
  0% {
    transform: translateX(0px);
  }
  25% {
    transform: translateX(8px);
  }
  75% {
    transform: translateX(-8px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes tree {
  0% {
    transform: scaleY(1);
  }
  50% {
    transform: scaleY(0.8);
  }
  100% {
    transform: scaleY(1);
  }
}
.o-subfooter__copyright {
  grid-area: copyright;
  display: block;
}
.o-subfooter__list {
  grid-area: list;
  display: block;
}
.o-subfooter__trademark {
  grid-area: trademark;
  display: block;
}
.o-subfooter {
  font-family: "Archivo", sans-serif;
  z-index: 10;
  color: #F7E1BF;
  overflow-y: hidden;
}

.o-subfooter__main {
  padding-block: 32px 16px;
  display: grid;
  -moz-column-gap: 24px;
       column-gap: 24px;
  grid-template-columns: 1fr;
  grid-template-areas: "list" "trademark";
}
@media screen and (min-width: 1080px) {
  .o-subfooter__main {
    grid-template-columns: 1fr auto;
    grid-template-areas: "list trademark";
  }
}

.o-subfooter__list {
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  row-gap: 8px;
}
@media screen and (min-width: 720px) {
  .o-subfooter__list {
    flex-direction: row;
    -moz-column-gap: clamp(16px, 2vw, 32px);
         column-gap: clamp(16px, 2vw, 32px);
    align-items: center;
  }
}

.o-subfooter__link {
  text-decoration: none;
  color: #F7E1BF;
  transition: color 150ms linear;
}
.o-subfooter__link:hover {
  color: #B3E57B;
}

.o-subfooter__trademark {
  display: flex;
}
.o-summary__title {
  grid-area: title;
  display: block;
}
.o-summary__info {
  grid-area: info;
  display: block;
}
.o-summary__total {
  grid-area: total;
  display: block;
}
.o-summary__unitprice {
  grid-area: unitprice;
  display: block;
}
.o-summary__note {
  grid-area: note;
  display: block;
}

.o-summary__title {
  font-size: 1.5rem;
  font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
  line-height: 1.3333333333;
  font-weight: 700;
  font-family: "Archivo", sans-serif;
  margin-bottom: 8px;
}

.o-summary__list {
  margin-left: 0;
  list-style: none;
}

.o-summary__item {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto auto;
  grid-template-areas: "title total" "info unitprice" "note note";
  padding: 16px;
  border-top: 1px solid rgba(82, 119, 127, 0.3);
}
.o-summary__item:first-child {
  border-top: none;
}
@media screen and (max-width: 399px) {
  .o-summary__item {
    padding-left: 0;
    padding-right: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto auto;
    grid-template-areas: "title" "total" "unitprice" "info" "note";
  }
}
@media screen and (min-width: 500px) {
  .o-summary__item {
    padding-left: 24px;
    padding-right: 24px;
  }
}

.o-summary__item--roomy {
  padding-top: 24px;
  padding-bottom: 24px;
}
@media screen and (min-width: 500px) {
  .o-summary__item--roomy {
    padding-left: 32px;
  }
}

.o-summary__item--downpayment {
  background-color: #fff;
  border-top: none;
  box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.2);
  padding: 24px;
}
@media screen and (max-width: 399px) {
  .o-summary__item--downpayment {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.o-summary__heading {
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  margin-bottom: 8px;
}
@media screen and (min-width: 500px) {
  .o-summary__heading {
    font-size: 1.5rem;
    font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
    line-height: 1.3333333333;
  }
}

.o-summary__downpayment-header {
  display: flex;
  justify-content: space-between;
}

.o-summary__heading--nm {
  margin-bottom: 0;
}

.o-summary__price {
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
  font-weight: 600;
}
@media screen and (min-width: 400px) {
  .o-summary__price {
    text-align: right;
  }
}
@media screen and (min-width: 500px) {
  .o-summary__price {
    font-size: 1.5rem;
    font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
    line-height: 1.3333333333;
  }
}
.o-summary__price::before {
  font-size: 1rem;
  line-height: 1.5;
  content: "€ ";
  display: inline-block;
  vertical-align: top;
  padding-right: 8px;
}
@media screen and (min-width: 500px) {
  .o-summary__price::before {
    padding-top: 2px;
  }
}

.o-summary__price--heavy {
  font-family: "Archivo", sans-serif;
  font-weight: 700;
}
@media screen and (min-width: 500px) {
  .o-summary__price--heavy::before {
    font-size: 1.5rem;
    font-size: clamp(1.125rem, 0.9774396642rem + 0.629590766vw, 1.5rem);
    line-height: 1.3333333333;
    padding-top: 0;
  }
}

@media screen and (min-width: 400px) {
  .o-summary__unitprice {
    text-align: right;
  }
}

.o-summary__subline {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 600;
  color: #999EA0;
}

.o-summary__details {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  display: flex;
  flex-direction: column;
  color: #485B63;
}
@media screen and (min-width: 500px) {
  .o-summary__details {
    font-size: 1rem;
    line-height: 1.5;
    flex-direction: row;
    align-items: center;
  }
}

.o-summary__notification {
  margin-top: 16px;
}

.o-summary__notification-label {
  margin-bottom: 4px;
  font-size: 0.8125rem;
  line-height: 1.2307692308;
  font-weight: 700;
  text-transform: uppercase;
  color: #485B63;
}

.o-summary__notification-text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 600;
  color: #999EA0;
}

.o-summary__detail {
  display: flex;
  align-items: center;
}
.o-summary__detail:nth-last-child(n+2) {
  margin-right: 40px;
}
.o-summary__detail svg {
  margin-right: 8px;
}

.o-summary__price-without-vat {
  display: flex;
  justify-content: space-between;
}

.o-summary__info {
  color: #999EA0;
}
@media screen and (max-width: 399px) {
  .o-summary__info {
    margin-top: 16px;
  }
}

.o-summary__note {
  margin-top: 16px;
}

.o-summary__note--no-mt {
  margin-top: 0;
}

.o-summary__form {
  padding: 24px;
}
@media screen and (max-width: 399px) {
  .o-summary__form {
    padding-left: 0;
    padding-right: 0;
  }
}

.o-summary__confirm {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}

.o-summary__loading {
  margin-top: 48px;
  text-align: center;
}

.o-usp-row {
  --bg-color: #B3E57B;
  position: relative;
  padding: 48px 0;
  background-color: var(--bg-color);
}

.o-usp-row--gray-background {
  background-color: #F0F1F2;
}

.o-usp-row--blue-background {
  --bg-color: #3F5057;
  --icon-color: #B3E57B;
  --label-color: #dde6eb;
  --icon-bg-color: #5E7882;
}

.o-usp-row__list {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  list-style: none;
  margin: 0 auto;
  display: grid;
  grid-row-gap: 48px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 900px) {
  .o-usp-row__list {
    grid-template-columns: repeat(4, 1fr);
  }
}

.o-usp-row__item {
  display: flex;
  flex-direction: column;
}

.o-usp-row__icon {
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  margin-inline: auto;
  margin-bottom: 24px;
  background-color: var(--icon-bg-color, #fff);
  border-radius: 50%;
  color: var(--icon-color, inherit);
}

.o-usp-row__label {
  text-align: center;
  color: var(--label-color, inherit);
}

.o-vt__video {
  grid-area: video;
  display: block;
}
.o-vt__content {
  grid-area: content;
  display: block;
}
.o-vt {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  position: relative;
}

.o-vt__main {
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-row-gap: 32px;
  grid-template-areas: "video" "content";
  margin-block: 40px;
}
@media screen and (min-width: 960px) {
  .o-vt__main {
    grid-template-columns: 5fr 1fr 6fr;
    grid-template-rows: auto;
    grid-template-areas: "video . content";
    margin-block: 80px;
  }
}

@media screen and (min-width: 800px) {
  .o-vt__main--reversed {
    grid-template-columns: 5fr 1fr 6fr;
    grid-template-areas: "content . video";
  }
}
@media screen and (min-width: 1152px) {
  .o-vt__main--reversed {
    grid-template-columns: 4fr 1fr 7fr;
  }
}

.o-vt__video > iframe {
  max-width: 100%;
}

.o-vt__content {
  padding-bottom: 32px;
}
@media screen and (min-width: 800px) {
  .o-vt__content {
    margin-top: 24px;
    padding-bottom: inherit;
  }
}

.o-vt__button svg {
  width: 24px;
  height: 24px;
}

.o-text-form__form {
  padding: 40px;
  border-radius: 8px;
  color: white;
  background-color: #12332A;
}
@media screen and (max-width: 1151px) {
  .o-text-form__form {
    margin-top: 32px;
  }
}

.o-locations {
  --_padding-block: var(--block-gap);
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  padding-block: var(--_padding-block);
  background-color: #F0F1F2;
}
.o-locations.has-white-background {
  background-color: #fff;
}

.o-locations__main {
  grid-column: 2;
  display: grid;
  row-gap: 24px;
}
@media screen and (min-width: 620px) {
  .o-locations__main {
    grid-template-columns: 1fr 1fr;
    row-gap: 32px;
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
}
@media screen and (min-width: 920px) {
  .o-locations__main {
    grid-template-columns: minmax(220px, 342fr) 175fr 289fr 32fr 450fr;
    grid-template-rows: auto 1fr auto;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 48px;
  }
}

.o-locations__list-title {
  color: #12332A;
  margin-bottom: 0.5em;
}

.o-locations__title {
  font-size: clamp(24px, 7cqi, 40px);
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-weight: 400;
  color: #12332A;
  text-wrap: balance;
}
@media screen and (min-width: 620px) {
  .o-locations__title {
    grid-row: 1;
    grid-column: 1/span 2;
  }
}
@media screen and (min-width: 920px) {
  .o-locations__title {
    grid-row: 1;
    grid-column: 1/span 2;
  }
}

.o-locations__list {
  margin-left: 0;
  list-style: none;
  container-type: inline-size;
}
@media screen and (min-width: 620px) {
  .o-locations__list {
    grid-row: 2;
    grid-column: 1;
  }
}
@media screen and (min-width: 920px) {
  .o-locations__list {
    grid-row: 2;
    grid-column: 1;
  }
}

.o-locations__cta {
  justify-self: start;
  container-type: inline-size;
  width: 100%;
}
@media screen and (min-width: 620px) {
  .o-locations__cta {
    grid-row: 3;
    grid-column: 1;
  }
}
@media screen and (min-width: 920px) {
  .o-locations__cta {
    align-self: end;
    grid-row: 3;
    grid-column: 1/span 4;
  }
}

.o-locations__button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  cursor: pointer;
  padding: 0;
  text-align: left;
  background: transparent;
  color: rgb(41.0086956522, 116.1913043478, 95.6869565217);
  font-size: clamp(14px, 3vw, 16px);
}
.o-locations__button:where(:hover, :focus-visible) {
  color: #12332A;
}
.o-locations__button.is-active {
  font-weight: 700;
  color: #12332A;
}

@media screen and (min-width: 620px) {
  .o-locations__map {
    grid-row: 4;
    grid-column: 1/span 2;
  }
}
@media screen and (min-width: 920px) {
  .o-locations__map {
    grid-row: 1/span 3;
    grid-column: 2/span 2;
  }
}

.o-locations__cards {
  scroll-margin-top: var(--o-header-height);
  scroll-margin-bottom: 7.1428571429vw;
  display: grid;
  align-items: start;
  justify-items: end;
}
@media screen and (min-width: 620px) {
  .o-locations__cards {
    scroll-margin-top: calc(var(--o-header-height) + var(--_padding-block));
    grid-row: 2/span 2;
    grid-column: 2;
  }
}
@media screen and (min-width: 920px) {
  .o-locations__cards {
    grid-row: 1/span 3;
    grid-column: 5;
  }
}

.o-locations__card {
  grid-area: 1/1;
  display: grid;
  container-type: inline-size;
  width: 100%;
}
@media screen and (min-width: 920px) {
  .o-locations__card {
    justify-items: end;
  }
}
.o-locations__card.is-hidden {
  display: none;
  pointer-events: none;
}

.o-personal {
  --bg-image-height: clamp(64px, 9vw, 115px);
  display: grid;
  grid-template-columns: minmax(var(--gutter-size), 1fr) minmax(0, var(--max-size)) minmax(var(--gutter-size), 1fr);
  row-gap: 48px;
  padding-block: var(--block-gap);
  padding-bottom: calc(var(--bg-image-height) + 32px);
  background-color: #F7E1BF;
  color: #482C28;
  text-align: center;
  background-image: url("/img/footer_art.svg");
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: auto var(--bg-image-height);
}
.o-personal > * {
  grid-column: 2;
}
@media screen and (min-width: 500px) {
  .o-personal {
    text-align: left;
  }
}

.o-personal__heading {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: clamp(20px, 4vw, 32px);
  text-align: center;
}

.o-personal__main {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
  align-items: center;
}
@media screen and (min-width: 500px) {
  .o-personal__main {
    flex-direction: row;
    -moz-column-gap: clamp(32px, 5vw, 56px);
         column-gap: clamp(32px, 5vw, 56px);
    align-items: start;
    max-width: 506px;
    margin-inline: auto;
  }
}

.o-personal__picture {
  width: 170px;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  transform: scaleX(-1);
}

.o-personal__img {
  width: 100%;
  height: auto;
}

.o-personal__title {
  color: #E3E8EA;
}

.o-personal__subtitle {
  font-size: 1.125rem;
  font-size: clamp(1rem, 0.9508132214rem + 0.2098635887vw, 1.125rem);
  line-height: 1.3333333333;
  font-weight: bold;
}

.o-personal__methods {
  list-style: none;
  margin: 16px 0 0;
}

.o-personal__link {
  display: inline-flex;
  align-items: center;
  padding: 4px 0;
  color: #482C28;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s;
}
.o-personal__link svg {
  flex: none;
  margin-right: 8px;
  color: #482C28;
}
.o-personal__link:hover {
  color: rgb(64.8, 39.6, 36);
}

.o-personal__button {
  margin-top: 32px;
}

.o-certainties {
  position: relative;
  padding: 48px 0;
  display: grid;
  gap: 48px;
  justify-content: center;
  background-color: inherit;
}
@media screen and (min-width: 1152px) {
  .o-certainties {
    grid-template-columns: auto 1fr;
    gap: 96px;
    justify-content: left;
  }
}

.o-certainties__badge {
  display: flex;
  justify-content: center;
}
.o-certainties__badge img {
  max-width: 100%;
}
@media screen and (max-width: 799px) {
  .o-certainties__badge img {
    max-width: 75%;
  }
}

.o-certainties__heading {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  margin-bottom: 32px;
  font-size: 2.25rem;
  line-height: 1.2222222222;
  display: none;
}
@media screen and (min-width: 800px) {
  .o-certainties__heading {
    display: block;
  }
}

.o-certainties__heading--mobile {
  font-size: 1.875rem;
  line-height: 1.3333333333;
  display: none;
}
@media screen and (max-width: 799px) {
  .o-certainties__heading--mobile {
    display: block;
  }
}

.o-certainties__heading-moooh {
  font-style: italic;
  color: #fff;
  padding-right: 4px;
}

.o-certainties__list-item {
  position: relative;
  margin-bottom: 8px;
  padding-left: 32px;
}
.o-certainties__list-item:before {
  position: absolute;
  content: url("/img/check-white.svg");
  left: 0;
}

/*  7 - Templates
 *  Override styling for a specific template
 =========================================================== */
/** ==========================================================================
 * Templates
 * =========================================================================*/
.o-shoppingcart__header {
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  margin-top: 20px;
  margin-bottom: 20px;
}

.o-shoppingcart {
  margin-bottom: 60px;
}

.o-shoppingcart__list {
  overflow: visible;
  vertical-align: top;
  padding: 0 30px;
}
.o-shoppingcart__list div.remarks-box {
  background-color: white;
  box-shadow: 2px 2px 15px 5px rgba(22, 57, 95, 0.05);
  margin-bottom: 30px;
  padding: 30px;
}
.o-shoppingcart__list div.remarks-box h4 {
  color: #323232;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  margin: 0;
  text-transform: uppercase;
}
.o-shoppingcart__list div.remarks-box input {
  width: 100%;
  height: 43px;
  padding: 15px;
  border: 1px solid #e0e1e3;
  font-size: 14px;
  line-height: 14px;
}
.o-shoppingcart__list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: white;
  box-shadow: 2px 2px 15px 5px rgba(22, 57, 95, 0.05);
  margin-bottom: 30px;
}
.o-shoppingcart__list ul li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  overflow: visible;
  width: 100%;
  padding: 30px 50px 20px 30px;
  border: 1px solid #e0e1e3;
}
.o-shoppingcart__list ul li + li {
  border-top: none;
}
.o-shoppingcart__list ul li .close {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
  color: #f95d5d;
  line-height: 0.4;
  text-decoration: none;
  font-weight: bold;
  font-size: 22px;
}
.o-shoppingcart__list ul li .left, .o-shoppingcart__list ul li .right {
  display: inline-block;
  vertical-align: top;
}
.o-shoppingcart__list ul li .left {
  font-size: 16px;
  line-height: 24px;
}
.o-shoppingcart__list ul li .left p {
  text-transform: uppercase;
  color: #8791a0;
  font-size: 14px;
  font-weight: 500;
  line-height: 23px;
}
.o-shoppingcart__list ul li .left p label {
  color: #2d323c;
  font-weight: bold;
}
.o-shoppingcart__list ul li .left h3 {
  color: #3c414b;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  margin-top: 0;
}
.o-shoppingcart__list ul li .left h3 a {
  color: blue;
  text-decoration: none;
}
.o-shoppingcart__list ul li .right {
  text-align: right;
  color: #3c414b;
  display: inline-flex;
  align-items: center;
  width: 250px;
}
.o-shoppingcart__list ul li .right .order-box {
  margin-top: 0;
}
.o-shoppingcart__list ul li .right .order-box .amount-label {
  margin-right: 10px;
}
.o-shoppingcart__list ul li .right .order-box .amount-box {
  margin: 0;
  margin-right: 30px;
  padding: 0;
  width: auto;
}
.o-shoppingcart__list ul li .right .order-box .amount-box .amount {
  margin-right: 0;
  width: 50px;
}
.o-shoppingcart__list ul li .right .order-box .amount-box .increase,
.o-shoppingcart__list ul li .right .order-box .amount-box .decrease {
  width: 30px;
  height: 30px;
  cursor: pointer;
  color: white;
  font-weight: bold;
  background-color: #b3b3b3;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  text-decoration: none;
}
.o-shoppingcart__list ul li .right .price {
  margin-left: auto;
  font-size: 20px;
  font-weight: bold;
  line-height: 24px;
}
.o-shoppingcart__list ul li .right .price p {
  font-size: 15px;
  font-weight: 500;
  line-height: 24px;
}
.o-shoppingcart__list ul li .right .price p.plain {
  color: #67717a;
}
.o-shoppingcart__list .devButtons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: -20px;
  margin-bottom: 20px;
}

.o-shoppingCart__overview {
  vertical-align: top;
  text-align: right;
}
.o-shoppingCart__overview .box {
  margin-bottom: 30px;
  padding: 30px;
}
.o-shoppingCart__overview .box h3 {
  color: #696e73;
  font-size: 20px;
  font-weight: bold;
  line-height: 24px;
  text-transform: uppercase;
  display: inline-block;
  vertical-align: top;
  margin-top: 0;
}
.o-shoppingCart__overview .box p {
  color: #67717a;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 30px;
}
.o-shoppingCart__overview .box p b {
  color: #323232;
}
.o-shoppingCart__overview .box.order-overview h5 {
  color: #696e78;
  font-size: 16px;
  line-height: 24px;
  font-weight: normal;
}
.o-shoppingCart__overview .box.order-overview h5 span {
  color: blue;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
}
.o-shoppingCart__overview .box.order-overview input[type=submit] {
  display: inline-block;
  margin-top: 20px;
  margin-left: 15px;
  padding: 5px 12px;
  background-color: #66bdff;
  font-size: 16px;
  font-weight: 500;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  outline: none;
}

input.hidden {
  display: none;
}

.shopButtons {
  overflow: visible;
}
.shopButtons a.button:first-of-type {
  margin-right: 30px;
}
.shopButtons form {
  display: inline-block;
}

.delete-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 9999;
  border: solid 1px red;
  justify-content: center;
  align-items: center;
}
.delete-modal .modal-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}
.delete-modal .modal-box {
  display: block;
  width: 400px;
  background-color: white;
  flex-direction: column;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  position: relative;
  padding: 30px;
  box-shadow: 2px 2px 15px 5px rgba(22, 57, 95, 0.2);
}
.delete-modal .modal-box h3 {
  color: blue;
  margin: 0;
}
.delete-modal .modal-box .close {
  display: block;
  position: absolute;
  right: 20px;
  top: 25px;
  width: 15px;
  height: 15px;
  color: grey;
  line-height: 0.4;
  text-decoration: none;
  font-weight: bold;
  font-size: 22px;
}
.delete-modal .modal-box p {
  color: grey;
}
.delete-modal .modal-box .buttons {
  margin-top: 10px;
}
.delete-modal .modal-box .buttons a.button {
  text-transform: uppercase;
}
.delete-modal .modal-box .buttons a.button:first-of-type {
  margin-right: 10px;
}
.delete-modal .modal-box .buttons a.button.blue {
  background-color: blue;
}
.delete-modal .modal-box .buttons a.button.yellow {
  background-color: yellow;
}
.delete-modal .modal-box .buttons a.button:hover {
  transform: scale(1.05);
}

@media screen and (max-width: 1099px) {
  .shoppingCartContent div.shoppingcartItemList,
  .shoppingCartContent .shoppingCartInfoBar {
    width: 100%;
    margin-left: 0;
    overflow: visible;
  }
}
@media screen and (max-width: 1099px) {
  .shoppingCartContent div.shoppingcart-header h1 {
    width: auto;
    display: block;
  }
  .shoppingCartContent div.shoppingcart-header a.button {
    display: none;
  }
  .shoppingCartContent .shopButtons {
    padding: 30px 0;
  }
}
@media screen and (max-width: 424px) {
  .shoppingCartContent {
    margin-bottom: 0;
  }
  .shoppingCartContent div.shoppingcart-header,
  .shoppingCartContent div.shoppingcartItemList p {
    padding: 0 20px;
  }
  .shoppingCartContent .shopButtons {
    padding: 30px 20px;
  }
  .shoppingCartContent .shoppingCartInfoBar .box {
    margin-bottom: 0;
    box-shadow: none;
  }
  .shoppingCartContent .shoppingCartInfoBar .box.order-overview {
    border-bottom: 1px solid #e0e1e3;
  }
}
.o-checkout {
  margin-bottom: 60px;
}

.o-checkout__order-details {
  overflow: visible;
  vertical-align: top;
}
.o-checkout__order-details table {
  overflow: auto;
  white-space: nowrap;
  width: 100%;
  text-align: left;
}

.o-checkout__remarks textarea {
  width: 100%;
}
.o-checkout__remarks {
  margin-bottom: 30px;
}

.o-checkout__invoice-and-shipping {
  display: flex;
  width: 100%;
}
.o-checkout__invoice-and-shipping .invoice,
.o-checkout__invoice-and-shipping .shipping {
  width: 47.5%;
}
.o-checkout__invoice-and-shipping .invoice h3,
.o-checkout__invoice-and-shipping .shipping h3 {
  margin-bottom: 10px;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element,
.o-checkout__invoice-and-shipping .shipping .c-form-element {
  display: inline-block;
  width: 45%;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element label,
.o-checkout__invoice-and-shipping .shipping .c-form-element label {
  display: block;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element input,
.o-checkout__invoice-and-shipping .shipping .c-form-element input {
  width: 100%;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element input:focus,
.o-checkout__invoice-and-shipping .shipping .c-form-element input:focus {
  outline: none;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element.street, .o-checkout__invoice-and-shipping .invoice .c-form-element.city,
.o-checkout__invoice-and-shipping .shipping .c-form-element.street,
.o-checkout__invoice-and-shipping .shipping .c-form-element.city {
  width: 70%;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element.street, .o-checkout__invoice-and-shipping .invoice .c-form-element.postal_code, .o-checkout__invoice-and-shipping .invoice .c-form-element.phone,
.o-checkout__invoice-and-shipping .shipping .c-form-element.street,
.o-checkout__invoice-and-shipping .shipping .c-form-element.postal_code,
.o-checkout__invoice-and-shipping .shipping .c-form-element.phone {
  margin-right: 5%;
}
.o-checkout__invoice-and-shipping .invoice .c-form-element.house_number, .o-checkout__invoice-and-shipping .invoice .c-form-element.postal_code,
.o-checkout__invoice-and-shipping .shipping .c-form-element.house_number,
.o-checkout__invoice-and-shipping .shipping .c-form-element.postal_code {
  width: 20%;
}
.o-checkout__invoice-and-shipping .shipping {
  margin-left: 5%;
}
.o-checkout__invoice-and-shipping .invoice_address_form,
.o-checkout__invoice-and-shipping .shipping_address_form {
  display: none;
}
.o-checkout__invoice-and-shipping input#invoice_address_-1:checked ~ .invoice_address_form {
  display: block;
}
.o-checkout__invoice-and-shipping input#shipping_address_-1:checked ~ .shipping_address_form {
  display: block;
}

.o_checkout__guest {
  display: flex;
  width: 100%;
}
.o_checkout__guest .details {
  width: 47.5%;
}
.o_checkout__guest .details h3 {
  margin-bottom: 10px;
}
.o_checkout__guest .details .c-form-element {
  display: inline-block;
  width: 45%;
}
.o_checkout__guest .details .c-form-element label {
  display: block;
}
.o_checkout__guest .details .c-form-element input {
  width: 100%;
}
.o_checkout__guest .details .c-form-element input:focus {
  outline: none;
}

.o-checkout__terms-and-submit {
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.o-checkout__terms-and-submit input[type=submit] {
  display: inline-block;
  margin-left: 15px;
  padding: 5px 12px;
  background-color: #66bdff;
  font-size: 16px;
  font-weight: 500;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  outline: none;
}

.t-error {
  min-height: 100vh;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

@media screen and (max-width: 849px) {
  .t-about__visit-site .o-duplex {
    margin-top: 10vw;
  }
}

#legal .l-main .o-block > .l-contain {
  max-width: 800px;
}

@media screen and (min-width: 1152px) {
  #eventbanners .o-component-area__component[data-type=textImage] .l-double {
    display: grid;
    grid-template-columns: 300px 1fr;
  }
}
#eventbanners .o-component-area__component[data-type=textImage] .u-clip-path {
  clip-path: none;
}

.t-eventbanner__form {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  padding: 32px 0 32px;
  color: white;
}
@media screen and (min-width: 1000px) {
  .t-eventbanner__form {
    padding: 112px 0 64px;
  }
}
.t-eventbanner__form .c-input {
  max-width: none;
}

@media screen and (max-width: 699px) {
  .t-eventbanner__form-split > * + * {
    margin-top: 48px;
  }
}
@media screen and (min-width: 700px) {
  .t-eventbanner__form-split {
    display: flex;
    justify-content: space-between;
  }
  .t-eventbanner__form-split > * {
    width: calc((100% - 40px) / 2);
  }
}

.locations__provinces {
  padding-left: 480px;
}
@media screen and (max-width: 1349px) {
  .locations__provinces {
    padding-top: 50px;
    padding-left: 0;
  }
}

.t-bumperball__form {
  margin-bottom: 24px;
}
.t-bumperball__form textarea.c-input {
  max-width: none;
}

@media screen and (max-width: 699px) {
  .t-bumperball__form-split > * + * {
    margin-top: 48px;
  }
}
@media screen and (min-width: 700px) {
  .t-bumperball__form-split {
    display: flex;
    justify-content: space-between;
  }
  .t-bumperball__form-split > * {
    width: calc((100% - 32px) / 2);
  }
}

/*  8 - SCOPES
 *  Elements and classes that are scoped by a parent class
 =========================================================== */
.s-checklist {
  list-style: none;
  margin-left: 0;
}
.s-checklist > * + * {
  margin-top: 24px;
}
.s-checklist li {
  display: flex;
  vertical-align: middle;
}
.s-checklist li::before {
  content: "";
  flex: none;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background-image: url(/img/checkmark.svg);
  background-repeat: no-repeat;
  background-position: center;
}

.s-ol-list > * + * {
  margin-top: 24px;
}
.s-ol-list ol {
  list-style: none;
  margin-left: 0;
}
.s-ol-list li {
  display: flex;
  vertical-align: middle;
}
.s-ol-list li::before {
  content: "";
  flex: none;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  background-image: url(/img/checkmark.svg);
  background-repeat: no-repeat;
  background-position: center;
}

/**
 * All text elements that can be added by the user through a CMS
 */
.s-text:not(.s-ol-list) h1, .s-text:not(.s-ol-list) h2 {
  font-family: "Archivo Black", "Arial Black", sans-serif;
  font-size: 2rem;
  font-size: clamp(1.25rem, 0.9548793284rem + 1.259181532vw, 2rem);
  line-height: 1.25;
  font-weight: 400;
}
.s-text:not(.s-ol-list) h1:first-child, .s-text:not(.s-ol-list) h2:first-child {
  margin-bottom: 0;
}
.s-text:not(.s-ol-list) h1:first-child + h2, .s-text:not(.s-ol-list) h1:first-child + h3, .s-text:not(.s-ol-list) h2:first-child + h2, .s-text:not(.s-ol-list) h2:first-child + h3 {
  margin-top: 8px;
}
.s-text:not(.s-ol-list) h1 strong, .s-text:not(.s-ol-list) h2 strong {
  font-weight: 400;
}
.s-text:not(.s-ol-list) h3 {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 800;
  text-transform: uppercase;
}
.s-text:not(.s-ol-list):not(.s-text--on-dark) h1, .s-text:not(.s-ol-list):not(.s-text--on-dark) h2, .s-text:not(.s-ol-list):not(.s-text--on-dark) h3 {
  color: #12332A;
}
.s-text:not(.s-ol-list) > * + * {
  margin-top: 32px;
}
.s-text:not(.s-ol-list) > h3 + p {
  margin-top: 16px;
}
.s-text:not(.s-ol-list) > :first-child {
  margin-top: 0 !important;
}
.s-text:not(.s-ol-list) > ul:not([class]) {
  list-style: none;
}
.s-text:not(.s-ol-list) > ul:not([class]) > li {
  position: relative;
  margin-left: -1.125em;
  padding-left: 1.125em;
}
.s-text:not(.s-ol-list) > ul:not([class]) > li::before {
  font-size: 1.25rem;
  font-size: clamp(1rem, 0.9016264428rem + 0.4197271773vw, 1.25rem);
  line-height: 1.5;
  content: "•";
  position: absolute;
  top: 1px;
  left: 0;
}
.s-text:not(.s-ol-list) > ol:not([class]) {
  list-style: none;
  counter-reset: ol-counter;
}
.s-text:not(.s-ol-list) > ol:not([class]) > li {
  counter-increment: ol-counter;
  position: relative;
  margin-left: -1.125em;
  padding-left: 1.8em;
}
.s-text:not(.s-ol-list) > ol:not([class]) > li::before {
  content: counter(ol-counter) ". ";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.275em;
  text-align: right;
}

.s-text--on-dark {
  color: #fff;
}
.s-text--on-dark a:not(.c-button):hover {
  color: #75b0f0;
}
.s-text--on-dark li::before {
  color: #B3E57B;
}

/*  9 - LIBRARIES
 *  Styling we implement from third parties
 =========================================================== */
.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-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
  height: 0;
  padding: 0;
}

.flatpickr-day.today {
  border-color: #E3E8EA;
}
.flatpickr-day.today:hover {
  background-color: rgba(179, 229, 123, 0.2);
  border-color: #B3E57B;
  color: #393939;
}
.flatpickr-day.today.selected:hover {
  color: white;
}

.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-color: #B3E57B;
  border-color: #B3E57B;
  font-weight: bold;
}

.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 {
  background-color: rgba(179, 229, 123, 0.2);
  border-color: rgba(179, 229, 123, 0.2);
}

.flatpickr-current-month .numInputWrapper:hover {
  background-color: rgba(179, 229, 123, 0.1);
}
.flatpickr-current-month .numInputWrapper span {
  border: none;
}
.flatpickr-current-month .numInputWrapper span:hover {
  background-color: rgba(179, 229, 123, 0.3);
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: #B3E57B;
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: #B3E57B;
}
.flatpickr-current-month input.cur-year {
  font-size: 15px;
  padding: 2px 10px;
}
.flatpickr-current-month input.cur-year:hover {
  border-color: rgba(179, 229, 123, 0.1);
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  font-size: 15px;
  padding: 6px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background-color: rgba(179, 229, 123, 0.1);
}

.lib-flatpickr__arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
  margin: 4px;
  border-radius: 4px;
}
.lib-flatpickr__arrow:hover {
  background-color: rgba(179, 229, 123, 0.1);
}
.lib-flatpickr__arrow:after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 0;
  border-color: transparent;
}

.lib-flatpickr__arrow--next:after {
  border-left-color: #E3E8EA;
  border-left-width: 8px;
}
.lib-flatpickr__arrow--next:hover:after {
  border-left-color: #B3E57B;
}

.lib-flatpickr__arrow--prev:after {
  border-right-color: #E3E8EA;
  border-right-width: 8px;
}
.lib-flatpickr__arrow--prev:hover:after {
  border-right-color: #B3E57B;
}

/*  10 - UTILITIES
 *  High-specificity, very explicit selectors.
 *  Overrides and helper classes.
 =========================================================== */
/** =====================================================================================
 *  Color
 ===================================================================================== */
/**
 * Here we print out all our helper classes for our defined colors
 * Based on these articles:
 * - http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
 * - https://blog.atechmedia.com/css-for-multiple-themes/
 * Output is in the form of:

   .u-color-primary {
      color: #bada55;
   }

  .u-bg-neutral--dark {
    background-color: #decaff;
  }
 */
.u-color-primary--400 {
  color: #E2EF7A;
}

.u-bg-primary--400 {
  background-color: #E2EF7A;
}

.u-color-primary--500 {
  color: #B3E57B;
}

.u-bg-primary--500 {
  background-color: #B3E57B;
}

.u-color-primary--600 {
  color: #91A200;
}

.u-bg-primary--600 {
  background-color: #91A200;
}

.u-color-primary--900 {
  color: #12332A;
}

.u-bg-primary--900 {
  background-color: #12332A;
}

.u-color-secondary--200 {
  color: #52777F;
}

.u-bg-secondary--200 {
  background-color: #52777F;
}

.u-color-secondary--400 {
  color: #12332A;
}

.u-bg-secondary--400 {
  background-color: #12332A;
}

.u-color-secondary--500 {
  color: #BFDCDA;
}

.u-bg-secondary--500 {
  background-color: #BFDCDA;
}

.u-color-secondary--700 {
  color: #052A35;
}

.u-bg-secondary--700 {
  background-color: #052A35;
}

.u-color-secondary--900 {
  color: #1F292D;
}

.u-bg-secondary--900 {
  background-color: #1F292D;
}

.u-color-secondary--950 {
  color: #111A1E;
}

.u-bg-secondary--950 {
  background-color: #111A1E;
}

.u-color-tertiary--500 {
  color: #FF7700;
}

.u-bg-tertiary--500 {
  background-color: #FF7700;
}

.u-color-tertiary--900 {
  color: #3F0902;
}

.u-bg-tertiary--900 {
  background-color: #3F0902;
}

.u-color-quaternary--500 {
  color: #F7E1BF;
}

.u-bg-quaternary--500 {
  background-color: #F7E1BF;
}

.u-color-quaternary--900 {
  color: #482C28;
}

.u-bg-quaternary--900 {
  background-color: #482C28;
}

.u-color-alt--300 {
  color: #5E7882;
}

.u-bg-alt--300 {
  background-color: #5E7882;
}

.u-color-alt--400 {
  color: #485B63;
}

.u-bg-alt--400 {
  background-color: #485B63;
}

.u-color-alt--500 {
  color: #3F5057;
}

.u-bg-alt--500 {
  background-color: #3F5057;
}

.u-color-neutral--0 {
  color: #fff;
}

.u-bg-neutral--0 {
  background-color: #fff;
}

.u-color-neutral--50 {
  color: #f9f9fa;
}

.u-bg-neutral--50 {
  background-color: #f9f9fa;
}

.u-color-neutral--75 {
  color: #F5F5F5;
}

.u-bg-neutral--75 {
  background-color: #F5F5F5;
}

.u-color-neutral--100 {
  color: #F0F1F2;
}

.u-bg-neutral--100 {
  background-color: #F0F1F2;
}

.u-color-neutral--200 {
  color: #E3E8EA;
}

.u-bg-neutral--200 {
  background-color: #E3E8EA;
}

.u-color-neutral--400 {
  color: #999EA0;
}

.u-bg-neutral--400 {
  background-color: #999EA0;
}

.u-color-neutral--500 {
  color: #DDE6EB;
}

.u-bg-neutral--500 {
  background-color: #DDE6EB;
}

.u-color-border--200 {
  color: #CCCCCC;
}

.u-bg-border--200 {
  background-color: #CCCCCC;
}

.u-color-action--500 {
  color: #1776DD;
}

.u-bg-action--500 {
  background-color: #1776DD;
}

.u-color-action--300 {
  color: #75b0f0;
}

.u-bg-action--300 {
  background-color: #75b0f0;
}

.u-color-action--100 {
  color: #E5F2FF;
}

.u-bg-action--100 {
  background-color: #E5F2FF;
}

.u-color-warning--700 {
  color: #F18C33;
}

.u-bg-warning--700 {
  background-color: #F18C33;
}

.u-color-warning--500 {
  color: #DDAC17;
}

.u-bg-warning--500 {
  background-color: #DDAC17;
}

.u-color-warning--100 {
  color: #FFF8E5;
}

.u-bg-warning--100 {
  background-color: #FFF8E5;
}

.u-color-negative--500 {
  color: #FF4040;
}

.u-bg-negative--500 {
  background-color: #FF4040;
}

.u-color-positive--500 {
  color: #3ecf8e;
}

.u-bg-positive--500 {
  background-color: #3ecf8e;
}

.u-color-box-shadow {
  color: hsla(0, 50%, 0%, 0.2);
}

.u-bg-box-shadow {
  background-color: hsla(0, 50%, 0%, 0.2);
}

.u-bg-shade {
  background-color: rgba(18, 51, 42, 0.08);
}

.u-wrapper {
  position: relative;
  width: 100%;
  /*
  * Prevent collapsing margins
  * If for some reason this method fails,
  * NEVER try this with setting display inline-block!!
  */
}
.u-wrapper::before, .u-wrapper::after {
  content: " ";
  display: table;
}

.u-border-bottom {
  border-bottom: 1px solid rgba(82, 119, 127, 0.35);
}

.u-text-align-center {
  text-align: center;
}

.u-list--clean {
  list-style: none;
  margin-left: 0;
}

.u-overflow-hidden {
  overflow: hidden;
}

.u-cow-spot {
  position: relative;
  z-index: 0;
}
.u-cow-spot::before, .u-cow-spot::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  animation: rotate 5s ease-in-out infinite;
  animation-direction: alternate;
}
.u-cow-spot[data-pos~=left]::before {
  top: 128px;
  left: 0;
  height: 300px;
  width: 200px;
  background-image: url(/img/cow-spot-top-left.svg);
}
.u-cow-spot[data-pos~=right]::after {
  top: 0;
  right: 0;
  height: 240px;
  width: 240px;
  background-image: url(/img/cow-spot-top-right.svg);
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(10deg) scale(1.35);
  }
}
.u-slant-top {
  padding-top: var(--slant-height);
  clip-path: polygon(0 0, 100% var(--slant-height), 100% 101%, 0% 101%);
}

.u-slant-top-reversed {
  padding-top: var(--slant-height);
  clip-path: polygon(0 var(--slant-height), 100% 0, 100% 101%, 0% 101%);
}

.u-mb-neg-slant-height {
  margin-bottom: calc(-1 * var(--slant-height));
}

.u-mt-neg-slant-height {
  margin-top: calc(-1 * var(--slant-height));
}

.u-fs-12 {
  font-size: 12px;
}

.u-fs-13 {
  font-size: 13px;
}

.u-fs-14 {
  font-size: 14px;
}

.u-fs-16 {
  font-size: 16px;
}

.u-fs-20 {
  font-size: 20px;
}

.u-fs-24 {
  font-size: 24px;
}

.u-fs-32 {
  font-size: 32px;
}

/** =====================================================================================
 *  Spacing
 ===================================================================================== */
/**
 * For faster mobile-friendly development,
 * use these utility classes for showing and hiding
 * content by device via media query.
 *
 * Based on this table: https://v4-alpha.getbootstrap.com/layout/responsive-utilities/
 */
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  overflow: hidden;
}

.u-hidden {
  display: none !important;
}

@media screen and (max-width: 799px) {
  .u-hidden\@s-down {
    display: none !important;
  }
}
@media screen and (min-width: 800px) {
  .u-hidden\@m-up {
    display: none !important;
  }
}
@media screen and (max-width: 1151px) {
  .u-hidden\@m-down {
    display: none !important;
  }
}
@media screen and (min-width: 1152px) {
  .u-hidden\@l-up {
    display: none !important;
  }
}
@media screen and (max-width: 1343px) {
  .u-hidden\@l-down {
    display: none !important;
  }
}
/*
* If you need to make a quick fix, you can do it here.
* Later when you have the time, you can move the fix into the correct place in the structure
*/
.u-clip-path[data-id=clip-path-image-1] {
  clip-path: url(#clip-path-image-1);
}
.u-clip-path[data-id=clip-path-image-2] {
  clip-path: url(#clip-path-image-2);
}
.u-clip-path[data-id=clip-path-image-3] {
  clip-path: url(#clip-path-image-3);
}

.u-spacing-mt0 {
  margin-top: 0px !important;
}

.u-spacing-mr0 {
  margin-right: 0px !important;
}

.u-spacing-mb0 {
  margin-bottom: 0px !important;
}

.u-spacing-ml0 {
  margin-left: 0px !important;
}

.u-spacing-mlr0, .u-spacing-mrl0 {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

.u-spacing-mtb0, .u-spacing-mbt0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.u-spacing-pt0 {
  padding-top: 0px !important;
}

.u-spacing-pr0 {
  padding-right: 0px !important;
}

.u-spacing-pb0 {
  padding-bottom: 0px !important;
}

.u-spacing-pl0 {
  padding-left: 0px !important;
}

.u-spacing-mt1 {
  margin-top: 8px !important;
}

.u-spacing-mr1 {
  margin-right: 8px !important;
}

.u-spacing-mb1 {
  margin-bottom: 8px !important;
}

.u-spacing-ml1 {
  margin-left: 8px !important;
}

.u-spacing-mlr1, .u-spacing-mrl1 {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.u-spacing-mtb1, .u-spacing-mbt1 {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.u-spacing-pt1 {
  padding-top: 8px !important;
}

.u-spacing-pr1 {
  padding-right: 8px !important;
}

.u-spacing-pb1 {
  padding-bottom: 8px !important;
}

.u-spacing-pl1 {
  padding-left: 8px !important;
}

.u-spacing-mt2 {
  margin-top: 16px !important;
}

.u-spacing-mr2 {
  margin-right: 16px !important;
}

.u-spacing-mb2 {
  margin-bottom: 16px !important;
}

.u-spacing-ml2 {
  margin-left: 16px !important;
}

.u-spacing-mlr2, .u-spacing-mrl2 {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

.u-spacing-mtb2, .u-spacing-mbt2 {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

.u-spacing-pt2 {
  padding-top: 16px !important;
}

.u-spacing-pr2 {
  padding-right: 16px !important;
}

.u-spacing-pb2 {
  padding-bottom: 16px !important;
}

.u-spacing-pl2 {
  padding-left: 16px !important;
}

.u-spacing-mt3 {
  margin-top: 24px !important;
}

.u-spacing-mr3 {
  margin-right: 24px !important;
}

.u-spacing-mb3 {
  margin-bottom: 24px !important;
}

.u-spacing-ml3 {
  margin-left: 24px !important;
}

.u-spacing-mlr3, .u-spacing-mrl3 {
  margin-left: 24px !important;
  margin-right: 24px !important;
}

.u-spacing-mtb3, .u-spacing-mbt3 {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.u-spacing-pt3 {
  padding-top: 24px !important;
}

.u-spacing-pr3 {
  padding-right: 24px !important;
}

.u-spacing-pb3 {
  padding-bottom: 24px !important;
}

.u-spacing-pl3 {
  padding-left: 24px !important;
}

.u-spacing-mt4 {
  margin-top: 32px !important;
}

.u-spacing-mr4 {
  margin-right: 32px !important;
}

.u-spacing-mb4 {
  margin-bottom: 32px !important;
}

.u-spacing-ml4 {
  margin-left: 32px !important;
}

.u-spacing-mlr4, .u-spacing-mrl4 {
  margin-left: 32px !important;
  margin-right: 32px !important;
}

.u-spacing-mtb4, .u-spacing-mbt4 {
  margin-top: 32px !important;
  margin-bottom: 32px !important;
}

.u-spacing-pt4 {
  padding-top: 32px !important;
}

.u-spacing-pr4 {
  padding-right: 32px !important;
}

.u-spacing-pb4 {
  padding-bottom: 32px !important;
}

.u-spacing-pl4 {
  padding-left: 32px !important;
}

.u-spacing-mt5 {
  margin-top: 40px !important;
}

.u-spacing-mr5 {
  margin-right: 40px !important;
}

.u-spacing-mb5 {
  margin-bottom: 40px !important;
}

.u-spacing-ml5 {
  margin-left: 40px !important;
}

.u-spacing-mlr5, .u-spacing-mrl5 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.u-spacing-mtb5, .u-spacing-mbt5 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.u-spacing-pt5 {
  padding-top: 40px !important;
}

.u-spacing-pr5 {
  padding-right: 40px !important;
}

.u-spacing-pb5 {
  padding-bottom: 40px !important;
}

.u-spacing-pl5 {
  padding-left: 40px !important;
}

.u-spacing-mt6 {
  margin-top: 48px !important;
}

.u-spacing-mr6 {
  margin-right: 48px !important;
}

.u-spacing-mb6 {
  margin-bottom: 48px !important;
}

.u-spacing-ml6 {
  margin-left: 48px !important;
}

.u-spacing-mlr6, .u-spacing-mrl6 {
  margin-left: 48px !important;
  margin-right: 48px !important;
}

.u-spacing-mtb6, .u-spacing-mbt6 {
  margin-top: 48px !important;
  margin-bottom: 48px !important;
}

.u-spacing-pt6 {
  padding-top: 48px !important;
}

.u-spacing-pr6 {
  padding-right: 48px !important;
}

.u-spacing-pb6 {
  padding-bottom: 48px !important;
}

.u-spacing-pl6 {
  padding-left: 48px !important;
}

.u-spacing-mt7 {
  margin-top: 56px !important;
}

.u-spacing-mr7 {
  margin-right: 56px !important;
}

.u-spacing-mb7 {
  margin-bottom: 56px !important;
}

.u-spacing-ml7 {
  margin-left: 56px !important;
}

.u-spacing-mlr7, .u-spacing-mrl7 {
  margin-left: 56px !important;
  margin-right: 56px !important;
}

.u-spacing-mtb7, .u-spacing-mbt7 {
  margin-top: 56px !important;
  margin-bottom: 56px !important;
}

.u-spacing-pt7 {
  padding-top: 56px !important;
}

.u-spacing-pr7 {
  padding-right: 56px !important;
}

.u-spacing-pb7 {
  padding-bottom: 56px !important;
}

.u-spacing-pl7 {
  padding-left: 56px !important;
}

.u-spacing-mt8 {
  margin-top: 64px !important;
}

.u-spacing-mr8 {
  margin-right: 64px !important;
}

.u-spacing-mb8 {
  margin-bottom: 64px !important;
}

.u-spacing-ml8 {
  margin-left: 64px !important;
}

.u-spacing-mlr8, .u-spacing-mrl8 {
  margin-left: 64px !important;
  margin-right: 64px !important;
}

.u-spacing-mtb8, .u-spacing-mbt8 {
  margin-top: 64px !important;
  margin-bottom: 64px !important;
}

.u-spacing-pt8 {
  padding-top: 64px !important;
}

.u-spacing-pr8 {
  padding-right: 64px !important;
}

.u-spacing-pb8 {
  padding-bottom: 64px !important;
}

.u-spacing-pl8 {
  padding-left: 64px !important;
}

.u-spacing-mt9 {
  margin-top: 72px !important;
}

.u-spacing-mr9 {
  margin-right: 72px !important;
}

.u-spacing-mb9 {
  margin-bottom: 72px !important;
}

.u-spacing-ml9 {
  margin-left: 72px !important;
}

.u-spacing-mlr9, .u-spacing-mrl9 {
  margin-left: 72px !important;
  margin-right: 72px !important;
}

.u-spacing-mtb9, .u-spacing-mbt9 {
  margin-top: 72px !important;
  margin-bottom: 72px !important;
}

.u-spacing-pt9 {
  padding-top: 72px !important;
}

.u-spacing-pr9 {
  padding-right: 72px !important;
}

.u-spacing-pb9 {
  padding-bottom: 72px !important;
}

.u-spacing-pl9 {
  padding-left: 72px !important;
}

.u-spacing-mt10 {
  margin-top: 80px !important;
}

.u-spacing-mr10 {
  margin-right: 80px !important;
}

.u-spacing-mb10 {
  margin-bottom: 80px !important;
}

.u-spacing-ml10 {
  margin-left: 80px !important;
}

.u-spacing-mlr10, .u-spacing-mrl10 {
  margin-left: 80px !important;
  margin-right: 80px !important;
}

.u-spacing-mtb10, .u-spacing-mbt10 {
  margin-top: 80px !important;
  margin-bottom: 80px !important;
}

.u-spacing-pt10 {
  padding-top: 80px !important;
}

.u-spacing-pr10 {
  padding-right: 80px !important;
}

.u-spacing-pb10 {
  padding-bottom: 80px !important;
}

.u-spacing-pl10 {
  padding-left: 80px !important;
}

.u-spacing-mt11 {
  margin-top: 88px !important;
}

.u-spacing-mr11 {
  margin-right: 88px !important;
}

.u-spacing-mb11 {
  margin-bottom: 88px !important;
}

.u-spacing-ml11 {
  margin-left: 88px !important;
}

.u-spacing-mlr11, .u-spacing-mrl11 {
  margin-left: 88px !important;
  margin-right: 88px !important;
}

.u-spacing-mtb11, .u-spacing-mbt11 {
  margin-top: 88px !important;
  margin-bottom: 88px !important;
}

.u-spacing-pt11 {
  padding-top: 88px !important;
}

.u-spacing-pr11 {
  padding-right: 88px !important;
}

.u-spacing-pb11 {
  padding-bottom: 88px !important;
}

.u-spacing-pl11 {
  padding-left: 88px !important;
}

.u-spacing-mt12 {
  margin-top: 96px !important;
}

.u-spacing-mr12 {
  margin-right: 96px !important;
}

.u-spacing-mb12 {
  margin-bottom: 96px !important;
}

.u-spacing-ml12 {
  margin-left: 96px !important;
}

.u-spacing-mlr12, .u-spacing-mrl12 {
  margin-left: 96px !important;
  margin-right: 96px !important;
}

.u-spacing-mtb12, .u-spacing-mbt12 {
  margin-top: 96px !important;
  margin-bottom: 96px !important;
}

.u-spacing-pt12 {
  padding-top: 96px !important;
}

.u-spacing-pr12 {
  padding-right: 96px !important;
}

.u-spacing-pb12 {
  padding-bottom: 96px !important;
}

.u-spacing-pl12 {
  padding-left: 96px !important;
}

/* 11 - ANIMATIONS
 * Cool animations 😎
 */
/**
 * Animation classes for the KAL package.
 * KAl stands for Komma Animation Library
 *
 * There are different animation types that we can define,
 * the name of which is used as the class, prefixed with 'kal-'
 *
 * When the plugin is activated an element that will be animated
 * receives a extra state class
 *
 * When the element comes into view the plugin should swap
 * to the final state
 *
 */
/**
 * Config
 */
/**
* Easings
*/
@media screen and (max-width: 919px) {
  [data-kal].is-kal-start {
    transform: none !important;
  }
  [data-kal].is-kal-end {
    transition-delay: 0s !important;
    transition-duration: 1400ms !important;
    transition-property: opacity !important;
  }
}
/**
 * Core
 */
[data-kal].is-kal-end {
  transition-duration: var(--kal-duration, 1200ms);
  transition-delay: var(--kal-delay, 0s);
  transition-timing-function: var(--kal-easing, ease);
}

[data-kal][data-kal-easing=linear] {
  transition-timing-function: linear;
}

[data-kal][data-kal-easing=ease] {
  transition-timing-function: ease;
}

[data-kal][data-kal-easing=ease-in] {
  transition-timing-function: ease-in;
}

[data-kal][data-kal-easing=ease-out] {
  transition-timing-function: ease-out;
}

[data-kal][data-kal-easing=ease-in-out] {
  transition-timing-function: ease-in-out;
}

[data-kal][data-kal-easing=ease-in-cubic] {
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

[data-kal][data-kal-easing=ease-out-cubic] {
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

[data-kal][data-kal-easing=ease-in-out-cubic] {
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}

[data-kal][data-kal-easing=ease-in-circ] {
  transition-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.335);
}

[data-kal][data-kal-easing=ease-out-circ] {
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

[data-kal][data-kal-easing=ease-in-out-circ] {
  transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

[data-kal][data-kal-easing=ease-in-expo] {
  transition-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
}

[data-kal][data-kal-easing=ease-out-expo] {
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

[data-kal][data-kal-easing=ease-in-out-expo] {
  transition-timing-function: cubic-bezier(1, 0, 0, 1);
}

[data-kal][data-kal-easing=ease-in-quad] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-kal][data-kal-easing=ease-out-quad] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-kal][data-kal-easing=ease-in-out-quad] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-kal][data-kal-easing=ease-in-quart] {
  transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

[data-kal][data-kal-easing=ease-out-quart] {
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

[data-kal][data-kal-easing=ease-in-out-quart] {
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

[data-kal][data-kal-easing=ease-in-quint] {
  transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}

[data-kal][data-kal-easing=ease-out-quint] {
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

[data-kal][data-kal-easing=ease-in-out-quint] {
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}

[data-kal][data-kal-easing=ease-in-sine] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

[data-kal][data-kal-easing=ease-out-sine] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

[data-kal][data-kal-easing=ease-in-out-sine] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

[data-kal][data-kal-easing=ease-in-back] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

[data-kal][data-kal-easing=ease-out-back] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

[data-kal][data-kal-easing=ease-in-out-back] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/**
 * Preset Animations
 */
/* ------------------
 * Fade
 */
[data-kal|=fade].is-kal-start {
  opacity: 0;
}
[data-kal|=fade].is-kal-end {
  transition-property: opacity;
  opacity: 1;
}

/* ------------------
 * Slide up
 */
[data-kal=slide-up].is-kal-start {
  opacity: 0;
  transform: translateY(64px);
}
[data-kal=slide-up].is-kal-end {
  transition-property: opacity, transform;
  transition-duration: 1200ms, 1000ms;
  transition-timing-function: cubic-bezier(0.37, 0.01, 0, 0.98);
  opacity: 1;
  transform: none;
}

[data-kal=slide-down-fade].is-kal-start {
  opacity: 0;
  transform: translateY(-64px);
}
[data-kal=slide-down-fade].is-kal-end {
  transition-property: opacity, transform;
  transition-duration: 1200ms, 1000ms;
  transition-timing-function: cubic-bezier(0.37, 0.01, 0, 0.98);
  opacity: 1;
  transform: none;
}

[data-kal=slide-down].is-kal-start {
  transform: translateY(-128px);
}

[data-kal=slide-left].is-kal-start {
  transform: translateX(40px);
}

[data-kal=slide-right].is-kal-start {
  transform: translateX(-40px);
}

/* ------------------
 * Zoom-in
 */
[data-kal=zoom-in].is-kal-start {
  opacity: 0;
  transform: scale(0.8);
}
[data-kal=zoom-in].is-kal-end {
  transition-property: opacity, transform;
  opacity: 1;
  transform: none;
}
