:root {
    --container: 90rem;
    --container-medium: 70rem;
    --container-small: 40rem;
    --container-padding: var(--spacing-4);
    --box-padding: var(--spacing-6);

    --spacing-0: 0;
    --spacing-2: .5rem;
    --spacing-4: 1rem;
    --spacing-6: 1.5rem;
    --spacing-8: 2rem;
    --spacing-10: 2.5rem;
    --spacing-12: 3rem;
    --spacing-16: 4rem;
    --spacing-20: 5rem;
    --spacing-24: 6rem;
    --spacing-36: 9rem;
    --spacing-42: 10.5rem;

    --element-margin: var(--spacing-4);

    --shadow: 0 1px 3px 0 rgba(0,0,0, 0.1), 0 1px 2px 0 rgba(0,0,0, 0.06);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0, 0.1), 0 2px 4px -1px rgba(0,0,0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0, 0.1), 0 4px 6px -2px rgba(0,0,0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0, 0.1), 0 10px 10px -5px rgba(0,0,0, 0.04);

    --rounded-xs: 3px;
}

*,
*::after,
*::before {
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

a {
  color: currentColor;
  text-decoration: none;
}

audio,
canvas,
embed,
figure,
iframe,
img,
object,
svg,
video {
  display: block;
  vertical-align: middle;
}

button {
  font: inherit;
  background: none;
  color: currentColor;
  cursor: pointer;
  line-height: inherit;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

html {
  font-family: var(--font-sans);
  line-height: var(--leading-normal);
}

img {
  max-width: 100%;
  height: auto;
}

input {
  font: inherit;
}

ol,
ul {
  list-style: none;
}

strong,
b {
  font-weight: var(--font-bold);
}

summary {
  cursor: pointer;
}

summary:focus {
  outline: 0;
}

summary:focus-visible {
  outline: solid;
  outline: 5px auto -webkit-focus-ring-color;
}

table {
  font-variant-numeric: tabular-nums;
  border-spacing: 0;
  width: 100%;
}

th,
td {
  text-align: left;
  vertical-align: top;
}

/* Basic */

// MSIE: Required for IEMobile.

@-ms-viewport {
    width: device-width;
}

// MSIE: Prevents scrollbar from overlapping content.

body {
    -ms-overflow-style: scrollbar;
}

// Set box model to border-box.

// Based on css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice

html {
    box-sizing: border-box;
}

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

html {
  scroll-behavior: smooth;
}

body {
  background: var(--color-white);
  overflow-x: hidden;
}

:root {
    --font-sans: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --font-ticker: "Raleway Dots", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";

    --font-normal: 400;
    --font-bold: 700;

    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 1.8;

    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.75rem;
    --text-4xl: 2.5rem;
    --text-6xl: 4rem;
}

/* Typography */

/* raleway-regular - latin */

@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 400;
    src: local(''),
         url('./fonts/raleway-v22-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
         url('./fonts/raleway-v22-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    font-display: swap;
}

/* raleway-700 - latin */

@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 700;
    src: local(''),
            url('./fonts/raleway-v22-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
            url('./fonts/raleway-v22-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    font-display: swap;
}

/* raleway-italic - latin */

@font-face {
    font-family: 'Raleway';
    font-style: italic;
    font-weight: 400;
    src: local(''),
            url('./fonts/raleway-v22-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
            url('./fonts/raleway-v22-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    font-display: swap;
}

/* raleway-italic - latin */

@font-face {
    font-family: 'league spartan bold';
    font-style: normal;
    font-weight: 700;
    src: local(''),
         url('./fonts/LeagueSpartan-Bold.otf') format('truetype');
    font-display: swap;
}

/* raleway-dots-regular - latin */

@font-face {
    font-family: 'Raleway Dots';
    font-style: normal;
    font-weight: 400;
    src: local(''),
         url('./fonts/raleway-dots-v14-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
         url('./fonts/raleway-dots-v14-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    font-display: swap;
}

html {
    font-size: 100%;
    color: var(--color-primary);
}

body, input, select, textarea {
    font-size: 1rem;
    line-height: 1.5;
}

a {
    text-decoration: none;
}

a:hover { text-decoration: none; }

strong, b {
    font-weight: var(--font-bold);
}

em, i {
    font-style: italic;
}

p:not(:last-child) {
        margin-bottom: var(--element-margin);
    }

p.center {
        text-align: center;
    }

p.hightlight {
        text-align: right;
        font-size: 25px;
        line-height: 40px;
        color: var(--color-blue--special);
        font-weight: var(--font-bold);
        margin: calc(var(--element-margin)*2) 0;
    }

h1.underlined, h2.underlined, h3.underlined, h4.underlined, h5.underlined, h6.underlined, p.underlined, span.underlined {
        background-image: linear-gradient(120deg, var(--color-green) 0%, var(--color-green--hover) 100%);
        background-repeat: no-repeat;
        background-size: 100% 0.2em;
        background-position: 0 100%;
        transition: background-size 0.25s ease-in;
        text-align: center;
        display: inline;
        padding-bottom: 0.25em;
        line-height: var(--leading-snug);
    }

h1.underlined-blue, h2.underlined-blue, h3.underlined-blue, h4.underlined-blue, h5.underlined-blue, h6.underlined-blue, p.underlined-blue, span.underlined-blue {
        background-image: linear-gradient(120deg, var(--color-blue) 0%, var(--color-blue) 100%);
        background-repeat: no-repeat;
        background-size: 100% 0.2em;
        background-position: 0 100%;
        transition: background-size 0.25s ease-in;
        display: inline;
        padding-bottom: 0.25em;
        line-height: var(--leading-snug);
    }

h1[class*="-background"], h2[class*="-background"], h3[class*="-background"], h4[class*="-background"], h5[class*="-background"], h6[class*="-background"], p[class*="-background"], span[class*="-background"] {
        display: inline;
        box-decoration-break: clone;
        line-height: 1.8;
        padding: 0.2em 0.4em;
    }

h1.red-background, h2.red-background, h3.red-background, h4.red-background, h5.red-background, h6.red-background, p.red-background, span.red-background {
        background-color: var(--color-red);
        color: var(--color-white);
    }

h1.green-background, h2.green-background, h3.green-background, h4.green-background, h5.green-background, h6.green-background, p.green-background, span.green-background {
        background-color: var(--color-green);
    }

h1.blue-background, h2.blue-background, h3.blue-background, h4.blue-background, h5.blue-background, h6.blue-background, p.blue-background, span.blue-background {
        background-color: var(--color-blue);
        color: var(--color-white);
    }

h1.grey-background, h2.grey-background, h3.grey-background, h4.grey-background, h5.grey-background, h6.grey-background, p.grey-background, span.grey-background {
        background-color: var(--color-primary);
        color: var(--color-white);
    }

h1.text-color-green, h2.text-color-green, h3.text-color-green, h4.text-color-green, h5.text-color-green, h6.text-color-green, p.text-color-green, span.text-color-green {
        color: var(--color-green);
    }

h1.text-color-blue, h2.text-color-blue, h3.text-color-blue, h4.text-color-blue, h5.text-color-blue, h6.text-color-blue, p.text-color-blue, span.text-color-blue {
        color: var(--color-blue);
    }

h1.text-color-blue-bold, h2.text-color-blue-bold, h3.text-color-blue-bold, h4.text-color-blue-bold, h5.text-color-blue-bold, h6.text-color-blue-bold, p.text-color-blue-bold, span.text-color-blue-bold {
            color: var(--color-blue);
            font-weight: var(--font-bold);
        }

h1.text-color-primary, h2.text-color-primary, h3.text-color-primary, h4.text-color-primary, h5.text-color-primary, h6.text-color-primary, p.text-color-primary, span.text-color-primary {
        color: var(--color-primary);
    }

span.text-highlighted {
        font-size: 26px;
        line-height: var(--leading-tight);
        font-weight: var(--font-bold);
    }

h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}

h1.uppercase, h2.uppercase, h3.uppercase, h4.uppercase, h5.uppercase, h6.uppercase {
        font-family: 'league spartan bold';
    }

h1.center, h2.center, h3.center, h4.center, h5.center, h6.center {
        font-family: 'league spartan bold';
        text-align: center;
    }

h1 {
    font-size: 46px;
    line-height: var(--leading-tight);
}

h2 {
    font-size: 32px;
    line-height: var(--leading-tight);
}

h3 {
    font-size: 26px;
    line-height: var(--leading-tight);
}

h4 {
    font-size: 18px;
    line-height: var(--leading-tight);
}

h2.subline {
    font-family: 'league spartan bold';
    text-align: center;
}

header.headline-wrapper {
    text-align: center;
}

sub {
    font-size: 0.8rem;
    position: relative;
    top: 0.5rem;
}

sup {
    font-size: 0.8rem;
    position: relative;
    top: -0.5rem;
}

hr {
    border: 0;
}

.box ul {
    list-style-type: disc;
    margin-left: var(--spacing-4);
}

.box ol {
    list-style-type: decimal;
    margin-left: var(--spacing-4);
}

ul.list-arrow li {
        margin-bottom: var(--spacing-2);
        list-style-image: url("data:image/svg+xml,%3Csvg width='8' height='15' viewBox='0 0 8 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.66699L7 7.66699L1 13.667' stroke='%23383942' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    }

.color-white ul.list-arrow li {
        list-style-image: url("data:image/svg+xml,%3Csvg width='8' height='15' viewBox='0 0 8 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.66699L7 7.66699L1 13.667' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    }

ul.list-check {
    margin-bottom: var(--element-margin);
}

ul.list-check li {
        padding-left: var(--spacing-2);
        margin-left: var(--spacing-6);
        margin-bottom: var(--spacing-2);
        list-style-image: url("data:image/svg+xml,%3Csvg width='26' height='18' viewBox='0 0 26 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.91663 10.5835L8.24996 16.9168L24.0833 1.0835' stroke='%23C6C74D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    }

.ce-text a:not(.btn),
a[href^="mailto:"],
.news-single a:not(.btn) {
    text-decoration: underline;
    color: var(--color-green);
}

.ce-text a:not(.btn):hover, a[href^="mailto:"]:hover, .news-single a:not(.btn):hover { text-decoration: none; }

main section {
    scroll-margin-top: 8rem;
}

:root {
    --color-black: #000000;
    --color-primary: #53534d;
    --color-primary--dark: #484843;
    --color-primary--medium: #C7C1B8;
    --color-primary--light: #E3E0DB;
    --color-primary--ultralight: #F0EEEC;
    --color-green: #C6C74D;
    --color-green--hover: #AAAB46;
    --color-red: #F96E68;
    --color-blue: #3A83C9;
    --color-blue--light-dark: #3A83C9;
    --color-ruby: #800032;
    --color-grey--medium: #818285;
    --color-grey--light: #E3E0DC;
    --color-white: #FFFFFF;
    --color-placeholder: #6B7280;
    --color-blue--special: #7A99AC;
    --color-red--special: #77202F;
    --color-error: #F96E68;
}

.colors-wrapper {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.colors-preview {
    align-items: center;
    justify-content: center;
    display: flex;
    height: 14rem;
    width: 14rem;
}

.colors-info {
    margin-top: 1rem;
}

.colors-info span {
        display: block;
    }

.color-white {
    color: var(--color-white);
}

.bg-white {
    background-color: var(--color-white);
}

.color-primary {
    color: var(--color-primary);
}

.bg-primary {
    background-color: var(--color-primary);
}

.color-primary--dark {
    color: var(--color-primary--dark);
}

.bg-primary--dark {
    background-color: var(--color-primary--dark);
}

.color-primary--medium {
    color: var(--color-primary--medium);
}

.bg-primary--medium {
    background-color: var(--color-primary--medium);
}

.color-primary--light {
    color: var(--color-primary--light);
}

.bg-primary--light {
    background-color: var(--color-primary--light);
}

.color-primary--ultralight {
    color: var(--color-primary--ultralight);
}

.bg-primary--ultralight {
    background-color: var(--color-primary--ultralight);
}

.color-green {
    color: var(--color-green);
}

.bg-green {
    background-color: var(--color-green);
}

.color-green--hover {
    color: var(--color-green--hover);
}

.bg-green--hover {
    background-color: var(--color-green--hover);
}

.color-red {
    color: var(--color-red);
}

.bg-red {
    background-color: var(--color-red);
}

.color-red--special {
    color: var(--color-red--special);
}

.bg-red--special {
    background-color: var(--color-red--special);
}

.color-blue {
    color: var(--color-blue);
}

.bg-blue {
    background-color: var(--color-blue);
}

.color-blue--special {
    color: var(--color-blue--special);
}

.bg-blue--special {
    background-color: var(--color-blue--special);
}

.bg-blue--light-dark {
    background-color: var(--color-blue--light-dark);
}

.color-ruby {
    color: var(--color-ruby);
}

.bg-ruby {
    background-color: var(--color-ruby);
}

.color-grey--light {
    color: var(--color-grey--light);
}

.bg-grey--medium {
    background-color: var(--color-grey--medium);
}

.bg-grey--light {
    background-color: var(--color-grey--light);
}

.bg-gradient-dark {
    background: linear-gradient(96.68deg, #53534D 6.68%, #272722 96.47%);
    color: var(--color-white);
}

.bg-gradient-light {
    background: linear-gradient(108.58deg, #F0EEEC 23.69%, #C7C1B8 89.39%);
}

.bg-error {
    background-color: var(--color-error);
}

.bg-placeholder {
    background-color: var(--color-placeholder);
}

.color-preview-border {
    border: 1px solid var(--color-primary--medium);
}

.tcg-ul {
    list-style-type: disc;
}

.tcg-ol {
    list-style-type: decimal;
}

.btn {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    font-size: 15px;
    line-height: 24px;
    font-weight: 700;
    border: 1px solid transparent;
    text-transform: uppercase;
}

.btn--primary {
    color: var(--color-white);
    background-color: var(--color-green);
    border-color: var(--color-green--hover);
}

.btn--primary:hover {
        background-color: var(--color-green--hover);
    }

.btn--primary-red {
    color: var(--color-white);
    background-color: var(--color-red--special);
    border-color: var(--color-red--special);
}

.btn--primary-red:hover {
        background-color: var(--color-ruby);
    }

.btn--primary-blue {
    color: var(--color-white);
    background-color: var(--color-blue);
    border-color: var(--color-blue);
}

.btn--primary-blue:hover {
        background-color: var(--color-blue);
        opacity: 0.9;
    }

.btn--primary-dark {
    color: var(--color-black);
    background-color: var(--color-green);
    border-color: var(--color-green--hover);
}

.btn--primary-dark:hover {
        background-color: var(--color-green--hover);
    }

.btn--secondary {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary--dark);
}

.btn--secondary:hover {
        background-color: var(--color-primary--dark);
    }

.btn--secondary-invert {
    color: var(--color-primary);
    background-color: var(--color-white);
    border-color: var(--color-grey--light);
}

.btn--secondary-invert:hover {
        background-color: var(--color-primary--dark);
        color: var(--color-white);
    }

.btn--tertiary {
    color: var(--color-primary);
    background-color: transparent;
    border-color: var(--color-grey--light);
}

.btn--tertiary:hover {
        background-color: var(--color-primary--ultralight);
    }

.link {
    color: var(--color-green);
}

.link:hover {
        text-decoration: underline;
    }

.link--arrow {
        background-repeat: no-repeat;
        padding-right: 35px;
        background-image: url("data:image/svg+xml, %3Csvg%20xmlns=%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox=%220%200%2024%2024%22%3E%0A%20%20%3Cpath%20stroke-linecap=%22round%22%20fill=%22none%22%20stroke=%22%23C6C74D%22%20stroke-linejoin=%22round%22%20stroke-width=%222%22%20d=%22M14%205l7%207m0%200l-7%207m7-7H3%22%20%2F%3E%0A%3C%2Fsvg%3E");
        background-position: right center;
        background-size: 24px;
        font-weight: bold;
        font-size: 18px;
    }

/*
 * Widget link: compact call to action for teaser-like widgets (spotlight entries etc.).
 * Text with an arrow; the arrow changes colour on hover.
 * Containers that are clickable as a whole repeat the hover state in their own :hover rule.
 */

.link-cta {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-2);
    font-size: var(--text-sm);
    font-weight: var(--font-bold);
    line-height: var(--leading-normal);
    color: var(--color-primary--dark);
    text-decoration: none;
}

.link-cta .link-cta__icon {
        flex-shrink: 0;
        width: 1.125rem;
        height: 1.125rem;
        color: var(--color-primary--dark);
        transition: color 0.15s ease-out;
    }

.link-cta:hover .link-cta__icon,
    .link-cta:focus-visible .link-cta__icon {
        color: var(--color-green--hover);
    }

.link-cta:focus-visible {
        outline: 3px solid var(--color-blue);
        outline-offset: 4px;
    }

@media (prefers-reduced-motion: reduce) {
        .link-cta .link-cta__icon {
            transition: none;
        }
    }

hr.divider {
    border: 0;
    height: 2px;
    background-color: var(--color-primary--medium);
}

.image--left {
    justify-content: flex-start;
}

.image--right {
    justify-content: flex-end;
}

.image--center {
    justify-content: center;
}

.main-navigation {
    grid-area: navigation;
    display: none;
    margin-top: 30px;
    z-index: 90;
    width: 100%;
    background: var(--color-white);
}

.main-navigation.menu-visible {
        display: grid;
        max-width: 26rem;
        margin-left: auto;
        margin-right: auto;
    }

@media screen and (min-width: 60rem) {

.main-navigation {
        background: inherit;
        display: flex;
        justify-content: flex-end;
        padding: inherit;
        margin-top: 0;
        padding: 0 1rem
}
    }

.main-navigation > ul {
        display: flex;
        flex-direction: column;
        justify-self: end;
        justify-content: flex-start;
        width: 100%;
    }

@media screen and (min-width: 60rem) {

.main-navigation > ul {
            flex-direction: row;
            justify-content: flex-end
    }
        }

.main-navigation > ul > li {
            display: inline-block;
            margin: .5em 0;
            position: relative;
        }

@media screen and (min-width: 60rem) {

.main-navigation > ul > li { margin: 0 5px
        } }

.main-navigation > ul > li > a:not(.btn) {
                display: inline-block;
                padding: 0.75rem 0;
                font-weight: normal;
                text-transform: uppercase;
                line-height: var(--leading-none);
                white-space: nowrap;
                font-weight: var(--font-bold);
            }

@media screen and (min-width: 60rem) {

.main-navigation > ul > li > a:not(.btn) {
                    padding: 0.75rem 1rem;
                    white-space: nowrap;
                    color: var(--color-grey--dark)
            }
                }

.main-navigation > ul > li > a:not(.btn):hover,
                .main-navigation > ul > li > a:not(.btn):focus {
                    text-decoration: none;
                }

.main-navigation > ul > li.active > a {
                color: var(--color-green);
            }

@media screen and (min-width: 60rem) {

.main-navigation > ul > li.active > a {
                    color: var(--color-primary);
                    background-color: var(--color-primary--ultralight)
            }
                }

@media screen and (min-width: 60rem) {
                .main-navigation > ul > li:hover a,
                .main-navigation > ul > li a:focus {
                    background-color: var(--color-primary--ultralight);
                }
            }

.main-navigation > ul > li .subitem-toggle {
                position: absolute;
                right: 0;
                margin-top: 7px;
                top: 0;
                transition: all .2s ease-in-out;

            }

.main-navigation > ul > li .subitem-toggle .icon-minus { display: none; }

.main-navigation > ul > li .subitem-toggle.is-active .icon-plus { display: none; }

.main-navigation > ul > li .subitem-toggle.is-active .icon-minus { display: inherit; }

@media screen and (min-width: 60rem) {

.main-navigation > ul > li .subitem-toggle { display: none

            } }

.main-navigation > ul > li:nth-last-child(2) ul.menu-2 { right: 0; }

.main-navigation > ul > li ul.menu-2 {
                display: none;
            }

.main-navigation > ul > li ul.menu-2.is-visible { display: block; }

@media screen and (min-width: 60rem) {

.main-navigation > ul > li ul.menu-2 {
                    position: absolute;
                    overflow: hidden;
                    background-color: var(--color-white);
                    z-index: 10;
                    box-shadow: var(--shadow-xl)
            }
                }

.main-navigation > ul > li ul.menu-2 li {
                    float: none;
                    padding: 0;
                }

.main-navigation > ul > li ul.menu-2 li a {
                        border-bottom: 1px solid var(--color-grey--dark);
                        display: block;
                        font-size: 16px;
                        padding: 0.75rem 0;
                        min-width: 10em;
                        color: var(--color-grey--dark);
                    }

@media screen and (min-width: 60rem) {

.main-navigation > ul > li ul.menu-2 li a {
                            padding: .75rem 1rem
                    }
                        }

.main-navigation > ul > li ul.menu-2 li a:hover {
                            text-decoration: none;
                        }

@media screen and (min-width: 60rem) {
                        .main-navigation > ul > li ul.menu-2 li:hover a {
                            background-color: var(--color-green);
                            color: var(--color-grey--dark);
                        }
                    }

.main-navigation > ul > li ul.menu-2 li.active a {
                        text-decoration: none;
                    }

@media screen and (min-width: 60rem) {

.main-navigation > ul > li ul.menu-2 li.active a {
                            background-color: var(--color-green);
                            color: var(--color-grey--dark);
                            text-decoration: none
                    }
                        }

.main-navigation > ul > li.active svg.icon-plus #plus { display: none; }

@media screen and (max-width: 60rem) {
                    .main-navigation > ul > li.active ul.menu-2 {
                        display: block;
                    }
                }

@media screen and (min-width: 60rem) {
                .main-navigation > ul > li:hover > ul {
                    display: block;
                    width: auto;
                }
            }

.main-navigation > ul > li.additional-mobile {
                display: block;
            }

.main-navigation > ul > li.additional-mobile span {
                    border-bottom: 1px solid var(--color-grey--dark);
                    display: block;
                    margin-bottom: 5px;
                    margin-top: 5px;
                    width: 100%;
                    text-align: center;
                    font-size: 20px;
                }

@media screen and (min-width: 60rem) {

.main-navigation > ul > li.additional-mobile { display: none
            } }

.main-navigation > ul > li.additional-mobile .additional-mobile_social {
                    display: flex;
                    justify-content: space-between;
                    margin-top: 20px;
                    align-items: center;
                }

/** Meta Navigation **/

.meta-navigation {
    grid-area: meta;
    justify-content: flex-end;
    display: flex;
    margin-bottom: 6px;
}

.meta-navigation > ul {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

.meta-navigation > ul > li > a:not(.btn) {
            padding: .5rem .75rem;
        }

.meta-navigation > ul > li:last-child > a:not(.btn) {
            padding-right: 0;
        }

.meta-navigation > ul > li.search-toggle,
        .meta-navigation > ul > li.language-toggle {
            position: relative;
            display: flex;
            align-items: center;
        }

.meta-navigation > ul > li.search-toggle > div, .meta-navigation > ul > li.language-toggle > div {
                display: flex;
                align-items: center;
            }

.meta-navigation > ul > li.search-toggle > div > div, .meta-navigation > ul > li.language-toggle > div > div {
                    display: flex;
                    align-items: center;
                }

.meta-navigation > ul > li.search-toggle button, .meta-navigation > ul > li.language-toggle button {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                background: transparent;
                border: 0;
                cursor: pointer;
                padding: 0;
                color: var(--color-primary);
            }

.meta-navigation > ul > li.search-toggle svg,
            .meta-navigation > ul > li.search-toggle .meta-icon,
            .meta-navigation > ul > li.language-toggle svg,
            .meta-navigation > ul > li.language-toggle .meta-icon {
                width: 24px;
                height: 24px;
                stroke: currentColor;
                fill: none;
            }

.meta-navigation > ul > li.search-toggle {
            margin: 0 1.25rem 0 1.5rem;
        }

@media screen and (max-width: 60rem) {

.meta-navigation > ul > li.search-toggle {
                position: static
        }
            }

.meta-navigation > ul > li.language-toggle {
            margin: 0;
        }

.meta-navigation > ul > li.header-cta + li.header-cta {
            margin-left: var(--spacing-2);
        }

.meta-navigation > ul > li:not(.search-toggle):not(.language-toggle):not(.mobile-helper) {
            display: none;
        }

@media screen and (min-width: 60rem) {

.meta-navigation > ul > li:not(.search-toggle):not(.language-toggle):not(.mobile-helper) {
                display: block
        }
            }

@media screen and (min-width: 60rem) {

.meta-navigation > ul > li.header-cta:not(.search-toggle):not(.language-toggle):not(.mobile-helper) {
                display: flex
        }
            }

@media screen and (min-width: 60rem) {

.meta-navigation {
        display: flex
}
    }

.mobile-helper {
    align-self: center;
    align-items: center;
    display: flex;
    margin-left: 1.25rem;
}

.mobile-helper svg,
    .mobile-helper .meta-icon {
        width: 24px;
        height: 24px;
        stroke: currentColor;
        fill: none;
    }

@media screen and (min-width: 60rem) {

.mobile-helper { display: none
} }

.hamburger {
	position: relative;
	border: 0;
	background-color: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	color: var(--color-primary);
}

.hamburger:focus {
	outline: 0;
}

.hamburger-icon {
	position: absolute;
	inset: 0;
	transition: opacity .2s ease-in-out, transform .2s ease-in-out;
}

.hamburger-icon--close {
	opacity: 0;
	transform: rotate(-90deg);
}

.hamburger.open .hamburger-icon--menu {
	opacity: 0;
	transform: rotate(90deg);
}

.hamburger.open .hamburger-icon--close {
	opacity: 1;
	transform: rotate(0deg);
}

.stage_wrapper {
    position: relative;
    background-position: center;
    background-size: cover;
}

@media screen and (min-width: 48rem) {

.stage_wrapper {
        width: 100vw;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
        background-color: #23241F
}
    }

.stage_wrapper .stage_inner_wrapper {
        max-width: var(--container);
        margin: 0 auto;
        position: relative;
    }

@media screen and (min-width: 48rem) {

.stage_wrapper .stage_inner_wrapper {
            min-height: 700px
    }
        }

.stage_wrapper .stage-text-wrapper {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        color: var(--color-white);
        align-content: center;
        height: 100%;
        justify-content: space-around;
    }

@media screen and (min-width: 48rem) {

.stage_wrapper .stage-text-wrapper {
            position: absolute;
            top: 0;
            left: calc(var(--element-margin)*4);
            width: 70%
    }
        }

@media screen and (max-width: 48rem) {

.stage_wrapper .stage-text {
            padding: var(--box-padding)
    }
        }

.stage_wrapper .stage-text h1 {
            font-family: 'league spartan bold';
            font-size: 36px;
            margin-bottom: var(--element-margin);
            line-height: var(--leading-tight);
            font-kerning: none;
        }

.stage_wrapper .stage-text h1[class*="-background"] {
                line-height: var(--leading-loose);
            }

.stage_wrapper .stage-text h1 .stage-text-small {
                font-size: 30px;
            }

@media screen and (min-width: 48rem) {

.stage_wrapper .stage-text h1 {
                font-size: 50px
        }

                .stage_wrapper .stage-text h1 .stage-text-small {
                    font-size: 50px;
                }
            }

.stage_wrapper .stage-text p {
            font-family: 'Raleway';
            font-style: normal;
            font-weight: 700;
            font-size: 22px;
            line-height: 1.25;
        }

@media screen and (min-width: 48rem) {

.stage_wrapper .stage-text p {
                font-size: 28px
        }
            }

.stage_wrapper .stage-text h3,
        .stage_wrapper .stage-text h2,
        .stage_wrapper .stage-text p {
            margin-bottom: calc(var(--element-margin)*2);
        }

.stage_wrapper .stage-text .btn {
            margin-bottom: var(--element-margin);
        }

.benefit {
    border: 1px solid var(--color-primary--light);
    padding: var(--box-padding);
    grid-template-areas: "icon headline" "icon text";
    grid-template-columns: 80px 1fr;
    grid-template-rows: auto 1fr;
    grid-gap: 0 var(--box-padding);
}

.benefit.benefit-centered {
        grid-template-areas: "icon headline";
        align-items: center;
    }

.benefit.benefit-centered h4 {
            font-family: inherit;
            font-weight: normal;
            margin-bottom: 0;
            text-transform: none;
        }

@media screen and (min-width: 60rem) {

.benefit {
        display: grid
}
    }

.benefit h4 {
        font-family: 'league spartan bold';
        margin-bottom: var(--spacing-4);
        grid-area: headline;
        line-height: var(--leading-snug);
    }

.benefit p {
        grid-area: text;
    }

.benefit svg {
        grid-area: icon;
        width: 65px;
        height: 65px;
    }

@media screen and (max-width: 60rem) {

.benefit svg {
            margin-bottom: var(--spacing-4)
    }
        }

.benefits_wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: var(--box-padding);
}

@media screen and (min-width: 60rem) {

.benefits_wrapper {
        grid-template-columns: 1fr 1fr
}
    }

.teaser {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--box-padding);
}

.teaser h4 {
        font-family: 'league spartan bold';
        margin-bottom: var(--spacing-4);
        grid-area: headline;
        line-height: var(--leading-snug);
        text-align: center;
    }

.teaser .teaser-icon {
        background-color: var(--color-primary--ultralight);
        border-radius: 50%;
        margin-bottom: var(--spacing-8);
        width: 160px;
        height: 160px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

.teaser svg {
        width: 4rem;
        height: 4rem;
    }

@media screen and (max-width: 60rem) {

.teaser svg {
            margin-bottom: var(--spacing-4)
    }
        }

.teaser_wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: var(--box-padding);
}

@media screen and (min-width: 60rem) {

.teaser_wrapper {
        grid-template-columns: 1fr 1fr
}
    }

.teaser_wrapper.clean-icons .teaser-icon {
        background-color: transparent;
    }

.teaser_wrapper.teaser-three-columns {
        grid-template-columns: 1fr;
    }

@media screen and (min-width: 48rem) {

.teaser_wrapper.teaser-three-columns {
            grid-template-columns: 1fr 1fr 1fr
    }
        }

/*
 * Spotlight entry: one item in a column of the spotlight.
 * The bar on the left follows the stroke of the TCG logo, its colour is chosen by the editor.
 *
 * Type scale of the whole spotlight (do not add sizes):
 * --text-4xl section headline, --text-xl entry title,
 * --text-sm subline + action
 */

.spotlight-entry {
    --spotlight-bar: var(--color-primary--medium);

    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0 0 0 calc(6px + var(--spacing-6));
    color: var(--color-primary);
}

.spotlight-entry::before {
        content: "";
        position: absolute;
        inset-block: 0;
        inset-inline-start: 0;
        width: 6px;
        background-color: var(--spotlight-bar);
        transform-origin: top;
    }

/* Colours selectable in the backend */

.spotlight-entry--green { --spotlight-bar: var(--color-green); }

.spotlight-entry--blue { --spotlight-bar: var(--color-blue); }

.spotlight-entry--red { --spotlight-bar: var(--color-ruby); }

.spotlight-entry--grey { --spotlight-bar: var(--color-primary--medium); }

.spotlight-entry .spotlight-entry__image {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 8 / 5;
        object-fit: cover;
        border-radius: var(--rounded-xs);
        margin-bottom: var(--spacing-4);
    }

/* Free text line above the title, e.g. "Veranstaltung, 28. Oktober 2026, Baar" */

.spotlight-entry p.spotlight-entry__subline {
        font-size: var(--text-sm);
        line-height: var(--leading-normal);
        margin: 0 0 var(--spacing-2);
    }

.spotlight-entry h3.spotlight-entry__title {
        font-family: 'league spartan bold';
        font-size: var(--text-xl);
        line-height: var(--leading-tight);
        margin: 0;
    }

.spotlight-entry .spotlight-entry__link {
        color: var(--color-primary--dark);
        text-decoration: none;
        outline: none;
    }

.spotlight-entry .spotlight-entry__link::after {
            content: "";
            position: absolute;
            inset: 0;
        }

/* Keeps the link CTA at the bottom when entries are stretched (columns), otherwise just a gap */

.spotlight-entry .spotlight-entry__spacer {
        flex-grow: 1;
        min-height: var(--spacing-2);
    }

.spotlight-entry .spotlight-entry__action {
        align-self: flex-end;
    }

/* The whole entry is the link: hovering anywhere colours the arrow, or underlines the title if there is no CTA */

.spotlight-entry:hover .spotlight-entry__action .link-cta__icon,
    .spotlight-entry:focus-within .spotlight-entry__action .link-cta__icon {
        color: var(--color-green--hover);
    }

.spotlight-entry:not(:has(.spotlight-entry__action)):hover .spotlight-entry__link,
    .spotlight-entry:not(:has(.spotlight-entry__action)):focus-within .spotlight-entry__link {
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-decoration-color: var(--spotlight-bar);
        text-underline-offset: 0.2em;
    }

.spotlight-entry .spotlight-entry__link:focus-visible::after {
        outline: 3px solid var(--color-blue);
        outline-offset: 4px;
    }

.text-media {
    display: grid;
    grid-gap: 0 var(--spacing-6);
    grid-template-columns: 1fr;
}

@media screen and (min-width: 48rem) {

.text-media {
        grid-template-areas: "text figure";
        grid-template-columns: 1fr 1fr
}
    }

@media screen and (min-width: 60rem) {

.text-media {
        grid-gap: 0 var(--spacing-12)
}
    }

.text-media.box { display: grid; }

@media screen and (min-width: 48rem) {

.text-media.m-1-3 {
            grid-template-columns: 2fr 1fr
    }
        }

@media screen and (min-width: 48rem) {

.text-media.m-2-3 {
            grid-template-columns: 1fr 2fr
    }
        }

.text-media.text-media--intext-right {
        display: block;
    }

.text-media.text-media--intext-right .text-media-figure {
            float: right;
            margin-bottom: var(--spacing-4);
            margin-left: var(--spacing-4);
        }

.text-media.text-media--intext-left {
        display: block;
    }

.text-media.text-media--intext-left .text-media-figure {
            float: left;
            margin-bottom: var(--spacing-4);
            margin-right: var(--spacing-4);
        }

@media screen and (min-width: 48rem) {

.text-media.text-media--intext-right.m-1-3 .text-media-figure, .text-media.text-media--intext-left.m-1-3 .text-media-figure {
                max-width: 33%
        }
            }

@media screen and (min-width: 48rem) {

.text-media.text-media--intext-right.m-2-3 .text-media-figure, .text-media.text-media--intext-left.m-2-3 .text-media-figure {
                max-width:66%
        }
            }

.text-media.text-media--top {
        grid-template-areas: "figure" "text";
        grid-template-columns: 1fr;
    }

.text-media.text-media--top .text-media-figure {
            margin-bottom: var(--spacing-4);
            grid-area: figure;
        }

.text-media.text-media--top.m-2-3 .text-media-figure {
                width: 33%;
            }

.text-media.text-media--top.m-1-3 .text-media-figure {
                width: 66%;
            }

.text-media.text-media--top-center {
        grid-template-areas: "figure" "text";
        grid-template-columns: 1fr;
    }

.text-media.text-media--top-center .text-media-figure {
            margin-bottom: var(--spacing-4);
            grid-area: figure;
        }

.text-media.text-media--top-center.m-2-3 .text-media-figure {
                width: 33%;
                margin-left: auto;
                margin-right: auto;
                display: flex;
                justify-content: center;
            }

.text-media.text-media--top-center.m-1-3 .text-media-figure {
                width: 66%;
                margin-left: auto;
                margin-right: auto;
                display: flex;
                justify-content: center;
            }

.text-media.text-media--bottom {
        grid-template-areas: "text" "figure";
        grid-template-columns: 1fr;
    }

.text-media.text-media--bottom .text-media-figure {
            margin-top: var(--spacing-4);
            grid-area: figure;
        }

.text-media.text-media--bottom.m-2-3 .text-media-figure {
                width: 33%;
            }

.text-media.text-media--bottom.m-1-3 .text-media-figure {
                width: 66%;
            }

@media screen and (min-width: 48rem) {
    .text-media--left {
        grid-template-areas: "figure text";
        grid-template-columns: 1fr 1fr;
    }
            @media screen and (min-width: 48rem) {

        .text-media--left.m-1-3 {
                grid-template-columns: 1fr 2fr
        }
            }
            @media screen and (min-width: 48rem) {

        .text-media--left.m-2-3 {
                grid-template-columns: 2fr 1fr
        }
            }

    .text-media-text {
        grid-area: text;
    }

        .text-media-text.text-centered {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
        }

    .text-media-figure {
        grid-area: figure;
    }
}

@media screen and (max-width: 48rem) {
    .text-media-text {
        margin-bottom: var(--element-margin);
    }
}

.downloads h2,
    .downloads h3,
    .downloads h4 {
        border-bottom: 2px solid #818285;
        margin-bottom: var(--spacing-4);
    }

.downloads ul li:not(:last-child) {
            margin-bottom: var(--spacing-4);
        }

.download-item {
    display: flex;
    justify-content: space-between;
}

.download-item svg {
        margin-right: var(--spacing-2);
        width: 24px;
        height: 24px;
    }

.download-item--description {
        font-style: italic;
    }

.quote blockquote {
        font-weight: var(--font-bold);
        font-size: var(--text-xl);
        font-style: normal;
    }

@media screen and (min-width: 48rem) {

.quote blockquote {
            max-width: 70%;
            margin: 0 auto
    }
        }

.quote blockquote .quote-cite,
        .quote blockquote .quote-role {
            text-transform: none;
            display: block;
            font-style: normal;
        }

.quote blockquote .quote-role {
            font-style: italic;
            font-weight: normal;
        }

.abstract {
    line-height: var(--leading-tight);
}

.abstract > * { font-size: 26px; }

.abstract h3,
    .abstract h4 {
        font-size: 26px;
        font-weight: 700;
    }

/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}

.leaflet-container {
	overflow: hidden;
	}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}

/* Prevents IE11 from highlighting tiles in blue */

.leaflet-tile::selection {
	background: transparent;
}

/* Safari renders non-retina tile on retina better with this, but Chrome is worse */

.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}

/* hack that prevents hw layers "stretching" when loading new tiles */

.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}

.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}

/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */

/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */

.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}

.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}

.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}

.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}

.leaflet-tile-loaded {
	visibility: inherit;
	}

.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */

.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }

.leaflet-overlay-pane { z-index: 400; }

.leaflet-shadow-pane  { z-index: 500; }

.leaflet-marker-pane  { z-index: 600; }

.leaflet-tooltip-pane   { z-index: 650; }

.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }

.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}

.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}

