/**
 *
 * Styles für das WordPress-Theme
 * Rettet das Kind - v1.0
 *
 *
 */

/*  I N H A L T E  ###########################################fold-start###########

>	1.	  GRUNDLAGEN
        1.1     Fonts
        1.2     Variablen und Resets
        1.3     Defaults
        1.4     UI-Elemente
        1.5     Utilities
    ------------------------------------------------------------------------------
>   2.	  KOMPONENTEN
        2.1     Standardkomponenten
        2.2     Formulare
        2.3     Akkordeon
        2.4     Google Maps
        2.5     Anbieter
    ------------------------------------------------------------------------------
>   3.	  MODULE
        3.1     Flickity v2.3.0
    ------------------------------------------------------------------------------
>   4.	  ABSCHNITTE / BLÖCKE
        4.2     für Beiträge
        4.3     für Seiten
    ------------------------------------------------------------------------------
>   5.      NAVS / HEADER / FOOTER
        5.1     Navigationselemente
        5.2     Header
        5.3     Footer
    ------------------------------------------------------------------------------
>   6.      BEITRÄGE
    ------------------------------------------------------------------------------
>   7.      SEITEN
        7.1     Templates
	
##############################################################fold-end############*/

/*  1.      GRUNDLAGEN / DEFAULTS  ###########################fold-start##########*/
/*  1.1     Fonts  -------------------------------------------fold-start---------*/
/**
 * 
 * Neufile Grotesk
 * 
 * Regular: 400
 * Medium: 500
 * Semibold: 600
 * 
 */
