:root {
    --color__light: #ffffff;
    --color__dark: #333333;
    --color__beige--light: #faf7f0;
    --color__beige: #f0ebdd;
    --color__beige--dark: #d9d1bc;
    --color__blue: #98a1aa;
    --color__blue--light: #f0f2f5;
    --color__petrol: #abd1d0;
    --color__red: #dd3e3e;
    --color__yellow: #ffc108;

    --color__text: var(--color__dark);

    --font__family: "Open Sans", sans-serif;
    --font__size--base: 17px;
    --font__weight--light: 300;
    --font__weight--normal: 400;
    --font__weight--semi: 600;
    --font__weight--bold: 700;

    --mainnav-width: 250px;
    --padding__main: 1rem;
}

@media screen and (min-width: 960px) {
    :root {
        --padding__main: 2.5rem;
    }
}

/* open-sans-300 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/open-sans-v40-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/open-sans-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/open-sans-v40-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/open-sans-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/*
 * Reset
 *
 *************************************************************************/

img {
    width: 100%;
    vertical-align: top;
}

/* Elemente mit BG image über gesamte Breite
 *************************************************************************/

.gda-subpage__header::after,
.gda-quiz .gda-question__wrapper:nth-child(1)::after,
.gda-teaser-list .gda-teaser:nth-child(2)::after,
.gda-teaser-list .gda-teaser:nth-child(4)::after,
.gda-page--info .gda-teaser-list::after {
    content: "";
    display: block;
    width: calc(100% + var(--padding__main) * 2);
    height: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: calc(var(--padding__main) * -1);
    right: calc(var(--padding__main) * -1);
    z-index: 0;
}

/*
 * html, body
 *
 *************************************************************************/

html {
    font-size: var(--font__size--base);
    scroll-behavior: smooth;
}

body {
    background: var(--color__light);
    font-family: var(--font__family);
    color: var(--color__text);
    line-height: 1.4;
    display: flex;
    width: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
}

/*
 * Typografie
 *
 *************************************************************************/

h1,
.gda-h1,
h2,
h3,
.gda-h3,
h4 {
    font-weight: var(--font__weight--light);
    text-transform: uppercase;
}

h1,
.gda-h1 {
    font-size: clamp(1.8rem, 2.35vw, 2.35rem);
    line-height: 1.375;
}

h2,
.gda-h2 {
    font-size: clamp(2rem, 3.5vw, 3.5em);
    line-height: 1.2;
    margin-bottom: 0.5em;
}

h3,
.gda-h3 {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    margin-bottom: 1em;
}

h4 {
    font-size: 1.17rem;
}

p + p {
    margin-top: 1rem;
}

.gda-text--large {
    font-size: 1.7rem;
    font-weight: var(--font__weight--light);
}

.keep-text-align.gda-text--center,
.keep-text-align .gda-text--center {
    text-align: center;
}

@media screen and (min-width: 960px) {
    .gda-text--center {
        text-align: center;
    }

    h2.gda-text--center {
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
}

main a {
    color: var(--color__petrol);
    font-weight: 600;
    text-decoration: none;
}

main a:hover {
    color: var(--color__dark);
}

/*
 * Navigation
 *
 *************************************************************************/

/* Alle Nav Links
 *************************************************************************/

.gda-footernav__link,
.gda-mainnav__link {
    text-transform: uppercase;
    color: var(--color__light);
    text-decoration: none;
}

.gda-footernav__link::after,
.gda-mainnav__link::after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background-color: currentColor;
    transition: width 0.3s ease-in-out;
}

.gda-footernav__link:hover::after,
.gda-mainnav__link:hover::after {
    width: 100%;
}

/* Mainnav
 *************************************************************************/

.gda-mainnav__wrapper {
    background-color: var(--color__dark);
    min-height: 100vh;
    width: var(--mainnav-width);
    padding: 0 2rem;
    position: fixed;
    z-index: 2;
}

.gda-mainnav__wrapper[is-closing] {
    animation: slideMenuOut 0.5s forwards;
}