/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}

.leaflet-top {
	top: 0;
	}

.leaflet-right {
	right: 0;
	}

.leaflet-bottom {
	bottom: 0;
	}

.leaflet-left {
	left: 0;
	}

.leaflet-control {
	float: left;
	clear: both;
	}

.leaflet-right .leaflet-control {
	float: right;
	}

.leaflet-top .leaflet-control {
	margin-top: 10px;
	}

.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}

.leaflet-left .leaflet-control {
	margin-left: 10px;
	}

.leaflet-right .leaflet-control {
	margin-right: 10px;
	}

/* zoom and fade animations */

.leaflet-fade-anim .leaflet-tile {
	will-change: opacity;
	}

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}

.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}

.leaflet-zoom-anim .leaflet-zoom-animated {
	will-change: transform;
	}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}

/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}

.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}

.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}

.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}

.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */

.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline: 0;
	}

.leaflet-container a {
	color: #0078A8;
	}

.leaflet-container a.leaflet-active {
	outline: 2px solid orange;
	}

.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}

/* general typography */

.leaflet-container {
	font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
	}

/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}

.leaflet-bar a,
.leaflet-bar a:hover {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}

.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}

.leaflet-bar a:hover {
	background-color: #f4f4f4;
	}

.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}

.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}

.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}