@font-face {
    font-family: "Neufile Grotesk";
    src: url("../fonts/neufile-grotesk/neufile-grotesk-regular.woff2") format("woff2"),
         url("../fonts/neufile-grotesk/neufile-grotesk-regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "Neufile Grotesk";
    src: url("../fonts/neufile-grotesk/neufile-grotesk-medium.woff2") format("woff2"),
         url("../fonts/neufile-grotesk/neufile-grotesk-medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "Neufile Grotesk";
    src: url("../fonts/neufile-grotesk/neufile-grotesk-semibold.woff2") format("woff2"),
         url("../fonts/neufile-grotesk/neufile-grotesk-semibold.woff") format("woff");
    font-weight: 600;
    font-style: normal;
}


/**
 * 
 * Beatrice
 * 
 * Light: 300
 * Medium: 500
 * 
 */
 @font-face {
    font-family: "Beatrice";
    src: url("../fonts/beatrice/beatrice-light.woff2") format("woff2"),
         url("../fonts/beatrice/beatrice-light.woff") format("woff");
    font-weight: 300;
    font-style: normal;
}
 @font-face {
    font-family: "Beatrice";
    src: url("../fonts/beatrice/beatrice-medium.woff2") format("woff2"),
         url("../fonts/beatrice/beatrice-medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}
/*  fold-end  */

/*  1.2     Variablen und Resets  ----------------------------fold-start---------*/
/**
 *
 * Variablen
 * Resets
 *
 *
 */

/* Variablen */
:root {

    /* Kalkulationsbasis Screenbreiten: 320px bis 1920px */


    /* Farben */
    --c-mc-100:         17, 17, 17;     /* #111111 */
    --c-mc-999:         255, 255, 255;  /* #FFFFFF */

    --c-pri-400:        21, 142, 207;   /* #158ECF */
    --c-pri-600:        58, 178, 212;   /* #3AB2D4 */

    --c-sec-400:        252, 248, 158;  /* #FCF89E */
    --c-sec-600:        253, 251, 212;  /* #FDFBD4 */
    --c-sec-900:        255, 254, 242;  /* #FFFEF2 */
    --c-sec-999:        255, 255, 245;  /* #FFFFF5 */
    



    /* Typografie */
    /* Basis Schriftgröße */
    font-size:      100%;   /* in der Regel 16pt */
    
    --lh-400: 1.3125;
    --lh-400-spacer: calc(var(--lh-400) * 1em); /* Zeilenhöhe */

    --ff-pri: "Neufile Grotesk", Helvetica, Arial, sans-serif;
    --ff-sec: "Beatrice", Helvetica, Arial, sans-serif;

    
    --fs-400: clamp(1rem, 0.85rem + 0.75vw, 1.75rem);     /* 16pt bis 28pt */
    --fs-800: clamp(2rem, 1.6125rem + 1.9375vw, 3.9375rem);      /* 32pt bis 63pt */

    --fw-300: 300; /* Light */
    --fw-400: 400; /* Regular */
    --fw-500: 500; /* Medium */
    --fw-600: 600; /* Semibold */

    /*
    Faktor ab: .8889
    Faktor bis: .875

    Fließtext: 18 bis 32 = 16 bis 28
    Abschnittstitel: 36 bis 72 = 32 bis 63

    Buttons: 20 bis 28 = 18 bis 24

    Zitate: 22 bis 46 = 19 bis 40
    Zitate Namen: 16 bis 26 = 15 bis 23


    */


    /* UI */
    

    
    --spacer-list: calc(var(--spacer-lh-400) / 2); /* Hälfte der Zeilenhöhe */



    /* Layout */
    --w-narrow: min(89.3333%, 69.875rem);
    --w-footer: min(77.3333%, 69.875rem);

    /* Höhe des Header */
    --header-height: 9em;

    --mw-outer: 72rem /* 1152px */
    --col-broad-symmetric: min(100%, 72rem);

    /* Abstände */
    --spacer-base:  clamp(1rem, 0.875rem + 0.625vw, 1.625rem);
    --spacer-200:   calc(var(--spacer-base) * .5);
    --spacer-300:   calc(var(--spacer-base) * .75);
    --spacer-400:   calc(var(--spacer-base) * 1);
    --spacer-500:   calc(var(--spacer-base) * 1.5);
    --spacer-600:   calc(var(--spacer-base) * 2);
    --spacer-700:   calc(var(--spacer-base) * 2.5);
    --spacer-800:   calc(var(--spacer-base) * 3);
    --spacer-900:   calc(var(--spacer-base) * 4);
    




    /* Animationen */
    --ad-400: 300ms;
    --ad-700: 600ms;

}


/* Resets */
/* https://piccalil.li/blog/a-modern-css-reset */
*,
*::before,
*::after {
    box-sizing: border-box;
}
* {
    margin: 0;
    padding: 0;
    font: inherit;
}
ol[role="list"],
ul[role="list"] {
    list-style: none;
}
html:focus-within {
    scroll-behavior: smooth;
}
html,
body {
    height: 100%;
}
body {
    text-rendering: optimizeSpeed;
    line-height: 1;
}
a:not([class]) {
    text-decoration-skip-ink: auto;
}
img,
picture,
svg {
    display: block;
    max-width: 100%;
}
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
}
/*  fold-end  */

/*  1.3     Defaults  ----------------------------------------fold-start---------*/
/**
 *
 * html / body
 * Text / Fließtext
 * Icons
 * Logo und Kontaktdaten
 *
 *
 */

/* html / body */
html {
    background-color: rgb(var(--c-sec-600));
}
body {
    color: rgb(var(--c-pri-400));
    font-family: var(--ff-pri);
    font-size: var(--fs-400);
    font-weight: var(--fw-400);
    font-style: normal;
}

/* Text / Fließtext */
.wysiwyg p {
    line-height: var(--lh-400);
}
.wysiwyg * + p {
    margin-top: var(--lh-400-spacer);
}
.wysiwyg ul {
    line-height: var(--lh-400);
}
.wysiwyg * + ul {
    margin-top: calc(var(--lh-400-spacer) * .5);
}
.wysiwyg ul li {
    position: relative;
    padding-left: 1em;
    list-style: none;
}
.wysiwyg ul li + li {
    margin-top: calc(var(--lh-400-spacer) * .5);
}
.wysiwyg ul li::before {
    display: block;
	position: absolute;
    top: .375em;
    left: .125em;
    width: .5em;
    height: .5em;
    border-radius: 100vmax;
    background-color: currentColor;
    content: "";
}
.wysiwyg a {
    display: inline-block;
    position: relative;
    cursor: pointer;
    text-decoration: none;
    color: currentColor;
}
.wysiwyg a::before {
    position: absolute;
    bottom: .1875em;
    left: 0;
    width: 100%;
    height: .0625em;
    background-color: currentColor;
    content: "";
    transform: scaleY(1);
    transform-origin: top;
    transition:
        transform var(--ad-400);
}
.wysiwyg a:hover::before,
.wysiwyg a:focus-visible::before {
    transform: scaleY(2);
}
.wysiwyg strong {
    font-weight: var(--fw-500);
}


/* Icons */
.icon {
    width: var(--ui-size-400);
    height: var(--ui-size-400);
    max-width: none;
    fill: currentColor;
}

/* Logo und Kontaktdaten */
.logo-rdk-header {
    max-width: none;
}
.logo-rdk-header > * {
    fill: currentColor;
}
.logo-rdk-header__icon {
    color: rgb(var(--c-pri-400));
}
.logo-rdk-header__type {
    color: rgb(var(--c-pri-400));
}
.logo-rdk-header__subline {
    color: rgb(var(--c-pri-600));
}
.logo-rdk-header__edge-1 {
    color: #CEDC4B;
}
.logo-rdk-header__edge-2 {
    color: #B797C5;
}
.logo-rdk-header__edge-3 {
    color: #DFA827;
}
.logo-rdk-header__edge-4 {
    color: #D271AB;
}
.logo-rdk-header__edge-5 {
    color: #ECCD23;
}
.logo-rdk-header__edge-6 {
    color: #ABD2F4;
}
.logo-rdk-header__edge-7 {
    color: #F6E65F;
}
.logo-rdk-header__edge-8 {
    color: #A0CBC5;
}



/*  fold-end  */

/*  1.4     UI-Elemente  -------------------------------------fold-start---------*/
/**
 *
 * Buttons
 * Inputs
 *
 *
 */

/* Buttons */
.btn {
    display: inline-flex;
    flex-flow: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    min-height: clamp(2.5rem, 2.3125rem + 0.9375vw, 3.4375rem);
    outline-width: .125em;
    outline-style: solid;
    outline-color: transparent;
    outline-offset: .1875em;
    border-radius: 100vmax;
    border-width: .125em;
    border-style: solid;
    border-color: rgb(var(--c-pri-400));
    background-color: rgb(var(--c-pri-400));
    padding-block: .375em;
    padding-inline: 2em;
    cursor: pointer;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    color: rgb(var(--c-mc-999));
    font-family: var(--ff-pri);
    font-size: clamp(1.125rem, 1.05rem + 0.375vw, 1.5rem); /* 18pt bis 24pt */
    font-weight: var(--fw-400);
    font-style: normal;
    transform: scale(1);
    transition:
        outline var(--ad-400),  
        transform var(--ad-400);  
}
.btn:hover {
    outline-color: rgb(var(--c-pri-400));
    transform: scale(.95);
}
.btn--minor {
    outline: none;
    background-color: transparent;
    color: rgb(var(--c-pri));
    font-weight: var(--fw-700);
    transition:
        background var(--ad-400),  
        color var(--ad-400);  
}
.btn--minor:hover {
    background-color: rgb(var(--c-pri-400));
    color: rgb(var(--c-mc-999));
    transform: none;
}
.btn--icon {
}
.btn--icon-left {
    flex-flow: row-reverse;
}
.btn--icon-right {
}
.btn--icon-only {
}
.btn__label {
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: auto;
    display: block;
    padding: .25em 1em .4375em 1em;
    text-align: center;
}
.btn--icon-left .btn__label {
    padding-left: 0;
}
.btn--icon-right .btn__label {
    padding-right: 0;
}
.btn__icon {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: auto;
    display: block;
}
.btn--icon-left .icon--arrow-default {
    transform: rotate(-90deg);
}
.btn--icon-right .icon--arrow-default {
    transform: rotate(90deg);
}
.btn--icon-only .btn__icon {
    width: 100%;
    height: 100%;
}

/* Inputs */
.text-input {
    min-height: var(--ui-size-400);
    outline-width: .125em;
    outline-style: solid;
    outline-color: transparent;
    outline-offset: .1875em;
    border-radius: 100vmax;
    border-width: .0625em;
    border-style: solid;
    border-color: rgb(var(--c-pri-400));
    background-color: transparent;
    padding: .25em 1em .4375em 1em;
    text-decoration: none;
    color: currentColor;
    font-family: var(--ff-pri);
    font-size: var(--fs-btn-400);
    font-weight: var(--fw-400);
    font-style: normal;
    transform: scale(1);
    transition:
        outline var(--ad-400),  
        transform var(--ad-400);  
}
.text-input--email {
}
.text-input--phone {
}
.text-input--search {
}
.text-input--area {
}
/*  fold-end  */

/*  1.5     Utilities  ---------------------------------------fold-start---------*/
/**
 *
 * Wrapper
 * Abschnittstitel
 * weiße Boxen
 * Zitate
 *
 *
 */
 .wrap-default {
    margin-inline: auto;
    width: min(89.3333%, 69.875rem);
    padding-inline: 1rem;
}

.section-heading {
    line-height: 1.1;
    font-size: var(--fs-800);
    font-weight: var(--fw-600);
}

.box {
    position: relative;
    box-shadow: 0 0  clamp(0.625rem, 0.5625rem + 0.3125vw, 0.9375rem) rgb(0, 0, 0, .16);
    border-radius: calc(var(--fs-400) * .75);
    background-color: rgb(var(--c-mc-999));
}

.quote {
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.quote__wrap {
    position: relative;
    margin-inline: auto;
    max-width: 90rem;
}
.quote__text {
    position: relative;
    z-index: 1;
    margin-inline: auto;
    width: min(89.3333%, 69.875rem);
}
.quote__text__quote {
    line-height: 1.25;
    font-family: var(--ff-sec);
    font-size: clamp(1.1875rem, 0.925rem + 1.3125vw, 2.5rem);
    font-weight: var(--fw-500);
}
.quote__text__name {
    margin-top: 1em;
    line-height: 1.375;
    font-family: var(--ff-sec);
    font-size: clamp(0.9375rem, 0.8375rem + 0.5vw, 1.4375rem);
    font-weight: var(--fw-300);
}
.quote__text__btn {
}
.quote__profile {
    position: absolute;
    bottom: 0;
    
}
/*  fold-end  */

/*  ##########################################################fold-end############*/

/*  2.      KOMPONENTEN  #####################################fold-start##########*/
/*  2.1     Standardkomponenten  -----------------------------fold-start---------*/
/**
 *
 * Noscript Info
 * Cookie Consent
 *
 *
 */

/* Noscript Info */
.noscript-info {
}
.noscript-info-close__checkbox {
    display: none;
}
.noscript-info-close__label {
    display: block;
    background-color: rgb(var(--c-pri-400));
    padding: 1em;
    cursor: pointer;
    text-align: right;
    text-transform: uppercase;
    letter-spacing: .0625em;
    color: rgb(var(--c-pri-400-20));
    font-size: var(--fs-300);
    font-weight: var(--fw-400);
    transition:
        color var(--ad-400);
}
.noscript-info-close__label:hover {
    color: rgb(var(--c-mc-999));
}
.noscript-info__layer {
    display: grid;
    grid-template: 10vw auto 10vw / 5vw auto 5vw;
    grid-template-areas: ". . ." ". message ." ". . .";
    justify-items: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    min-height: 100vh;
}
.noscript-info > .noscript-info-close__checkbox:checked ~ .noscript-info__layer {
    display: none;
    z-index: -9999;
}
.noscript-info__layer::after {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100vw;
    height: 100vh;
    background-color: rgba(var(--c-mc-100), .7);
    content: "";
}
.noscript-info__layer__message {
    grid-area: message;
    width: 90%;
    max-width: 40em;
    border-radius: .5em;
    border: .125em solid rgb(var(--c-pri-400));
    border-top: none;
    background-color: rgb(var(--c-mc-999));
    overflow: hidden;
    line-height: var(--lh-400);
}
.noscript-info__layer__message a {
    cursor: pointer;
	text-decoration: underline;
    color: rgb(var(--c-pri-400-80));
    transition:
        color var(--ad-400);
}
.noscript-info__layer__message a:hover {
    color: rgb(var(--c-pri-400-50));
}
.noscript-info__layer__message__text {
    margin: 0;
    padding: var(--spacer-400);
}

/* Cookie Consent */
.sk-cookie-consent {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background-color: rgb(var(--c-mc-999), .7);
    padding-block: var(--spacer-700);
    overflow-y: auto;
}
.discarded.sk-cookie-consent {
    display: none;
}
.sk-cookie-consent__wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 100%;
}
.sk-cookie-consent__container {
    position: relative;
    margin-inline: auto;
    box-shadow: 0 0 .25em rgb(var(--c-mc-100), .5);
    width: min(45rem, 87.5%);
    border-radius: .5em;
    background-color: rgb(var(--c-mc-999));
    padding: 1.5em;
}
.sk-cookie-consent__discard {
    position: absolute;
    top: .5em;
    right: .5em;
    width: var(--ui-size-400);
    height: var(--ui-size-400);
    border: none;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpolygon points='30.5332 12.3491 28.4121 10.228 20.4724 18.1677 12.5327 10.228 10.4116 12.3491 18.3513 20.2888 10.4116 28.2285 12.5327 30.3496 20.4724 22.4099 28.4121 30.3496 30.5332 28.2285 22.5935 20.2888 30.5332 12.3491'/%3E%3C/svg%3E");
    cursor: pointer;
    filter: invert(53%) sepia(8%) saturate(505%) hue-rotate(44deg) brightness(90%) contrast(85%);
    transform: scale(1);
    transition:
        transform var(--ad-400);
}
.sk-cookie-consent__discard:hover {
    transform: scale(1.025);
}
.sk-cookie-consent__message {
}
.sk-cookie-consent__message h1 {
    padding-right: var(--ui-size-400);
    line-height: var(--lh-200);
    color: rgb(var(--c-pri-400));
    font-size: var(--fs-500);
    font-weight: var(--fw-400);
}
.sk-cookie-consent__message p {
    margin-top: .5em;
    line-height: var(--lh-400);
    color: rgb(var(--c-pri-400));
    font-size: var(--fs-300);
}
.sk-cookie-consent__message a {
    color: rgb(var(--c-pri-400));
}
.sk-cookie-consent__message ul {
    margin: 0;
    list-style: none;
    line-height: var(--lh-400);
    color: rgb(var(--c-pri-400));
    font-size: var(--fs-300);
}
.sk-cookie-consent__message li {
    margin-top: .5em;
}
.sk-cookie-consent__message strong {
    font-weight: var(--fw-700);
}
.sk-cookie-consent__ctrl {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: stretch;
    gap: 1em;
    margin-top: 1.25em;
}
.sk-cookie-consent__ctrl__button {
    justify-content: center;
    width: 100%;
}
.sk-cookie-consent__ctrl__button.minor {
    border-color: rgb(var(--c-mc-500));
    background-color: transparent;
    padding-inline: .25em;
    color: rgb(var(--c-mc-500));
    font-size: calc(var(--fs-btn-400) * .9);
}
@media screen and (min-width: 40em) { /* 640px */
    .sk-cookie-consent__ctrl {
        flex-direction: row;
    }
}
/*  fold-end  */

/*  2.2     Formulare  ---------------------------------------fold-start---------*/
/**
 *
 * Aufbau
 * 
 * Container, Fomular
 * Status
 * Zeilen
 * Felder
 * Fehlermeldungen
 *
 *
 */

/* Container, Fomular */
.input-form-container {
}
.input-form-container--validate {
}
.input-form-container--succsess {
}
.input-form {
    display: grid;
    grid-auto-flow: row;
    row-gap: 1em;
}

/* Status */
.input-form__state {
}
.input-form__state--validate {
}
.input-form__state--succsess {
}
.input-form__state__message {
}
.input-form__state__reset {
}
.input-form__state__reset__btn {
}

/* Zeilen */
.input-form__row {
    position: relative;
}
.input-form__row.validate-required {
}
.input-form__row.has-value {
}
.input-form__row.has-error {
}
.input-form__row.has-value.has-error {
}
.input-form__row.has-error .error {
}
.input-form__row.has-error .error::after {
}
.input-form__row--legend {
}
.input-form__row--text {
}
.input-form__row--email {
}
.input-form__row--tel {
}
.input-form__row--search {
}
.input-form__row--textarea {
}
.input-form__row--submit {
}

/* Felder */
.input-form__legend {
    line-height: var(--lh-400);
}
.input-form__fieldset {
    border: none;
}
.input-form__label {
    display: none;
    width: 100%;
    line-height: var(--lh-400);
}
.input-form__label--checkbox {
    display: block;
}

.input-form__input {
    display: block;
    width: 100%;
    line-height: var(--lh-400);
}
.checkbox-input {
    display: none;
}
.input-form__btn {
}
/*  fold-end  */

/*  2.3     Akkordeon  ---------------------------------------fold-start---------*/
.accordion {
}
.accordion__title {
    margin-bottom: var(--spacer-400);
    line-height: var(--lh-400);
    letter-spacing: .0625em;
    color: rgb(var(--c-spot-400));
    font-size: var(--fs-500);
}
.accordion__item {
    animation-duration: var(--ad-700); /* wichtig für JS */
}
.accordion__item__trigger {
    display: flex;
    flex-flow: row-reverse;
    justify-content: flex-end;
    align-items: center;
    padding-block: .5em;
    cursor: pointer;
    line-height: var(--lh-200);
    text-transform: uppercase;
    letter-spacing: .125em;
    color: rgb(var(--c-spot-400));
    font-family: var(--ff-sec);
    font-size: var(--fs-500);
    font-weight: normal;
}
.accordion__item__trigger__label {
    padding-left: .5em;
}
.accordion__item__trigger__icon {
    width: 1.25em;
    height: 1.25em;
    transform: rotate(90deg);
    transition:
        transform var(--ad-700);
}
.active .accordion__item__trigger__icon {
    transform: rotate(180deg);
}
.accordion__item__trigger__icon {
}
.accordion__item__content {
    display: flex;
    flex-flow: row;
    flex-wrap: nowrap;
    padding-bottom: 1em;
    line-height: var(--lh-400);
}
.accordion__item__content::before {
    flex: 0 0 1.75em;
    font-size: var(--fs-500);
    content: "";
}
/* unbedingt so lassen */
.js-accordion__item__content {
    height: 0;
    overflow: hidden;
}
/*  fold-end  */

/*  ##########################################################fold-end############*/

/*  3.      MODULE  ##########################################fold-start##########*/
/*  3.1     Flickity v2.3.0  ---------------------------------fold-start---------*/
/**
 *
 * Container
 * Buttons
 * Punktnavigation
 *
 *
 */

/* Container */
.carousel {
    position: relative;
}
.carousel::after {
    display: none;
    content: "flickity";
}
.flickity-enabled {
}
.flickity-enabled:focus {
    outline: none;
}
.flickity-viewport {
    position: relative;
    height: 100%;
    overflow: hidden;
}
.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%;
}
/* draggable */
.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab;
}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

/* Elemente */
.carousel__cell {
    width: 100%;
    overflow: hidden;
}

/* Buttons */
.flickity-button {
    position: absolute;
    opacity: .8;
    border: none;
    color: rgb(var(--c-pri-400));
    background-color: transparent;
    transition:
        opacity var(--ad-400);
}
.flickity-button:hover {
    opacity: 1;
    cursor: pointer;
}
.flickity-button:focus {
    outline: none;
}
.flickity-button:active {
}
.flickity-button:disabled {
    opacity: .3;
    cursor: auto;
    /* prevent disabled button from capturing pointer up event. #716 */
    pointer-events: none;
}
.flickity-button-icon {
    fill: currentColor;
}
.flickity-prev-next-button {
    top: 25%;
    width: 3em;
    height: 50%;
}
.flickity-prev-next-button.previous {
    left: max(.25em, 2.5vw);
}
.flickity-prev-next-button.next {
    right: max(.25em, 2.5vw);
}
.flickity-prev-next-button .flickity-button-icon {
    position: absolute;
    top: 50%;
    right: 50%;
    width: 3em;
    height: 3em;
    transform: translate(50%, -50%) scale(1);
    transition:
        transform var(--ad-400);
}
.flickity-prev-next-button:hover .flickity-button-icon {
    transform: translate(50%, -50%) scale(1.1);
}
.flickity-prev-next-button.previous .flickity-button-icon {
}
.flickity-prev-next-button.next .flickity-button-icon {
}
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
}
.flickity-rtl .flickity-prev-next-button.next {
}  