.gda-mainnav {
    display: flex;
    height: 100vh;
    align-items: center;
}

.gda-mainnav__list {
    width: 100%;
    margin-bottom: 2rem;
    padding: 0;
    list-style: none;
}

.gda-mainnav__link {
    display: inline-block;
    padding: 0.5em 0;
    position: relative;
}

.gda-mainnav__item.is-active {
    padding: 0.5rem 0;
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
    margin-bottom: 0.5rem;
}

.gda-mainnav__list li.is-active > .gda-mainnav__link {
    cursor: default;
}

.gda-mainnav__list li.is-active > .gda-mainnav__link::after {
    width: 100%;
}

.gda-mainnav__sublist {
    display: none;
    padding-left: 1rem;
    list-style: none;
}

.gda-mainnav__item.is-active .gda-mainnav__sublist {
    display: block;
}

.gda-mainnav__wrapper.is-open {
    animation: slideMenuIn 0.5s forwards;
}

.gda-mainnav__toggle {
    padding: calc(var(--padding__main) / 2);
    display: flex;
    appearance: none;
    border: none;
    background: transparent;
    cursor: pointer;
    outline: none;
    margin-top: 1.5rem;
}

.gda-mainnav__toggle--open {
    right: calc(var(--padding__main) * -0.5);
}

.gda-mainnav__toggle--close {
    right: calc(var(--padding__main) * 0.5);
}

@media screen and (max-width: 1199px) {
    .gda-mainnav__wrapper {
        right: -100%;
    }
}

@media screen and (min-width: 1200px) {
    .gda-mainnav__wrapper {
        right: 0;
    }

    .gda-mainnav__toggle {
        display: none;
    }
}

.nav_label_new {
    font-size: 14px;
    font-weight: var(--font__weight--bold);
    color: #ffffff;
    background: var(--color__red);
    padding: 0 5px;
    line-height: initial;
    position: absolute;
    margin: 0.15em 0 0.5em .75rem;
}


/*
 * Header
 *
 *************************************************************************/

.gda-header {
    padding: calc(var(--padding__main) / 4) 0;
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 3rem;
}

.gda-header img {
    width: auto;
    height: 130px;
}

@media screen and (max-width: 659px) {
    .gda-page--firmenprofil .gda-subpage__header .gda-box__wrapper,
    .gda-page--partner .gda-subpage__header .gda-box__wrapper {
        order: -1;
    }
}

