@charset "UTF-8";
:root {
  --textHeading: var(--themeTitle, #333333);
  --textHeadingAccent: var(--themeTitleAccent, #000000);
  --text: var(--themeText, #333333);
}

:root {
  --black: #000000;
  --grayDark: #313131;
  --gray: #D9D9D9;
  --grayLight: #F5F5F5;
  --white: #FFFFFF;
  --error: #EE1D1D;
  --success: #2CDF3E;
  --ghostWhite: rgba(255,255,255,0.1);
  --ghostWhite5: rgba(255,255,255,0.5);
  --ghostBlack: rgba(0,0,0,0.1);
  --ghostBlack05: rgba(0,0,0,0.05);
  --ghostBlack2: rgba(0,0,0,0.2);
  --ghostBlack5: rgba(0,0,0,0.5);
  --text: var(--themeText, var(--black));
  --textHeading: var(--themeTitle, var(--black));
  --textHeadingAccent: var(--themeTitleAccent, var(--grayDark));
  --icon: var(--icon, var(--text));
}

:root {
  --blockMargin: 3rem;
  --blockPadding: 1.75rem;
  --gridGap: 1.75rem;
  --marginElement2Button: 2.25rem;
  --marginElement2Element: 1.25rem;
  --marginText2Button: 2.75em;
  --marginText2Element: 2.75em;
  --marginText2Text: 1em;
  --marginTitle2Button: 0.82em;
  --marginTitle2Element: 0.82em;
  --marginTitle2Text: 0.82em;
}
@media (min-width: 48em) {
  :root {
    --blockMargin: 3.5rem;
    --marginElement2Element: 1.5rem;
    --marginText2Button: 2.67em;
    --textMaxLineLength: 46rem;
  }
}
@media (min-width: 64em) {
  :root {
    --blockMargin: 4.5rem;
    --gridGap: 2rem;
    --marginElement2Button: 2.625rem;
    --marginElement2Element: 2rem;
    --marginText2Button: 2.7em;
    --marginText2Element: 2em;
    --marginTitle2Button: 0.74em;
    --marginTitle2Text: 0.74em;
  }
}
@media (min-width: 80em) {
  :root {
    --blockMargin: 6rem;
    --blockPadding: 2rem;
    --gridGap: 2.5rem;
    --marginElement2Button: 2.875rem;
    --marginElement2Element: 2.5rem;
    --marginText2Button: 2.75em;
    --marginText2Element: 2.2em;
    --marginTitle2Button: 0.625em;
    --marginTitle2Text: 0.6875em;
  }
}
@media (min-width: 90em) {
  :root {
    --blockMargin: 6.375rem;
    --blockPadding: 2.5rem;
    --marginElement2Button: 3.5rem;
    --marginText2Element: 2.7em;
    --marginTitle2Button: 0.75em;
    --marginTitle2Text: 0.75em;
  }
}
@media (min-width: 120em) {
  :root {
    --blockMargin: 8.5rem;
  }
}
@media (min-width: 160em) {
  :root {
    --blockMargin: 12.5rem;
  }
}

:root {
  --_block-spacing: var(--block-spacing_mobile, 4rem);
  --spacing-xxs: calc(var(--_block-spacing) * 0.03125);
  --spacing-xs: calc(var(--_block-spacing) * 0.0625);
  --spacing-s: calc(var(--_block-spacing) * 0.125);
  --spacing-m: calc(var(--_block-spacing) * 0.25);
  --spacing-l: calc(var(--_block-spacing) * 0.375);
  --spacing-xl: calc(var(--_block-spacing) * 0.5);
  --spacing-xxl: calc(var(--_block-spacing) * 0.75);
  --spacing-xxxl: calc(var(--_block-spacing) * 1);
}
@media (max-width: 47.99em) {
  :root {
    --blockPadding: min(8.75vw, 3.75rem);
  }
}
@media (min-width: 48em) {
  :root {
    --_block-spacing: var(--block-spacing_desktop, 8rem);
    --spacing-m: calc(var(--_block-spacing) * 0.1875);
    --spacing-l: calc(var(--_block-spacing) * 0.25);
    --spacing-xl: calc(var(--_block-spacing) * 0.375);
    --spacing-xxl: calc(var(--_block-spacing) * 0.5);
    --spacing-xxxl: calc(var(--_block-spacing) * 0.75);
  }
}

@font-face {
  font-display: optional;
  font-family: "Montserrat";
  font-style: normal;
  font-stretch: normal;
  font-weight: 200;
  src: url("/magiq-assets/fonts/montserrat/montserrat-extralight-200.woff2") format("woff2"), url("/magiq-assets/fonts/montserrat/montserrat-extralight-200.woff") format("woff"), url("/magiq-assets/fonts/montserrat/montserrat-extralight-200.otf") format("opentype");
}
@font-face {
  font-display: optional;
  font-family: "Montserrat";
  font-style: normal;
  font-stretch: normal;
  font-weight: 300;
  src: url("/magiq-assets/fonts/montserrat/montserrat-light-300.woff2") format("woff2"), url("/magiq-assets/fonts/montserrat/montserrat-light-300.woff") format("woff"), url("/magiq-assets/fonts/montserrat/montserrat-light-300.otf") format("opentype");
}
@font-face {
  font-display: optional;
  font-family: "Montserrat";
  font-style: normal;
  font-stretch: normal;
  font-weight: 500;
  src: url("/magiq-assets/fonts/montserrat/montserrat-medium-500.woff2") format("woff2"), url("/magiq-assets/fonts/montserrat/montserrat-medium-500.woff") format("woff"), url("/magiq-assets/fonts/montserrat/montserrat-medium-500.otf") format("opentype");
}
@font-face {
  font-display: optional;
  font-family: "Montserrat";
  font-style: normal;
  font-stretch: normal;
  font-weight: 700;
  src: url("/magiq-assets/fonts/montserrat/montserrat-bold-700.woff2") format("woff2"), url("/magiq-assets/fonts/montserrat/montserrat-bold-700.woff") format("woff"), url("/magiq-assets/fonts/montserrat/montserrat-bold-700.otf") format("opentype");
}
@font-face {
  font-display: optional;
  font-family: "Montserrat";
  font-style: normal;
  font-stretch: normal;
  font-weight: 800;
  src: url("/magiq-assets/fonts/montserrat/montserrat-extrabold-800.woff2") format("woff2"), url("/magiq-assets/fonts/montserrat/montserrat-extrabold-800.woff") format("woff"), url("/magiq-assets/fonts/montserrat/montserrat-extrabold-800.otf") format("opentype");
}
.style-default,
.style-light,
.style-dark,
.style-primary,
.style-secondary,
.style-tertiary {
  background: var(--themeBackground);
  color: var(--themeText);
}
.style-default p,
.style-light p,
.style-dark p,
.style-primary p,
.style-secondary p,
.style-tertiary p {
  color: var(--themeText);
}
.style-default h1, .style-default h2, .style-default h3, .style-default h4, .style-default h5, .style-default h6,
.style-light h1,
.style-light h2,
.style-light h3,
.style-light h4,
.style-light h5,
.style-light h6,
.style-dark h1,
.style-dark h2,
.style-dark h3,
.style-dark h4,
.style-dark h5,
.style-dark h6,
.style-primary h1,
.style-primary h2,
.style-primary h3,
.style-primary h4,
.style-primary h5,
.style-primary h6,
.style-secondary h1,
.style-secondary h2,
.style-secondary h3,
.style-secondary h4,
.style-secondary h5,
.style-secondary h6,
.style-tertiary h1,
.style-tertiary h2,
.style-tertiary h3,
.style-tertiary h4,
.style-tertiary h5,
.style-tertiary h6 {
  color: var(--themeTitle);
}
.style-default h1.accent, .style-default h2.accent, .style-default h3.accent, .style-default h4.accent, .style-default h5.accent, .style-default h6.accent,
.style-light h1.accent,
.style-light h2.accent,
.style-light h3.accent,
.style-light h4.accent,
.style-light h5.accent,
.style-light h6.accent,
.style-dark h1.accent,
.style-dark h2.accent,
.style-dark h3.accent,
.style-dark h4.accent,
.style-dark h5.accent,
.style-dark h6.accent,
.style-primary h1.accent,
.style-primary h2.accent,
.style-primary h3.accent,
.style-primary h4.accent,
.style-primary h5.accent,
.style-primary h6.accent,
.style-secondary h1.accent,
.style-secondary h2.accent,
.style-secondary h3.accent,
.style-secondary h4.accent,
.style-secondary h5.accent,
.style-secondary h6.accent,
.style-tertiary h1.accent,
.style-tertiary h2.accent,
.style-tertiary h3.accent,
.style-tertiary h4.accent,
.style-tertiary h5.accent,
.style-tertiary h6.accent {
  color: var(--themeTitleAccent);
}
.style-default svg.icon,
.style-light svg.icon,
.style-dark svg.icon,
.style-primary svg.icon,
.style-secondary svg.icon,
.style-tertiary svg.icon {
  fill: var(--icon, var(--themeIcon));
}

main picture {
  --_border-radius: var(--img-border-radius, 0);
  --object-fit: cover;
  --object-position: center;
  border-radius: var(--_border-radius);
  display: block;
  overflow: hidden;
  position: relative;
}
main picture img {
  height: 100%;
  width: 100%;
  -o-object-fit: var(--object-fit);
     object-fit: var(--object-fit);
  -o-object-position: var(--object-position);
     object-position: var(--object-position);
}
main picture.image--contain {
  --object-fit: contain;
}
main picture.image--cover {
  --object-fit: cover;
}
main picture.image--top-left {
  --object-position: top left;
}
main picture.image--top-right {
  --object-position: top right;
}
main picture.image--top-center {
  --object-position: top center;
}
main picture.image--center {
  --object-position: center;
}
main picture.image--center-left {
  --object-position: center left;
}
main picture.image--center-right {
  --object-position: center right;
}
main picture.image--bottom-center {
  --object-position: bottom center;
}
main picture.image--bottom-left {
  --object-position: bottom left;
}
main picture.image--bottom-right {
  --object-position: bottom right;
}

.stretched-link::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.pagination__button {
  --swiper-background-color: transparent;
  --swiper-border-color: transparent;
  --swiper-border-radius: 0;
  --swiper-icon-color: var(--themeText);
  align-items: center;
  background: var(--swiper-background-color, transparent);
  border: 1px solid var(--swiper-border-color, transparent);
  border-radius: var(--swiper-border-radius);
  color: var(--swiper-icon-color);
  cursor: pointer;
  display: inline-flex;
  height: auto;
  justify-content: center;
  margin: 0;
  padding: var(--swiper-nav-padding, 0.5rem);
  text-align: center;
  text-decoration: none;
  transition: all var(--transitionTime);
  width: auto;
}
.pagination__button svg.icon {
  backface-visibility: hidden;
  display: block;
  fill: var(--swiper-icon-color);
  height: var(--swiper-navigation-icon-size, 1.5rem);
  transform-style: preserve-3d;
  transition: all var(--transitionTime);
  width: var(--swiper-navigation-icon-size, 1.5rem);
  will-change: transform;
}
.pagination__button.swiper-button-next {
  margin-left: 0.5rem;
}
.pagination__button.swiper-button-prev {
  margin-right: 0.5rem;
}
.pagination__button--border {
  --swiper-border-color: var(--themeText);
}
.pagination__button--background {
  --swiper-background-color: var(--themeText);
  --swiper-icon-color: var(--themeBackground);
}
.pagination__button--border-radius {
  --swiper-border-radius: var(--button-border-radius, 1.75rem);
}
.pagination__button:last-child {
  margin-right: 0;
}
@media (hover: hover) and (hover: none) {
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus.pagination__button--background.pagination__button--border, .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus.pagination__button--background.pagination__button--border, .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus.pagination__button--background.pagination__button--border {
    --swiper-background-color: var(--themeBackground);
    --swiper-icon-color: var(--themeText);
  }
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus.pagination__button--border, .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus.pagination__button--border, .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus.pagination__button--border {
    --swiper-background-color: var(--themeText);
    --swiper-icon-color: var(--themeBackground) ;
  }
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus.pagination__button--background, .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus.pagination__button--background, .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus.pagination__button--background {
    --swiper-background-color: var(--themeBackground);
    --swiper-icon-color: var(--themeText);
  }
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus:not(.pagination__button--border):not(.pagination__button--background), .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus:not(.pagination__button--border):not(.pagination__button--background), .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus:not(.pagination__button--border):not(.pagination__button--background) {
    --swiper-icon-color: var(--themeTitleAccent);
  }
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus:not(.pagination__button--border):not(.pagination__button--background).swiper-button-next, .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus:not(.pagination__button--border):not(.pagination__button--background).swiper-button-next, .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus:not(.pagination__button--border):not(.pagination__button--background).swiper-button-next {
    transform: translateX(0.25rem);
  }
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus:not(.pagination__button--border):not(.pagination__button--background).swiper-button-prev, .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus:not(.pagination__button--border):not(.pagination__button--background).swiper-button-prev, .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):focus:not(.pagination__button--border):not(.pagination__button--background).swiper-button-prev {
    transform: translateX(-0.25rem);
  }
}
@media (hover: hover) and (hover: hover) {
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover.pagination__button--background.pagination__button--border, .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover.pagination__button--background.pagination__button--border, .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover.pagination__button--background.pagination__button--border {
    --swiper-background-color: var(--themeBackground);
    --swiper-icon-color: var(--themeText);
  }
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover.pagination__button--border, .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover.pagination__button--border, .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover.pagination__button--border {
    --swiper-background-color: var(--themeText);
    --swiper-icon-color: var(--themeBackground) ;
  }
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover.pagination__button--background, .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover.pagination__button--background, .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover.pagination__button--background {
    --swiper-background-color: var(--themeBackground);
    --swiper-icon-color: var(--themeText);
  }
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover:not(.pagination__button--border):not(.pagination__button--background), .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover:not(.pagination__button--border):not(.pagination__button--background), .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover:not(.pagination__button--border):not(.pagination__button--background) {
    --swiper-icon-color: var(--themeTitleAccent);
  }
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover:not(.pagination__button--border):not(.pagination__button--background).swiper-button-next, .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover:not(.pagination__button--border):not(.pagination__button--background).swiper-button-next, .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover:not(.pagination__button--border):not(.pagination__button--background).swiper-button-next {
    transform: translateX(0.25rem);
  }
  .pagination__buttona:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover:not(.pagination__button--border):not(.pagination__button--background).swiper-button-prev, .pagination__button.swiper-button-next:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover:not(.pagination__button--border):not(.pagination__button--background).swiper-button-prev, .pagination__button.swiper-button-prev:not(.disabled):not(:disabled):not(.swiper-button-disabled):hover:not(.pagination__button--border):not(.pagination__button--background).swiper-button-prev {
    transform: translateX(-0.25rem);
  }
}
.pagination__button.disabled, .pagination__button:disabled, .pagination__button.swiper-button-disabled {
  color: #D6D6D6;
  cursor: not-allowed;
  opacity: 0.35;
}

@view-transition {
  navigation: auto;
}
@keyframes move-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes move-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
::view-transition-old(root) {
  animation: 0.4s ease-in both move-out;
}

::view-transition-new(root) {
  animation: 0.4s ease-in both move-in;
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
  }
}
.fl {
  position: relative;
}
.fl [id].anchor {
  height: 0;
  position: absolute;
  top: calc(-1 * var(--header-height, 4.25rem));
  visibility: hidden;
}
@media (min-width: 48em) {
  .fl [id].anchor {
    top: calc(-1 * var(--header-height, 5.75rem));
  }
}

.fl-content--centered {
  text-align: center;
}
.fl-content--centered .fl-content__buttons {
  justify-content: center;
}
@media (min-width: 90em) {
  .fl-content__content.text-container:has(+ .btn-container) {
    margin-bottom: 2.5em;
  }
}

@media (min-width: 80em) {
  .fl.fl-narrow .container {
    max-width: 56.25rem;
  }
}

.fl-vertspace + .fl.fl-vertspace {
  padding-top: 0;
}
.fl.fl-vertspace-half {
  padding-bottom: calc(var(--blockMargin) / 2);
  padding-top: calc(var(--blockMargin) / 2);
}
.fl.fl-vertspace-default {
  padding-bottom: var(--blockMargin);
  padding-top: var(--blockMargin);
}
.fl.fl-vertspace-large {
  padding-bottom: calc(var(--blockMargin) * 2);
  padding-top: calc(var(--blockMargin) * 2);
}
.fl.fl--no-spacing-top {
  padding-top: 0;
}
.fl.fl--no-spacing-bottom {
  padding-bottom: 0;
}

:root {
  --grid-gutter: 2rem;
}

.grid {
  --grid-columns: 1;
  display: grid;
  grid-gap: var(--grid-gutter);
  grid-template-columns: repeat(var(--grid-columns), 1fr);
}
@media (min-width: 48em) {
  .grid {
    --grid-columns: 2;
  }
}

.basicblock {
  position: relative;
}
.basicblock__intro {
  margin: 0 0 2rem;
}
.basicblock__buttons,
.basicblock .basicblock__slider + .btn {
  margin-top: var(--marginElement2Button);
}

.blocks-grid {
  display: grid;
  grid-gap: var(--gridGap);
  margin: 0;
}
@media (min-width: 36em) {
  .blocks-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 80em) {
  .blocks-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.block {
  background: var(--themeBackground, #FFFFFF);
  color: var(--themeText, #333333);
  padding: var(--blockPadding);
  transition: all var(--transitionTime) ease-in-out;
}
.block p:last-child {
  margin-bottom: 0;
}
.blocks5050 .block {
  box-shadow: none;
}
@media (hover: none) {
  .block[href]:focus {
    box-shadow: 1px 1px 0.25rem rgba(0, 0, 0, 0.1);
  }
}
@media (hover: hover) {
  .block[href]:hover {
    box-shadow: 1px 1px 0.25rem rgba(0, 0, 0, 0.1);
  }
}

.blogs__grid {
  display: grid;
  grid-gap: var(--gridGap);
  margin-bottom: var(--marginElement2Button);
}
.blogs__blog {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  padding: var(--blockPadding);
  position: relative;
  text-decoration: none;
}
.swiper-slide .blogs__blog {
  display: flex;
}
.blogs__blog__visual {
  display: block;
  width: 100%;
}
.blogs__blog__visual picture {
  aspect-ratio: 16/13;
  display: block;
  margin: 0 0 var(--blockPadding);
  overflow: hidden;
  position: relative;
}
.blogs__blog__visual picture img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  transition: var(--transitionTime) all;
}
.blogs__blog__visual picture::after {
  background: linear-gradient(to bottom, color-mix(in srgb, var(--black), transparent 100%) 0%, color-mix(in srgb, var(--black), transparent 50%) 100%);
  content: "";
  height: 140%;
  inset: 0;
  opacity: 0;
  position: absolute;
  transition: var(--transitionTime) all;
  z-index: 1;
}
.blogs__blog__visual .blogs__blog__categories {
  inset: 1rem auto auto 1rem;
  position: absolute;
}
.blogs__blog__title {
  font-weight: 700;
  margin: 0 0 1em;
  position: relative;
  text-decoration: none;
  transition: all var(--transitionTime) ease-in-out;
}
.blogs__blog__intro {
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 3;
  margin-bottom: 1rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* number of lines to show */
}
.blogs__blog__more {
  margin-top: auto;
}
@media (hover: none) {
  .blogs__blog:focus .blogs__blog__visual picture img {
    transform: scale(1.02);
  }
  .blogs__blog:focus .blogs__blog__visual picture::after {
    opacity: 1;
    transform: translateY(-20%);
  }
  .blogs__blog:focus .blogs__blog__more {
    color: var(--_color);
    background: var(--_text-color);
    border-color: var(--_text-color);
  }
}
@media (hover: hover) {
  .blogs__blog:hover .blogs__blog__visual picture img {
    transform: scale(1.02);
  }
  .blogs__blog:hover .blogs__blog__visual picture::after {
    opacity: 1;
    transform: translateY(-20%);
  }
  .blogs__blog:hover .blogs__blog__more {
    color: var(--_color);
    background: var(--_text-color);
    border-color: var(--_text-color);
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  .blogs--promo:not(.blogs--promo--grid_priority) .blogs__blog:nth-child(3) {
    display: none;
  }
}
@media (min-width: 48em) {
  .blogs__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 64em) {
  .blogs__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.imageblock {
  align-items: stretch;
  aspect-ratio: 1/1;
  background-color: var(--themeBackground, #FFFFFF);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.imageblock.swiper-slide { /* safari fixes */
  display: flex;
  height: 100% !important;
}
.imageblock picture {
  overflow: hidden;
  position: relative;
  transition: all 350ms ease-in-out;
}
.imageblock picture img {
  filter: brightness(80%);
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 350ms ease-in-out;
  width: 100%;
}
.imageblock picture .icon {
  color: var(--themeIcon, var(--theme-primary, #000000));
  fill: var(--themeIcon, var(--theme-primary, #000000));
  height: 5rem;
  margin: var(--blockPadding) 0 auto var(--blockPadding);
  width: 5rem;
}
.imageblock picture.image.imageblock__icon {
  display: inline-flex;
  justify-items: flex-start;
  max-width: 75%;
  overflow: hidden;
  width: auto;
}
.imageblock picture.image.imageblock__icon img {
  display: block;
  height: 100%;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: auto;
}
.imageblock__icon {
  color: var(--themeIcon, var(--theme-primary, #000000));
  fill: var(--themeIcon, var(--theme-primary, #000000));
  height: 3rem;
  margin: auto 0 var(--marginElement2Element, 1em) 0;
  transition: all var(--transitionTime) ease-in-out;
  width: 3rem;
}
.imageblock__content {
  --_text: var(--white);
  bottom: var(--blockPadding);
  display: flex;
  flex-direction: column;
  left: var(--blockPadding);
  margin: auto 0 0;
  position: absolute;
  right: var(--blockPadding);
  text-shadow: 0 0 0.25rem #000000;
}
.imageblock__content__title {
  color: var(--_text);
  font-weight: 700;
  margin: 0 0 0.625em;
  position: relative;
  text-decoration: none;
  transition: all var(--transitionTime) ease-in-out;
}
.imageblock__content__intro {
  color: var(--_text);
  display: -webkit-box;
  line-clamp: 3;
  margin-bottom: 1rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* number of lines to show */
}
.imageblock__content__more {
  align-items: center;
  color: var(--_text);
  display: inline-flex;
  font-size: 1.125rem;
  font-weight: 700;
  text-shadow: 0 0 0.125rem rgba(0, 0, 0, 0.5);
  transition: all var(--transitionTime) ease-in-out;
}
.imageblock__content__more:first-child {
  align-items: flex-start;
}
.imageblock__content__more .icon {
  color: var(--_text);
  fill: var(--_text);
  height: 1rem;
  margin: 0 0 0 0.5rem;
  transition: all var(--transitionTime) ease-in-out;
  width: 1rem;
}
.imageblock__content__more .icon:first-child {
  margin: 0.4125rem 0.5rem 0 -0.25rem;
}
.imageblock--has-icon {
  transition: all 350ms ease-in-out;
}
.imageblock--has-icon .imageblock__content {
  --_text: var(--themeText);
  text-shadow: none;
  transition: all 350ms ease-in-out;
}
.imageblock--has-icon .imageblock__content .imageblock__content__more {
  text-shadow: none;
}
.imageblock--has-icon .imageblock__content .imageblock__content__more .icon {
  transition: all 350ms ease-in-out;
}
@media (hover: none) {
  .imageblock[href]:focus picture img {
    filter: brightness(60%);
  }
  .imageblock[href]:focus.imageblock--has-icon {
    filter: brightness(110%);
  }
  .imageblock[href]:focus.imageblock--has-icon .imageblock__content .icon {
    color: color-mix(in srgb, var(--theme-accent-on-background, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
    fill: color-mix(in srgb, var(--theme-accent-on-background, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
  }
  .imageblock[href]:focus.imageblock--has-icon .imageblock__content .imageblock__content__more .icon {
    transform: translateX(0.125rem);
  }
  .imageblock[href]:focus.imageblock--has-icon .imageblock__content .imageblock__content__title,
  .imageblock[href]:focus.imageblock--has-icon .imageblock__content .imageblock__content__more {
    color: var(--themeTitle, #333333);
  }
}
@media (hover: hover) {
  .imageblock[href]:hover picture img {
    filter: brightness(60%);
  }
  .imageblock[href]:hover.imageblock--has-icon {
    filter: brightness(110%);
  }
  .imageblock[href]:hover.imageblock--has-icon .imageblock__content .icon {
    color: color-mix(in srgb, var(--theme-accent-on-background, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
    fill: color-mix(in srgb, var(--theme-accent-on-background, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
  }
  .imageblock[href]:hover.imageblock--has-icon .imageblock__content .imageblock__content__more .icon {
    transform: translateX(0.125rem);
  }
  .imageblock[href]:hover.imageblock--has-icon .imageblock__content .imageblock__content__title,
  .imageblock[href]:hover.imageblock--has-icon .imageblock__content .imageblock__content__more {
    color: var(--themeTitle, #333333);
  }
}
@media (min-width: 48em) {
  .imageblock__icon {
    height: 4rem;
    width: 4rem;
  }
  .imageblock__content__title {
    font-size: 1.5rem;
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  .imageblock__title {
    word-break: keep-all;
  }
}
@media (min-width: 64em) {
  .imageblock {
    align-self: stretch;
    height: 100%;
  }
}
@media (min-width: 80em) {
  .imageblock--large {
    aspect-ratio: 3/2;
  }
  .imageblock picture .icon {
    height: 6rem;
    width: 6rem;
  }
}

.imageblock {
  aspect-ratio: 3/2;
}

.jobs {
  display: flex;
  flex-direction: column;
  gap: min(8.75vw, 3.75rem);
}
.jobs .job {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}
.jobs .job picture {
  margin: 0 0 var(--spacing-l);
}
.jobs .job .job__title:has(+ .job__hours) {
  margin-bottom: var(--spacing-xxs);
}
.jobs .job .job__content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.jobs .job .job__intro {
  margin-bottom: var(--spacing-l);
}
.jobs .job .btn-container {
  justify-self: flex-end;
  margin-top: auto;
}
@media (min-width: 48em) {
  .jobs {
    display: grid;
    grid-gap: var(--gridGap);
    grid-template-columns: repeat(2, 1fr);
  }
}

.newsletter__form {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}
.newsletter__form .form__field {
  margin: 0.5rem 0;
  width: 100%;
}

.pagination {
  align-items: center;
  display: flex;
  flex-direction: row;
  font-size: 1.125rem;
  justify-content: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.swiper .pagination, .videos__slider .pagination, .services-promo__slider .pagination, .services-promo__slider--tall .pagination, .reviews__swiper .pagination {
  display: none;
  z-index: 1;
}
.swiper .pagination .pagination__progress, .videos__slider .pagination .pagination__progress, .services-promo__slider .pagination .pagination__progress, .services-promo__slider--tall .pagination .pagination__progress, .reviews__swiper .pagination .pagination__progress {
  background: none;
  bottom: auto;
  color: var(--theme-text);
  display: none;
  font-size: 0.75rem;
  height: var(--button-height);
  justify-self: flex-end;
  left: auto;
  line-height: var(--button-height);
  margin: 0;
  position: relative;
  text-align: center;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
  top: auto;
  width: 3rem;
}
.swiper-initialized .pagination {
  display: flex;
}
@media (hover: none) and (pointer: coarse) {
  .swiper-initialized .pagination {
    display: none;
  }
}
@media (max-width: 47.99em) {
  .swiper-initialized .pagination {
    display: none;
  }
}
.pagination__summary {
  display: block;
  line-height: 2rem;
  margin: 0 1rem;
}

.project {
  --content-padding: var(--grid-gutter);
  --image-ratio: 3 / 2;
  --picture-gradient-color: var(--black);
  border-radius: var(--img-border-radius);
  height: 100%;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}
.project::after {
  background: linear-gradient(to bottom, color-mix(in srgb, var(--picture-gradient-color), transparent 100%) 0%, color-mix(in srgb, var(--picture-gradient-color), transparent 50%) 100%);
  content: "";
  height: 140%;
  inset: 0;
  opacity: 1;
  position: absolute;
  transition: var(--transitionTime) all;
}
.project picture {
  aspect-ratio: var(--image-ratio);
  display: block;
  height: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.project picture img {
  backface-visibility: hidden;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transform-style: preserve-3d;
  transition: var(--transitionTime) all;
  width: 100%;
  will-change: transform;
  border-radius: 0;
}
.project__content {
  --_color: var(--white);
  bottom: 0;
  color: var(--_color);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  left: 0;
  padding: var(--blockPadding);
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
.project__content__title {
  color: var(--_color);
  margin: 0;
}
.project__image {
  aspect-ratio: 3/2;
}

.grecaptcha-badge {
  visibility: hidden !important;
}

.row-controls {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  gap: var(--blockPadding);
  justify-content: space-between;
  margin-top: var(--marginText2Button);
}
@media (max-width: 47.99em) {
  .row-controls:has(.pagination) {
    flex-direction: row;
  }
}

.skip-link {
  background: #000000;
  color: #FFFFFF;
  left: 0;
  padding: 1rem;
  position: absolute;
  top: -6rem;
  z-index: 100;
}
.skip-link:focus {
  top: 0;
}

.social-media {
  --_color: var(--color, var(--text));
  --_color-focus: var(--color-focus, var(--secondary));
  --_color-hover: var(--color-hover, var(--primary));
  display: flex;
  margin: 0;
  position: relative;
}
.social-media li {
  margin: 0 1.125rem 0 0;
}
.social-media li a {
  align-items: center;
  color: var(--_color);
  display: flex;
  justify-content: center;
  height: 1.5rem;
  transition: background-color var(--transitionTime) ease-in-out;
  width: 1.5rem;
}
.social-media li a .icon {
  fill: var(--_color);
  height: 100%;
  transition: color var(--transitionTime) ease-in-out;
  width: 100%;
}
.social-media li a:hover {
  color: var(--_color-hover);
}
.social-media li a:focus {
  color: var(--_color-focus);
}

.swiper, .videos__slider, .services-promo__slider, .services-promo__slider--tall, .reviews__swiper {
  width: 100%;
  z-index: 0 !important;
}
.swiper.continuous, .continuous.videos__slider, .continuous.services-promo__slider, .continuous.services-promo__slider--tall, .continuous.reviews__swiper {
  transition-timing-function: linear;
}
.swiper.swiper-horizontal, .swiper-horizontal.videos__slider, .swiper-horizontal.services-promo__slider, .swiper-horizontal.services-promo__slider--tall, .swiper-horizontal.reviews__swiper {
  overflow: visible;
}
@media (hover: hover) {
  .swiper.swiper-horizontal:last-child:has(.pagination):not(.album__items), .swiper-horizontal.videos__slider:last-child:has(.pagination):not(.album__items), .swiper-horizontal.services-promo__slider:last-child:has(.pagination):not(.album__items), .swiper-horizontal.services-promo__slider--tall:last-child:has(.pagination):not(.album__items), .swiper-horizontal.reviews__swiper:last-child:has(.pagination):not(.album__items) {
    margin-bottom: calc(var(--marginElement2Button) + var(--button-height));
  }
}
.swiper.imageslideshow, .imageslideshow.videos__slider, .imageslideshow.services-promo__slider, .imageslideshow.services-promo__slider--tall, .imageslideshow.reviews__swiper {
  overflow: hidden;
  position: relative;
}
.swiper.imageslideshow .pagination, .imageslideshow.videos__slider .pagination, .imageslideshow.services-promo__slider .pagination, .imageslideshow.services-promo__slider--tall .pagination, .imageslideshow.reviews__swiper .pagination {
  bottom: 1rem;
  display: flex;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}
.swiper.imageslideshow .pagination .pagination__button.swiper-button-next, .imageslideshow.videos__slider .pagination .pagination__button.swiper-button-next, .imageslideshow.services-promo__slider .pagination .pagination__button.swiper-button-next, .imageslideshow.services-promo__slider--tall .pagination .pagination__button.swiper-button-next, .imageslideshow.reviews__swiper .pagination .pagination__button.swiper-button-next,
.swiper.imageslideshow .pagination .pagination__button.swiper-button-prev,
.imageslideshow.videos__slider .pagination .pagination__button.swiper-button-prev,
.imageslideshow.services-promo__slider .pagination .pagination__button.swiper-button-prev,
.imageslideshow.services-promo__slider--tall .pagination .pagination__button.swiper-button-prev,
.imageslideshow.reviews__swiper .pagination .pagination__button.swiper-button-prev {
  background: var(--themeButtonBackground, #000000);
  border-radius: 50%;
  color: var(--themeButtonText, #FFFFFF);
  height: 2rem;
  padding: 0;
  width: 2rem;
}
.swiper.imageslideshow .pagination .pagination__button.swiper-button-next .icon, .imageslideshow.videos__slider .pagination .pagination__button.swiper-button-next .icon, .imageslideshow.services-promo__slider .pagination .pagination__button.swiper-button-next .icon, .imageslideshow.services-promo__slider--tall .pagination .pagination__button.swiper-button-next .icon, .imageslideshow.reviews__swiper .pagination .pagination__button.swiper-button-next .icon,
.swiper.imageslideshow .pagination .pagination__button.swiper-button-prev .icon,
.imageslideshow.videos__slider .pagination .pagination__button.swiper-button-prev .icon,
.imageslideshow.services-promo__slider .pagination .pagination__button.swiper-button-prev .icon,
.imageslideshow.services-promo__slider--tall .pagination .pagination__button.swiper-button-prev .icon,
.imageslideshow.reviews__swiper .pagination .pagination__button.swiper-button-prev .icon {
  color: var(--themeButtonText, #FFFFFF);
  fill: var(--themeButtonText, #FFFFFF);
}
@media (hover: none) {
  .swiper.imageslideshow .pagination .pagination__button.swiper-button-next:not(:disabled):not(.swiper-button-disabled):focus, .imageslideshow.videos__slider .pagination .pagination__button.swiper-button-next:not(:disabled):not(.swiper-button-disabled):focus, .imageslideshow.services-promo__slider .pagination .pagination__button.swiper-button-next:not(:disabled):not(.swiper-button-disabled):focus, .imageslideshow.services-promo__slider--tall .pagination .pagination__button.swiper-button-next:not(:disabled):not(.swiper-button-disabled):focus, .imageslideshow.reviews__swiper .pagination .pagination__button.swiper-button-next:not(:disabled):not(.swiper-button-disabled):focus,
  .swiper.imageslideshow .pagination .pagination__button.swiper-button-prev:not(:disabled):not(.swiper-button-disabled):focus,
  .imageslideshow.videos__slider .pagination .pagination__button.swiper-button-prev:not(:disabled):not(.swiper-button-disabled):focus,
  .imageslideshow.services-promo__slider .pagination .pagination__button.swiper-button-prev:not(:disabled):not(.swiper-button-disabled):focus,
  .imageslideshow.services-promo__slider--tall .pagination .pagination__button.swiper-button-prev:not(:disabled):not(.swiper-button-disabled):focus,
  .imageslideshow.reviews__swiper .pagination .pagination__button.swiper-button-prev:not(:disabled):not(.swiper-button-disabled):focus {
    background: color-mix(in srgb, var(--themeButtonBackground, #000000), var(--themeButtonText, #FFFFFF) 30%);
    transform: none !important;
  }
}
@media (hover: hover) {
  .swiper.imageslideshow .pagination .pagination__button.swiper-button-next:not(:disabled):not(.swiper-button-disabled):hover, .imageslideshow.videos__slider .pagination .pagination__button.swiper-button-next:not(:disabled):not(.swiper-button-disabled):hover, .imageslideshow.services-promo__slider .pagination .pagination__button.swiper-button-next:not(:disabled):not(.swiper-button-disabled):hover, .imageslideshow.services-promo__slider--tall .pagination .pagination__button.swiper-button-next:not(:disabled):not(.swiper-button-disabled):hover, .imageslideshow.reviews__swiper .pagination .pagination__button.swiper-button-next:not(:disabled):not(.swiper-button-disabled):hover,
  .swiper.imageslideshow .pagination .pagination__button.swiper-button-prev:not(:disabled):not(.swiper-button-disabled):hover,
  .imageslideshow.videos__slider .pagination .pagination__button.swiper-button-prev:not(:disabled):not(.swiper-button-disabled):hover,
  .imageslideshow.services-promo__slider .pagination .pagination__button.swiper-button-prev:not(:disabled):not(.swiper-button-disabled):hover,
  .imageslideshow.services-promo__slider--tall .pagination .pagination__button.swiper-button-prev:not(:disabled):not(.swiper-button-disabled):hover,
  .imageslideshow.reviews__swiper .pagination .pagination__button.swiper-button-prev:not(:disabled):not(.swiper-button-disabled):hover {
    background: color-mix(in srgb, var(--themeButtonBackground, #000000), var(--themeButtonText, #FFFFFF) 30%);
    transform: none !important;
  }
}
.swiper-wrapper {
  align-items: stretch;
}
.swiper-wrapper .swiper-slide {
  height: auto;
}
.swiper .pagination, .videos__slider .pagination, .services-promo__slider .pagination, .services-promo__slider--tall .pagination, .reviews__swiper .pagination {
  justify-content: flex-end;
}
.swiper .swiper-pagination, .videos__slider .swiper-pagination, .services-promo__slider .swiper-pagination, .services-promo__slider--tall .swiper-pagination, .reviews__swiper .swiper-pagination {
  bottom: auto;
  left: auto;
  position: relative;
  text-align: right;
  top: auto;
}
.swiper .swiper-pagination .swiper-pagination-bullet, .videos__slider .swiper-pagination .swiper-pagination-bullet, .services-promo__slider .swiper-pagination .swiper-pagination-bullet, .services-promo__slider--tall .swiper-pagination .swiper-pagination-bullet, .reviews__swiper .swiper-pagination .swiper-pagination-bullet {
  background: none;
  border-radius: 0;
  height: 1rem;
  width: 1rem;
}
.swiper .swiper-button-disabled:has(+ .swiper-button-disabled), .videos__slider .swiper-button-disabled:has(+ .swiper-button-disabled), .services-promo__slider .swiper-button-disabled:has(+ .swiper-button-disabled), .services-promo__slider--tall .swiper-button-disabled:has(+ .swiper-button-disabled), .reviews__swiper .swiper-button-disabled:has(+ .swiper-button-disabled),
.swiper .swiper-button-disabled:has(+ .swiper-pagination-progress + .swiper-button-disabled),
.videos__slider .swiper-button-disabled:has(+ .swiper-pagination-progress + .swiper-button-disabled),
.services-promo__slider .swiper-button-disabled:has(+ .swiper-pagination-progress + .swiper-button-disabled),
.services-promo__slider--tall .swiper-button-disabled:has(+ .swiper-pagination-progress + .swiper-button-disabled),
.reviews__swiper .swiper-button-disabled:has(+ .swiper-pagination-progress + .swiper-button-disabled),
.swiper .swiper-button-disabled + .swiper-button-disabled,
.videos__slider .swiper-button-disabled + .swiper-button-disabled,
.services-promo__slider .swiper-button-disabled + .swiper-button-disabled,
.services-promo__slider--tall .swiper-button-disabled + .swiper-button-disabled,
.reviews__swiper .swiper-button-disabled + .swiper-button-disabled,
.swiper .swiper-button-disabled + .swiper-pagination-progress + .swiper-button-disabled,
.videos__slider .swiper-button-disabled + .swiper-pagination-progress + .swiper-button-disabled,
.services-promo__slider .swiper-button-disabled + .swiper-pagination-progress + .swiper-button-disabled,
.services-promo__slider--tall .swiper-button-disabled + .swiper-pagination-progress + .swiper-button-disabled,
.reviews__swiper .swiper-button-disabled + .swiper-pagination-progress + .swiper-button-disabled {
  display: none;
}

.blocks5050__grid {
  display: flex;
  flex-direction: column;
}
.blocks5050__block {
  --_border-radius: var(--img-border-radius, 0);
  background: none;
  box-shadow: none !important;
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
}
.blocks5050__block__visual {
  background: #FFFFFF;
  display: flex;
  height: 66.6vw;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.blocks5050__block__visual--has-icon {
  flex-grow: 1;
}
.blocks5050__block__visual img {
  min-height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
.blocks5050__block__visual .plyr {
  aspect-ratio: 16/9;
  height: 100%;
  width: 100%;
}
.blocks5050__block__visual__icon {
  background: var(--theme-secondary-ghost10);
  color: var(--themeIcon, var(--theme-primary, #000000));
  fill: var(--themeIcon, var(--theme-primary, #000000));
  height: 100%;
  margin: 0 0 var(--marginElement2Text, 1em);
  padding: calc(2 * var(--blockPadding));
  position: absolute;
  width: 100%;
}
.blocks5050__block--video .blocks5050__block__visual {
  aspect-ratio: 16/9;
}
.blocks5050__block__content {
  background: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.blocks5050__block__content > * {
  position: relative;
}
.blocks5050__block__content::before {
  background: var(--themeBackground);
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.blocks5050__block__content table {
  word-break: keep-all;
}
.blocks5050__block__content table td, .blocks5050__block__content table th {
  vertical-align: top;
}
.blocks5050__block__content__text:has(+ .blocks5050__block__content__more) {
  margin-bottom: var(--marginText2Text);
}
.blocks5050__block__content__more {
  align-items: center;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
}
.blocks5050__block__content__more .icon {
  color: var(--themeIcon, var(--theme-primary, #000000));
  height: 1rem;
  margin: 0 0 0 0.5rem;
  transition: all var(--transitionTime) ease-in-out;
  width: 1rem;
}
@media (hover: none) {
  .blocks5050__block__content__more:focus {
    text-decoration: underline;
  }
  .blocks5050__block__content__more:focus .icon {
    transform: translateX(0.25rem);
  }
}
@media (hover: hover) {
  .blocks5050__block__content__more:hover {
    text-decoration: underline;
  }
  .blocks5050__block__content__more:hover .icon {
    transform: translateX(0.25rem);
  }
}
@media (max-width: 23.3759em) {
  .blocks5050__content table td, .blocks5050__content table th {
    display: block;
  }
  .blocks5050__content table td {
    padding-bottom: 0.5em;
  }
  .blocks5050__content table th {
    font-weight: 500;
  }
  .blocks5050__content table tr:last-child td {
    padding-bottom: 0;
  }
}
@media (max-width: 47.99em) {
  .blocks5050__grid {
    margin-left: calc(min(8.75vw, 3.75rem) * -1);
    margin-right: calc(min(8.75vw, 3.75rem) * -1);
  }
  .blocks5050__block__content {
    border-left: none;
    border-right: none;
  }
  .blocks5050__block__content::before {
    border-radius: 0 0 var(--_border-radius) var(--_border-radius);
  }
  .blocks5050__block__visual {
    border-radius: var(--_border-radius) var(--_border-radius) 0 0;
  }
  .blocks5050__block--samestyle .blocks5050__block__visual {
    border-radius: var(--_border-radius);
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  .blocks5050__block__content table td, .blocks5050__block__content table th {
    display: block;
  }
  .blocks5050__block__content table td {
    padding-bottom: 0.5em;
  }
  .blocks5050__block__content table tr:last-child td {
    padding-bottom: 0;
  }
}
@media (min-width: 48em) {
  .blocks5050__grid {
    display: grid;
  }
  .blocks5050__block {
    flex-direction: row;
  }
  .blocks5050__block__visual {
    aspect-ratio: 3/2;
    height: auto;
    width: 50%;
  }
  .blocks5050__block__visual__icon {
    height: 100%;
    margin: 0;
    padding: calc(3 * var(--blockPadding));
    width: 100%;
  }
  .blocks5050__block__content {
    padding: var(--spacing-xxl);
    width: 50%;
  }
  .blocks5050__block--left .blocks5050__block__visual {
    border-radius: var(--_border-radius) 0 0 var(--_border-radius);
  }
  .blocks5050__block--left .blocks5050__block__content::before {
    border-radius: 0 var(--_border-radius) var(--_border-radius) 0;
  }
  .blocks5050__block--right {
    flex-direction: row-reverse;
  }
  .blocks5050__block--right .blocks5050__block__visual {
    border-radius: 0 var(--_border-radius) var(--_border-radius) 0;
  }
  .blocks5050__block--right .blocks5050__block__content::before {
    border-radius: var(--_border-radius) 0 0 var(--_border-radius);
  }
  .blocks5050__block--samestyle::before {
    display: none;
  }
  .blocks5050__block--samestyle .blocks5050__block__visual {
    border-radius: var(--_border-radius);
  }
  .blocks5050__block--samestyle.blocks5050__block--left .blocks5050__block__content {
    padding-right: 0;
  }
  .blocks5050__block--samestyle.blocks5050__block--right .blocks5050__block__content {
    padding-left: 0;
  }
  .blocks5050--imagescover .blocks5050__block__visual {
    aspect-ratio: initial;
    border-radius: 0;
    bottom: 0;
    position: absolute;
    top: 0;
    width: 50vw;
  }
  .blocks5050--imagescover .blocks5050__block:has(picture) {
    padding: 0;
  }
  .blocks5050--imagescover .blocks5050__block .blocks5050__block__content {
    width: 100%;
  }
  .blocks5050--imagescover .blocks5050__block .blocks5050__block__content::before {
    left: -50vw;
    right: -50vw;
  }
  .blocks5050--imagescover .blocks5050__block.blocks5050__block--left {
    padding-left: 50%;
  }
  .blocks5050--imagescover .blocks5050__block.blocks5050__block--left .blocks5050__block__content {
    padding-right: 0;
  }
  .blocks5050--imagescover .blocks5050__block.blocks5050__block--left .blocks5050__block__visual {
    right: 50%;
  }
  .blocks5050--imagescover .blocks5050__block.blocks5050__block--right {
    padding-right: 50%;
  }
  .blocks5050--imagescover .blocks5050__block.blocks5050__block--right .blocks5050__block__content {
    padding-left: 0;
  }
  .blocks5050--imagescover .blocks5050__block.blocks5050__block--right .blocks5050__block__visual {
    left: 50%;
  }
}
@media (min-width: 80em) {
  .blocks5050__block__visual__icon {
    padding: 3.75rem;
  }
}
@media (min-width: 90em) {
  .blocks5050__block__visual__icon {
    padding: 5rem;
  }
  .blocks5050__block__content__text.text-container:has(+ .btn-container) {
    margin-bottom: 2.75em;
  }
}

.brands__brand.swiper-slide {
  width: auto;
}
.brands__brand.swiper-slide picture {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  margin: 0 auto;
  max-width: 15rem;
  transition: filter var(--transitionTime) ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.brands__brand.swiper-slide picture .brands__brand__svg {
  height: 100%;
  width: 100%;
}
.brands__brand.swiper-slide[href] {
  cursor: pointer;
}
@media (hover: none) {
  .brands__brand.swiper-slide[href]:focus picture {
    filter: opacity(0.75);
  }
}
@media (hover: hover) {
  .brands__brand.swiper-slide[href]:hover picture {
    filter: opacity(0.75);
  }
}
.brands--black-white .brands__brand.swiper-slide picture {
  filter: grayscale(1) opacity(0.5);
}
@media (hover: none) {
  .brands--black-white .brands__brand.swiper-slide[href]:focus picture {
    filter: none;
  }
}
@media (hover: hover) {
  .brands--black-white .brands__brand.swiper-slide[href]:hover picture {
    filter: none;
  }
}

.clickblocks .container {
  display: flex;
  flex-direction: column;
}
.clickblocks__content {
  margin: 0 0 1rem;
}
.clickblocks__blocks {
  display: grid;
  grid-gap: var(--gridGap);
}
.clickblocks__blocks__block {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-decoration: none;
  transition: var(--transitionTime) ease-in-out all;
}
.clickblocks__blocks__block.swiper-slide {
  display: flex;
}
.clickblocks__blocks__block__title {
  transition: all var(--transitionTime) ease-in-out;
}
.clickblocks__blocks__block__icon {
  color: var(--themeIcon, var(--theme-primary, #000000));
  fill: var(--themeIcon, var(--theme-primary, #000000));
  height: 3rem;
  margin: 0 0 var(--marginElement2Element, 1em);
  transition: all var(--transitionTime) ease-in-out;
  width: 3rem;
}
.clickblocks__blocks__block__icon.image {
  display: inline-flex;
  overflow: hidden;
  width: 100%;
}
.clickblocks__blocks__block__icon.image img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
.clickblocks__blocks__block__image {
  display: block;
  margin: 0 0 1rem;
}
.clickblocks__blocks__block__image img {
  transition: all var(--transitionTime) ease-in-out;
}
.clickblocks__blocks__block__more {
  align-items: center;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  margin-top: auto;
}
.clickblocks__blocks__block__more .icon {
  color: var(--themeIcon, var(--theme-primary, #000000));
  fill: var(--themeIcon, var(--theme-primary, #000000));
  height: 1rem;
  margin: 1px 0 0 0.25rem;
  transition: all var(--transitionTime) ease-in-out;
  width: 1rem;
}
.clickblocks__blocks__block.clickblocks__blocks__block--with-image {
  display: flex;
  flex-direction: column;
}
.clickblocks__blocks__block.clickblocks__blocks__block--with-image .clickblocks__blocks__block__more .icon {
  color: #FFFFFF;
}
.clickblocks__blocks__block.clickblocks__blocks__block--with-image .clickblocks__blocks__block__title {
  margin-bottom: var(--marginTitle2Element);
}
@media (hover: none) {
  .clickblocks__blocks__block:focus .clickblocks__blocks__block__image img {
    filter: brightness(80%);
  }
  .clickblocks__blocks__block:focus .clickblocks__blocks__block__icon {
    color: color-mix(in srgb, var(--themeIcon, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
    fill: color-mix(in srgb, var(--themeIcon, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
  }
  .clickblocks__blocks__block:focus .clickblocks__blocks__block__title {
    color: color-mix(in srgb, var(--themeText, #333333), var(--themeIcon, var(--theme-primary, #000000)) 50%);
  }
  .clickblocks__blocks__block:focus .clickblocks__blocks__block__more .icon {
    color: color-mix(in srgb, var(--themeIcon, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
    fill: color-mix(in srgb, var(--themeIcon, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
    transform: translateX(0.125rem);
  }
}
@media (hover: hover) {
  .clickblocks__blocks__block:hover .clickblocks__blocks__block__image img {
    filter: brightness(80%);
  }
  .clickblocks__blocks__block:hover .clickblocks__blocks__block__icon {
    color: color-mix(in srgb, var(--themeIcon, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
    fill: color-mix(in srgb, var(--themeIcon, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
  }
  .clickblocks__blocks__block:hover .clickblocks__blocks__block__title {
    color: color-mix(in srgb, var(--themeText, #333333), var(--themeIcon, var(--theme-primary, #000000)) 50%);
  }
  .clickblocks__blocks__block:hover .clickblocks__blocks__block__more .icon {
    color: color-mix(in srgb, var(--themeIcon, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
    fill: color-mix(in srgb, var(--themeIcon, var(--theme-primary, #000000)), var(--themeText, #333333) 50%);
    transform: translateX(0.125rem);
  }
}
.clickblocks__blocks:has(.clickblocks__blocks__block__icon) .clickblocks__blocks__block:not(:has(> .clickblocks__blocks__block__icon))::before {
  content: "";
  display: block;
  height: 3rem;
  margin: 0 0 var(--marginElement2Element, 1em);
}
@media (max-width: 47.99em) {
  .clickblocks__blocks--slider {
    margin-bottom: 2rem;
  }
}
@media (min-width: 48em) {
  .clickblocks__blocks {
    grid-template-columns: repeat(2, 1fr);
  }
  .clickblocks__blocks--slider {
    margin-bottom: 4rem;
  }
}
@media (min-width: 64em) {
  .clickblocks__blocks {
    grid-template-columns: repeat(3, 1fr);
  }
  .clickblocks--images .clickblocks__blocks {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 80em) {
  .clickblocks__content {
    margin-bottom: 2.5rem;
  }
  .clickblocks__blocks__block__title {
    font-size: 1.5rem;
  }
}

.content-form__content, .content-form__form {
  display: block;
  margin: 0 0 min(8.75vw, 3.75rem);
}
.content-form__content table td, .content-form__content table th, .content-form__form table td, .content-form__form table th {
  font-weight: inherit;
  text-align: left;
  vertical-align: top;
}
.content-form__content table th, .content-form__form table th {
  padding-right: 2.5rem;
}
@media (min-width: 48em) {
  .content-form__content__title {
    margin-bottom: 1rem;
  }
}
@media (min-width: 80em) {
  .content-form .container {
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .content-form--openhours .container {
    flex-direction: row;
  }
  .content-form__content, .content-form__form {
    flex-shrink: 0;
    width: calc(50% - 2.5rem);
  }
  .content-form__content {
    float: right;
    grid-column-start: 2;
    grid-row: 1/2 span;
  }
}

.content-image__image {
  display: block;
  margin: 0 0 var(--gridGap);
}
@media (max-width: 47.99em) {
  .content-image__image {
    margin: calc(-1 * var(--blockMargin)) calc(-1 * min(8.75vw, 3.75rem)) var(--gridGap);
  }
  .content-image__content__buttons {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 48em) {
  .content-image .container {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .content-image--left .container {
    flex-direction: row;
  }
  .content-image__content, .content-image__image {
    width: calc(50% - var(--gridGap));
  }
  .content-image__content {
    float: right;
    grid-column-start: 2;
    grid-row: 1/2 span;
  }
  .content-image__image {
    margin-bottom: 0;
    overflow: hidden;
    position: relative;
  }
  .content-image__image img {
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media (min-width: 80em) {
  .content-image__content, .content-image__image {
    width: calc(50% - var(--gridGap));
  }
}

.content-openhours__content {
  margin-bottom: var(--blockMargin);
}
.content-openhours__content__buttons {
  display: none;
}
.content-openhours__openhours {
  display: block;
}
.content-openhours__openhours table td, .content-openhours__openhours table th {
  font-weight: inherit;
  text-align: left;
  vertical-align: top;
  word-break: keep-all;
}
.content-openhours__openhours table th {
  padding-right: 2.5rem;
}
.content-openhours__buttons-mobile {
  margin-top: var(--marginElement2Button);
}
@media (max-width: 23.3759em) {
  .content-openhours__openhours .h2 {
    font-size: var(--h3-font-size);
  }
  .content-openhours__openhours table td, .content-openhours__openhours table th {
    display: block;
  }
  .content-openhours__openhours table td {
    padding-bottom: 0.5em;
  }
  .content-openhours__openhours table th {
    font-weight: 500;
  }
  .content-openhours__openhours table tr:last-child td {
    padding-bottom: 0;
  }
}
@media (max-width: 47.99em) {
  .content-openhours__openhours {
    word-break: keep-all;
  }
}
@media (min-width: 48em) {
  .content-openhours .container {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .main--landing .content-openhours .container {
    align-items: flex-start;
    flex-direction: column;
  }
  .content-openhours__buttons-mobile {
    display: none;
  }
  .content-openhours__content__buttons {
    display: flex;
  }
  .content-openhours__content, .content-openhours__openhours {
    flex-shrink: 0;
    margin-bottom: 0;
    width: calc(50% - var(--gridGap));
  }
  .main--landing .content-openhours__content, .main--landing .content-openhours__openhours {
    width: 100%;
  }
  .main--landing .content-openhours__content.content-openhours__content, .main--landing .content-openhours__openhours.content-openhours__content {
    margin-bottom: 2.5rem;
  }
  .content-openhours__openhours {
    padding: calc(2 * var(--blockPadding));
  }
  .main--landing .content-openhours__openhours {
    box-shadow: none !important;
    padding: 0;
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  .content-openhours__openhours .h2 {
    font-size: var(--h3-font-size);
  }
  .content-openhours__openhours table td, .content-openhours__openhours table th {
    display: block;
  }
  .content-openhours__openhours table td {
    padding-bottom: 0.5em;
  }
  .content-openhours__openhours table th {
    font-weight: 500;
  }
  .content-openhours__openhours table tr:last-child td {
    padding-bottom: 0;
  }
}

.content-tagline__tagline {
  font-weight: 300;
}

.downloads__download {
  align-items: center;
  display: inline-flex;
}
.downloads__download .icon {
  color: var(--themeIcon, var(--theme-primary, #000000));
  height: 1rem;
  margin: 0 0.75rem 0 0;
  width: 1rem;
}

.faq {
  position: relative;
}
.faq__content {
  margin: 0 0 var(--gridGap);
}
.faq .faq-item {
  border-bottom: 1px solid color-mix(in srgb, var(--themeText), rgba(0, 0, 0, 0) 75%);
  cursor: pointer;
  display: block;
  interpolate-size: allow-keywords;
  padding: 0 0 var(--spacing-s);
}
.faq .faq-item:last-child {
  margin: 0;
}
.faq .faq-item summary {
  display: block;
  font-size: var(--h5-font-size-val);
  font-weight: var(--h5-font-weight);
  padding: var(--spacing-s) 2.125rem 0 0;
  position: relative;
}
.faq .faq-item summary::after {
  background: var(--themeText);
  content: "";
  display: block;
  height: 0.5rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='15' height='9' viewBox='0 0 15 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.20039 7.96626C7.29727 8.06314 7.45664 8.06314 7.55352 7.96626L14.3035 1.21626C14.4004 1.11938 14.4004 0.960009 14.3035 0.863134C14.2066 0.766259 14.0473 0.766259 13.9504 0.863134L7.37852 7.43501L0.806641 0.86001C0.709766 0.763135 0.550391 0.763135 0.453516 0.86001C0.356641 0.956885 0.356641 1.11626 0.453516 1.21313L7.20352 7.96313L7.20039 7.96626Z' fill='black'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='15' height='9' viewBox='0 0 15 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.20039 7.96626C7.29727 8.06314 7.45664 8.06314 7.55352 7.96626L14.3035 1.21626C14.4004 1.11938 14.4004 0.960009 14.3035 0.863134C14.2066 0.766259 14.0473 0.766259 13.9504 0.863134L7.37852 7.43501L0.806641 0.86001C0.709766 0.763135 0.550391 0.763135 0.453516 0.86001C0.356641 0.956885 0.356641 1.11626 0.453516 1.21313L7.20352 7.96313L7.20039 7.96626Z' fill='black'/%3E%3C/svg%3E%0A");
  position: absolute;
  right: 0;
  top: calc(var(--spacing-s) + 0.375rem);
  transition: all 350ms ease-in-out;
  width: 1rem;
}
.faq .faq-item::details-content {
  block-size: 0;
  display: block;
  overflow: hidden;
  transition: block-size 0.3s, content-visibility 0.3s allow-discrete;
}
.faq .faq-item[open] summary::after {
  transform: rotate(180deg);
}
.faq .faq-item[open]::details-content {
  block-size: auto;
}
@media (max-width: 47.99em) {
  .faq__entries {
    margin-left: -min(8.75vw, 3.75rem);
    margin-right: -min(8.75vw, 3.75rem);
  }
}
@media (min-width: 48em) {
  .faq .faq-item summary::before, .faq .faq-item summary::after {
    transform: translateY(0.125em);
  }
}
@media (min-width: 64em) {
  .faq--sidebyside {
    display: grid;
    grid-gap: var(--gridGap);
    grid-template-columns: 1fr 1fr;
  }
  .faq--sidebyside .faq__content {
    padding-right: var(--blockPadding);
  }
}

.form-image__image {
  aspect-ratio: 1/1;
  display: block;
  margin: 0 0 var(--gridGap);
}
@media (max-width: 47.99em) {
  .form-image__image {
    margin: var(--_block-spacing) 0 0;
  }
  .form-image__form__buttons {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 48em) {
  .form-image .container {
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .form-image--left .container {
    flex-direction: row;
  }
  .form-image__form, .form-image__image {
    width: calc(50% - var(--gridGap));
  }
  .form-image__form {
    float: right;
    grid-column-start: 2;
    grid-row: 1/2 span;
  }
  .form-image__image {
    margin-bottom: 0;
    overflow: hidden;
    position: relative;
  }
}
@media (min-width: 80em) {
  .form-image__form {
    width: calc(50% - var(--_block-spacing));
  }
  .form-image__image {
    width: 50%;
  }
}

.image-fullwidth {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.image-fullwidth .container {
  margin: 0;
}
@media (max-width: 89.99em) {
  .image-fullwidth {
    padding: 0;
  }
  .image-fullwidth__scroll {
    bottom: 1.25rem;
    color: #FFFFFF;
    height: 1.25rem;
    left: calc(50vw - 0.625rem);
    position: absolute;
    text-align: center;
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
    width: 1.25rem;
    z-index: 1;
  }
}
@media (max-width: 89.99em) and (prefers-reduced-motion: no-preference) {
  .image-fullwidth__scroll {
    animation: bounceDown ease-in-out 2s infinite;
  }
}
@media (max-width: 89.99em) {
  .image-fullwidth__scroll .icon {
    height: 100%;
    width: 100%;
  }
}
@media (min-width: 80em) {
  .image-fullwidth .container {
    max-width: none;
  }
  .image-fullwidth.fl-narrow .container {
    margin: 0 auto;
  }
}
@media (min-width: 90em) {
  .image-fullwidth .container {
    margin: 0 auto;
    max-width: 75rem;
  }
  .image-fullwidth__scroll {
    display: none;
  }
}

.instagram__grid {
  display: grid;
  grid-gap: var(--gridGap);
}
.instagram__post {
  display: flex;
  flex-direction: column;
  margin: 0;
  position: relative;
  text-decoration: none;
  transition: border-color var(--transitionTime) ease-in-out;
}
.instagram__post__picture {
  background: #000000;
  overflow: hidden;
  padding: 0 0 100%;
  position: relative;
  width: 100%;
}
.instagram__post__picture img {
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.instagram__post__picture__carousel {
  bottom: 1.5rem;
  display: flex;
  left: 50%;
  margin: 0;
  padding: 0;
  position: absolute;
  transform: translateX(-50%);
}
.instagram__post__picture__carousel li {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
  display: block;
  height: 0.5rem;
  margin: 0 0.25rem;
  overflow: hidden;
  width: 0.5rem;
}
.instagram__post__picture__carousel li:first-child {
  background: #FFFFFF;
}
.instagram__post__content {
  display: flex;
  height: 100%;
}
.instagram__post__text {
  display: flex;
  flex-direction: column;
}
.instagram__post__text__timeago {
  color: var(--themeTitle, #333333);
  display: block;
  font-weight: 400;
}
.instagram__post__text__caption {
  text-decoration: none;
}
.instagram__post__text__caption__more {
  font-weight: 400;
}
@media (min-width: 48em) {
  .instagram__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 64em) {
  .instagram__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.intro-content__buttons {
  margin-top: var(--marginElement2Button);
}
@media (max-width: 47.99em) {
  .intro-content__buttons {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 48em) {
  .intro-content .container {
    display: grid;
    grid-gap: 0 calc(2 * var(--gridGap));
    grid-template-columns: repeat(2, 1fr);
  }
  .intro-content__content {
    float: right;
    grid-column-start: 2;
    grid-row: 1/2 span;
    margin-bottom: 0 !important;
  }
  .intro-content__content p:last-child {
    margin-bottom: 0;
  }
  .intro-content--left .intro-content__content {
    grid-column-start: 1;
  }
  .intro-content__title:has(+ .intro-content__content + .intro-content__buttons) {
    margin-bottom: var(--marginTitle2Button);
  }
}

.plusminus__grid {
  display: grid;
  grid-gap: var(--gridGap);
}
.plusminus__grid__column__title {
  font-weight: 700;
}
.plusminus__grid__column__point {
  margin-bottom: 1rem;
  padding: 0 0 0 1.75rem;
  position: relative;
}
.plusminus__grid__column__point:last-child {
  margin-bottom: 0;
}
.plusminus__grid__column__point__icon {
  height: 1rem;
  left: 0;
  position: absolute;
  top: 0.3125rem;
  width: 1rem;
}
.plusminus__grid__column--negative .plusminus__grid__column__point__icon {
  color: #d93304;
  fill: #d93304;
}
.plusminus__grid__column--positive .plusminus__grid__column__point__icon {
  color: #AAD32F;
  fill: #AAD32F;
}
@media (min-width: 48em) {
  .plusminus__grid__column__point {
    padding: 0 0 0 2.5rem;
  }
  .plusminus__grid__column__point__icon {
    height: 1.25rem;
    top: 0.375rem;
    width: 1.25rem;
  }
}
@media (min-width: 64em) {
  .plusminus .container {
    display: flex;
    flex-direction: column;
  }
  .plusminus__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 90em) {
  .plusminus__grid {
    grid-gap: 3rem;
  }
  .plusminus__grid__column {
    padding: 3rem;
  }
}

.projects__grid {
  display: grid;
  grid-gap: var(--gridGap);
}
@media (min-width: 48em) {
  .projects__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 80em) {
  .projects__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.promo-banner__image {
  display: block;
}
.promo-banner__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--blockPadding);
}
@media (max-width: 47.99em) {
  .promo-banner .container {
    margin-left: 0;
    margin-right: 0;
  }
}
@media (min-width: 48em) {
  .promo-banner__content__buttons {
    margin-top: 2rem;
  }
}
@media (min-width: 64em) {
  .promo-banner .container {
    display: grid;
    grid-gap: 0;
    grid-template-columns: 1fr 1fr;
  }
  .promo-banner__content, .promo-banner__image {
    flex-shrink: 0;
  }
  .promo-banner__content__buttons {
    margin-top: 3rem;
  }
  .promo-banner__image {
    border-radius: 0;
    overflow: hidden;
    position: relative;
  }
  .promo-banner__image img {
    height: 100%;
    max-width: none;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    width: 100%;
  }
}

.promo-banner__content {
  padding: var(--spacing-xxl) var(--blockPadding);
}
.promo-banner--rounded .container {
  border-radius: var(--img-border-radius);
  overflow: hidden;
}
.promo-banner .container--rotate-content .promo-banner__content {
  order: 2;
}

.quote .container {
  border-left: 1px solid #505050;
  padding-left: min(8.75vw, 3.75rem);
}
.quote__quote {
  margin: 0 0 0.5rem;
}
.quote__name {
  font-weight: 700;
}
@media (min-width: 48em) {
  .quote .container {
    padding: 1rem 0 1rem 2.5rem;
  }
}
@media (min-width: 64em) {
  .quote .container {
    margin: 0 auto;
    max-width: 50rem;
  }
}

.reviews__title {
  margin-bottom: var(--marginTitle2Element);
}
.reviews__content {
  margin-bottom: var(--marginText2Element);
}
.reviews__container {
  display: var(--_reviews-display, block);
  grid-template-columns: var(--_review-grid-columns, none);
  grid-gap: var(--_review-grid-gap, 0);
}
.reviews__swiper {
  margin-bottom: 2rem;
  position: relative;
}
.reviews__swiper__bottom {
  display: flex;
  margin-top: var(--marginText2Button);
}
.reviews__grid {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: var(--gridGap);
  position: relative;
  z-index: 2;
}
.reviews__image {
  display: block;
  height: 22rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.reviews__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.reviews__image-container {
  margin-top: -6rem;
}
.reviews--type-2, .reviews--type-3 {
  --_review-grid-columns: 1fr;
  --_reviews-display: grid;
  --_review-grid-gap: var(--gridGap);
}
.reviews--type-2 .reviews__container {
  max-width: 50rem;
}
@media (max-width: 47.99em) {
  .reviews--type-2 .reviews__image-container {
    margin: 0;
    margin-top: -7rem;
  }
}
@media (min-width: 48em) {
  .reviews--type-2, .reviews--type-3 {
    --_review-grid-columns: repeat(auto-fit, minmax(20rem, 1fr));
    --_reviews-display: grid;
  }
}
@media (min-width: 64em) {
  .reviews--type-2 .reviews__container {
    max-width: 60rem;
  }
  .reviews--type-2 .reviews__content {
    margin-bottom: 10rem;
  }
}

.services-promo__slider, .services-promo__slider--tall {
  position: relative;
}

.steps {
  --itemTemplateColumns: 1fr;
  --wrapperTemplateColumns: 1fr;
}
.steps__wrapper {
  display: grid;
  grid-gap: var(--grid-gutter);
  grid-template-columns: var(--wrapperTemplateColumns);
}
.steps__wrapper__items {
  display: grid;
  grid-gap: calc(var(--grid-gutter) * 2);
  grid-template-columns: var(--itemTemplateColumns);
}
.steps__wrapper__items--boxed {
  grid-gap: var(--grid-gutter);
}
.steps.type-2 .steps__wrapper--centered, .steps.type-3 .steps__wrapper--centered {
  text-align: center;
}
.steps.type-2 .steps__wrapper--centered .steps__wrapper__content, .steps.type-3 .steps__wrapper--centered .steps__wrapper__content {
  margin: auto;
}
@media (min-width: 48em) {
  .steps {
    --itemTemplateColumns: 1fr 1fr;
    --wrapperTemplateColumns: 1fr 1fr;
  }
  .steps__wrapper {
    grid-gap: calc(var(--grid-gutter) * 2);
  }
  .steps__wrapper__content {
    max-width: 35vw;
  }
  .steps.type-1 {
    --itemTemplateColumns: 1fr;
  }
  .steps.type-1 .steps__wrapper__content {
    max-width: 25vw;
  }
  .steps.type-2 .steps__wrapper__items .step-item {
    max-width: 30rem;
  }
  .steps.type-2, .steps.type-3 {
    --wrapperTemplateColumns: 1fr;
  }
  .steps.type-4 {
    --wrapperTemplateColumns: 1fr;
  }
}
@media (min-width: 64em) {
  .steps.type-3 {
    --itemTemplateColumns: 1fr 1fr 1fr;
  }
  .steps.type-4 {
    --wrapperTemplateColumns: 4fr 8fr;
  }
}

.team .container {
  display: flex;
  flex-direction: column;
  position: relative;
}
.team__grid {
  display: grid;
  grid-gap: var(--gridGap);
}
.team__slideshow {
  margin-bottom: 1rem;
}
.team__content {
  margin: 0 0 min(8.75vw, 3.75rem);
}
.team__member {
  align-items: center;
  border-radius: var(--borderRadius);
  display: flex;
  flex-direction: column;
  padding: 0;
}
.team__member picture {
  align-items: center;
  aspect-ratio: 16/14;
  background: #F0F0F0;
  display: flex;
  justify-content: center;
  margin: 0;
  overflow: hidden;
  width: 100%;
}
.team__member picture img {
  -o-object-fit: cover;
     object-fit: cover;
}
.team__member picture.empty img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 50%;
}
.team__member__name {
  font-size: var(--h4-font-size-val);
  font-weight: var(--h4-font-weight);
  line-height: var(--h4-line-height);
  margin: 0;
}
.team__member__details {
  padding: var(--blockPadding) 0 0;
  position: relative;
  text-align: left;
  width: 100%;
}
.team__member__details__contact {
  display: flex;
  flex-direction: column;
  margin: var(--marginText2Text) 0 0;
}
.team__member__details__contact a {
  align-items: center;
  display: flex;
  text-decoration: none;
  transition: all var(--transitionTime) ease-in-out;
}
.team__member__details__contact a .icon {
  color: var(--themeIcon);
  display: block;
  height: 1.125rem;
  margin: 0 1rem 0 0;
  overflow: visible;
  transform: translateY(-1px);
  transition: all var(--transitionTime) ease-in-out;
  width: 1.125rem;
}
.team__member__details__contact a span {
  white-space: nowrap;
}
@media (hover: none) {
  .team__member__details__contact a:focus {
    font-weight: 500;
    text-decoration: underline;
  }
  .team__member__details__contact a:focus .icon {
    color: color-mix(in srgb, var(--themeIcon), var(--themeText) 50%);
    fill: color-mix(in srgb, var(--themeIcon), var(--themeText) 50%);
  }
}
@media (hover: hover) {
  .team__member__details__contact a:hover {
    font-weight: 500;
    text-decoration: underline;
  }
  .team__member__details__contact a:hover .icon {
    color: color-mix(in srgb, var(--themeIcon), var(--themeText) 50%);
    fill: color-mix(in srgb, var(--themeIcon), var(--themeText) 50%);
  }
}
.team__member__details__contact a:focus {
  font-weight: 500;
}
.team__member__details__contact a.team__member__details__contact__linkedin {
  position: absolute;
  right: 1rem;
  top: -2.625rem;
}
.team__member__details__contact a.team__member__details__contact__linkedin .icon {
  height: 1.625rem;
  margin: 0;
  width: 1.625rem;
}
.team__member__details__contact a.team__member__details__contact__linkedin span {
  display: none;
}
@media (min-width: 48em) {
  .team__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .team__slideshow {
    margin-bottom: 2.5rem;
  }
}
@media (min-width: 64em) {
  .team__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.usps {
  background: var(--themeBackground, #F0F0F0);
  position: relative;
}
.usps[data-block] {
  transition: none;
}
.usps__usp {
  color: var(--themeText, var(--themeText, #333333));
  display: flex;
  font-size: var(--h5-font-size);
  font-weight: 200;
  line-height: 1.1;
  word-break: keep-all;
}
.usps__usp .icon {
  color: var(--theme-accent-on-background, var(--theme-primary, #000000));
  flex-shrink: 0;
  height: 2rem;
  margin: 1px 1rem 0 0;
  width: 2rem;
}
.usps .container {
  display: flex;
}
@media (max-width: 47.99em) {
  .usps__usp {
    font-weight: 500;
    margin: 0 0 0.75rem;
  }
  .usps__usp .icon {
    margin-top: 0;
  }
  .usps__usp span {
    padding-top: 0.4375rem;
  }
  .usps__usp:last-child {
    margin-bottom: 0;
  }
  .usps .container {
    flex-direction: column;
    padding: min(8.75vw, 3.75rem) 0;
  }
}
@media (min-width: 48em) {
  .usps .container {
    align-items: center;
    grid-gap: 0 var(--gridGap);
    justify-content: center;
    padding: 2.8125rem 0;
  }
  .usps__usp {
    align-items: center;
  }
  .usps__usp .icon {
    height: 1.5rem;
    margin: 1px 0.75rem 0 0;
    width: 1.5rem;
  }
  .hero--default + .usps, .hero--fullpage + .usps, .hero--split + .usps, html:has(.hero--default) .blocktools__none + .blocktools + .usps, html:has(.hero--default) .blocktools__none + .blocktools + .blocktools + .usps, html:has(.hero--fullpage) .blocktools__none + .blocktools + .usps, html:has(.hero--fullpage) .blocktools__none + .blocktools + .blocktools + .usps, html:has(.hero--split) .blocktools__none + .blocktools + .usps, html:has(.hero--split) .blocktools__none + .blocktools + .blocktools + .usps {
    background: none;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -100%);
    width: 100vw;
    z-index: 2;
  }
  .hero--default + .usps .usps__usp, .hero--fullpage + .usps .usps__usp, .hero--split + .usps .usps__usp, html:has(.hero--default) .blocktools__none + .blocktools + .usps .usps__usp, html:has(.hero--default) .blocktools__none + .blocktools + .blocktools + .usps .usps__usp, html:has(.hero--fullpage) .blocktools__none + .blocktools + .usps .usps__usp, html:has(.hero--fullpage) .blocktools__none + .blocktools + .blocktools + .usps .usps__usp, html:has(.hero--split) .blocktools__none + .blocktools + .usps .usps__usp, html:has(.hero--split) .blocktools__none + .blocktools + .blocktools + .usps .usps__usp {
    color: #FFFFFF;
    text-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.1);
  }
  .hero--default + .usps .usps__usp .icon, .hero--fullpage + .usps .usps__usp .icon, .hero--split + .usps .usps__usp .icon, html:has(.hero--default) .blocktools__none + .blocktools + .usps .usps__usp .icon, html:has(.hero--default) .blocktools__none + .blocktools + .blocktools + .usps .usps__usp .icon, html:has(.hero--fullpage) .blocktools__none + .blocktools + .usps .usps__usp .icon, html:has(.hero--fullpage) .blocktools__none + .blocktools + .blocktools + .usps .usps__usp .icon, html:has(.hero--split) .blocktools__none + .blocktools + .usps .usps__usp .icon, html:has(.hero--split) .blocktools__none + .blocktools + .blocktools + .usps .usps__usp .icon {
    color: var(--usp-hero, var(--themeBackground, var(--themeIcon, var(--theme-primary, #000000))));
  }
}
@media (min-width: 80em) {
  .usps__usp .icon {
    height: 2rem;
    margin: 1px 1rem 0 0;
    width: 2rem;
  }
  .usps .container {
    grid-gap: 0 5rem;
  }
}

.usps-promo__usps {
  display: flex;
  flex-direction: column;
}
.usps-promo__usps__buttons {
  display: none;
}
.usps-promo__usps__usp {
  display: flex;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 1rem;
}
.usps-promo__usps__usp:has(+ .btn-container), .usps-promo__usps__usp:last-child {
  margin-bottom: 0;
}
.usps-promo__usps__usp .icon {
  color: var(--themeIcon, var(--theme-primary, #000000));
  flex-shrink: 0;
  height: 1rem;
  margin: 1px 0.5rem 0 0;
  width: 1rem;
}
@media (max-width: 47.99em) {
  .usps-promo__promo__content:has(+ .btn-container) {
    margin-bottom: 1.5em;
  }
  .usps-promo__promo__buttons {
    display: none;
  }
  .usps-promo__usps {
    margin-top: 0;
  }
  .usps-promo__usps__buttons {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    margin-top: 2em;
  }
  .usps-promo__usps__usp .icon {
    height: 2rem;
    margin: 0 1rem 0 0;
    width: 2rem;
  }
  .usps-promo__usps__usp span {
    padding-top: 0.5rem;
  }
}
@media (min-width: 48em) {
  .usps-promo .container {
    display: grid;
    grid-gap: 4rem;
    grid-template-columns: 1fr 1fr;
  }
  .usps-promo__usps {
    padding: 0.5em 0;
  }
  .usps-promo__usps:has(> *:nth-child(4)) {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .usps-promo__usps__usp {
    font-size: 1.25rem;
    margin: 0 0 1.5rem;
  }
  .usps-promo__usps__usp .icon {
    height: 2rem;
    margin: 1px 1rem 0 0;
    width: 2rem;
  }
  .usps-promo__usps__usp span {
    transform: translateY(0.375rem);
  }
}
@media (min-width: 64em) {
  .usps-promo .container {
    grid-gap: 6rem;
  }
  .usps-promo__promo {
    max-width: 30rem;
  }
}
@media (min-width: 80em) {
  .usps-promo .container {
    grid-gap: 10rem;
  }
  .usps-promo__usps__usp {
    font-size: 1.5rem;
    margin: 0 0 1.5rem;
  }
  .usps-promo__usps__usp .icon {
    height: 2.5rem;
    margin: 1px 1rem 0 0;
    width: 2.5rem;
  }
  .usps-promo__usps__usp span {
    transform: translateY(0.5rem);
  }
}

.video-fullwidth {
  display: block;
  margin: 0;
  position: relative;
  width: 100vw;
}
.video-fullwidth__player {
  overflow: hidden;
  position: relative;
  width: 100%;
}
.video-fullwidth__player video {
  width: 100%;
}
@media (max-width: 47.99em) {
  .video-fullwidth {
    padding: 0;
  }
  .video-fullwidth .container {
    margin: 0;
  }
  .video-fullwidth__player {
    min-height: 56.25vw;
    width: 100vw;
  }
}
@media (min-width: 90em) {
  .video-fullwidth .container {
    margin: 0 auto;
    max-width: 75rem;
  }
}

:root {
  --plyr-color-main: var(--theme-secondary, #505050);
}

:root {
  --plyr-color-main: var(--primary);
}

.videos {
  --videos-grid-columns: repeat(1, 1fr);
}
.videos__grid {
  display: grid;
  grid-gap: var(--gridGap);
  grid-template-columns: var(--videos-grid-columns);
}
.videos .video-modal {
  align-items: center;
  display: flex;
  height: 100%;
  inset: 0;
  justify-content: center;
  opacity: 1;
  position: fixed;
  transition: var(--transitionTime);
  width: 100%;
  z-index: 999;
}
@starting-style {
  .videos .video-modal {
    display: none;
    opacity: 0;
  }
}
.videos .video-modal__overlay {
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  background: rgba(0, 0, 0, 0.4);
  cursor: pointer;
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}
.videos .video-modal__content {
  max-width: 75rem;
  position: relative;
  width: 90%;
  z-index: 1000;
}
.videos .video-modal__close {
  align-items: center;
  background-color: var(--black);
  border-bottom-left-radius: var(--img-border-radius);
  cursor: pointer;
  display: flex;
  height: 3rem;
  justify-content: center;
  position: fixed;
  right: 0;
  top: 0;
  width: 3rem;
}
.videos .video-modal__close svg {
  fill: var(--white);
  transition: var(--transitionTime);
}
.videos .video-modal__close:is(:hover) svg {
  transform: scale(1.2);
}
@media (max-width: 47.99em) {
  .videos__buttons {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 48em) {
  .videos {
    --videos-grid-columns: repeat(2, 1fr);
  }
}
@media (min-width: 80em) {
  .videos {
    --videos-grid-columns: repeat(3, 1fr);
  }
}

.contactdetails {
  margin: 0 0 1rem;
}
.contactdetails th, .contactdetails td {
  text-align: left;
}
.contactdetails th {
  font-weight: 500;
  padding-right: 1.25rem;
}
.contactdetails td a {
  text-decoration: none;
}
@media (hover: none) {
  .contactdetails td a:focus {
    text-decoration: underline;
  }
}
@media (hover: hover) {
  .contactdetails td a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 79.99em) {
  .contactdetails td, .contactdetails th {
    display: block;
  }
  .contactdetails td {
    padding-bottom: 0.5em;
  }
  .contactdetails tr:last-child td {
    padding-bottom: 0;
  }
}

.album--grid .album__items {
  display: grid;
  grid-gap: var(--gridGap);
  grid-template-columns: repeat(2, 1fr);
}
.album--grid .album__items picture {
  aspect-ratio: 1/1;
  border-radius: var(--borderRadius, 0);
  overflow: hidden;
}
.album--grid .album__items picture[data-href] {
  cursor: pointer;
}
.album--grid .album__items picture img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media (min-width: 36em) {
  .album--grid .album__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 80em) {
  .album--grid .album__items {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 90em) {
  .album--grid .album__items {
    grid-template-columns: repeat(5, 1fr);
  }
}
.album--masonry {
  --masonry-columns: 3;
  --masonry-columns-mobile: 1;
  --masonry-columns-tablet: 2;
}
.album--masonry .album__items .grid-sizer,
.album--masonry .album__items picture {
  width: calc((100% - var(--gridGap) * (var(--masonry-columns-mobile) - 1)) / var(--masonry-columns-mobile));
}
.album--masonry .album__items .gutter-sizer {
  width: var(--gridGap);
}
.album--masonry .album__items picture {
  border-radius: var(--borderRadius, 0);
  display: block;
  margin-bottom: var(--gridGap);
  overflow: hidden;
}
.album--masonry .album__items picture[data-href] {
  cursor: pointer;
}
.album--masonry .album__items picture img {
  display: block;
  height: auto;
  transition: transform 0.4s ease;
  width: 100%;
}
.album--masonry .album__items picture:hover img {
  transform: scale(1.03);
}
@media (min-width: 48em) {
  .album--masonry .album__items .grid-sizer,
  .album--masonry .album__items picture {
    width: calc((100% - var(--gridGap) * (var(--masonry-columns-tablet) - 1)) / var(--masonry-columns-tablet));
  }
}
@media (min-width: 80em) {
  .album--masonry .album__items .grid-sizer,
  .album--masonry .album__items picture {
    width: calc((100% - var(--gridGap) * (var(--masonry-columns) - 1)) / var(--masonry-columns));
  }
}
.album--slideshow .swiper-wrapper picture {
  aspect-ratio: 3/2;
}
.album--slideshow .swiper-wrapper picture img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}
.album--slideshow .album__items.swiper.swiper-initialized .pagination, .album--slideshow .album__items.swiper-initialized.reviews__swiper .pagination, .album--slideshow .album__items.swiper-initialized.services-promo__slider .pagination, .album--slideshow .album__items.swiper-initialized.services-promo__slider--tall .pagination, .album--slideshow .album__items.swiper-initialized.videos__slider .pagination {
  display: flex;
  top: calc(100% + 0.75rem);
}
@media (hover: none) and (pointer: coarse) {
  .album--slideshow .album__items.swiper.swiper-initialized .pagination, .album--slideshow .album__items.swiper-initialized.reviews__swiper .pagination, .album--slideshow .album__items.swiper-initialized.services-promo__slider .pagination, .album--slideshow .album__items.swiper-initialized.services-promo__slider--tall .pagination, .album--slideshow .album__items.swiper-initialized.videos__slider .pagination {
    display: flex;
  }
}
@media (max-width: 47.99em) {
  .album--slideshow {
    margin-bottom: 1rem;
  }
}
@media (min-width: 48em) {
  .album--slideshow {
    overflow: hidden;
  }
  .album--slideshow .album__items.swiper.swiper-initialized .pagination, .album--slideshow .album__items.swiper-initialized.reviews__swiper .pagination, .album--slideshow .album__items.swiper-initialized.services-promo__slider .pagination, .album--slideshow .album__items.swiper-initialized.services-promo__slider--tall .pagination, .album--slideshow .album__items.swiper-initialized.videos__slider .pagination {
    right: 1rem;
    top: calc(100% - 3rem);
  }
}

.popup {
  background: rgba(0, 0, 0, 0.6);
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1000000;
}
.popup__close, .popup__next, .popup__previous {
  border: none;
  cursor: pointer;
  height: 2rem;
  position: absolute;
  transition: all var(--transitionTime) ease-in-out;
  width: 2rem;
}
@media (min-width: 48em) {
  .popup__close, .popup__next, .popup__previous {
    height: 3rem;
    width: 3rem;
  }
}
.popup__next, .popup__previous {
  align-items: center;
  background: #000000;
  border-radius: 50%;
  box-shadow: 0 0 0.25rem rgba(255, 255, 255, 0.1);
  display: flex;
  justify-content: center;
  top: calc(50% - 1.5rem);
}
@media (hover: none) {
  .popup__next:focus, .popup__previous:focus {
    background-color: #333333;
    border-color: var(--themeButtonBackground, #E5E8C6);
  }
}
@media (hover: hover) {
  .popup__next:hover, .popup__previous:hover {
    background-color: #333333;
    border-color: var(--themeButtonBackground, #E5E8C6);
  }
}
.popup__next::after, .popup__previous::after {
  border-bottom: 0.25rem solid transparent;
  border-top: 0.25rem solid transparent;
  top: calc(50% - 0.25rem);
}
.popup__next .icon, .popup__previous .icon {
  color: #FFFFFF;
  height: 1.125rem;
  width: 1.125rem;
}
@media (min-width: 48em) {
  .popup__next .icon, .popup__previous .icon {
    height: 1.5rem;
    width: 1.5rem;
  }
}
.popup__close {
  background: none;
  right: 2rem;
  top: 1.5rem;
}
@media (min-width: 48em) {
  .popup__close {
    right: 1rem;
  }
}
.popup__close::after, .popup__close::before {
  background: #FFFFFF;
  content: "";
  height: 0.125rem;
  left: calc(50% - 0.75rem);
  position: absolute;
  top: calc(50% - 0.125rem);
  width: 1.5rem;
}
.popup__close::after {
  transform: rotate(45deg);
}
.popup__close::before {
  transform: rotate(-45deg);
}
@media (min-width: 48em) {
  .popup__close {
    top: 1rem;
  }
  .popup__close::after, .popup__close::before {
    left: calc(50% - 1rem);
    top: calc(50% - 0.125rem);
    width: 2rem;
  }
}
.popup__next {
  right: 0.5rem;
}
@media (min-width: 48em) {
  .popup__next {
    right: 1rem;
  }
}
.popup__next::after {
  border-left: 0.5rem solid #FFFFFF;
  left: calc(50% - 0.25rem);
}
.popup__previous {
  left: 0.5rem;
}
.popup__previous::after {
  border-right: 0.5rem solid #FFFFFF;
  left: calc(50% - 0.25rem);
}
@media (min-width: 48em) {
  .popup__previous {
    left: 1rem;
  }
}
.popup__picture {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.popup__picture img {
  --object-fit: contain;
  left: 50%;
  max-height: calc(100% - 2rem);
  max-width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (min-width: 48em) {
  .popup__picture {
    bottom: 5rem;
    left: 5rem;
    position: absolute;
    right: 5rem;
  }
}
.popup__thumbnails {
  display: none;
}
@media (min-width: 48em) {
  .popup__thumbnails {
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    overflow: hidden;
    overflow-x: auto;
    position: absolute;
    right: 0;
  }
  .popup__thumbnails__thumb {
    border: 1px solid rgba(255, 255, 255, 0.5);
    display: block;
    flex-shrink: 0;
    height: 5rem;
    margin-right: -1px;
    overflow: hidden;
    width: 5rem;
  }
  .popup__thumbnails__thumb img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
}

.category-labels {
  --category-grid-gap: 0.5rem;
  --category-label-background: var(--white);
  --category-label-color: var(--black);
  --category-label-font-size: 0.875rem;
  --category-label-padding: 0.25rem 1rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--category-grid-gap);
  z-index: 1;
}
.category-labels__label {
  background-color: var(--category-label-background);
  border-radius: var(--img-border-radius);
  color: var(--category-label-color);
  font-size: var(--category-label-font-size);
  padding: var(--category-label-padding);
}

.review-item {
  align-items: var(--_review-align-items, flex-start);
  color: var(--themeText, #333333);
  border-radius: var(--img-border-radius);
  display: flex;
  flex-direction: var(--_review-flex-direction, column);
  gap: var(--_review-gap, 2rem);
  justify-content: var(--_review-justify-content, space-between);
  padding-top: var(--_review-padding-top, var(--blockPadding));
  position: relative;
  text-align: var(--_review-text-align, left);
  height: var(--_review-item-height, 100%);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.review-item::before {
  content: "“";
  display: var(--_review-quote-display, none);
  font-family: sans-serif;
  font-size: var(--_review-quote-font-size, 4rem);
  font-weight: 700;
  line-height: 1rem;
  position: absolute;
  top: var(--_review-quote-top, 0);
}
.review-item__image {
  --_border-radius: 0;
  align-items: center;
  display: flex;
  flex-shrink: 0;
  height: var(--_review-image-height, 4.5rem);
  justify-content: center;
  margin: var(--_review-image-margin, 0 1rem 0 0);
  overflow: hidden;
  position: var(--_review-image-position, relative);
  right: var(--_review-image-right, auto);
  top: var(--_review-image-top, auto);
  width: var(--_review-image-width, 4.5rem);
}
.review-item__image--rounded {
  --_border-radius: 50%;
}
.review-item__image .icon {
  color: var(--themeIcon, var(--theme-primary, #000000));
  height: 1.5rem;
  width: 1.5rem;
}
.review-item__rating {
  color: var(--themeIcon, var(--theme-primary, #000000));
  font-size: 1.5rem;
  order: var(--_review-rating-order, 0);
}
.review-item__quote {
  font-size: var(--_review-quote-text-size, 1.25rem);
  font-weight: var(--_review-quote-font-weight, 400);
  text-align: var(--_review-quote-text-align, left);
  width: var(--_review-quote-width, 100%);
}
.review-item__footer {
  align-items: center;
  display: flex;
  justify-self: flex-end;
  width: var(--_review-footer-width, 100%);
}
.review-item__footer__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.35;
}
.review-item__name {
  color: var(--themeText, #333333);
  font-size: 0.875rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
}
.review-item__details {
  font-size: 0.75rem;
}
.review-item--type-1 {
  --_review-justify-content: center;
  --_review-padding-top: 4rem;
  --_review-quote-display: block;
  --_review-quote-font-size: 9rem;
  --_review-quote-font-weight: 700;
  --_review-quote-top: calc(var(--_review-padding-top) / 2);
  --_review-item-height: auto;
}
.review-item--type-1:has(.review-item__rating) {
  --_review-footer-margin-top: auto;
  --_review-justify-content: flex-start;
  --_review-quote-margin-top: 0;
}
.review-item--type-2 {
  --_review-flex-direction: column-reverse;
  --_review-justify-content: center;
  --_review-rating-order: 1;
  --_review-item-height: auto;
}
.review-item--type-2:has(.review-item__rating) {
  --_review-justify-content: flex-end;
}
.review-item--type-3 {
  --_review-justify-content: center;
  --_review-item-height: auto;
}
.review-item--type-3:has(.review-item__rating) {
  --_review-footer-margin-top: auto;
  --_review-footer-padding-top: var(--marginText2Text);
  --_review-justify-content: flex-start;
}
.review-item--type-4 {
  --_review-padding-top: 5rem;
  --_review-quote-display: block;
  --_review-quote-font-size: 4rem;
  --_review-quote-top: 3.25rem;
  --_review-quote-width: calc(100% - 7rem);
  --_review-item-height: auto;
  --_review-justify-content: flex-start;
}
.review-item--type-4:has(.review-item__rating) {
  --_review-image-top: 9.75rem;
}
.review-item--centered.review-item--type-1, .review-item--centered.review-item--type-2, .review-item--centered.review-item--type-3 {
  --_review-align-items: center;
  --_review-footer-width: auto;
  --_review-quote-text-align: center;
}
@media (min-width: 48em) {
  .review-item__rating {
    font-size: 2rem;
  }
  .review-item--type-4 {
    --_review-image-height: 6rem;
    --_review-image-position: absolute;
    --_review-image-right: 1rem;
    --_review-image-top: 5.25rem;
    --_review-image-width: 6rem;
  }
}
@media (min-width: 90em) {
  .review-item__name, .review-item__details {
    font-size: 1rem;
  }
}

.service-item {
  --content-padding: var(--grid-gutter);
  --image-ratio: 9 / 16;
  --picture-gradient-color: var(--themeBackground);
  border-radius: var(--img-border-radius);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.service-item picture {
  aspect-ratio: var(--image-ratio);
  display: block;
  flex-grow: 0;
  flex-shrink: 0;
  height: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.service-item picture img {
  backface-visibility: hidden;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transform-style: preserve-3d;
  transition: var(--transitionTime) all;
  width: 100%;
  will-change: transform;
  border-radius: 0;
  transition: var(--transitionTime);
}
.service-item:not(:has(img))::after {
  background: linear-gradient(to bottom, color-mix(in srgb, var(--picture-gradient-color), transparent 100%) 0.1%, color-mix(in srgb, var(--picture-gradient-color), transparent 50%) 100%);
  content: "";
  height: 140%;
  inset: 0;
  opacity: 1;
  position: absolute;
  transition: var(--transitionTime) all;
  z-index: 1;
}
.service-item__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: var(--content-padding);
  pointer-events: none;
  position: relative;
}
.service-item__content p {
  margin-bottom: 2rem;
}
.service-item__content .btn {
  margin-top: auto;
}
.service-item:is(:hover, :focus) picture img {
  transform: scale(1.02);
}
.service-item:is(:hover, :focus) picture::after {
  opacity: 1;
  transform: translateY(-20%);
}
.service-item:is(:hover, :focus) .service-item__content .btn {
  color: var(--_color);
  background: var(--_text-color);
}
.service-item.style-default {
  --picture-gradient-color: var(--black);
}
.service-item--square {
  --image-ratio: 1 / 1;
}
.service-item--wide {
  --image-ratio: 16 / 13;
}
.service-item--wide.service-item--boxed-content, .service-item--wide.service-item--content {
  --image-ratio: 16 / 11;
}
.service-item--tall_wide {
  --image-ratio: 10 / 16;
}
.service-item--image .service-item__content {
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: 10;
}
.service-item--image .service-item__content p, .service-item--image .service-item__content .btn {
  display: none;
}
.service-item--image .service-item__content .title, .service-item--image .service-item__content h4, .service-item--image .service-item__content .h4 {
  color: var(--white);
  margin-bottom: 0;
}
.service-item--content {
  background: transparent;
}
.service-item--content .service-item__content {
  padding: var(--grid-gutter) 0;
}
.service-item--content picture, .service-item--boxed-content picture {
  border-radius: var(--img-border-radius) var(--img-border-radius) 0 0;
}
.service-item:focus, .service-item:focus-visible, .service-item:focus-within {
  outline: 5px auto Highlight;
  outline: 5px auto -webkit-focus-ring-color;
}

.step-item {
  --iconSize: 3rem;
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  grid-gap: var(--grid-gutter);
  background: transparent;
}
.step-item__icon {
  display: block;
  flex: 0 0 var(--iconSize);
  height: var(--iconSize);
  width: var(--iconSize);
}
.step-item__icon.image {
  display: inline-flex;
  overflow: hidden;
  width: 100%;
}
.step-item__icon.image img {
  display: block;
  max-width: 70%;
  -o-object-fit: contain;
     object-fit: contain;
}
.step-item--compact {
  flex-direction: column;
}
.step-item--boxed {
  background: var(--themeBackground);
  border-radius: var(--img-border-radius);
  padding: var(--grid-gutter);
}
.step-item--boxed.style-default {
  border: 1px solid #D6D6D6;
}
.step-item--centered {
  align-items: center;
  justify-content: center;
  text-align: center;
}
.step-item--centered .step-item__icon.image {
  justify-content: center;
}
.step-item:not(.step-item--centered) .step-item__icon.image.image--center {
  --object-position: left;
}
.step-item:not(.step-item--compact) .step-item__icon + .step-item__content {
  margin-top: calc(var(--iconSize) / 2 - 1rem);
}
.step-item:has(.step-item__icon--sm) {
  --iconSize: 2rem;
}
.step-item:has(.step-item__icon--lg) {
  --iconSize: 4rem;
}
@media (min-width: 64em) {
  .step-item {
    --iconSize: 4rem;
  }
  .step-item:has(.step-item__icon--sm) {
    --iconSize: 3rem;
  }
  .step-item:has(.step-item__icon--lg) {
    --iconSize: 5rem;
  }
}

.video-item {
  --video-item-content-border-radius: 0;
  --video-item-content-padding: var(--spacing-l) 0 0 0;
  --video-item-icon-color: var(--white);
  --video-item-image-border-radius: var(--img-border-radius);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.video-item__poster {
  aspect-ratio: 16/9;
  border-radius: var(--video-item-image-border-radius);
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.video-item__poster img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: var(--transitionTime);
  width: 100%;
}
.video-item__poster__play-button {
  align-items: center;
  border: 0.25rem solid var(--white);
  border-radius: 50%;
  display: flex;
  height: 4.5rem;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: var(--transitionTime);
  width: 4.5rem;
  z-index: 5;
}
.video-item__poster__play-button svg {
  fill: var(--video-item-icon-color);
  height: 3rem;
  transition: var(--transitionTime);
  width: 3rem;
}
.video-item__poster::before {
  background: radial-gradient(rgba(0, 0, 0, 0) 0.1%, rgba(0, 0, 0, 0.5) 100%);
  content: "";
  inset: -6rem;
  position: absolute;
  transition: var(--transitionTime);
  z-index: 3;
}
.video-item__content {
  border-radius: var(--video-item-content-border-radius);
  flex: 1;
  overflow: hidden;
  padding: var(--video-item-content-padding);
  position: relative;
}
.video-item:is(:hover) {
  --video-item-icon-color: var(--primary);
}
.video-item:is(:hover) .video-item__poster img {
  transform: scale(1.05);
}
.video-item:is(:hover) .video-item__poster::before {
  inset: 0;
}
.video-item:is(:hover) .video-item__poster__play-button svg {
  transform: scale(0.8);
}
.video-item--boxed {
  --video-item-content-border-radius: 0 0 var(--img-border-radius) var(--img-border-radius);
  --video-item-content-padding: var(--spacing-l);
  --video-item-image-border-radius: var(--img-border-radius) var(--img-border-radius) 0 0;
}
