/*! minireset.css v0.0.5 | MIT License | github.com/jgthms/minireset.css */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal
}

ul {
    list-style: none
}

button,
input,
select,
textarea {
    margin: 0
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

img,
video {
    height: auto;
    max-width: 100%
}

iframe {
    border: 0
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

td,
th {
    padding: 0;
    text-align: left
}

@font-face {
    font-family: "Aero";
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: url(../Fonts/Aero-Regular.ttf) format("truetype")
}

@font-face {
    font-family: "Aero";
    font-style: normal;
    font-weight: bold;
    font-display: swap;
    src: url(../Fonts/Aero-Bold.ttf) format("truetype")
}

@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: url(../Fonts/Roboto-Regular.ttf) format("truetype")
}

@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: bold;
    font-display: swap;
    src: url(../Fonts/Roboto-Bold.ttf) format("truetype")
}

:root {
    --color-white: #ffffff;
    --color-black: #000000;
    --color-alert: #f0140a;
    --color-gray: #b8b8b8;
    --color-medium-gray: #dde0e1;
    --color-light-gray: #f0f3f5;
    --color-accent-blue: #191955;
    --color-accent-light-blue: #64aaf0;
    --color-accent-green: #375546;
    --color-accent-light-green: #87d19a;
    --color-accent-mauve: #504664;
    --color-accent-light-mauve: #64aaf0;
    --color-accent-violet: #460955;
    --color-accent-light-violet: #e363a3;
    --font-family-standard: "Roboto", arial, sans-serif;
    --font-family-accent: "Aero", arial, sans-serif;
    --default-outer-width: 100%;
    --default-inner-width: 87.5rem;
    --inner-width-medium: 62rem;
    --font-size-x-small: 0.75rem;
    --font-size-small: 1rem;
    --font-size-medium: 1.25rem;
    --font-size-standard: 1.5rem;
    --font-size-large: 2rem;
    --font-size-x-large: 2.75rem;
    --spacing-x-small: 5px;
    --spacing-small: 10px;
    --spacing-medium: 20px;
    --spacing-large: 30px;
    --spacing-x-large: 50px;
    --spacing-root-oriented-small: 0.6rem;
    --spacing-root-oriented-medium: 1.25rem;
    --spacing-root-oriented-large: 1.88rem;
    --spacing-root-oriented-x-large: 3.75rem;
    --spacing-root-oriented-maximum: 7.5rem;
    --line-height-small: 1.2;
    --line-height-standard: 1.5;
    --z-index-negative: -1;
    --z-index-lower: 1;
    --z-index-low: 5;
    --z-index-middle: 10;
    --z-index-high: 20;
    --z-index-higher: 50;
    --z-index-highest: 100
}

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

input,
textarea {
    -webkit-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0
}

sub {
    vertical-align: initial
}

button {
    -webkit-appearance: 0;
    -moz-appearance: 0;
    appearance: 0;
    background-color: rgba(0, 0, 0, 0);
    border: 0;
    font-family: inherit
}

input:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, .1);
    -webkit-text-fill-color: var(--color-dark)
}

html {
    font-size: 1rem;
    background: var(--color-bright);
    color: var(--color-dark);
    font-family: var(--font-family-standard)
}

body {
    line-height: var(--line-height-standard);
    text-rendering: optimizeLegibility;
    accent-color: var(--color-primary)
}

a {
    text-decoration: underline;
    color: var(--color-dark)
}

a:hover,
a:focus {
    text-decoration: none
}

a:focus-visible,
button:focus-visible {
    outline-color: var(--color-secondary);
    outline-offset: unset
}

b,
strong {
    font-weight: bold
}

i,
em {
    font-style: italic
}

strong em,
strong i,
b em,
b i,
em strong,
em b,
i strong,
i b {
    font-weight: bold;
    font-style: italic
}

hr {
    margin-bottom: var(--spacing-medium);
    padding-bottom: var(--spacing-medium);
    display: block;
    border-top: 1px solid
}

iframe,
img {
    border: 0;
    max-width: 100%;
    display: inline-block
}

audio,
canvas,
video,
img {
    height: auto;
    vertical-align: bottom
}

address {
    font-style: normal
}

small {
    font-size: .9em
}

ul,
ol {
    list-style-type: none
}

::-moz-selection {
    background: var(--color-secondary);
    color: var(--color-dark);
    text-shadow: none
}

::selection {
    background: var(--color-accent-blue);
    color: var(--color-white);
    text-shadow: none
}

.accordion__item {
    border-top: 1px solid var(--color-gray)
}

.accordion {
    padding-top: var(--spacing-large)
}

.accordion .accordion__item:last-child {
    border-bottom: 1px solid var(--color-gray)
}

.accordion__summary {
    min-height: var(--spacing-root-oriented-maximum);
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    font-weight: bold;
    -webkit-transition: margin-bottom .2s ease-in-out;
    -o-transition: margin-bottom .2s ease-in-out;
    transition: margin-bottom .2s ease-in-out;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto
}

@media(min-width: 22.5rem) {
    .accordion__summary {
        -webkit-hyphens: none;
        -ms-hyphens: none;
        hyphens: none
    }
}

.accordion__icon {
    min-width: var(--spacing-root-oriented-x-large);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: -webkit-transform .2s ease-in-out;
    transition: -webkit-transform .2s ease-in-out;
    -o-transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
    padding-left: clamp(.313rem, 4vw, var(--spacing-root-oriented-small));
    padding-right: clamp(.313rem, 4vw, var(--spacing-root-oriented-small))
}

.accordion__content {
    padding-left: calc(clamp(.626rem, 4vw, var(--spacing-root-oriented-medium)) + 14px + clamp(.626rem, 4vw, var(--spacing-root-oriented-medium)));
    padding-right: var(--spacing-root-oriented-medium);
    padding-bottom: var(--spacing-root-oriented-medium);
    margin-top: -10px
}

.accordion__image {
    margin-bottom: var(--spacing-root-oriented-medium)
}

.accordion__details {
    background-color: rgba(0, 0, 0, 0);
    -webkit-transition: background-color .2s ease-in-out;
    -o-transition: background-color .2s ease-in-out;
    transition: background-color .2s ease-in-out
}

.accordion__details>.accordion__summary::-webkit-details-marker {
    display: none
}

.accordion__details[open] {
    background-color: var(--color-light-gray)
}

.accordion__details[open] .accordion__summary {
    margin-bottom: 10px
}

.accordion__details[open] .accordion__icon {
    -webkit-transform: scaleY(-1);
    -ms-transform: scaleY(-1);
    transform: scaleY(-1)
}

.section--accent .accordion__details[open] {
    background-color: var(--color-white)
}

@media(max-width: 63.9375rem) {
    .accordion__icon svg {
        width: 14px
    }

    .accordion__icon svg path {
        stroke-width: 4
    }
}

@media(min-width: 64rem) {
    .accordion__icon {
        min-width: var(--spacing-root-oriented-maximum)
    }

    .accordion__content {
        padding-left: var(--spacing-root-oriented-maximum);
        padding-right: var(--spacing-root-oriented-maximum)
    }
}

.alert {
    color: var(--color-alert);
    vertical-align: initial
}

.article.article--image-left,
.article.article--image-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: var(--spacing-large)
}

.article.article--image-bottom .article__figure {
    padding-top: var(--spacing-large)
}

.article__title {
    display: inline-block;
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    font-weight: bold
}

.article__date {
    display: inline-block
}

.article__image {
    display: block
}

.article__image.article__image--border {
    border: .5px solid var(--color-accent-blue)
}

.article__image:not(:last-child) {
    padding-bottom: var(--spacing-root-oriented-x-large)
}

.section.section--accent:has(.article)+.section.section--accent:has(.article) .section__wrapper {
    padding-top: 0
}

.section.section--blue:has(.article)+.section.section--blue:has(.article) .section__wrapper {
    padding-top: 0
}

.section.section--violet:has(.article)+.section.section--violet:has(.article) .section__wrapper {
    padding-top: 0
}

.section.section--green:has(.article)+.section.section--green:has(.article) .section__wrapper {
    padding-top: 0
}

.section[class=section]:has(.article)+.section[class=section]:has(.article) .section__wrapper {
    padding-top: 0
}