.logo_wrapper {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.logo_container {
    flex: 0 0 auto;
}

@media screen and (max-width: 780px) {
    .logo_container {
        flex: 0 1 auto;
    }

    .gda-header img {
        max-height: 130px;
        height: 100%;
    }
}

.event_date {
    color: var(--color__red);
    font-size: 30px;
    position: relative;
    font-weight: var(--font__weight--light);
}

.event_date:after {
    content: "";
    position: absolute;
    bottom: 0;
    height: 11px;
    width: 140%;
    display: block;
    background-image: url("/_assets/img/bg_line_logo.svg");
    background-repeat: no-repeat;
    background-position: right top;
}

.navigation_wrapper {
    display: flex;
    align-items: center;
}

.datomat_wrapper a {
    display: flex;
    flex-flow: column;
    align-items: flex-end;
}

.datomat_wrapper img {
    height: 69px;
    width: auto;
}

.datomat_text {
    display: flex;
    gap: .75rem;
    align-items: center;
    text-transform: uppercase;
    font-weight: var(--font__weight--semi);
    color: var(--color__text);
    font-size: 14px;
}

.datomat_text span {
    text-decoration: underline;
}

.datomat_text svg {
    fill: var(--color__text);
    height: 14px;
    width: 23px;
}

.datomat_wrapper a:hover .datomat_text {
    color: var(--color__red);
}

.datomat_wrapper a:hover .datomat_text svg {
    fill: var(--color__red);
}

@media screen and (max-width: 760px) {
    .logo_wrapper {
        position: relative;
        flex-flow: column;
        align-items: flex-end;
        gap: 0;
    }

    .event_date {
        position: absolute;
        font-size: 23px;
        bottom: 0;
        right: 55px;
    }

    .gda-mainnav__toggle {
        margin-top: 1.3rem;
    }
}

@media screen and (max-width: 1079px) {
    .datomat_wrapper img {
        height: 59px;
    }
}

@media screen and (max-width: 1019px) {
    .datomat_wrapper img {
        height: 50px;
    }
}

@media screen and (max-width: 979px) {
    .datomat_wrapper {
        display: none;
    }
}

@media screen and (max-width: 510px) {
    .gda-header {
        gap: 1rem;
    }

    .event_date {
        display: none;
    }

    .gda-mainnav__toggle {
        margin-top: 0rem;
    }

    .logo_container {
        display: flex;
        align-items: center;
        height: 100%;
    }
}

/*
 * Main
 *
 *************************************************************************/

.gda-main {
    width: 100%;

    padding: 0 var(--padding__main);
}

@media screen and (min-width: 1200px) {
    .gda-main {
        width: calc(100% - var(--mainnav-width));
    }
}

/*
 * Footer
 *
 *************************************************************************/

.gda-footer {
    background-color: var(--color__blue--light);
    color: var(--color__dark);
    padding: var(--padding__main);
    margin: 0 calc(var(--padding__main) * -1);
}

.gda-footernav__link {
    color: var(--color__dark);
}

.gda-footernav__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gda-footer .gda-grid {
    width: 100%;
}

.gda-footer .gda-grid .gda-column {
    width: 100%;
}

.gda-footer .gda-grid .gda-column:last-child {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.gda-footer .gda-text--large {
    text-transform: uppercase;
    text-decoration: underline;
    margin-bottom: 1em;
}

.gda-footer__logo img {
    height: 180px;
    width: auto;
}

@media screen and (min-width: 960px) {
    .gda-footer .gda-grid {
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .gda-footer .gda-grid .gda-column:first-child {
        width: 60%;
    }

    .gda-footer .gda-grid .gda-column:last-child {
        width: calc(40% - var(--_grid__gap));
    }
}

@media screen and (min-width: 1200px) {
    .gda-footer__logo {
        text-align: right;
    }

    .gda-footernav__list {
        justify-content: flex-end;
    }
}

/*
 * Pages
 *
 *************************************************************************/

.gda-content {
    background-color: var(--color__beige--light);
    padding: var(--padding__main);
    margin-bottom: var(--padding__main);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
}

.gda-content--blue {
    background-color: var(--color__blue--light);
}

/* Subpages
 *************************************************************************/

.gda-subpage__header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--padding__main);
    position: relative;
}

.gda-subpage__header__margin {
    margin-bottom: calc(var(--padding__main) * 2);
}

.gda-page--firmenprofil .gda-subpage__header::after,
.gda-page--partner .gda-subpage__header::after,
.gda-page--standorte .gda-subpage__header::after {
    background-image: url("/_assets/img/standorte/bg_header_standorte.svg");
}

.gda-subpage__header > * {
    z-index: 1;
}

.gda-subpage__header::after {
    top: calc(var(--padding__main) * -1);
}

.gda-subpage__header-image {
    width: 100%;
    max-width: 580px;
    margin: 5vh 0;
}

.gda-subpage__header h1 {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    margin-bottom: 1em;
}

.gda-subpage__header .gda-box__wrapper {
    width: 100%;
}

.gda-subpage__header .gda-box p:last-of-type + * {
    display: inline-block;
    margin-top: 1rem;
}

@media screen and (min-width: 640px) {
    .gda-subpage__header-image {
        width: 60%;
    }
}

@media screen and (min-width: 960px) {
    .gda-subpage__header {
        flex-direction: row;
        gap: 10vw;
    }

    .gda-subpage__header-image {
        width: 100%;
        margin: 10vh 0;
    }

    h2 + p.gda-text--center {
        width: 80%;
        max-width: 1000px;
        margin: 0 auto;
    }

    .gda-subpage__header .gda-box__wrapper {
        width: 30%;
        min-width: 400px;
    }
}

@media screen and (min-width: 1200px) {
    .gda-subpage__header-image {
        margin: 5vh 0 0 10%;
    }
}

/* Content auf Karten/Listenseite
 *************************************************************************/

.gda-toolbar {
    display: flex;
    flex-wrap: wrap;
    grid-column-gap: 1rem;
    grid-row-gap: 2rem;
    margin-bottom: 2rem;
}

.gda-toolbar .gda-button:not(:first-child) {
    margin-right: 4rem;
}

.gda-toolbar__links {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    align-items: center;
}

.gda-toolbar__links .gda-link {
    background-color: transparent;
    transition: background-color 0.3s ease-in-out;
}

.gda-toolbar__links .gda-link:hover {
    background-color: var(--color__beige);
}

.gda-toolbar__links .gda-link:not(.is-active) {
    text-decoration: none;
}

/*
 * Container
 *
 *************************************************************************/

.gda-container {
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

.gda-container--small {
    max-width: 600px;
}

.gda-container--medium {
    max-width: 800px;
}

/*
 * Grid
 *
 *************************************************************************/

.gda-grid {
    --_grid__columns: 1;
    --_grid__gap: var(--padding__main);

    width: calc(100% + var(--_grid__gap));
    display: flex;
    gap: var(--_grid__gap);
    flex-wrap: wrap;
}

.gda-column {
    position: relative;
}

.gda-grid--small {
    --_grid__gap: 1rem;
}

.gda-grid > * {
    width: calc(100% / var(--_grid__columns) - var(--_grid__gap));
}

.gda-grid--collapse {
    --_grid__gap: 0rem;
}

@media screen and (min-width: 960px) {
    .gda-grid--2-cols {
        --_grid__columns: 2;
    }
}

/*
 * Box
 *
 *************************************************************************/

.gda-box__wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.gda-box {
    padding: var(--padding__main);
    position: relative;
    z-index: 1;
}

.gda-box--white {
    background-color: var(--color__light);
}

.gda-box--shadow > * {
    position: relative;
    z-index: 1;
}

.gda-box--shadow::before,
.gda-box--shadow::after {
    content: "";
    display: block;
    position: absolute;
}

.gda-box--shadow::before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--color__light);
}