/* Punktnavigation */
.flickity-page-dots {
    display: flex;
    flex-flow: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: .25em;
    position: absolute;
    bottom: .625em;
    left: 50%;
    list-style: none; /* reset */
    text-align: center;
    counter-reset: none;
    transform: translateX(-50%);
}
.flickity-rtl .flickity-page-dots {
    flex-flow: row-reverse;
}
.flickity-page-dots .dot {
    flex: 0 0 2em;
    position: relative;
    margin: 0;
    height: 2em;
    cursor: pointer;
}
.flickity-page-dots .dot::before {
    display: block;
	position: absolute;
    top: 50%;
	left: 50%;
	width: .625em;
    height: .625em;
    border-radius: 100vmax;
    border-width: .0625em;
    border-style: solid;
    border-color: rgb(var(--c-pri-400)));
    background-color: rgb(var(--c-mc-999));
    content: "";
    transform: translate(-50%, -50%);
    transition:
        background var(--ad-400);
}
.flickity-page-dots .dot.is-selected::before {
    background-color: rgb(var(--c-pri-400));
}
/*  fold-end  */

/*  ##########################################################fold-end############*/

/*  4.      ABSCHNITTE / BLÖCKE  #############################fold-start##########*/
/*  4.1     Hero  --------------------------------------------fold-start---------*/
/**
 *
 * Header
 * Slides
 *
 *
 */