@media(min-width: 56.25rem) {

    .article.article--image-left,
    .article.article--image-right {
        gap: calc(var(--spacing-x-large)*2)
    }

    .article.article--image-left>*,
    .article.article--image-right>* {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1
    }

    .article.article--image-left.article--image-centered,
    .article.article--image-right.article--image-centered {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .article.article--image-left {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }

    .article.article--image-right {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

@media(min-width: 80rem) {

    .section__wrapper.section__wrapper--full .article.article--image-left,
    .section__wrapper.section__wrapper--full .article.article--image-right {
        gap: 0
    }

    .section__wrapper.section__wrapper--full .article.article--image-left .article__body,
    .section__wrapper.section__wrapper--full .article.article--image-right .article__body {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .section__wrapper.section__wrapper--full .article__contents {
        padding: clamp(var(--spacing-root-oriented-x-large), 5vw, var(--spacing-root-oriented-medium)) clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3)
    }

    .section__wrapper.section__wrapper--full .article__image {
        width: 100%
    }
}

.article__figure--rectangle {
    aspect-ratio: 1/1.5;
    width: 100%;
    height: 100%
}

.article__figure.article__figure--rectangle .article__image {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.article--centered-text {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.card__content.card__content--keyresults p:last-child {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -ms-transform: translateY(40px);
    transform: translateY(40px);
    -webkit-transition: all .6s ease;
    -o-transition: all .6s ease;
    transition: all .6s ease
}

.card__image.card__image--keyresults {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    transform: translateY(-40px);
    -webkit-transition: all .6s ease;
    -o-transition: all .6s ease;
    transition: all .6s ease
}

.slider.loaded .card__content.card__content--keyresults p:last-child {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: all 1.7s ease;
    -o-transition: all 1.7s ease;
    transition: all 1.7s ease
}

.slider.loaded .card__image.card__image--keyresults {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: all 1.7s ease;
    -o-transition: all 1.7s ease;
    transition: all 1.7s ease
}

.body {
    color: var(--color-accent-blue);
    font-family: var(--font-family-standard);
    font-weight: 300;
    line-height: var(--line-height-standard);
    min-height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.body .main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.body.body--green .rich-text:not(.rich-text--light) {
    color: var(--color-accent-green)
}

.body.body--green .section.section--accent {
    background-color: #f5faf8;
    color: var(--color-accent-green)
}

.body.body--green .section--two-column.section--shifted,
.body.body--green .section.section--two-column.section--features,
.body.body--green .sub-navigation__list,
.body.body--green .tns-nav .tns-nav-active {
    background-color: var(--color-accent-green)
}

.body.body--green .form__input {
    color: var(--color-accent-green)
}

.body.body--green :not(.product-carousel__content)>.link,
.body.body--green :not(.product-carousel__content)>.modal__open-button {
    color: var(--color-accent-light-green)
}

.body.body--green .section.section--two-column.section--features .section__second-column,
.body.body--green .card {
    background-color: var(--color-accent-light-green);
    color: var(--color-accent-green)
}

.body.body--green .form__input-field {
    border-color: var(--color-accent-green)
}

.body.body--green .icon__stroke,
.body.body--green .main-navigation__link:hover .icon__stroke.icon__stroke--color-change,
.body.body--green .main-navigation__link:focus-visible .icon__stroke.icon__stroke--color-change,
.body.body--green .main-navigation__link:focus .icon__stroke.icon__stroke--color-change {
    stroke: var(--color-accent-green)
}

.body.body--green :not(.product-carousel__content)>.link .link__icon-stroke,
.body.body--green :not(.product-carousel__content)>.modal__open-button .link__icon-stroke,
.body.body--green .icon--slider .icon__path {
    stroke: var(--color-accent-light-green)
}

.body.body--green .footer__link,
.body.body--green .form__label {
    color: var(--color-accent-light-green)
}

.body.body--green .header,
.body.body--green .footer,
.body.body--green .main-navigation__list,
.body.body--green .link.link--button,
.body.body--green .link--button.modal__open-button {
    background-color: var(--color-accent-green)
}

.body.body--green .main-navigation__sub-menu-item--green-accent {
    background-color: #fff
}

.body.body--green .main-navigation__sub-menu-item--green-accent .main-navigation__sub-menu-link {
    color: var(--color-accent-green)
}

.body.body--green .list .list__item:not(:last-child) {
    border-color: var(--color-accent-green)
}

.body.body--green .product-carousel__tab:focus-visible .product-seal {
    border-color: var(--color-accent-light-green)
}

.body.body--mauve .rich-text:not(.rich-text--light) {
    color: var(--color-accent-mauve)
}

.body.body--mauve .section.section--accent {
    background-color: #f7fbff;
    color: var(--color-accent-mauve)
}

.body.body--mauve .section--two-column.section--shifted,
.body.body--mauve .section.section--two-column.section--features,
.body.body--mauve .sub-navigation__list,
.body.body--mauve .tns-nav .tns-nav-active {
    background-color: var(--color-accent-mauve)
}

.body.body--mauve .form__input {
    color: var(--color-accent-mauve)
}

.body.body--mauve :not(.product-carousel__content)>.link,
.body.body--mauve :not(.product-carousel__content)>.modal__open-button {
    color: var(--color-accent-light-mauve)
}

.body.body--mauve .section.section--two-column.section--features .section__second-column,
.body.body--mauve .card {
    background-color: var(--color-accent-light-mauve);
    color: var(--color-accent-mauve)
}

.body.body--mauve .form__input-field {
    border-color: var(--color-accent-mauve)
}

.body.body--mauve .icon__stroke,
.body.body--mauve .main-navigation__link:hover .icon__stroke.icon__stroke--color-change,
.body.body--mauve .main-navigation__link:focus-visible .icon__stroke.icon__stroke--color-change,
.body.body--mauve .main-navigation__link:focus .icon__stroke.icon__stroke--color-change {
    stroke: var(--color-accent-mauve)
}

.body.body--mauve :not(.product-carousel__content)>.link .link__icon-stroke,
.body.body--mauve :not(.product-carousel__content)>.modal__open-button .link__icon-stroke,
.body.body--mauve .icon--slider .icon__path {
    stroke: var(--color-accent-light-mauve)
}

.body.body--mauve .footer__link,
.body.body--mauve .form__label {
    color: var(--color-accent-light-mauve)
}

.body.body--mauve .header,
.body.body--mauve .footer,
.body.body--mauve .main-navigation__list,
.body.body--mauve .link.link--button,
.body.body--mauve .link--button.modal__open-button {
    background-color: var(--color-accent-mauve)
}

.body.body--mauve .main-navigation__sub-menu-item--mauve-accent {
    background-color: #fff
}

.body.body--mauve .main-navigation__sub-menu-item--mauve-accent .main-navigation__sub-menu-link {
    color: var(--color-accent-mauve)
}

.body.body--mauve .list .list__item:not(:last-child) {
    border-color: var(--color-accent-mauve)
}

.body.body--mauve .product-carousel__tab:focus-visible .product-seal {
    border-color: var(--color-accent-light-mauve)
}

.body.body--violet .rich-text:not(.rich-text--light) {
    color: var(--color-accent-violet)
}

.body.body--violet .section.section--accent {
    background-color: #f8f3f9;
    color: var(--color-accent-violet)
}

.body.body--violet .section--two-column.section--shifted,
.body.body--violet .section.section--two-column.section--features,
.body.body--violet .sub-navigation__list,
.body.body--violet .tns-nav .tns-nav-active {
    background-color: var(--color-accent-violet)
}

.body.body--violet .form__input {
    color: var(--color-accent-violet)
}

.body.body--violet :not(.product-carousel__content)>.link,
.body.body--violet :not(.product-carousel__content)>.modal__open-button {
    color: var(--color-accent-light-violet)
}

.body.body--violet .section.section--two-column.section--features .section__second-column,
.body.body--violet .card {
    background-color: var(--color-accent-light-violet);
    color: var(--color-accent-violet)
}

.body.body--violet .form__input-field {
    border-color: var(--color-accent-violet)
}

.body.body--violet .icon__stroke,
.body.body--violet .main-navigation__link:hover .icon__stroke.icon__stroke--color-change,
.body.body--violet .main-navigation__link:focus-visible .icon__stroke.icon__stroke--color-change,
.body.body--violet .main-navigation__link:focus .icon__stroke.icon__stroke--color-change {
    stroke: var(--color-accent-violet)
}

.body.body--violet :not(.product-carousel__content)>.link .link__icon-stroke,
.body.body--violet :not(.product-carousel__content)>.modal__open-button .link__icon-stroke,
.body.body--violet .icon--slider .icon__path {
    stroke: var(--color-accent-light-violet)
}

.body.body--violet .footer__link,
.body.body--violet .form__label {
    color: var(--color-accent-light-violet)
}

.body.body--violet .header,
.body.body--violet .footer,
.body.body--violet .main-navigation__list,
.body.body--violet .link.link--button,
.body.body--violet .link--button.modal__open-button {
    background-color: var(--color-accent-violet)
}

.body.body--violet .main-navigation__sub-menu-item--violet-accent {
    background-color: #fff
}

.body.body--violet .main-navigation__sub-menu-item--violet-accent .main-navigation__sub-menu-link {
    color: var(--color-accent-violet)
}

.body.body--violet .list .list__item:not(:last-child) {
    border-color: var(--color-accent-violet)
}

.body.body--violet .product-carousel__tab:focus-visible .product-seal {
    border-color: var(--color-accent-light-violet)
}

.body.body--green .header .icon__stroke,
.body.body--green .burger-icon__line,
.body.body--green .link.link--button .link__icon-stroke,
.body.body--green .link--button.modal__open-button .link__icon-stroke,
.body.body--mauve .header .icon__stroke,
.body.body--mauve .burger-icon__line,
.body.body--mauve .link.link--button .link__icon-stroke,
.body.body--mauve .link--button.modal__open-button .link__icon-stroke,
.body.body--violet .header .icon__stroke,
.body.body--violet .burger-icon__line,
.body.body--violet .link.link--button .link__icon-stroke,
.body.body--violet .link--button.modal__open-button .link__icon-stroke {
    stroke: var(--color-white)
}

.body.body--green .header .logo .logo__path-dark,
.body.body--green .header .logo .logo__path-light,
.body.body--green .header .icon .icon__path--filled,
.body.body--green .header .icon .icon__layer,
.body.body--green .main-navigation__link--active .icon__stroke--filled,
.body.body--green .main-navigation__link:hover .icon__stroke--filled,
.body.body--green .main-navigation__link:focus-visible .icon__stroke--filled,
.body.body--mauve .header .logo .logo__path-dark,
.body.body--mauve .header .logo .logo__path-light,
.body.body--mauve .header .icon .icon__path--filled,
.body.body--mauve .header .icon .icon__layer,
.body.body--mauve .main-navigation__link--active .icon__stroke--filled,
.body.body--mauve .main-navigation__link:hover .icon__stroke--filled,
.body.body--mauve .main-navigation__link:focus-visible .icon__stroke--filled,
.body.body--violet .header .logo .logo__path-dark,
.body.body--violet .header .logo .logo__path-light,
.body.body--violet .header .icon .icon__path--filled,
.body.body--violet .header .icon .icon__layer,
.body.body--violet .main-navigation__link--active .icon__stroke--filled,
.body.body--violet .main-navigation__link:hover .icon__stroke--filled,
.body.body--violet .main-navigation__link:focus-visible .icon__stroke--filled,
.body.body--green .main-navigation__link:focus .icon__stroke--filled,
.body.body--mauve .main-navigation__link:focus .icon__stroke--filled,
.body.body--violet .main-navigation__link:focus .icon__stroke--filled {
    fill: var(--color-white)
}

.body.body--green .header,
.body.body--green .main-navigation__button,
.body.body--green .main-navigation__link,
.body.body--green .sub-navigation__button,
.body.body--green .sub-navigation__link,
.body.body--green .section--two-column.section--shifted .rich-text,
.body.body--green .footer__navigation-item .link,
.body.body--green .footer__navigation-item .modal__open-button,
.body.body--green .link.link--button,
.body.body--green .link--button.modal__open-button,
.body.body--mauve .header,
.body.body--mauve .main-navigation__button,
.body.body--mauve .main-navigation__link,
.body.body--mauve .sub-navigation__button,
.body.body--mauve .sub-navigation__link,
.body.body--mauve .section--two-column.section--shifted .rich-text,
.body.body--mauve .footer__navigation-item .link,
.body.body--mauve .footer__navigation-item .modal__open-button,
.body.body--mauve .link.link--button,
.body.body--mauve .link--button.modal__open-button,
.body.body--violet .header,
.body.body--violet .main-navigation__button,
.body.body--violet .main-navigation__link,
.body.body--violet .sub-navigation__button,
.body.body--violet .sub-navigation__link,
.body.body--violet .section--two-column.section--shifted .rich-text,
.body.body--violet .footer__navigation-item .link,
.body.body--violet .footer__navigation-item .modal__open-button,
.body.body--violet .link.link--button,
.body.body--violet .link--button.modal__open-button {
    color: var(--color-white)
}

.body.body--green .main-navigation__item:not(:last-child),
.body.body--mauve .main-navigation__item:not(:last-child),
.body.body--violet .main-navigation__item:not(:last-child) {
    border-bottom-color: var(--color-white)
}

.burger-icon {
    height: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    margin-left: var(--spacing-small);
    width: auto;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

@media(prefers-reduced-motion: no-preference) {
    .burger-icon__line {
        -webkit-transition: all .6s ease;
        -o-transition: all .6s ease;
        transition: all .6s ease
    }
}

.burger-icon__line {
    fill: none;
    stroke: var(--color-accent-blue);
    stroke-width: .1rem
}

.burger-icon__line {
    -webkit-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top;
    opacity: 1
}

.burger-icon--highlight .burger-icon__line {
    stroke: var(--color-white)
}

.burger-icon__line--middle-double {
    visibility: hidden
}

.burger-icon--closed .burger-icon__line--middle {
    -webkit-transform: translate(0, 8px) rotate(45deg);
    -ms-transform: translate(0, 8px) rotate(45deg);
    transform: translate(0, 8px) rotate(45deg)
}

.burger-icon--closed .burger-icon__line--middle-double {
    visibility: visible;
    -webkit-transform: translate(0, 8px) rotate(-45deg);
    -ms-transform: translate(0, 8px) rotate(-45deg);
    transform: translate(0, 8px) rotate(-45deg)
}

.burger-icon--closed .burger-icon__line--top,
.burger-icon--closed .burger-icon__line--bottom {
    -webkit-transform: translate(0, 8px) scale(0.1);
    -ms-transform: translate(0, 8px) scale(0.1);
    transform: translate(0, 8px) scale(0.1);
    opacity: 0
}

.card {
    background-color: var(--color-white);
    -webkit-box-shadow: calc(var(--spacing-medium)*-1) var(--spacing-small) var(--spacing-medium) rgba(0, 0, 0, .1019607843);
    box-shadow: calc(var(--spacing-medium)*-1) var(--spacing-small) var(--spacing-medium) rgba(0, 0, 0, .1019607843);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: calc(var(--spacing-root-oriented-medium)*2)
}

.card.card--col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.card.card--limited {
    max-width: 24rem
}

.card__emphasis {
    display: block;
    font-family: var(--font-family-accent);
    font-size: clamp(var(--font-size-standard), 5vw, var(--font-size-large));
    font-weight: bold;
    padding-bottom: var(--spacing-root-oriented-medium)
}

.card__subline {
    font-size: var(--font-size-small)
}

.card__image {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    min-width: 2.5rem;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: top;
    object-position: top
}

.card__image.card__image--large-bottom-margin {
    margin-bottom: var(--spacing-root-oriented-large)
}

.card__image.card__image--full {
    width: 100%
}

.card__content {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: clamp(var(--font-size-small), 5vw, var(--font-size-standard))
}

.card__content.card__content--medium-gap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: var(--spacing-root-oriented-medium)
}

.checklist {
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    padding-top: var(--spacing-medium);
    padding-bottom: var(--spacing-medium)
}

.contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: var(--spacing-root-oriented-x-large);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.contact__links {
    margin-top: var(--spacing-root-oriented-medium)
}

@media(min-width: 56.25rem) {
    .contact {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.div {
    margin-bottom: -2px;
    position: relative;
    z-index: var(--z-index-lower)
}

.div__hr {
    margin-bottom: 0;
    padding-bottom: 0;
    border: none;
    border-top: 2px solid var(--color-medium-gray)
}

.div--with-wrapper {
    max-width: var(--default-inner-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
    padding-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3)
}

.fine-print {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--spacing-root-oriented-small)
}

.footer {
    background-color: var(--color-accent-blue);
    color: var(--color-accent-light-blue);
    padding-bottom: var(--spacing-medium);
    padding-top: calc(var(--spacing-large)*2)
}

.footer__wrapper {
    margin-left: auto;
    margin-right: auto;
    width: min(90%, var(--default-inner-width))
}

.footer__contents {
    color: var(--color-white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: var(--default-inner-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
    padding-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3)
}

.footer__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--spacing-small);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: clamp(var(--font-size-small), 3vw, 1.125rem);
    margin-bottom: calc(var(--spacing-root-oriented-medium)*2)
}

.footer__row small {
    opacity: .4;
    mix-blend-mode: plus-lighter
}

.footer__link {
    display: block;
    text-decoration: none;
    color: var(--color-accent-light-blue)
}

.footer__link.footer__link--active {
    font-weight: bold
}

.footer__link:hover,
.footer__link:focus {
    text-decoration: underline;
    color: var(--color-white)
}

.footer__row--meta {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
    width: 100%;
    gap: var(--spacing-medium)
}

.footer__row--meta .footer__link {
    font-size: var(--font-size-small)
}

.footer__wrapper .logo {
    display: block;
    margin-bottom: var(--spacing-root-oriented-medium)
}

@media(min-width: 50rem) {
    .footer__contents {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end
    }
}

@media(min-width: 64rem) {
    .footer__row--meta {
        width: auto
    }
}

.form {
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    padding-bottom: var(--spacing-medium);
    padding-top: var(--spacing-large);
    max-width: 65ch
}

.form__input-group {
    border: 0
}

.form__input-field {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    border-bottom: .1rem solid var(--color-accent-blue);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: calc(var(--font-size-x-small)*var(--line-height-small));
    position: relative;
    margin-bottom: var(--spacing-large)
}

.form__input {
    background: rgba(0, 0, 0, 0);
    border: 0;
    color: var(--color-accent-blue);
    font-family: var(--font-family-standard);
    font-weight: bold;
    padding: 0;
    z-index: var(--z-index-low);
    width: 100%;
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    line-height: var(--line-height-small)
}

.form__label {
    color: var(--color-accent-light-blue);
    font-size: var(--font-size-x-small);
    line-height: var(--line-height-small);
    position: absolute;
    top: 0;
    width: 100%;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    z-index: var(--z-index-lower)
}

.form__label--upload {
    position: initial;
    display: block
}

.form__underlay-close-button {
    border: 0;
    background-color: rgba(0, 0, 0, 0);
    padding: 0 0 0 var(--spacing-root-oriented-small);
    margin: 0
}

.form__underlay-close-button .icon {
    margin: 0
}

.form__upload-button:hover,
.form__upload-button:focus {
    cursor: pointer
}

.form__annotation {
    color: var(--color-accent-blue);
    font-size: var(--font-size-x-small);
    padding-top: var(--spacing-root-oriented-small);
    padding-bottom: var(--spacing-root-oriented-small)
}

.form__underlay-close-button:hover,
.form__underlay-close-button:focus {
    cursor: pointer
}

.form__input:-moz-placeholder-shown+.form__label {
    bottom: 0;
    top: auto;
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard))
}

.form__input:-ms-input-placeholder+.form__label {
    bottom: 0;
    top: auto;
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard))
}

.form__input:placeholder-shown+.form__label {
    bottom: 0;
    top: auto;
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard))
}

