/***********************************************************
CSS Document
© 23.08.2024 BrennerMedien GmbH
www.brenner-medien.de
************************************************************
 






/*
======================================================================
Variablen & Grundeinstellungen
======================================================================
*/
:root {
    --main-dark: #00477e;
    --main-light: #00aae1;
    --main-cta: #f56400;
    --fliesstext: #4a4a4a;
    --bg-kontakt: #f7fcff;
}

:root {
    --action-red: #FE2222;
    /* --action-green: #80CC10; */
    --action-green: #2dd28d;
    --action-green-text: rgb(30, 186, 121);
    --action-blue: #0099DD;
    --action-purple: #BA33AB;
    --action-orange: #FE9900;
    --action-red: #FE2222;
    --action-cyan: #24C0CC;
    --action-ocher: #EAE122;
    --sally1: #DAD5C4;
    --sally1a: #dad5c464;
    --sally2: #E9E5DB;
}

.sally1a {
    background-color: var(--sally1a) !important;
}

:root {
    --color-main: #000000;
    --gray-50: #F9FAFB;
    --gray-100: #f8f9fc;
    --gray-150: #f5f5f9;
    --gray-200: #f1f3f9;
    --gray-300: #dee3ed;
    --gray-350: #dbd1d1;
    --gray-400: #c2c9d6;
    --gray-500: #8f96a3;
    --gray-550: #787e88;
    --gray-600: #5e636e;
    --gray-700: #2f3237;
    --gray-800: #1d1e20;
    --gray-900: #111213;
}

:root {
    --font-headlines: "Inter";
    --font-fliesstext: "Inter";
    --font-size: 1rem;
    --site-width: 1400px;
    --responsive-width: 1450px;
}

/* Responsive */
@media only screen and (max-device-width: 480px) {
    :root {
        --site-width: 90vw;
    }
}

section {
    width: 100%;
    height: auto;
    position: relative;
}

/* Responsive */
@media only screen and (max-device-width: 480px) {
    section {
        scroll-margin-top: 10rem;
    }
}


#main_page_wrapper {
    width: 100%;
}

[v-cloak] {
    display: none;
}





/*
  ======================================================================
Hinweis Baustelle
  ======================================================================
  */

.bg-purple {
    background-color: var(--action-purple);
    margin: 0 !important;
    padding-top: 1rem !important;
    padding-bottom: 0.5rem !important;
    line-height: 1.5 !important;

    p {
        color: #FFF !important;
        margin: 0 !important;
        margin-bottom: 0.5rem !important;
        padding: 0 !important;
        font-weight: 400 !important;
        text-align: center;


        strong {
            font-weight: 600 !important;
        }

        a {
            color: inherit !important;
            border-bottom: 1px dashed #FFF;
        }

        a:hover {
            border-bottom: 1px solid #FFF !important;
        }

    }

}



/*
  ======================================================================
  Custom Definitions
  ======================================================================
  */
body {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #FFF;
    font-family: var(--font-fliesstext) !important;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    font-style: italic;
    background-repeat: no-repeat;
    background-size: cover;
    shape-margin: lrem;
}

html,
body {
    scroll-behavior: smooth;
}

a {
    color: inherit;
    transition: all 0.2s;
}

a:hover {
    color: var(--main-red)
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-headlines) !important;
}

.section {
    width: 100%;
    height: auto;
    padding-left: calc((100% - var(--site-width)) / 2);
    padding-right: calc((100% - var(--site-width)) / 2);
    flex-direction: column;
    display: flex;
    font-family: var(--font-fliesstext);
    color: var(--main-dark);
}

.section.studio {
    background-image: url(../images/telefonansagen-tonstudio.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
}

/*
  ======================================================================
  Icons
  ======================================================================
  */
i {
    font-style: normal;
}

i:before {
    font-family: FontAwesome;
}

i.angebot:before {
    content: "\e5ce";
}

i.account:before {
    content: "\f007";
}

i.aufwand:before {
    content: "\f583";
}

i.beratung:before {
    content: "\f05a";
}

i.brennermedien:before {
    content: "\f06d";
    padding: 0 0.15rem;
}

i.cart:before {
    content: "\f07a";

}

i.checkbox:before {
    content: "\f0c8";
}

i.checkbox.checked:before {
    content: "\f14a";
}


i.coins:before {
    content: "\f51e";
}


i.clock:before {
    content: "\f017";
}

i.cloud:before {
    content: "\f0ee";
}

i.comment:before {
    content: "\f4ad";
}





i.convert:before {
    content: "\f021"
}




i.credit:before {
    content: "\f53b"
}

i.download:before {
    content: "\f358";
}

i.einfach:before {
    content: "\f245";
}


i.email:before {
    content: "\e10c";
}

i.euro:before {
    content: "\e5ce";
}

i.faq:before {
    content: "\2b";
}

i.faq.active:before {
    content: "\f068";
}

i.file:before {
    content: "\f15b";
}

i.handy:before {
    content: "\f3ce";
    transform: rotate(180deg);
}

i.headphones:before {
    content: "\f025";

}


i.ki:before {
    content: "\e2ca";
}

i.kosten:before {
    content: "\f2db";
}

i.menu:before {
    content: "\f0c9";
}

i.menu.active:before {
    content: "\58";
}

i.money:before {
    content: "\f0d6";
}

i.music:before {
    content: "\f001";
}



i.package:before {
    content: "\f5fd";
}




i.pswd:before {
    content: "\f30d";
}

i.pswd.active:before {
    content: "\f3c2";
}

i.play:before {
    content: "\f04b";
}

i.play.active:before,
i.pause:before {
    content: "\f04c";
}

i.play-circle:before {
    content: "\f144";
}

i.play-circle.active:before,
i.pause:before,
i.pause-circle:before {
    content: "\f28b";
}

i.progress:before {
    content: "\f110";
}

i.radiobutton:before {
    content: "\f111";
}

i.radiobutton.checked:before {
    content: "\f192";
}

i.reseller,
i.reseller:before {
    color: var(--action-purple);


}

i.reseller:before {
    content: "\e242";
}

i:hover.reseller:before {
    color: #FFF;
}

i.technik:before {
    content: "\f87a";
}

i.telefon:before {
    content: "\e11b";
}

i.trash:before {
    content: "\f2ed";
}

i.voicemail:before {
    content: "\f897";
}

i.volume:before {
    content: "\f6a8";
}

i.world:before {
    content: "\f57d";
}

/*
  ======================================================================
  Markierungsfarben
  ======================================================================
  */
::selection {
    color: #FFF;
    background-color: var(--main-light);
    text-shadow: none;
}

::-moz-selection {
    color: #FFF;
    background-color: var(--main-light);
    text-shadow: none;
}

::-webkit-selection {
    color: #FFF;
    background-color: var(--main-light);
    text-shadow: none;
}

::-webkit-scrollbar-thumb:vertical {
    width: 8px;
    background-color: var(--main-light);
}

::-webkit-scrollbar-thumb:horizontal {
    height: 8px;
    background-color: var(--main-light);
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--main-cta);
}

::-webkit-scrollbar {
    width: 9px;
    height: 9px;
    background-color: var(--gray-400);
}

/*
  ======================================================================
  Tools
  ======================================================================
  */
.bg-main-dark {
    background-color: var(--main-dark);
}

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

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

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

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

.bg-gray100 {
    background-color: var(--gray-100) !important;
}

.bg-gray200 {
    background-color: var(--gray-200) !important;
}

.bg-gray300 {
    background-color: var(--gray-300) !important;
}

.bg-gray400 {
    background-color: var(--gray-400) !important;
}

.bg-gray500 {
    background-color: var(--gray-500) !important;
}

.bg-gray600 {
    background-color: var(--gray-600) !important;
}

.bg-white {
    background-color: #FFF;
}

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

.main-red {
    color: var(--main-red) !important;
}

.action-purple {
    color: var(--action-purple) !important;
}

.only_mobile {
    display: none !important;
}

@media only screen and (max-device-width: 480px) {
    .no_mobile {
        display: none !important;
    }

    .only_mobile {
        display: inline-block !important;
    }
}

.height-0-25rem {
    height: 0.25rem !important;
}

.height-0-5rem {
    height: 0.5rem !important;
}

.height-0-75rem {
    height: 0.75rem !important;
}

.height-1rem {
    height: 1rem !important;
}

.height-1-5rem {
    height: 1.5rem !important;
}

.margin-bottom--3rem {
    margin-bottom: -3rem !important;
}

.margin-bottom--2rem {
    margin-bottom: -2rem !important;
}

.margin-bottom--1-5rem {
    margin-bottom: -1rem !important;
}

.margin-bottom--1rem {
    margin-bottom: -1rem !important;
}

.margin-bottom-1rem {
    margin-bottom: 1rem !important;
}

.margin-bottom-2rem {
    margin-bottom: 2rem !important;
}

.margin-bottom-3rem {
    margin-bottom: 3rem !important;
}

.margin-bottom-4rem {
    margin-bottom: 4rem !important;
}

.margin-top-0rem {
    margin-top: 0rem !important;
}

.margin-top-0-5rem {
    margin-top: 0.5rem !important;
}

.margin-top-1rem {
    margin-top: 1rem !important;
}

.margin-top-1-5rem {
    margin-top: 1.5rem !important;
}

.margin-top-2rem {
    margin-top: 2rem !important;
}

.margin-top-2-5rem {
    margin-top: 2.5rem !important;
}

.margin-top-3rem {
    margin-top: 3rem !important;
}

.margin-top-3-5rem {
    margin-top: 3.5rem !important;
}

.margin-top-4rem {
    margin-top: 4rem !important;
}

.margin-top-5rem {
    margin-top: 5rem !important;
}

.margin-top-20rem {
    margin-top: 20rem !important;
}

.margin-top--1rem {
    margin-top: -1rem !important;
}

.margin-top--2rem {
    margin-top: -2rem !important;
}

.margin-bottom--0-5rem {
    margin-bottom: -0.5rem !important;
}

.margin-bottom-0rem {
    margin-bottom: 0rem !important;
}

.margin-bottom-0-5rem {
    margin-bottom: 0.5rem !important;
}

.margin-bottom-1-5rem {
    margin-bottom: 1.5rem !important;
}

.margin-bottom-2rem {
    margin-bottom: 2rem !important;
}

.margin-bottom-2-5rem {
    margin-bottom: 2.5rem !important;
}

.margin-bottom--1rem {
    margin-bottom: -1rem !important;
}

.margin-bottom--2rem {
    margin-bottom: -2rem !important;
}

.no-margin {
    margin: 0 !important;
}

.no-margin-bottom {
    margin-bottom: 0 !important;
}

.margin-left-1rem {
    margin-left: 1rem !important;
}

.margin-right-0-5rem {
    margin-right: 0.5rem !important;
}