.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}

.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
    text-decoration: none !important;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}

/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}

.leaflet-control-layers-toggle {
    color: red;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-6 w-6' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7v8a2 2 0 002 2h6M8 7V5a2 2 0 012-2h4.586a1 1 0 01.707.293l4.414 4.414a1 1 0 01.293.707V15a2 2 0 01-2 2h-2M8 7H6a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2v-2' /%3E%3C/svg%3E");
	width: 36px;
	height: 36px;
	}

.leaflet-retina .leaflet-control-layers-toggle {
    color: red;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-6 w-6' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7v8a2 2 0 002 2h6M8 7V5a2 2 0 012-2h4.586a1 1 0 01.707.293l4.414 4.414a1 1 0 01.293.707V15a2 2 0 01-2 2h-2M8 7H6a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2v-2' /%3E%3C/svg%3E");
	background-size: 26px 26px;
	}

.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}

.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}

.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}

.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}

.leaflet-control-layers label {
	display: block;
	}

.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */

.leaflet-default-icon-path {
    color: orange;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-6 w-6' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z' /%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 11a3 3 0 11-6 0 3 3 0 016 0z' /%3E%3C/svg%3E");
	}

/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.7);
	margin: 0;
	}

.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	}

.leaflet-control-attribution a {
	text-decoration: none;
	}

.leaflet-control-attribution a:hover {
	text-decoration: underline;
	}

.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
	font-size: 11px;
	}

.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}

.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}

.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;

	background: #fff;
	background: rgba(255, 255, 255, 0.5);
	}

.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}

/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}

.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}

.leaflet-popup-content {
	margin: 13px 19px;
	line-height: 1.4;
	}

.leaflet-popup-content p {
	margin: 18px 0;
	}

.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}

.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}

.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	padding: 4px 4px 0 0;
	border: none;
	text-align: center;
	width: 18px;
	height: 14px;
	font: 16px/14px Tahoma, Verdana, sans-serif;
	color: #c3c3c3;
	text-decoration: none;
	font-weight: bold;
	background: transparent;
	}

.leaflet-container a.leaflet-popup-close-button:hover {
	color: #999;
	}

.leaflet-popup-scrolled {
	overflow: auto;
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}

.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-popup-tip-container {
	margin-top: -1px;
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}

/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}

/* Tooltip */

/* Base styles for the element that has a tooltip */

.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}

.leaflet-tooltip.leaflet-clickable {
	cursor: pointer;
	pointer-events: auto;
	}

.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}

.leaflet-tooltip-top {
	margin-top: -6px;
}

.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}

.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}

.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}

.leaflet-tooltip-left {
	margin-left: -6px;
}

.leaflet-tooltip-right {
	margin-left: 6px;
}

.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}

.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}

.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Custom settings */

.leaflet-control-attribution {
    display: none;
}