/* Typo */
.hero {
}
.hero__header {
    aspect-ratio: 1;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.hero__header::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 80%;
    background: linear-gradient(180deg, rgb(var(--c-sec-400)) 0%, rgb(var(--c-sec-600)) 100%);
    content: "";
}
.hero__header__bg {
    width: 100%;
    height: 100%;
    z-index: -1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("../images/hero-mobile.svg");
}
.hero__header__badge {
    position: absolute;
    right: -5%;
    bottom: 0;
    z-index: 1;
    width: 38%;
    max-width: none;
    fill: currentColor;
    border-radius: 100vmax;
    background-color: rgb(var(--c-sec-900));
}

.hero-slider {
    margin-top: 2em;
}
.hero__quote {
    overflow: hidden;
}
.hero__quote::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 70%;
    background: linear-gradient(180deg, rgb(var(--c-sec-600)) 0%, rgb(var(--c-sec-900)) 100%);
    content: "";
}
.hero__quote .quote__wrap {
    height: 27em;
}
.hero__quote .quote__text {
    padding-right: 10%;
    transform: translateX(-200%) scale(.5);
    transition: transform var(--ad-700);
}
.is-selected .hero__quote .quote__text {
    transform: translateX(0) scale(1);
}
.hero__quote .quote__text__quote {
}
.hero__quote .quote__text__name {
}
.hero__quote .quote__profile {
    right: -10%;
    width: 60%;
}
@media screen and (min-width: 30em) { /* 480px */
    .hero__quote .quote__wrap {
        height: 100vw;
    }
}
@media screen and (min-width: 40em) { /* 640px */
    .hero__quote .quote__wrap {
        height: 60vw;
    }
    .hero__quote .quote__text {
        padding-right: 30%;
    }
    .hero__quote .quote__profile {
        right: 0;
        width: 45%;
    }
}
@media screen and (min-width: 50em) { /* 800px */
    .hero__header {
        aspect-ratio: 2/1.2;
    }
    .hero__header__bg {
        background-size: 120%;
        background-image: url("../images/hero-dt.svg");
    }
    .hero__header__badge {
        width: 25%;
        max-width: 23rem;
        right: 5%;
        bottom: 50%;
    }
}
@media screen and (min-width: 60em) { /* 960px */
    .hero__quote .quote__wrap {
        height: 60vw;
    }
    .hero__quote .quote__text {
        padding-top: 20%;
        padding-right: 40%;
    }
    .hero__quote .quote__profile {
        right: 0;
        width: 45%;
        max-width: 45rem;
    }
}
@media screen and (min-width: 70em) { /* 1120px */
    .hero__quote .quote__wrap {
        height: 54rem;
    }

}