.margin-right-1rem {
    margin-right: 1rem !important;
}

.padding-top-1-5rem {
    padding-top: 1.5rem !important;
}

.padding-top-2rem {
    padding-top: 2rem !important;
}

.padding-top-2-5rem {
    padding-top: 2.5rem !important;
}

.padding-top-3rem {
    padding-top: 3rem !important;
}

.padding-bottom-2rem {
    padding-top: 2rem !important;
}

.padding-1rem {
    padding: 1rem !important;
}

.padding-2rem {
    padding: 2rem !important;
}

.no-padding {
    padding: 0 !important;
}

.no-padding-top {
    padding-top: 0 !important;
}

.no-padding-bottom {
    padding-bottom: 0 !important;
}

.padding-bottom-0rem {
    padding-bottom: 0 !important;
}

.clear {
    clear: both !important;
    width: 100%;
}

.sticky {
    position: sticky !important
}

.spiegeln {
    transform: scaleX(-1);
}

body.no-scroll {
    overflow: hidden;
}

.rounded_none-top-left {
    border-top-left-radius: 0;
}

.rounded_none-top-right {
    border-top-right-radius: 0;
}

.rounded_none-bottom-left {
    border-bottom-left-radius: 0;
}

.rounded_none-bottom-right {
    border-bottom-right-radius: 0;
}

.float-right {
    float: right;
}

.div-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.font-bigger {
    font-size: calc(100% + 0.5rem) !important;
    font-weight: 500 !important;
}

.text-align-center {
    text-align: center;
}

.dsp-none {
    display: none !important;
}