.custom-marker-icon {
    background-image: url("data:image/svg+xml,%3Csvg width='46' height='52' viewBox='0 0 46 52' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M38.0847 37.4186L26.77 48.7333C26.2752 49.2286 25.6876 49.6215 25.0408 49.8896C24.3941 50.1577 23.7008 50.2957 23.0007 50.2957C22.3006 50.2957 21.6073 50.1577 20.9605 49.8896C20.3138 49.6215 19.7262 49.2286 19.2314 48.7333L7.91402 37.4186C4.93061 34.4351 2.89892 30.6338 2.07586 26.4956C1.2528 22.3574 1.67533 18.068 3.29003 14.1699C4.90473 10.2718 7.63908 6.94006 11.1473 4.59597C14.6555 2.25188 18.7801 1.00073 22.9994 1.00073C27.2186 1.00073 31.3432 2.25188 34.8514 4.59597C38.3596 6.94006 41.094 10.2718 42.7087 14.1699C44.3234 18.068 44.7459 22.3574 43.9229 26.4956C43.0998 30.6338 41.0681 34.4351 38.0847 37.4186Z' fill='%23383942' stroke='%23383942' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M31 22.3333C31 24.455 30.1571 26.4899 28.6569 27.9902C27.1566 29.4905 25.1217 30.3333 23 30.3333C20.8783 30.3333 18.8434 29.4905 17.3431 27.9902C15.8429 26.4899 15 24.455 15 22.3333C15 20.2116 15.8429 18.1767 17.3431 16.6765C18.8434 15.1762 20.8783 14.3333 23 14.3333C25.1217 14.3333 27.1566 15.1762 28.6569 16.6765C30.1571 18.1767 31 20.2116 31 22.3333Z' fill='%23fff' stroke='%23383942' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
    width: 45px;
    height: 45px;
    display: block;
    content: '';
    border: none;
}

.cua {
    display: flex;
}

@media screen and (max-width: 60rem) {

.cua {
        flex-direction: column
}
    }

.cua .nav-prev {
        background-color: var(--color-green);
        display: inline-flex;
        align-items: center;
    }

.cua .nav-prev a {
            width: 100%;
            display: block;
            font-size: var(--text-2xl);
            color: white;
            text-align: center;
        }

@media screen and (min-width: 60rem) {

.cua .nav-prev a {
                transform: rotate(270deg)
        }
            }

.cua .nav-next {
        background-color: var(--color-green);
        display: inline-flex;
        align-items: center;
    }

.cua .nav-next a {
            width: 100%;
            display: block;
            font-size: var(--text-2xl);
            color: white;
            text-align: center;
        }

@media screen and (min-width: 60rem) {

.cua .nav-next a {
                transform: rotate(-270deg)
        }
            }

.cua .nav-prev a span, .cua .nav-next a span {
                font-size: var(--text-sm);
            }

.cua-element {
    display: flex;
    background: var(--color-grey--light);
    flex-direction: column;
}

@media screen and (min-width: 60rem) {

.cua-element {
        height: auto;
        flex-direction: row
}
    }

.cua-element .cua-sidebar {
        padding: 0 var(--box-padding);
        --counterSize: 24px;
        height: 100%;
    }

@media screen and (min-width: 60rem) {

.cua-element .cua-sidebar {
            padding: var(--box-padding);
            background: var(--color-grey--light);
            flex-basis: 33%
    }
        }

.cua-element .cua-sidebar ul {
            counter-reset: cua-counter;
            margin-left: var(--counterSize);
        }

.cua-element .cua-sidebar ul li {
                counter-increment: cua-counter;
                margin-bottom: var(--spacing-4);
                position: relative;
                padding: calc(var(--box-padding) / 2);
                border-radius: 5px;
            }

.cua-element .cua-sidebar ul li h4 {
                    font-weight: var(--font-bold);
                }

.cua-element .cua-sidebar ul li:hover {
                    background: var(--color-primary--light);
                }

.cua-element .cua-sidebar ul li:before {
                    content: counter(cua-counter);
                    color: var(--color-white);
                    font-weight: bold;
                    position: absolute;
                    left: calc(-1 * var(--counterSize) * 1.15);
                    line-height: var(--counterSize);
                    width: var(--counterSize);
                    height: var(--counterSize);
                    top: calc(var(--counterSize) / 2);
                    background: var(--color-green);
                    border-radius: 50%;
                    text-align: center;
                    line-height: 20px;
                }

.cua-element .cua-content {
        background: var(--color-grey--light);
        position: relative;
        aspect-ratio: 16 / 9;
        --counterSize: 24px;
    }

@media screen and (min-width: 60rem) {

.cua-element .cua-content {
            flex-basis: 66%
    }
        }

.cua-element .cua-content ul.cua-spots {
            width: 100%;
            height: 100%;
            position: absolute;
            z-index: 10;
            top: 0;
            left: 0;
            counter-reset: cua-counter-content;
        }

.cua-element .cua-content ul.cua-spots li {
                counter-increment: cua-counter-content;
                position: absolute;

                width: 1.5rem;
                height: 1.5rem;
            }

@media screen and (min-width: 48rem) {

.cua-element .cua-content ul.cua-spots li {
                    width: 50px;
                    height: 50px
            }
                }

.cua-element .cua-content ul.cua-spots li:nth-child(1) {
                    left: 20%;
                    top: 20%;
                }

.cua-element .cua-content ul.cua-spots li:nth-child(2) {
                    left: 30%;
                    top: 30%;
                }

.cua-element .cua-content ul.cua-spots li:nth-child(3) {
                    left: 40%;
                    top: 40%;
                }

.cua-element .cua-content ul.cua-spots li:nth-child(4) {
                    left: 50%;
                    top: 50%;
                }

.cua-element .cua-content ul.cua-spots li:before {
                    content: counter(cua-counter-content);
                    color: var(--color-white);
                    font-weight: bold;
                    width: 100%;
                    height: 100%;
                    font-size: var(--text-base);
                    background: var(--color-green);
                    border-radius: 50%;
                    text-align: center;
                    display: block;
                    line-height: 24px;
                }

@media screen and (min-width: 48rem) {

.cua-element .cua-content ul.cua-spots li:before {
                        line-height: 45px;
                        font-size: var(--text-xl)
                }
                    }

.cua-element .cua-content ul.cua-spots li.spot-active::before {
                    background: var(--color-ruby);
                }

.cua-element .cua-content ul.cua-spots li span {
                    text-indent: -999em;
                    display: inline-block;
                }

.embla {
    position: relative;
    display: flex;
}

.embla__viewport {
    overflow: hidden;
    width: 100%;

    width: calc(100% - 100px);
    margin: 0 auto;
}

.embla__viewport.is-draggable {
    cursor: move;
    cursor: grab;
}

.embla__viewport.is-dragging {
    cursor: grabbing;
}

.embla__container {
    display: flex;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.embla__slide {
    position: relative;
    min-width: 100%;
    display: grid;
}

.embla__button {
    outline: 0;
    cursor: pointer;
    background-color: transparent;
    touch-action: manipulation;
    position: absolute;
    z-index: 1;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    width: 30px;
    height: 30px;
    justify-content: center;
    align-items: center;
    padding: 0;
}

.embla__button:disabled {
    cursor: default;
    opacity: 0.3;
}

.embla__button__svg {
    width: 100%;
    height: 100%;
}

.embla__dots {
    display: flex;
    list-style: none;
    justify-content: center;
    padding-top: 10px;
}

.embla__dot {
    background-color: transparent;
    cursor: pointer;
    position: relative;
    padding: 0;
    outline: 0;
    border: 0;
    width: 30px;
    height: 30px;
    margin-right: 7.5px;
    margin-left: 7.5px;
    display: flex;
    align-items: center;
}

.embla__dot:after {
    background-color: #efefef;
    width: 100%;
    height: 4px;
    border-radius: 2px;
    content: "";
}

.embla__dot.is-selected:after {
    background-color: #1bcacd;
    opacity: 1;
}

.embla__prev,
.embla__next {
    position: absolute;
    height: 100%;
    width: 40px;
    text-indent: -9999em;
    z-index: 10;
    color: var(--color-green);
    display: flex;
}

.embla__prev svg, .embla__next svg {
        width: 30px;
    }

.embla__prev {
    left: 0;
}

.embla__next {
    right: 0;
}

.news-list-view {
    max-width: calc(var(--container)/2);
    margin: 0 auto;
}

.news-list-view .article {
       margin-bottom: calc(var(--element-margin)*2);
   }

.article {
    display: grid;
    grid-template-areas: "news-headline" "news-date" "news-teaser";
}

.article .header {
        grid-area: news-headline;
    }

.article .header h3 {
            font-family: 'league spartan bold';
            line-height: var(--leading-snug);
            font-size: var(--text-xl);
        }

.article .footer {
        grid-area: news-date;
        margin-bottom: var(--spacing-2);
    }

.article .teaser-text {
        grid-area: news-teaser;
    }

.article .teaser-text .more {
            color: var(--color-green);
            display: block;
            margin-top: var(--element-margin);
        }

.news-single {
    margin-top: calc(var(--element-margin)*2);
}

.news-single h1 {
        font-size: var(--text-2xl);
        line-height: var(--leading-snug);
        font-family: 'league spartan bold';
    }

@media screen and (min-width: 60rem) {

.news-single h1 {
            font-size: var(--text-3xl)
    }
        }

.news-single .teaser-text {
        margin: var(--spacing-4) 0;
    }

@media screen and (min-width: 60rem) {

.news-single .teaser-text {
            margin: var(--spacing-8) 0
    }
        }

.news-single .teaser-text > * {
            color: var(--color-primary);
            font-size: var(--text-xl);
        }

.news-single .footer {
        margin: var(--spacing-4) 0;
    }

.news-single .footer p > span {
            margin-right: var(--spacing-2);
        }

.news-single .footer .news-list-date {
            color: var(--color-ruby);
        }

.news-related-wrap {
    display: grid;
    margin-top: var(--element-margin);
    width: 100%;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--element-margin);
}

.news-related {
    padding: var(--box-padding);
    border: 1px solid #eee;
}

.news-related a {
        color: inherit;
        text-decoration: none;
    }

.news-related a:hover {
            text-decoration: underline;
        }

.news-related ul li {
        line-height: var(--leading-snug);
        margin-bottom: 12px;
    }

.news-related ul li span {
            display: inline-block;
            margin-right: 8px;
        }

.news-related ul li span :last-child {
                border-right: 0;
                padding-right: 0;
            }

.news-related h4 {
        margin-bottom: 10px;
    }

.news-related-links span {
    color: var(--color-primary--medium);
}

.news-related-files ul li {
        margin-bottom: calc(var(--element-margin)/2);
    }

.news-related-files ul li .news-related-files-size {
            color: var(--color-primary--medium);
        }

ul.f3-widget-paginator {
    display: flex;
    list-style: none;
    margin-bottom: 0;
    margin-top: 1.5rem;
    padding-left: 0;
}

ul.f3-widget-paginator li.current,
        ul.f3-widget-paginator li a {
            border: 1px solid;
            display: block;
            line-height: 1;
            margin-left: -1px;
            padding: .5rem .75rem;
        }

ul.f3-widget-paginator li.current {
            font-weight: bold;
        }

.logo-banner {
    overflow: hidden;
    padding: var(--spacing-6) 0;
    transform: translateZ(0);
}

.logo-banner h4 {
        font-family: 'league spartan bold';
        text-align: center;
        margin-bottom: var(--spacing-6);
    }

.logo-banner-track {
    display: flex;
    width: max-content;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    animation: logo-banner-scroll var(--logo-banner-speed, 30s) linear infinite;
}

.logo-banner-slide {
    display: flex;
    align-items: center;
    gap: var(--spacing-12);
    padding: 0 var(--spacing-6);
}

.logo-banner-item {
    flex-shrink: 0;
}

.logo-banner-item img {
        display: block;
        max-height: 80px;
        width: auto;
        object-fit: contain;
    }

.logo-banner--slow {
    --logo-banner-speed: 45s;
}

.logo-banner--medium {
    --logo-banner-speed: 30s;
}

.logo-banner--fast {
    --logo-banner-speed: 15s;
}

@keyframes logo-banner-scroll {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

.search-result-header {
    padding: calc(var(--container-padding)*2) var(--container-padding);
}

.search-result-form {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 32rem) {

.search-result-form {
        flex-direction: column
}
    }

.search-result-form input[type="search"] {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2356575E' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z' /%3E%3C/svg%3E");
        padding-left: 35px;
        background-repeat: no-repeat;
        background-size: 25px;
        background-position: 5px center;
    }

@media screen and (min-width: 32rem) {

.search-result-form input[type="search"] {
            margin-right: var(--element-margin)
    }
        }

@media screen and (min-width: 48rem) {

.search-result-form input[type="search"] {
            flex-basis: 70%
    }
        }

.search-result-form .btn {
        margin-top: 0;
        margin-right: var(--element-margin);
    }

@media screen and (max-width: 32rem) {

.search-result-form .btn {
            margin-top: var(--element-margin)
    }
        }

.result-list-item {
    padding: var(--box-padding);
    margin-bottom: var(--element-margin);
    border: 1px solid var(--color-primary--light);
    display: flex;
    flex-direction: column;
}

.result-list-item h3 {
        font-size: var(--text-xl);
        margin-bottom: var(--spacing-2);
    }

.result-list-item h3 a:hover {
            text-decoration: underline;
            color: var(--color-green);
        }

.result-list-item .result-teaser .hit {
            color: var(--color-green);
        }

.result-list-item .result-link {
        align-self: end;
    }

.search-pagebrowser {
    margin: var(--box-padding) 0;
    display: flex;
    justify-content: center;
}

.search-pagebrowser ul {
        display: inline-flex;
        position: relative;
    }

.search-pagebrowser ul li {
            text-transform: uppercase;
            font-weight: bold;
        }

.search-pagebrowser ul li a {
                border: 1px solid var(--color-primary--light);
                color:  var(--color-primary--light);
                border-radius: 4px;
                margin-right: var(--element-margin);
                display: inline-flex;
                align-items: center;
                padding: var(--spacing-2) var(--spacing-4);
            }

.search-pagebrowser ul li a.current,
                .search-pagebrowser ul li a:hover {
                    color:  var(--color-primary--dark);
                }

.ticker-wrap {
    background-color: var(--color-white);
    overflow: hidden;
    padding-bottom: 10px;
    padding-top: 10px;
    max-width: 100vw;
    white-space: nowrap;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    position: relative;
}

.ticker-wrap h3.ticker-header {
        font-weight: var(--font-bold);
        font-size: var(--text-xl);
        background-color: var(--color-white);
        position: absolute;
        z-index: 5;
        padding: 0 15px 0 10px;
        margin: 0;
        line-height: 1.5;
    }

.ticker-wrap ul {
        animation: ticker 25s linear infinite;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
        display: inline-block;
        padding-left: 100%;
        margin: 0;
        white-space: nowrap;
    }

.ticker-wrap ul li {
            display: inline-flex;
            color: var(--color-red--special);
            font-weight: var(--font-normal);
            font-size: var(--text-xl);
        }

.ticker-wrap ul li::before {
                content: "";
                display: block;
                width: 1px;
                background-color: var(--color-red--special);
                margin-left: 20px;
                margin-right: 20px;
                height: 20px;
                margin-top: 5px;
            }

.ticker-wrap ul li:last-child::after {
                    content: "";
                    display: block;
                    width: 1px;
                    background-color: var(--color-red--special);
                    margin-left: 20px;
                    margin-right: 20px;
                    height: 20px;
                    margin-top: 5px;
                }

.ticker-wrap ul:hover { animation-play-state: paused; }

/* Make it move */

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

.accordion {
    overflow: hidden;
    box-sizing: border-box;
}

@media screen and (min-width: 48rem) {

.accordion-content > div {
        padding: var(--box-padding)
}
    }

.accordion-title button {
    text-align: left;
    display: block;
    color: var(--color-primary);
    border-bottom: 1px solid var(--color-grey--light);
    padding: calc(var(--box-padding));
    text-decoration: none;
    position: relative;
    width: 100%;
    font-weight: var(--font-bold);
}

.accordion-title button:hover {
        color: var(--color-green--hover);
        text-decoration: none;
    }

[aria-expanded="true"] .vert {
    display: none;
}

[aria-expanded] rect {
    fill: currentColor;
}

h4.accordion-title button[aria-expanded="true"] {
    border-bottom: none;
    padding-bottom: 0;
}

.accordion-content {
    padding: var(--box-padding) 0 var(--box-padding) 0;
}

@media screen and (min-width: 48rem) {

.accordion-content {
        padding: var(--box-padding)
}
    }

.accordion-content p:not(:last-child) { margin-bottom: 1rem; }

.accordion-content.is-visible {
        display: inherit;
        border-bottom: 1px solid var(--color-grey--medium);
    }

.accordion-title .accordion-title-icon {
    display: inline-block;
    position: absolute;
    top: 25px;
    right: 10px;
    width: 22px;
    height: 22px;
    border: 2px solid;
    border-radius: 22px;
}

.accordion-title .accordion-title-icon::before {
        display: block;
        position: absolute;
        content: '';
        top: 8px;
        left: 4px;
        width: 10px;
        height: 2px;
        background: currentColor;
    }

.accordion-title .accordion-title-icon::after {
        display: block;
        position: absolute;
        content: '';
        top: 4px;
        left: 8px;
        width: 2px;
        height: 10px;
        background: currentColor;
    }

.accordion-element-active.accordion-title button {
        border-bottom-color: var(--color-primary);
        color: var(--color-green--hover);
    }

.accordion-element-active .accordion-title-icon::after {
            width: 0;
        }

.header-wrapper {
    background-color: var(--color-white);
    width: 100vw;
    position: relative;
}

@media screen and (min-width: 48rem) {

.header-wrapper {
        position: sticky;
        top: 0;
        z-index: 10;
        left: 0;
        right: 50%;
        margin-left: calc((100vw - 100%) / -2);
        width: 100vw
}
    }

.header-wrapper-inner {
    display: grid;
    grid-template-columns: 60% 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    grid-template-areas:
        "logo meta meta meta"
        "navigation navigation navigation navigation"
        "search search search search";

    padding: var(--box-padding);
    max-width: var(--container);
    margin: 0 auto;
}

@media screen and (min-width: 60rem) {

.header-wrapper-inner {
        grid-template-columns: 240px 1fr 1fr 1fr;
        grid-template-areas:
            "logo meta meta meta"
            "logo navigation navigation navigation"
            "search search search search"
}
    }

.logo {
    grid-area: logo;
}

.logo svg {
        width: 130px;
        height: auto;
    }

@media screen and (min-width: 60rem) {

.logo svg {
            width: 179px;
            height: 60px
    }
        }

.global-search_wrapper {
    width: 300px;
    position: absolute;
    z-index: 100;
    right: 0;
    top: calc(100% + 8px);
    display: flex;
    align-items: center;
}

@media screen and (max-width: 60rem) {

.global-search_wrapper {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: min(300px, calc(100vw - 2 * var(--box-padding)))
}
    }

.language-selection_wrapper {
    background-color: var(--color-white);
    border: 1px solid var(--color-primary--medium);
    border-radius: 0.375rem;
    box-shadow: var(--shadow-xl);
    position: absolute;
    z-index: 100;
    right: 0;
    top: calc(100% + 8px);
    width: max-content;
    overflow: hidden;
}

.language-selection_wrapper .language-menu {
        display: flex;
        flex-direction: column;
        list-style: none;
        margin: 0;
        padding: 0;
    }

.language-selection_wrapper .language-menu__item {
            margin: 0;
        }

.language-selection_wrapper .language-menu__item a {
                display: block;
                box-sizing: border-box;
                padding: 0.5rem 0.875rem;
                color: var(--color-primary);
                font-size: 14px;
                font-weight: 600;
                line-height: 1.4;
                text-decoration: none;
                text-transform: uppercase;
                white-space: nowrap;
            }

.language-selection_wrapper .language-menu__item a:hover,
                .language-selection_wrapper .language-menu__item a:focus-visible {
                    background-color: var(--color-primary--ultralight);
                    outline: none;
                }

.language-selection_wrapper .language-menu__item--active a {
                background-color: var(--color-primary--ultralight);
                font-weight: 700;
            }

.language-selection_wrapper .language-menu__item--unavailable {
                display: none;
            }

.meta-icon {
    stroke: currentColor;
    fill: none;
}

.language-toggle__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 0;
    color: var(--color-primary);
}

.menu-toggle-active {
    position: absolute;
    top: 0;
    right: 0;
}

.header-cta {
    display: flex;
    align-items: center;
}

.header-cta .btn {
        gap: 0.4rem;
    }

.header-cta .btn__icon {
        width: 16px;
        height: 16px;
        flex-shrink: 0;
        stroke: currentColor;
        fill: none;
    }

.header-cta .btn--small {
        padding: 0.35rem 0.85rem;
        font-size: 13px;
        white-space: nowrap;
    }

.header-cta-mobile {
    list-style: none;
    margin: var(--spacing-4) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-2);
}