/*  fold-end  */

/*  4.1     CTA  --------------------------------------------fold-start---------*/
.cta {
    background-color: rgb(var(--c-pri-400));
    padding-block: var(--spacer-800);
    color: rgb(var(--c-mc-999));
}
.cta__items {
    display: grid;
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
    row-gap: 2em;
    margin-inline: auto;
    width: 90%;
    max-width: 18em;
}
.cta__item {
    text-align: center;
}
.cta__item__main {
}
.cta__item__title {
    line-height: 1.2;
    font-size: clamp(1.6875rem, 1.5625rem + 0.625vw, 2.3125rem);
    font-weight: var(--fw-600);
}
.cta__item__sub {
    line-height: 1.4;
    font-size: clamp(1.125rem, 1.0625rem + 0.3125vw, 1.4375rem);
}
.cta__item__select {
    height: 1.75em;
}
.cta__item__btn {
    justify-content: center;
    margin-top: .5em;
    width: 100%;
    border-color: rgb(var(--c-mc-999));
    background-color: rgb(var(--c-mc-999));
    color: rgb(var(--c-pri-400));
    padding-inline: 1em;
}
.cta__item__readmore {
    display: inline-block;
    position: relative;
    margin-top: 1em;
    width: 2.5em;
    height: 2.5em;
    border: none;
    background-color: transparent;
    cursor: pointer;
}
.active .cta__item__readmore {
    display: none;
}
.cta__item__readmore svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: rgb(var(--c-mc-999));
    fill: currentColor;
}
.cta__item__more {
    height: 0;
    overflow: hidden;
}
.active .cta__item__more {
    height: auto;
}
.cta__item__desc {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    line-height: 1.25;
    font-size: clamp(1rem, 0.9625rem + 0.1875vw, 1.1875rem);
}
.cta__item__desc p + p {
    margin-top: .75em;
}
.cta__summary {
    margin-inline: auto;
    margin-top: 2em;
    width: 90%;
    max-width: 26em;
    line-height: 1.25;
    text-align: center;
}
.cta__summary__mail {
    text-decoration: underline;
}
@media screen and (min-width: 50em) { /* 800px */
    .cta__items {
        grid-template-rows: auto;
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 2em;
        margin-inline: auto;
        width: 90%;
        max-width: 80rem;
    }
    .cta__item__readmore {
        display: none;
    }
    .cta__item__more {
        height: auto;
    }
    .cta__summary {
        max-width: 35em;
    }
}
/*  fold-end  */

/*  4.3     Qualitäten  --------------------------------------fold-start---------*/

/* zentrale Qualitäten */
.qualities {
    padding-block: var(--spacer-800);
}
.qualities__wrap {
    overflow: hidden;
}
.qualities-core {
    margin-inline: -1rem;
}
.central-benefits {
}
.central-benefits__heading {
    margin-inline: auto;
    width: 90%;
    padding-block: var(--spacer-800);
    text-align: center;
}
.central-benefits__heading__title {
    display: block;
    font-size: clamp(1.5625rem, 1.375rem + 0.9375vw, 2.5rem);
    font-weight: var(--fw-600);
}
.central-benefits__heading__sub {
    display: block;
    line-height: 1.4;
    font-size: clamp(1rem, 0.9125rem + 0.4375vw, 1.4375rem);
}
.central-benefits__items {
    margin-left: -15%;
    width: 130%;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center top;
    background-image: url("../images/swirl-benefits.svg");
    counter-reset: li;
}
.central-benefits__items__item {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-top: 6.9%;
    aspect-ratio: 1 / 1;
    text-align: center;
}
.central-benefits__items__item:first-child {
    margin-top: 0;
}
.central-benefits__items__item::before {
    margin-top: -.375em;
    font-family: var(--ff-sec);
    font-size: clamp(4.4375rem, 4.125rem + 1.5625vw, 6rem);
    font-weight: var(--fw-500);
    content: counter(li);
    counter-increment: li;
}
.central-benefits__items__item__title {
    margin-inline: auto;
    width: 65%;
    padding-top: .25em;
    line-height: 1.1;
    font-size: clamp(1.75rem, 1.525rem + 1.125vw, 2.875rem);
    font-weight: var(--fw-600);
}
.central-benefits__items__item__desc {
    margin-inline: auto;
    width: 65%;
    padding-top: .5em;
    line-height: 1.35;
    font-size: clamp(1.125rem, 1.025rem + 0.5vw, 1.625rem);
}
@media screen and (min-width: 30em) { /* 480px */
    .central-benefits__items {
        margin-left: -5%;
        width: 110%;
    }
    .central-benefits__items__item__title,
    .central-benefits__items__item__desc {
        width: 80%;
    }
}
@media screen and (min-width: 40em) { /* 640px */
    .central-benefits__items {
        margin-right: auto;
        margin-left: auto;
        width: 90%;
    }
    .central-benefits__items__item__title,
    .central-benefits__items__item__desc {
        width: 70%;
    }
}
@media screen and (min-width: 50em) { /* 800px */
    .central-benefits__heading {
        max-width: 40ch;
    }
    .central-benefits__items {
        width: 80%;
    }
}
@media screen and (min-width: 60em) { /* 960px */
    .central-benefits__items {
        width: 70%;
    }
    .central-benefits__items__item__title,
    .central-benefits__items__item__desc {
        width: 70%;
    }
}


/*  fold-end  */

/*  4.3     Benefits  ----------------------------------------fold-start---------*/
.benefits {
    padding-block: var(--spacer-900);
}
.benefits__wrap {
}
.benefits__container {
    margin-inline: -1rem;
    padding-block: var(--spacer-700);
    padding-inline: var(--spacer-400);
}
.benefits__title {
    line-height: 1.1;
    text-align: center;
    font-size: clamp(1.5625rem, 1.325rem + 1.1875vw, 2.75rem);
    font-weight: var(--fw-600);
}
.benefits__items {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: var(--spacer-500);
    margin-top: var(--spacer-500);
}
.benefits__item {
    position: relative;
    line-height: 1.15;
    text-align: center;
    font-size: clamp(1.125rem, 0.975rem + 0.75vw, 1.875rem);
    font-weight: var(--fw-500);
}
.benefits__item:nth-child(2),
.benefits__item:nth-child(4),
.benefits__item:nth-child(6),
.benefits__item:nth-child(8) {
    justify-self: end;
}
.benefits__item:nth-child(3),
.benefits__item:nth-child(7) {
    justify-self: start;
}

@media screen and (min-width: 40em) { /* 640px */
    .benefits__container {
        margin-inline: 0;
    }
}
/*  fold-end  */