.gda-box--shadow::after {
    --_padding: 1rem;
    --_padding--bottom: -2rem;

    background-image: url("/_assets/img/card_shadow.svg");
    background-size: 2%;
    z-index: -1;
}

.gda-question__wrapper:nth-child(3n + 1) .gda-box--shadow::after {
    top: var(--_padding);
    left: var(--_padding);
    right: calc(var(--_padding) * -1);
    bottom: var(--_padding--bottom);
}

.gda-question__wrapper:nth-child(3n + 2) .gda-box--shadow::after {
    top: var(--_padding);
    left: calc(var(--_padding) * -1);
    right: var(--_padding);
    bottom: var(--_padding--bottom);
}

.gda-question__wrapper:nth-child(3n + 3) .gda-box--shadow::after {
    top: calc(var(--_padding) * -1);
    left: var(--_padding);
    right: calc(var(--_padding) * -1);
    bottom: calc(var(--_padding--bottom) * -1);
}

.gda-box__image {
    margin-bottom: var(--padding__main);
}

.gda-box .gda-button {
    margin-top: 2rem;
}

.gda-box__extend {
    background-color: var(--color__dark);
    color: var(--color__light);
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1rem;
    translate: 0 calc(100% - 1px);
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 2;
}

.gda-box.has-extend {
    transition: box-shadow 0.3s ease-in-out;
    overflow: hidden;
}

.gda-box.has-extend.is-open,
.gda-box.has-extend:hover {
    box-shadow: inset 0 0 0 1px var(--color__dark);
    overflow: visible;
}

.gda-box.has-extend.is-open .gda-box__extend,
.gda-box.has-extend:hover .gda-box__extend {
    opacity: 1;
}

@media screen and (min-width: 740px) {
    .gda-box__wrapper {
        flex-direction: row;
    }

    .gda-box__wrapper .gda-box {
        width: 50%;
    }

    .gda-box--shadow::after {
        --_padding: 2rem;
        --_padding--bottom: -3rem;
    }
}