.header-cta-mobile .header-cta {
        display: block;
    }

.header-cta-mobile .btn {
        width: auto;
    }

#form_kesearch_searchfield {
    width: 100%;
}

.footer-wrapper {
    color: var(--color-white);
    border-bottom: 10px solid var(--color-green);
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    background-color: var(--color-primary);
}

.footer_inner_wrapper {
    max-width: var(--container);
    margin: 0 auto;
    position: relative;
}

.footer-wrapper h4 {
        border-bottom: 2px solid var(--color-grey--medium);
        font-weight: var(--font-bold);
        margin-bottom: var(--spacing-2);
    }

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

.footer-wrapper ul li {
            margin-bottom: var(--spacing-2);
        }

.footer-wrapper ul li.active > a { text-decoration: underline; }

.footer-wrapper ul li ul {
                margin-top: var(--spacing-2);
                margin-left: var(--spacing-2);
                list-style: none;
            }

.footer-wrapper .countries {
        padding: var(--box-padding);
    }

@media screen and (min-width: 32em) {

.footer-wrapper .countries ul {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 0 var(--spacing-12)
        }
            }

.footer-wrapper .footer_last_row {
        padding: var(--container-padding);
    }

.footer-wrapper .footer_last_row ul.meta-navigation {
            display: flex;
            margin-left: var(--spacing-6);
        }

.footer-wrapper .footer_last_row ul.meta-navigation li {
                margin-right: var(--spacing-4);
            }

.footer-wrapper .social-links {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-4);
    }

.footer-wrapper .social-links a {
            display: inline-flex;
        }

.footer-wrapper .social-links svg {
            width: auto;
            height: 50px;
        }

.footer-wrapper .certification {
        border-top: 2px solid var(--color-grey--medium);
        margin-top: var(--spacing-8);
        padding-top: var(--spacing-8);
    }

.footer-wrapper .certification img {
            display: block;
            width: 150px;
            height: auto;
        }

.box {
    padding: var(--container-padding) 0;
    display: flex;
}

.box.text-box {
        display: grid;
        align-content: baseline;
    }

.box-inner {
    margin: 0 auto;
}

.box-inner h2,
    .box-inner h3,
    .box-inner h4 {
        margin-bottom: var(--spacing-4);
    }

@media screen and (min-width: 48rem) {

.box-inner {
        max-width: 90%
}
    }

.box .btn {
    margin-top: calc(var(--element-margin)*2);
}

.box .btn:not(:last-child) {
        margin-right: var(--element-margin);
    }

.bg-image-box {
    background-size: cover;
    background-repeat: no-repeat;
    color: var(--color-white);
    background-blend-mode: overlay;
}

@media (hover: hover) {
    .box.box-with-hover {
        overflow: hidden;
    }

        .box.box-with-hover p {
            transition: transform 650ms ease;
            transform: translate3d(0, -100%, 0);
        }

    .box-has-icon {
        padding-bottom: 40px;
    }

    .box.box-with-hover .box-inner p {
        transition: transform 650ms ease;
        transform: translate3d(0, 100%, 0);
        opacity: 0;
    }
        .box.box-with-hover:hover p {
            transition: transform 650ms ease;
            transform: translate3d(0, 0, 0);
            opacity: 1;
        }

        .box.box-with-hover:hover .box-hover-icon {
            transition: transform 650ms ease;
            transform: translate3d(0, 100%, 0);
            opacity: 0;
        }

    .box .box-hover-icon {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: var(--spacing-4);
        position: absolute;
        width: 100%;
        height: 80%;
    }
}

.box .box-hover-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: var(--spacing-4);
}

.box .box-hover-icon svg {
        width: 65px;
        height: 65px;
    }

.box.box-with-hover .box-inner {
    position: relative;
}