.form__input:-moz-placeholder-shown+.form__label {
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    line-height: var(--line-height-small);
    color: var(--color-accent-light-blue)
}

.form__input:-ms-input-placeholder+.form__label {
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    line-height: var(--line-height-small);
    color: var(--color-accent-light-blue)
}

.form__label--upload,
.form__input:placeholder-shown+.form__label {
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    line-height: var(--line-height-small);
    color: var(--color-accent-light-blue)
}

.form__input:focus-visible {
    outline: auto
}

.form__input:focus {
    outline: none
}

.form__input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 50px rgba(0, 0, 0, 0) inset;
    -webkit-text-fill-color: var(--color-accent-blue)
}

.form__input:-webkit-autofill,
.form__input:-webkit-autofill:hover,
.form__input:-webkit-autofill:focus,
.form__input:-webkit-autofill:active {
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s
}

.form__input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 50px var(--color-white) inset;
    -webkit-text-fill-color: var(--color-accent-blue)
}

.form__input-field--textarea .form__input:-moz-placeholder-shown+.form__label {
    top: calc(var(--font-size-x-small)*var(--line-height-small))
}

.form__input-field--textarea .form__input:-ms-input-placeholder+.form__label {
    top: calc(var(--font-size-x-small)*var(--line-height-small))
}