@media screen and (min-width: 960px) {
    .gda-box__wrapper {
        flex-direction: column;
        position: sticky;
        top: var(--padding__main);
    }

    .gda-box__wrapper .gda-box {
        width: 100%;
    }

    .gda-box--shadow::after {
        --_padding: 4rem;
        --_padding--bottom: -6rem;
    }
}

/*
 * Teaser
 *
 *************************************************************************/

.gda-teaser-list .gda-teaser {
    display: flex;
    flex-direction: column;
    position: relative;
}

.gda-teaser-list .gda-teaser:not(:last-child) {
    margin-bottom: calc(var(--padding__main) * 3);
}

.gda-teaser-list .gda-teaser > * {
    width: 100%;
    z-index: 1;
}

@media screen and (min-width: 960px) {
    .gda-teaser-list .gda-teaser {
        flex-direction: row;
    }

    .gda-teaser-list .gda-teaser > * {
        width: 50%;
    }

    .gda-teaser-list .gda-teaser:nth-child(even) > :nth-child(2) {
        order: -1;
    }

    .gda-teaser-list .gda-teaser:nth-child(2)::after,
    .gda-teaser-list .gda-teaser:nth-child(4)::after {
        bottom: -60%;
    }
}

/*
 * Akkordeon
 *
 *************************************************************************/

.gda-akkordion details {
    padding: 1.5rem 0;
    border-top: 1px solid var(--color__blue);
}

.gda-akkordion details summary {
    position: relative;
    letter-spacing: 0.05em;
    font-size: 1.17rem;
    color: black;
    list-style: none;
    cursor: pointer;
}

.gda-akkordion details summary::marker {
    display: none;
}

.gda-akkordion details summary::after {
    content: "MEHR";
    position: absolute;
    right: 0;
    font-weight: var(--font__weight--semi);
    font-size: 1rem;
    text-decoration: underline;
    text-underline-offset: 2px;
    background-image: url("/_assets/img/icons/chevron_down.svg");
    background-repeat: no-repeat;
    background-position: center right;
    padding-right: 2rem;
}

.gda-akkordion details[open] summary {
    font-weight: var(--font__weight--semi);
    margin-bottom: 2rem;
}

.gda-akkordion details[open] summary::after {
    content: "ZUKLAPPEN";
    letter-spacing: 0;
    background-image: url("/_assets/img/icons/chevron_up.svg");
}

/*
 * Description List
 *
 *************************************************************************/

.gda-description-list dt {
    padding: 1.5rem 0;
    border-top: 1px solid var(--color__blue);
}

.gda-description-list dt.gda-h3 {
    margin-bottom: 0;
}

.gda-description-list dd .gda-button {
    margin-top: 1rem;
    display: block;
}

@media screen and (min-width: 960px) {
    .gda-description-list dt.gda-h3 {
        padding-right: 400px;
    }

    .gda-description-list dd {
        padding-right: 400px;
        position: relative;
        padding-bottom: 1.5rem;
    }

    .gda-description-list dd .gda-button {
        position: absolute;
        top: 0;
        right: 0;
        translate: 0 -100%;
        margin-top: 0;
    }
}

/*
 * Slider
 *
 *************************************************************************/

.gda-slider__wrapper {
    background-image: url("/_assets/img/bg-lines-slider.svg");
    background-repeat: no-repeat;
    background-position: center center;
}

.gda-slider {
    --_padding-horizontal: 10vw;

    padding: 0 var(--_padding-horizontal);
    position: relative;
}

.gda-slide__content video {
    width: 100%;
}

.gda-slide__content img {
    height: 100%;
    object-fit: contain;
}