.box.box-full-width {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.box.box-full-width .box-inner {
        max-width: var(--container);
        margin: 0 auto;
        position: relative;
        padding: var(--container-padding) calc(var(--container-padding)*2);
    }

.grid {
    display: grid;
    gap: var(--spacing-12);
}

.grid.box {
        padding: var(--box-padding);
    }

@media screen and (min-width: 32rem) {
    .grid-1-1-1-1 {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (min-width: 48rem) {
    .grid-1 {
        grid-template-columns: 1fr;
    }

    .grid-1-1 {
        grid-template-columns: 1fr 1fr;
    }

    .grid-2-1 {
        grid-template-columns: 2fr 1fr;
    }

    .grid-1-2 {
        grid-template-columns: 1fr 2fr;
    }

    .grid-1-1-1 {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .grid-1-1-1-1 {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

/* Container widt configuration for 1col container */

.container--small,
.container--medium {
    margin: 0 auto;
}

.container--small {
    max-width: var(--container-small);
}

.container--medium {
    max-width: var(--container-medium);
}

.breadcrumb_navigation_wrapper {
    border-bottom: 1px solid var(--color-primary--medium);
    padding: calc(var(--container-padding)/2) 0;
    margin-bottom: var(--element-margin);
}

.breadcrumb_navigation {
    max-width: var(--container);
    display: flex;
    margin: var(--container-padding) auto;
    font-size: 14px;
}

.breadcrumb_navigation li {
        align-items: center;
        color: var(--color-grey--dark);
        display: flex;
        padding-right: var(--spacing-2);
    }

.breadcrumb_navigation li svg {
            height: 20px;
            width: 20px;
        }

.breadcrumb_navigation li a {
            align-content: center;
            display: flex;
            padding-left: var(--spacing-2);
        }

.breadcrumb_navigation li:first-child a {
            margin-top: -.2rem;
            padding-left: 0;
        }

.breadcrumb_navigation li.breadcrumb_news-item svg {
            margin-right: var(--spacing-2);
        }

.breadcrumb_navigation .breadcrumb_label {
        font-weight: bold;
        text-transform: uppercase;
    }

.grid-1-1-fao {
    gap: 0;
}

.grid-1-1-fao .quote blockquote {
        color: var(--color-white);
    }

.grid-1-1-fao.grid.box {
        padding: 0;
    }

.grid-1-1-fao .quote {
        display: flex;
        align-items: center;
    }

.grid-1-1-fao .quote blockquote {
            max-width: inherit;
        }

.grid-1-1-fao .quote p {
           font-size: 32px;
           line-height: var(--leading-tight);
        }

.grid-1-1-fao .fao-text {
        padding: var(--spacing-12);
    }

.grid-1-1-fao .fao-text header {
            margin-bottom: var(--spacing-12);
            color: var(--color-primary);
        }

.grid-1-1-fao .fao-text .grid {
            margin-bottom: var(--spacing-12);
            padding: 0;
        }

.grid-1-1-fao .fao-text .grid .box {
                padding: 0;
            }

.grid-1-1-fao .fao-text h2.subline {
            text-align: left;
            text-transform: none;
            font-size: 20px;
        }

.tab_container {
    display: grid;
    grid-template-areas: "tab-navigation" "tab-content";
    grid-gap: calc(var(--box-padding)/2);
}

@media screen and (min-width: 48rem) {

.tab_container {
        grid-template-areas: "tab-navigation tab-content";
        grid-template-columns: 200px 1fr
}
    }

.tab_container nav {
        grid-area: tab-navigation;
        background-color: var(--color-primary--light);
    }

@media screen and (max-width: 48rem) {

.tab_container nav {
            display: flex;
            flex-wrap: nowrap;
            overflow: auto;
            -webkit-overflow-scrolling: touch;
            -ms-overflow-style: -ms-autohiding-scrollbar
    }
        }

.tab_container nav ul {
            list-style-type: none;
            margin-left: inherit;
        }

@media screen and (max-width: 48rem) {

.tab_container nav ul {
                display: flex;
                flex-wrap: nowrap
        }
            }

.tab_container nav ul li {
                text-transform: uppercase;
            }

@media screen and (max-width: 48rem) {

.tab_container nav ul li {
                    flex: 0 0 auto
            }
                }

.tab_container nav ul li a {
                    color: var(--color-primary--medium);
                    border-bottom: 2px solid var(--color-white);
                    display: block;
                    padding: var(--box-padding);
                    font-weight: bold;
                }

@media screen and (max-width: 48rem) {

.tab_container nav ul li a {
                        border-bottom: none;
                        padding: calc(var(--box-padding)/2)
                }
                    }

.tab_container nav ul li a.active {
                        color: var(--color-primary--dark);
                    }

.tab_container nav ul li:last-child a {
                    border-bottom: none;
                }

.tab_container--content {
        grid-area: tab-content;
        padding: var(--box-padding);
        background-color: var(--color-primary--ultralight);
        display: grid;
        gap: var(--box-padding);
    }

@media screen and (min-width: 48rem) {

.tab_container--content {
            grid-template-columns: 1fr fit-content(300px)
    }
        }

.tab_container--content-image {
        display: flex;
        align-items: center;
    }

.text-media-box {
    gap: var(--spacing-6);
}

.text-media-box > div {
        display: flex;
        justify-content: center;
    }

.text-media-box > div figure.video {
            width: 100%;
        }

.text-media-box.grid-reverse > div:first-child {
            order: 2;
        }

.text-media-box .box {
        height: 100%;
        width: 100%;
        padding: 0;
    }

.text-media-box .box.vertical-center {
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

.text-media-box .box .box-inner {
            padding: var(--box-padding);
        }

/*
 * Spotlight: highlights new solutions, events, webinars and studies on the homepage.
 * Shows 3–4 equal entries in columns.
 * Type scale: see spotlight-entry.scss
 */

.spotlight .spotlight__header {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: var(--spacing-2) var(--spacing-8);
        margin-bottom: var(--spacing-8);
    }

.spotlight h2.spotlight__headline {
        font-family: 'league spartan bold';
        font-size: var(--text-4xl);
        line-height: var(--leading-tight);
        margin: 0;
    }

.spotlight .spotlight__all {
        font-size: var(--text-sm);
        font-weight: var(--font-bold);
        color: var(--color-primary--dark);
    }

.spotlight .spotlight__all:hover {
            text-decoration: underline;
            text-decoration-thickness: 2px;
            text-decoration-color: var(--color-green);
            text-underline-offset: 0.2em;
        }

.spotlight .spotlight__all:focus-visible {
            outline: 3px solid var(--color-blue);
            outline-offset: 4px;
        }

.spotlight .spotlight__entries {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: var(--spacing-8);
    }

@media screen and (min-width: 48rem) {

.spotlight .spotlight__entries {
            grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr))
    }
        }

.spotlight .spotlight__item {
        margin: 0;
        padding: 0;
    }

.spotlight .spotlight__item::before {
            content: none;
        }

/*
 * The one orchestrated moment: when the section scrolls into view, the bars grow
 * like the strokes of the logo, one after another. Nothing else animates on its own.
 */

@keyframes spotlight-bar-grow {
    from { transform: scaleY(0); }
    to { transform: scaleY(1); }
}

@media (prefers-reduced-motion: no-preference) {
    @supports (animation-timeline: view()) {
        .spotlight .spotlight-entry::before {
            animation: spotlight-bar-grow ease-out both;
            animation-timeline: view();
            /* Finished before the element is fully visible, so bars never stay half-grown */
            animation-range: entry 0% entry 60%;
        }

        .spotlight .spotlight__item:nth-child(2) .spotlight-entry::before {
            animation-range: entry 10% entry 65%;
        }

        .spotlight .spotlight__item:nth-child(3) .spotlight-entry::before {
            animation-range: entry 20% entry 70%;
        }

        .spotlight .spotlight__item:nth-child(4) .spotlight-entry::before {
            animation-range: entry 30% entry 70%;
        }
    }
}

.page-container {
    max-width: var(--container);
    margin: 0 auto;
}

.main {
    padding: var(--container-padding);
}

.glightbox-container {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999 !important;
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none;
    -webkit-text-size-adjust: 100%;
    -webkit-backface-visibility: hidden;
    outline: 0;
    overflow: hidden;

    /* Custom */
    /* left: 50%;
    margin-left: -12.5%; */
}

.glightbox-container.inactive {
    display: none;
}

.glightbox-container .gcontainer {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow: hidden;
}

.glightbox-container .gslider {
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%;
    position: relative;
    overflow: hidden;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.glightbox-container .gslide {
    width: 100%;
    position: absolute;
    opacity: 1;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    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;
    opacity: 0;
}

.glightbox-container .gslide.current {
    opacity: 1;
    z-index: 99999;
    position: relative;
}

.glightbox-container .gslide.prev {
    opacity: 1;
    z-index: 9999;
}

.glightbox-container .gslide-inner-content {
    width: 100%;
}

.glightbox-container .ginner-container {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 100%;
    margin: auto;
    height: 100vh;
}

.glightbox-container .ginner-container.gvideo-container {
    width: 100%;
}

.glightbox-container .ginner-container.desc-bottom,
.glightbox-container .ginner-container.desc-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.glightbox-container .ginner-container.desc-left,
.glightbox-container .ginner-container.desc-right {
    max-width: 100% !important;
}

.gslide iframe,
.gslide video {
    outline: 0 !important;
    border: none;
    min-height: 165px;
    -webkit-overflow-scrolling: touch;
    -ms-touch-action: auto;
    touch-action: auto;
}

.gslide-image {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.gslide-image img {
    max-height: 100vh;
    display: block;
    max-width: 100%;
    margin: 0;
    padding: 0;
    float: none;
    outline: 0;
    border: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    max-width: 100vw;
    width: auto;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    -ms-touch-action: none;
    touch-action: none;
    margin: auto;
    min-width: 200px;
}

.desc-bottom .gslide-image img,
.desc-top .gslide-image img {
    width: auto;
}

.desc-left .gslide-image img,
.desc-right .gslide-image img {
    width: auto;
    max-width: 100%;
}

.gslide-image img.zoomable {
    position: relative;
}

.gslide-image img.dragging {
    cursor: -webkit-grabbing !important;
    cursor: grabbing !important;
    -webkit-transition: none;
    transition: none;
}

.gslide-video {
    width: 100%;
    max-width: 100%;
    position: relative;
    width: 100vh;
    max-width: 100vh;
    width: 100% !important;
}

.gslide-video .gvideo-wrapper {
    width: 100%;
    margin: auto;
}

.gslide-video::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 0, 0, 0.34);
    display: none;
}

.gslide-video.playing::before {
    display: none;
}

.gslide-video.fullscreen {
    max-width: 100% !important;
    min-width: 100%;
    height: 75vh;
}

.gslide-video.fullscreen video {
    max-width: 100% !important;
    width: 100% !important;
}

.gslide-inline {
    background: #fff;
    text-align: left;
    max-height: calc(100vh - 40px);
    overflow: auto;
    max-width: 100%;
}

.gslide-inline .ginlined-content {
    padding: 20px;
    width: 100%;
}

.gslide-inline .dragging {
    cursor: -webkit-grabbing !important;
    cursor: grabbing !important;
    -webkit-transition: none;
    transition: none;
}

.ginlined-content {
    overflow: auto;
    display: block !important;
    opacity: 1;
}

.gslide-external {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    min-width: 100%;
    background: #fff;
    padding: 0;
    overflow: auto;
    max-height: 75vh;
    height: 100%;
}

.gslide-media {
    display: block;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: auto;
}

.zoomed .gslide-media {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.desc-bottom .gslide-media,
.desc-top .gslide-media {
    margin: 0 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.gslide-description {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 100%;
    flex: 1 0 100%;
}

.gslide-description.description-left,
.gslide-description.description-right {
    max-width: 100%;
}

.gslide-description.description-bottom,
.gslide-description.description-top {
    margin: 0 auto;
    width: 100%;
}

.gslide-description p {
    margin-bottom: 12px;
}

.gslide-description p:last-child {
    margin-bottom: 0;
}

.zoomed .gslide-description {
    display: none;
}

.glightbox-mobile .glightbox-container .gslide-description {
    height: auto !important;
    width: 100%;
    background: 0 0;
    position: absolute;
    bottom: 15px;
    padding: 19px 11px;
    max-width: 100vw !important;
    -webkit-box-ordinal-group: 3 !important;
    -ms-flex-order: 2 !important;
    order: 2 !important;
    max-height: 78vh;
    overflow: auto !important;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.75)));
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.75) 100%);
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    padding-bottom: 50px;
}

.glightbox-mobile .glightbox-container .gslide-title {
    color: #fff;
    font-size: 1em;
}

.glightbox-mobile .glightbox-container .gslide-desc {
    color: #a1a1a1;
}

.glightbox-mobile .glightbox-container .gslide-desc a {
    color: #fff;
    font-weight: 700;
}

.glightbox-mobile .glightbox-container .gslide-desc * {
    color: inherit;
}

.glightbox-mobile .glightbox-container .gslide-desc string {
    color: #fff;
}

.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
    color: #fff;
    opacity: 0.4;
}

.gdesc-open .gslide-media {
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    opacity: 0.4;
}

.gdesc-open .gdesc-inner {
    padding-bottom: 30px;
}

.gdesc-closed .gslide-media {
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    opacity: 1;
}

.greset {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.gabsolute {
    position: absolute;
}

.grelative {
    position: relative;
}

.glightbox-container .glightbox-desc {
    display: none;
}

.glightbox-container .gprev,
.glightbox-container .gnext {
    display: none;
}

.glightbox-open {
    overflow: hidden;
}

.gloader {
    height: 25px;
    width: 25px;
    -webkit-animation: lightboxLoader 0.8s infinite linear;
    animation: lightboxLoader 0.8s infinite linear;
    border: 2px solid #fff;
    border-right-color: transparent;
    border-radius: 50%;
    position: absolute;
    display: block;
    z-index: 9999;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 47%;
}

.goverlay {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #000;
    will-change: opacity;
}

.glightbox-mobile .goverlay {
    background: #000;
}

.gclose,
.gnext,
.gprev {
    background-repeat: no-repeat;
    z-index: 99999;
    cursor: pointer;
    width: 26px;
    height: 44px;
    display: block;
    background-position: 0 0;
    border: none;
}

.gclose svg,
.gnext svg,
.gprev svg {
    display: block;
    width: 100%;
    height: auto;
}

.gclose.disabled,
.gnext.disabled,
.gprev.disabled {
    opacity: 0.1;
}

.gclose .garrow,
.gnext .garrow,
.gprev .garrow {
    stroke: #fff;
}

iframe.wait-autoplay {
    opacity: 0;
}

.glightbox-closing .gclose,
.glightbox-closing .gnext,
.glightbox-closing .gprev {
    opacity: 0 !important;
}

.glightbox-clean .gslide-description,
.glightbox-modern .gslide-description {
    background: #fff;
}

.glightbox-clean .gdesc-inner,
.glightbox-modern .gdesc-inner {
    padding: 22px 20px;
}

.glightbox-clean .gslide-title,
.glightbox-modern .gslide-title {
    font-size: 2rem;
    margin-bottom: 10px;
    line-height: 1.4em;
}

.glightbox-clean .gslide-desc,
.glightbox-modern .gslide-desc {
    margin-bottom: 0;
    line-height: 1.4em;
}

.glightbox-clean .gslide-video,
.glightbox-modern .gslide-video {
    background: #000;
}

.glightbox-clean .gclose,
.glightbox-clean .gnext,
.glightbox-clean .gprev,
.glightbox-modern .gclose,
.glightbox-modern .gnext,
.glightbox-modern .gprev {
    /* background-color: rgba(143, 92, 92, 0.12); */
}

.glightbox-clean .gclose:hover,
.glightbox-clean .gnext:hover,
.glightbox-clean .gprev:hover,
.glightbox-modern .gclose:hover,
.glightbox-modern .gnext:hover,
.glightbox-modern .gprev:hover {
    background-color: rgba(0, 0, 0, 0.2);
}

.glightbox-clean .gclose path,
.glightbox-clean .gnext path,
.glightbox-clean .gprev path,
.glightbox-modern .gclose path,
.glightbox-modern .gnext path,
.glightbox-modern .gprev path {
    fill: #fff;
}

.glightbox-clean button:focus:not(.focused):not(.disabled),
.glightbox-modern button:focus:not(.focused):not(.disabled) {
    outline: 0;
}

.glightbox-clean .gprev,
.glightbox-modern .gprev {
    position: absolute;
    top: -100%;
    left: 30px;
    width: 40px;
    height: 56px;
}

.glightbox-clean .gnext,
.glightbox-modern .gnext {
    position: absolute;
    top: -100%;
    right: 30px;
    width: 40px;
    height: 56px;
}

.glightbox-clean .gclose,
.glightbox-modern .gclose {
    width: 35px;
    height: 35px;
    top: 15px;
    right: 10px;
    position: absolute;
    opacity: 0.7;
    background-position: -59px 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.glightbox-clean .gclose svg,
.glightbox-modern .gclose svg {
    width: 20px;
}

.glightbox-clean .gclose:hover,
.glightbox-modern .gclose:hover {
    opacity: 1;
}

.gfadeIn {
    -webkit-animation: gfadeIn 0.5s ease;
    animation: gfadeIn 0.5s ease;
}

.gfadeOut {
    -webkit-animation: gfadeOut 0.5s ease;
    animation: gfadeOut 0.5s ease;
}

.gslideOutLeft {
    -webkit-animation: gslideOutLeft 0.3s ease;
    animation: gslideOutLeft 0.3s ease;
}

.gslideInLeft {
    -webkit-animation: gslideInLeft 0.3s ease;
    animation: gslideInLeft 0.3s ease;
}

.gslideOutRight {
    -webkit-animation: gslideOutRight 0.3s ease;
    animation: gslideOutRight 0.3s ease;
}

.gslideInRight {
    -webkit-animation: gslideInRight 0.3s ease;
    animation: gslideInRight 0.3s ease;
}

.gzoomIn {
    -webkit-animation: gzoomIn 0.5s ease;
    animation: gzoomIn 0.5s ease;
}

.gzoomOut {
    -webkit-animation: gzoomOut 0.5s ease;
    animation: gzoomOut 0.5s ease;
}

@-webkit-keyframes lightboxLoader {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes lightboxLoader {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes gfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes gfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@-webkit-keyframes gfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes gfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@-webkit-keyframes gslideInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-60%, 0, 0);
        transform: translate3d(-60%, 0, 0);
    }
    to {
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes gslideInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-60%, 0, 0);
        transform: translate3d(-60%, 0, 0);
    }
    to {
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@-webkit-keyframes gslideOutLeft {
    from {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        -webkit-transform: translate3d(-60%, 0, 0);
        transform: translate3d(-60%, 0, 0);
        opacity: 0;
        visibility: hidden;
    }
}

@keyframes gslideOutLeft {
    from {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        -webkit-transform: translate3d(-60%, 0, 0);
        transform: translate3d(-60%, 0, 0);
        opacity: 0;
        visibility: hidden;
    }
}

@-webkit-keyframes gslideInRight {
    from {
        opacity: 0;
        visibility: visible;
        -webkit-transform: translate3d(60%, 0, 0);
        transform: translate3d(60%, 0, 0);
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes gslideInRight {
    from {
        opacity: 0;
        visibility: visible;
        -webkit-transform: translate3d(60%, 0, 0);
        transform: translate3d(60%, 0, 0);
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@-webkit-keyframes gslideOutRight {
    from {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        -webkit-transform: translate3d(60%, 0, 0);
        transform: translate3d(60%, 0, 0);
        opacity: 0;
    }
}

@keyframes gslideOutRight {
    from {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        -webkit-transform: translate3d(60%, 0, 0);
        transform: translate3d(60%, 0, 0);
        opacity: 0;
    }
}

@-webkit-keyframes gzoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
        opacity: 1;
    }
}

@keyframes gzoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
        opacity: 1;
    }
}

@-webkit-keyframes gzoomOut {
    from {
        opacity: 1;
    }
    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
        opacity: 0;
    }
}

@keyframes gzoomOut {
    from {
        opacity: 1;
    }
    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
        opacity: 0;
    }
}

@media (min-width: 769px) {
    .glightbox-container .ginner-container {
        width: auto;
        height: auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .glightbox-container .ginner-container.desc-top .gslide-description {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
    }
    .glightbox-container .ginner-container.desc-top .gslide-image,
    .glightbox-container .ginner-container.desc-top .gslide-image img {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
    .glightbox-container .ginner-container.desc-left .gslide-description {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
    }
    .glightbox-container .ginner-container.desc-left .gslide-image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
    .gslide-image img {
        max-height: 97vh;
        max-width: calc(100% - 20px);
        max-width: 100%;
    }
    .gslide-image img.zoomable {
        cursor: -webkit-zoom-in;
        cursor: zoom-in;
    }
    .zoomed .gslide-image img.zoomable {
        cursor: -webkit-grab;
        cursor: grab;
    }
    .gslide-inline {
        max-height: 95vh;
    }
    .gslide-external {
        max-height: 100vh;
    }
    .gslide-description.description-left,
    .gslide-description.description-right {
        max-width: 275px;
    }
    .glightbox-open {
        height: auto;
    }
    .goverlay {
        background: rgba(0, 0, 0, 0.7);
    }
    .glightbox-clean .gslide-media,
    .glightbox-modern .gslide-media {
        -webkit-box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.7);
        box-shadow: 1px 2px 9px 0 rgba(0, 0, 0, 0.7);
    }
    .glightbox-clean .description-left .gdesc-inner,
    .glightbox-clean .description-right .gdesc-inner,
    .glightbox-modern .description-left .gdesc-inner,
    .glightbox-modern .description-right .gdesc-inner {
        position: absolute;
        height: 100%;
        overflow-y: auto;
    }
    .glightbox-clean .gprev,
    .glightbox-modern .gprev {
        top: 45%;
    }
    .glightbox-clean .gnext,
    .glightbox-modern .gnext {
        top: 45%;
    }
}

@media (min-width: 992px) {
    .glightbox-clean .gclose,
    .glightbox-modern .gclose {
        right: 20px;
    }
}

@media screen and (max-height: 420px) {
    .goverlay {
        background: #000;
    }
}

input::placeholder, textarea::placeholder {
	color: var(--color-placeholder);
	opacity: 1;
	font-family: var(--font-sans);
}

[type="text"], [type="email"], [type="url"], [type="password"], [type="number"], [type="date"], [type="datetime-local"], [type="month"], [type="search"], [type="tel"], [type="time"], [type="week"], [multiple], textarea, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	border-color: var(--color-primary--light);
	background-color: var(--color-primary--ultralight);
	border-width: 1px;
	border-radius: 0.25rem;
	padding-top: 0.5rem;
	padding-right: 0.75rem;
	padding-bottom: 0.5rem;
	padding-left: 0.75rem;
	font-size: 1rem;
	line-height: 1.5rem;
    display: block;
    width: 100%;
	box-sizing: border-box;
	color: var(--color-placeholder);
	font-family: var(--font-sans);
}

[type="text"]:focus, [type="email"]:focus, [type="url"]:focus, [type="password"]:focus, [type="number"]:focus, [type="date"]:focus, [type="datetime-local"]:focus, [type="month"]:focus, [type="search"]:focus, [type="tel"]:focus, [type="time"]:focus, [type="week"]:focus, [multiple]:focus, textarea:focus, select:focus {
	outline: 1px solid transparent;
	outline-offset: 1px;
	--tw-ring-inset: var(--tw-empty, );
	--tw-ring-offset-width: 0px;
	--tw-ring-offset-color: #fff;
	--tw-ring-color: var(--color-primary--light);
	--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
	--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
	box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
	border-color: var(--color-primary--light);
    background-color: var(--color-white);
	font-family: var(--font-sans);
}

.container {
    position: relative;
    max-width: var(--container);
    padding: 0 calc(var(--container-padding)*2);
}

.container-full {
    margin-left: calc(var(--container-padding) * -2);
    margin-right: calc(var(--container-padding) * -2);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border-width: 0;
}

.bg-white {
    background-color: var(--color-white);
}

.py-std {
    padding-top: calc(var(--container-padding)*2);
    padding-bottom: calc(var(--container-padding)*2);
}

.mb-1 {
    margin-bottom: 1rem;
}

.mb-2 {
    margin-bottom: 2rem;
}

.mb-4 {
    margin-bottom: 4rem;
}

.mb-6 {
    margin-bottom: 6rem;
}

.mb-8 {
    margin-bottom: 8rem;
}

.mt-1 {
    margin-top: 1rem;
}

.mt-2 {
    margin-top: 2rem;
}

.mt-4 {
    margin-top: 4rem;
}

.mt-6 {
    margin-top: 6rem;
}

.mt-8 {
    margin-top: 6rem;
}

.text-right {
    text-align: right;
}

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

/* Viewport visibility utilities */

@media screen and (max-width: 47.99rem) {

.hide-mobile {
        display: none
}
    }

@media screen and (min-width: 48rem) {

.hide-desktop {
        display: none
}
    }

@media screen and (min-width: 48rem) {

.show-mobile-only {
        display: none
}
    }

@media screen and (max-width: 47.99rem) {

.show-desktop-only {
        display: none
}
    }

.sb-show-main > #root { height:  90vh; }

.video-embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    width: 100%;
    height: auto;
}