.form__input-field--textarea .form__input:placeholder-shown+.form__label {
    top: calc(var(--font-size-x-small)*var(--line-height-small))
}

.form__input--textarea {
    min-height: 15.625rem
}

.form__upload-input-field {
    padding-top: calc(var(--font-size-x-small)*var(--line-height-small));
    margin-bottom: var(--spacing-large)
}

.form__underlay-close-button--hidden {
    display: none
}

.form__upload-button-underlay {
    color: var(--color-accent-light-blue);
    border-radius: var(--spacing-large);
    font-size: var(--font-size-small);
    padding: var(--spacing-root-oriented-small) var(--spacing-root-oriented-medium);
    text-decoration: none;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid var(--color-accent-light-blue)
}

.form__upload-button-underlay:hover,
.form__upload-button-underlay:focus {
    cursor: pointer
}

.form__upload-button-underlay--active {
    z-index: 100;
    padding: 5px var(--spacing-root-oriented-small);
    margin-bottom: var(--spacing-root-oriented-small)
}

.form__upload-button-underlay--active:hover,
.form__upload-button-underlay--active:focus {
    cursor: initial
}

.form__upload-button-underlay--active+.form__upload-button {
    display: none
}

.form__upload-button-underlay--active .icon.icon--small {
    height: .8rem;
    width: .8rem
}

.form__upload-button-underlay--active .form__underlay-close-button--hidden {
    display: inline-block
}

.form__file-button-wrapper {
    position: relative
}

.form__file-button-wrapper .form__upload-button {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    z-index: 50
}

.form.form--job {
    margin-bottom: 0
}

.form.form--job .form__input--textarea {
    min-height: 10rem
}

.section.section--blue .form:not(.modal .form) .form__input-field {
    border-bottom-color: var(--color-accent-light-blue)
}

.section.section--blue .form:not(.modal .form) .form__label:not(.form__label--upload) {
    color: var(--color-accent-light-blue)
}

.section.section--blue .form:not(.modal .form) .form__input,
.section.section--blue .form:not(.modal .form) .form__annotation {
    color: var(--color-white)
}

.section.section--blue .form:not(.modal .form) .form__upload-button-underlay {
    background-color: rgba(0, 0, 0, 0);
    border-color: var(--color-accent-light-blue);
    color: var(--color-accent-light-blue)
}

.section.section--blue .form:not(.modal .form) .form__annotation {
    color: var(--color-white)
}

.section.section--blue .form:not(.modal .form) .form__upload-button-underlay--active {
    background-color: var(--color-white);
    color: var(--color-accent-blue);
    border-color: var(--color-white)
}

.section.section--blue .form:not(.modal .form) .form__input:-moz-placeholder-shown+.form__label {
    color: var(--color-white)
}

.section.section--blue .form:not(.modal .form) .form__input:-ms-input-placeholder+.form__label {
    color: var(--color-white)
}

.section.section--blue .form:not(.modal .form) .form__label--upload,
.section.section--blue .form:not(.modal .form) .form__input:placeholder-shown+.form__label {
    color: var(--color-white)
}

.section.section--blue .form:not(.modal .form) .form__input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 50px rgba(0, 0, 0, 0) inset;
    -webkit-text-fill-color: var(--color-white)
}

.section.section--blue .form:not(.modal .form) .form__input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 50px var(--color-accent-blue) inset;
    -webkit-text-fill-color: var(--color-white)
}

.gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: calc(var(--spacing-root-oriented-medium)*2);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media(min-width: 56.25rem) {
    .gallery {
        -webkit-box-orient: initial;
        -webkit-box-direction: initial;
        -ms-flex-direction: initial;
        flex-direction: initial
    }
}

.gallery__wrapper {
    -ms-flex-item-align: center;
    align-self: center
}

@media(min-width: 56.25rem) {
    .gallery__wrapper {
        padding-right: calc(var(--spacing-root-oriented-medium)*2)
    }
}

.gallery__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.gallery__list-item {
    padding-right: var(--spacing-root-oriented-medium)
}

.gallery__container {
    position: relative
}

.gallery__controls {
    display: none
}

@media(min-width: 56.25rem) {
    .gallery__controls {
        position: absolute;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        top: 0;
        height: 100%;
        width: 100%;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 100
    }
}

.gallery__button {
    height: 100%;
    width: calc(var(--spacing-root-oriented-medium)*2);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-transform: translateX(calc(var(--spacing-root-oriented-medium) * -2));
    -ms-transform: translateX(calc(var(--spacing-root-oriented-medium) * -2));
    transform: translateX(calc(var(--spacing-root-oriented-medium) * -2))
}

.gallery__button:hover,
.gallery__button:focus {
    cursor: pointer
}

.gallery__button--right {
    -webkit-transform: rotate(180deg) translateX(calc(var(--spacing-root-oriented-medium) * -2));
    -ms-transform: rotate(180deg) translateX(calc(var(--spacing-root-oriented-medium) * -2));
    transform: rotate(180deg) translateX(calc(var(--spacing-root-oriented-medium) * -2))
}

.gallery__image {
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    max-height: 31.25rem
}

@media(min-width: 56.25rem) {
    .gallery__image {
        max-width: 40rem
    }
}

.gallery__navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: var(--spacing-x-small);
    padding-top: var(--font-size-medium)
}

.gallery__navigation-item {
    opacity: 1;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.gallery__navigation-item {
    max-width: 5.25rem;
    max-height: 4.25rem;
    aspect-ratio: 4/3
}

.gallery__thumbnail {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.gallery__thumbnail:hover,
.gallery__thumbnail:focus {
    cursor: pointer
}

.gallery__wrapper,
.gallery__context {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.gallery__navigation-item.tns-nav-active {
    opacity: 50%
}

.header {
    background-color: var(--color-light-gray);
    -webkit-box-shadow: 0 0 var(--spacing-small) rgba(0, 0, 0, .3);
    box-shadow: 0 0 var(--spacing-small) rgba(0, 0, 0, .3);
    margin-left: auto;
    margin-right: auto;
    max-width: var(--default-outer-width);
    position: sticky;
    top: 0;
    width: 100%;
    z-index: var(--z-index-higher)
}

.header__container {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    padding-top: 15px;
    padding-bottom: 15px;
    width: min(90%, var(--default-inner-width))
}

.header--sticky .header__container {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.header__link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.header--sticky .header__link {
    padding: 0
}

.header__link:focus {
    outline: auto
}

@media(min-width: 68.75rem) {
    .header {
        -webkit-box-shadow: none;
        box-shadow: none
    }

    .header--sticky {
        -webkit-box-shadow: 0 0 var(--spacing-small) rgba(0, 0, 0, .3);
        box-shadow: 0 0 var(--spacing-small) rgba(0, 0, 0, .3);
        position: sticky;
        min-height: auto
    }

    .header__container {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding-top: var(--spacing-large);
        padding-bottom: 0
    }

    .header--sticky .header__container {
        padding-top: 0;
        -webkit-transition: all .3s ease;
        -o-transition: all .3s ease;
        transition: all .3s ease
    }
}

@media print {
    .header {
        height: auto;
        -webkit-box-shadow: none;
        box-shadow: none
    }
}

.headline {
    display: block;
    font-family: var(--font-family-accent);
    font-size: clamp(var(--font-size-standard), 5vw, var(--font-size-large));
    margin-bottom: var(--spacing-root-oriented-medium)
}

.headline.headline--large {
    font-size: clamp(var(--font-size-standard), 4vw, var(--font-size-x-large));
    font-family: var(--font-family-accent)
}

.icon {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    height: var(--spacing-root-oriented-large);
    margin-right: var(--spacing-x-small);
    width: var(--spacing-root-oriented-large);
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.icon.icon--has-sub-menu {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.icon.icon--small {
    height: 1rem;
    width: 1rem
}

.icon.icon--padding-right {
    padding-right: var(--spacing-x-small)
}

.icon.icon--rotate-270 {
    -webkit-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg)
}

.icon__stroke {
    fill: rgba(0, 0, 0, 0);
    stroke: var(--color-accent-blue);
    stroke-miterlimit: 10;
    stroke-width: 2px
}

.icon__path {
    fill: rgba(0, 0, 0, 0)
}

.icon__layer {
    -webkit-transform: translate(-2px, -2px);
    -ms-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px)
}

.icon__layer.icon__layer--one {
    opacity: 1;
    fill: var(--color-accent-blue)
}

.icon__layer.icon__layer--two {
    opacity: 0;
    fill: var(--color-accent-blue)
}

.icon--x .icon__line {
    fill: none;
    stroke: #191955;
    stroke-width: 1.5
}

.icon--thin.icon--x .icon__line {
    stroke-width: .8
}

@media(min-width: 68.7rem) {
    .icon.icon-has--sub-menu {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg)
    }
}

@media(prefers-reduced-motion: no-preference) {

    .icon__stroke,
    .icon__path,
    .icon__layer {
        -webkit-transition: all .3s ease;
        -o-transition: all .3s ease;
        transition: all .3s ease
    }
}

.icon--gallery,
.icon--slider {
    height: initial;
    width: initial;
    margin: 0
}

.icon--gallery .icon__path,
.icon--slider .icon__path {
    fill: none;
    stroke: var(--color-accent-light-blue);
    stroke-linecap: round;
    stroke-width: .1rem
}

.image-card-carousel {
    padding-bottom: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum))
}

.image-card-carousel .tns-inner {
    padding: calc(var(--spacing-medium)*2) var(--spacing-medium)
}

.image-card-carousel__list {
    cursor: -webkit-grab;
    cursor: grab;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media(min-width: 64rem) {
    .image-card-carousel {
        max-width: var(--default-inner-width);
        margin-left: auto;
        margin-right: auto;
        padding-left: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
        padding-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3)
    }

    .image-card-carousel .tns-ovh {
        overflow: visible
    }

    .image-card-carousel .tns-inner {
        padding: 0
    }

    .image-card-carousel__list {
        cursor: initial;
        display: grid;
        grid-template-columns: repeat(3, 1fr)
    }
}

.image-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    margin-bottom: var(--spacing-root-oriented-large);
    padding-bottom: calc(var(--spacing-medium)*2);
    padding-top: calc(var(--spacing-medium)*2);
    row-gap: calc(var(--spacing-root-oriented-medium)*2)
}