.gda-slide__caption {
    padding: 1em 4em 1em 0;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.slick-current .gda-slide__caption {
    opacity: 1;
    transition: opacity 0.3s ease-in-out 0.5s;
}

.gda-slide__caption::after {
    content: "";
    display: block;
    width: 50%;
    height: 1px;
    background-color: var(--color__red);
    margin-top: 1rem;
}

.slick-arrow {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 58px;
    height: 58px;
    border: none;
    border-radius: 50%;
    text-indent: -1000%;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    overflow: hidden;
    z-index: 1;
}

.slick-arrow:hover {
    background-color: var(--color__dark);
}

.slick-prev {
    left: var(--padding__main);
    background-image: url("/_assets/img/icons/slider_arrow_left.svg");
}

.slick-next {
    right: var(--padding__main);
    background-image: url("/_assets/img/icons/slider_arrow_right.svg");
}

.slick-dots {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 1rem;
    position: absolute;
    right: var(--_padding-horizontal);
    margin-top: 1.5rem;
    bottom: 0;
}

.slick-dots button {
    width: 19px;
    height: 19px;
    background-color: var(--color__light);
    border: none;
    border-radius: 50%;
    text-indent: -1000%;
    overflow: hidden;
    transition: background-color 0.3s ease-in-out;
}

.slick-dots li:not(.slick-active):hover button {
    background-color: var(--color__petrol);
}

.slick-dots .slick-active button {
    background-color: var(--color__dark);
}

@media screen and (max-width: 1599px) {
    .gda-slider {
        padding-bottom: 3rem;
    }

    .gda-slide__content {
        height: unset !important;
    }

    .gda-slide__caption {
        padding: 1em;
        width: 100% !important;
    }

    .slick-dots {
        top: unset !important;
        right: 50%;
        translate: 50% 0;
    }
}

@media screen and (max-width: 459px) {
    .gda-slider {
        padding-left: 0;
        padding-right: 0;
    }

    .slick-arrow {
        display: none !important;
    }
}

/*
 * Links und Buttons
 *
 *************************************************************************/

button.gda-link,
button.gda-button {
    border: none;
}

.gda-link {
    display: inline-block;
    color: var(--color__text);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-transform: uppercase;
    font-weight: var(--font__weight--semi);
}

.gda-link--external,
.gda-link--arrow {
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 1.2rem;
    padding-right: 1.7em;
}

.gda-link--arrow {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="26.684" height="16.82" viewBox="0 0 26.684 16.82"><path d="M41.849,49.9l.726.726,8.41-8.41-8.41-8.41-.726.726,7.163,7.165H24.3v1.038H49.012Z" transform="translate(-24.301 -33.801)"/></svg>');
    transition: padding-right 0.3s ease-in-out;
}

.gda-link--arrow:hover {
    padding-right: 2em;
}

.gda-link--external {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30.762" height="30.762" viewBox="0 0 30.762 30.762"><path id="np_arrow_3771902_000000" d="M17.548,16.094l.726.726,8.41-8.41L18.274,0l-.726.726,7.163,7.165H0V8.929H24.711Z" transform="translate(0 18.868) rotate(-45)"/></svg>');
    transition: color 0.3s ease-in-out;
}

.gda-link--external:hover {
    color: var(--color__petrol);
}

/* Buttons
 *************************************************************************/

button[type="submit"],
.gda-button {
    padding: 1em 1.5em;
    text-transform: uppercase;
    display: inline-block;
    font-weight: var(--font__weight--semi);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    color: var(--color__dark);
    background-color: var(--color__petrol);
    transition: background-color 0.3s ease-in-out;
}

.gda-button:hover {
    background-color: var(--color__beige);
    transition: background-color 0.3s ease-in-out;
}

.gda-button--download,
.gda-button--map,
.gda-button--list {
    background-repeat: no-repeat;
    background-position: 1.2rem center;
    background-size: 1rem;
    padding-left: 3.5rem;
    text-align: left !important;
    transition: padding-right 0.3s ease-in-out;
}

.gda-button--download {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14.498" height="23" viewBox="0 0 14.498 23"><path d="M15.125,13.872l.626.626L23,7.249,15.751,0l-.626.626L21.3,6.8H0V7.7H21.3Z" transform="translate(14.498) rotate(90)"/></svg>');
    width: 80%;
    max-width: 235px;
}

.gda-button--map {
    background-image: url("/_assets/img/icons/map.svg");
}

.gda-button--list {
    background-image: url("/_assets/img/icons/list.svg");
}

span.gda-button {
    background-color: var(--color__beige);
    cursor: default;
}

/*
 * Slideshow
 *
 *************************************************************************/

.gda-slideshow__wrapper {
    margin-top: 2rem;
    padding: 0 10vw;
}

/*
 * Helper
 *
 *************************************************************************/

.gda-overflow--scroll {
    overflow: auto;
}

/* width */
.gda-overflow--scroll::-webkit-scrollbar {
    height: 10px;
}

/* Track */
.gda-overflow--scroll::-webkit-scrollbar-track {
    background: var(--color__light);
}

/* Handle */
.gda-overflow--scroll::-webkit-scrollbar-thumb {
    background: var(--color__blue);
}

/* Handle on hover */
.gda-overflow--scroll::-webkit-scrollbar-thumb:hover {
    background: var(--color__dark);
}

.gda-overflow--hidden {
    overflow: hidden;
}

.gda-order--first {
    order: -1;
}

/* Background */

.gda-background--cover {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Spacing
 *************************************************************************/

.gda-margin--top {
    margin-top: 2rem;
}

/*
 * Formular
 *
 *************************************************************************/

input,
textarea,
select {
    width: 100%;
    border-radius: 0;
    border: 1px solid var(--color__blue);
    margin: 0.5rem 0 1rem 0;
    padding: 0.75rem 1.25rem;
}

input[type="radio"] {
    margin: 0;
}

select {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image: linear-gradient(
            45deg,
            transparent 50%,
            var(--color__blue) 50%
    ),
    linear-gradient(135deg, var(--color__blue) 50%, transparent 50%),
    linear-gradient(to right, var(--color__blue), var(--color__blue));
    background-position: calc(100% - 20px) calc(1em + 5px),
    calc(100% - 15px) calc(1em + 5px), calc(100% - 2.5em) 0.7em;
    background-size: 5px 5px, 5px 5px, 1px 1.5em;
    background-repeat: no-repeat;
}

select:focus {
    background-image: linear-gradient(
            45deg,
            var(--color__blue) 50%,
            transparent 50%
    ),
    linear-gradient(135deg, transparent 50%, var(--color__blue) 50%),
    linear-gradient(to right, var(--color__blue), var(--color__blue));
    background-position: calc(100% - 15px) 1.2em, calc(100% - 20px) 1.2em,
    calc(100% - 2.5em) 0.7em;
    background-size: 5px 5px, 5px 5px, 1px 1.5em;
    background-repeat: no-repeat;
    border-color: var(--color__blue);
    outline: 0;
}

select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
}

button[type="submit"] {
    display: flex;
    margin: 1rem auto;
    border: none;
}

/*
 * Animations
 *
 *************************************************************************/

@keyframes slideMenuIn {
    0% {
        right: -50%;
    }
    100% {
        right: 0%;
    }
}

@keyframes slideMenuOut {
    0% {
        right: 0;
    }
    100% {
        right: -50%;
    }
}

/*
 * Cookie-Consent – Platzhalter
 *
 *************************************************************************/
.cookieconsent-optout-marketing {
    width: 100%;
    background-color: var(--color__blue--light);
}

.gda-slide__content .cookieconsent-optout-marketing {
    height: 100%;
    display: flex;
    align-items: center;
}

.lockscreen {
    padding: 1rem 0;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.lockscreen_wrapper {
    text-align: center;
}

.lockscreen .btn {
    padding: 1em 1.5em;
    text-transform: uppercase;
    display: inline-block;
    font-weight: var(--font__weight--semi);
    text-decoration: underline;
    text-decoration-thickness: auto;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    color: var(--color__dark);
    background-color: var(--color__petrol);
    transition: background-color 0.3s ease-in-out;
    margin-top: 2rem;
}

.lockscreen svg {
    fill: var(--color__dark);
    width: 150px;
    height: auto;
    margin-bottom: 1rem;
}

.hidden {
    display: none;
}