.video-embed .video-embed-item {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

.video-embed.cookie-blocked {
        padding-bottom: unset;
    }

/* Cookiebot blocked element info */

.accept-cookie-info {
    display: flex;
    border: 1px solid var(--color-red);
    padding: 10px;
    text-align: center;
    text-decoration: none;
    place-content: center;
    align-items: center;
    font-size: 20px;
}

.accept-cookie-info:hover {
        text-decoration: underline;
    }

.toplink {
    background-color: var(--color-red);
    display: none;
    width: 70px;
    height: 70px;
    position: fixed;
    right: 20px;
    bottom: 20px;

    border-radius: 50%;
    align-items: center;
    justify-content: center;
    z-index: 999;
  }

@media screen and (min-width: 48rem) {

.toplink {
      display: flex
  }
  
      .toplink-hidden {
        display: none;
      }
    }

.toplink #baselayer,
    .toplink #arrow {
      opacity: 0.5;
    }

.toplink #hoverlayer { opacity: 0; }

.toplink:hover #baselayer,
      .toplink:hover #arrow {
        opacity: 1;
      }

.toplink:hover #arrow {
        animation-name: moveIconUp;
        animation-duration: 0.5s;               
        animation-iteration-count: 1;
        animation-fill-mode: forwards;
      }

.toplink:hover #hoverlayer {
        animation-name: showHoverLayer;
        animation-duration: 1s;
        animation-iteration-count: 1;
        animation-fill-mode: forwards;
      }

@keyframes moveIconUp {
    from {  transform: translateY(0px)    }
    to   {  transform: translateY(-5px) }
  }

@keyframes showHoverLayer {
    from {  opacity: 0;    }
    to   {  opacity: 1; }
  }

@media screen and (min-width: 48rem) {

.postlist {
        display: grid;
        gap: var(--box-padding);
        grid-template-columns: repeat(2, minmax(320px, 1fr))
}
    }

.postlist .postlist__post {
        padding: var(--box-padding);
        border: 1px solid var(--color-primary--light);
        display: grid;
        grid-template-areas:    "blog-image"
                                "blog-date"
                                "blog-headline"
                                "blog-teaser"
                                "blog-footer";
        align-content: start;
    }

.postlist .postlist__post p:last-of-type {
            margin-bottom: 0;
        }

.postlist .postlist__post .postlist__featuredimage {
            grid-area: blog-image;
            margin-left: calc(var(--box-padding) * -1);
            margin-right: calc(var(--box-padding) * -1);
            margin-top: calc(var(--box-padding) * -1);
        }

.postlist .postlist__post .postlist__posttitle {
            grid-area: blog-headline;
        }

.postlist .postlist__post .postlist__postdescription {
            grid-area: blog-teaser;
            padding-bottom: var(--box-padding);
        }

.postlist .postlist__post .postmetagroup--type-listfooter {
            grid-area: blog-footer;
            margin-top: auto;
        }

@media screen and (min-width: 48rem) {
    .page-37 .postlist .postlist__post:nth-child(1) {
        grid-column: 1 / span 2;
    }

    .postlist .postlist__post:nth-child(1) {
        grid-column: inherit;
        margin-top: 1.5rem;
    }
}

.blogcontainer.blogcontainer-detail {
    grid-template-columns: 1fr;
}

.blogcontainer-sidebar .blogwidget {
        margin-bottom: var(--spacing-8);
    }

.blogcontainer-sidebar .blogwidget .blogwidget__title {
            font-size: 20px;
            color: var(--color-ruby);
            font-weight: var(--font-bold);
            border: 1px solid var(--color-primary--light);
            border-width: 1px 0;
            padding: var(--spacing-2) 0;
            margin-bottom: var(--spacing-4);
        }

.blogcontainer-sidebar .blogwidget .blogbadge {
            border-color: var(--color-primary--medium);
            border-radius: 3px;
        }

.blogcontainer-sidebar .blogwidget .blogwidgetlist--recentposts .blogwidgetlist__item {
            margin-bottom: var(--spacing-4);
        }

.postmetagroup {
    margin: 0;
}

.postmetagroup .postmetagroup__icon {
        opacity: 1;
        margin-right: var(--spacing-2);
    }

.postmetagroup .postmetagroup__icon .blogicon svg {
            width: 32px;
            height: 32px;
        }

.postmetagroup.postmetagroup--type-listheader,
    .postmetagroup.postmetagroup--type-postheader {
        border-bottom: 1px solid var(--color-primary--light);
        padding: var(--spacing-2) 0;
        margin-bottom: var(--spacing-2);
    }

.postmetagroup.postmetagroup--type-listfooter,
    .postmetagroup.postmetagroup--type-postfooter {
        border-top: 1px solid var(--color-primary--light);
        padding: var(--spacing-2) 0;
        margin-top: var(--spacing-4);
    }

.postmetagroup.postmetagroup--type-listfooter {
        padding-bottom: 0;
    }

.postmetagroup .postmetagroup__item {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        align-items: center;
    }

.postmetagroup .postmetagroup__item a:hover {
            text-decoration: underline;
        }

.postmetagroup .postmetagroup__item--tags {
            align-items: start;
        }

.bloglist--authors {
    display: grid;
    gap: var(--box-padding);
}

@media screen and (min-width: 48rem) {

.bloglist--authors {
        grid-template-columns: repeat(2, minmax(320px, 1fr))
}
    }

.bloglist__item--author {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#c-blog-authors {
    margin: var(--spacing-10) 0;
}

.blogpagination {
    grid-column: 1 / span 2;
}

form[id^='contact_01'] {
    padding: var(--box-padding);
    margin-top: 20px;
}

@media screen and (min-width: 48rem) {

form[id^='contact_01'] {
        padding: 0;
        display: grid;
        grid-template-areas: "headline headline" "form_left form_right" "form_left submit";
        gap: 20px;
        margin-top: 40px;
        grid-template-columns: 1fr 1fr
}
    }

form[id^='contact_01'] .row.form_left {
            grid-area: form_left;
        }

form[id^='contact_01'] .row.form_right {
            grid-area: form_right;
        }

form[id^='contact_01'] h2, form[id^='contact_01'] h3, form[id^='basic'] h2, form[id^='basic'] h3, .powermail_form h2, .powermail_form h3 {
        grid-area: headline;
        text-align: center;
        font-size: 30px;
        font-weight: var(--font-bold);
    }

form[id^='contact_01'] .form-group .control-label,
    form[id^='contact_01'] .powermail_label,
    form[id^='basic'] .form-group .control-label,
    form[id^='basic'] .powermail_label,
    .powermail_form .form-group .control-label,
    .powermail_form .powermail_label {
        display: block;
        font-weight: var(--font-bold);
        margin-bottom: 5px;
    }

/* Form inputs */

form[id^='contact_01'] .form-control, form[id^='basic'] .form-control, .powermail_form .form-control {
        width: 100%;
        padding: 8px 12px;
        border: 1px solid var(--color-primary--light);
        border-radius: 4px;
    }

form[id^='contact_01'] textarea, form[id^='contact_01'] .powermail_textarea, form[id^='basic'] textarea, form[id^='basic'] .powermail_textarea, .powermail_form textarea, .powermail_form .powermail_textarea {
        min-height: 5rem;
        font-family: var(--font-sans);
    }

form[id^='contact_01'] select, form[id^='basic'] select, .powermail_form select {
        background-repeat: no-repeat, repeat;
        background-position: right .7em top 50%, 0 0;
        background-size: .65em auto, 100%;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7' /%3E%3C/svg%3E");
        padding-right: 25px;
    }

form[id^='contact_01'] .actions,
    form[id^='contact_01'] .powermail_fieldwrap_type_submit,
    form[id^='basic'] .actions,
    form[id^='basic'] .powermail_fieldwrap_type_submit,
    .powermail_form .actions,
    .powermail_form .powermail_fieldwrap_type_submit {
        grid-area: submit;
    }

form[id^='contact_01'] .actions button.btn.btn-primary,
        form[id^='contact_01'] .actions input.btn.btn-primary,
        form[id^='contact_01'] .powermail_fieldwrap_type_submit button.btn.btn-primary,
        form[id^='contact_01'] .powermail_fieldwrap_type_submit input.btn.btn-primary,
        form[id^='basic'] .actions button.btn.btn-primary,
        form[id^='basic'] .actions input.btn.btn-primary,
        form[id^='basic'] .powermail_fieldwrap_type_submit button.btn.btn-primary,
        form[id^='basic'] .powermail_fieldwrap_type_submit input.btn.btn-primary,
        .powermail_form .actions button.btn.btn-primary,
        .powermail_form .actions input.btn.btn-primary,
        .powermail_form .powermail_fieldwrap_type_submit button.btn.btn-primary,
        .powermail_form .powermail_fieldwrap_type_submit input.btn.btn-primary {
            background-color: var(--color-green);
            color: var(--color-white);
            border: none;
            padding: 10px 20px;
            cursor: pointer;
            font-weight: var(--font-bold);
            text-transform: uppercase;
        }