.image-list__item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.image-list__image {
    height: 4.5rem;
    margin-bottom: var(--spacing-root-oriented-large);
    width: 4.5rem
}

.image-list__text {
    font-size: var(--font-size-small)
}

@media(min-width: 68.7rem) {
    .image-list {
        grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr))
    }
}

.jobs {
    margin-bottom: var(--spacing-large)
}

.jobs>* {
    margin-bottom: var(--spacing-small)
}

.jobs__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--spacing-medium);
    padding: var(--spacing-medium);
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: var(--color-light-gray);
    color: var(--color-accent-blue);
    text-decoration: none
}

.section--blue .jobs__item,
.section--green .jobs__item,
.section--violet .jobs__item,
.section--accent .jobs__item {
    background-color: var(--color-white)
}

.jobs__title {
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    font-weight: bold;
    margin-bottom: var(--spacing-small)
}

.jobs__icons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-column-gap: var(--spacing-large);
    -moz-column-gap: var(--spacing-large);
    column-gap: var(--spacing-large);
    row-gap: var(--spacing-small)
}

.jobs__attribute {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--spacing-x-small);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.jobs__empty {
    text-align: center;
    padding: var(--spacing-large) 0
}

.link,
.modal__open-button {
    text-decoration: underline;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    border-radius: var(--spacing-medium);
    position: relative
}

.link--no-underline {
    text-decoration: none
}

.link:hover,
.modal__open-button:hover {
    cursor: pointer
}

.link:hover,
.modal__open-button:hover,
.link:focus,
.modal__open-button:focus {
    text-decoration: none
}

.link.link--accent-green,
.link--accent-green.modal__open-button {
    color: var(--color-accent-green)
}

.link.link--accent-mauve,
.link--accent-mauve.modal__open-button {
    color: var(--color-accent-mauve)
}

.link.link--accent-violet,
.link--accent-violet.modal__open-button {
    color: var(--color-accent-violet)
}

.link.link--highlight,
.modal__open-button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--color-accent-light-blue);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    margin-top: var(--spacing-medium);
    text-decoration: none
}

.link--button {
    color: var(--color-white);
    background-color: var(--color-accent-light-blue);
    border-radius: var(--spacing-large);
    font-size: var(--font-size-small);
    padding: var(--spacing-root-oriented-small) var(--spacing-root-oriented-medium);
    text-decoration: none
}

.paragraph+.link.link--highlight,
.paragraph+.modal__open-button {
    margin-top: 0
}

.link__icon {
    height: auto;
    margin-left: var(--spacing-medium);
    width: calc(var(--spacing-root-oriented-medium)*2);
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.link--highlight:hover .link__icon,
.modal__open-button:hover .link__icon,
.link--button:hover .link__icon,
.link--highlight:focus .link__icon,
.modal__open-button:focus .link__icon,
.link--button:focus .link__icon {
    color: var(--color-accent-blue)
}

.link--highlight:focus-visible,
.modal__open-button:focus-visible {
    outline: auto;
    padding-left: var(--spacing-medium);
    padding-right: var(--spacing-medium)
}

@media(prefers-reduced-motion: no-preference) {

    .link--highlight:hover .link__icon,
    .modal__open-button:hover .link__icon,
    .link--button:hover .link__icon,
    .link--highlight:focus .link__icon,
    .modal__open-button:focus .link__icon,
    .link--button:focus .link__icon {
        -webkit-transform: translateX(var(--spacing-x-small));
        -ms-transform: translateX(var(--spacing-x-small));
        transform: translateX(var(--spacing-x-small))
    }
}

.link__icon-stroke {
    fill: none;
    stroke: var(--color-accent-light-blue)
}

.link__icon--current {
    stroke: currentColor
}

.link__icon--current .link__icon-stroke {
    stroke: currentColor
}

.link--button .link__icon-stroke {
    stroke: var(--color-white)
}

.link--contact-info {
    padding-right: 35px;
    display: inline-block
}

.link--contact-info::after {
    content: "";
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g id="icon" transform="translate(0.036)"><rect id="Rectangle_437" data-name="Rectangle 437" width="24" height="24" transform="translate(-0.036)" fill="none"/><path id="Path_1943" data-name="Path 1943" d="M95.652,52.236h4.591V39.993H88v4.591" transform="translate(-79.861 -36.993)" fill="none" stroke="%23191955" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/><rect id="Rectangle_438" data-name="Rectangle 438" width="12" height="12" transform="translate(2.965 8.418)" fill="none" stroke="%23191955" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/></g></svg>');
    background-repeat: no-repeat;
    width: 24px;
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
    height: 24px
}

.list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.list__item {
    width: 100%
}

.list__item:not(:last-child) {
    border-bottom: .1rem solid var(--color-accent-blue)
}

.list.list--wrapped .list__item:first-child {
    -webkit-box-flex: 100%;
    -ms-flex: 100%;
    flex: 100%
}

.list.list--wrapped .list__item:not(:first-child) {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: max(50%, 25rem)
}

@media(min-width: 56.25rem) {
    .list.list--wrapped .list__item:not(:first-child) {
        border-bottom: none
    }
}

.logo {
    height: auto;
    width: 100%;
    max-width: clamp(170px, 100%, 18.7rem);
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.logo__path-dark {
    fill: var(--color-alert);
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.logo__path-light {
    fill: var(--color-accent-blue)
}

.logo--white .logo__path-dark,
.logo--white .logo__path-light {
    fill: var(--color-white)
}

@media(min-width: 68.7rem) {
    .logo {
        padding: 0
    }

    .logo--sticky {
        height: 3.125rem;
        -webkit-transform: translateY(10%);
        -ms-transform: translateY(10%);
        transform: translateY(10%)
    }
}

.main-navigation {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: var(--spacing-x-large)
}

.main-navigation.main-navigation--highlight {
    color: var(--color-white)
}

.main-navigation__button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: var(--color-accent-blue);
    margin-left: auto;
    font-size: clamp(var(--font-size-small), 5vw, var(--font-size-standard));
    padding-bottom: var(--spacing-root-oriented-small);
    padding-top: var(--spacing-root-oriented-small)
}

.main-navigation__list {
    background-color: var(--color-light-gray);
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    left: 0;
    overflow: scroll;
    padding-bottom: var(--spacing-x-large);
    position: absolute;
    top: 100%;
    width: 100%
}

.main-navigation__list.main-navigation__list--visible {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100vh
}

.main-navigation__content {
    font-family: var(--font-family-accent);
    font-size: clamp(1.75rem, 5vw, var(--font-size-large));
    line-height: var(--line-height-small);
    margin-bottom: var(--font-size-large);
    margin-top: var(--font-size-large)
}

.main-navigation__item {
    position: relative
}

.main-navigation__content,
.main-navigation__item {
    display: block;
    margin-left: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
    margin-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
    width: auto
}

.main-navigation__item:not(:last-child) {
    border-bottom: .1rem solid var(--color-accent-light-blue)
}

.main-navigation__link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-family: var(--font-family-accent);
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-medium));
    font-weight: bold;
    padding-top: var(--spacing-medium);
    padding-bottom: var(--spacing-medium);
    text-decoration: none;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    font-variation-settings: "wght" 500
}

