/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/project/general/scss/index.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* stylelint-disable-next-line scss/at-rule-no-unknown */
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.plus-minus-icon {
  position: relative;
  cursor: pointer;
  --crest-icon-size: 14px; }
  .plus-minus-icon::before, .plus-minus-icon::after {
    content: '';
    position: absolute;
    right: 30px;
    top: 50%;
    background-color: #004547;
    transition: transform 0.3s ease; }
  .plus-minus-icon::before {
    height: 2px;
    width: var(--crest-icon-size);
    transform: translateY(-50%); }
  .plus-minus-icon::after {
    height: var(--crest-icon-size);
    width: 2px;
    transform: translate(-5.8px, -50%); }
  .plus-minus-icon.active::after,
  .is-expanded > .plus-minus-icon::after {
    transform: translate(-5.8px, -50%) rotate(-90deg); }

@font-face {
  font-family: Gotham-light;
  font-display: swap;
  font-style: normal;
  font-weight: 300;
  src: url(/dist/fonts/Gotham_Light.woff2) format("woff2"), url(/dist/fonts/Gotham_Light.woff) format("woff"); }

@font-face {
  font-family: Gotham-book;
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  src: url(/dist/fonts/Gotham_Book.woff2) format("woff2"), url(/dist/fonts/Gotham_Book.woff) format("woff"); }

@font-face {
  font-family: Gotham-medium;
  font-display: swap;
  font-style: normal;
  font-weight: 500;
  src: url(/dist/fonts/Gotham_Medium.woff2) format("woff2"), url(/dist/fonts/Gotham_Medium.woff) format("woff"); }

@font-face {
  font-family: Gotham-bold;
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  src: url(/dist/fonts/Gotham_Bold.woff2) format("woff2"), url(/dist/fonts/Gotham_Bold.woff) format("woff"); }

/*  reset default styles */
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance; }