form[id^='contact_01'] .actions button.btn.btn-primary:hover, form[id^='contact_01'] .actions input.btn.btn-primary:hover, form[id^='contact_01'] .powermail_fieldwrap_type_submit button.btn.btn-primary:hover, form[id^='contact_01'] .powermail_fieldwrap_type_submit input.btn.btn-primary:hover, form[id^='basic'] .actions button.btn.btn-primary:hover, form[id^='basic'] .actions input.btn.btn-primary:hover, form[id^='basic'] .powermail_fieldwrap_type_submit button.btn.btn-primary:hover, form[id^='basic'] .powermail_fieldwrap_type_submit input.btn.btn-primary:hover, .powermail_form .actions button.btn.btn-primary:hover, .powermail_form .actions input.btn.btn-primary:hover, .powermail_form .powermail_fieldwrap_type_submit button.btn.btn-primary:hover, .powermail_form .powermail_fieldwrap_type_submit input.btn.btn-primary:hover {
                background-color: var(--color-green--hover);
            }

form[id^='contact_01'] .powermail_fieldwrap_type_submit.grey-button button.btn.btn-primary,
        form[id^='contact_01'] .powermail_fieldwrap_type_submit.grey-button input.btn.btn-primary,
        form[id^='basic'] .powermail_fieldwrap_type_submit.grey-button button.btn.btn-primary,
        form[id^='basic'] .powermail_fieldwrap_type_submit.grey-button input.btn.btn-primary,
        .powermail_form .powermail_fieldwrap_type_submit.grey-button button.btn.btn-primary,
        .powermail_form .powermail_fieldwrap_type_submit.grey-button input.btn.btn-primary {
            background-color: var(--color-primary);
        }

form[id^='contact_01'] .powermail_fieldwrap_type_submit.grey-button button.btn.btn-primary:hover, form[id^='contact_01'] .powermail_fieldwrap_type_submit.grey-button input.btn.btn-primary:hover, form[id^='basic'] .powermail_fieldwrap_type_submit.grey-button button.btn.btn-primary:hover, form[id^='basic'] .powermail_fieldwrap_type_submit.grey-button input.btn.btn-primary:hover, .powermail_form .powermail_fieldwrap_type_submit.grey-button button.btn.btn-primary:hover, .powermail_form .powermail_fieldwrap_type_submit.grey-button input.btn.btn-primary:hover {
                background-color: var(--color-primary--dark);
            }

form[id^='contact_01'] .powermail_fieldwrap_type_submit.blue-button button.btn.btn-primary,
        form[id^='contact_01'] .powermail_fieldwrap_type_submit.blue-button input.btn.btn-primary,
        form[id^='basic'] .powermail_fieldwrap_type_submit.blue-button button.btn.btn-primary,
        form[id^='basic'] .powermail_fieldwrap_type_submit.blue-button input.btn.btn-primary,
        .powermail_form .powermail_fieldwrap_type_submit.blue-button button.btn.btn-primary,
        .powermail_form .powermail_fieldwrap_type_submit.blue-button input.btn.btn-primary {
            background-color: var(--color-blue);
        }

form[id^='contact_01'] .powermail_fieldwrap_type_submit.blue-button button.btn.btn-primary:hover, form[id^='contact_01'] .powermail_fieldwrap_type_submit.blue-button input.btn.btn-primary:hover, form[id^='basic'] .powermail_fieldwrap_type_submit.blue-button button.btn.btn-primary:hover, form[id^='basic'] .powermail_fieldwrap_type_submit.blue-button input.btn.btn-primary:hover, .powermail_form .powermail_fieldwrap_type_submit.blue-button button.btn.btn-primary:hover, .powermail_form .powermail_fieldwrap_type_submit.blue-button input.btn.btn-primary:hover {
                background-color: var(--color-primary--dark);
            }

form[id^='contact_01'] .powermail_fieldwrap_type_submit.primary-dark button.btn.btn-primary,
        form[id^='contact_01'] .powermail_fieldwrap_type_submit.primary-dark input.btn.btn-primary,
        form[id^='basic'] .powermail_fieldwrap_type_submit.primary-dark button.btn.btn-primary,
        form[id^='basic'] .powermail_fieldwrap_type_submit.primary-dark input.btn.btn-primary,
        .powermail_form .powermail_fieldwrap_type_submit.primary-dark button.btn.btn-primary,
        .powermail_form .powermail_fieldwrap_type_submit.primary-dark input.btn.btn-primary {
            color: var(--color-black);
        }

form[id^='contact_01'] .form-group,
    form[id^='contact_01'] .powermail_fieldwrap,
    form[id^='basic'] .form-group,
    form[id^='basic'] .powermail_fieldwrap,
    .powermail_form .form-group,
    .powermail_form .powermail_fieldwrap {
        margin-bottom: 10px;
    }

form[id^='contact_01'] .form-group input.error::placeholder,
        form[id^='contact_01'] .form-group textarea.error::placeholder,
        form[id^='contact_01'] .powermail_fieldwrap input.error::placeholder,
        form[id^='contact_01'] .powermail_fieldwrap textarea.error::placeholder,
        form[id^='basic'] .form-group input.error::placeholder,
        form[id^='basic'] .form-group textarea.error::placeholder,
        form[id^='basic'] .powermail_fieldwrap input.error::placeholder,
        form[id^='basic'] .powermail_fieldwrap textarea.error::placeholder,
        .powermail_form .form-group input.error::placeholder,
        .powermail_form .form-group textarea.error::placeholder,
        .powermail_form .powermail_fieldwrap input.error::placeholder,
        .powermail_form .powermail_fieldwrap textarea.error::placeholder {
            background-color: var(--color-error);
            color: var(--color-white);
        }

form[id^='contact_01'] .form-group .error.help-block,
        form[id^='contact_01'] .form-group .powermail_field_error_container,
        form[id^='contact_01'] .powermail_fieldwrap .error.help-block,
        form[id^='contact_01'] .powermail_fieldwrap .powermail_field_error_container,
        form[id^='basic'] .form-group .error.help-block,
        form[id^='basic'] .form-group .powermail_field_error_container,
        form[id^='basic'] .powermail_fieldwrap .error.help-block,
        form[id^='basic'] .powermail_fieldwrap .powermail_field_error_container,
        .powermail_form .form-group .error.help-block,
        .powermail_form .form-group .powermail_field_error_container,
        .powermail_form .powermail_fieldwrap .error.help-block,
        .powermail_form .powermail_fieldwrap .powermail_field_error_container {
            display: inline-block;
            padding: calc(var(--box-padding)/2);
            color: var(--color-error);
        }

form[id^='contact_01'] .form-group .error.help-block:empty, form[id^='contact_01'] .form-group .powermail_field_error_container:empty, form[id^='contact_01'] .powermail_fieldwrap .error.help-block:empty, form[id^='contact_01'] .powermail_fieldwrap .powermail_field_error_container:empty, form[id^='basic'] .form-group .error.help-block:empty, form[id^='basic'] .form-group .powermail_field_error_container:empty, form[id^='basic'] .powermail_fieldwrap .error.help-block:empty, form[id^='basic'] .powermail_fieldwrap .powermail_field_error_container:empty, .powermail_form .form-group .error.help-block:empty, .powermail_form .form-group .powermail_field_error_container:empty, .powermail_form .powermail_fieldwrap .error.help-block:empty, .powermail_form .powermail_fieldwrap .powermail_field_error_container:empty {
                display: none;
            }

form[id^='contact_01'] .form-group .powermail_field_error_container, form[id^='contact_01'] .powermail_fieldwrap .powermail_field_error_container, form[id^='basic'] .form-group .powermail_field_error_container, form[id^='basic'] .powermail_fieldwrap .powermail_field_error_container, .powermail_form .form-group .powermail_field_error_container, .powermail_form .powermail_fieldwrap .powermail_field_error_container {
            padding: 0;
        }

form[id^='contact_01'] .form-group .powermail-errors-list, form[id^='contact_01'] .powermail_fieldwrap .powermail-errors-list, form[id^='basic'] .form-group .powermail-errors-list, form[id^='basic'] .powermail_fieldwrap .powermail-errors-list, .powermail_form .form-group .powermail-errors-list, .powermail_form .powermail_fieldwrap .powermail-errors-list {
            margin-top: var(--spacing-4);
        }

form[id^='contact_01'] .form-group .powermail-errors-list li, form[id^='contact_01'] .powermail_fieldwrap .powermail-errors-list li, form[id^='basic'] .form-group .powermail-errors-list li, form[id^='basic'] .powermail_fieldwrap .powermail-errors-list li, .powermail_form .form-group .powermail-errors-list li, .powermail_form .powermail_fieldwrap .powermail-errors-list li {
                color: var(--color-red);
            }

form[id^='contact_01'] fieldset.form-group,
    form[id^='contact_01'] .powermail_fieldset,
    form[id^='basic'] fieldset.form-group,
    form[id^='basic'] .powermail_fieldset,
    .powermail_form fieldset.form-group,
    .powermail_form .powermail_fieldset {
        margin-top: 20px;
        margin-bottom: 20px;
        border: none;
        padding: 0;
    }

form[id^='contact_01'] fieldset.form-group legend,
        form[id^='contact_01'] fieldset.form-group .powermail_legend,
        form[id^='contact_01'] .powermail_fieldset legend,
        form[id^='contact_01'] .powermail_fieldset .powermail_legend,
        form[id^='basic'] fieldset.form-group legend,
        form[id^='basic'] fieldset.form-group .powermail_legend,
        form[id^='basic'] .powermail_fieldset legend,
        form[id^='basic'] .powermail_fieldset .powermail_legend,
        .powermail_form fieldset.form-group legend,
        .powermail_form fieldset.form-group .powermail_legend,
        .powermail_form .powermail_fieldset legend,
        .powermail_form .powermail_fieldset .powermail_legend {
            font-weight: var(--font-bold);
            margin-bottom: 15px;
            width: 100%;
            border-bottom: 1px solid var(--color-primary--light);
            padding-bottom: 5px;
        }

/* Powermail specific styles */

form[id^='contact_01'] .powermail_field, form[id^='basic'] .powermail_field, .powermail_form .powermail_field {
        margin-bottom: 15px;
    }

form[id^='contact_01'] .form-check,
    form[id^='contact_01'] .powermail_radiowrap,
    form[id^='basic'] .form-check,
    form[id^='basic'] .powermail_radiowrap,
    .powermail_form .form-check,
    .powermail_form .powermail_radiowrap {
        margin-bottom: 5px;
    }

form[id^='contact_01'] .form-check input[type="radio"],
        form[id^='contact_01'] .form-check input[type="checkbox"],
        form[id^='contact_01'] .powermail_radiowrap input[type="radio"],
        form[id^='contact_01'] .powermail_radiowrap input[type="checkbox"],
        form[id^='basic'] .form-check input[type="radio"],
        form[id^='basic'] .form-check input[type="checkbox"],
        form[id^='basic'] .powermail_radiowrap input[type="radio"],
        form[id^='basic'] .powermail_radiowrap input[type="checkbox"],
        .powermail_form .form-check input[type="radio"],
        .powermail_form .form-check input[type="checkbox"],
        .powermail_form .powermail_radiowrap input[type="radio"],
        .powermail_form .powermail_radiowrap input[type="checkbox"] {
            margin-right: 5px;
        }

form[id^='contact_01'] .mandatory, form[id^='basic'] .mandatory, .powermail_form .mandatory {
        color: var(--color-error);
        margin-left: 3px;
    }

/* Validation and error messages */

form[id^='contact_01'] .has-error .form-control,
    form[id^='contact_01'] .has-error .powermail_input,
    form[id^='contact_01'] .has-error .powermail_textarea,
    form[id^='contact_01'] .has-error .powermail_select,
    form[id^='basic'] .has-error .form-control,
    form[id^='basic'] .has-error .powermail_input,
    form[id^='basic'] .has-error .powermail_textarea,
    form[id^='basic'] .has-error .powermail_select,
    .powermail_form .has-error .form-control,
    .powermail_form .has-error .powermail_input,
    .powermail_form .has-error .powermail_textarea,
    .powermail_form .has-error .powermail_select {
        border-color: var(--color-error);
    }

form[id^='contact_01'] .powermail_field_error,
    form[id^='contact_01'] .parsley-errors-list,
    form[id^='basic'] .powermail_field_error,
    form[id^='basic'] .parsley-errors-list,
    .powermail_form .powermail_field_error,
    .powermail_form .parsley-errors-list {
        color: var(--color-error);
        font-size: 0.9em;
        margin-top: 5px;
        list-style: none;
    }

/* Hidden honeypot field */

form[id^='contact_01'] div[style*="margin-left: -99999px"], form[id^='basic'] div[style*="margin-left: -99999px"], .powermail_form div[style*="margin-left: -99999px"] {
        display: none;
    }

/* Linked checkbox */

.form-group .form-check-label span a,
.powermail_form .form-check-label a {
    text-decoration: underline;
}

.form-group .form-check-label span a:hover, .powermail_form .form-check-label a:hover {
        text-decoration: none;
    }

/* Bootstrap grid layout for powermail */

.powermail_form .row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.powermail_form [class*="col-"] {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.powermail_tab_navigation {
    display: flex;
    gap: 15px;
    margin: 30px 0;
}

.powermail_confirmation tr {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 30px;
    border-bottom: 1px solid var(--color-primary--light);
    padding: 5px;
}

.powermail_multistep_navigation {

    margin: 30px 0;
    counter-reset: layer-counter;
}

@media screen and (min-width: 48rem) {

.powermail_multistep_navigation {
        display: flex;
        gap: 15px
}

    }

.powermail_multistep_navigation .btn {
        border-bottom: 2px solid var(--color-grey--light);
        counter-increment: layer-counter;
        display: flex;
        align-items: center;
        margin-bottom: 12px;
        padding: 8px;
        border-radius: 0;
        transition: background-color 0.3s ease;
    }

@media screen and (max-width: 48rem) {

.powermail_multistep_navigation .btn {
            text-align: left;
            width: 95%
    }
        }

.powermail_multistep_navigation .btn::before {
            content: counter(layer-counter);
            background-color: var(--color-grey--light);
            color: var(--color-white);
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: var(--font-bold);
            font-size: 14px;
            margin-right: 12px;
            flex-shrink: 0;
            transition: all 0.3s ease;
        }

.powermail_multistep_navigation .btn.active {
            border-bottom: 2px solid var(--color-primary--dark);
        }

.powermail_multistep_navigation .btn.active::before {
                background-color: var(--color-primary--dark);
            }

:lang(jp) .benefit h4 { font-family: var(--font-sans); }

.images-box-wrapper {
    display: flex;
    gap: 10px;
}