.main-navigation__link:focus {
    outline: auto
}

.main-navigation__link ::before {
    content: " ";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.main-navigation__link ::after {
    content: " ";
    position: absolute;
    display: block;
    width: 100%;
    height: .125rem;
    bottom: -2px;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    background-color: var(--color-accent-blue)
}

@media(prefers-reduced-motion: no-preference) {
    .main-navigation__link ::after {
        -webkit-transition: -webkit-transform .3s ease;
        transition: -webkit-transform .3s ease;
        -o-transition: transform .3s ease;
        transition: transform .3s ease;
        transition: transform .3s ease, -webkit-transform .3s ease
    }
}

.main-navigation__link.main-navigation__link--active {
    font-weight: bold
}

.main-navigation__link-text {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none
}

.main-navigation__link[aria-current=page]>.main-navigation__link-text {
    color: var(--color-accent-blue)
}

@media(min-width: 56.005rem)and (pointer: fine) {
    .main-navigation__link[aria-current=page]>.main-navigation__link-text {
        color: var(--color-accent-blue)
    }
}

@media(max-width: 56.005rem) {
    .main-navigation__link[aria-current=page]>.main-navigation__link-text::after {
        background-color: var(--color-accent-blue)
    }
}

.main-navigation__link:hover .main-navigation__link-text::after,
.main-navigation__link[aria-current=page]>.main-navigation__link-text::after,
.main-navigation__link:focus .main-navigation__link-text::after {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1)
}

@media(min-width: 56.005rem)and (pointer: fine) {
    .main-navigation__link[aria-current=true]>.main-navigation__link-text::after {
        -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@media(min-width: 56.005rem)and (pointer: fine) {
    .main-navigation__link :focus-visible::before {
        outline: 3px solid var(--color-accent-blue);
        outline-offset: 3px;
        -webkit-box-shadow: 0 0 0 6px var(--color-medium-gray);
        box-shadow: 0 0 0 6px var(--color-medium-gray)
    }
}

.main-navigation .icon__path.icon__path--filled {
    fill: var(--color-accent-blue)
}

.main-navigation__link:focus-visible .icon__stroke--filled,
.main-navigation__link:focus-visible .icon__path--filled,
.main-navigation__link:hover .icon__stroke--filled,
.main-navigation__link:hover .icon__path--filled,
.main-navigation__link.main-navigation__link--active .icon__stroke--filled,
.main-navigation__link.main-navigation__link--active .icon__path--filled,
.main-navigation__link:focus .icon__stroke--filled,
.main-navigation__link:focus .icon__path--filled {
    fill: var(--color-accent-blue)
}

.main-navigation__link:focus-visible .icon__stroke--color-change,
.main-navigation__link:hover .icon__stroke--color-change,
.main-navigation__link.main-navigation__link--active .icon__stroke--color-change,
.main-navigation__link:focus .icon__stroke--color-change {
    stroke: var(--color-white)
}

.main-navigation__link:focus-visible .icon__layer.icon__layer--one,
.main-navigation__link:hover .icon__layer.icon__layer--one,
.main-navigation__link.main-navigation__link--active .icon__layer.icon__layer--one,
.main-navigation__link:focus .icon__layer.icon__layer--one {
    opacity: 0
}

.main-navigation__link:focus-visible .icon__layer.icon__layer--two,
.main-navigation__link:hover .icon__layer.icon__layer--two,
.main-navigation__link.main-navigation__link--active .icon__layer.icon__layer--two,
.main-navigation__link:focus .icon__layer.icon__layer--two {
    opacity: 1
}

.main-navigation.main-navigation--highlight .main-navigation__list {
    background-color: var(--color-accent-blue)
}

.main-navigation.main-navigation--highlight .icon__stroke {
    stroke: var(--color-white)
}

.main-navigation.main-navigation--highlight .main-navigation__link:hover .icon__stroke--filled,
.main-navigation.main-navigation--highlight .main-navigation__link:focus .icon__stroke--filled,
.main-navigation.main-navigation--highlight .icon__path--filled {
    fill: var(--color-white)
}

.main-navigation.main-navigation--highlight .main-navigation__link:hover .icon__stroke--color-change,
.main-navigation.main-navigation--highlight .main-navigation__link:focus .icon__stroke--color-change {
    stroke: var(--color-accent-blue)
}

@media(min-width: 68.7rem) {
    .main-navigation__button {
        display: none
    }

    .main-navigation__list {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background-color: rgba(0, 0, 0, 0);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        padding-bottom: 0;
        overflow: initial;
        position: initial
    }

    .main-navigation__list.main-navigation__list--visible {
        height: auto
    }

    .main-navigation__link {
        font-size: .9rem;
        text-decoration: none;
        padding: 0;
        position: relative
    }

    .main-navigation__content {
        display: none
    }

    .main-navigation__item {
        display: inline-block;
        padding: var(--spacing-small) var(--spacing-medium);
        margin: 0;
        width: auto
    }

    .main-navigation__item:not(:last-child) {
        border-bottom: none
    }

    .main-navigation__item.main-navigation__item--has-children {
        position: relative
    }

    .main-navigation__item.main-navigation__item--has-children:hover .sub-navigation__list,
    .main-navigation__item.main-navigation__item--has-children:focus .sub-navigation__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        z-index: 100
    }

    .main-navigation--sticky .main-navigation__link {
        margin-top: var(--spacing-medium);
        margin-bottom: var(--spacing-medium)
    }

    .main-navigation--highlight .main-navigation__list {
        background-color: rgba(0, 0, 0, 0)
    }
}

@media(max-width: 68.695rem) {
    .main-navigation__item.main-navigation__item--language-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: var(--spacing-small);
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media(min-width: 68.7rem)and (pointer: fine) {
    .main-navigation {
        -webkit-box-flex: 2;
        -ms-flex: 2;
        flex: 2
    }
}

@media print {
    .main-navigation {
        display: none
    }
}

.modal__content,
.modal__content[open] {
    color: var(--color-accent-blue);
    padding: 2.5rem;
    width: 90%;
    max-width: 45rem;
    border: 1px solid var(--color-accent-blue)
}

.modal__content::-webkit-backdrop,
.modal__content[open]::-webkit-backdrop {
    background: var(--color-accent-blue);
    opacity: 50%
}

.modal__content::backdrop,
.modal__content[open]::backdrop {
    background: var(--color-accent-blue);
    opacity: 50%
}

.modal__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.modal__open-button {
    margin-bottom: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum))
}

@media(min-width: 56.25rem) {
    .modal__open-button {
        padding-left: 0;
        margin-bottom: 0
    }
}

.modal__close-button {
    -ms-flex-item-align: end;
    align-self: flex-end
}

.modal__close-button:hover,
.modal__close-button:focus {
    cursor: pointer
}

.modal__close-button .icon {
    height: 1.75rem;
    width: 1.75rem
}

.modal .form .icon--x .icon__line {
    stroke: var(--color-accent-light-blue)
}

.modal .rich-text {
    color: var(--color-accent-blue)
}

.overline {
    font-size: var(--font-size-small);
    margin-bottom: clamp(var(--spacing-root-oriented-large), 5vw, var(--spacing-root-oriented-large) + var(--spacing-root-oriented-small))
}

.paragraph {
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    margin-bottom: var(--spacing-root-oriented-medium)
}

.plain-teaser {
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard))
}

.plain-teaser__header {
    position: relative;
    background-color: var(--color-accent-blue);
    height: 0;
    padding-top: 75%;
    margin-bottom: var(--spacing-root-oriented-medium)
}

.plain-teaser__icon-container {
    position: absolute;
    inset: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.plain-teaser__title {
    font-weight: bold;
    margin-bottom: var(--spacing-root-oriented-small)
}

.product-carousel {
    position: relative;
    padding-bottom: var(--spacing-root-oriented-small);
    padding-top: var(--spacing-root-oriented-small);
    margin-top: 120px
}

.product-carousel__panel {
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.product-carousel__column {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.product-carousel__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: var(--color-accent-blue);
    height: 100%;
    padding-left: clamp(var(--spacing-medium), 5vw, 110px);
    padding-right: var(--spacing-medium);
    padding-top: var(--spacing-large);
    padding-bottom: var(--spacing-large)
}

.product-carousel__panel--active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: var(--z-index-low)
}

.product-carousel__header {
    position: relative;
    height: 100%;
    width: 100%;
    padding-top: 100%;
    z-index: var(--z-index-low)
}

.product-carousel__panel--gray .product-carousel__content {
    background-color: var(--color-light-gray)
}

.product-carousel__panel--light-blue .product-carousel__content {
    background-color: var(--color-accent-light-blue)
}

.product-carousel__panel--light-blue .product-carousel__content .link.link--highlight,
.product-carousel__panel--light-blue .product-carousel__content .modal__open-button {
    color: var(--color-accent-blue)
}

.product-carousel__background-image {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: var(--z-index-lower)
}

.product-carousel__header picture:has(.product-carousel__background-image) {
    position: absolute;
    inset: 0
}

.product-carousel__controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--spacing-small);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: calc(var(--spacing-large)*-2);
    width: 100%;
    z-index: var(--z-index-high)
}