a {
  color: #004547; }

ul {
  margin: 0;
  padding: 0;
  list-style: none; }

img {
  vertical-align: top; }

[data-whatinput='mouse'] *:focus,
[data-whatintent='touch'] *:focus,
[data-whatinput='mouse'] *:focus-visible,
[data-whatintent='touch'] *:focus-visible {
  outline: none; }

.is-mobile-and-tablet {
  display: none; }
  @media screen and (max-width: 1023px) {
    .is-mobile-and-tablet {
      display: block; } }

.spacing-wrapper {
  overflow: hidden;
  padding-top: var(--sw-top-size);
  padding-bottom: var(--sw-bottom-size); }

.spacing-none {
  --sw-bottom-size: 0; }

.spacing-top-none {
  --sw-top-size: 0; }

.spacing-small {
  --sw-bottom-size: 25px; }
  @media screen and (min-width: 1024px) {
    .spacing-small {
      --sw-bottom-size: 25px; } }

.spacing-top-small {
  --sw-top-size: 25px; }
  @media screen and (min-width: 1024px) {
    .spacing-top-small {
      --sw-top-size: 25px; } }

.spacing-medium {
  --sw-bottom-size: 40px; }
  @media screen and (min-width: 1024px) {
    .spacing-medium {
      --sw-bottom-size: 70px; } }

.spacing-top-medium {
  --sw-top-size: 40px; }
  @media screen and (min-width: 1024px) {
    .spacing-top-medium {
      --sw-top-size: 55px; } }

.spacing-large {
  --sw-bottom-size: 40px; }
  @media screen and (min-width: 1024px) {
    .spacing-large {
      --sw-bottom-size: 80px; } }

.spacing-top-large {
  --sw-top-size: 40px; }
  @media screen and (min-width: 1024px) {
    .spacing-top-large {
      --sw-top-size: 80px; } }

*,
*::before,
*::after {
  box-sizing: border-box; }

:root {
  --header-mobile-height: 66px;
  --header-desktop-height: 80px;
  --full-size-vh: calc(var(--vh, 1vh) * 100); }

html {
  -webkit-text-size-adjust: 100%; }
  html.scroll-locked {
    overflow: hidden;
    height: 100%;
    scroll-behavior: smooth; }

body {
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0;
  font-family: Gotham-book, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
  @media screen and (max-width: 1023px) {
    body.nav-open {
      position: fixed; } }
  body.product-page {
    padding-bottom: 80px; }
  .scroll-locked body {
    overflow: hidden; }

.visually-hidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap; }

.container-narrow {
  max-width: 820px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 24px;
  padding-right: 24px; }
  @media screen and (min-width: 768px) {
    .container-narrow {
      padding-left: 50px;
      padding-right: 50px; } }

.container-medium {
  max-width: 1056px;
  box-sizing: content-box;
  margin-right: auto;
  margin-left: auto;
  padding-left: 24px;
  padding-right: 24px; }
  @media screen and (min-width: 768px) {
    .container-medium {
      padding-left: 50px;
      padding-right: 50px; } }

.container-wide {
  max-width: 1324px;
  box-sizing: content-box;
  margin-right: auto;
  margin-left: auto;
  padding-left: 24px;
  padding-right: 24px; }
  @media screen and (min-width: 768px) {
    .container-wide {
      padding-left: 50px;
      padding-right: 50px; } }

.container {
  max-width: 1600px;
  box-sizing: content-box;
  margin-right: auto;
  margin-left: auto;
  padding-left: 24px;
  padding-right: 24px; }
  @media screen and (min-width: 768px) {
    .container {
      padding-left: 50px;
      padding-right: 50px; } }

.umb-block-grid__layout-item {
  overflow-y: visible; }

.button {
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  appearance: none;
  position: relative;
  height: 48px;
  line-height: 48px;
  padding: 0 31px;
  border-radius: 24px;
  font-size: 14px;
  letter-spacing: -0.01em;
  background: #004547;
  font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 400;
  color: #ffffff;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.3s ease; }
  .button:hover {
    background: #1a5859; }
  .button--massive {
    width: 100%;
    height: 72px;
    line-height: 72px;
    border-radius: 36px;
    text-align: center;
    justify-content: center; }
  .button--lime {
    background: #e5ff66;
    color: #004547;
    --arrow-color: #004547 !important;
    --before-icon-color: #004547 !important; }
    .button--lime:hover {
      background: #d9f35a; }
  .button--grey {
    background: #edebeb;
    color: #004547;
    --arrow-color: #004547 !important;
    --before-icon-color: #004547 !important; }
    .button--grey:hover {
      background: #004547;
      color: #ffffff;
      --arrow-color: #ffffff !important;
      --before-icon-color: #ffffff !important; }
  .button--keyline {
    color: #004547;
    background: transparent;
    border: 2px solid rgba(0, 69, 71, 0.2);
    --arrow-color: #004547 !important;
    --before-icon-color: #004547 !important;
    transition: border-color 0.3s ease; }
    .button--keyline:hover {
      background: transparent;
      border-color: #004547; }
  .button--keyline-dark {
    background: transparent;
    color: #ffffff;
    border: 2px solid rgba(255, 255, 255, 0.2);
    --arrow-color: #ffffff;
    --before-icon-color: #ffffff;
    transition: border-color 0.3s ease; }
    .button--keyline-dark:hover {
      background: transparent;
      border-color: #ffffff; }
  .button--arrow-right, .button--cta {
    --arrow-position-x-offset: 0;
    --arrow-position-x: calc(1px + var(--arrow-position-x-offset));
    --arrow-width: 10px;
    --arrow-color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 28px; }
    .button--arrow-right::after, .button--cta::after {
      display: block;
      position: relative;
      content: '';
      background-color: var(--arrow-color);
      mask-image: url(/dist/images/right-angle-ef7a9faaa3f76aed73a9.svg);
      mask-repeat: repeat-x;
      mask-position: var(--arrow-position-x) center;
      mask-size: var(--arrow-width) 11px;
      width: var(--arrow-width);
      height: 11px;
      transition: background-color, mask-position 0.3s ease; }
    .button--arrow-right:hover, .button--arrow-right:focus-visible, .button--cta:hover, .button--cta:focus-visible {
      --arrow-position-x-offset: var(--arrow-width); }
  .button--search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 31px 0 51px;
    --before-icon-color: #ffffff; }
    .button--search::before {
      position: absolute;
      content: '';
      left: 26px;
      top: 16px;
      width: 16px;
      height: 16px;
      background: var(--before-icon-color);
      mask-image: url(/dist/images/search-a2665c3776c2671615cf.svg);
      mask-repeat: no-repeat;
      mask-size: contain; }
  .button--arrow-round-left, .button--arrow-round-right {
    --arrow-position-x-offset: 0;
    --arrow-position-x: calc(1px + var(--arrow-position-x-offset));
    --arrow-width: 30px;
    --arrow-color: #004547;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 50%; }
    .button--arrow-round-left::after, .button--arrow-round-right::after {
      display: block;
      position: relative;
      content: '';
      background-color: var(--arrow-color);
      mask-image: url(/dist/images/right-angle-ef7a9faaa3f76aed73a9.svg);
      mask-repeat: repeat-x;
      mask-position: var(--arrow-position-x) center;
      mask-size: var(--arrow-width) 15px;
      width: var(--arrow-width);
      height: 15px;
      transition: background-color, mask-position 0.3s ease; }
    .button--arrow-round-left.is-on-white, .button--arrow-round-right.is-on-white {
      background: transparent;
      border: 2px solid rgba(0, 69, 71, 0.2); }
      .button--arrow-round-left.is-on-white:hover, .button--arrow-round-left.is-on-white:focus-visible, .button--arrow-round-right.is-on-white:hover, .button--arrow-round-right.is-on-white:focus-visible {
        border: 2px solid #004547; }
    .button--arrow-round-left.is-grey, .button--arrow-round-right.is-grey {
      border: none;
      background: #edebeb;
      --arrow-color: #004547; }
      .button--arrow-round-left.is-grey:hover, .button--arrow-round-left.is-grey:focus-visible, .button--arrow-round-right.is-grey:hover, .button--arrow-round-right.is-grey:focus-visible {
        background: #e5ff66; }
    .button--arrow-round-left.is-lime, .button--arrow-round-right.is-lime {
      background: #e5ff66;
      --arrow-color: #004547; }
    .button--arrow-round-left.is-on-dark, .button--arrow-round-right.is-on-dark {
      border: 2px solid rgba(255, 255, 255, 0.3);
      --arrow-color: #ffffff;
      transition: border-color 0.3s ease; }
      .button--arrow-round-left.is-on-dark:hover, .button--arrow-round-right.is-on-dark:hover {
        background: transparent;
        border-color: #ffffff; }
    .button--arrow-round-left:hover, .button--arrow-round-left:focus-visible, .button--arrow-round-right:hover, .button--arrow-round-right:focus-visible {
      --arrow-position-x-offset: var(--arrow-width); }
  .button--arrow-round-left::after {
    transform: rotate(180deg); }

.button__text {
  padding-top: 0.1cap; }

.umbraco-forms-field-wrapper,
.form__input {
  position: relative; }
  .umbraco-forms-field-wrapper:has(input)::after,
  .form__input:has(input)::after {
    position: absolute;
    content: '';
    background-color: #004547;
    width: 0;
    height: 4px;
    bottom: 0;
    left: 0;
    transition: width 0.3s ease; }
  .umbraco-forms-field-wrapper:focus-visible::after, .umbraco-forms-field-wrapper:focus-within::after, .umbraco-forms-field-wrapper:hover::after,
  .form__input:focus-visible::after,
  .form__input:focus-within::after,
  .form__input:hover::after {
    width: 100%; }
  .umbraco-forms-field-wrapper:has(input.input-validation-error)::after,
  .form__input:has(input.input-validation-error)::after {
    top: 32px;
    left: unset;
    right: 0;
    width: 15px;
    height: 15px;
    background-size: cover;
    background-color: transparent;
    background-image: url(/dist/images/crest-icon-5f74ef7e1f9ad6170dcc.svg); }
  .umbraco-forms-field-wrapper:has(input.valid)::after,
  .form__input:has(input.valid)::after {
    top: 32px;
    left: unset;
    right: 0;
    width: 19px;
    height: 15px;
    background-size: cover;
    background-color: transparent;
    background-image: url(/dist/images/form-tick-success-e1f1f5633a7758bfb5a5.svg); }
  .umbraco-forms-field-wrapper input[type='text'],
  .umbraco-forms-field-wrapper input[type='number'],
  .umbraco-forms-field-wrapper input[type='email'],
  .form__input input[type='text'],
  .form__input input[type='number'],
  .form__input input[type='email'] {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    width: 100%;
    border: none;
    border-bottom: 4px solid #edebeb;
    height: 69px;
    font-size: 32px;
    font-weight: 750;
    letter-spacing: -0.01em;
    color: #004547;
    padding-bottom: 20px;
    text-transform: uppercase;
    transition: border-color 0.3s ease; }
    .umbraco-forms-field-wrapper input[type='text']::placeholder,
    .umbraco-forms-field-wrapper input[type='number']::placeholder,
    .umbraco-forms-field-wrapper input[type='email']::placeholder,
    .form__input input[type='text']::placeholder,
    .form__input input[type='number']::placeholder,
    .form__input input[type='email']::placeholder {
      color: rgba(0, 69, 71, 0.3); }
    .umbraco-forms-field-wrapper input[type='text'].input-validation-error,
    .umbraco-forms-field-wrapper input[type='number'].input-validation-error,
    .umbraco-forms-field-wrapper input[type='email'].input-validation-error,
    .form__input input[type='text'].input-validation-error,
    .form__input input[type='number'].input-validation-error,
    .form__input input[type='email'].input-validation-error {
      border-color: #ca3a3a; }
    .umbraco-forms-field-wrapper input[type='text'].valid,
    .umbraco-forms-field-wrapper input[type='number'].valid,
    .umbraco-forms-field-wrapper input[type='email'].valid,
    .form__input input[type='text'].valid,
    .form__input input[type='number'].valid,
    .form__input input[type='email'].valid {
      border-color: #004547; }
    .umbraco-forms-field-wrapper input[type='text']:focus, .umbraco-forms-field-wrapper input[type='text']:focus-visible, .umbraco-forms-field-wrapper input[type='text']:hover,
    .umbraco-forms-field-wrapper input[type='number']:focus,
    .umbraco-forms-field-wrapper input[type='number']:focus-visible,
    .umbraco-forms-field-wrapper input[type='number']:hover,
    .umbraco-forms-field-wrapper input[type='email']:focus,
    .umbraco-forms-field-wrapper input[type='email']:focus-visible,
    .umbraco-forms-field-wrapper input[type='email']:hover,
    .form__input input[type='text']:focus,
    .form__input input[type='text']:focus-visible,
    .form__input input[type='text']:hover,
    .form__input input[type='number']:focus,
    .form__input input[type='number']:focus-visible,
    .form__input input[type='number']:hover,
    .form__input input[type='email']:focus,
    .form__input input[type='email']:focus-visible,
    .form__input input[type='email']:hover {
      outline: none; }
  .umbraco-forms-field-wrapper input[type='checkbox'],
  .form__input input[type='checkbox'] {
    appearance: none;
    padding-left: 26px;
    position: relative;
    height: auto; }
    .umbraco-forms-field-wrapper input[type='checkbox']::before,
    .form__input input[type='checkbox']::before {
      content: '';
      width: 24px;
      height: 24px;
      border: 2px solid #ccdada;
      top: 0;
      left: 0;
      position: absolute;
      background-repeat: no-repeat;
      background-position: center;
      transform: translateY(-50%);
      transition: background-color, border-color 0.3s ease; }
  .umbraco-forms-field-wrapper input[type='radio'],
  .form__input input[type='radio'] {
    appearance: none;
    padding-left: 26px;
    position: relative;
    height: auto; }
    .umbraco-forms-field-wrapper input[type='radio']::before,
    .form__input input[type='radio']::before {
      content: '';
      width: 24px;
      height: 24px;
      border: 2px solid #ccdada;
      border-radius: 50%;
      top: 0;
      left: 0;
      position: absolute;
      transform: translateY(calc(-50% - 3px));
      transition: background-color, border-color 0.3s ease; }
  .umbraco-forms-field-wrapper input[type='checkbox']:checked::before,
  .form__input input[type='checkbox']:checked::before {
    border-color: #004547;
    background-color: #004547; }
  .umbraco-forms-field-wrapper input[type='radio']:checked::before,
  .form__input input[type='radio']:checked::before {
    border-color: #004547; }
  .umbraco-forms-field-wrapper input[type='radio']:checked::after,
  .form__input input[type='radio']:checked::after {
    content: '';
    width: 12px;
    height: 12px;
    border-radius: 50%;
    top: 0;
    left: 0;
    position: absolute;
    background-color: #004547;
    transform: translate(50%, calc(-50% - 3px)); }
  .umbraco-forms-field-wrapper input[type='checkbox']::before,
  .form__input input[type='checkbox']::before {
    background-image: url(/dist/images/tick-icon-6332aa91e0b639aad024.svg); }
  .umbraco-forms-field-wrapper:has(input[type='checkbox'])::after, .umbraco-forms-field-wrapper:has(input[type='radio'])::after,
  .form__input:has(input[type='checkbox'])::after,
  .form__input:has(input[type='radio'])::after {
    display: none; }
  .umbraco-forms-field-wrapper:has(input[type='checkbox']) input[type='checkbox']:focus-visible::before,
  .umbraco-forms-field-wrapper:has(input[type='checkbox']) input[type='radio']:focus-visible::before, .umbraco-forms-field-wrapper:has(input[type='radio']) input[type='checkbox']:focus-visible::before,
  .umbraco-forms-field-wrapper:has(input[type='radio']) input[type='radio']:focus-visible::before,
  .form__input:has(input[type='checkbox']) input[type='checkbox']:focus-visible::before,
  .form__input:has(input[type='checkbox']) input[type='radio']:focus-visible::before,
  .form__input:has(input[type='radio']) input[type='checkbox']:focus-visible::before,
  .form__input:has(input[type='radio']) input[type='radio']:focus-visible::before {
    outline: 1px solid #004547;
    outline-offset: 4px; }
  .umbraco-forms-field-wrapper label.data-consent,
  .form__input label.data-consent {
    font-family: Gotham-book, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 14px;
    display: inline-block;
    width: calc(100% - 50px);
    transition: opacity 0.3s ease; }
    .umbraco-forms-field-wrapper label.data-consent:hover,
    .form__input label.data-consent:hover {
      cursor: pointer;
      opacity: 0.7; }
  .umbraco-forms-field-wrapper h1,
  .umbraco-forms-field-wrapper h2,
  .umbraco-forms-field-wrapper h3,
  .umbraco-forms-field-wrapper h4,
  .umbraco-forms-field-wrapper h5,
  .form__input h1,
  .form__input h2,
  .form__input h3,
  .form__input h4,
  .form__input h5 {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 40px;
    line-height: 0.72;
    letter-spacing: -0.01em;
    color: #004547;
    margin-bottom: 24px;
    text-transform: uppercase; }
    @media screen and (min-width: 1024px) {
      .umbraco-forms-field-wrapper h1,
      .umbraco-forms-field-wrapper h2,
      .umbraco-forms-field-wrapper h3,
      .umbraco-forms-field-wrapper h4,
      .umbraco-forms-field-wrapper h5,
      .form__input h1,
      .form__input h2,
      .form__input h3,
      .form__input h4,
      .form__input h5 {
        font-size: 48px; } }
  .umbraco-forms-field-wrapper p,
  .form__input p {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: -0.01em; }
  .umbraco-forms-field-wrapper .data-consent,
  .form__input .data-consent {
    color: #004547; }
    .umbraco-forms-field-wrapper .data-consent a,
    .form__input .data-consent a {
      color: inherit;
      border-color: inherit;
      text-decoration: none;
      padding-bottom: 2px;
      border-bottom: 1px solid;
      transition: opacity 0.3s ease; }
      .umbraco-forms-field-wrapper .data-consent a:hover, .umbraco-forms-field-wrapper .data-consent a:focus-visible,
      .form__input .data-consent a:hover,
      .form__input .data-consent a:focus-visible {
        opacity: 0.7; }
  @media screen and (min-width: 1024px) {
    .umbraco-forms-field-wrapper .ss-main, .umbraco-forms-field-wrapper select,
    .form__input .ss-main,
    .form__input select {
      max-width: 30%; } }

.umbraco-forms-field:has(input.input-validation-error) label,
.umbraco-forms-field:has(input.input-validation-error) input[type='text'],
.umbraco-forms-field:has(input.input-validation-error) input[type='email'] {
  color: #ca3a3a; }

.umbraco-forms-field + .umbraco-forms-field {
  margin-top: 32px; }

.field-validation-error {
  font-family: Gotham-book, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  letter-spacing: -0.01em;
  color: #ca3a3a;
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 8px; }
  .field-validation-error::before {
    content: '';
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-size: cover;
    background-image: url(/dist/images/form-alert-c2abb3510ff90c12ad70.svg); }

.umbraco-forms-navigation {
  margin-top: 32px; }
  .umbraco-forms-navigation button[type='submit'] {
    font-size: 14px; }

.umbraco-forms-form textarea {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: bold;
  color: #004547;
  text-transform: uppercase;
  line-height: 0.8;
  letter-spacing: -0.01em;
  font-size: 32px;
  resize: none;
  padding: 32px;
  width: 100%;
  border: 4px solid #edebeb;
  border-radius: 4px;
  transition: border-color 0.3s ease; }
  @media screen and (min-width: 1024px) {
    .umbraco-forms-form textarea {
      font-size: 32px; } }
  .umbraco-forms-form textarea:focus {
    outline: none; }
  .umbraco-forms-form textarea:focus-visible {
    border-color: #004547; }
  .umbraco-forms-form textarea.input-validation-error {
    border-color: #ca3a3a; }

.umbraco-forms-label,
.umbraco-forms-legend {
  font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
  letter-spacing: -0.01em;
  color: #004547;
  margin-bottom: 24px; }

.umbraco-forms-tooltip {
  display: flex;
  align-items: center;
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.7;
  color: #004547;
  gap: 8px; }
  .umbraco-forms-tooltip .tooltip {
    margin: 0;
    padding: 0;
    background-color: transparent;
    border: none;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 24px;
    height: 24px;
    background-color: #edebeb;
    transition: color, background-color 0.3s ease; }
    .umbraco-forms-tooltip .tooltip:focus {
      outline: none; }
    .umbraco-forms-tooltip .tooltip:hover, .umbraco-forms-tooltip .tooltip:focus-visible {
      background-color: #004547; }
      .umbraco-forms-tooltip .tooltip:hover .tooltip-question, .umbraco-forms-tooltip .tooltip:focus-visible .tooltip-question {
        color: #ffffff; }
      .umbraco-forms-tooltip .tooltip:hover .tooltip__body, .umbraco-forms-tooltip .tooltip:focus-visible .tooltip__body {
        display: block; }
  .umbraco-forms-tooltip .tooltip-question {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: 750;
    color: #004547;
    font-size: 23px;
    line-height: 1;
    padding-top: 3px;
    transition: color 0.3s ease; }
  .umbraco-forms-tooltip .tooltip__body {
    display: none;
    width: 280px;
    position: absolute;
    bottom: calc(100% + 21px);
    left: 0;
    padding: 21px;
    background-color: #004547;
    color: #ffffff;
    line-height: 1.4;
    text-align: left; }
    .umbraco-forms-tooltip .tooltip__body::after {
      content: '';
      position: absolute;
      bottom: -16px;
      left: 0;
      border: 9px solid transparent;
      border-left: 9px solid #004547;
      border-top: 9px solid #004547; }
    @media screen and (max-width: 767px) {
      .umbraco-forms-tooltip .tooltip__body {
        transform: translateX(-100%); }
        .umbraco-forms-tooltip .tooltip__body::after {
          left: unset;
          right: 0;
          transform: rotate(90deg); } }

@media screen and (max-width: 1023px) {
  .umbraco-forms-field.dataconsent input[type="checkbox"] {
    height: 14px; } }

.form__input-radio-check:has(input[type='checkbox']) label, .form__input-radio-check:has(input[type='radio']) label {
  display: flex;
  height: 100%; }

.form__container {
  max-width: 920px;
  margin: 0 auto; }

.umbraco-forms-ronseal .checkbox-list,
.umbraco-forms-ronseal .radio-list {
  display: grid;
  gap: 10px; }
  .umbraco-forms-ronseal .checkbox-list label,
  .umbraco-forms-ronseal .radio-list label {
    font-family: Gotham-book, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    color: #004547;
    font-size: 14px;
    transition: opacity 0.3s ease; }
    .umbraco-forms-ronseal .checkbox-list label:hover,
    .umbraco-forms-ronseal .radio-list label:hover {
      cursor: pointer;
      opacity: 0.7; }

.input__label {
  color: #004547; }

/* global styles for SVG */
.icon {
  vertical-align: top;
  fill: currentColor; }
  .icon path {
    fill: inherit; }

.responsive-media > img,
.responsive-media > video {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%; }

.of-cover {
  object-fit: cover; }

.of-contain {
  object-fit: contain; }

.op-top {
  object-position: 50% 0; }

.op-bottom {
  object-position: 50% 100%; }

.op-left {
  object-position: 0 50%; }

.op-right {
  object-position: 100% 50%; }

.op-top-left {
  object-position: 0 0; }

.op-top-right {
  object-position: 100% 0; }

.op-bottom-left {
  object-position: 0 100%; }

.op-bottom-right {
  object-position: 100% 100%; }

.transparent-overlay::after {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1; }

.has-theme-deep-teal {
  --font-colour: #ffffff;
  --bg-colour: #004547;
  --dots-colour: 255, 255, 255;
  --current-dot-colour: #e5ff66; }

.has-theme-stone {
  --font-colour: #004547;
  --bg-colour: #edebeb;
  --dots-colour: 00, 45, 47;
  --current-dot-colour: #004547; }

.has-theme-bright-teal {
  --font-colour: #004547;
  --bg-colour: #94f5d4;
  --dots-colour: 00, 45, 47;
  --current-dot-colour: #004547; }

.has-theme-violet {
  --font-colour: #004547;
  --bg-colour: #adb5ff;
  --dots-colour: 00, 45, 47;
  --current-dot-colour: #004547; }

.link-underlined {
  color: #004547;
  display: inline-block;
  position: relative;
  text-decoration: none;
  white-space: nowrap; }
  .link-underlined:before {
    display: block;
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    bottom: -4px;
    background: rgba(0, 69, 71, 0.3); }
  .link-underlined:after {
    display: block;
    content: '';
    position: absolute;
    height: 1px;
    width: 0;
    bottom: -4px;
    background: #004547;
    transition: width 0.3s ease; }
  .link-underlined:hover, .link-underlined:focus, .link-underlined:active {
    color: #004547;
    text-decoration: none; }
    .link-underlined:hover:after, .link-underlined:focus:after, .link-underlined:active:after {
      width: 100%; }

.richtext {
  color: #004547;
  font-size: 16px; }
  .spacing-wrapper .richtext {
    max-width: 1056px;
    box-sizing: content-box;
    margin-right: auto;
    margin-left: auto;
    padding-left: 24px;
    padding-right: 24px; }
    @media screen and (min-width: 768px) {
      .spacing-wrapper .richtext {
        padding-left: 50px;
        padding-right: 50px; } }
  .richtext h1,
  .richtext h2,
  .richtext h3,
  .richtext h4,
  .richtext h5,
  .richtext h6 {
    color: #004547;
    margin-bottom: 20px; }
  .richtext h1 {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 56px; }
    @media screen and (min-width: 1024px) {
      .richtext h1 {
        font-size: 88px; } }
  .richtext h2 {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 48px; }
    @media screen and (min-width: 1024px) {
      .richtext h2 {
        font-size: 80px; } }
  .richtext h3 {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 48px; }
    @media screen and (min-width: 1024px) {
      .richtext h3 {
        font-size: 72px; } }
    .richtext h3.sans-heading {
      font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
      font-size: 20px;
      line-height: 1.3;
      text-transform: none;
      margin-bottom: 20px; }
      @media screen and (min-width: 1024px) {
        .richtext h3.sans-heading {
          font-size: 28px;
          line-height: 3.2;
          margin-bottom: 0; } }
  .richtext .sans-header {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 48px;
    font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 20px;
    line-height: 1.3;
    text-transform: none;
    margin-bottom: 20px;
    color: #004547; }
    @media screen and (min-width: 1024px) {
      .richtext .sans-header {
        font-size: 72px; } }
    @media screen and (min-width: 1024px) {
      .richtext .sans-header {
        font-size: 28px;
        line-height: 3.2;
        margin-bottom: 0; } }
  .richtext h4 {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 48px; }
    @media screen and (min-width: 1024px) {
      .richtext h4 {
        font-size: 64px; } }
  .richtext h5 {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 40px; }
    @media screen and (min-width: 1024px) {
      .richtext h5 {
        font-size: 48px; } }
  .richtext h6 {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 26px; }
    @media screen and (min-width: 1024px) {
      .richtext h6 {
        font-size: 32px; } }
  .richtext p {
    margin-bottom: 20px;
    line-height: 1.6; }
    .richtext p:last-child {
      margin-bottom: 0; }
  .richtext blockquote {
    margin-bottom: 30px;
    line-height: 1.6;
    position: relative;
    padding-left: 32px;
    color: #004547;
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 48px; }
    @media screen and (min-width: 1024px) {
      .richtext blockquote {
        font-size: 64px; } }
    .richtext blockquote::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      display: block;
      width: 9px;
      height: 100%;
      background: #e5ff66; }
    @media screen and (min-width: 768px) {
      .richtext blockquote {
        margin-bottom: 40px; } }
    .richtext blockquote:last-child {
      margin-bottom: 0; }
      @media screen and (min-width: 768px) {
        .richtext blockquote:last-child {
          margin-bottom: 0; } }
  .richtext ul {
    margin-bottom: 20px;
    line-height: 1.6; }
    .richtext ul:last-child {
      margin-bottom: 0; }
    .richtext ul li {
      position: relative;
      padding: 0 0 4px 23px; }
      .richtext ul li:last-child {
        padding-bottom: 0; }
      .richtext ul li::before {
        display: block;
        position: absolute;
        content: '';
        background: #004547;
        left: 10px;
        top: 9px;
        width: 4px;
        height: 4px;
        border-radius: 50%; }
      .richtext ul li > .tick {
        display: inline-block;
        position: relative;
        padding-left: 6px; }
        .richtext ul li > .tick::before, .richtext ul li > .tick::after {
          display: block;
          position: absolute;
          content: '';
          left: -23px;
          top: 0;
          width: 19px;
          height: 25px; }
        .richtext ul li > .tick::before {
          background: #ffffff; }
        .richtext ul li > .tick::after {
          background: #004547;
          mask-image: url(/dist/images/tick-icon-6332aa91e0b639aad024.svg);
          mask-repeat: no-repeat;
          mask-size: 19px 25px;
          mask-position: 0 0; }
  .richtext ol {
    margin-top: 0;
    padding: 0;
    margin-bottom: 20px;
    line-height: 1.6;
    padding-left: 23px; }
    .richtext ol:last-child {
      margin-bottom: 0; }
    .richtext ol li {
      padding: 0 0 20px; }
      .richtext ol li::marker {
        font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
  .richtext table {
    border-left: none;
    border-right: none;
    color: #004547; }
    .richtext table th,
    .richtext table td {
      padding: 15px 0;
      border-color: #1a5859;
      border-left: none;
      border-right: none;
      text-align: left; }
    .richtext table th {
      font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
  .richtext a {
    color: #004547;
    display: inline-block;
    position: relative;
    text-decoration: none;
    white-space: nowrap; }
    .richtext a:before {
      display: block;
      content: '';
      position: absolute;
      height: 1px;
      width: 100%;
      bottom: -4px;
      background: rgba(0, 69, 71, 0.3); }
    .richtext a:after {
      display: block;
      content: '';
      position: absolute;
      height: 1px;
      width: 0;
      bottom: -4px;
      background: #004547;
      transition: width 0.3s ease; }
    .richtext a:hover, .richtext a:focus, .richtext a:active {
      color: #004547;
      text-decoration: none; }
      .richtext a:hover:after, .richtext a:focus:after, .richtext a:active:after {
        width: 100%; }
    .richtext a:before, .richtext a:after {
      bottom: 5px; }
  .richtext img {
    max-width: 100%;
    height: auto; }

#cookiebanner {
  box-sizing: border-box;
  opacity: 1;
  padding: 0;
  position: fixed;
  z-index: 2147483645;
  bottom: -800px;
  width: 100%; }
  #cookiebanner .c-header,
  #cookiebanner .cb__title {
    margin-bottom: 16px;
    font-size: 18px;
    font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
  #cookiebanner .c-message {
    font-size: 14px;
    line-height: 1.4em;
    text-align: left;
    margin-bottom: 40px; }

.cookie-container {
  padding: 45px 30px;
  background: #336a6c;
  color: #ffffff;
  box-shadow: 0 16px 36px 0 rgba(0, 0, 0, 0.17);
  text-align: left; }
  @media screen and (min-width: 768px) {
    .cookie-container {
      padding: 55px 50px; } }

.c-close-btn {
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  appearance: none;
  display: block;
  position: absolute;
  top: 27px;
  right: 27px;
  cursor: pointer;
  width: 15px;
  height: 15px;
  place-items: center;
  border: none;
  padding: 0; }
  .c-close-btn::after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    background-color: #ffffff;
    mask-image: url(/dist/images/large-crest-icon-b5d97542cfca400dc111.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    width: 100%;
    height: 100%; }

#c-buttons {
  display: flex;
  flex-direction: column;
  gap: 15px; }
  #c-buttons .button {
    width: 100%;
    white-space: nowrap; }
  @media screen and (min-width: 768px) {
    #c-buttons {
      flex-direction: row;
      gap: 8px;
      justify-content: flex-start; }
      #c-buttons .button {
        width: auto; } }

#settings {
  display: none;
  width: 0;
  height: 0; }

.settings-header {
  font-size: 18px;
  font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  text-transform: none;
  margin-bottom: 32px; }

.cookie-settings-wrapper {
  display: flex;
  align-items: flex-start;
  flex-direction: column; }
  @media screen and (min-width: 768px) {
    .cookie-settings-wrapper {
      flex-direction: row; } }

.settings-buttons {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 8px; }

.settings-cookie {
  display: flex;
  flex-direction: column;
  flex: 1;
  font-size: 14px;
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .settings-cookie {
      margin-right: 32px; } }

.settings-title {
  display: flex;
  justify-content: space-between; }

.show {
  display: block !important;
  width: 100% !important;
  height: 100% !important; }

.cb__checkbox {
  display: none; }
  .cb__checkbox + label {
    display: block;
    position: relative;
    width: 45px;
    height: 24px;
    font-size: 0;
    line-height: 0;
    background-color: #777772;
    border-radius: 13px;
    cursor: pointer;
    margin-bottom: 14px; }
    .cb__checkbox + label:after {
      content: '';
      position: absolute;
      top: 2px;
      left: 3px;
      width: 20px;
      height: 20px;
      background-color: #ffffff;
      border-radius: 10px;
      transition: all 0.2s ease-in-out; }
    .cb__checkbox + label:before {
      content: '';
      position: absolute;
      top: 12px;
      right: 10px;
      font-size: 14px;
      color: #ffffff; }
  .cb__checkbox:checked + label {
    background-color: #e5ff66; }
    .cb__checkbox:checked + label:after {
      left: calc(100% - 23px); }
    .cb__checkbox:checked + label:before {
      content: '';
      position: absolute;
      right: auto;
      left: 10px; }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/project/lazysizes/scss/index.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.lazyload,
.lazyloading {
  opacity: 0; }

.lazyloaded {
  opacity: 1;
  transition: opacity 300ms; }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/header/scss/index.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.header {
  background-color: #ffffff;
  height: var(--header-mobile-height);
  width: 100%;
  position: relative;
  z-index: 11; }
  @media screen and (min-width: 1024px) {
    .header {
      height: var(--header-desktop-height); } }
  .header__inner {
    position: fixed;
    top: 0;
    z-index: 1;
    width: 100%;
    height: var(--header-mobile-height);
    background: #ffffff;
    transition: all 0.5s ease; }
    @media screen and (min-width: 1024px) {
      .header__inner {
        height: var(--header-desktop-height); } }
    .header.is-hidden .header__inner {
      top: -90px;
      transform: translateY(-90px); }
    .header.is-bordered .header__inner {
      border-bottom: 1px solid #e3e3e3; }
  .header__container {
    position: static;
    height: var(--header-mobile-height);
    display: flex;
    flex-flow: row wrap; }
    @media screen and (min-width: 768px) {
      .header__container {
        padding-right: 24px; } }
    @media screen and (min-width: 1024px) {
      .header__container {
        height: var(--header-desktop-height);
        padding-right: 0;
        max-width: 1650px; } }
  .header__logo {
    flex-grow: 1;
    align-items: start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 50px; }
    .header__logo .icon {
      width: 108px;
      height: 18px; }
    @media screen and (min-width: 1024px) {
      .header__logo {
        flex-grow: initial; }
        .header__logo .icon {
          width: 137px;
          height: 22px; } }
  .header__search {
    width: 22px;
    height: var(--header-mobile-height);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-right: 28px; }
    .header__search .icon {
      width: 22px;
      height: 22px;
      stroke: #004547;
      stroke-width: 1.5px;
      stroke-linecap: square;
      stroke-linejoin: round; }
    .header__search-link {
      margin: 0;
      padding: 0;
      background-color: transparent;
      border: none;
      color: inherit;
      font-family: inherit;
      font-size: inherit;
      letter-spacing: inherit;
      text-decoration: none;
      cursor: pointer;
      user-select: none;
      appearance: none; }
    @media screen and (min-width: 1024px) {
      .header__search {
        width: var(--header-desktop-height);
        height: var(--header-desktop-height);
        margin-right: 0; } }
  .header__menu-mobile-cta {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    width: 20px;
    height: var(--header-mobile-height); }
    @media screen and (min-width: 1024px) {
      .header__menu-mobile-cta {
        display: none; } }
  .header__menu-icon {
    width: 20px;
    cursor: pointer;
    padding: 0;
    display: inline-block;
    position: relative; }
    .header__menu-icon span {
      position: relative;
      height: 4px;
      width: 18px;
      display: block;
      margin: 0 auto; }
      .header__menu-icon span.middle {
        transition: all 0.3s ease;
        background-color: #004547;
        height: 2px; }
        .header__menu-icon span.middle:before, .header__menu-icon span.middle:after {
          content: '';
          position: absolute;
          left: 0;
          height: 2px;
          background-color: #004547;
          transition: all 0.3s ease; }
        .header__menu-icon span.middle:before {
          top: -6px;
          width: 18px;
          transition-property: top, transform; }
        .header__menu-icon span.middle:after {
          bottom: -6px;
          width: 9px;
          right: 0;
          left: auto;
          transition-property: bottom, transform; }
        .nav-open .header__menu-icon span.middle {
          background-color: transparent;
          transition-delay: 0s; }
          .nav-open .header__menu-icon span.middle:before {
            top: 0;
            transform: rotate(-45deg); }
          .nav-open .header__menu-icon span.middle:after {
            top: 0;
            transform: rotate(45deg); }
          .nav-open .header__menu-icon span.middle:before, .nav-open .header__menu-icon span.middle:after {
            width: 18px; }

.nav {
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  transition: left 0.3s ease;
  background-color: #004547;
  color: #ffffff;
  z-index: 700;
  height: calc(var(--full-size-vh) - var(--header-mobile-height));
  margin-top: var(--header-mobile-height); }
  .nav-open .nav {
    left: 0; }
  @media screen and (min-width: 1024px) {
    .nav {
      position: static;
      flex-grow: 1;
      width: auto;
      height: auto;
      margin: 0;
      background: transparent;
      color: #004547; } }
  .nav__primary {
    display: flex;
    flex-flow: row wrap;
    justify-content: center; }
    @media screen and (min-width: 1024px) {
      .nav__primary {
        justify-content: flex-start; } }
  .nav__item {
    display: inline-block;
    width: 100%;
    border-bottom: 1px solid #1a5859; }
    @media screen and (max-width: 1023px) {
      .nav__item .nav__link .icon {
        display: none; }
      .nav__item.has-child .nav__link {
        padding-right: 64px; }
        .nav__item.has-child .nav__link .icon {
          display: block; } }
    @media screen and (min-width: 1024px) {
      .nav__item {
        width: auto;
        height: var(--header-desktop-height);
        border: none; }
        .nav__item.has-child .nav__link {
          padding-right: 37px;
          position: relative; }
          .nav__item.has-child .nav__link .icon {
            display: block;
            position: absolute;
            width: 7px;
            height: 13px;
            padding: 0;
            right: 18px;
            top: 33px;
            transform: rotate(-90deg);
            transform-origin: 50% 50%;
            stroke: #004547;
            stroke-width: 2px; }
          .nav__item.has-child .nav__link:hover:after, .nav__item.has-child .nav__link.active:after {
            right: 37px; }
        .nav__item.has-child:hover .nav__mega-menu {
          opacity: 1;
          visibility: visible; } }
  .nav__link {
    position: relative;
    font-size: 16px;
    font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    color: #ffffff;
    text-decoration: none;
    height: 100%;
    display: block;
    padding: 23px 24px;
    text-align: left;
    cursor: pointer; }
    .nav__link:hover, .nav__link.is-active {
      background: #00393a; }
    .nav__link .icon {
      position: absolute;
      top: 0;
      right: 0;
      height: 65px;
      width: 64px;
      padding: 25px 28px;
      stroke: #e5ff66;
      stroke-width: 2px;
      transform: rotate(180deg); }
    @media screen and (min-width: 1024px) {
      .nav__link {
        color: #004547;
        text-align: center;
        padding: 0 18px;
        line-height: var(--header-desktop-height); }
        .nav__link .icon {
          display: none; }
        .nav__link:hover, .nav__link.is-active {
          background: transparent; }
          .nav__link:hover:after, .nav__link.is-active:after {
            display: block;
            content: '';
            position: absolute;
            bottom: 26px;
            left: 18px;
            right: 18px;
            height: 1px;
            background: #004547; } }
  .nav__mega-menu {
    position: absolute;
    top: 0;
    left: auto;
    right: -250%;
    width: 100%;
    transition: all 0.8s cubic-bezier(0.58, 0, 0, 0.75);
    background-color: #004547;
    z-index: 101;
    padding: 0 0 40px;
    overflow: auto;
    opacity: 1;
    visibility: visible;
    height: 100%; }
    .nav__mega-menu.open {
      transition: all 0.8s cubic-bezier(0.42, 0, 0, 0.98);
      right: 0;
      padding: 0 0 75px; }
    @media screen and (min-width: 1024px) {
      .nav__mega-menu {
        position: absolute;
        width: calc(100% - (50px * 2));
        max-width: 1600px;
        top: 100%;
        height: auto;
        left: 50%;
        transform: translateX(-50%);
        visibility: hidden;
        opacity: 0;
        background-color: #ffffff;
        border-top: 1px solid #e3e3e3;
        z-index: 5;
        padding: 0;
        border-radius: 0 0 16px 16px;
        box-shadow: 0 68px 44px 0 rgba(0, 0, 0, 0.35);
        display: flex;
        flex-flow: nowrap row;
        overflow: hidden;
        transition: opacity 0.3s ease; }
        .nav__mega-menu.open {
          padding: 0;
          right: auto; } }
    @media screen and (max-width: 1023px) {
      .nav__mega-menu .nav__banner {
        display: none; } }
  .nav__back-btn {
    width: 40px;
    height: 40px;
    border-radius: 20px;
    margin: 24px; }
    @media screen and (min-width: 1024px) {
      .nav__back-btn {
        display: none; } }
  .nav__banner {
    overflow: hidden; }
    @media screen and (min-width: 1024px) {
      .nav__banner {
        background: #94f5d4;
        width: 460px;
        padding: 47px 90px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        text-align: center; } }
    @media screen and (min-width: 1024px) {
      .nav__banner--mobile {
        display: none; } }
    @media screen and (max-width: 1023px) {
      .nav__banner--mobile {
        position: relative;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        margin: 22px 25px;
        background: #94f5d4;
        border-radius: 8px;
        color: #004547;
        padding: 22px 0 22px 22px; }
        .nav__banner--mobile .nav__img {
          margin-top: -20px;
          margin-bottom: -20px;
          margin-left: -30px;
          width: 200px; }
        .nav__banner--mobile .nav__banner-link {
          position: absolute;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 10;
          font-size: 0;
          text-indent: -1000em; } }
  .nav__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: 700;
    text-transform: uppercase;
    color: #004547;
    font-size: 32px;
    text-align: left;
    line-height: 0.8;
    min-width: 50%;
    text-wrap: inherit; }
    @media screen and (min-width: 1024px) {
      .nav__title {
        font-size: 40px;
        text-align: center;
        line-height: 0.8;
        min-width: auto; } }
  .nav__secondary {
    display: block; }
    @media screen and (min-width: 1024px) {
      .nav__secondary {
        display: block !important;
        max-height: none !important;
        columns: 2;
        column-gap: 20px;
        padding: 37px 55px 7px;
        flex-grow: 1; }
        .nav__secondary .nav__secondary {
          columns: 1;
          padding: 0; } }
    @media screen and (min-width: 1280px) {
      .nav__secondary {
        columns: 3; } }
    @media screen and (min-width: 1366px) {
      .nav__secondary {
        columns: 4; } }
  .nav__item-secondary {
    font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
    @media screen and (min-width: 1024px) {
      .nav__item-secondary {
        break-inside: avoid-column;
        padding-bottom: 30px; }
        .nav__item-secondary .nav__item-secondary {
          padding-bottom: 0;
          font-family: Gotham-book, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } }
    @media screen and (min-width: 1024px) and (min-width: 1024px) {
      .nav__item-secondary .nav__item-secondary .nav__link-secondary .icon-arrow {
        display: none; } }
    @media screen and (min-width: 1024px) {
        .nav__item-secondary .nav__accordion-trigger {
          display: none; } }
    @media screen and (max-width: 1023px) {
      .nav__item-secondary {
        position: relative;
        display: block;
        width: 100%;
        background: #00393a;
        border-bottom: 1px solid #1a5859; }
        .nav__item-secondary:first-child {
          border-top: 1px solid #1a5859; }
        .nav__item-secondary .nav__item-secondary {
          background: #002c2d;
          font-family: Gotham-book, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
          .nav__item-secondary .nav__item-secondary:last-child {
            border-bottom: none; }
          .nav__item-secondary .nav__item-secondary .nav__link-secondary {
            padding: 20px 24px; }
        .nav__item-secondary .nav__accordion-trigger {
          display: block;
          position: absolute;
          top: 0;
          right: 0;
          height: 64px;
          width: 64px;
          z-index: 15;
          cursor: pointer; } }
  .nav__link-secondary {
    display: block;
    text-decoration: none;
    color: #ffffff; }
    .nav__link-secondary.has-child .icon-arrow {
      display: none; }
    @media screen and (min-width: 1024px) {
      .nav__link-secondary {
        display: inline-block;
        margin-bottom: 15px;
        color: #004547; }
        .nav__link-secondary:hover {
          color: #004547;
          text-decoration: none; }
        .nav__link-secondary .icon-arrow {
          display: none; }
        .nav__link-secondary[href]:hover {
          color: #004547;
          text-decoration: underline; }
        .nav__link-secondary[href] .icon-arrow {
          display: inline-block;
          stroke: #004547;
          stroke-width: 2px;
          width: 7px;
          height: 13px;
          margin-left: 10px;
          transform: rotate(180deg);
          vertical-align: middle; } }
    @media screen and (max-width: 1023px) {
      .nav__link-secondary {
        padding: 23px 25px; }
        .nav__link-secondary .icon-arrow {
          position: absolute;
          top: 22px;
          right: 32px;
          height: 15px;
          width: 8px;
          stroke: #e5ff66;
          stroke-width: 2px;
          transform: rotate(180deg); } }
    .nav__link-secondary.plus-minus-icon:before, .nav__link-secondary.plus-minus-icon:after {
      background-color: #e5ff66; }
      @media screen and (min-width: 1024px) {
        .nav__link-secondary.plus-minus-icon:before, .nav__link-secondary.plus-minus-icon:after {
          display: none; } }
    @media screen and (max-width: 1023px) {
      .nav__link-secondary.plus-minus-icon .icon-arrow {
        display: none; } }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/footer/scss/index.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.footer {
  padding-top: 48px;
  padding-bottom: 26px;
  color: #004547; }
  @media screen and (min-width: 1024px) {
    .footer {
      padding-top: 64px;
      padding-bottom: 32px; } }

.footer__container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: 'logo' 'navigation' 'cta' 'social' 'copyright';
  row-gap: 40px; }
  @media screen and (min-width: 1024px) {
    .footer__container {
      grid-template-columns: 375px 1fr 375px;
      grid-template-areas: 'logo navigation cta' '. navigation cta' 'social . .' 'copyright . .';
      row-gap: 0; } }

.footer__logo {
  grid-area: logo; }

.footer__navigation {
  grid-area: navigation; }
  @media screen and (min-width: 1024px) {
    .footer__navigation {
      margin-bottom: 103px;
      max-width: 750px; } }

.footer__navigation-column {
  align-self: stretch; }
  .footer__navigation-column:nth-of-type(1) .footer__navigation-col-button {
    border-top: 1px solid rgba(0, 69, 71, 0.2); }

.footer__navigation-col-list {
  display: flex;
  flex-direction: column;
  gap: 24px; }
  @media screen and (max-width: 1023px) {
    .footer__navigation-col-list {
      padding: 0 16px;
      border-bottom: 1px solid rgba(0, 69, 71, 0.2);
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease; }
      .footer__navigation-col-list > li:first-child {
        padding-top: 9px; }
      .footer__navigation-col-list > li:last-child {
        padding-bottom: 48px; } }

.footer__navigation-col-title {
  display: block;
  margin-bottom: 24px; }
  @media screen and (max-width: 1023px) {
    .footer__navigation-col-title {
      display: none; } }

.footer__navigation-col-button {
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  appearance: none;
  padding: 0 16px;
  width: 100%;
  height: 72px;
  display: flex;
  align-items: center; }
  @media screen and (min-width: 1024px) {
    .footer__navigation-col-button {
      display: none; } }

.footer__navigation-col-title,
.footer__navigation-col-button {
  font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #004547; }

@media screen and (min-width: 1024px) {
  .footer__navigation-list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 154px;
    row-gap: 35px; } }

.footer__navigation-link {
  font-size: 16px;
  letter-spacing: -0.01em;
  color: #004547;
  text-decoration: none; }
  .footer__navigation-link:hover, .footer__navigation-link:focus-visible {
    text-decoration: underline; }

.footer__social {
  grid-area: social; }

.footer__cta {
  grid-area: cta; }
  @media screen and (max-width: 1023px) {
    .footer__cta {
      max-width: 345px; } }

.footer__cta-title {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 32px;
  line-height: 1;
  font-weight: 750;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: -0.01em; }

.footer__cta-text {
  font-size: 16px;
  margin-bottom: 32px; }

.footer__copyright {
  grid-area: copyright;
  font-size: 12px;
  letter-spacing: -0.01em; }
  @media screen and (min-width: 1024px) {
    .footer__copyright {
      margin-top: 40px; } }

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/modal/scss/index.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.modal {
  --modal-bg-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  transition: background-color, translate 0.3s ease;
  height: var(--full-size-vh);
  overflow-y: hidden;
  animation-duration: 187.5ms;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards; }
  .modal > .modal__close {
    position: absolute;
    right: 24px;
    top: 24px; }
    @media screen and (max-width: 1023px) {
      .modal > .modal__close {
        right: 16px;
        top: 16px;
        z-index: 2; } }
  @media screen and (min-width: 1024px) {
    .modal {
      animation-duration: 750ms; } }
  .modal.open {
    animation-name: overlayFadeIn; }
  .modal.close {
    animation-name: overlayFadeOut; }
  @media screen and (max-width: 1023px) {
    .modal--white-bg-mobile {
      --modal-bg-color: #ffffff;
      transition: none;
      animation: none; }
      .modal--white-bg-mobile.open {
        background-color: var(--modal-bg-color); } }
  .modal--with-top-offset {
    transform: translateY(var(--offset-top)); }

@keyframes overlayFadeIn {
  from {
    background: rgba(0, 0, 0, 0); }
  to {
    background: var(--modal-bg-color); } }

@keyframes overlayFadeOut {
  from {
    background: var(--modal-bg-color); }
  to {
    background: rgba(0, 0, 0, 0); } }

.modal__close {
  flex-shrink: 0;
  cursor: pointer;
  width: 40px;
  height: 40px;
  background-color: #edebeb;
  border-radius: 50%;
  display: flex;
  place-items: center;
  border: none;
  padding: 0;
  transition: background-color 0.3s ease; }
  .modal__close::after {
    content: '';
    background-color: #004547;
    mask-image: url(/dist/images/large-crest-icon-b5d97542cfca400dc111.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    width: 100%;
    height: 14px;
    transition: background-color 0.3s ease; }
  .modal__close:hover, .modal__close:focus-visible {
    background-color: #004547; }
    .modal__close:hover::after, .modal__close:focus-visible::after {
      background-color: #ffffff; }

/*** Dotter modal override ***/
.dtr-modal-container .dtr-modal-content {
  max-height: 75vh !important; }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/select/scss/index.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.ss-main {
  --ss-border-color: #ccdada;
  --ss-primary-color: #004547;
  margin-bottom: 20px;
  height: 48px;
  color: #004547;
  border-width: 2px;
  border-radius: 8px; }
  .ss-main:hover, .ss-main:focus, .ss-main.ss-open-below {
    box-shadow: none;
    border-color: #004547;
    border-radius: 8px; }

.ss-content.ss-open-below {
  border: none;
  background: #edebeb;
  border-radius: 8px;
  transform: translateY(10px); }

.ss-content .ss-list .ss-option {
  display: flex;
  align-items: center;
  height: 48px;
  line-height: 22px;
  padding: 0 6px 0 12px;
  color: #004547;
  transition: background 0.3s ease, color 0.3s ease; }
  .ss-content .ss-list .ss-option > span {
    display: inline-block;
    margin-right: 12px;
    width: 26px;
    height: 26px;
    border-radius: 50%; }
  .ss-content .ss-list .ss-option.ss-selected, .ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected, .ss-content .ss-list .ss-option:hover {
    background: #004547; }
    .ss-content .ss-list .ss-option.ss-selected > span, .ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected > span, .ss-content .ss-list .ss-option:hover > span {
      border: 1px solid #ffffff; }

.ss-single {
  align-items: center;
  height: 38px;
  line-height: 19px;
  padding: 0 10px 0 6px;
  color: #004547; }
  .ss-single > span {
    display: inline-block;
    margin-right: 12px;
    width: 26px;
    height: 26px;
    border-radius: 50%; }

.ss-main .ss-arrow {
  width: 24px;
  height: 14px;
  padding-right: 10px; }
  .ss-main .ss-arrow path {
    stroke: #004547; }

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/signup-form/scss/index.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.signup-form {
  display: flex;
  flex-direction: column;
  padding: 18px 16px 38px 16px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0px 20px 44px 0px #00000059;
  transition: transform, opacity 0.3s ease;
  width: 345px;
  min-height: 548px;
  max-height: calc(var(--full-size-vh) - 30px);
  overflow-y: auto;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards; }
  @media screen and (max-width: 1023px) {
    .signup-form {
      animation-duration: 187.5ms;
      opacity: 0; }
      .signup-form button[type='submit'] {
        width: 100%; } }
  @media screen and (min-width: 1024px) {
    .signup-form {
      animation-duration: 750ms;
      position: fixed;
      bottom: 32px;
      right: 32px;
      width: 428px;
      min-height: 548px;
      transform: translateX(100vw);
      padding: 18px 16px 30px 16px; } }
  .signup-form h1,
  .signup-form h2,
  .signup-form h3,
  .signup-form h4,
  .signup-form h5 {
    max-width: 70%; }

.signup-form__content {
  padding: 0 8px; }
  @media screen and (min-width: 1024px) {
    .signup-form__content {
      padding: 0 16px; } }

.signup-form__close {
  align-self: flex-end; }
  .signup-form__close::after {
    mask-image: url(/dist/images/crest-icon-5f74ef7e1f9ad6170dcc.svg); }

.open .signup-form {
  animation-name: bubbleIn; }
  @media screen and (min-width: 1024px) {
    .open .signup-form {
      animation-name: slideIn; } }

.close .signup-form {
  animation-name: bubbleOut; }
  @media screen and (min-width: 1024px) {
    .close .signup-form {
      animation-name: slideOut; } }

@keyframes bubbleIn {
  from {
    transform: scale(0.9);
    opacity: 0; }
  to {
    transform: scale(1);
    opacity: 1; } }

@keyframes bubbleOut {
  from {
    transform: scale(1);
    opacity: 1; }
  to {
    transform: scale(0.9);
    opacity: 0; } }

@keyframes slideIn {
  0% {
    transform: translateX(100vw); }
  70% {
    transform: translateX(-25px); }
  100% {
    transform: translateX(0); } }

@keyframes slideOut {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(100vw); } }

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/single-image/scss/index.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.single-image {
  margin: 0 auto;
  max-width: 1328px; }
  @media screen and (max-width: 1023px) {
    .single-image {
      max-width: 100%; } }

.single-image__description {
  color: #004547;
  font-family: Gotham-light, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  letter-spacing: -0.01em;
  padding: 11px 16px;
  margin-top: 16px;
  border-left: 4px solid #e5ff66;
  vertical-align: middle; }

.single-image__container {
  position: relative; }
  .single-image__container img {
    max-width: 100%; }

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/inspect-modal/scss/index.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.inspect-modal__content {
  width: 1056px;
  height: calc(var(--vh, 1vh) * 71);
  min-height: 180px;
  border-radius: 8px;
  background-color: #ffffff;
  box-shadow: 0px 20px 44px 0px #00000059;
  display: grid;
  grid-template-columns: 48% 52%;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    .inspect-modal__content {
      align-self: end;
      display: flex;
      flex-direction: column;
      width: 100vw;
      height: calc(var(--full-size-vh) - 98px);
      max-width: 400px;
      margin: 0 24px;
      gap: 32px;
      border-radius: 0;
      box-shadow: none;
      overflow: visible; }
      .inspect-modal__content::before {
        content: '';
        position: fixed;
        top: 73px;
        left: 0;
        width: 100vw;
        background-color: #ccdada;
        height: 1px; } }

.inspect-modal__image {
  background-color: #edebeb; }
  .inspect-modal__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  @media screen and (max-width: 1023px) {
    .inspect-modal__image {
      height: 235px; } }

.inspect-modal__products {
  padding: 48px 58px 48px 56px;
  overflow-y: auto; }
  @media screen and (max-width: 1023px) {
    .inspect-modal__products {
      padding: 0;
      padding-bottom: 32px; } }

.inspect-modal__products-title {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 32px;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: #004547;
  margin-bottom: 23px; }
  @media screen and (max-width: 1023px) {
    .inspect-modal__products-title {
      font-size: 26px; } }

.inspect-modal__products-list {
  display: grid;
  grid-template-columns: 202px 202px;
  gap: 24px; }
  @media screen and (max-width: 1023px) {
    .inspect-modal__products-list {
      grid-template-columns: repeat(auto-fill, minmax(154px, 0.5fr));
      gap: 16px; } }

.inspect-modal__product-item {
  position: relative; }

.inspect-modal__product-img {
  width: 202px;
  height: 202px;
  border-radius: 4px;
  overflow: hidden;
  background-color: var(--product-bg-color, #edebeb);
  margin-bottom: 24px; }
  .inspect-modal__product-img img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: contain; }
  @media screen and (max-width: 1023px) {
    .inspect-modal__product-img {
      width: auto;
      height: 164px;
      border-radius: 3px; } }

.inspect-modal__product-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: #004547;
  letter-spacing: -0.01em; }

.inspect-modal__product-name a {
  text-decoration: none;
  color: #004547;
  font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
  transition: opacity 0.3s ease; }
  .inspect-modal__product-name a::before {
    position: absolute;
    content: '';
    inset: 0; }
  .inspect-modal__product-name a:hover, .inspect-modal__product-name a:focus-visible {
    opacity: 0.7; }

.inspect-modal__product-color {
  position: relative;
  font-size: 14px;
  display: grid;
  align-items: center;
  gap: 8px;
  grid-template-columns: 20px 1fr; }
  .inspect-modal__product-color::before {
    content: '';
    width: 20px;
    height: 20px;
    background-color: var(--product-bg-color, transparent);
    border-radius: 50%; }

.inspect-modal__button {
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 5.5px;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 48px;
  height: 48px;
  background-color: rgba(0, 69, 71, 0.8);
  transition: background-color 0.3s ease; }
  .inspect-modal__button:hover, .inspect-modal__button:focus-visible {
    background-color: #e5ff66; }
    .inspect-modal__button:hover .inspect-modal__icon, .inspect-modal__button:focus-visible .inspect-modal__icon {
      background-color: #004547; }

.inspect-modal__icon {
  width: 32px;
  height: 25px;
  background-color: #ffffff;
  mask-image: url(/dist/images/inspect-icon-da834ff4b7ee05b4a9a3.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  transition: background-color 0.3s ease; }

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/accordion/scss/index.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.accordion {
  border-top: 1px solid #ccdada;
  color: #004547; }
  .accordion__title {
    font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    padding: 25px 55px 25px 25px;
    border-bottom: 1px solid #ccdada;
    transition: background 0.3s ease, color 0.3s ease; }
    .accordion__title:hover {
      background: #f2f6f6; }
    .is-expanded > .accordion__title {
      background: #004547;
      color: #ffffff; }
      .is-expanded > .accordion__title:after {
        background: #ffffff; }
  .is-expanded > .accordion__content {
    border-bottom: 1px solid #ccdada; }
  .accordion__content-inner {
    padding: 24px; }

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/hero/scss/index.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.hero {
  padding: 0 24px;
  min-height: 164px;
  background: var(--bg-colour); }
  @media screen and (min-width: 768px) {
    .hero {
      padding: 0 50px;
      min-height: 330px; } }
  .hero.has-text-center {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center; }
    .hero.has-text-center .container {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center; }
  .hero__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 56px;
    line-height: 0.8;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    padding: 24px 0;
    max-width: 625px;
    color: var(--font-colour); }
    @media screen and (min-width: 768px) {
      .hero__title {
        padding: 50px 0; } }
    @media screen and (min-width: 1024px) {
      .hero__title {
        font-size: 88px;
        line-height: 0.8; } }
    .hero.has-text-left .hero__title {
      text-align: left; }
    .hero.has-text-center .hero__title {
      text-align: center; }

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/hero-standard/scss/index.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.hero-standard {
  background: var(--bg-colour);
  min-height: 504px;
  position: relative;
  color: #ffffff;
  overflow: hidden; }
  @media screen and (min-width: 768px) {
    .hero-standard {
      min-height: 460px; } }
  @media screen and (min-width: 768px) {
    .hero-standard--large-height {
      min-height: 670px; } }
  .hero-standard--full-sized {
    display: flex;
    color: #ffffff; }
  .hero-standard--half-sized {
    display: flex;
    flex-direction: column;
    color: var(--font-colour); }
    @media screen and (min-width: 768px) {
      .hero-standard--half-sized {
        flex-direction: row-reverse; } }
  .hero-standard__image {
    position: relative; }
    .hero-standard--full-sized .hero-standard__image {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .hero-standard--half-sized .hero-standard__image {
      animation: clip 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
      .hero-standard--half-sized .hero-standard__image img {
        animation: scale 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
      .hero-standard--half-sized .hero-standard__image .inspect-modal__button {
        animation: slide 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
      @media screen and (min-width: 768px) {
        .hero-standard--half-sized .hero-standard__image {
          width: 50%; } }
    .hero-standard__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .hero-standard__image .inspect-modal__button {
      z-index: 5; }
  .hero-standard__content {
    position: relative;
    z-index: 5; }
    .hero-standard--full-sized .hero-standard__content {
      width: 100%;
      margin-top: 48px;
      margin-bottom: 48px;
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center; }
    .hero-standard--half-sized .hero-standard__content {
      max-width: none !important;
      width: 100%;
      padding-top: 40px;
      padding-bottom: 40px; }
      @media screen and (min-width: 768px) {
        .hero-standard--half-sized .hero-standard__content {
          width: 50%;
          padding-top: 55px;
          padding-bottom: 55px; } }
  @media screen and (min-width: 768px) {
    .hero-standard--half-sized .hero-standard__content-inner {
      max-width: 750px;
      margin-left: auto; } }
  .hero-standard__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 56px;
    color: #ffffff;
    margin-bottom: 30px;
    opacity: 0; }
    @media screen and (min-width: 1024px) {
      .hero-standard__title {
        font-size: 88px; } }
    .hero-standard__title.is-visible {
      opacity: 1; }
    .hero-standard__title span {
      display: block;
      animation: clipUp 1000ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
    .hero-standard--half-sized .hero-standard__title {
      color: var(--font-color); }
      @media screen and (min-width: 768px) {
        .hero-standard--half-sized .hero-standard__title {
          max-width: 575px; } }
  .hero-standard__text {
    font-size: 16px;
    line-height: 1.6;
    animation: fadeIn 750ms linear; }
    @media screen and (min-width: 1024px) {
      .hero-standard__text {
        font-size: 18px;
        line-height: 1.6; } }
    @media screen and (min-width: 768px) {
      .hero-standard--half-sized .hero-standard__text {
        max-width: 575px; } }

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes clip {
  0% {
    clip-path: inset(100% 0 0 0); }
  100% {
    clip-path: inset(0 0 0 0); } }

@keyframes scale {
  0% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

@keyframes slide {
  0% {
    transform: translateX(100%); }
  100% {
    transform: translateX(0); } }

@keyframes clipUp {
  0% {
    clip-path: inset(0 0 100% 0);
    transform: translateY(100%); }
  100% {
    clip-path: inset(0 0 0 0);
    transform: translateY(0); } }

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/hero-big/scss/index.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.hero-big {
  position: relative; }
  @media screen and (min-width: 768px) {
    .hero-big {
      min-height: 670px; } }
  .hero-big .swiper-wrapper {
    align-items: stretch;
    flex-direction: row; }
  .hero-big__slide {
    height: auto;
    align-self: stretch;
    display: flex;
    align-items: stretch;
    justify-content: stretch; }
    .hero-big__slide > div {
      flex-grow: 1; }
    .hero-big__slide.swiper-slide-active {
      z-index: 10; }
  .hero-big__pagination {
    position: absolute;
    display: flex;
    flex-direction: row;
    gap: 15px;
    bottom: 0;
    color: #ffffff;
    z-index: 10;
    padding-bottom: 24px; }
    @media screen and (min-width: 768px) {
      .hero-big__pagination {
        padding-bottom: 80px; } }
    .hero-big__pagination .swiper-pagination-bullet {
      position: relative;
      color: #ffffff;
      font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
      width: 32px;
      height: 32px;
      line-height: 30px;
      text-align: center;
      border-radius: 50%;
      border: 2px solid rgba(255, 255, 255, 0.2);
      overflow: visible;
      cursor: pointer; }
      .hero-big__pagination .swiper-pagination-bullet svg {
        --progress: 0;
        position: absolute;
        left: -2px;
        top: -2px;
        z-index: 10;
        width: calc(100% + 4px);
        height: calc(100% + 4px);
        stroke-width: 2px;
        stroke: #ffffff;
        fill: none;
        stroke-dashoffset: calc(113.3px * (1 - var(--progress)));
        stroke-dasharray: 113.3px;
        transform: rotate(-90deg); }
      .hero-big.without-autoplay .hero-big__pagination .swiper-pagination-bullet svg {
        stroke-dashoffset: 113.3px; }
      .hero-big.without-autoplay .hero-big__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active svg {
        stroke-dashoffset: 0; }
      @media screen and (min-width: 768px) {
        .hero-big__pagination .swiper-pagination-bullet {
          width: 40px;
          height: 40px;
          line-height: 37px; } }
  .hero-big .inspect-modal__button {
    z-index: 10; }

.title-line {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: bold;
  color: #004547;
  text-transform: uppercase;
  line-height: 0.8;
  letter-spacing: -0.01em;
  font-size: 56px;
  visibility: hidden;
  position: absolute; }
  @media screen and (min-width: 1024px) {
    .title-line {
      font-size: 88px; } }

.hero-item1 {
  position: relative;
  overflow: hidden;
  --font-colour: #ffffff; }
  .hero-item1--colour-white {
    --font-colour: #ffffff; }
  .hero-item1--colour-deep-teal {
    --font-colour: #004547; }
  @media screen and (min-width: 768px) {
    .hero-item1 {
      min-height: 670px; } }
  .hero-item1--transparent-overlay::after {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1; }
  .hero-item1__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 213px;
    z-index: 0;
    animation: clip 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
    .hero-item1__background img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      animation: scale 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
    @media screen and (min-width: 768px) {
      .hero-item1__background {
        height: 100%;
        width: 75%; } }
  .hero-item1__content {
    color: var(--font-colour);
    position: relative;
    z-index: 3;
    padding-top: 265px; }
    @media screen and (min-width: 768px) {
      .hero-item1__content {
        height: 100%;
        padding-top: 0;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center; } }
  .hero-item1__image {
    position: absolute;
    top: 0;
    right: 0;
    width: 70%;
    animation: slide 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
    .hero-item1__image img {
      display: block;
      width: 100%;
      height: 410px;
      object-fit: contain; }
    @media screen and (min-width: 768px) {
      .hero-item1__image {
        width: 45%;
        position: relative;
        margin-right: -50px; }
        .hero-item1__image img {
          height: auto;
          max-height: 589px; } }
    @media screen and (min-width: 1024px) {
      .hero-item1__image {
        margin-right: -75px; } }
  .hero-item1__text {
    padding-bottom: 87px; }
    @media screen and (min-width: 768px) {
      .hero-item1__text {
        padding-top: 87px;
        padding-left: 60px; } }
  .hero-item1__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 56px;
    color: var(--font-colour);
    margin-bottom: 30px; }
    @media screen and (min-width: 1024px) {
      .hero-item1__title {
        font-size: 88px; } }
    @media screen and (max-width: 767px) {
      .hero-item1__title {
        max-width: 350px; } }
    .swiper-slide:first-child .hero-item1__title {
      opacity: 0; }
      .swiper-slide:first-child .hero-item1__title.is-visible {
        opacity: 1; }
    .hero-item1__title sup {
      font-size: 0.6em; }
    .hero-item1__title span {
      display: block;
      animation: clipUp 1000ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  .hero-item1__descr {
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 1.6;
    animation: fadeIn 750ms linear; }
    @media screen and (min-width: 1024px) {
      .hero-item1__descr {
        font-size: 18px;
        line-height: 1.6; } }
  .hero-item1__btn {
    animation: fadeIn 750ms linear; }
  .hero-item1 .inspect-modal__button {
    animation: slide 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes clip {
  0% {
    clip-path: inset(100% 0 0 0); }
  100% {
    clip-path: inset(0 0 0 0); } }

@keyframes scale {
  0% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

@keyframes slide {
  0% {
    transform: translateX(100%); }
  100% {
    transform: translateX(0); } }

@keyframes clipUp {
  0% {
    clip-path: inset(0 0 100% 0);
    transform: translateY(100%); }
  100% {
    clip-path: inset(0 0 0 0);
    transform: translateY(0); } }

.hero-item2 {
  background: var(--bg-colour, #004547);
  color: var(--font-colour, #ffffff); }
  @media screen and (min-width: 768px) {
    .hero-item2 {
      min-height: 670px; } }
  .hero-item2--transparent-overlay::after {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1; }
  .hero-item2__content {
    position: relative;
    z-index: 3; }
    @media screen and (min-width: 768px) {
      .hero-item2__content {
        height: 100%;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
        gap: 30px; } }
  .hero-item2__image {
    width: 80%;
    margin: 0 -24px 45px auto;
    animation: clip 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
    @media screen and (min-width: 768px) {
      .hero-item2__image {
        width: 60%;
        margin: 0;
        align-self: flex-start; } }
    .hero-item2__image img {
      width: 100%;
      object-fit: contain; }
  .hero-item2__text {
    width: 75%;
    min-width: 290px;
    padding-bottom: 87px; }
    @media screen and (min-width: 768px) {
      .hero-item2__text {
        width: auto;
        max-width: 460px;
        padding-top: 87px;
        padding-left: 60px; } }
  .hero-item2__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 56px;
    color: var(--font-colour);
    margin-bottom: 30px; }
    @media screen and (min-width: 1024px) {
      .hero-item2__title {
        font-size: 88px; } }
    .swiper-slide:first-child .hero-item2__title {
      opacity: 0; }
      .swiper-slide:first-child .hero-item2__title.is-visible {
        opacity: 1; }
    .hero-item2__title sup {
      font-size: 0.6em; }
    .hero-item2__title span {
      display: block;
      animation: clipUp 1000ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  .hero-item2__descr {
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 1.6;
    animation: fadeIn 750ms linear; }
    @media screen and (min-width: 1024px) {
      .hero-item2__descr {
        font-size: 18px;
        line-height: 1.6; } }
  .hero-item2__btn {
    animation: fadeIn 750ms linear; }
  .hero-item2 .inspect-modal__button {
    animation: slide 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes clip {
  0% {
    clip-path: inset(100% 0 0 0); }
  100% {
    clip-path: inset(0 0 0 0); } }

@keyframes slide {
  0% {
    transform: translateX(100%); }
  100% {
    transform: translateX(0); } }

@keyframes clipUp {
  0% {
    clip-path: inset(0 0 100% 0);
    transform: translateY(100%); }
  100% {
    clip-path: inset(0 0 0 0);
    transform: translateY(0); } }

.hero-item3 {
  min-height: 620px;
  background: #004547; }
  @media screen and (min-width: 768px) {
    .hero-item3 {
      min-height: 670px; } }
  .hero-item3__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; }
    .hero-item3__background img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      animation: scaleOpacity 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
    .hero-item3--transparent-overlay .hero-item3__background::after {
      display: block;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      background: rgba(0, 0, 0, 0.3);
      z-index: 1; }
  .hero-item3__content {
    position: relative;
    height: 100%;
    text-align: center;
    padding-bottom: 87px;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    @media screen and (min-width: 768px) {
      .hero-item3__content {
        padding-top: 87px;
        padding-left: 60px; } }
  .hero-item3__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 56px;
    color: #ffffff;
    margin-bottom: 30px; }
    @media screen and (min-width: 1024px) {
      .hero-item3__title {
        font-size: 88px; } }
    .swiper-slide:first-child .hero-item3__title {
      opacity: 0; }
      .swiper-slide:first-child .hero-item3__title.is-visible {
        opacity: 1; }
    .hero-item3__title sup {
      font-size: 0.6em; }
    .hero-item3__title span {
      display: block;
      animation: clipUp 1000ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  .hero-item3__descr {
    margin-bottom: 30px;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.6;
    animation: fadeIn 750ms linear; }
    @media screen and (min-width: 1024px) {
      .hero-item3__descr {
        font-size: 18px;
        line-height: 1.6; } }
  .hero-item3__btn {
    align-self: center;
    animation: fadeIn 750ms linear; }
  .hero-item3 .inspect-modal__button {
    animation: slide 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275); }

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes scaleOpacity {
  0% {
    opacity: 0;
    transform: scale(1.2); }
  100% {
    opacity: 1;
    transform: scale(1); } }

@keyframes slide {
  0% {
    transform: translateX(100%); }
  100% {
    transform: translateX(0); } }

@keyframes clipUp {
  0% {
    clip-path: inset(0 0 100% 0);
    transform: translateY(100%); }
  100% {
    clip-path: inset(0 0 0 0);
    transform: translateY(0); } }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/crumbs/scss/index.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.crumbs {
  background: #f2f6f6;
  color: #004547;
  height: 48px; }

.crumbs__list {
  display: flex;
  align-items: center;
  margin: 0; }
  .crumbs__list.mobile {
    display: none; }
    @media screen and (max-width: 1023px) {
      .crumbs__list.mobile {
        display: flex; } }
  .crumbs__list.desktop {
    display: flex; }
    @media screen and (max-width: 1023px) {
      .crumbs__list.desktop {
        display: none; } }

.crumbs__item {
  position: relative;
  font-size: 14px; }

.crumbs__link {
  font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px; }

.crumbs__link.link-underlined {
  display: block; }

.crumbs__text {
  overflow: hidden;
  display: block;
  /* Fallback for non-webkit */
  display: -webkit-box;
  height: 14px;
  /* Fallback for non-webkit */
  font-size: 14px;
  line-height: 1;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical; }

.crumbs__item:not(:last-child) {
  padding-right: 24px; }
  .crumbs__item:not(:last-child)::after {
    content: '';
    position: absolute;
    width: 11px;
    height: 1px;
    transform: rotate(119.74deg);
    background-color: #004547;
    right: 8px;
    top: 50%; }

.crumbs__container {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center; }

.crumbs__dropdown {
  display: none;
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  box-shadow: 0px 12px 12px 0px #00000026;
  z-index: 10;
  padding: 24px;
  background-color: #ffffff; }
  .crumbs__dropdown .crumbs__link {
    font-family: Gotham-book, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
  @media screen and (min-width: 1024px) {
    .crumbs__dropdown {
      display: none; } }

.crumbs__open-button {
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  appearance: none;
  position: relative;
  width: 25px;
  height: 14px;
  border-radius: 44px;
  background-color: #ccdada;
  margin-right: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  flex-shrink: 0;
  transition: background-color 0.3s ease; }
  .crumbs__open-button span {
    flex-shrink: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: #004547;
    transition: background-color 0.3s ease; }
  .crumbs__open-button::after {
    content: '';
    position: absolute;
    width: 11px;
    height: 1px;
    transform: rotate(119.74deg);
    background-color: #004547;
    right: -16px;
    top: 50%; }
  @media screen and (min-width: 1024px) {
    .crumbs__open-button {
      display: none; } }

@media screen and (max-width: 1023px) {
  .crumbs__container.open .crumbs__open-button {
    background-color: #004547; }
    .crumbs__container.open .crumbs__open-button span {
      background-color: #ffffff; }
  .crumbs__container.open .crumbs__dropdown {
    display: flex;
    align-items: center; } }

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/cta-panel/scss/index.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.cta-panel__list {
  display: flex;
  gap: 32px; }
  @media screen and (max-width: 1023px) {
    .cta-panel__list {
      flex-direction: column; } }

.cta-panel__item {
  --item-padding: 32px;
  flex-grow: 1;
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 1.65;
  position: relative;
  padding: var(--item-padding);
  padding-bottom: 44px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end; }
  @media screen and (max-width: 1023px) {
    .cta-panel__item {
      --item-padding: 24px; } }
  .cta-panel__item::after {
    content: '';
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(227.21deg, rgba(0, 0, 0, 0) 54.36%, rgba(0, 0, 0, 0.4) 100%);
    transition: background-color 0.3s ease; }
  .cta-panel__item:hover::after, .cta-panel__item:focus-within::after {
    background-color: rgba(0, 69, 71, 0.6); }
  .cta-panel__item:hover .cta-panel__img, .cta-panel__item:focus-within .cta-panel__img {
    transform: scale(1.1); }
  .cta-panel__item:hover .cta-panel__link::after, .cta-panel__item:focus-within .cta-panel__link::after {
    background-color: #e5ff66;
    background-position-x: 215%; }

.cta-panel__img {
  position: absolute;
  inset: 0;
  z-index: 0;
  transition: transform 0.3s ease; }
  .cta-panel__img img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.cta-panel__title {
  position: absolute;
  inset: 0;
  display: flex;
  z-index: 2; }
  .cta-panel__title > p {
    padding: var(--item-padding);
    align-self: end;
    box-sizing: content-box; }

.cta-panel__text {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  color: #ffffff;
  font-size: 48px;
  font-weight: 750;
  text-transform: uppercase;
  line-height: 0.72;
  letter-spacing: -0.01em;
  max-width: 240px; }
  @media screen and (max-width: 1023px) {
    .cta-panel__text {
      font-size: 40px;
      max-width: 223px; } }

.cta-panel__link {
  padding: var(--item-padding);
  text-decoration: none;
  width: 100%;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: end; }
  .cta-panel__link:focus, .cta-panel__link:focus-visible {
    outline: none; }
  .cta-panel__link::after {
    flex-shrink: 0;
    content: '';
    width: 48px;
    height: 48px;
    background-color: #edebeb;
    border-radius: 50%;
    background-image: url(/dist/images/right-angle-ef7a9faaa3f76aed73a9.svg);
    background-repeat: repeat-x;
    background-position: center center;
    background-size: 30px 15px;
    transition: background-color, background-position 0.3s ease; }

.cta-panel__header {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 72px;
  font-weight: 750;
  line-height: 0.72;
  letter-spacing: -0.01em;
  margin-bottom: 40px;
  text-transform: uppercase;
  color: #004547; }
  @media screen and (max-width: 1023px) {
    .cta-panel__header {
      font-size: 48px;
      margin-bottom: 32px; } }

.cta-panel--x4 .cta-panel__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; }
  @media screen and (max-width: 1023px) {
    .cta-panel--x4 .cta-panel__list {
      display: block; } }

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .cta-panel--x4 .cta-panel__item {
    width: 500px; } }

@media screen and (max-width: 767px) {
  .cta-panel--x4 .cta-panel__item {
    aspect-ratio: 0.78; } }

@media screen and (min-width: 1024px) {
  .cta-panel--x4 .cta-panel__item:nth-of-type(1) {
    grid-column: 1 / 3; }
  .cta-panel--x4 .cta-panel__item:nth-of-type(4) {
    grid-column: 2 / -1; }
  .cta-panel--x4 .cta-panel__item:nth-of-type(1),
  .cta-panel--x4 .cta-panel__item:nth-of-type(4) {
    aspect-ratio: 2.64; }
  .cta-panel--x4 .cta-panel__item:nth-of-type(2),
  .cta-panel--x4 .cta-panel__item:nth-of-type(3) {
    aspect-ratio: 1.28; } }

.cta-panel--x4 .cta-panel__pagination {
  --pagination-bg-color: rgba(0, 69, 71, 0.2);
  margin-top: 40px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: center; }
  .cta-panel--x4 .cta-panel__pagination > span {
    flex-basis: 40px;
    height: 6px;
    border-radius: 32px;
    background-color: var(--pagination-bg-color);
    transition: background-color 0.3s ease; }
    .cta-panel--x4 .cta-panel__pagination > span.swiper-pagination-bullet-active {
      background-color: #004547; }
  @media screen and (min-width: 1024px) {
    .cta-panel--x4 .cta-panel__pagination {
      display: none; } }

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/cta-panel-x3/scss/index.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.cta-panel-x3 {
  text-align: center; }
  .cta-panel-x3__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 56px;
    margin-bottom: 30px; }
    @media screen and (min-width: 1024px) {
      .cta-panel-x3__title {
        font-size: 64px; } }
    @media screen and (min-width: 1024px) {
      .cta-panel-x3__title {
        margin-bottom: 45px; } }
  .cta-panel-x3__list {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px; }
    @media screen and (min-width: 768px) {
      .cta-panel-x3__list {
        flex-direction: row;
        align-items: stretch; } }
    @media screen and (min-width: 1024px) {
      .cta-panel-x3__list {
        gap: 30px; } }
  .cta-panel-x3__item {
    width: 100%;
    display: flex;
    flex-direction: column; }
    @media screen and (min-width: 768px) {
      .cta-panel-x3__item {
        width: calc((100% - 40px) / 3); } }
    @media screen and (min-width: 1024px) {
      .cta-panel-x3__item {
        width: calc((100% - 60px) / 3); } }
  .cta-panel-x3__image {
    aspect-ratio: 2.87;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    overflow: hidden; }
    .cta-panel-x3__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .cta-panel-x3__content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    border: 1px solid #e3e3e3;
    border-top: none;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    text-align: center;
    padding: 25px 15px 30px; }
    @media screen and (min-width: 768px) {
      .cta-panel-x3__content {
        padding: 35px 10px 45px; } }
    @media screen and (min-width: 1024px) {
      .cta-panel-x3__content {
        padding: 35px 25px 45px; } }
  .cta-panel-x3__item-title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 36px;
    margin-bottom: 20px; }
    @media screen and (min-width: 1024px) {
      .cta-panel-x3__item-title {
        font-size: 48px; } }
    @media screen and (min-width: 768px) {
      .cta-panel-x3__item-title {
        margin-bottom: 28px; } }
  .cta-panel-x3__description {
    flex-grow: 1;
    font-size: 16px;
    line-height: 1.6;
    max-width: 323px;
    color: #004547;
    margin: 0 auto; }
  .cta-panel-x3__btn {
    margin-top: 20px;
    align-self: center; }
    @media screen and (min-width: 768px) and (max-width: 1023px) {
      .cta-panel-x3__btn {
        padding-left: 10px;
        padding-right: 10px; } }
    @media screen and (min-width: 768px) {
      .cta-panel-x3__btn {
        margin-top: 25px; } }

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/content-carousel/scss/index.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.content-carousel {
  color: var(--font-colour);
  background: var(--bg-colour);
  height: 120px;
  overflow: hidden;
  transition: height 1s ease-in-out; }
  @media screen and (min-width: 768px) {
    .content-carousel {
      height: 205px; } }
  .content-carousel.is-visible > .container {
    transform: none; }
    @media screen and (max-width: 767px) {
      .content-carousel.is-visible > .container {
        transform: none; } }
  .content-carousel > .container {
    transform: translateY(calc(-100% + 205px));
    transition: transform 1s ease-in-out; }
    @media screen and (max-width: 767px) {
      .content-carousel > .container {
        padding-left: 0;
        padding-right: 0;
        transform: translateY(calc(-100% + 100px)); } }
  .content-carousel__item {
    display: flex;
    flex-direction: column; }
    @media screen and (min-width: 768px) {
      .content-carousel__item {
        flex-direction: row;
        justify-content: center;
        align-items: center; } }
  .content-carousel__image {
    position: relative;
    width: 100%;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: top; }
    @media screen and (min-width: 768px) {
      .content-carousel__image {
        width: 50%;
        margin: 0 0 57px;
        align-self: flex-start;
        transform: translateY(-130px);
        transition: transform 1s ease-in-out; }
        .content-carousel.is-visible .content-carousel__image {
          transform: none; } }
    .content-carousel__image.mask-bag {
      mask-image: url(/dist/images/bag-042ef6d419b6cbe30ee7.svg); }
    .content-carousel__image.mask-bucket {
      mask-image: url(/dist/images/bucket-e76ce6bbe80d00526748.svg); }
    .content-carousel__image img {
      max-width: 100%; }
  .content-carousel__content {
    padding: 40px 24px 35px; }
    @media screen and (min-width: 768px) {
      .content-carousel__content {
        width: 43%;
        padding-top: 60px;
        padding-bottom: 60px;
        padding-right: 75px;
        transform: translateY(-100px);
        transition: transform 1s ease-in-out; }
        .content-carousel.is-visible .content-carousel__content {
          transform: none; } }
  @media screen and (min-width: 768px) {
    .content-carousel__content-inner {
      max-width: 442px; } }
  .content-carousel__title {
    color: var(--font-colour);
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    text-transform: uppercase;
    font-size: 48px;
    letter-spacing: -0.01em;
    line-height: 0.8;
    margin-bottom: 25px; }
    @media screen and (min-width: 1024px) {
      .content-carousel__title {
        font-size: 72px;
        line-height: 0.8; } }
  .content-carousel__descr {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 30px; }
  .content-carousel__btn {
    margin-bottom: 22px; }
  .content-carousel__pagination {
    padding: 0 120px 57px;
    display: flex;
    flex-flow: row nowrap;
    gap: 7px;
    justify-content: center; }
    @media screen and (min-width: 768px) {
      .content-carousel__pagination {
        position: absolute;
        width: 100%;
        bottom: 0;
        z-index: 10; } }
    .content-carousel__pagination > span {
      display: block;
      height: 6px;
      border-radius: 3px;
      flex-basis: 40px;
      max-width: 40px;
      cursor: pointer;
      background: rgba(var(--dots-colour), 0.2); }
      .content-carousel__pagination > span.swiper-pagination-bullet-active {
        background: var(--current-dot-colour); }
  .content-carousel__next.button, .content-carousel__prev.button {
    position: absolute;
    z-index: 10;
    bottom: 35px;
    left: 58px; }
    @media screen and (min-width: 768px) {
      .content-carousel__next.button, .content-carousel__prev.button {
        top: 50%;
        transform: translateY(-50%);
        bottom: 50%; } }
    .content-carousel.has-theme-deep-teal .content-carousel__next.button, .content-carousel.has-theme-deep-teal .content-carousel__prev.button {
      border: 2px solid rgba(255, 255, 255, 0.3);
      --arrow-color: #ffffff;
      transition: border-color 0.3s ease; }
      .content-carousel.has-theme-deep-teal .content-carousel__next.button:hover, .content-carousel.has-theme-deep-teal .content-carousel__prev.button:hover {
        background: transparent;
        border-color: #ffffff; }
    .content-carousel.has-theme-stone .content-carousel__next.button,
    .content-carousel.has-theme-bright-teal .content-carousel__next.button,
    .content-carousel.has-theme-violet .content-carousel__next.button, .content-carousel.has-theme-stone .content-carousel__prev.button,
    .content-carousel.has-theme-bright-teal .content-carousel__prev.button,
    .content-carousel.has-theme-violet .content-carousel__prev.button {
      background: transparent;
      border: 2px solid rgba(0, 69, 71, 0.2); }
      .content-carousel.has-theme-stone .content-carousel__next.button:hover, .content-carousel.has-theme-stone .content-carousel__next.button:focus-visible,
      .content-carousel.has-theme-bright-teal .content-carousel__next.button:hover,
      .content-carousel.has-theme-bright-teal .content-carousel__next.button:focus-visible,
      .content-carousel.has-theme-violet .content-carousel__next.button:hover,
      .content-carousel.has-theme-violet .content-carousel__next.button:focus-visible, .content-carousel.has-theme-stone .content-carousel__prev.button:hover, .content-carousel.has-theme-stone .content-carousel__prev.button:focus-visible,
      .content-carousel.has-theme-bright-teal .content-carousel__prev.button:hover,
      .content-carousel.has-theme-bright-teal .content-carousel__prev.button:focus-visible,
      .content-carousel.has-theme-violet .content-carousel__prev.button:hover,
      .content-carousel.has-theme-violet .content-carousel__prev.button:focus-visible {
        border: 2px solid #004547; }
    .content-carousel.is-single .content-carousel__next.button, .content-carousel.is-single .content-carousel__prev.button {
      display: none; }
    .content-carousel__next.button.swiper-button-disabled, .content-carousel__prev.button.swiper-button-disabled {
      pointer-events: none;
      opacity: 0.4; }
  .content-carousel__next.button {
    left: auto;
    right: 58px; }

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/we-recommend/scss/index.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.we-recommend {
  color: #ffffff;
  background: #004547;
  overflow-y: hidden; }
  @media screen and (max-width: 767px) {
    .we-recommend > .container {
      padding-left: 0;
      padding-right: 0; } }
  .we-recommend__title {
    color: #e5ff66;
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    text-transform: uppercase;
    font-size: 56px;
    letter-spacing: -0.01em;
    line-height: 0.8;
    padding: 25px 24px 0; }
    @media screen and (min-width: 768px) {
      .we-recommend__title {
        padding: 50px 50px 0; } }
    @media screen and (min-width: 1024px) {
      .we-recommend__title {
        font-size: 144px;
        line-height: 0.8; } }
  .we-recommend__carousel {
    overflow-y: visible;
    overflow-x: clip; }
  .we-recommend__item {
    display: flex;
    flex-direction: column; }
    @media screen and (min-width: 768px) {
      .we-recommend__item {
        flex-direction: row;
        justify-content: center;
        align-items: center; } }
    .we-recommend__item.swiper-slide-active {
      z-index: 5; }
  .we-recommend__image {
    position: relative;
    width: 100%;
    overflow: hidden; }
    @media screen and (min-width: 768px) {
      .we-recommend__image {
        width: 50%;
        margin: 0 0 57px;
        overflow: visible; } }
    .we-recommend__image img {
      display: block;
      margin: 0 auto;
      max-height: 565px;
      max-width: 100%;
      opacity: 0; }
      .swiper-slide-active .we-recommend__image img,
      .swiper-slide-visible .we-recommend__image img,
      .swiper-slide-next .we-recommend__image img,
      .swiper-slide-prev .we-recommend__image img,
      .is-single .we-recommend__image img {
        opacity: 1; }
      .swiper-slide-next .we-recommend__image img {
        transform: translate(300%, 20%); }
      .swiper-slide-prev .we-recommend__image img {
        transform: translate(-300%, -20%); }
  .we-recommend__content {
    padding: 0 24px 35px;
    opacity: 0; }
    .swiper-slide-active .we-recommend__content,
    .is-single .we-recommend__content {
      opacity: 1; }
    @media screen and (min-width: 768px) {
      .we-recommend__content {
        width: 50%;
        padding-right: 48px;
        padding-top: 60px;
        padding-bottom: 60px; } }
    @media screen and (min-width: 1024px) {
      .we-recommend__content {
        width: 43%;
        padding-right: 75px; } }
  @media screen and (min-width: 768px) {
    .we-recommend__content-inner {
      max-width: 442px; } }
  .we-recommend__product-title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 48px;
    color: #ffffff;
    margin-bottom: 25px; }
    @media screen and (min-width: 1024px) {
      .we-recommend__product-title {
        font-size: 64px; } }
  .we-recommend__features {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 30px; }
    .we-recommend__features li {
      position: relative;
      margin-bottom: 10px;
      padding-left: 25px; }
      .we-recommend__features li:before {
        display: block;
        position: absolute;
        content: '';
        left: 0;
        top: 2px;
        width: 25px;
        height: 15px;
        background: #e5ff66;
        mask-image: url(/dist/images/tick-icon-6332aa91e0b639aad024.svg);
        mask-repeat: no-repeat;
        mask-size: 15px 19px;
        mask-position: 0 0; }
      @media screen and (min-width: 768px) {
        .we-recommend__features li:before {
          height: 17px;
          mask-size: 17px 20px; } }
  .we-recommend__btn {
    margin-bottom: 22px; }
  .we-recommend__pagination {
    padding: 0 120px 57px;
    display: flex;
    flex-flow: row nowrap;
    gap: 7px;
    justify-content: center; }
    @media screen and (min-width: 768px) {
      .we-recommend__pagination {
        position: absolute;
        width: 100%;
        bottom: 0;
        z-index: 10; } }
    .we-recommend__pagination > span {
      display: block;
      height: 6px;
      border-radius: 3px;
      flex-basis: 40px;
      max-width: 40px;
      cursor: pointer;
      background: rgba(255, 255, 255, 0.2); }
      .we-recommend__pagination > span.swiper-pagination-bullet-active {
        background: #e5ff66; }
  .we-recommend__next, .we-recommend__prev {
    position: absolute;
    z-index: 10;
    bottom: 35px;
    left: 58px; }
    @media screen and (min-width: 768px) {
      .we-recommend__next, .we-recommend__prev {
        top: 50%;
        transform: translateY(-50%);
        bottom: 50%;
        left: 0; } }
    @media screen and (min-width: 1024px) {
      .we-recommend__next, .we-recommend__prev {
        left: 58px; } }
    .we-recommend.is-single .we-recommend__next, .we-recommend.is-single .we-recommend__prev {
      display: none; }
    .we-recommend__next.swiper-button-disabled, .we-recommend__prev.swiper-button-disabled {
      pointer-events: none;
      opacity: 0.4; }
  .we-recommend__next {
    left: auto;
    right: 58px; }
    @media screen and (min-width: 768px) {
      .we-recommend__next {
        left: auto;
        right: 0; } }
    @media screen and (min-width: 1024px) {
      .we-recommend__next {
        left: auto;
        right: 58px; } }

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/quick-links/scss/index.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.quick-links {
  max-width: 1055px;
  margin: 0 auto;
  padding: 43px;
  padding-left: 54px;
  border-radius: 8px;
  background-color: #edebeb;
  width: calc(100vw - 2 * 24px); }
  @media screen and (max-width: 767px) {
    .quick-links {
      padding: 32px 20px 36px 24px; } }

.quick-links__list {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .quick-links__list {
      column-gap: 38px; } }
  @media screen and (max-width: 767px) {
    .quick-links__list a {
      font-size: 14px; } }

.quick-links__item {
  flex-grow: 1;
  flex-basis: calc(30% - 2 * 14px); }
  .quick-links__item .link-underlined {
    white-space: normal; }
  @media screen and (max-width: 767px) {
    .quick-links__item {
      flex-basis: calc(50% - 38px); }
      .quick-links__item .link-underlined {
        text-decoration: underline;
        text-decoration-color: rgba(0, 69, 71, 0.3); }
        .quick-links__item .link-underlined:after, .quick-links__item .link-underlined:before {
          display: none; }
        .quick-links__item .link-underlined:hover, .quick-links__item .link-underlined:focus, .quick-links__item .link-underlined:active {
          text-decoration-color: #004547; } }

@media screen and (min-width: 768px) {
  .quick-links__text {
    overflow: hidden;
    display: block;
    /* Fallback for non-webkit */
    display: -webkit-box;
    height: 16px;
    /* Fallback for non-webkit */
    font-size: 16px;
    line-height: 1;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical; } }

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/intro-area/scss/index.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.intro-area {
  color: #004547; }
  .intro-area__inner {
    padding: 0 24px;
    background: #adb5ff;
    border-radius: 8px;
    display: flex;
    flex-direction: column; }
    @media screen and (min-width: 768px) {
      .intro-area__inner {
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: stretch;
        gap: 6%; }
        .intro-area--image-False .intro-area__inner {
          justify-content: center; } }
  .intro-area__text {
    padding: 30px 0;
    text-align: left; }
    @media screen and (min-width: 768px) {
      .intro-area__text {
        padding: 55px 12% 55px 0;
        width: calc(50% - 45px); }
        .intro-area--image-False .intro-area__text {
          text-align: center;
          width: 48%;
          min-width: 600px;
          padding-right: 0; } }
  .intro-area__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 56px;
    line-height: 0.8;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    padding: 0 0 24px;
    color: #004547;
    text-align: left; }
    @media screen and (min-width: 768px) {
      .intro-area__title {
        padding: 0 0 30px; }
        .intro-area--image-False .intro-area__title {
          text-align: center; } }
    @media screen and (min-width: 1024px) {
      .intro-area__title {
        font-size: 64px;
        line-height: 0.8; } }
  .intro-area__description {
    font-size: 16px;
    line-height: 1.6;
    text-align: left; }
    @media screen and (min-width: 768px) {
      .intro-area--image-False .intro-area__description {
        text-align: center; } }
  .intro-area__picture img {
    width: 68%; }
  @media screen and (min-width: 768px) {
    .intro-area__picture {
      width: calc(50% - 45px);
      position: relative; }
      .intro-area__picture picture {
        position: absolute;
        width: auto;
        max-width: 86%;
        bottom: 0;
        top: -27px;
        left: 14%; }
      .intro-area__picture img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: 0 100%; } }

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/promo-panel/scss/index.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.promo-panel__wrapper {
  background-color: var(--bg-colour); }

.promo-panel {
  --item-gap: 32px;
  --vertical-paddings: 40px;
  --side-paddings: 23px;
  max-width: 1700px;
  margin: 0 auto;
  padding: var(--vertical-paddings) var(--side-paddings);
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 25px;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .promo-panel {
      padding-top: 0;
      flex-direction: column;
      gap: 40px; } }
  @media screen and (min-width: 1024px) {
    .promo-panel {
      --side-paddings: 50px; } }
  @media screen and (min-width: 1366px) {
    .promo-panel {
      --side-paddings: 186px; } }
  .promo-panel.mask-bag, .promo-panel.mask-bucket {
    justify-content: start;
    column-gap: 8vw;
    --side-paddings: 0;
    --item-gap: 40px; }
    .promo-panel.mask-bag .promo-panel__image, .promo-panel.mask-bucket .promo-panel__image {
      align-self: flex-start;
      flex-shrink: 0;
      margin-top: calc(-1 * var(--vertical-paddings)); }
      .promo-panel.mask-bag .promo-panel__image img, .promo-panel.mask-bucket .promo-panel__image img {
        height: auto;
        object-fit: cover; }
      @media screen and (max-width: 767px) {
        .promo-panel.mask-bag .promo-panel__image, .promo-panel.mask-bucket .promo-panel__image {
          width: 97%;
          height: 100%;
          margin: 0 auto; } }
      @media screen and (min-width: 768px) {
        .promo-panel.mask-bag .promo-panel__image, .promo-panel.mask-bucket .promo-panel__image {
          width: 452px;
          height: 467px; } }
      @media screen and (min-width: 1024px) {
        .promo-panel.mask-bag .promo-panel__image, .promo-panel.mask-bucket .promo-panel__image {
          width: 678px;
          height: 640px; } }
    @media screen and (max-width: 767px) {
      .promo-panel.mask-bag .promo-panel__title, .promo-panel.mask-bucket .promo-panel__title {
        max-width: 80%; } }
    .promo-panel.mask-bag .promo-panel__cta-wrapper, .promo-panel.mask-bucket .promo-panel__cta-wrapper {
      max-width: 432px; }
    @media screen and (max-width: 767px) {
      .promo-panel.mask-bag, .promo-panel.mask-bucket {
        --item-gap: 32px;
        --side-paddings: 25px;
        gap: 15px;
        padding-bottom: 64px; } }
    @media screen and (min-width: 1024px) {
      .promo-panel.mask-bag, .promo-panel.mask-bucket {
        --side-paddings: 25px; } }
    @media screen and (min-width: 1366px) {
      .promo-panel.mask-bag, .promo-panel.mask-bucket {
        --side-paddings: 100px; } }
    @media screen and (min-width: 1500px) {
      .promo-panel.mask-bag, .promo-panel.mask-bucket {
        --side-paddings: 170px; } }
  .promo-panel.left .promo-panel__image {
    order: 0; }
  .promo-panel.left .promo-panel__cta-wrapper {
    order: 1; }
  @media screen and (max-width: 767px) {
    .promo-panel .promo-panel__image {
      width: 345px;
      height: 217px;
      order: 0;
      align-self: end;
      margin-right: calc(-1 * var(--vertical-paddings)); }
    .promo-panel .promo-panel__cta-wrapper {
      order: 0;
      align-self: start; } }
  .promo-panel.mask-bag .promo-panel__image {
    mask-image: url(/dist/images/bag-042ef6d419b6cbe30ee7.svg); }
  .promo-panel.mask-bucket .promo-panel__image {
    mask-image: url(/dist/images/bucket-e76ce6bbe80d00526748.svg); }
  .promo-panel.mask- .promo-panel__image img {
    width: 100%;
    object-fit: contain;
    object-position: 50% 0; }

.promo-panel__title,
.promo-panel__desc {
  color: var(--font-colour) !important; }

.promo-panel__title {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: bold;
  color: #004547;
  text-transform: uppercase;
  line-height: 0.8;
  letter-spacing: -0.01em;
  font-size: 48px;
  color: #ffffff; }
  @media screen and (min-width: 1024px) {
    .promo-panel__title {
      font-size: 72px; } }
  @media screen and (max-width: 767px) {
    .promo-panel__title {
      max-width: 62%; } }

.promo-panel__desc {
  font-family: Gotham-light, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
  font-weight: 325;
  line-height: 1.6;
  letter-spacing: -0.01em; }
  @media screen and (max-width: 767px) {
    .promo-panel__desc {
      max-width: 82%; } }

.promo-panel__image {
  order: 1;
  width: 553px;
  height: 348px;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: top;
  overflow: hidden; }
  .promo-panel__image img {
    max-width: 100%;
    height: 100%;
    object-fit: cover; }

.promo-panel__cta-wrapper {
  order: 0;
  max-width: 462px;
  display: flex;
  gap: var(--item-gap);
  flex-direction: column; }

.promo-panel__cta {
  --cta-bg-color: #e5ff66;
  --cta-text-color: #004547;
  max-width: max-content;
  background-color: var(--cta-bg-color);
  color: var(--cta-text-color); }
  .promo-panel__cta::before {
    background-color: var(--cta-text-color); }

.has-theme-bright-teal .promo-panel__cta {
  --cta-bg-color: #004547;
  --cta-text-color: #ffffff; }

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/image-gallery/scss/index.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.image-gallery__image {
  position: relative; }
  .image-gallery__image img {
    width: 100%; }

.image-gallery__description {
  color: #004547;
  font-family: Gotham-light, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  letter-spacing: -0.01em;
  padding: 11px 16px;
  margin-top: 16px;
  border-left: 4px solid #e5ff66;
  vertical-align: middle; }

.image-gallery__pagination {
  padding: 56px 120px 22px;
  display: flex;
  flex-flow: row nowrap;
  gap: 7px;
  justify-content: center; }
  @media screen and (min-width: 768px) {
    .image-gallery__pagination {
      position: absolute;
      width: 172px;
      left: 50%;
      transform: translateX(-50%);
      bottom: 116px;
      padding: 0;
      z-index: 10; } }
  .image-gallery__pagination > span {
    display: block;
    height: 6px;
    border-radius: 3px;
    flex-basis: 40px;
    max-width: 40px;
    cursor: pointer;
    background: rgba(0, 69, 71, 0.2); }
    .image-gallery__pagination > span.swiper-pagination-bullet-active {
      background: #004547; }
    @media screen and (min-width: 768px) {
      .image-gallery__pagination > span {
        background: rgba(255, 255, 255, 0.3); }
        .image-gallery__pagination > span.swiper-pagination-bullet-active {
          background: #e5ff66; } }

.image-gallery__next.button, .image-gallery__prev.button {
  position: absolute;
  z-index: 10;
  bottom: 0;
  left: 58px; }
  @media screen and (max-width: 767px) {
    .image-gallery__next.button, .image-gallery__prev.button {
      background: transparent;
      border: 2px solid rgba(0, 69, 71, 0.2); }
      .image-gallery__next.button:hover, .image-gallery__next.button:focus-visible, .image-gallery__prev.button:hover, .image-gallery__prev.button:focus-visible {
        border: 2px solid #004547; } }
  @media screen and (min-width: 768px) {
    .image-gallery__next.button, .image-gallery__prev.button {
      bottom: 96px;
      left: 50%;
      transform: translateX(-164px);
      border: none;
      background: #edebeb;
      --arrow-color: #004547; }
      .image-gallery__next.button:hover, .image-gallery__next.button:focus-visible, .image-gallery__prev.button:hover, .image-gallery__prev.button:focus-visible {
        background: #e5ff66; } }
  .image-gallery.is-single .image-gallery__next.button, .image-gallery.is-single .image-gallery__prev.button {
    display: none; }
  .has-blocked-buttons .image-gallery__next.button, .has-blocked-buttons .image-gallery__prev.button {
    pointer-events: none; }
  .image-gallery__next.button.swiper-button-disabled, .image-gallery__prev.button.swiper-button-disabled {
    pointer-events: none;
    opacity: 0.4; }

.image-gallery__next.button {
  left: auto;
  right: 58px; }
  @media screen and (min-width: 768px) {
    .image-gallery__next.button {
      left: 50%;
      right: auto;
      transform: translateX(116px); } }

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/related-products/scss/index.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.related-products__title {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: bold;
  color: #004547;
  text-transform: uppercase;
  line-height: 0.8;
  letter-spacing: -0.01em;
  font-size: 40px;
  margin-bottom: 25px; }
  @media screen and (min-width: 1024px) {
    .related-products__title {
      font-size: 48px; } }
  @media screen and (min-width: 1024px) {
    .related-products__title {
      margin-bottom: 35px; } }

.related-products__image {
  position: relative;
  background: #edebeb;
  border-radius: 8px;
  aspect-ratio: 1;
  overflow: hidden;
  margin-bottom: 20px; }
  .related-products__image img {
    width: 100%;
    height: 100%;
    object-fit: contain; }

.related-products__image-link {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background: rgba(0, 69, 71, 0.6);
  opacity: 0;
  transition: opacity 0.3s ease; }
  .related-products__image:hover .related-products__image-link {
    opacity: 1;
    pointer-events: auto;
    text-decoration: none; }

.related-products__content {
  padding-bottom: 5px; }

.related-products__product-title {
  font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
  margin-bottom: 8px;
  font-weight: 700;
  color: #004547; }
  @media screen and (min-width: 1024px) {
    .related-products__product-title {
      font-size: 18px; } }

.related-products__link {
  font-size: 16px; }

.related-products__pagination {
  padding: 58px 50px 0;
  display: flex;
  flex-flow: row nowrap;
  gap: 7px;
  justify-content: center; }
  @media screen and (min-width: 768px) {
    .related-products__pagination {
      display: none; } }
  .related-products__pagination > span {
    display: block;
    height: 6px;
    border-radius: 3px;
    flex-basis: 40px;
    max-width: 40px;
    cursor: pointer;
    background: rgba(0, 69, 71, 0.2); }
    .related-products__pagination > span.swiper-pagination-bullet-active {
      background: #004547; }

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/promo-video/scss/index.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.promo-video__wrapper {
  background-color: #adb5ff; }

.promo-video {
  max-width: 1700px;
  margin: 0 auto;
  padding: 62px var(--side-paddings);
  color: #004547;
  display: flex;
  justify-content: space-between;
  column-gap: 25px; }
  @media screen and (max-width: 1023px) {
    .promo-video {
      padding: 48px 24px 50px 24px;
      flex-direction: column;
      gap: 40px; } }
  @media screen and (min-width: 1024px) {
    .promo-video {
      --side-paddings: 50px; } }
  @media screen and (min-width: 1280px) {
    .promo-video {
      --side-paddings: 100px; } }
  @media screen and (min-width: 1500px) {
    .promo-video {
      --side-paddings: 186px; } }

.promo-video__text-wrapper {
  max-width: 387px; }
  @media screen and (max-width: 1023px) {
    .promo-video__text-wrapper {
      max-width: 345px; } }

.promo-video__title {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: bold;
  color: #004547;
  text-transform: uppercase;
  line-height: 0.8;
  letter-spacing: -0.01em;
  font-size: 48px; }
  @media screen and (min-width: 1024px) {
    .promo-video__title {
      font-size: 72px; } }

.promo-video__desc {
  font-family: Gotham-book, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: -0.01em;
  margin-top: 32px; }

.promo-video__image {
  aspect-ratio: 16/9;
  position: relative;
  max-width: 707px;
  min-width: 62%;
  cursor: pointer; }
  .promo-video__image:hover .promo-video__button {
    background-color: #e5ff66; }
    .promo-video__image:hover .promo-video__button .promo-video__icon {
      stroke: #004547; }
  .promo-video__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  @media screen and (max-width: 1023px) {
    .promo-video__image {
      margin: 0 auto; } }

.promo-video__button {
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 48px;
  height: 48px;
  background-color: #004547;
  transition: background-color 0.3s ease; }
  .promo-video__button:hover, .promo-video__button:focus-visible {
    background-color: #e5ff66; }
    .promo-video__button:hover .promo-video__icon, .promo-video__button:focus-visible .promo-video__icon {
      stroke: #004547; }

.promo-video__icon {
  width: 32px;
  height: 25px;
  stroke: #ffffff;
  stroke-width: 2px;
  transition: stroke 0.3s ease; }

.promo-video__modal-media {
  position: relative;
  z-index: 1;
  height: calc(var(--full-size-vh) * 0.8);
  width: calc(100vw - 2 * 24px);
  max-width: 1114px;
  max-height: 626px;
  aspect-ratio: 16 / 9; }
  .promo-video__modal-media iframe {
    border: none;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0; }

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/testimonial/scss/index.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
@media screen and (min-width: 768px) {
  .testimonial {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 30px; } }

@media screen and (min-width: 1024px) {
  .testimonial {
    gap: 40px; } }

.testimonial__picture {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 1;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .testimonial__picture {
      width: 345px;
      min-width: 345px;
      margin: 0; } }

.testimonial__text {
  position: relative;
  flex-grow: 1;
  padding-left: 32px;
  color: #004547; }
  .testimonial__text::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 9px;
    height: 100%;
    background: #e5ff66; }

.testimonial__quote {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: bold;
  color: #004547;
  text-transform: uppercase;
  line-height: 0.8;
  letter-spacing: -0.01em;
  font-size: 48px; }
  @media screen and (min-width: 1024px) {
    .testimonial__quote {
      font-size: 64px; } }

.testimonial__author {
  margin-top: 25px;
  font-size: 16px; }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/loader/scss/index.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.loader {
  display: block;
  position: relative;
  --loader-size: 64px;
  --loader-color: #004547;
  --loader-line-width: calc(var(--loader-size) / 8);
  width: var(--loader-size);
  height: var(--loader-size); }

.loader div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: var(--loader-size);
  height: var(--loader-size);
  border: var(--loader-line-width) solid var(--loader-color);
  border-radius: 50%;
  animation: loader 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: var(--loader-color) transparent transparent transparent; }

.loader div:nth-child(1) {
  animation-delay: -0.45s; }

.loader div:nth-child(2) {
  animation-delay: -0.3s; }

.loader div:nth-child(3) {
  animation-delay: -0.15s; }

@keyframes loader {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.loader--hidden {
  display: none; }

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/image-with-text/scss/index.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.image-with-text {
  color: #004547; }
  @media screen and (min-width: 768px) {
    .image-with-text {
      display: flex;
      flex-direction: row-reverse;
      gap: 40px; }
      .image-with-text.image-with-text--image-left {
        flex-direction: row; } }
  @media screen and (min-width: 1024px) {
    .image-with-text {
      gap: 78px; } }
  .image-with-text__image {
    margin-bottom: 30px; }
    @media screen and (min-width: 768px) {
      .image-with-text__image {
        width: 60%;
        min-width: 60%;
        margin-bottom: 0; } }
    .image-with-text__image img {
      width: 100%; }
  .image-with-text__image-wrapper {
    position: relative; }
  .image-with-text__image-description {
    position: relative;
    margin-top: 18px;
    font-size: 14px;
    padding: 8px 0 8px 19px; }
    .image-with-text__image-description::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      display: block;
      width: 4px;
      height: 100%;
      background: #e5ff66; }
  .image-with-text__title {
    font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    color: #004547;
    font-size: 20px;
    letter-spacing: -0.01em;
    line-height: 1.3;
    margin-bottom: 20px; }
    @media screen and (min-width: 1024px) {
      .image-with-text__title {
        font-size: 28px;
        line-height: 1.3; } }
  .image-with-text__description p {
    font-size: 16px;
    line-height: 1.6; }
    .image-with-text__description p + p {
      margin-top: 20px; }
  .image-with-text__btn {
    margin-top: 20px; }

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/image-with-text-columns/scss/index.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.image-with-text-columns {
  color: #004547; }
  @media screen and (min-width: 768px) {
    .image-with-text-columns {
      display: flex;
      flex-direction: row;
      gap: 20px; } }
  @media screen and (min-width: 1024px) {
    .image-with-text-columns {
      gap: 32px; } }
  .image-with-text-columns__item {
    margin-bottom: 40px; }
    .image-with-text-columns__item:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 768px) {
      .image-with-text-columns__item {
        flex-grow: 1;
        flex-basis: 0;
        margin-bottom: 0; } }
  .image-with-text-columns__image {
    position: relative;
    margin-bottom: 35px;
    aspect-ratio: 1.6; }
    .image-with-text-columns__image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .image-with-text-columns__title {
    font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    color: #004547;
    font-size: 20px;
    letter-spacing: -0.01em;
    line-height: 1.3;
    margin-bottom: 20px; }
    @media screen and (min-width: 1024px) {
      .image-with-text-columns__title {
        font-size: 28px;
        line-height: 1.3; } }
  .image-with-text-columns__descr p {
    font-size: 16px;
    line-height: 1.6; }
    .image-with-text-columns__descr p + p {
      margin-top: 20px; }
  .image-with-text-columns__btn {
    margin-top: 30px; }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/image-with-structured-text/scss/index.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.image-with-structured-text {
  color: #004547; }
  @media screen and (min-width: 768px) {
    .image-with-structured-text {
      display: flex;
      flex-direction: row; }
      .image-with-structured-text--image-right {
        flex-direction: row-reverse; } }
  .image-with-structured-text__picture {
    position: relative;
    margin-bottom: 30px;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 1.55; }
    @media screen and (min-width: 768px) {
      .image-with-structured-text__picture {
        width: 50%;
        min-width: 50%;
        margin-bottom: 0; } }
    @media screen and (min-width: 1024px) {
      .image-with-structured-text__picture {
        width: 64%;
        min-width: 64%; } }
    .image-with-structured-text__picture img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .image-with-structured-text--image-left .image-with-structured-text__picture .inspect-modal__button {
      left: 0;
      right: 0; }
  @media screen and (min-width: 768px) {
    .image-with-structured-text__content {
      position: relative;
      margin-top: 96px;
      padding: 70px 40px;
      flex-grow: 1;
      z-index: 5; }
      .image-with-structured-text__content:before {
        display: block;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #ffffff;
        left: -72px;
        right: 0;
        width: auto;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        z-index: -1; }
      .image-with-structured-text--image-right .image-with-structured-text__content:before {
        left: 0;
        right: -72px; } }
  @media screen and (min-width: 1024px) {
    .image-with-structured-text__content {
      padding: 88px 63px; } }
  .image-with-structured-text__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 48px;
    color: #004547;
    margin-bottom: 30px; }
    @media screen and (min-width: 1024px) {
      .image-with-structured-text__title {
        font-size: 64px; } }
  .image-with-structured-text__description {
    font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 30px; }
  .image-with-structured-text__list {
    column-count: 2;
    margin-bottom: 35px; }
  .image-with-structured-text__list-item {
    font-size: 16px; }
    .image-with-structured-text__list-item > .link-underlined {
      margin-bottom: 10px; }
  .image-with-structured-text__btn {
    white-space: nowrap; }

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/image-with-text-grid/scss/index.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.image-with-text-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px; }
  @media screen and (min-width: 1024px) {
    .image-with-text-grid {
      gap: 30px; } }
  .image-with-text-grid__item {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .image-with-text-grid__item {
        width: calc(50% - 10px); } }
    @media screen and (min-width: 1024px) {
      .image-with-text-grid__item {
        width: calc(50% - 15px); } }
  .image-with-text-grid__image {
    position: relative;
    aspect-ratio: 1.87;
    border-radius: 8px;
    margin-bottom: 30px;
    overflow: hidden; }
    @media screen and (min-width: 768px) {
      .image-with-text-grid__image {
        margin-bottom: 50px; } }
    .image-with-text-grid__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1);
      transition: transform 0.3s ease; }
    .image-with-text-grid__image:hover img {
      transform: scale(1.1); }
    .image-with-text-grid__image .inspect-modal__button,
    .image-with-text-grid__image .inspect-modal__icon {
      transition: background 0.3s ease; }
    .image-with-text-grid__image:hover .inspect-modal__button {
      background: #e5ff66;
      z-index: 10; }
    .image-with-text-grid__image:hover .inspect-modal__icon {
      background: #004547; }
  .image-with-text-grid__link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    font-size: 0;
    text-indent: -1000em; }
    .image-with-text-grid__link:after {
      display: block;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: transparent;
      transition: background 0.3s ease; }
      .image-with-text-grid__image:hover .image-with-text-grid__link:after {
        background: rgba(0, 69, 71, 0.6); }
    .image-with-text-grid__image:hover .image-with-text-grid__link:after {
      background: rgba(0, 69, 71, 0.6); }
  .image-with-text-grid__content {
    text-align: center; }
  .image-with-text-grid__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 48px;
    text-align: center; }
    @media screen and (min-width: 1024px) {
      .image-with-text-grid__title {
        font-size: 64px; } }
  .image-with-text-grid__descr {
    max-width: 420px;
    margin: 25px auto 0;
    color: #004547;
    font-size: 16px;
    line-height: 1.6; }
    @media screen and (min-width: 768px) {
      .image-with-text-grid__descr {
        font-size: 18px;
        line-height: 1.6; } }
  .image-with-text-grid__btn {
    margin: 30px 0; }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/embedded-video/scss/index.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.embedded-video {
  color: var(--font-colour);
  background-color: var(--bg-colour);
  padding-top: 72px;
  padding-bottom: 80px; }
  .embedded-video .container {
    max-width: 1290px; }
  .embedded-video__info {
    margin: 0 0 0 30%;
    width: 70%; }
    @media screen and (min-width: 768px) {
      .embedded-video__info {
        margin: 0 0 0 50%;
        width: 50%; } }
  .embedded-video__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 48px;
    margin-bottom: 32px;
    color: var(--font-colour);
    text-wrap: unset; }
    @media screen and (min-width: 1024px) {
      .embedded-video__title {
        font-size: 72px; } }
    @media screen and (min-width: 1024px) {
      .embedded-video__title {
        margin-bottom: 40px; } }
  .embedded-video__description {
    font-size: 16px;
    line-height: 25.6px;
    letter-spacing: -0.01em; }
  .embedded-video__wrapper {
    position: relative;
    overflow: hidden;
    max-width: 920px;
    margin-bottom: 70px;
    border-radius: 8px; }
    .embedded-video__wrapper::before {
      content: '';
      display: block;
      width: 100%;
      padding-top: 56.33333%; }
    .embedded-video__wrapper.hide {
      display: none; }
  .embedded-video__image-wrapper {
    background-color: var(--font-colour); }
    .embedded-video__image-wrapper.hide {
      display: none; }
  .embedded-video__image-wrapper, .embedded-video__image, .embedded-video__player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .embedded-video__button {
    margin: 0;
    padding: 0;
    background-color: transparent;
    border: none;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    appearance: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: var(--bg-colour); }
    .embedded-video__button::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 1;
      display: block;
      width: 48px;
      height: 48px;
      background-color: #004547; }
      @media screen and (min-width: 768px) {
        .embedded-video__button::before {
          width: 64px;
          height: 64px; } }
    .embedded-video__button .icon {
      position: absolute;
      bottom: 12px;
      left: 13px;
      width: 25px;
      height: 25px;
      z-index: 2; }
      @media screen and (min-width: 768px) {
        .embedded-video__button .icon {
          width: 34px;
          height: 34px;
          bottom: 15px;
          left: 16px; } }

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/tabs/scss/index.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.tabs-content {
  display: none; }
  .tabs-content.is-active {
    display: block; }

.tabs-links {
  display: flex;
  justify-content: center;
  text-transform: uppercase;
  gap: 24px;
  margin-bottom: 27px; }
  @media screen and (min-width: 768px) {
    .tabs-links {
      margin-bottom: 40px; } }
  .tabs-links__item {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 40px;
    line-height: 30px;
    font-weight: 700;
    letter-spacing: -0.01em;
    opacity: 0.3;
    text-decoration: none;
    padding-bottom: 12px;
    display: block;
    position: relative;
    transition: opacity 0.3s ease; }
    .tabs-links__item::after {
      content: '';
      position: absolute;
      border-bottom: 2px solid #004547;
      bottom: 0;
      left: 0;
      width: 0; }
    @media screen and (min-width: 1024px) {
      .tabs-links__item {
        font-size: 48px;
        line-height: 35px; } }
    .tabs-links__item.is-active, .tabs-links__item:hover {
      opacity: 1; }
    .tabs-links__item.is-active::after {
      width: 100%; }

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/article-carousel/scss/index.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.article-carousel__container {
  position: relative; }

.article-carousel__controls.hidden {
  display: none; }

@media screen and (min-width: 768px) {
  .article-carousel__controls {
    position: absolute;
    right: 0;
    top: -100px;
    display: flex;
    gap: 8px; } }

@media screen and (max-width: 767px) {
  .article-carousel__controls {
    display: none; } }

.article-carousel__carousel {
  display: flex;
  flex-direction: column;
  gap: 24px; }
  @media screen and (min-width: 768px) {
    .article-carousel__carousel--mobile {
      display: none; } }
  @media screen and (max-width: 767px) {
    .article-carousel__carousel--desktop {
      display: none; } }

.article-carousel__item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .article-carousel__item:nth-child(n + 4) {
      display: none; }
      .show-all .article-carousel__item:nth-child(n + 4) {
        display: block; } }
  @media screen and (min-width: 768px) {
    .article-carousel__item {
      width: 345px; } }
  @media screen and (min-width: 1024px) {
    .article-carousel__item {
      width: 474px; } }
  .article-carousel__item::after {
    content: '';
    position: absolute;
    z-index: 1;
    inset: 0;
    background-color: transparent;
    transition: background-color 0.3s ease; }
  .article-carousel__item:hover::after, .article-carousel__item:focus-within::after {
    background-color: rgba(0, 69, 71, 0.6); }
  .article-carousel__item:hover .article-carousel__image, .article-carousel__item:focus-within .article-carousel__image {
    transform: scale(1.1); }
  .article-carousel__item:hover .article-carousel__info, .article-carousel__item:focus-within .article-carousel__info {
    opacity: 1; }
  .article-carousel__item:hover .article-carousel__button::after, .article-carousel__item:focus-within .article-carousel__button::after {
    background-color: #e5ff66;
    background-position-x: 215%; }
  .article-carousel__item:hover .article-carousel__content-inner, .article-carousel__item:focus-within .article-carousel__content-inner {
    transform: translateY(0); }

.article-carousel__image {
  position: relative;
  transition: transform 0.3s ease; }
  .article-carousel__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute; }
  .article-carousel__image::after {
    content: '';
    display: block;
    padding-top: 100%;
    position: relative; }

.article-carousel__content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 27px 100px 27px 22px;
  z-index: 2; }
  @media screen and (min-width: 768px) {
    .article-carousel__content {
      padding: 37px 120px 37px 32px; } }
  @media screen and (min-width: 768px) {
    .article-carousel__content-inner {
      transform: translateY(40px);
      transition: transform 0.3s ease; } }

.article-carousel__title {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: bold;
  color: #004547;
  text-transform: uppercase;
  line-height: 0.8;
  letter-spacing: -0.01em;
  font-size: 40px;
  color: #ffffff; }
  @media screen and (min-width: 1024px) {
    .article-carousel__title {
      font-size: 48px; } }

.article-carousel__info {
  display: flex;
  color: #ffffff;
  margin-top: 17px; }
  @media screen and (min-width: 768px) {
    .article-carousel__info {
      opacity: 0;
      transition: opacity 0.3s ease; } }
  .article-carousel__info-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px; }
    .article-carousel__info-item .icon {
      stroke: #ffffff;
      stroke-width: 2px; }
  .article-carousel__info-item:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.3);
    padding-right: 12px;
    margin-right: 12px; }

.article-carousel__link {
  text-decoration: none; }

.article-carousel__button:focus, .article-carousel__button:focus-visible {
  outline: none; }

.article-carousel__button::after {
  content: '';
  position: absolute;
  right: 32px;
  bottom: 37px;
  width: 48px;
  height: 48px;
  background-color: #edebeb;
  border-radius: 50%;
  background-image: url(/dist/images/right-angle-ef7a9faaa3f76aed73a9.svg);
  background-repeat: repeat-x;
  background-position: center center;
  background-size: 30px 15px;
  transition: background-color, background-position 0.3s ease; }

.article-carousel__next.button, .article-carousel__prev.button {
  background: transparent;
  border: 2px solid rgba(0, 69, 71, 0.2); }
  .article-carousel__next.button:hover, .article-carousel__next.button:focus-visible, .article-carousel__prev.button:hover, .article-carousel__prev.button:focus-visible {
    border: 2px solid #004547; }
  .article-carousel.is-single .article-carousel__next.button, .article-carousel.is-single .article-carousel__prev.button {
    display: none; }
  .article-carousel__next.button.swiper-button-disabled, .article-carousel__prev.button.swiper-button-disabled {
    pointer-events: none;
    opacity: 0.4; }

.article-carousel__see-more {
  position: relative;
  background-color: #ffffff;
  border: 2px solid #edebeb;
  width: max-content;
  color: #004547;
  transition: border-color 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 24px 0 19px; }
  @media screen and (min-width: 768px) {
    .article-carousel__see-more {
      display: none; } }
  .article-carousel__see-more:hover, .article-carousel__see-more:focus-within {
    border: 2px solid #004547; }
  .article-carousel__see-more .icon {
    position: static;
    stroke: #004547;
    stroke-width: 2px;
    width: 24px;
    height: 24px;
    transform: translateY(0);
    flex-shrink: 0; }

.article-carousel__link-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  margin-top: 30px; }
  @media screen and (min-width: 768px) {
    .article-carousel__link-wrapper {
      margin-top: 40px; } }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/colors-landing/scss/index.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.colors-landing__list {
  --item-width: 376px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--item-width), 1fr));
  gap: 32px;
  margin-top: 56px; }
  @media screen and (max-width: 1023px) {
    .colors-landing__list {
      --item-width: 345px;
      gap: 24px;
      margin-top: 40px; } }
  @media screen and (max-width: 767px) {
    .colors-landing__list {
      --item-width: calc(100vw - 2 * 24px); } }

.colors-landing__item {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #ccdada; }

.colors-landing__title::before {
  display: none; }

.colors-landing__title a {
  font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 18px;
  letter-spacing: -0.01em;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 1px;
  width: fit-content; }
  .colors-landing__title a .colors-landing__underlined {
    height: 1px;
    width: 0;
    background: #004547;
    transition: width 0.3s ease; }
  .colors-landing__title a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1; }
  .colors-landing__title a:hover, .colors-landing__title a:focus-visible {
    outline: none; }
    .colors-landing__title a:hover .colors-landing__underlined, .colors-landing__title a:focus-visible .colors-landing__underlined {
      width: 100%; }

.colors-landing__media {
  aspect-ratio: 1.74; }
  @media screen and (max-width: 1023px) {
    .colors-landing__media {
      aspect-ratio: 2.18; } }

.colors-landing__image img {
  width: 100%;
  height: 100%;
  object-fit: cover; }

.colors-landing__color-list {
  display: flex;
  height: 100%; }
  .colors-landing__color-list > span {
    flex-grow: 1; }

.colors-landing__title-wrapper {
  padding: 24px;
  transition: background-color 0.3s ease;
  height: 100%; }
  .colors-landing__title-wrapper:focus-within, .colors-landing__title-wrapper:has(a:hover) {
    background-color: rgba(0, 69, 71, 0.05); }

.colors-landing__availability {
  font-size: 14px;
  letter-spacing: -0.01em;
  color: #004547; }

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/related-searches/scss/index.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.related-searches {
  display: flex;
  gap: 32px;
  flex-direction: column; }
  @media screen and (min-width: 1280px) {
    .related-searches {
      flex-direction: row; } }
  .related-searches__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 48px; }
    @media screen and (min-width: 1024px) {
      .related-searches__title {
        font-size: 72px; } }
    @media screen and (min-width: 1280px) {
      .related-searches__title {
        flex-basis: 28%;
        flex-shrink: 0; } }
  @media screen and (max-width: 767px) {
    .related-searches__list {
      display: flex;
      flex-direction: column;
      gap: 16px; } }
  @media screen and (min-width: 768px) {
    .related-searches__list {
      display: grid;
      grid-gap: 32px;
      grid-template-columns: repeat(2, 1fr); } }
  .related-searches__item {
    position: relative;
    overflow: hidden;
    display: flex;
    border-radius: 8px;
    border: 1px solid #edebeb;
    text-decoration: none;
    height: 88px; }
    @media screen and (min-width: 1024px) {
      .related-searches__item {
        height: 129px; } }
    .related-searches__item:hover .related-searches__image img, .related-searches__item:focus-within .related-searches__image img {
      transform: scale(1.1); }
    .related-searches__item:hover .related-searches__content, .related-searches__item:focus-within .related-searches__content {
      background-color: #004547; }
      .related-searches__item:hover .related-searches__content::after, .related-searches__item:focus-within .related-searches__content::after {
        background-color: #e5ff66;
        background-position-x: 215%; }
    .related-searches__item:hover .related-searches__text, .related-searches__item:focus-within .related-searches__text {
      color: #ffffff; }
  .related-searches__image {
    position: relative;
    overflow: hidden;
    width: 35px;
    flex-shrink: 0; }
    @media screen and (min-width: 1024px) {
      .related-searches__image {
        width: 129px; } }
    .related-searches__image img {
      width: 100%;
      height: 100%;
      transition: transform 0.3s ease; }
  .related-searches__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    gap: 16px;
    width: 100%;
    transition: background-color 0.3s ease; }
    .related-searches__content::after {
      flex-shrink: 0;
      content: '';
      width: 48px;
      height: 48px;
      background-color: #edebeb;
      border-radius: 50%;
      background-image: url(/dist/images/right-angle-ef7a9faaa3f76aed73a9.svg);
      background-repeat: repeat-x;
      background-position: center center;
      background-size: 30px 15px;
      transition: background-color, background-position 0.3s ease; }
  .related-searches__text {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 26px;
    transition: color 0.3s ease; }
    @media screen and (min-width: 1024px) {
      .related-searches__text {
        font-size: 32px; } }
    .related-searches__text span {
      color: #80a2a3; }

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/ugc-list/scss/index.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.ugc-list__title {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: bold;
  color: #004547;
  text-transform: uppercase;
  line-height: 0.8;
  letter-spacing: -0.01em;
  font-size: 40px;
  margin-bottom: 24px; }
  @media screen and (min-width: 1024px) {
    .ugc-list__title {
      font-size: 48px; } }
  @media screen and (min-width: 768px) {
    .ugc-list__title {
      margin-bottom: 32px; } }

.ugc-list__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px; }
  @media screen and (min-width: 768px) {
    .ugc-list__container {
      grid-template-columns: repeat(4, 1fr);
      gap: 32px; } }

.ugc-list__item {
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  color: #ffffff; }
  .ugc-list__item::after {
    content: '';
    position: absolute;
    z-index: 1;
    inset: 0;
    background-color: transparent;
    transition: background-color 0.3s ease; }
  .ugc-list__item .inspect-modal__button {
    z-index: 3; }
    @media screen and (max-width: 767px) {
      .ugc-list__item .inspect-modal__button {
        top: 0; } }
  .ugc-list__item:hover::after, .ugc-list__item:focus-within::after {
    background-color: rgba(0, 69, 71, 0.6); }
  .ugc-list__item:hover .ugc-list__image, .ugc-list__item:focus-within .ugc-list__image {
    transform: scale(1.1); }
  .ugc-list__item:hover .inspect-modal__button, .ugc-list__item:focus-within .inspect-modal__button {
    background-color: #e5ff66; }
  .ugc-list__item:hover .inspect-modal__icon, .ugc-list__item:focus-within .inspect-modal__icon {
    background-color: #004547; }

.ugc-list__link {
  text-decoration: none;
  color: #ffffff; }

.ugc-list__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  transition: transform 0.3s ease; }
  .ugc-list__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.ugc-list__content {
  position: relative;
  z-index: 2;
  padding: 15px 12px;
  display: flex;
  align-items: flex-end;
  height: 100%; }
  @media screen and (min-width: 1024px) {
    .ugc-list__content {
      padding: 28px 26px; } }

.ugc-list__author {
  font-size: 10px;
  letter-spacing: -0.01em; }
  @media screen and (min-width: 1024px) {
    .ugc-list__author {
      font-size: 16px; } }

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/message-modal/scss/index.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.message-modal {
  text-align: center;
  padding: 24px; }
  .message-modal__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 40px; }
    @media screen and (min-width: 1024px) {
      .message-modal__title {
        font-size: 48px; } }
  .message-modal__content {
    position: relative;
    overflow: auto;
    max-height: 100%;
    max-width: 750px;
    background-color: #ffffff;
    border-radius: 8px;
    padding: 95px 35px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px; }
    @media screen and (min-width: 768px) {
      .message-modal__content {
        padding: 105px 95px; } }
    .message-modal__content .modal__close {
      position: absolute;
      right: 24px;
      top: 24px; }
  .message-modal__text {
    color: #004547;
    font-size: 16px; }

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/project-card/scss/index.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.project-card {
  border-radius: 8px;
  background: #004547;
  color: #ffffff;
  display: flex;
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 768px) {
    .project-card {
      padding: 40px 40px 0;
      min-height: 453px; } }
  @media screen and (max-width: 767px) {
    .project-card {
      flex-direction: column-reverse;
      padding: 37px 24px 0;
      justify-content: space-between; } }
  .project-card__image {
    flex-basis: 50%;
    flex-shrink: 1;
    flex-grow: 0;
    height: 356px;
    margin-top: auto;
    padding: 0;
    position: relative;
    position: relative; }
    .project-card__image > img,
    .project-card__image > video,
    .project-card__image > picture,
    .project-card__image > picture > img {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%; }
    .project-card__image > img,
    .project-card__image > video,
    .project-card__image > picture,
    .project-card__image > picture > img {
      object-fit: contain; }
    @media screen and (max-width: 767px) {
      .project-card__image {
        min-height: 142px;
        margin-top: 20px; } }
    .project-card__image img {
      object-position: bottom; }
      @media screen and (max-width: 767px) {
        .project-card__image img {
          object-position: left bottom; } }
  .project-card__text {
    flex-basis: 50%;
    display: flex;
    flex-direction: column;
    gap: 40px; }
    @media screen and (min-width: 768px) {
      .project-card__text {
        padding: 12px 30px 60px;
        gap: 56px;
        max-width: 671px; } }
  .project-card__desc {
    font-size: 16px;
    line-height: 25.6px;
    letter-spacing: -0.01em; }
    @media screen and (min-width: 768px) {
      .project-card__desc {
        font-size: 18px;
        line-height: 28.8px; } }
  .project-card__title {
    font-size: 16px;
    line-height: 25.6px;
    letter-spacing: -0.01em;
    font-weight: 700;
    margin-bottom: 16px; }
  .project-card__icons {
    max-width: 237px;
    width: 100%; }
  .project-card__icon {
    height: 48px;
    line-height: 48px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px; }
    .project-card__icon .icon {
      stroke: #ffffff; }
    .project-card__icon:first-child {
      border-bottom: 1px solid rgba(255, 255, 255, 0.3); }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/hero-with-ctas/scss/index.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.hero-with-ctas {
  position: relative;
  min-height: 540px; }
  @media screen and (min-width: 1024px) {
    .hero-with-ctas {
      aspect-ratio: 2.4; } }
  .hero-with-ctas__image {
    position: relative;
    position: absolute;
    inset: 0;
    overflow: hidden; }
    .hero-with-ctas__image > img,
    .hero-with-ctas__image > video,
    .hero-with-ctas__image > picture,
    .hero-with-ctas__image > picture > img {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%; }
    .hero-with-ctas__image > img,
    .hero-with-ctas__image > video,
    .hero-with-ctas__image > picture,
    .hero-with-ctas__image > picture > img {
      object-fit: cover;
      object-position: center 33.3%; }
  .hero-with-ctas__content {
    position: absolute;
    inset: 0;
    color: #ffffff;
    display: flex;
    gap: 22px;
    justify-content: center;
    flex-direction: column;
    padding: 20px;
    box-sizing: content-box;
    z-index: 5; }
    @media screen and (min-width: 768px) {
      .hero-with-ctas__content {
        padding: 120px;
        max-width: 70%;
        gap: 10px; } }
  .hero-with-ctas__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 80px;
    color: #ffffff; }
    @media screen and (min-width: 1024px) {
      .hero-with-ctas__title {
        font-size: 144px; } }
  .hero-with-ctas__buttons {
    display: flex;
    gap: 16px;
    margin-top: 22px; }
    @media screen and (max-width: 767px) {
      .hero-with-ctas__buttons {
        margin-top: 10px;
        flex-direction: column;
        align-items: flex-start; } }

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/product-carousel/scss/index.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.product-carousel {
  position: relative; }
  .product-carousel__header {
    display: flex;
    gap: 24px;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .product-carousel__header {
        flex-direction: column;
        gap: 16px;
        margin-bottom: 24px; } }
    @media screen and (min-width: 768px) {
      .product-carousel__header {
        margin-bottom: 38px; } }
  .product-carousel__title {
    font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-weight: bold;
    color: #004547;
    text-transform: uppercase;
    line-height: 0.8;
    letter-spacing: -0.01em;
    font-size: 40px;
    margin-bottom: 0;
    margin-top: 10px; }
    @media screen and (min-width: 1024px) {
      .product-carousel__title {
        font-size: 48px; } }
    @media screen and (max-width: 767px) {
      .product-carousel__title {
        text-align: center; } }
  .product-carousel__select + div {
    width: 100%;
    margin-bottom: 0; }
    @media screen and (min-width: 768px) {
      .product-carousel__select + div {
        max-width: 273px; } }
  .product-carousel__carousel {
    overflow: visible; }
  @media screen and (min-width: 768px) {
    .product-carousel__controls {
      position: absolute;
      right: 50px;
      top: 0;
      display: flex;
      gap: 8px;
      align-items: center; }
      .product-carousel__controls > a:first-child {
        margin-right: 18px; } }
  @media screen and (max-width: 767px) {
    .product-carousel__controls {
      display: none; } }
  @media screen and (max-width: 1023px) {
    .product-carousel__view-all {
      display: none; } }
  .product-carousel__item {
    width: 230px; }
    @media screen and (min-width: 768px) {
      .product-carousel__item {
        width: 363px; } }
  .product-carousel__image {
    background-color: #edebeb;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    aspect-ratio: 1;
    margin-bottom: 24px; }
  .product-carousel__content {
    padding-bottom: 5px; }
  .product-carousel__item-name {
    font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 18px;
    line-height: 28.8px;
    letter-spacing: -0.01em;
    font-weight: 700;
    color: #004547;
    margin-bottom: 8px; }
  .product-carousel__next.button, .product-carousel__prev.button {
    background: transparent;
    border: 2px solid rgba(0, 69, 71, 0.2); }
    .product-carousel__next.button:hover, .product-carousel__next.button:focus-visible, .product-carousel__prev.button:hover, .product-carousel__prev.button:focus-visible {
      border: 2px solid #004547; }
    .product-carousel.is-single .product-carousel__next.button, .product-carousel.is-single .product-carousel__prev.button {
      display: none; }
    .product-carousel__next.button.swiper-button-disabled, .product-carousel__prev.button.swiper-button-disabled {
      pointer-events: none;
      opacity: 0.4; }
  @media screen and (max-width: 1023px) {
    .product-carousel__link {
      display: flex;
      justify-content: center;
      margin-top: 44px; } }
  @media screen and (min-width: 1024px) {
    .product-carousel__link {
      display: none; } }
  .product-carousel__no-results {
    display: none;
    font-size: 18px; }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/search-suggestions/scss/index.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.search-suggestions__content {
  padding: 24px 0 0;
  background-color: #ffffff;
  border-radius: 8px;
  height: calc(var(--vh, 1vh) * 62);
  min-height: calc(var(--vh, 1vh) * 30);
  display: flex;
  flex-direction: column;
  width: 90vw;
  max-width: 1056px; }
  .search-suggestions__content-empty {
    padding-bottom: 48px; }
  .search-suggestions__content .loader {
    --loader-size: 24px;
    margin: 0 auto 24px; }
  .search-suggestions__content > .modal__close {
    position: absolute;
    right: 24px;
    top: 24px; }
    @media screen and (max-width: 1023px) {
      .search-suggestions__content > .modal__close {
        right: 16px;
        top: 16px;
        z-index: 2; } }
  @media screen and (max-width: 1023px) {
    .search-suggestions__content {
      padding: 0 24px;
      padding-top: 65px;
      padding-bottom: 31px;
      height: var(--full-size-vh);
      width: 100vw;
      border-radius: unset;
      animation-timing-function: ease-in-out;
      animation-fill-mode: forwards;
      animation-duration: 500ms;
      transform: translateY(100vh);
      transition: transform 0.3s ease; } }

.search-suggestions__footer {
  border-top: 1px solid rgba(0, 69, 71, 0.2);
  padding: 12px 0;
  display: flex;
  justify-content: center; }

@media screen and (max-width: 1023px) {
  .modal.search-suggestions__modal {
    align-items: flex-start; } }

.open .search-suggestions__content {
  animation-name: animationUp; }
  @media screen and (min-width: 1024px) {
    .open .search-suggestions__content {
      animation: none; } }

.close .search-suggestions__content {
  animation-name: animationDown; }
  @media screen and (min-width: 1024px) {
    .close .search-suggestions__content {
      animation: none; } }

@keyframes animationUp {
  0% {
    transform: translateY(100vh); }
  100% {
    transform: translateY(0); } }

@keyframes animationDown {
  from {
    transform: translateY(0); }
  to {
    transform: translateY(100vh); } }

.search-suggestions__footer-desktop {
  margin-top: auto; }
  @media screen and (max-width: 1023px) {
    .search-suggestions__footer-desktop {
      display: none; } }

.search-suggestions__footer-mobile {
  margin-top: 10px; }
  @media screen and (min-width: 1024px) {
    .search-suggestions__footer-mobile {
      display: none; } }

.ss-form {
  position: relative;
  margin: 0 48px 20px; }
  @media screen and (max-width: 1023px) {
    .ss-form {
      margin: 0;
      margin-bottom: 15px; } }
  .ss-form .form__input .ss-form__input[type='text'] {
    padding-bottom: 0;
    height: 80px;
    padding-left: 36px;
    font-size: 48px; }
    @media screen and (max-width: 1023px) {
      .ss-form .form__input .ss-form__input[type='text'] {
        height: 72px;
        font-size: 40px; } }
  .ss-form .form__input .ss-form__icon {
    stroke: #004547;
    position: absolute;
    top: 28px;
    left: 0; }
    @media screen and (max-width: 1023px) {
      .ss-form .form__input .ss-form__icon {
        top: 24px; } }
  .ss-form__btn {
    margin: 0;
    padding: 0;
    background-color: transparent;
    border: none;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    appearance: none;
    display: none;
    background-color: #004547;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 32px;
    right: 0;
    border-radius: 8px; }
    @media screen and (max-width: 1023px) {
      .ss-form__btn {
        top: 28px; } }
    .ss-form__btn::after {
      content: '';
      position: absolute;
      top: 4px;
      left: 4px;
      width: 8px;
      height: 8px;
      background-color: #ffffff;
      mask-image: url(/dist/images/crest-icon-5f74ef7e1f9ad6170dcc.svg);
      mask-size: contain;
      mask-repeat: no-repeat;
      mask-position: center; }
    .ss-form__btn.active {
      display: block; }

.ss-results {
  overflow-y: auto;
  padding: 0 24px 0 32px;
  margin: 0 16px;
  scrollbar-width: thin;
  scrollbar-color: #004547 transparent; }
  @media screen and (max-width: 1023px) {
    .ss-results {
      margin: 0;
      padding: 0; } }
  .ss-results::-webkit-scrollbar {
    width: 8px; }
  .ss-results::-webkit-scrollbar-track {
    background: transparent; }
  .ss-results::-webkit-scrollbar-thumb {
    background-color: #004547; }
  .ss-results__title {
    font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: #004547;
    margin-bottom: 12px; }
  .ss-results__list {
    display: flex;
    flex-direction: column; }
  .ss-results__no-results {
    color: #004547;
    text-align: center;
    padding-bottom: 24px; }

.ss-item {
  display: flex;
  gap: 12px;
  text-decoration: none;
  align-items: center;
  border-radius: 8px;
  padding: 8px;
  background-color: transparent;
  transition: background-color 0.3s ease; }
  @media screen and (max-width: 1023px) {
    .ss-item {
      padding: 4px 0; } }
  .ss-item__image {
    background-color: #edebeb;
    border-radius: 4px;
    width: 48px;
    height: 48px; }
    .ss-item__image-default {
      mask-image: url(/dist/images/default-b9c23a43a2f33e4c6b1e.svg);
      mask-size: contain;
      mask-repeat: no-repeat;
      mask-position: center; }
  .ss-item__title {
    font-size: 16px;
    line-height: 25.6px;
    color: #004547; }
    .ss-item:hover .ss-item__title,
    .ss-item:focus-visible .ss-item__title {
      color: #ffffff; }
    .ss-item__title .highlight {
      font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
  .ss-item:hover, .ss-item:focus-visible {
    outline: none;
    background-color: #004547; }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/form-with-text/scss/index.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.form-with-text {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  max-width: 1328px;
  margin: 0 auto; }
  .form-with-text .richtext {
    padding: 0; }
  @media screen and (max-width: 1023px) {
    .form-with-text {
      flex-direction: column;
      margin: 0; } }
  .form-with-text button[type="submit"] {
    width: 100%; }
    @media screen and (min-width: 1024px) {
      .form-with-text button[type="submit"] {
        height: 72px;
        border-radius: 72px; } }

@media screen and (min-width: 1024px) {
  .form-with-text__text-wrapper {
    width: 400px; } }

@media screen and (min-width: 1024px) {
  .form-with-text__form {
    width: 60%;
    max-width: 784px; } }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/next-prev-articles/scss/index.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.next-prev-articles {
  max-width: 1328px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #ccdada;
  border-radius: 8px;
  position: relative; }
  .next-prev-articles::after {
    content: '';
    position: absolute;
    height: 100%;
    width: 1px;
    background-color: #ccdada;
    top: 0;
    left: 50%; }
  .next-prev-articles .button {
    flex-shrink: 0; }
  @media screen and (max-width: 767px) {
    .next-prev-articles {
      width: 100vw;
      margin: 0 -24px;
      border-left: none;
      border-right: none;
      border-radius: 0; } }

.next-prev-articles__link-container {
  padding: 0 32px;
  transition: background-color 0.3s ease; }
  .next-prev-articles__link-container:has(a:hover), .next-prev-articles__link-container:focus-within {
    background-color: #004547; }
  @media screen and (max-width: 767px) {
    .next-prev-articles__link-container {
      padding: 24px; } }

.next-prev-articles__link {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 32px;
  height: 100%;
  transition: color 0.3s ease; }
  @media screen and (max-width: 767px) {
    .next-prev-articles__link {
      flex-direction: column;
      align-items: start;
      gap: 24px; } }
  .next-prev-articles__link:hover, .next-prev-articles__link:focus-visible {
    outline: none;
    color: #ffffff; }
    .next-prev-articles__link:hover .button, .next-prev-articles__link:focus-visible .button {
      --arrow-position-x-offset: var(--arrow-width);
      background: #e5ff66; }

.next-prev-articles__link-wrapper {
  display: grid;
  gap: 16px;
  padding: 40px 0; }
  @media screen and (max-width: 767px) {
    .next-prev-articles__link-wrapper {
      padding: 0; } }

.next-prev-articles__title {
  font-family: "roc-grotesk-compressed", -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: bold;
  color: #004547;
  text-transform: uppercase;
  line-height: 0.8;
  letter-spacing: -0.01em;
  font-size: 32px;
  color: inherit; }
  @media screen and (min-width: 1024px) {
    .next-prev-articles__title {
      font-size: 48px; } }

.next-prev-articles__text {
  font-size: 16px; }
  @media screen and (max-width: 767px) {
    .next-prev-articles__text {
      font-size: 14px; } }

@media screen and (max-width: 767px) {
  .next-prev-articles__next-btn {
    order: -1; } }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[3]!./node_modules/@epegzz/sass-vars-loader/src/sassVarsLoader.js??ruleSet[1].rules[7].use[4]!./assets/components/social/scss/index.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* general mixins and helpers */
/*
    put mixins which have consistant styles for all designs
 */
.social__title {
  font-size: 16px;
  font-family: Gotham-bold, -apple-system, blinkmacsystemfont, segoe ui, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  margin-bottom: 16px;
  color: #004547; }

.social__list {
  display: flex;
  gap: 8px; }

.social__link {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background-color: rgba(0, 69, 71, 0.15);
  display: flex;
  place-items: center;
  --mask-img-color: #004547;
  transition: background-color 0.3s ease; }
  .social__link:hover, .social__link:focus-visible {
    --mask-img-color: #ffffff;
    background-color: #004547; }
  .social__link.facebook {
    --mask-url: url(/dist/images/fb-icon-d8c249a8003a2f8899cc.svg); }
  .social__link.x {
    --mask-url: url(/dist/images/x-icon-bf54cca5d10dbc6a13aa.svg); }
  .social__link.email {
    --mask-url: url(/dist/images/mail-icon-d1284123e985bfc6421e.svg); }

.social__masked-img {
  mask-image: var(--mask-url);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: var(--mask-img-color);
  width: 15px;
  height: 15px;
  margin: 0 auto;
  transition: background-color 0.3s ease; }

.social__share-page {
  max-width: 1056px;
  margin: 0 auto; }