/*  4.x     Offene Stellen  ----------------------------------fold-start---------*/
.jobs {
    position: relative;
    z-index: 1;
    padding-top: 2em;
    padding-bottom: 4em;
}
.jobs::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 70%;
    background: linear-gradient(180deg, rgb(var(--c-sec-400)) 0%, rgb(var(--c-sec-600)) 100%);
    content: "";
}
.jobs__wrap {
}
.jobs__title {
}
.jobs__items {
    display: grid;
    grid-auto-rows: 1fr;
    grid-template-columns: 1fr;
    gap: 1.25em;
    margin-top: 2em;
    margin-inline: -1rem;
}
.job__item {
    display: block;
    position: relative;
    margin-bottom: 1em;
    padding-inline: 1em;
    padding-bottom: 2.5em;
    transition:
        opacity var(--ad-400),
        transform var(--ad-400);
}
.job__item.hidden {
    display: none;
    opacity: 0;
    transform: scaleY(0);
}
.job__item__wrap {
    display: grid;
    grid-template-rows: 1fr auto auto;
    min-height: 100%;
}
.job__item__title {
    margin-top: .75em;
    line-height: 1.25;
    font-size: clamp(1.3125rem, 1.1875rem + 0.625vw, 1.9375rem);
    font-weight: var(--fw-500);
}
.job__item__location {
    margin-top: 1em;
    line-height: 1.3;
    font-size: clamp(1rem, 0.9125rem + 0.4375vw, 1.4375rem);
}
.job__item__location__label {
    font-weight: var(--fw-500);
}
.job__item__details {
    margin-top: 1em;
    line-height: 1.3;
    font-size: clamp(1rem, 0.9125rem + 0.4375vw, 1.4375rem);
    font-weight: var(--fw-500);
}
.job__item__details a {
    display: inline-block;
    position: relative;
    cursor: pointer;
    text-decoration: none;
    color: currentColor;
}
.job__item__details a::before {
    position: absolute;
    bottom: .1875em;
    left: 0;
    width: 100%;
    height: .0625em;
    background-color: currentColor;
    content: "";
    transform: scaleY(1);
    transform-origin: top;
    transition:
        transform var(--ad-400);
}
.job__item__details a:hover::before,
.job__item__details a:focus-visible::before {
    transform: scaleY(2);
}
.job__item__apply {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    position: absolute;
    bottom: -1em;
    left: 0;
    width: 100%;
}
.job__item__apply__btn {
    padding-inline: 3em;
}
.jobs__showmore {
    display: block;
    position: relative;
    margin-top: 2em;
    margin-inline: auto;
    width: min-content;
    border: none;
    background-color: transparent;
    cursor: pointer;
    white-space: nowrap;
    color: currentColor;
    font-size: var(--fs-400);
    font-weight: var(--fw-400);
    font-style: normal;
}
.jobs__showmore.hidden {
    display: none;
}
.jobs__showmore::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .0625em;
    background-color: currentColor;
    content: "";
    transform: scaleY(1);
    transform-origin: top;
    transition:
        transform var(--ad-400);
}
.jobs__showmore:hover::before,
.jobs__showmore:focus-visible::before {
    transform: scaleY(2);
}


.jobs__quote {
}
.jobs__quote::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgb(var(--c-sec-600)) 0%, rgb(var(--c-sec-900)) 100%);
    content: "";
}
.jobs__quote::after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    min-width: 75rem;
    width: 100vw;
    aspect-ratio: 12 / 3;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url("../images/line-2.svg");
    content: "";
    transform: translateX(-50%) translateY(10%);
}
.jobs__quote .quote__wrap {
}
.jobs__quote .quote__text {
    padding-bottom: 75%;
    padding-left: 35%;
}
.jobs__quote .quote__text__quote {
}
.jobs__quote .quote__text__name {
}
.jobs__quote .quote__profile {
    left: -25%;
    width: 80%;
    max-width: 45rem;
}
@media screen and (min-width: 40em) { /* 640px */
    .jobs__items {
        grid-template-columns: 1fr 1fr;
        margin-inline: 0;
    }
    .jobs__quote .quote__text {
        padding-top: 2em;
        padding-bottom: 60%;
        padding-left: 35%;
    }
    .jobs__quote .quote__profile {
        left: -15%;
        width: 60%;
    }
}
@media screen and (min-width: 60em) { /* 960px */
    .jobs__quote .quote__text {
        padding-top: 10vw;
        padding-bottom: 50%;
        padding-left: min(32rem, 45%);
    }
    .jobs__quote .quote__profile {
        left: -5%;
        width: 60%;
    }
}


/*  fold-end  */