.product-carousel__tab {
    height: 6rem;
    width: 6rem;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 2px solid var(--color-accent-blue);
    background-color: var(--color-white);
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    border-radius: 8px;
    -webkit-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    cursor: pointer
}

.product-carousel__tab.product-carousel__tab--active {
    background-color: var(--color-accent-blue);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

.product-carousel__tab * {
    pointer-events: none
}

.product-carousel__tab:focus-visible {
    outline: none;
    border: 2px solid var(--color-accent-light-blue);
    border-radius: 8px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

.product-carousel .product-carousel__product-carousel__image-container {
    padding-top: calc(var(--spacing-medium)*2 + var(--spacing-root-oriented-medium))
}

@media(min-width: 62.5rem) {
    .product-carousel {
        margin-top: var(--spacing-medium)
    }

    .product-carousel__panel {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }

    .product-carousel__controls {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        bottom: var(--spacing-medium);
        left: calc(var(--spacing-large)*-1);
        top: auto;
        width: auto
    }
}

.product-icon {
    height: var(--spacing-root-oriented-large);
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none
}

.product-icon.product-icon--padding-right {
    padding-right: var(--spacing-small)
}

.product-icon.product-icon--green .product-icon__outline {
    stroke: var(--color-accent-light-green);
    fill: var(--color-white);
    stroke-width: 2.5px
}

.product-icon.product-icon--green .product-icon__detail {
    fill: var(--color-accent-green)
}

.product-icon.product-icon--mauve .product-icon__outline {
    stroke: var(--color-accent-light-mauve);
    fill: var(--color-white);
    stroke-width: 2.5px
}

.product-icon.product-icon--mauve .product-icon__line {
    stroke: var(--color-accent-light-mauve);
    fill: none;
    stroke-width: 2.5px
}

.product-icon.product-icon--violet .product-icon__outline {
    stroke: var(--color-white);
    fill: var(--color-accent-light-violet);
    stroke-width: 2.5px
}

.product-icon.product-icon--violet .product-icon__detail {
    fill: var(--color-accent-violet)
}

.product-icon.product-icon--violet .product-icon__line {
    fill: var(--color-accent-light-violet)
}

.rich-text {
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    max-width: 65ch
}

.rich-text ul,
.rich-text ol {
    padding: 1.5rem 0;
    list-style-position: outside
}

.rich-text ul {
    list-style-type: none
}

.rich-text ol {
    list-style-type: decimal
}

.rich-text p {
    margin-bottom: clamp(var(--spacing-root-oriented-small), 5vw, var(--spacing-root-oriented-medium))
}

.rich-text ol,
.rich-text .list {
    display: block;
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    list-style-position: inside;
    list-style-type: disc;
    padding-bottom: var(--spacing-medium);
    padding-top: var(--spacing-medium)
}

.rich-text ul li {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31' height='11' viewBox='0 0 31 11'%3E%3Cg id='Group_4737' data-name='Group 4737' transform='translate(-1069.5 -3262.5)'%3E%3Cg id='arrow-right' transform='translate(1098.5 3262)'%3E%3Cline id='Line_4' data-name='Line 4' x1='30' transform='translate(-28.5 6)' fill='none' stroke='%2374a8ea' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'/%3E%3C/g%3E%3Cg id='arrow-right-2' data-name='arrow-right' transform='translate(1076 3291.5) rotate(90)'%3E%3Cline id='Line_4-2' data-name='Line 4' x1='10' transform='translate(-28.5 6)' fill='none' stroke='%2374a8ea' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
    line-height: var(--line-height-small);
    background-position: left .34em;
    background-repeat: no-repeat;
    background-size: 1.25em;
    padding-left: var(--spacing-root-oriented-x-large);
    margin-bottom: var(--spacing-root-oriented-large)
}

.rich-text .checklist li {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.8 16.8'%3E%3Cg transform='translate(0.5 0.895)'%3E%3Cpath d='M13.6,11v2.6c0,0.7-0.6,1.3-1.3,1.3H1.8c-0.7,0-1.3-0.6-1.3-1.3l0,0V3.1c0-0.7,0.6-1.3,1.3-1.3 h6.6' stroke='%23191955' stroke-width='2' stroke-miterlimit='10' fill='none'/%3E%3Cpath d='M4.4,5.7l3.9,3.9l6.6-9.2' stroke='%23191955' stroke-width='2' stroke-miterlimit='10' fill='none'/%3E%3C/g%3E%3C/svg%3E");
    background-position: left .15em;
    background-size: var(--spacing-root-oriented-medium);
    color: var(--color-accent-blue);
    padding-left: var(--spacing-root-oriented-large);
    margin-bottom: var(--spacing-root-oriented-small)
}

.rich-text h2,
.rich-text h2 .subline {
    padding-top: var(--spacing-root-oriented-small);
    margin-bottom: var(--spacing-root-oriented-medium);
    font-size: 1.75rem
}

.rich-text h3,
.rich-text h3 .subline {
    padding-top: var(--spacing-root-oriented-small);
    margin-bottom: var(--spacing-root-oriented-small);
    font-size: 1.625rem
}

.rich-text .overline {
    font-size: var(--font-size-small)
}

.rich-text.rich-text--light,
.section--green .rich-text:not(.modal .rich-text),
.section--violet .rich-text:not(.modal .rich-text),
.section--blue .rich-text:not(.modal .rich-text),
.product-carousel__panel:not(.product-carousel__panel--gray) .product-carousel__content .rich-text {
    color: var(--color-white)
}

.rich-text.rich-text--light .checklist li,
.section--green .rich-text:not(.modal .rich-text) .checklist li,
.section--violet .rich-text:not(.modal .rich-text) .checklist li,
.section--blue .rich-text:not(.modal .rich-text) .checklist li,
.product-carousel__panel:not(.product-carousel__panel--gray) .product-carousel__content .rich-text .checklist li {
    color: var(--color-white);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.8 16.8'%3E%3Cg transform='translate(0.5 0.895)'%3E%3Cpath d='M13.6,11v2.6c0,0.7-0.6,1.3-1.3,1.3H1.8c-0.7,0-1.3-0.6-1.3-1.3l0,0V3.1c0-0.7,0.6-1.3,1.3-1.3 h6.6' stroke='%23ffffff' stroke-width='2' stroke-miterlimit='10' fill='none'/%3E%3Cpath d='M4.4,5.7l3.9,3.9l6.6-9.2' stroke='%23ffffff' stroke-width='2' stroke-miterlimit='10' fill='none'/%3E%3C/g%3E%3C/svg%3E")
}

@media(max-width: 56.25rem) {
    .section.section--accent .section__first-column .rich-text {
        padding-top: var(--spacing-large)
    }

    .rich-text ul li {
        padding-left: 2.5rem
    }
}

.section {
    background: var(--color-white);
    margin-left: auto;
    margin-right: auto;
    max-width: var(--default-outer-width);
    position: relative
}

.section.section:not(.section--shifted, .section.section--accent-overlapped) {
    overflow: hidden
}

.section--accent {
    background-color: var(--color-light-gray)
}

.section--blue {
    background-color: var(--color-accent-blue)
}

.section--violet {
    background-color: var(--color-accent-violet)
}

.section--green {
    background-color: var(--color-accent-green)
}

.section--light-blue {
    background-color: var(--color-accent-light-blue)
}

.section__wrapper {
    max-width: var(--default-inner-width);
    margin-left: auto;
    margin-right: auto;
    padding-top: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum));
    padding-bottom: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum));
    padding-left: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
    padding-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3)
}

.section__wrapper--no-bottom-padding {
    padding-bottom: 0
}

.section__wrapper--small-bottom-padding {
    padding-bottom: var(--spacing-medium)
}

.section__wrapper--small-top-padding {
    padding-top: var(--spacing-medium)
}

.section__wrapper--medium-vertical-padding {
    padding-top: var(--spacing-root-oriented-x-large);
    padding-bottom: var(--spacing-root-oriented-x-large)
}

.section__wrapper--large-bottom-padding {
    padding-bottom: var(--spacing-large)
}

.section__wrapper--inner-width-medium {
    max-width: var(--inner-width-medium)
}

.section__background-image {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: var(--z-index-negative)
}

.section__image {
    -o-object-fit: contain;
    object-fit: contain
}

.section.section--two-column .section__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 0;
    padding-bottom: 0
}

.section.section--two-column .section__second-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-height: 600px;
    min-width: 40%
}

.section.section--features {
    background-color: var(--color-accent-blue)
}

.section.section--shifted {
    margin-bottom: calc(var(--spacing-large)*2)
}

.section.section--shifted .section__image {
    position: relative;
    z-index: var(--z-index-lower);
    margin-bottom: calc(var(--spacing-large)*-2)
}

.section.section--shifted.section--two-column .section__first-column {
    margin-bottom: 0;
    padding-left: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
    padding-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3)
}

.section.section--shifted.section--two-column .section__second-column {
    max-height: 100%
}

.section.section--shifted.section--two-column .section__wrapper {
    padding-left: 0;
    padding-right: 0
}

.section.section--two-column.section--features .section__wrapper {
    padding-left: 0;
    padding-right: 0
}

.section.section--two-column.section--features .section__first-column {
    color: var(--color-white)
}

.section.section--two-column.section--features .section__second-column {
    background-color: var(--color-accent-light-blue)
}

.section.section--two-column.section--features .section__first-column,
.section.section--two-column.section--features .section__second-column {
    padding-top: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum));
    padding-bottom: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum));
    padding-left: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
    padding-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3)
}