@keyframes rotating {

    /* Progress */
    from {
        -ms-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/*///// Responsive /////*/
.only-mobile {
    display: none;
}

@media only screen and (max-device-width: 480px) {
    .no-mobile {
        display: none !important;
    }

    .only-mobile {
        display: block !important;
    }
}


/* Hero Glow */


.hero-glow {

    padding: 1px;
    position: relative;
    justify-content: center;
    align-items: center;
    display: flex;
    overflow: hidden;
    border-radius: 1rem;

    a {
        z-index: 1;
    }

    a.mit-rahmen {
        padding-top: 0;
        padding-bottom: 0;
    }


    i {
        width: 100% !important;
        height: 100% !important;
        padding: 0.1rem 0;
        margin: -0.1rem 0;
    }

}


.hero-glow:before {
    content: "";
    position: absolute;
    width: 200%;
    aspect-ratio: 1;
    top: 0%;
    left: 50%;
    z-index: 1;
    translate: -50% -15%;
    rotate: 0;
    transform: rotate(-90deg);
    opacity: 1;
    background: conic-gradient(from 0deg, transparent 0 340deg, var(--action-purple) 360deg);
    transition: opacity 0.25s;
    animation: hero-glow-rotate 3s linear infinite both;
    animation-delay: 1.5s;
}

@keyframes hero-glow-rotate {

    /* Glow */
    25% {
        transform: rotate(90deg);
    }

    100% {
        transform: rotate(90deg);
    }
}





/*
  ======================================================================
  404
  ======================================================================
  */
.wrapper-404 {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 2rem;

    p {
        text-align: center;
        line-height: 1.4;
        font-size: 1rem;
        font-weight: 300;
        margin-bottom: 1.5rem;
        color: var(--main-dark);
    }

    p.headline {
        font-weight: 700;
        font-size: 1.2rem;
        margin: 2.5rem 0 0.5rem 0;
    }

    img {
        width: 40rem;
        max-width: 80%;
        height: auto;
    }
}

@media only screen and (max-device-width: 480px) {
    .no-mobile {
        display: none !important;
    }

    .only-mobile {
        display: block !important;
    }
}

/*
  ======================================================================
  Dialogbox
  ======================================================================
  */
@keyframes curtain-dialogbox-animation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.curtain__dialogbox {
    position: fixed;
    width: 100vw;
    height: 100vh;
    backdrop-filter: blur(2px);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    animation-name: curtain-dialogbox-animation;
    animation-duration: 0.5s;
    animation-timing-function: ease-out;
    animation-iteration-count: 1;
    top: 0;
    left: 0;

    .rahmen {
        background-color: var(--main-light);
        padding: 0.4rem;
        outline: 0.75rem solid rgba(255, 255, 255, 0.65);
    }

    .wrapper_popup_content {
        display: grid;
        grid-template-columns: 100%;
        max-width: 40rem;
        height: auto;
        background-color: rgba(255, 255, 255, 1);
        padding: 2.5rem;
        grid-column-gap: 2.5rem;
        grid-row-gap: 0;
        min-width: 30rem;
        justify-content: center;
        align-items: center;
        overflow: hidden;
    }

    .wrapper_popup_content.laden {
        padding: 0;
    }

    .wrapper_popup_content img.logo {
        display: flex;
        width: 100%;
        padding: 20%;
        justify-content: center;
        align-items: center;
    }

    .wrapper_popup_content .wrapper-paypal {
        justify-content: center;
        display: flex;
        align-items: center;
        margin-right: 2.5rem;
        padding: 0 2rem 2rem 2rem;
    }

    .wrapper_popup_content img.loader {
        width: 10rem;
        height: 10rem;
    }

    .wrapper_popup_content img.paypal {
        width: 4rem;
        margin-left: -6.75rem;
    }

    .wrapper_popup_content p.text {
        font-family: "Inter";
        color: var(--main-dark);
        font-weight: 500;
        font-size: 1rem;
        text-align: center;
        line-height: 1.5;
    }

    .wrapper_popup_content p.headline {
        font-family: "Inter";
        color: var(--main-dark);
        font-weight: 400;
        font-size: 0.9rem;
        text-transform: uppercase;
        margin: 1rem 1rem 2rem 1rem;
        text-align: center;
        line-height: 1.5;
        letter-spacing: 2px;
    }

    .wrapper_popup_content .play-box.loader .loading {
        height: 5rem;
        text-align: center;
        color: #000;
        position: relative;
        overflow: hidden;
        padding: 1rem;
    }

    .wrapper_popup_content .play-box.loader .text {
        z-index: 5;
        background-color: var(--main-light);
        color: #FFF;
        position: absolute;
        width: 15rem;
        height: 1.5rem;
        top: calc(50% - 0.7rem);
        left: calc(50% - 7.5rem);
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 0.9rem;
        border-radius: 2rem;
        outline: 5px solid rgba(255, 255, 255, 0.65);
        font-weight: 500;
    }

    .wrapper_popup_content .play-box.loader .bg {
        position: absolute;
        left: -46px;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 0;
        background: repeating-linear-gradient(-55deg, var(--main-light) 1px, #FFF 2px, #FFF 11px, var(--main-light) 12px, var(--main-light) 20px);
        animation-name: loader;
        animation-duration: .6s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
    }
}

@keyframes loader {

    /* Ladebox Konfigurator */
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(46px);
    }
}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {

    .rahmen,
    .rahmen-paypal {
        width: 90vw;
    }

    .wrapper_popup_content,
    .wrapper_popup_content.laden {
        width: auto;
        min-width: auto;
    }

    .wrapper_popup_content {
        padding: 1.5rem;
    }
}

/*
  ======================================================================
  Konfigurator Preview
  ======================================================================
  */
.section[role=content].konfigurator__preview {
    display: flex;
    justify-content: center;
    align-items: center;

    img {
        max-width: 65%;
    }
}

/*
  ======================================================================
  Main CSS ab hier
  ======================================================================
  */
.section[role=pre-head] {
    background-color: var(--gray-100);
    border-top: 0.5rem solid var(--main-light);
    height: 6rem;
}

.section[role=head] {
    background-color: var(--gray-100);
    display: grid;
    grid-template-areas: "a b";
    grid-template-columns: auto 1fr;
    align-items: center;
    font-size: 0.75rem;
    align-items: flex-end;
    padding-bottom: 0.5rem;
    position: sticky;
    top: 0;
    z-index: 3;
    height: 3rem;

    .logo {
        grid-area: a;
        max-width: 80%;
        transition: all 0.3s ease-in-out;
    }

    .logo.logo_sticky {
        max-width: 35%;
        display: flex;
        align-self: center;
        padding-top: 0.4rem;
        transition: all 0.3s ease-in-out;
    }

    .navigation {
        text-align: right;
        grid-area: b;

        .wrapper-nav {
            .nav-mobil {
                display: none;
            }
        }

        ul {
            margin-top: 0.5rem;

            li {
                display: inline-block;
                text-transform: uppercase;
                margin-right: 1.25rem;
                font-weight: 700;
                letter-spacing: 0.1rem;
                transition: all 0.2s;
            }

            li.active,
            li:hover {
                color: var(--main-light);
                border-bottom: 0.25rem solid;
                padding-bottom: 0.1rem;
            }

            a {
                padding: 0.25rem 0.75rem;
            }

            li:last-of-type {
                margin-right: 0;
                background-color: var(--main-light);
                color: #FFF;
                padding: 0.35rem 0.5rem;
                border: 1px solid transparent;
            }

            li:last-of-type:hover {
                background-color: transparent;
                color: var(--main-light);
                border: 1px solid var(--main-light);
            }
        }
    }
}

@media only screen and (max-device-width: 480px) {
    .section[role=pre-head] {
        background-color: var(--gray-100);
        border-top: 0.5rem solid var(--main-light);
        height: 0.5rem;
        position: fixed !important;
        top: 0;
        left: 0;
        z-index: 10 !important;
    }

    .section[role=head] {
        background-color: var(--gray-100);
        display: none;
        grid-template-areas: "a b";
        grid-template-columns: auto 1fr;
        align-items: center;
        font-size: 0.75rem;
        align-items: flex-start;
        padding-bottom: 0.5rem;
        padding-top: 1.5rem;
        position: fixed;
        top: 3.5rem;
        z-index: 3;
        height: auto;

        .logo {
            grid-area: a;
            max-width: 80%;
            transition: all 0.3s ease-in-out;
        }

        .logo.logo_sticky {
            max-width: 35%;
            display: flex;
            align-self: center;
            padding-top: 0.4rem;
            transition: all 0.3s ease-in-out;
        }

        .navigation {
            text-align: right;
            grid-area: b;

            .wrapper-nav {
                display: grid;
                grid-template-rows: auto 1fr;
                height: calc(100vh - 3rem) !important;

                .nav-mobil {
                    display: flex;
                    background-color: var(--gray-200);
                    height: auto;
                    justify-content: flex-start;
                    align-items: center;
                    padding-top: 3rem;
                    margin-bottom: 3.5rem;
                    flex-direction: column;

                    a {
                        padding: 0;
                        font-weight: bolder;
                        font-size: calc(var(--font-size) + 0.1rem);
                    }
                }
            }

            ul {
                margin-top: 0.5rem;
                display: block;
                background-color: var(--gray-100);
            }

            li {
                display: block !important;
                text-transform: uppercase;
                margin-right: 1.25rem;
                font-weight: 700;
                letter-spacing: 0.1rem;
                transition: all 0.2s;
                line-height: 3;
                margin-bottom: 2rem;
                padding-right: 1rem;
            }

            li.active,
            li:hover {
                color: var(--main-light);
                border-bottom: 0.25rem solid;
                padding-bottom: 0.1rem;
            }

            a {
                padding: 0.25rem 0.75rem;
            }

            li:last-of-type {
                margin-right: 0;
                background-color: var(--main-light);
                color: #FFF;
                padding: 0.35rem 0.5rem;
                border: 1px solid transparent;
            }

            li:last-of-type:hover {
                background-color: transparent;
                color: var(--main-light);
                border: 1px solid var(--main-light);
            }
        }
    }

    .section[role=head].active {
        display: grid;
    }

    .section[role=post-head] {
        display: none !important;
    }

    .section[role=head-mein-konto] {
        position: fixed;
        z-index: 99 !important;
        top: 0.5rem !important;
        box-shadow: none !important;
        height: 3rem;
    }
}

.section[role=post-head] {
    background-color: var(--gray-100);
    height: 1rem;
    z-index: 2;
}

.section[role=head-mein-konto] {
    background-color: #e3f1f7;
    display: grid;
    grid-template-columns: auto auto auto;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: calc(var(--font-size) - 0.2rem) !important;
    position: sticky;
    top: 3rem;
    z-index: 5;
    height: 2.8rem;

    i:before {
        margin-right: 0.5rem;
        font-weight: 900;
    }

    a.mitrahmen {
        color: var(--main-dark);
        background-color: #FFF;
        padding: 0.1rem 0.75rem;
        border-radius: 1rem;
    }

    a.mitrahmen:hover {
        background-color: var(--main-cta);
        color: #FFF;
    }

    a.guthaben-aufladen {
        font-weight: 600;
        margin-left: 0.5rem;
        margin-right: 1rem;
        color: var(--main-dark);
    }

    a.guthaben-aufladen:hover {
        color: var(--main-cta);
    }

    .reseller {
        display: flex;
        justify-content: flex-start;
        align-items: center;

        img {
            max-width: 50%
        }

        .mitrahmen:hover {
            background-color: var(--action-purple);
            color: #FFF !important;
        }

        i:hover {
            color: #FFF !important;
        }
    }

    .help {
        display: flex;
        justify-content: center;
        align-items: center;

        p {
            text-align: center;
            color: var(--gray-700);
        }

        a {
            font-weight: 700;
        }

        a:hover {
            color: var(--main-cta);
        }
    }

    .login {
        display: flex;
        justify-content: flex-end;
        align-items: center;

        i.menu {
            font-size: calc(var(--font-size) + 0.2rem);
            margin-left: 1rem;
            display: none;
            justify-content: center;
            align-items: center;
            width: 1rem;
        }
    }
}

@media only screen and (max-device-width: 480px) {
    .login {
        i.menu {
            display: flex;
        }
    }
}



.section[role=content] {
    padding-top: 2rem;
    padding-bottom: 2rem;

    p {
        font-weight: 300;
        line-height: 1.5;
        margin-bottom: 1rem;
        padding-right: 1rem;

        a {
            color: var(--main-cta);
        }

        a:hover {
            border-bottom: 1px dashed;
        }
    }

    p.small {
        font-size: calc(100% - 0.2rem);
        color: var(--main-cta);
        margin-top: 0.35rem;
        margin-bottom: 0;
        padding-right: 0;


    }

    p.center {

        text-align: center;

    }


    p.hervorhebung {
        font-weight: 600;
    }

    p.headline {
        font-weight: 700;
        line-height: 1.5;
        margin-bottom: 0;
        margin-top: 0;
        padding-right: 0;
        font-size: 1.5rem;
        color: var(--main-dark);
    }

    p.preis {
        font-weight: 600;
        line-height: 1.5;
        margin-top: 1.5rem;
        padding: 0;
        font-size: 2rem;
        color: var(--main-medium);
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        margin-bottom: 0;

        strong {
            float: left;
            font-size: 0.8rem;
            padding-bottom: 0.45rem;
            padding-right: 0.75rem;
            color: var(--main-red);
            font-weight: 400;
            text-transform: uppercase;
            letter-spacing: 0.1rem;
        }
    }

    ul {
        color: var(--main-dark);
        font-weight: 300;
        line-height: 1.5;
    }

    ul.liste-plus {
        padding-left: 1.5rem;

        li {
            padding-bottom: 2rem;
            font-size: calc(var(--font-size) - 0.06rem);
        }

        li:last-of-type {
            padding-bottom: 0;
        }

        li strong {
            font-weight: 600;
            color: var(--main-dark);
            line-height: 1.75;
            font-size: var(--font-size);
        }

        li:before {
            content: "\f336";
            color: var(--main-light);
            margin-left: -1.5rem;
            display: inline-block;
            width: 1.5rem;
            font-weight: 400;
            font-family: FontAwesome;
        }
    }

    ul {
        padding-left: 0;
        list-style: none;
        font-size: var(--font-size);

        li {
            line-height: 1.5;
            padding-left: 1.3rem;
        }

        li:before {
            content: "\f054";
            font-family: FontAwesome;
            padding-right: 0.5rem;
            font-size: calc(var(--font-size));
            font-weight: 300;
            color: var(--main-light);
            margin-left: -1.3rem;
            display: inline-block;
            width: 1.3rem;
        }
    }

    ul.check {


        li:before {
            content: "\f00c";
            color: var(--action-green);
            font-weight: 900;
        }
    }


    ul.cross {


        li:before {
            content: "\f00d";
            color: var(--action-red);
            font-weight: 900;
        }
    }






}

.section[role=footer].top,
.section[role=footer].middle,
.section[role=footer].bottom {
    display: flex;
    justify-content: center;
    align-items: center;
}

.section[role=footer].top {
    background-color: var(--gray-100);
    padding: 2rem 0 1rem 0;

    img {
        width: 20rem;
        margin-bottom: 1.5rem;
    }

    p {
        text-transform: uppercase;
        font-size: calc(var(--font-size) + 0.5rem);
        color: var(--main-light);
        letter-spacing: 0.15rem;
        font-weight: 400;
        text-align: center;
        line-height: 1.3;

        strong {
            font-weight: 700;
        }
    }
}

.section[role=footer].middle {
    background-color: var(--gray-300);
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;

    p {
        text-align: center;
    }

    a {
        font-weight: 700;
    }

    a:hover {
        color: var(--main-cta);
    }
}

.section[role=footer].bottom {
    background-color: var(--main-dark);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    color: #FFF;
    font-size: calc(var(--font-size) - 0.2rem);
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-weight: 300;

    a {
        opacity: 0.7;
    }

    a:hover {
        opacity: 1;
    }

    .bmgruppe {
        display: flex;
        justify-content: center;

        a.memberof {
            margin-right: 0;
        }
    }

    .subnav {
        display: flex;
        justify-content: flex-end;

        ul li {
            display: inline;
        }

        a {
            margin-left: 1rem;
        }
    }
}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {
    .section[role=footer].top {
        img {
            width: 15rem;
            margin-bottom: 1rem;
        }

        p {
            font-size: calc(var(--font-size) + 0.1rem);
        }
    }

    .section[role=footer].middle {
        p {
            font-size: calc(var(--font-size) - 0.1rem);
        }
    }

    .section[role=footer].bottom {
        grid-template-columns: 1fr;
        padding-bottom: 3rem;

        .reseller {
            display: flex;
            justify-content: center;
            margin: 1rem 0;
        }

        .subnav {
            justify-content: center;
            margin-top: 1rem;
        }

        a {
            margin-right: 1rem;
        }
    }
}

h1.hero {
    line-height: 1.4;
    color: var(--main-dark);
    font-weight: 500;
    margin-bottom: 1rem;
    font-size: calc(var(--font-size) + 1.2rem);
    margin-top: 0;

    strong {
        color: var(--main-light);
        font-weight: 800;
    }

    strong::before {
        display: none;
    }
}


h2.hero {
    line-height: 1;
    color: var(--main-dark);
    font-weight: 500;
    margin-bottom: -0.5rem;
    font-size: var(--font-size);
    margin-top: 3.5rem;
}



h1,
h2 {
    line-height: 1.4;
    color: var(--main-dark);
    font-weight: 500;
    margin-bottom: 2.5rem;
    font-size: calc(var(--font-size) + 0.7rem);
    margin-top: 3rem;

    strong {
        color: var(--main-light);
        font-weight: 800;
    }

    strong::before {
        content: '\A';
        white-space: pre;
    }
}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {

    h1,
    h2 {
        strong::before {
            display: none;
        }
    }
}

.wrapper_img-screen {
    display: flex;
    justify-content: center;
    align-items: center;

    max-width: 100%;


    .img-screen {
        border: 1px solid #CCC;
        padding: 2rem;


        iframe {
            max-width: 100%;
        }
    }
}




.demo-success-nudge {
    background-color: var(--gray-100);
    border: 2px solid var(--action-green);
    padding: 1.25rem;
    margin-top: 2rem;
    border-radius: 8px;
    border-style: dashed;
    text-align: center;

    /* Animation-Startzustand */
    visibility: hidden;
    opacity: 0;
    transform: translateY(20px);
    /* Start leicht unten */

    transition:
        opacity 0.5s ease,
        transform 0.5s ease,
        visibility 0s linear 0.5s;
    /* visibility erst nach der Animation verstecken */
}

.demo-success-nudge h2 {
    font-size: calc(var(--font-size) + 0.1rem);
    color: var(--action-green);
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

.demo-success-nudge.visible {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    /* In Position sliden */
    transition-delay: 0s;
    /* visibility wird sofort sichtbar */
}

.grid-hero-audio {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
    align-items: flex-start;
}

@media only screen and (max-device-width: 480px) {
    .grid-hero-audio {

        grid-template-columns: 1fr;

    }



    .demo-success-nudge {
        display: none;
            }
        
        
    .demo-success-nudge.visible {
display: block;
    }



}


/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {
    .wrapper_img-screen {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-left: 0;
        transform: rotate(0);
        margin-top: 0rem;
        display: none;

        .img-screen {
            border: 1px solid #CCC;
            padding: 1rem;
            box-shadow: none;
            transform: none;

            iframe {
                max-width: 100%;
                height: auto;
                aspect-ratio: 16/9 !important;
            }
        }
    }
}



/*
  ======================================================================
Testimonial Slider
  ======================================================================
  */

  .testimonial-slider {
    max-width: 80%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;

    p {
        margin: 0 !important;
        padding: 0 !important;
    }
}

.testimonial-slide {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition:
        opacity 0.6s ease,
        transform 0.6s ease,
        visibility 0s linear 0.6s;

    text-align: center;
    padding: 2rem;
    font-size: 1.1rem;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

.testimonial-slide.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
    position: relative;
    z-index: 2;
}

.testimonial-slide.exiting {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px); /* nach oben raus */
    transition:
        opacity 0.6s ease,
        transform 0.6s ease,
        visibility 0s linear 0.6s;
    z-index: 1;
}

.testimonial-slide .quote {
    margin-bottom: 1rem !important;
    font-weight: 400;
}

.testimonial-slide .name {
    font-weight: 600 !important;
    margin-top: 1rem;
}

.testimonial-slide.instant {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  



/*
  ======================================================================
  Login
  ======================================================================
  */
.wrapper_content_systemmeldung {
    display: grid;
    width: 30rem;
    height: auto;
    padding: 2.5rem;
    background-color: var(--bg-kontakt);
    color: var(--main-dark);
    margin: 10rem auto;
}


.wrapper_content_systemmeldung a.cto {
    width: 100%;
}

.wrapper_content_systemmeldung p.text {
    font-weight: 400;
    font-size: 1rem;
    text-align: center;
    line-height: 1.5;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

.wrapper_content_systemmeldung p.fehler {
    color: var(--action-red);
    font-weight: 500;
    width: 100%;
    padding: 0.5rem 1rem;
    margin-top: 0;
    margin-bottom: 1rem;
    border: 2px dashed var(--action-red);
    background-color: #FFF;
}

.wrapper_content_systemmeldung .user-action:first-child {
    border-right: 1px solid var(--main-dark);
    padding: 0 2.5rem 0 0;
    display: flex;
    flex-direction: column;
}

.wrapper_content_systemmeldung .user-action:last-child {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding: 0 2rem 0 0;
}

.wrapper_content_systemmeldung p.headline1 {
    font-weight: 400;
    font-size: 0.9rem;
    text-transform: uppercase;
    margin: 0 0 1rem 0;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 2px;
    color: var(--main-light);
}

.wrapper_content_systemmeldung p.headline2 {
    font-weight: 700;
    margin: 0 0 0 0;
    text-align: center;
    line-height: 1.5;
    color: var(--main-dark);
}





/*
  ======================================================================
  FAQ
  ======================================================================
  */
.faq__wrapper {
    margin-top: 2rem;
    margin-bottom: 1rem;

    .faq__wrapper--frage {
        background-color: #FFF;
        margin-bottom: 0.5rem;

        padding: 1rem 1rem 1rem 3rem;
        position: relative;
        cursor: pointer;
        overflow: hidden;
        transition: all 0.2s;

        p.faq-frage {
            font-weight: 700 !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        i {
            position: absolute;
            left: 1rem;
            color: var(--main-light);
        }

        i:before {
            content: "\2b";
        }

        .faq__wrapper--antwort {
            height: 0 !important;
            transition: all 0.2s;
            font-weight: 300;
            overflow: hidden;


        }
    }



    .faq__wrapper--frage.active {
        i:before {
            content: "\f068";
            transition: all 0.2s;
        }

        .faq__wrapper--antwort {
            height: auto !important;
            margin-top: 0.5rem;
        }
    }
}

/*
  ======================================================================
  Warenkorb
  ======================================================================
  */
.wrapper_warenkorb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 4rem 0;
}

.wrapper_warenkorb .inhalt {
    display: grid;
    grid-template-columns: 1fr 40%;
    grid-template-areas: "a b" "c d";
    grid-row-gap: 2rem;
    grid-column-gap: 6rem;
    margin: 0;
    width: 100%;
    padding: 3rem;
    background-color: var(--bg-kontakt);
}

.wrapper_warenkorb .inhalt h2 {
    margin: 0 0 1.5rem 0;
}

.wrapper_warenkorb .inhalt h2 {
    grid-area: a;
}

.wrapper_warenkorb .inhalt .articles {
    color: var(--main-dark);
    font-size: 1rem;
    font-family: Inter;
    margin-top: -0.5rem;
    grid-area: c;
}

.wrapper_warenkorb .inhalt .articles-grid {
    display: grid;
    grid-template-columns: 1fr 17% 17% 17%;
    width: 100%;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.5;
    grid-column-gap: 1.5rem;
}

.wrapper_warenkorb .inhalt .articles-grid .cart-item {
    grid-column: 1 / span 4;
    display: grid;
    grid-template-columns: 1fr 17% 17% 17%;
    width: 100%;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.5;
    grid-column-gap: 1.5rem;
}

.wrapper_warenkorb .inhalt .articles-grid .cart-item:nth-child(1) {
    background-color: red;
}

.wrapper_warenkorb .inhalt .articles-grid .article-beschreibung.headline,
.wrapper_warenkorb .inhalt .articles-grid .article-einzelpreis.headline,
.wrapper_warenkorb .inhalt .articles-grid .article-menge.headline,
.wrapper_warenkorb .inhalt .articles-grid .article-gesamtpreis.headline {
    font-size: 0.9rem;
    font-weight: 600;
    height: 2rem;
    flex-direction: row;
}

.wrapper_warenkorb .inhalt .articles-grid .article-menge.headline {
    justify-content: center;
}

.wrapper_warenkorb .inhalt .articles-grid .article-beschreibung,
.wrapper_warenkorb .inhalt .articles-grid .article-einzelpreis,
.wrapper_warenkorb .inhalt .articles-grid .article-menge,
.wrapper_warenkorb .inhalt .articles-grid .article-gesamtpreis {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 0;
}

.wrapper_warenkorb .inhalt .articles-grid .article-menge,
.wrapper_warenkorb .inhalt .articles-grid .article-gesamtpreis {
    text-align: end;
}

.wrapper_warenkorb .inhalt .articles-grid .article-beschreibung {
    justify-content: flex-start;
    line-height: 1.3;
}

.wrapper_warenkorb .inhalt .articles .article-beschreibung strong.rabattcode {
    color: var(--action-purple);
}

.wrapper_warenkorb .inhalt .articles .article-beschreibung em {
    margin-top: 5rem;
    font-size: 0.95rem;
    opacity: 0.8;
    font-style: normal;
}

.wrapper_warenkorb .inhalt .articles .article-beschreibung em:before {
    content: "";
    height: 0.3rem;
    display: block;
}

.wrapper_warenkorb .inhalt .articles-grid .article-trenner {
    grid-column: 1 / span 4;
    background-color: #FFF;
    border-bottom: 1px dotted var(--fliesstext);
}

.wrapper_warenkorb .inhalt .articles-grid .article-trenner.last {
    grid-column: 3 / span 2;
    background-color: #FFF;
    border-bottom: 1px dotted var(--fliesstext);
}

.wrapper_warenkorb .inhalt .articles-grid .article-menge input[type="number"] {
    background: #FFF;
    border: 1px solid var(--gray-350);
    padding-left: 0.7rem;
    width: 5rem;
    color: var(--main-dark);
    min-height: 2.25rem;
    text-align: center;
    display: flex;
}

.wrapper_warenkorb .inhalt .articles-grid .article-menge label {
    color: var(--main-cta);
    font-size: 0.8rem;
    margin-top: 0.3rem;
    display: none;
}

.wrapper_warenkorb .inhalt .articles-grid .article-menge {
    flex-direction: column;
}

.wrapper_warenkorb .inhalt .overview {
    display: grid;
    grid-template-rows: auto 1fr;
    align-items: flex-end;
    align-content: flex-start;
    grid-row-gap: 2rem;
    grid-area: d;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt {
    background-color: rgba(255, 255, 255, 0.5);
    border: 1px dotted var(--action-blue);
    padding: 1.5rem 2rem 2rem 2rem;
    grid-row-gap: 0;
    grid-area: b;
    grid-row-start: 1;
    grid-row-end: 3;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt input[type="text"],
.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt input[type="email"],
.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt input[type="password"] {
    background-color: #FFF;
    border: 1px solid var(--gray-350);
    padding: 0 0.5rem;
    width: 100%;
    font-weight: 300;
    font-size: 1rem;
    color: var(--main-dark);
    font-family: var(--font-fliesstext);
    margin: 0.3rem 0 1.5rem 0;
    height: 2.7rem;
    line-height: 2.7rem;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt .wrapper_password {
    position: relative;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt .wrapper_password i {
    position: absolute;
    top: 1.3rem;
    right: 0.8rem;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt .wrapper_password i:before {
    content: "\f070";
    font-family: "FontAwesome";
    color: var(--mint-text);
    font-weight: 400;
    font-size: 0.95rem;
    cursor: pointer;
    width: 1.5rem;
    line-height: 2.7rem;
    text-align: center;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt label {
    font-family: "Inter";
    color: var(--main-dark);
    font-weight: 500;
    font-size: 0.9rem;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt p.text {
    font-family: "Inter";
    color: var(--main-dark);
    font-weight: 500;
    font-size: 1rem;
    text-align: center;
    line-height: 1.5;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt p.headline {
    font-family: "Inter";
    color: var(--main-dark);
    font-weight: 400;
    font-size: 0.9rem;
    text-transform: uppercase;
    margin: 1rem 0 0.5rem 0;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 2px;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt p.fehler {
    font-family: "Inter";
    color: var(--red-cta);
    font-weight: 500;
    font-size: 1rem;
    text-align: center;
    line-height: 1.5;
    margin: -0.5rem 0 2rem 0;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt .zugangsdaten {
    margin-top: 3.5rem;
text-align: center;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt .zugangsdaten a.pswd {
    color: var(--main-cta);
    height: 1.5rem;
    display: inline-flex;
    justify-content: center;
    font-weight: 400;
    transition: all 0.2s;
    font-size: 0.8rem;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt a.pswd:hover {
    border-bottom: 1px dashed;
    transition: all 0.2s;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt a.register {
    color: var(--main-cta);
    text-align: center;
    font-weight: 500;
    font-family: "Inter";
    font-size: 0.8rem;
    display: block;
    text-decoration: none;

    text-underline-offset: 0.3rem;
    text-decoration-thickness: 1px;
    text-decoration-skip: spaces;
    text-decoration-skip-ink: spaces;
    margin: -0.5rem 0 2rem 0;
}

.wrapper_warenkorb .inhalt .overview.nicht-eingeloggt a.register:hover {
    text-decoration: underline;
    transition: all 0.2s;
        text-decoration-style: dotted;
}

.wrapper_warenkorb .inhalt .overview .coupon {
    border: 1px dotted var(--main-light);
    padding: 1rem;
    border-radius: 1rem;
    background-color: rgba(255, 255, 255, 0.5);
}

.wrapper_warenkorb .inhalt .overview .coupon .einloesen {
    display: flex;
    align-items: stretch;

    button {
        margin-left: 0.5rem;
        display: flex;
        padding: 0;
        padding: 0.1rem 1rem 0 1rem;
        justify-content: center;
        align-items: center;
        border: dotted 1px;
    }
}

.wrapper_warenkorb .inhalt .overview .coupon input[type="text"] {
    background: #FFF;
    border: 1px solid var(--gray-400);
    padding: 0 0 0 0.7rem;
    width: 15rem;
    font-family: "Inter";
    color: var(--main-dark);
    min-height: 2.25rem;
    text-align: left !important;
    display: flex;
    float: left;
}

.wrapper_warenkorb .inhalt .overview .coupon p.text {
    font-size: 0.9rem;
    font-weight: 600;
}

.wrapper_warenkorb .inhalt .overview .coupon p.code {
    font-weight: 500;
    font-size: 1rem;
    color: var(--action-purple);
    margin-top: 1rem;
    margin-bottom: 0;
}

.wrapper_warenkorb .inhalt .overview .coupon p.code i.trash:before {
    content: "\f55a";
    font-family: "FontAwesome";
    color: inherit;
    font-weight: 300;
    cursor: pointer;
}

.wrapper_warenkorb .inhalt .overview .coupon p.fehler {
    font-weight: 500;
    font-size: 1rem;
    color: var(--action-red);
    margin-top: 1rem;
    margin-bottom: 0;
}

.wrapper_warenkorb .inhalt .overview .coupon p.code i.trash:hover:before {
    font-weight: 900;
}

.wrapper_warenkorb .inhalt .overview .absenden {
    display: flex;


    flex-direction: column;
    width: 100%;
}

.wrapper_warenkorb .inhalt .overview .absenden button.cto {
display: block;
float: left;
}

.wrapper_warenkorb .inhalt .overview .absenden .disclaimer {
    display: flex;
    flex-direction: column;
    color: var(--main-dark);
    font-weight: 400;
    font-family: "Inter";
}

.wrapper_warenkorb .inhalt .overview .absenden .disclaimer.rahmen {
    border: 1px solid var(--fliesstext);
}

.wrapper_warenkorb .inhalt .overview .absenden .disclaimer p {
    font-size: 1rem;
}

.wrapper_warenkorb .inhalt .overview .absenden .disclaimer p i.checkbox:before {
    content: "\f0c8";
    font-family: "FontAwesome";
    color: inherit;
    font-weight: 300;
    cursor: pointer;
    margin-right: 0.5rem;
}

.wrapper_warenkorb .inhalt .overview .absenden .disclaimer p i.checkbox.active:before {
    content: "\f14a";
    font-weight: 900;
}

.wrapper_warenkorb .inhalt .overview .absenden .disclaimer p.fehler {
    color: var(--action-red);
}

.wrapper_warenkorb .inhalt .overview .absenden .disclaimer p.agb {
    margin-top: -1rem;
    margin-bottom: 1.5rem;
}

.wrapper_warenkorb .inhalt .overview .absenden .disclaimer p.info-zahlung {
    margin-bottom: 1rem;
    font-weight: 500;
    background-color: #e2f8e9;;

    padding: 1rem 2rem 1rem 2.75rem;

color: #128b3a;
}


.wrapper_warenkorb .inhalt .overview .absenden .disclaimer p.info-zahlung:before {

            content: "\f571";
            margin-left: 0;
            display: inline-block;
            width: 1.75rem;
            margin-left: -1.75rem;
            font-weight: 300;
            font-family: FontAwesome;

        }

.wrapper_warenkorb .inhalt .overview .absenden .user-action {
    width: 100%;

    .wrapper-password {
        position: relative;

        i {
            position: absolute;
            top: 0.3rem;
            right: 0;
            height: 2.7rem;
            display: flex;
            width: 2.5rem;
            justify-content: center;
            align-items: center;
        }
    }

    button {
        width: 100%;
    }
}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {
    .wrapper_warenkorb {
        padding: 0;
        column-gap: 0;
        margin: 0;
        grid-template-columns: 100%;
        width: 100%;
    }

    .wrapper_warenkorb .inhalt,
    .wrapper_warenkorb .inhalt.danke {
        grid-template-columns: 1fr !important;
        grid-row-gap: 1rem;
        grid-column-gap: 0;
        padding: 0;
        width: auto;
        grid-template-areas: "a" "b" "c" "d";
        border: none;
        box-shadow: none;
        background-color: #FFF;
    }

    .wrapper_warenkorb .inhalt.danke .text span.characters {
        font-size: 23vw;
    }

    .wrapper_warenkorb .inhalt .articles-grid,
    .wrapper_warenkorb .inhalt .articles-grid .cart-item {
        grid-gap: 0;
        grid-template-columns: 1fr 25% 30%;
        align-items: center;
    }

    .wrapper_warenkorb .inhalt .articles-grid .article-trenner {
        grid-column: 1 / span 3;
    }

    .wrapper_warenkorb .inhalt .articles-grid .article-trenner.last {
        grid-column: 2 / span 2;
    }

    .wrapper_warenkorb .inhalt .articles-grid .article-menge input[type="number"] {
        padding-left: 0;
    }

    .wrapper_warenkorb .inhalt .articles-grid .cart-item .article-einzelpreis,
    .wrapper_warenkorb .inhalt .articles-grid .article-einzelpreis.headline {
        display: none;
    }

    .wrapper_warenkorb .inhalt .overview.nicht-eingeloggt {
        margin-top: 4rem;
        margin-bottom: 3rem;
        background-color: var(--bg-kontakt);
        border-radius: 0;
    }

    .wrapper_warenkorb .inhalt .overview .coupon input[type="text"] {
        width: 100%;
    }

    .wrapper_warenkorb .inhalt .overview span.button.secondary,
    .wrapper_warenkorb .inhalt .overview a.button.secondary {
        margin-left: 0;
        display: inline-flex;
        clear: both;
        margin-top: 1rem;
    }
}

/*
  ======================================================================
  Danke-Seite
  ======================================================================
  */
.wrapper_danke {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 3rem 0;

    img {
        width: 50rem;
        max-width: 90%;
    }

    h1 strong:before {
        display: none;
    }

    p {
        text-align: center;
        line-height: 1.7 !important;
    }

    h3 {
        border: 1px dashed var(--main-dark);
        padding: 1rem;
        margin-top: 2rem;
        margin-bottom: 1.5rem;
    }
}


/*
  ======================================================================
  Changelog
  ======================================================================
  */
.wrapper__changelog {
    display: grid;
    grid-template-areas: "a b";
    grid-template-columns: 15rem 1fr;


    .datum {
        border-bottom: 1px solid var(--gray-400);
        margin-bottom: 2rem;
    }


    .inhalt {
        border-bottom: 1px solid var(--gray-400);
        margin-bottom: 2rem;
    }


    .datum.last,
    .inhalt.last {
        border-bottom: none !important;
    }


    h6 {
        margin: 0;
        font-weight: 700;
        color: var(--main-light);

        font-size: calc(var(--font-size) + 0.2rem);
        padding-right: 3rem;
        scroll-margin-top: 8rem;
    }



    ul {
        padding-top: 0.2rem;
        padding-bottom: 0;

        margin-bottom: 1.25rem;




        li.new:before,
        li.improved:before,
        li.fixed:before,
        li.initial:before {
            font-family: var(--font-fliesstext);
            width: 7rem;
            margin-right: 2rem;
            text-transform: uppercase;
            color: #FFF;
            font-weight: 400;
            font-size: calc(var(--font-size) - 0.4rem);
            letter-spacing: 0.05rem;
            border-radius: 100rem;

            margin-left: -9rem;
            margin-bottom: -5rem;
            padding: 0.29rem 0.5rem 0.25rem 0.5rem;
            display: inline-flex !important;
            justify-content: center;
            align-items: center;
        }


        li.new:before {
            content: "Neu";
            background-color: #FF3081;
        }




        li.improved:before {
            content: "Verbessert";
            background-color: var(--action-blue);
        }

        li.fixed:before {
            content: "Behoben";
            background-color: #E6E6F2;
            color: #757783;
        }

        li.initial:before {
            content: "Geplant";
            background-color: var(--action-purple);
        }




        li {
            padding-bottom: 1rem;
            padding-left: 9rem !important;
            padding-right: 3rem;
            font-size: calc(var(--font-size) - 0.05rem);

        }






    }



}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {
    .wrapper__changelog {
        grid-template-areas: "a" "b";
        grid-template-columns: 1fr;

        h6 {
            text-align: left;
            font-size: calc(var(--font-size) + 0.3rem);
            margin-bottom: 1rem;
            padding-right: 0;
        }


        .datum {
            border-bottom: none;
            margin-bottom: 0;
        }



        ul {
            padding-top: 0.2rem;
            padding-bottom: 0;

            margin-bottom: 1.25rem;




            li.new:before,
            li.improved:before,
            li.fixed:before,
            li.initial:before {
                margin-left: 0;
                margin-bottom: 0.5rem;

                display: flex !important;

            }

            li {
                padding-bottom: 1.5rem;
                padding-left: 0 !important;

                font-size: calc(var(--font-size) - 0.05rem);

            }



        }
    }
}

/*
  ======================================================================
  Mustertexte
  ======================================================================
  */
.wrapper__mustertexte {
    display: grid;
    grid-template-areas: "a b";
    grid-template-columns: 20% 1fr;

    h2 {
        margin: 0;
        font-weight: 700;
        color: var(--main-light);
        text-align: right;
        font-size: calc(var(--font-size) + 0.5rem);
        padding-right: 3rem;
        scroll-margin-top: 8rem;
    }

    ul {
        padding-top: 0.2rem;
        padding-bottom: 0;

        li {
            padding-bottom: 1rem;
            margin-bottom: 1rem;
            border-bottom: 1px dashed var(--main-light);
            padding-right: 3rem;
            font-size: calc(var(--font-size) - 0.05rem);
            line-height: 1.7;
        }

        li:last-child {
            border-bottom: 0px;
        }
    }

    a.cto {
        margin-bottom: 5rem;
    }
}

.wrapper__mustertexte-navigation a {
    color: var(--main-cta);
    border: 1px dotted;
    padding: 0.4rem 0.75rem;
    margin: 1rem 0.75rem 0 0;
    display: inline-block;
    font-size: calc(var(--font-size) - 0.05rem);
}

.wrapper__mustertexte-navigation a:hover {
    color: #FFF;
    border: 1px solid;
    background-color: var(--main-cta);
}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {
    .wrapper__mustertexte {
        grid-template-areas: "a" "b";
        grid-template-columns: 1fr;

        h2 {
            text-align: left;
            font-size: calc(var(--font-size) + 0.3rem);
            margin-bottom: 1rem;
            padding-right: 0;
        }
    }
}

/*
  ======================================================================
  Login
  ======================================================================
  */
.wrapper_content_login {
    display: grid;
    grid-template-columns: 50% 50%;
    max-width: 60rem;
    height: auto;
    padding: 2.5rem;
    grid-column-gap: 2.5rem;
    grid-row-gap: 2rem;
    background-color: var(--bg-kontakt);
    color: var(--main-dark);
    margin: 10rem auto;
}

.wrapper_content_login .user-action:last-child a.cto {
    margin-bottom: 2rem;
}

.wrapper_content_login a.cto {
    width: 100%;
}

.wrapper_content_login p.text {
    font-weight: 500;
    font-size: 1rem;
    text-align: center;
    line-height: 1.5;
}

.wrapper_content_login p.fehler {
    color: var(--action-red);
    font-weight: 500;
    width: 100%;
    padding: 0.5rem 1rem;
    margin-top: 0;
    margin-bottom: 1rem;
    border: 2px dashed var(--action-red);
    background-color: #FFF;
}

.wrapper_content_login .user-action:first-child {
    border-right: 1px solid var(--main-dark);
    padding: 0 2.5rem 0 0;
    display: flex;
    flex-direction: column;
}

.wrapper_content_login .user-action:last-child {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding: 0 2rem 0 0;
}

.wrapper_content_login p.headline {
    font-weight: 400;
    font-size: 0.9rem;
    text-transform: uppercase;
    margin: 1rem 0 2rem 0;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 2px;
    color: var(--main-light);
}

.wrapper_content_login .user-action:last-child p.headline {
    margin-bottom: 0;
}

.wrapper_content_login label {
    font-family: "Inter";
    color: var(--main-dark);
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--main-dark);
}

.wrapper_content_login input[type="text"],
.wrapper_content_login input[type="email"],
.wrapper_content_login input[type="password"] {
    background: #FFF;
    border: 1px solid var(--gray-350);
    padding: 0 0.5rem;
    width: 100%;
    margin: 0.3rem 0 1.5rem 0;
    height: 2.7rem;
    line-height: 2.7rem;
}

.wrapper_content_login .wrapper-pswd {
    position: relative;
    padding-top: 0.3rem;

    input[type="password"] {
        margin-top: 0;
    }

    i.pswd,
    i.pswd.active {
        color: var(--main-dark);
        position: absolute;
        right: 0;
        top: 0.3rem;
        cursor: pointer;
        display: flex;
        height: 2.7rem;
        width: 2.7rem;
        justify-content: center;
        align-items: center;
        font-weight: 400;
    }
}

.wrapper_content_login a.pswd {
    height: 2rem;
    display: block;
    font-weight: 300;
    transition: all 0.2s;
    font-size: 0.75rem;
    text-align: center;
    padding-top: 0.6rem;
}

@media only screen and (max-device-width: 480px) {
    .wrapper_content_login {
        grid-template-columns: 100%;
        height: auto;
        margin: 3rem 2rem;
        padding-top: 2.5rem;
    }

    .wrapper_content_login .user-action:first-child {
        border-right: none;
        border-bottom: 1px solid #858585;
        padding: 0 0 2rem 0;
    }

    .wrapper_content_login p.headline {
        margin: 0 0 1rem 0;
    }

    .wrapper_content_login .user-action:first-child p.headline {
        margin-bottom: 1.5rem;
    }

    .wrapper_content_login .user-action:last-child p.headline {
        margin-bottom: 1rem;
        margin-top: 0.3rem;
    }

    .wrapper_content_login p.text {
        margin-bottom: 2rem;
    }

    .wrapper_content_login .user-action:last-child {
        padding: 0;
    }
}

/*
  ======================================================================
  Kontaktformular
  ======================================================================
  */
.bg-kontakt {
    background-color: var(--bg-kontakt);
}

.kontaktformular_wrapper {
    display: grid;
    grid-template-areas: "a b";
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 2rem;

    .anrede,
    .absenden {
        grid-column: 1 / span 2;
        padding: 1rem 0;
        color: var(--main-dark);
        font-weight: 300;
        font-size: 1rem;

        i {
            margin-right: 2rem;

            a {
                color: var(--main-cta)
            }

            a:hover {
                border-bottom: 1px dashed;
            }
        }

        i:before {
            font-weight: 500;
            color: var(--main-dark);
            padding-right: 0.5rem;
        }

        i.checked:before {
            color: var(--main-dark);
        }
    }

    .absenden {
        margin-top: 0.75rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;

        .cto {
            margin-top: 2rem;
        }
    }

    input[type=text],
    input[type=password] {
        background-color: #FFF;
        border: 1px solid var(--gray-350);
        width: 100%;
        height: 3rem;
        margin-bottom: 1rem;
        padding: 0 1rem;
        font-family: var(--font-fliesstext);
        font-weight: 300;
        font-size: 1rem;



    }

    select {
        background-color: #FFF;
        border: 1px solid var(--gray-350);
        width: 100%;
        height: 3rem;
        margin-bottom: 1rem;
        padding: 0 1rem 0 0.8rem;
        font-family: var(--font-fliesstext);
        font-weight: 300;
        font-size: 1rem;
    }

    option[value=""][disabled] {
        display: none;
    }


    input[type=text].plz {
        width: 25%;
    }

    input[type=text].ort {
        width: calc(75% - 0.75rem);
        margin-left: 0.75rem;
    }

    textarea {
        background-color: #FFF;
        border: 1px solid var(--gray-350);
        width: 100%;
        height: 100%;
        padding: 1rem;
        font-family: var(--font-fliesstext);
        color: var(--main-dark);
        font-weight: 300;
    }

    .wrapper-pswd {
        position: relative;

        i.pswd,
        i.pswd.active {
            color: var(--main-dark);
            position: absolute;
            right: 0;
            top: 0rem;
            cursor: pointer;
            display: flex;
            height: 3rem;
            width: 3rem;
            justify-content: center;
            align-items: center;
            font-weight: 400;
        }
    }

    p.fehler-text {
        color: var(--action-red);
        font-weight: 500;
        width: 100%;
        padding: 0.5rem 1rem;
        margin-top: 1.5rem;
        margin-bottom: -0.5rem;
        border: 2px dashed var(--action-red);
        background-color: #FFF;
    }

    p.erfolg-text {
        color: var(--action-green);
        font-weight: 500;
        width: 100%;
        padding: 0.5rem 1rem;
        margin-top: 1.5rem;
        margin-bottom: -0.5rem;
        border: 2px dashed var(--action-green);
        background-color: #FFF;
    }

    input[type=text].fehler,
    input[type=password].fehler,
    select.fehler,
    textarea.fehler {
        border: 2px dashed var(--action-red);
    }
}

input[type=text].fehler,
textarea.fehler {
    border: 2px dashed var(--action-red);
}

.bg-main-light input[type=text],
.bg-main-light textarea {
    background-color: #FFF;
}

.dateiupload {
    border: 1px dashed var(--gray-350);
    width: 100%;
    height: 15rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: var(--gray-500);
    font-family: var(--font-fliesstext);
    font-weight: 300;
    font-size: 1rem;
    transition: all 0.2s;
    cursor: pointer;
    padding-bottom: 1.5rem;
    background-color: #FFF;

    i {
        font-size: 2.5rem;
        font-weight: 100;
        color: var(--gray-500);
        padding: 1.5rem;
    }

    i.progress {
        -webkit-animation: rotating 2s linear infinite;
        -moz-animation: rotating 2s linear infinite;
        -ms-animation: rotating 2s linear infinite;
        -o-animation: rotating 2s linear infinite;
        animation: rotating 2s linear infinite;
    }

    span {
        text-align: center;
        line-height: 1.5;
        padding-top: 1.5rem;
        font-size: calc(100% - 0.3rem);
        text-transform: uppercase;
        letter-spacing: 0.05rem;
    }

    .progress_wrapper {
        width: 80%;
        height: 0.5rem;
        background-color: var(--main-light);
        border-radius: 1rem;
        margin-top: 1.5rem;
        overflow: hidden;

        .progress {
            background-color: var(--action-red);
            height: 100%;
            border-radius: 1rem;
        }
    }
}

.dateiupload:hover,
.dateiupload.drag {
    background-color: var(--main-light);
    color: #FFF;

    i {
        color: #FFF;
        font-weight: 900;
    }
}

@media only screen and (max-device-width: 480px) {
    .kontaktformular_wrapper {
        grid-template-areas: "a" "b";
        grid-template-columns: 100%;
        grid-row-gap: 1rem;

        .anrede,
        .absenden {
            grid-column: 1 / span 1;
            margin: 0;
        }

        textarea {
            min-height: 10rem;
        }
    }
}

/*
  ======================================================================
  CTO
  ======================================================================
  */
a.cto,
button.cto {
    border: 1px solid var(--main-cta);
    color: #FFF;
    padding: 0.4rem 0.6rem 0.4rem 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    font-size: calc(var(--font-size) - 0.2rem);
    display: inline-block;
    margin-top: 0.5rem;
    transition: all 0.2s;
    font-family: var(--font-fliesstext);
    background-color: transparent;
    background-color: var(--main-cta);
    cursor: pointer;
}

a.cto:after,
button.cto:after {
    content: "→";
    font-weight: 300;
    padding-left: 0.5rem;
}

a.cto.secondary,
button.cto.secondary {
    padding: 0.2rem 0.8rem;
    font-size: calc(var(--font-size) - 0.3rem);
    margin-top: 0;
    background-color: #FFF;
    color: var(--main-cta);
    font-weight: 500;
    transition: all 0.2s;
}

a.cto.tertiary,
button.cto.tertiary {
    padding: 0.4rem 0.7rem 0.35rem 0.7rem;
    font-size: 0.8rem;
    margin-top: 0;
    color: #FFF;
    border-color: var(--main-dark);
    background-color: var(--main-dark);
    text-transform: none;
    letter-spacing: 0;
    transition: all 0.2s;
}

a.cto.quaternary,
button.cto.quaternary {
    padding: 0.4rem 0.7rem 0.35rem 0.7rem;
    font-size: 0.8rem;
    margin-top: 0;
    color: var(--main-light);
    border-color: var(--main-light);
    background-color: #FFF;
    text-transform: none;
    letter-spacing: 0;
    transition: all 0.2s;
}

a.cto:hover,
button.cto:hover {
    background-color: transparent;
    color: var(--main-cta);
    border: 1px solid var(--main-cta);
    transition: all 0.2s;
}

a.cto.secondary:hover,
button.secondary.cto:hover {
    color: #FFF;
    background-color: var(--main-cta);
    border: 1px solid var(--main-cta);
    transition: all 0.2s;
}

a.cto.tertiary:hover,
button.cto.tertiary:hover {
    color: var(--main-light);
    border-color: var(--main-light);
    background-color: #FFF;
    transition: all 0.2s;
}

a.cto.quaternary:hover,
button.cto.quaternary:hover {
    color: var(--main-cta);
    border-color: var(--main-cta);
    background-color: #FFF;
    transition: all 0.2s;
}

/*
  ======================================================================
  Grids
  ======================================================================
  */
.grid-20-80 {
    display: grid;
    grid-template-columns: 20% 1fr;
    grid-gap: 2.5rem;
    align-items: flex-start;
}

.grid-30-70 {
    display: grid;
    grid-template-columns: 30% 1fr;
    grid-gap: 2.5rem;
    align-items: flex-start;
}

.grid-40-60 {
    display: grid;
    grid-template-columns: 40% 1fr;
    grid-gap: 2.5rem;
    align-items: flex-start;
}

.grid-40-60.hero {

    grid-gap: 4rem;


}

.grid-50-50 {
    display: grid;
    grid-template-columns: 50% 1fr;
    grid-gap: 2.5rem;
    align-items: flex-start;
}

.grid-60-40 {
    display: grid;
    grid-template-columns: 60% 1fr;
    grid-gap: 2.5rem;
    align-items: flex-start;
}



.grid-70-30 {
    display: grid;
    grid-template-columns: 1fr 30%;
    grid-gap: 2.5rem;
    align-items: flex-start;
}

.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 3rem;
    grid-row-gap: 2rem;
}

.grid-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 2.5rem;
}

.grid-4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 2.5rem;
}

.grid-5 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 2.5rem;
}

.grid-6 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 2.5rem;
}

.grid-center {
    align-items: center;
}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {

    .grid-20-80,
    .grid-30-70,
    .grid-70-30,
    .grid-40-60,
    .grid-2,
    .grid-3,
    .grid-4,
    .grid-5,
    .grid-6 {
        grid-template-columns: 1fr;
    }


    .grid-no-mobile-row-gap {
        grid-row-gap: 0;
    }

}

.contentbox_text {
    background-color: #FFF;
    padding: 2rem 2rem 1rem 2rem;
    position: relative;
    box-shadow: 0 2px 6px 0 rgba(67, 89, 113, 0.1);

    i {
        font-size: calc(var(--font-size) + 1rem);
        color: var(--main-light);
        font-weight: 300;
        display: flex;
        align-items: center;
        height: 5rem;
        margin-top: -1.5rem;
    }

    h3 {
        padding-bottom: 1rem;
    }

    p {
        font-size: calc(var(--font-size) - 0.05rem);
    }
}

.contentbox_text.transluzent {
    background-color: rgba(255, 255, 255, 0.95);
}

h3 {
    color: var(--main-medium);
    padding-bottom: 0.5rem;
    font-weight: 600 !important;
}

p.slogan {
    text-align: center !important;
    text-transform: uppercase;
    letter-spacing: 0.2rem !important;
    color: var(--main-dark);
    font-size: calc(var(--font-size) + 0.6rem);
    margin-top: 4rem;
    margin-bottom: 1.5rem !important;
    line-height: 1 !important;
    font-weight: 500 !important;

    strong {
        font-weight: 800 !important;
    }
}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {
    p.slogan {
        line-height: 1.3 !important;
    }
}

.contentbox_text:hover {
    box-shadow: 0 2px 6px 0 rgba(67, 89, 113, 0.3);
    transition: all 0.2s;
}

.contentbox_text-world {
    background-color: var(--main-dark);
    padding: 3rem 3rem 2rem 24%;
    background-image: url(../images/bg-weltkugel.svg);
    background-repeat: no-repeat;
    background-size: 25%;
    background-position: -8% 30%;

    h2,
    h3 {
        color: #FFF;
    }

    p {
        color: #FFF;
        font-weight: 400 !important;
        font-size: calc(var(--font-size) - 0.05rem);
    }

    a {
        color: #FFF !important;
        border-bottom: 2px solid var(--main-cta);
    }

    a:hover {
        background-color: var(--main-cta);
        border: none !important;
        border-bottom: 2px solid transparent;
    }

}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {
    .contentbox_text-world {
        background-color: var(--main-dark);
        padding-top: 2.5rem;
        padding-bottom: 1.5rem;
        padding-left: 0;
        padding-right: 0;
        background-image: none;
    }
}

.contentbox_text-blau {
    background-color: var(--main-light);
    padding: 2rem;

    h2 strong {
        color: #FFF;
    }

    >p {
        color: #FFF;
    }

    p {
        font-size: calc(var(--font-size) - 0.05rem);
    }

    a {
        color: #FFF !important;
        border-bottom: 1px dashed #FFF;
    }

    a:hover {
        color: #FFF;
        border-bottom: 1px solid #FFF !important;
    }
}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {
    .contentbox_text-blau {
        padding: 5vw;
        width: calc(100% + 10vw);
        margin-left: -5vw;

        h2 {
            margin-top: 1.5rem;
        }
    }
}

.contentbox_hero_audioplayer {

    padding: 1rem;
    display: flex;
    grid-template-columns: auto 1fr;
    column-gap: 1rem;
    background-color: var(--gray-100);
    cursor: pointer;


    div {
        display: flex;
        justify-content: center;
        align-items: center;

    }

    audio {
        margin-top: 1rem;
    }

    i {
        display: block;
        font-weight: 900;
        font-size: calc(var(--font-size) + 1rem);
        cursor: pointer;
        color: var(--main-dark);
        transition: all 0.2s;
    }

    i:hover {
        color: var(--main-light);
    }

    p.inhalt {
        margin: 0;
        padding: 0;
        font-size: calc(var(--font-size) - 0rem) !important;
        color: var(--main-light);
        font-weight: 600;
    }


}



.contentbox_hero_audioplayer.playing {
    background-color: var(--gray-100);
    border-radius: 8px;
    box-shadow: 0 0 0 2px #ccc;
    transition: all 0.2s ease;
}


.contentbox_hero_audioplayer.xmas {
    background-image: url(/images/bg-schnee-animiert.gif);
    background-color: #235E6F !important;




    i {
        color: #FFF;

    }

    i:hover {
        color: #34A65F;
    }

    figure,
    figure span,
    figure p {
        color: #FFF !important;
        background-color: #235E6F !important;

    }



    p.headline {
        color: #FFF;
        background-color: #235E6F;

    }

    p.inhalt {
        color: #FFF;
        background-color: #235E6F;

    }



}

/*
  ======================================================================
  Mein Konto
  ======================================================================
  */
.section-mein-konto {
    position: sticky;
    top: 5.8rem;
    background-color: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(2px);
    z-index: 3;
}

.grid_mein-konto {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 1rem;
    background-color: rgba(227, 241, 247, 0.8);
    padding: 0.75rem;
    border-radius: 1000rem;

}

.contentbox_text.mein-konto {
    /* aspect-ratio: 1 / 1; */
    box-shadow: none;
    padding: 0;
    border-radius: 1000rem;

    a {
        font-size: calc(var(--font-size) - 0.05rem);
        font-weight: 600;
        color: var(--main-light);
        background-color: #FFF;
        display: block;
        height: 100%;
        width: 100%;
        padding: 0.3rem 0.3rem;
        border-radius: 1000rem;
        text-align: center;

        span:after {
            content: '\A';
            white-space: pre;
        }
    }
}

.contentbox_text.mein-konto:hover,
.contentbox_text.mein-konto.active {
    a {
        background-color: var(--main-light);
        color: #FFF;
        border: none;
    }
}

.tabelle_meine-ansagen {
    display: grid;
    grid-template-columns: auto 1fr;
    margin-top: 2rem;

    .datum {
        font-weight: 600;
    }

    .inhalt {
        border-bottom: 1px dashed;
        padding-bottom: 1.5rem;
        margin-bottom: 1.5rem;
        margin-left: 2rem;
        padding-right: 1rem;
    }

    .inhalt:last-child {
        border-bottom: none;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
        margin-left: 2rem;
        padding-right: 1rem;
    }
}

/*///// Responsive /////*/
@media only screen and (max-device-width: 480px) {
    .section-mein-konto {
        position: relative;
        top: 0;
        margin-bottom: -2rem;
    }

    .grid_mein-konto {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 0.5rem;
        padding: 1.5rem;
        border-radius: 0;
    }

    .contentbox_text.mein-konto {
        aspect-ratio: auto;

        a {
            font-size: calc(var(--font-size) - 0.1rem);
            font-weight: 500;
            color: var(--main-light);
            padding: 0.5rem 1rem;
            line-height: 1;
        }
    }

    span:after {
        display: none;
    }

    .tabelle_meine-ansagen {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 2rem;

        .datum {
            margin-bottom: 0.5rem;
        }

        .inhalt,
        .inhalt:last-child {
            margin-left: 0;
        }
    }
}

/*
  ======================================================================
  Mein Konto Dashboard
  ======================================================================
  */
.wrapper__mein-konto--dashboard {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 1rem;

    .inhalt1-5 .rahmen {
        background-color: #FFF;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 100%;
    }

    .inhalt1-5 .rahmen img {
        padding: 1rem 2rem 1rem 2rem;
    }

    .inhalt1-5 .rahmen img+span.headline {
        font-weight: 600;
        text-align: center;
        color: var(--main-dark);
        padding: 0.25rem 0;
        font-weight: 400 !important;
        text-transform: none;
        letter-spacing: 0;
        background-color: var(--gray-100);
        width: 80%;

        strong {
            font-weight: 900 !important;
        }
    }

    .inhalt3.big {
        width: calc(100% + 1rem);
        margin-left: -1rem;
    }

    .inhalt1,
    .inhalt1-5,
    .inhalt2,
    .inhalt3,
    .inhalt4,
    .inhalt5,
    .inhalt6 {
        background-color: var(--bg-kontakt);
        padding: 1rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .inhalt1 {
        grid-column: span 2;
    }

    .inhalt1-5 {
        grid-column: span 3;
    }

    .inhalt2 {
        grid-column: span 4;
    }

    .inhalt3 {
        grid-column: span 6;

        span {
            font-size: 2.5rem;
            font-weight: 300;
            display: block;
            text-align: center;
            line-height: 1.3;
            color: var(--main-light);

            strong {
                font-weight: 900;
                color: var(--main-dark);
            }
        }
    }

    .inhalt4 {
        grid-column: span 8;
    }

    .inhalt5 {
        grid-column: span 10;
    }

    .inhalt6 {
        grid-column: span 12;
        flex-direction: row;

        p {
            line-height: 1.5;
            margin: 0;
            font-weight: 500;
            text-align: center;
        }
    }

    span.credits {
        font-size: 1.5rem;
        font-weight: 700;
        padding-top: 1.5rem;
    }

    span.headline {
        display: block;
        width: 100%;
        font-weight: 500;
        text-transform: uppercase;
        font-size: 0.9rem;
        letter-spacing: 0.05rem;
        padding: 0.35rem 1rem;
        background-color: #FFF;
        color: var(--main-dark);
    }

    .inhalt-credits {
        display: flex;
        justify-content: center;
        align-items: center;

        .wrapper-button {
            width: 100%;
            background-color: #00477e;
            display: flex;
            align-items: stretch;
            justify-content: stretch;

            a {
                display: block;
                width: 100%;
            }
        }
    }

    .inhalt-ansagen {
        background-color: var(--bg-kontakt);
        grid-column: span 8;
        padding: 1rem;

        ul.ansagen {
            margin: 0.5rem 1rem 0 1rem;

            li {
                padding: 1.7rem 0 1.5rem 0;
                display: grid;
                grid-template-columns: auto 1fr;
                grid-template-rows: auto auto;
                grid-template-areas: "a b"
                    ". d";
                grid-column-gap: 2rem;
                border-bottom: 1px dashed var(--main-light);
            }

            span.datum {
                font-weight: 500;
                grid-area: a;
            }

            span.text {
                grid-area: b;
                font-size: 0.95rem;
            }

            .wrapper-button {
                grid-area: d;
                margin: 1rem 0 0.5rem 0;
                height: 2rem;
                display: flex;
                align-items: stretch;

                button {
                    margin-right: 1rem;
                }
            }

            li:before {
                display: none;
            }

            li:last-child {
                border-bottom: none;
            }
        }

        button.tertiary {
            margin: 1rem;
        }
    }

    .inhalt-rechnungen {
        background-color: var(--bg-kontakt);
        grid-column: span 4;
        padding: 1rem;

        ul {
            margin: 0.5rem 1rem 0 1rem;

            li {
                padding: 1rem 0;
                display: grid;
                grid-template-columns: auto 1fr auto;
                grid-template-areas: "a" "b" "c";
                grid-column-gap: 1rem;
                border-bottom: 1px dashed var(--main-light);
            }

            li:before {
                display: none;
            }

            li:last-child {
                border-bottom: none;
            }

            span:first-child {
                font-weight: 500;
            }
        }

        button {
            margin: 1rem;
        }
    }

    a i:before {
        color: var(--main-cta);
        font-weight: 900;
    }

    a i:hover:before {
        font-weight: 300;
    }
}

/*///// Responsive /////*/
/* Responsive */
@media only screen and (max-device-width: 480px) {
    .wrapper__mein-konto--dashboard {
        width: 100%;
        grid-template-columns: 1fr;

        .inhalt1,
        .inhalt1-5,
        .inhalt2,
        .inhalt3,
        .inhalt4,
        .inhalt5,
        .inhalt6,
        .inhalt-ansagen,
        .inhalt-rechnungen,
        .inhalt-credits {
            grid-column: span 1;
        }

        .inhalt1-5 .rahmen {
            padding: 1rem;

            img {
                padding: 1rem 2rem 1rem 2rem;
                width: 90%;
            }
        }

        .inhalt3.big {
            width: 100%;
            margin-left: 0;

            span {
                font-size: 2rem;
            }
        }

        .inhalt-ansagen {
            ul.ansagen {
                span.datum {
                    padding: 1rem 0 1.5rem 0;
                }

                li {
                    grid-template-areas: "a" "b"
                        "." "d";
                }
            }
        }
    }
}

.contentbox_text.preis {
    border-top: 6px solid var(--action-cyan) !important;
    border-left: 1px solid var(--gray-300) !important;
    border-right: 1px solid var(--gray-300) !important;
    border-bottom: 1px solid var(--gray-300) !important;
    transition: all 0.2s;

    a.cto {
        margin-top: 1rem;
        margin-right: -0.5rem;
        margin-bottom: 0.5rem;
        width: 100%;
        font-weight: 500 !important;
        color: #FFF;
        background-color: var(--main-light);
        border: 1px solid var(--main-light);
    }

    a.cto:hover {
        color: var(--main-light);
        background-color: #FFF;
        border: 1px solid var(--main-light);
    }

    p.preisangabe-headline {
        font-size: calc(var(--font-size) + 0.5rem);
        font-weight: 700;
        color: var(--main-dark);
        margin-top: 0.5rem;
    }


            p.preisangabe-headline+ul li:first-of-type {

        font-weight: 600;
    }



    .rabatt+p.preisangabe-headline {
        margin-top: 1.5rem;
    }



    p.preisangabe-contentbox {
        font-size: calc(var(--font-size) + 1rem);
        font-weight: 700;
        color: var(--main-dark);
        margin-top: 3rem;
        margin-right: 0;
        padding-right: 0;
        margin-bottom: 0;
        line-height: 0.8;

        em.disclaimer {
            font-size: calc(var(--font-size) - 0.2rem);
            font-weight: 400;
            display: block;
            width: 100%;
            margin-bottom: 0.25rem;
            opacity: 0.5;
            font-style: normal;
        }

        em.preis-neu {
            font-style: normal;
            display: block;
            font-style: normal;
            color: var(--action-purple);
            margin-top: 1rem;
            opacity: 1;
            font-weight: 800;
        }


        em.preis {
            font-style: normal;
            display: flex;
            position: relative;
            margin-top: 0.35rem;
            height: 3rem;
            align-items: center;
            opacity: 1;
        }



        em.preis-neu+em.preis {
            font-weight: 500;

        }

        em.preis-neu+em.preis:before {
            content: "";
            display: block;

            width: 8rem;
            height: 5rem;
            top: -0.25rem;
            left: 0;
            position: absolute;


            background-image: url(/images/streichpreis.svg);
            background-size: contain;
            background-repeat: no-repeat;
            transform: rotate(10deg);
            opacity: 0.7;

        }

        b {
            display: block;
            margin-bottom: 1rem;
        }



        span {
            color: var(--main-light);
            font-size: calc(var(--font-size) + 0.05rem);
            font-weight: 400;
            display: block;
            margin-top: 0.25rem;

            strong {
                font-weight: 600;
            }
        }

        span::before {
            content: '\A';
            white-space: pre;
        }
    }

    .rabatt {
        color: var(--gray-700);
        font-weight: 400;
        background-color: var(--gray-100);
        text-align: center;
        position: absolute;
        top: 0;
        right: 1.5rem;
        padding: 1.5rem 0.5rem 0.7rem 0.5rem;
        line-height: 1.2;
        font-size: calc(var(--font-size) - 0.1rem);
        border-bottom-left-radius: 0.5rem;
        border-bottom-right-radius: 0.5rem;
    }

    p {
        font-size: var(--font-size);
        line-height: 1.5;
    }

    li:before {
        color: var(--main-light);
        font-weight: 300;
    }

    li strong {
        font-weight: 700;
        color: var(--main-light);
    }
}

.contentbox_text.preis.highlight {
    border-top: 6px solid var(--action-cyan) !important;

    .rabatt {
        color: #FFF;
        background-color: var(--action-cyan);
    }
}

.contentbox_text.preis.unlimited {
    border-top: 0px !important;

    a {
        width: auto;
    }
}

.contentbox_text.preis .unlimited {
    height: 6px;
    width: 100%;
    background-color: var(--action-purple);
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
}

.contentbox_text.preis .unlimited:before {
    content: "";
    position: absolute;
    width: 200%;
    aspect-ratio: 1;
    top: 0%;
    left: 50%;
    z-index: 1;
    translate: -50% -15%;
    rotate: 0;
    transform: rotate(-90deg);
    opacity: 1;
    background: conic-gradient(from 0deg, transparent 0 340deg, white 360deg);
    transition: opacity 0.25s;
    animation: rotate 3s linear infinite both;
    animation-delay: 1.5s;
}

.contentbox_text.double {
    grid-column: span 2;
}

@media only screen and (max-device-width: 480px) {
    .contentbox_text.double {
        grid-column: span 1;
    }
}

/*
  ======================================================================
  Animationen
  ======================================================================
  */
@keyframes rotate {

    /* Glow */
    25% {
        transform: rotate(90deg);
    }

    100% {
        transform: rotate(90deg);
    }
}

/*
  ======================================================================
  Schriften
  ======================================================================
  */
@font-face {
    font-family: "FontAwesome";
    font-display: swap;
    font-style: normal;
    font-weight: 100;
    src: url("fonts/fontawesome/fa-thin-100.woff2") format("woff2"), url("fonts/fontawesome/fa-thin-100.ttf") format("truetype");
}

@font-face {
    font-family: "FontAwesome";
    font-display: swap;
    font-style: normal;
    font-weight: 300;
    src: url("fonts/fontawesome/fa-light-300.woff2") format("woff2"), url("fonts/fontawesome/fa-light-300.ttf") format("truetype");
}

@font-face {
    font-family: "FontAwesome";
    font-display: swap;
    font-style: normal;
    font-weight: 400;
    src: url("fonts/fontawesome/fa-regular-400.woff2") format("woff2"), url("fonts/fontawesome/fa-regular-400.ttf") format("truetype");
}

@font-face {
    font-family: "FontAwesome";
    font-display: swap;
    font-style: normal;
    font-weight: 900;
    src: url("fonts/fontawesome/fa-solid-900.woff2") format("woff2"), url("fonts/fontawesome/fa-solid-900.ttf") format("truetype");
}

@font-face {
    font-family: "Inter";
    font-display: swap;
    font-style: normal;
    font-weight: 100;
    src: url("fonts/inter/inter-thin.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-display: swap;
    font-style: normal;
    font-weight: 200;
    src: url("fonts/inter/inter-extralight.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-display: swap;
    font-style: normal;
    font-weight: 300;
    src: url("fonts/inter/inter-light.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-display: swap;
    font-style: normal;
    font-weight: 400;
    src: url("fonts/inter/inter-regular.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-display: swap;
    font-style: normal;
    font-weight: 500;
    src: url("fonts/inter/inter-medium.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-display: swap;
    font-style: normal;
    font-weight: 600;
    src: url("fonts/inter/inter-semibold.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-display: swap;
    font-style: normal;
    font-weight: 700;
    src: url("fonts/inter/inter-bold.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-display: swap;
    font-style: normal;
    font-weight: 800;
    src: url("fonts/inter/inter-extrabold.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-display: swap;
    font-style: normal;
    font-weight: 900;
    src: url("fonts/inter/inter-black.woff2") format("woff2");
}

/*
  ======================================================================
    Josh's Custom CSS Reset
    https://www.joshwcomeau.com/css/custom-css-reset/
  ======================================================================
  */
*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
}

body {
    /* line-height: 1.5; */
    line-height: calc(1em + 0.5rem);
    -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

input,
button,
textarea,
select {
    font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}

a {
    text-decoration: none;
}

/* * {
    word-wrap:break-word;
  }
  */
#root,
#__next {
    isolation: isolate;
}

ol,
ul {
    list-style: none;
}