/*  4.x     Das tun wir  -------------------------------------fold-start---------*/
.about {
    position: relative;
    z-index: 1;
    padding-top: 2em;
    padding-bottom: 4em;
}
.about::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 60vw;
    background: linear-gradient(180deg, rgb(var(--c-sec-400)) 0%, rgb(var(--c-sec-600)) 100%);
    content: "";
}
.about__wrap {
}
.about__title {
}
.about__title__heading {
}
.about__intro {
    margin-top: 1.5em;
}
.about__items {
    display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-columns: 1fr;
    align-items: center;
    justify-items: center;
}
.about__item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 24rem;
    aspect-ratio: 1;
}
.about__item--1 {
}
.about__item--2 {
    width: 120%;
    max-width: 29rem;
}
.about__item--3 {
}
.about__item::before,
.about__item::after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    aspect-ratio: 1;
    content: "";
    transform: translate(-50%, -50%);
}
.about__item::before {
    width: 90%;
    border-radius: 100vmax;
    background-color: rgb(var(--c-pri-400));
}
.about__item::after {
    width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.about__item--1::after {
    background-image: url("../images/swirl-about-1.svg");
}
.about__item--2::after {
    background-image: url("../images/swirl-about-2.svg");
}
.about__item--3::after {
    background-image: url("../images/swirl-about-3.svg");
}
.about__item__text {
    line-height: 1.1;
    text-align: center;
    color: rgb(var(--c-mc-999));
    font-size: clamp(1.4375rem, 1.225rem + 1.0625vw, 2.5rem);
    font-weight: var(--fw-500);
}
.about__summary {
    margin-inline: auto;
    max-width: 36ch;
    line-height: 1.3125;
    text-align: center;
    font-family: var(--ff-sec);
}
.about__summary__title {
    font-weight: var(--fw-500);
}
.about__summary__desc {
    font-weight: var(--fw-300);
}
.about__jobs {
    margin-inline: -1rem;
    padding-top: 4em;
    padding-bottom: 6em;
}
.about__jobs__title {
    line-height: 1.1;
    text-align: center;
    font-size: clamp(1.6875rem, 1.475rem + 1.0625vw, 2.75rem);
    font-weight: var(--fw-500);
}
.about__jobs__items {
    display: grid;
    grid-auto-rows: 6em;
    grid-template-columns: 1fr;
    gap: 1.25em;
    margin-top: 2em;
}
.about__jobs__item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    padding: 1.5em;
    line-height: 1.3;
    text-align: center;
    font-size: clamp(1.1875rem, 1.0125rem + 0.875vw, 2.0625rem);
    font-weight: var(--fw-500);
}
.about__quote {
}
.about__quote::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgb(var(--c-sec-600)) 0%, rgb(var(--c-sec-900)) 100%);
    content: "";
}
.about__quote::after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    min-width: 75rem;
    width: 100vw;
    aspect-ratio: 12 / 3;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url("../images/line-1.svg");
    content: "";
    transform: translateX(-50%) translateY(20%);
}
.about__quote .quote__wrap {
}
.about__quote .quote__text {
    padding-bottom: 75%;
}
.about__quote .quote__text__quote {
    width: 80%;
    max-width: 40ch;
}
.about__quote .quote__text__name {
}
.about__quote .quote__text__btn {
    margin-top: 2em;
    width: min-content;
}
.about__quote .quote__profile {
    right: -15%;
    width: 80%;
    max-width: 45rem;
}
@media screen and (min-width: 40em) { /* 640px */
    .about__jobs {
        margin-inline: 0;
    }
    .about__jobs__items {
        grid-template-rows: repeat(4, 6em);
        grid-template-columns: 1fr 1fr;
    }
    .about__quote .quote__text {
        padding-bottom: 60%;
    }
    .about__quote .quote__text__btn {
        width: auto;
    }
    .about__quote .quote__profile {
        right: 0;
        width: 60%;
    }
}
@media screen and (min-width: 60em) { /* 960px */
    .about__items {
        grid-template-rows: 1fr 40vw 1fr;
        margin-top: 3em;
    }
    .about__item--1 {
        justify-self: flex-start;
        width: 45vw;
        max-width: 25em;
    }
    .about__item--2 {
        justify-self: flex-end;
        margin-bottom: -2em;
        width: 60vw;
        max-width: 30em;
    }
    .about__item--3 {
        justify-self: flex-start;
        margin-left: 10%;
        width: 35vw;
        max-width: 20em;
    }
    .about__quote .quote__text {
        padding-bottom: 50%;
    }
}
@media screen and (min-width: 80em) { /* 1280px */
    .about__items {
        grid-template-rows: 1fr 0 1fr;
        margin-top: 3em;
        margin-bottom: 2em;
    }
    .about__item--1 {
        justify-self: flex-start;
        margin-left: -5%;
        width: 40%;
        max-width: 25em;
    }
    .about__item--2 {
        justify-self: flex-end;
        margin-bottom: 0;
        width: 55%;
        max-width: 30em;
    }
    .about__item--3 {
        justify-self: flex-start;
        margin-left: 15%;
        width: 30%;
        max-width: 20em;
    }
}
/*  fold-end  */

/*  4.x     Kontakt ------------------------------------------fold-start---------*/
.contact {
    position: relative;
    z-index: 1;
    padding-top: 2em;
    padding-bottom: 6em;
}
.contact::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 80%;
    background: linear-gradient(180deg, rgb(var(--c-sec-400)) 0%, rgb(var(--c-sec-600)) 100%);
    content: "";
}
.contact__wrap {
}
.contact__title {
}
.contact__title__heading {
}
.contact__address {
    margin-top: 2em;
}
.contact__buttons {
}
.contact__btn {
    margin-top: 1em;
    padding-inline: 1em;
}
.contact__btn--web {
    white-space: nowrap;
}
.contact__btn--apply {
}
.contact__info {
    margin-top: 2em;
}
/*  fold-end  */

/*  4.x     Impressum  ---------------------------------------fold-start---------*/
.imprint {
    position: relative;
    z-index: 1;
    padding-top: 2em;
    padding-bottom: 4em;
}
.imprint::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 60vw;
    background: linear-gradient(180deg, rgb(var(--c-sec-400)) 0%, rgb(var(--c-sec-600)) 100%);
    content: "";
}
.imprint__wrap {
}
.imprint__title {
}
.imprint__title__heading {
}
.imprint__items {
}
.imprint__item {
}
.imprint__item--main {
    margin-top: 2.5em;
}
.imprint__item__title {
    margin-top: 2em;
    margin-bottom: -.75em;
    line-height: 1.2;
    font-size: 1.25em;
    font-weight: var(--fw-600);
}
/*  fold-end  */

/*  4.x     Datenschutz  -------------------------------------fold-start---------*/
.privacy {
    position: relative;
    z-index: 1;
    padding-top: 2em;
    padding-bottom: 4em;
}
.privacy::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 60vw;
    background: linear-gradient(180deg, rgb(var(--c-sec-400)) 0%, rgb(var(--c-sec-600)) 100%);
    content: "";
}

.privacy__wrap {
}
.privacy__title {
}
.privacy__title__heading {
}
.privacy__items {
}
.privacy__item {
}
.privacy__item--intro {
    margin-top: 2.5em;
}
.privacy__item__title {
    margin-top: 2em;
    margin-bottom: -.75em;
    line-height: 1.2;
    font-size: 1.25em;
    font-weight: var(--fw-600);
}
/*  fold-end  */

/*  ##########################################################fold-end############*/