.section.section--two-column.section--features .section__image {
    height: 100%;
    width: 100%
}

@media(min-width: 56.25rem) {
    .section--accent-overlapped {
        padding-top: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum));
        background-color: var(--color-light-gray)
    }

    .section--accent-overlapped .section__overlap {
        background-color: var(--color-white)
    }

    .section--accent-overlapped .section__overlap .section__wrapper {
        padding-top: 0;
        position: relative;
        top: calc(var(--spacing-root-oriented-large)*-1)
    }

    .section.section--two-column .section__wrapper {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding-right: 0
    }

    .section.section--two-column .section__first-column {
        padding-top: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum));
        padding-bottom: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum))
    }

    .section.section--two-column .section__second-column {
        margin-bottom: 0;
        padding-left: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
        padding-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3)
    }

    .section.section--two-column .section__second-column {
        max-height: initial;
        max-width: 50%
    }

    .section.section--two-column.section--shifted .section__second-column {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end
    }

    .section.section--two-column.section--shifted .section__image {
        max-height: 600px
    }

    .section.section--two-column.section--shifted+.section {
        padding-top: 0
    }

    .section.section--two-column.section--features .section__wrapper {
        max-width: 100%;
        margin: 0;
        position: relative
    }

    .section.section--two-column.section--features .section__first-column {
        width: 60%
    }

    .section.section--two-column.section--features .section__second-column {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        left: 60%;
        min-height: auto;
        position: absolute;
        right: 0;
        top: 0;
        width: auto
    }

    .section.section--two-column.section--accent .section__first-column {
        padding-top: calc(var(--spacing-large)*4 + var(--spacing-medium));
        width: 60%
    }
}

@media(min-width: 80rem) {
    .section__wrapper.section__wrapper--full {
        max-width: var(--default-outer-width);
        padding: 0
    }
}

@media(min-width: 87.5rem) {
    .section.section--two-column.section--features .section__first-column {
        margin-left: 50%;
        -webkit-transform: translateX(calc(var(--default-inner-width) / -2));
        -ms-transform: translateX(calc(var(--default-inner-width) / -2));
        transform: translateX(calc(var(--default-inner-width) / -2));
        width: calc(var(--default-inner-width)/100*60)
    }

    .section.section--two-column.section--features .section__second-column {
        left: calc(50% + var(--default-inner-width)/100*10)
    }
}

@media(min-width: 56.25rem) {
    .section.section--job-application {
        padding-bottom: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum))
    }
}

.section.section--job-application .jobs {
    margin-bottom: var(--spacing-x-large);
    margin-top: var(--spacing-large)
}

.section.section--job-application .rich-text .paragraph:last-child {
    margin-bottom: 0
}

.section.section--job-application .section__wrapper:last-child {
    padding-top: 0
}

@media(min-width: 56.25rem) {
    .section.section--job-application+.section--accent-overlapped {
        padding-top: 0;
        overflow: initial
    }
}

.section.section--job-application+.section--accent-overlapped .section__overlap {
    background-color: var(--color-light-gray)
}

.skip-link {
    background-color: var(--color-accent-blue);
    left: -500%;
    padding: var(--spacing-medium);
    position: fixed;
    z-index: var(--z-index-highest)
}

.skip-link__link {
    background-color: var(--color-accent-light-blue);
    color: var(--color-white);
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    opacity: 50%;
    padding: var(--spacing-medium)
}

.skip-link:focus-within {
    left: 0;
    width: 100%
}

.skip-link__link:focus {
    opacity: 1
}

.slider {
    overflow: hidden;
    padding-bottom: var(--spacing-root-oriented-small);
    padding-top: var(--spacing-root-oriented-small);
    position: relative
}

.slider::before,
.slider::after {
    background: -webkit-gradient(linear, left top, right top, from(var(--color-white)), to(transparent));
    background: -o-linear-gradient(left, var(--color-white) 0%, transparent 100%);
    background: linear-gradient(90deg, var(--color-white) 0%, transparent 100%);
    content: " ";
    height: 100%;
    position: absolute;
    top: 0;
    width: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
    z-index: var(--z-index-low)
}

.slider--dark.slider::before,
.slider--dark.slider::after {
    background: -webkit-gradient(linear, left top, right top, from(var(--color-light-gray)), to(transparent));
    background: -o-linear-gradient(left, var(--color-light-gray) 0%, transparent 100%);
    background: linear-gradient(90deg, var(--color-light-gray) 0%, transparent 100%)
}

.slider::before {
    left: 0
}

.slider::after {
    right: 0
}

.slider__button--right .icon--slider,
.slider::after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.slider__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.tns-nav {
    text-align: center
}

.tns-nav button {
    color: var(--color-accent-light-blue);
    background-color: rgba(0, 0, 0, 0);
    border-radius: 50%;
    height: var(--spacing-root-oriented-medium);
    width: var(--spacing-root-oriented-medium);
    padding: 0;
    border: 1px solid currentColor;
    margin-left: var(--spacing-small);
    margin-right: var(--spacing-small);
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out
}

.tns-nav .tns-nav-active {
    background-color: currentColor;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.slider .tns-nav {
    padding-top: var(--spacing-medium)
}

.slider .tns-outer {
    padding-left: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3) !important;
    padding-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3) !important
}

.slider .tns-ovh {
    overflow: visible
}

@media(min-width: 1024px) {
    .slider {
        margin-left: auto;
        margin-right: auto;
        max-width: var(--default-inner-width);
        overflow: hidden;
        padding-bottom: var(--spacing-large);
        padding-top: var(--spacing-large)
    }

    .slider__button {
        padding-top: var(--spacing-medium);
        padding-bottom: var(--spacing-medium);
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        z-index: var(--z-index-middle)
    }

    .slider__button:disabled {
        opacity: 0;
        pointer-events: none
    }

    .slider__button--right {
        padding-left: var(--spacing-medium);
        right: 0
    }

    .slider__button--left {
        padding-right: var(--spacing-medium);
        left: 0
    }
}

.subline {
    display: block;
    font-size: clamp(var(--font-size-medium), 5vw, var(--font-size-standard));
    font-weight: bold;
    margin-bottom: var(--spacing-root-oriented-medium)
}

.sub-navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: small;
    padding: var(--spacing-medium)
}

.sub-navigation__button {
    padding: 0;
    font-size: 1rem
}

.sub-navigation__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media(max-width: 68.695rem) {
    .sub-navigation__button.sub-navigation__button--hidden {
        display: none
    }
}

.sub-navigation__link {
    font-size: var(--font-size-small);
    text-decoration: none;
    display: inline-block;
    padding: var(--spacing-small)
}

.sub-navigation__link:hover,
.sub-navigation__link:focus {
    font-weight: bold
}

.sub-navigation__link.sub-navigation__link--active {
    font-weight: bold
}

@media(min-width: 68.7rem) {
    .sub-navigation__list {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: none;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        position: absolute;
        top: 80%;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        background-color: var(--color-light-gray)
    }

    .sub-navigation__list.sub-navigation__list--visible {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .sub-navigation__link {
        padding: var(--spacing-small) var(--spacing-medium)
    }
}

.teaser-carousel {
    padding-bottom: clamp(var(--spacing-root-oriented-x-large), 10vw, var(--spacing-root-oriented-maximum))
}

.teaser-carousel .tns-item {
    padding-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3)
}

.teaser-carousel__list {
    cursor: -webkit-grab;
    cursor: grab
}

@media(min-width: 80rem) {
    .teaser-carousel {
        max-width: var(--default-inner-width);
        margin-left: auto;
        margin-right: auto;
        padding-left: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3);
        padding-right: clamp(var(--spacing-medium), 5vw, var(--spacing-medium)*3)
    }

    .teaser-carousel .tns-item {
        padding-right: 0
    }

    .teaser-carousel__list {
        cursor: initial;
        display: grid;
        gap: 6rem
    }

    .teaser-carousel__list--3-columns {
        grid-template-columns: repeat(3, 1fr)
    }

    .teaser-carousel__list--4-columns {
        grid-template-columns: repeat(4, 1fr);
        -webkit-column-gap: 3.5rem;
        -moz-column-gap: 3.5rem;
        column-gap: 3.5rem
    }
}

@media(min-width: 87.5rem) {
    .teaser-carousel__list--3-columns {
        -webkit-column-gap: 8rem;
        -moz-column-gap: 8rem;
        column-gap: 8rem
    }

    .teaser-carousel__list--4-columns {
        -webkit-column-gap: 6rem;
        -moz-column-gap: 6rem;
        column-gap: 6rem
    }
}

.form__input-field--checkbox {
    border-bottom: 0;
    margin-bottom: var(--spacing-medium);
    align-items: center;
    padding-top: 0
}

.form__input-field--checkbox .form__checkbox {
    appearance: checkbox;
    -webkit-appearance: checkbox;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: var(--spacing-root-oriented-small);
    cursor: pointer
}

.form__input-field--checkbox .form__label--checkbox {
    position: static;
    font-size: var(--font-size-small);
    width: auto;
    color: var(--color-accent-blue);
    cursor: pointer;
    line-height: var(--line-height-small)
}

.form__input-field--checkbox .form__label--checkbox a {
    color: inherit;
    text-decoration: underline
}

.section.section--blue .form:not(.modal .form) .form__label--checkbox {
    color: var(--color-white)
}