/*  5.      HEADER / FOOTER  #################################fold-start##########*/
/*  5.1     Header  ------------------------------------------fold-start---------*/
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    background-color: rgb(var(--c-sec-400));
    padding-top: 2em;
    padding-bottom: 1em;
    overflow-x: hidden;
    color: rgb(var(--c-pri-400));
    transition:
        padding var(--ad-400);
}
.sticky.site-header {
    padding-top: 1em;
    padding-bottom: .5em;
}
.header-placeholder {
    background-color: rgb(var(--c-sec-400));
}
.site-header__wrap {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 60fr 40fr;
    align-items: end;
    margin-inline: auto;
    width: min(89.3333%, 69.875rem);
    height: 100%;
    padding-bottom: .25em;
}
.nav-home--header {
    display: block;
    max-width: 19rem;
    text-decoration: none;
}
.menu-burger {
    --menu-size: 2.5em;
    justify-self: end;
    display: block;
    position: relative;
    z-index: 2;
    width: var(--menu-size);
    height: var(--menu-size);
    border: none;
    background-color: transparent;
    cursor: pointer;
    color: rgb(var(--c-pri-400));
    transition:
        color var(--ad-400);
}
.menu-active .menu-burger {
    color: rgb(var(--c-mc-999));
}
.menu-burger__part {
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: .125em;
    background-color: currentColor;
    transition:
        transform var(--ad-400);
}
.menu-burger__part--top {
    transform: translateY(calc(var(--menu-size) / (-3)));
}
.menu-active .menu-burger__part--top {
    transform: translateY(-.0625em) rotate(-45deg);
}
.menu-burger__part--middle {
    transform: translateY(-.0625em);
}
.menu-active .menu-burger__part--middle {
    transform: translateY(-.0625em) scaleX(0);
}
.menu-burger__part--bottom {
    transform-origin: bottom center;
    transform: translateY(calc(var(--menu-size) / 3 - .125em));
}
.menu-active .menu-burger__part--bottom {
    transform: translateY(-.0625em) rotate(45deg);
}
.navigation-container {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100vh;
    background-color: rgb(var(--c-pri-400));
    overflow-y: auto;
    transform: translateX(100%);
    transition:
        transform var(--ad-700);
}
.menu-active  .navigation-container {
    transform: translateX(0);
}
.navigation-container__wrap {
    display: grid;
    align-items: center;
    min-height: 100%;
}
.nav-header {
}
.nav-header__items {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 100%;
    padding-top: var(--spacer-600);
    padding-bottom: var(--spacer-600);
}
.nav-header .page_item {
    padding-block: 1.25em;
}
.nav-header .current_page_item {
}
.nav-header .page_item a {
    display: block;
    position: relative;
    padding-block: .125em;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: .125em;
    color: rgb(var(--c-mc-999));
    font-size: 1.5625em;
    transform: scale(1);
    transition:
        transform var(--ad-400);
}
.nav-header .page_item a:hover {
    transform: scale(1.05);
}
.nav-header .current_page_item a {
    font-weight: var(--fw-500);
}
@media screen and (min-width: 60em) { /* 960px */
    .site-header {
        padding-top: 3em;
        padding-bottom: 2em;
    }
    .sticky.site-header {
        padding-top: 1.5em;
        padding-bottom: 1em;
    }
    .site-header__wrap {
        grid-template-columns: auto auto;
        align-items: start;
        gap: 3.5em;
        width: min(89.3333%, 100rem);
    }
    .nav-home--header {
        min-width: 12rem;
    }
    .menu-burger {
        display: none;
    }
    .navigation-container,
    .menu-active .navigation-container {
        position: static;
        top: auto;
        left: auto;
        width: auto;
        height: auto;
        background-color: transparent;
        overflow-y: visible;
        transform: none;
        transition: none;
    }
    .navigation-container__wrap {
        display: block;
        min-height: 0;
    }
    .nav-header__items {
        flex-direction: row;
        gap: 1.5em;
        width: auto;
        padding-top: 0;
        padding-bottom: 0;
    }
    .nav-header .page_item {
        padding-block: 0;
    }
    .nav-header .page_item a {
        padding-block: .25rem;
        padding-inline: 0;
        letter-spacing: .0625em;
        color: rgb(var(--c-pri-400));
        font-size: .875em;
    }
}
@media screen and (min-width: 75em) { /* 1200px */
    .site-header__wrap {
        grid-template-columns: 19rem auto;
    }
}
/*  fold-end  */

/*  5.2     Footer  ------------------------------------------fold-start---------*/
.site-footer {
    background-color: rgb(var(--c-pri-400));
    color: rgb(var(--c-mc-999));
}
.site-footer__wrap {
    display: grid;
    grid-template-rows: auto auto auto auto;
    grid-template-columns: auto;
    align-items: end;
    margin-inline: auto;
    padding-block: var(--spacer-900);
}
.site-footer .contact-address {
    line-height: 1.25;
    font-size: clamp(1.125rem, 0.975rem + 0.75vw, 1.875rem);
}
.site-footer .contact-address__company {
    margin-bottom: var(--spacer-500);
    text-transform: uppercase;
    font-weight: var(--fw-500);
}
.site-footer .contact-address__street {
}
.site-footer .contact-address__street__name {
}
.site-footer .contact-address__street__no {
}
.site-footer .contact-address__city {
}
.site-footer .contact-address__city__zip {
}
.site-footer .contact-address__city__name {
}
.site-footer .contact-data {
    margin-bottom: var(--spacer-700);
    line-height: 1.25;
    font-size: clamp(1.125rem, 0.975rem + 0.75vw, 1.875rem);
}
.site-footer .contact-data__phone {
}
.site-footer .contact-data__phone__label {
}
.site-footer .contact-data__phone__value {
}
.site-footer .contact-data__email {
}
.site-footer .contact-data__email__value {
    display: inline-block;
    position: relative;
    cursor: pointer;
    text-decoration: none;
    color: currentColor;
}
.site-footer .contact-data__email__value::before {
    display: block;
    position: absolute;
    bottom: .0625em;
    left: 0;
    width: 100%;
    height: .0625em;
    background-color: currentColor;
    content: "";
    transform: scaleY(0);
    transform-origin: top;
    transition:
        transform var(--ad-400);
}
.site-footer .contact-data__email__value:hover::before {
    transform: scaleY(2);
}
.site-footer .contact-data__web {
}
.site-footer .contact-data__web__value {
    text-decoration: none;
    color: inherit;
}
.nav-home--footer {
    display: block;
    width: min(80%, 22rem);
    text-decoration: none;
    color: inherit;
}
.logo-rdk-footer {
    max-width: none;
}
.logo-rdk-footer > * {
    fill: currentColor;
}
.logo-rdk-footer__fill {
    color: inherit;
}
.nav-footer {
    margin-top: var(--spacer-800);
    font-size: clamp(1.125rem, 1.0625rem + 0.3125vw, 1.4375rem);
}
.nav-footer__items {
    display: flex;
    flex-flow: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.nav-footer .page_item {
    position: relative;
}
.nav-footer .current_page_item {
}
.nav-footer .page_item a {
    display: block;
    position: relative;
    text-decoration: none;
    color: currentColor;
    font-weight: var(--fw-400);
}
.nav-footer .page_item a::after {
    display: block;
    position: absolute;
    bottom: -.25em;
    left: 0;
    width: 100%;
    height: .0625em;
    background-color: currentColor;
    content: "";
    transform: scaleX(0);
    transition:
        transform var(--ad-400);
}
.nav-footer .current_page_item a {
    font-weight: var(--fw-500);
}
.nav-footer .page_item a:hover::after,
.nav-footer .current_page_item a::after {
    transform: scaleX(1);
}
@media screen and (min-width: 40em) { /* 640px */
    .site-footer .contact-address__street {
        display: inline-block;
    }
    .site-footer .contact-address__street::after {
        content: "\002c";
    }
    .site-footer .contact-address__city {
        display: inline-block;
    }
    .nav-footer__items {
        justify-content: flex-start;
        gap: 2.25em;
    }
}
@media screen and (min-width: 50em) { /* 800px */
    .site-footer__wrap {
        grid-template-rows: auto auto auto;
        grid-template-columns: auto min(40%, 25rem);
    }    
    .site-footer .contact-address {
        grid-column: 1 / 3;
    }
    .site-footer .contact-data {
        grid-column: 1 / 3;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 2.25em;
        margin-bottom: var(--spacer-900);
    }
    .nav-home--footer {
        grid-row: 3 / 4;
        grid-column: 2 / 3;
        width: 100%;
    }
    .nav-footer {
        grid-row: 3 / 4;
        grid-column: 1 / 2;
        margin-top: 0;
    }
}
/*  fold-end  */

/*  ##########################################################fold-end############*/

/*  6.      BEITRÄGE  ########################################fold-start##########*/

/*  ##########################################################fold-end############*/

/*  7.      SEITEN  ##########################################fold-start##########*/
/*  7.1     Templates  ---------------------------------------fold-start---------*/
/* Body Klassen */

/* Wrapper */
.site-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: min-content 1fr auto;
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
}
.site-main {
}
/*  fold-end  */

/*  ##########################################################fold-end############*/
