@font-face {
    font-family: 'Mono';
    src: url('https://cdn.stepd.de/fonts/fragmentmono.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBrand';
    src: url('https://cdn.stepd.de/fonts/ibrand.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Material Symbols Rounded';
    font-style: normal;
    font-weight: 400;
    src: url('https://cdn.stepd.de/icons/MaterialSymbolsRounded.woff2') format('woff2');
    font-display: swap;
}

.material-symbols-rounded{
    font-family: 'Material Symbols Rounded', sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}


.highlight-wrapper {
    position: relative;
    display: inline-block;
    line-height: 1;
    white-space: nowrap;
}

.highlight-text {
    position: relative;
    z-index: 1;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
}

.underline-svg {
    position: absolute;
    bottom: 0; /* genau am unteren Rand */
    left: -10%;
    width: 120%;
    height: 0.2em; /* passt die Strichdicke */
    z-index: 0;
    pointer-events: none;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Mono', sans-serif;
}

:root {

    --dark-grey: #2d2d2d;
    --mid-grey: #4d4d4d;
    --light-grey: #6d6d6d;

    --inactive-grey-light: #c5c5c5;
    --inactive-grey: #aeaeae;

    --white: #FFFFFF;
    --light-white: #fdfdfd;
    --mid-white: #F8F8F8;
    --dark-white: #EEEEEE;

    --highlight-color: #FF6600;
    --highlight-color-two: #5E00FF;
    --highlight-color-on-white: #FF6600;
    --highlight-color-alpha: rgba(255, 102, 0, 0.3);
    --alpha-bg-color: #fff1e9;
    
    --bg-white: #fafafa;
}

.highlight-color-text{
    color: var(--highlight-color);
}

.highlight-color-two-text{
    color: var(--highlight-color-two);
}

.green-text{
    color: #baff0a;
}

.blue-text{
    color: #0a91ff;
}

.red-text{
    color: #ff0a0a;
}

html {
    font-size: 13px;
    min-height: 100%;
    min-width: 100%;
}

.wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background-color: var(--white);
}


main {
    display: block;
    width: 100%;
    min-height: 100%;
}

.right-side{
    display: flex;
    justify-content: flex-end;
}

.highlight{
    color: var(--highlight-color)
}

.transition{
    background-color: var(--white);
    width: 100%;
    height: 0.5em;
    margin-bottom: 5em;
}

.separator-line{
    height: 1px;
    width: 100%;
    background-color: var(--light-grey);
    margin-bottom: 10em;
}

.line-white{
    background: linear-gradient(to right, var(--dark-grey) 0%, var(--white) 50%, var(--dark-grey) 100%);
    height: 0.2em;
    margin: 0;
    margin-top: 2em;
    margin-bottom: 2em;
    align-self: center;
    justify-self: center;
    width: 0%;
}

.highlight-line{
    width: 100%;
    background: linear-gradient(to right, var(--dark-grey) 0%, var(--light-grey) 50%, var(--dark-grey) 100%);
    height: 1px;
}

.line-white-animation{
    animation: line-white-animation-keyframes 0.5s forwards;
}

@keyframes line-white-animation-keyframes {
    0% {
        width: 0%;
    }
    100% {
        width: 60%;
    }
}

.grey-to-highlight-animation{
    animation: grey-to-highlight-animation-keyframes 2.0s forwards;
}

@keyframes grey-to-highlight-animation-keyframes {
    0% {
        color: var(--light-grey)
    }
    50% {
        color: var(--highlight-color)
    }
    100% {
        color: var(--dark-white)
    }
}

.observer-1{
    position: relative;
    width: 2em;
    height: 2em;
    background-color: white;
    top: 80%;
}

.inline-image {
    width: 4.5em; /* Passt die Bildgröße an den Text an */
    height: auto; /* Beibehaltung des Seitenverhältnisses */
    vertical-align: middle; /* Positioniert das Bild auf der gleichen Höhe wie der Text */
    margin: 0 0.2em; /* Fügt links und rechts einen kleinen Abstand ein */
}

.steps-logo-mid-container {
    display: flex;
    flex-direction: column;
    margin-top: 10em;
    width: 100%;
    height: fit-content; /* Beibehaltung des Seitenverhältnisses */
    text-align: center;
    align-items: center;
    align-content: center;
    justify-content: center;
    justify-items: center;
    margin-bottom: -5em;
}

.steps-logo-mid {
    width: 30em;
    height: auto; /* Beibehaltung des Seitenverhältnisses */
}

.black{
    color: var(--dark-grey);
}

.error-text{
    color: #ff0000;
    font-size: 1em;
    font-family: 'Open Sans', sans-serif;
    display: none;
}

.main-padding{
    padding-left: 45em;
    padding-right: 45em;
}

.highlight{
    color: var(--highlight-color);
}

.modal-img {
    width: 100%;
    height: 100%;
}

.modal-alpha {
    display: block;
    background-color: #ffffff00 !important;
    border-color: #ffffff00 !important;
    padding-top: 5em;
    height: fit-content;
}

.site-header-icon-buttons-static {
    position: relative;
    display: flex;
    flex-direction: row;
    margin-left: auto;
}

.modal-close-icon-btn {
    position: relative;
    font-size: 2.3em;
    cursor: pointer;
    color: var(--dark-grey);
    justify-self: center;
    align-self: center;
    margin-left: 0.5em;
    margin-right: 0.2em;
}

.modal-close-icon-btn i {
    align-self: center;
}

.modal-close-icon-btn:hover {
    color: var(--highlight-color);
}

.site-header-box{
    width: 100%;
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    text-align: center;
    background-color: var(--white);
    border-radius: 1em;
    padding: 0.2em;
    height: fit-content;
    margin-bottom: 1em;
}

.site-header-text-main {
    font-size: 1.8em;
    margin-left: 0.5em;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
    margin-top: 0.5em;
}

.site-header-text {
    font-size: 1.8em;
    color: var(--highlight-color);
    margin-left: 0.5em;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
    margin-top: 0.5em;
}

.modal-box {
    background-color: white;
    border-radius: 2em;
    overflow: hidden;
    width: 100%;
}

.modal-box .modal-header-container{
    width: 100%;
    text-align: center;
    align-items: center;
    align-content: center;
    justify-content: center;
    justify-items: center;
    padding: 3em;
}

.main-modal {
    position: relative;
    border-radius: 1em;
    background-color: var(--mid-white);
    padding: 1em;
}

.main-modal-content {
    border-radius: 1em;
    background-color: var(--white);
    padding: 1.0em;
}

.input-header-text {
    text-decoration: none;
    font-size: 1.1em;
    color: var(--light-grey);
    font-weight: 500;
    cursor: default;
}

.input-header-text span {
    text-decoration: none;
    font-size: 0.8em;
    color: var(--inactive-grey);
    font-weight: 500;
    cursor: default;
    margin-left: 0.25em;
}

.modal-box .modal-header-container h2{
    color: var(--highlight-color);
    font-size: 3em;
}

.modal-box .modal-content-container{
    width: 100%;
    padding: 3em;
}

.modal-box .modal-content-container h3{
    color: var(--dark-grey);
    font-size: 1.5em;
}

.modal-box .modal-content-container input{
    width: 100%;
    border-radius: 0.5em;
    background-color: var(--white);
    border: solid 0.1em var(--inactive-grey);
    font-size: 1.5em;
    font-family: 'Open Sans', sans-serif;
    padding-left: 1em;
    padding-right: 1em;
    height: 2.5em;
}

.modal-box .modal-button-container{
    display: inline-flex;
    width: 100%;
    justify-content: flex-end;
    padding: 3em;
}

.modal-box .modal-button-container .send-btn{
    background-color: var(--highlight-color);
    width: fit-content;
    padding: 0.5em 1em;
    border-radius: 1em;
    color: var(--white);
    border: 0;
    font-size: 1.3em;
    margin-left: 1.0em;
}

.modal-box .modal-button-container .close-btn{
    background-color: var(--dark-grey);
    width: fit-content;
    padding: 0.5em 1em;
    border-radius: 1em;
    color: var(--white);
    border: 0;
    font-size: 1.3em;
}

.modal-box .info{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--white);
    z-index: 1;
    border-radius: 2em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 100%;
}

.modal-box .info h3{
    position: relative;
    font-size: 4.0em;
    color: var(--highlight-color);
}

.modal-box .info p{
    position: relative;
    font-size: 2.0em;
    color: var(--dark-grey);
    margin-top: 1em;
}

.modal-box .modal-content-container .acceptCheckbox{
    margin-top: 2em;
    width: 100%;
    display: flex;
    height: 5em;
    padding: 2em;
}

.modal-box .modal-content-container .acceptCheckbox .acceptCheckbox-text{
    display: inline-block;
    font-size: 1.2em;
    color: var(--dark-grey);
}

.modal-box .modal-content-container .acceptCheckbox .acceptCheckbox-input{
    display: inline-block;
    width: 3em;
    height: 3em;
}

.modal-box .loading{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--white);
    z-index: 1;
    border-radius: 2em;
}

.modal-box .loading h3{
    position: absolute;
    left: 50%;
    top: 25%;
    transform: translate(-50%, -50%);
    font-size: 4.0em;
    color: var(--highlight-color);
    white-space: nowrap;
}

.modal-box .loading img{
    position: absolute;
    left: 50%;
    top: 70%;
    transform: translate(-50%, -50%);
    width: 10em;
    height: 10em;
}

.loading-img-mid-animation{
    animation: loading-img-mid-animation-keyframe 2s infinite linear;
    will-change: transform;
}

.loading-img-left-animation{
    opacity: 0;
    animation: loading-img-left-animation-keyframe 2s infinite linear;
}

.loading-img-right-animation{
    opacity: 0;
    animation: loading-img-right-animation-keyframe 2s infinite linear;
}

@keyframes loading-img-mid-animation-keyframe{
    0% {
        transform: translate(-50%, -50%) scaleY(1.0);
        top:70%;
    }
    10% {
        transform: translate(-50%, -25%) scaleY(0.5);
        top:70%;
    }
    30% {
        transform: translate(-50%, -25%) scaleY(0.5);
        top:70%;
    }
    50% {
        transform: translate(-50%, -50%) scaleY(1.0);
        top:50%;
    }
    55% {
        transform: translate(-50%, -50%) scaleY(1.0);
        top:50%;
    }
    80% {
        transform: translate(-50%, -25%) scaleY(0.5);
        top:70%;
    }
    85% {
        transform: translate(-50%, -50%) scaleY(1.0);
        top:70%;
    }
    100% {
        transform: translate(-50%, -50%) scaleY(1.0);
        top:70%;
    }
}

@keyframes loading-img-left-animation-keyframe{
    85% {
        opacity: 0;
        left: 50%;
        top:70%;
        width: 10em;
        height: 10em;
    }
    90% {
        opacity: 1;
        left: 20%;
        top:70%;
        width: 3em;
        height: 3em;
    }
    100% {
        opacity: 0;
        left: 50%;
        top:70%;
        width: 10em;
        height: 10em;
    }
}

@keyframes loading-img-right-animation-keyframe{
    85% {
        opacity: 0;
        left: 50%;
        top:70%;
        width: 10em;
        height: 10em;
    }
    90% {
        opacity: 1;
        left: 80%;
        top:70%;
        width: 3em;
        height: 3em;
    }
    100% {
        opacity: 0;
        left: 50%;
        top:70%;
        width: 10em;
        height: 10em;
    }
}

@keyframes opacity-animation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.loading{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    border-radius: 2em;
}

.loading h3{
    position: absolute;
    left: 50%;
    top: 35%;
    transform: translate(-50%, -50%);
    font-size: 3.0em;
    color: var(--dark-grey);
    white-space: nowrap;
}

.loading img{
    position: absolute;
    left: 50%;
    top: 70%;
    transform: translate(-50%, -50%);
    width: 10em;
    height: 10em;
}

.blink-black-highlight-animation{
    animation: blink-black-highlight-keyframe 0.5s forwards;
}


@keyframes blink-black-highlight-keyframe{
    0% {
        color: var(--dark-grey);
    }
    25% {
        color: var(--highlight-color);
    }
    50% {
        color: var(--dark-grey)
    }
    75% {
        color: var(--highlight-color);
    }
    100% {
        color: var(--dark-grey)
    }
}

.free-text{
    font-size: 1.0em;
    margin-top: 1.0em;
    color: var(--inactive-grey)
}

.register-button{
    background-color: var(--highlight-color);
    width: fit-content;
    padding: 0.5em 1em;
    border-radius: 1em;
    color: var(--white);
    margin: auto;
    border: 0;
    font-size: 1.1em;
    text-decoration: none;
    z-index: 90;
}

.register-button:hover{
    background-color: var(--mid-grey);
    color: var(--white);
    cursor: pointer;
}

.award-container{
    display: flex;
    width: 100%;
    height: fit-content;
    justify-content: center;
    align-items: center;
    gap: 0;
    position: relative;
}

.award-container .award{
    height: 15em;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}


.center{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.spacing{
    width: 100%;
    height: 15em;
}

.min-spacing{
    width: 100%;
    height: 7.5em;
}

.in-line{
    display: flex;
    align-items: center; /* Zentriert Text und Bild vertikal */
}

.in-line img{
    width: 7em;
    margin-left: 1em;
    margin-right: 1em;
}

.bg-white-container{
    position: relative;
    background-color: var(--bg-white);
    padding: 2em;
    border-radius: 5em;
    border: 1px solid var(--inactive-grey-light);
    overflow: hidden;
}

.bg-black-container-border{
    position: relative;
    background-color: var(--dark-grey);
    padding: 2em;
    border-radius: 5em;
}

.bg-black-container{
    position: relative;
    background-color: var(--dark-grey);
    width: 100%;
}

.highlight-bg{
    background-color: #2d2d2d;
    background-image:
            radial-gradient(at 0% 100%, var(--highlight-color), transparent 20%),
            radial-gradient(at 100% 100%, var(--highlight-color), transparent 20%);
}

/*-------------------------------------------------------------------------------------*/

.home-container{
    height: 150em;
    width: 100%;
    position: relative;
}

.home-container-animation{
    position: absolute;
    display: flex;
    flex-direction: column;
    margin-top: 10em;
    text-align: center;
    height: fit-content;
    animation: margin-top-keyframes 2s forwards;
    width: 100%;
}

@keyframes margin-top-keyframes {
    0% {
    }
    100% {
        margin-top: 0em;
    }
}

.home-container-animation *:not(.animation-text):not(.list-input):not(.input-1):not(.input-2):not(.input-3):not(.input-4):not(.plus):not(.input-1-clone):not(.input-2-clone):not(.input-3-clone):not(.input-4-clone){
    animation: home-animation-all-keyframes 2s forwards;
}

@keyframes home-animation-all-keyframes {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.home-container h1{
    color: var(--dark-grey);
    font-size: 5em;
    margin: 0;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

.home-container h2{
    color: var(--light-grey);
    font-size: 1.5em;
    margin: 0;
    margin-top: 0.5em;
    white-space: pre-line;
}

.home-container .short-description{
    width: 50%;
    position: relative;
    justify-self: center;
    text-align: center;
    align-self: center;
    font-size: 1.2em;
    color: var(--inactive-grey)
}

.home-container h3{
    opacity: 0;
    color: var(--dark-grey);
    font-size: 1.2em;
    margin: 0;
    margin-top: 0.5em;
    white-space: pre-line;
    font-family: "IBrand", sans-serif;
}

.home-container .input-1
{
    position: absolute;
    top: 0;
    left: 8vw;
    width: 14em;
    rotate: -20deg;
    opacity: 1;
    cursor: pointer;
    z-index: 5;
}

.home-container .input-1-clone
{
    position: absolute;
    top: 0;
    left: 8vw;
    width: 14em;
    rotate: -20deg;
    opacity: 0.2;
}

.home-container .input-2
{
    position: absolute;
    top: 0;
    right: 8vw;
    width: 14em;
    rotate: 20deg;
    opacity: 1;
    cursor: pointer;
    z-index: 5;
}

.home-container .input-2-clone
{
    position: absolute;
    top: 0;
    right: 8vw;
    width: 14em;
    rotate: 20deg;
    opacity: 0.2;
}

.home-container .input-3
{
    position: absolute;
    top: 33em;
    left: 20vw;
    width: 14em;
    rotate: -10deg;
    cursor: pointer;
    z-index: 5;
}

.home-container .input-3-clone
{
    position: absolute;
    top: 33em;
    left: 20vw;
    width: 14em;
    rotate: -10deg;
    opacity: 0.2;
}

.home-container .input-4
{
    position: absolute;
    top: 33em;
    right: 20vw;
    width: 14em;
    rotate: 10deg;
    cursor: pointer;
    z-index: 5;
}

.home-container .input-4-clone
{
    position: absolute;
    top: 33em;
    right: 20vw;
    width: 14em;
    rotate: 10deg;
    opacity: 0.2;
}

.home-container-input-animation-left-1{
    animation: home-container-input-animation-left-1-keyframes 3s forwards;
}

.home-container-input-animation-left-2{
    animation: home-container-input-animation-left-2-keyframes 3s forwards;
}

.home-container-input-animation-right-1{
    animation: home-container-input-2-animation-right-1-keyframes 3s forwards;
}

.home-container-input-animation-right-2{
    animation: home-container-input-2-animation-right-2-keyframes 3s forwards;
}


@keyframes home-container-input-animation-left-1-keyframes {
    0% {
        opacity: 1;
    }
    30%{
        opacity: 1;
        top: 100em;
        left: 2vw;
        width: 14em;
    }
    70%{
        opacity: 1;
        top: 100em;
        left: 2vw;
        width: 14em;
    }
    90%{
        opacity: 1;
    }
    100% {
        opacity: 0;
        top: 82em;
        left: 62vw;
        width: 1em;
    }
}

@keyframes home-container-input-animation-left-2-keyframes {
    0% {
        opacity: 1;
    }
    30%{
        opacity: 1;
        top: 80em;
        left: 5vw;
        width: 14em;
    }
    70%{
        opacity: 1;
        top: 80em;
        left: 5vw;
        width: 14em;
    }
    90%{
        opacity: 1;
    }
    100% {
        opacity: 0;
        top: 82em;
        left: 62vw;
        width: 1em;
    }
}

@keyframes home-container-input-2-animation-right-1-keyframes {
    0% {
        opacity: 1;
    }
    30%{
        opacity: 1;
        top: 100em;
        right: 2vw;
        width: 14em;
    }
    70%{
        opacity: 1;
        top: 100em;
        right: 2vw;
        width: 14em;
    }
    90%{
        opacity: 1;
    }
    100% {
        opacity: 0;
        top: 82em;
        right: 37vw;
        width: 1em;
    }
}

@keyframes home-container-input-2-animation-right-2-keyframes {
    0% {
        opacity: 1;
    }
    30%{
        opacity: 1;
        top: 80em;
        right: 5vw;
        width: 14em;
    }
    70%{
        opacity: 1;
        top: 80em;
        right: 5vw;
        width: 14em;
    }
    90%{
        opacity: 1;
    }
    100% {
        opacity: 0;
        top: 82em;
        right: 37vw;
        width: 1em;
    }
}

.hover-in-animation{
    display: block !important;
    animation: hover-in-keyframe 0.5s forwards;
}

.hover-in-animation-delay-1{
    display: block !important;
    animation: hover-in-keyframe 0.5s forwards;
    animation-delay: 0.2s !important;
}

.hover-in-animation-delay-2{
    display: block !important;
    animation: hover-in-keyframe 0.5s forwards;
    animation-delay: 0.4s !important;
}

.hover-in-animation-delay-3{
    display: block !important;
    animation: hover-in-keyframe 0.5s forwards;
    animation-delay: 0.6s !important;
}

.hover-in-animation-delay-4{
    animation: hover-out-keyframe 0.5s forwards;
    animation-delay: 0.8s !important;
}

.hover-in-animation-delay-5{
    animation: hover-out-keyframe 1.0s forwards;
    animation-delay: 0.9s;
}

.hover-in-animation-delay-6{
    animation: hover-out-keyframe 1.0s forwards;
    animation-delay: 1.0s;
}

.hover-in-animation-delay-7{
    display: block !important;
    animation: hover-in-keyframe 1.0s forwards;
    animation-delay: 4s !important;
}

@keyframes hover-in-keyframe {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.hover-out-animation{
    animation: hover-out-keyframe 0.5s forwards;
}

@keyframes hover-out-keyframe {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.home-container .home-image-container{
    display: flex;
    position: absolute;
    background-color: var(--dark-grey);
    height: 20em;
    border-radius: 3em;
    z-index: 1;
    margin-top: 20em;
    left: 30em;
    right: 30em;
    top: 50em
}

.home-image-container-animation{
    animation: home-image-container-animation-keyframes 1.0s forwards !important;
}

@keyframes home-image-container-animation-keyframes {
    0% {
        height: 20em;
        margin-top: 20em;
        left: 30em;
        right: 30em;
    }
    100% {
        height: 10em;
        margin-top: 70em;
        left: 40em;
        right: 40em;
        
    }
}

.home-container .home-image-container .nele{
    height: 45em;
    width: auto;
    position: absolute;
    transform: translate(0%, 0%);
    bottom: 0;
    right: 10em;
    z-index: 1;
}

.nele-animation{
    animation: nele-animation-keyframes 1.0s forwards !important;
}


@keyframes nele-animation-keyframes {
    0% {
        height: 45em;
    }
    100% {
        height: 30em;
    }
}

.stepd-preview-container{
    width: 60em;
    height: fit-content;
    border-radius: 1em;
    overflow: hidden;
    position: absolute;
    left: 10em;
    bottom: 1em;
    border: 1px solid var(--mid-grey);
    box-shadow: 0 4px 8px rgba(20, 20, 20, 0.9), 0 6px 20px rgba(20, 20, 20, 0.8);
    z-index: 0;
}

.stepd-preview-text{
    position: absolute;
    top: 50%;
    font-size: 2.5em;
    color: var(--white);
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
    left: 40%;
    display: none;
    opacity: 0;
    transform: translate(-50%, -50%);
}


@keyframes stepd-preview-container-keyframes {
    0% {
        width: 60em;
        left: 10em;
    }
    100% {
        width: 100%;
        left: 0;
        bottom: 15em;
    }
}

.stepd-preview-container-animation{
    animation: stepd-preview-container-keyframes 1.5s forwards !important;
}

.home-container .home-image-container .stepd-preview-container .main{
    width: 100%;
    height: auto;
    z-index: 0;
}

.home-container .home-image-container .stepd-preview-container .entry-row{
    display: none;
    opacity: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    z-index: 0;
}

.tilted {
    perspective: 2000px;
    display: inline-block;
    width: 60%;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    align-items: center;
    image-rendering: auto;
}

.home-container .spline{
    width: 105%;
    position: absolute;
    bottom: -40em;
    right: -2em;
}



/*-------------------------------------------------------------------------------------*/


.chat-container{
    display: flex;
    flex-direction: column;
    height: 90em;
    position: relative;
    align-content: center;
    align-items: center;
    margin-left: 45em;
    margin-right: 45em;
}

.chat-container h2{
    color: var(--white);
    font-size: 5em;
    white-space: nowrap;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
}

.chat-container .svg-spline-container {
    position: absolute;
    width: 200em;
    height: 10em; /* passt du je nach Bedarf an */
    overflow: hidden;
    top: 25em
}

.chat-container .svg-spline-container .svg-spline {
    width: 100%;
    height: 100%;
    display: block;
}

.bubble{
    width: 45em;
    height: fit-content;
    background: var(--mid-white);
    position: absolute;
    padding: 0.5em;
    box-shadow: 0 4px 8px 0 rgba(250, 250, 250, 0.2), 0 6px 20px 0 rgba(250, 250, 250, 0.19);
}

.bubble-1{
    top: 33em;
    left: 0;
    opacity: 0;
}

.bubble-2{
    top: 40em;
    right: 0;
    opacity: 0;
}

.bubble-3{
    top: 47em;
    left: -5em;
    opacity: 0;
}

.bubble-4{
    top: 55em;
    right: -8em;
    opacity: 0;
}

.bubble-5{
    top: 62em;
    left: 5em;
    opacity: 0;
}

.bubble-animation{
    animation: bubble-keyframes 2s forwards;
}

@keyframes bubble-keyframes {
    0% {
        opacity: 0;
        transform: translateY(0);
    }
    100% {
        opacity: 1;
        transform: translateY(-20em);
    }
}


.bubble-left{
    border-radius: 1.5em 1.5em 1.5em 0;
}

.bubble-right{
    border-radius: 1.5em 1.5em 0 1.5em;
}

.bubble .container{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: fit-content;
    position: relative;
    text-align: left;
}

.bubble .container .name{
    font-size: 1.0em;
}

.bubble .container .message{
    color: var(--dark-grey);
    font-size: 1.0em;
    margin-top: -1em;
    margin-bottom: 1.5em;
}

.bubble .container .timestamp{
    color: var(--inactive-grey-light);
    font-size: 1.0em;
    position: absolute;
    right: 0;
    bottom: 0;
}

.story{
    width: 100%;
    height: fit-content;
    position: absolute;
    top: 80em;
    opacity: 0;
    text-align: center;
}

.story .container{
    display: flex;
    flex-direction: row;
    height: 20em;
    width: 100%;
    position: relative;
    gap: 2em;
    background-color: var(--mid-white);
    border-radius: 3em;
    box-shadow: 0 4px 8px 0 rgba(250, 250, 250, 0.2), 0 6px 20px 0 rgba(250, 250, 250, 0.19);
}

.story .container .image{
    position: relative;
    display: flex;
    flex-direction: row;
    border-radius: 100%;
    width: 50%;
    height: 100%;
}

.story .container .image img{
    position: absolute;
    height: 30em;
    left: 1em;
    bottom: 0;
}

.story .container .text{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 15em;
    color: var(--white);
    text-align: left;
    justify-content: center;
    justify-items: center;
    align-content: center;
    vertical-align: center;
}

.story h3{
    margin: 0 0 1.3em;
    color: var(--white);
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
    font-size: 3.5em;
}

.story .container .text p{
    color: var(--mid-grey);
    font-size: 1.5em;
}

.story .container .text span{
    position: absolute;
    bottom: 1em;
    color: var(--inactive-grey);
    font-size: 1.3em;
}

/*-------------------------------------------------------------------------------------*/

.usp-container{
    text-align: center;
    position: relative;
    overflow: hidden;
}

.usp-container h2{
    color: var(--dark-grey);
    font-size: 4em;
    white-space: nowrap;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
}

.usp-container h3 {
    color: var(--light-grey);
    font-size: 1.5em;
    white-space: normal;
    margin-top: 1em;
    padding-left: 1em;
    padding-right: 1em;
    width: 100%;
    text-align: center;
}

.usp-container .usp{
    display: flex;
    flex-direction: row;
    position: relative;
    margin-top: 2em;
    height: fit-content;
    width: 100%;
    gap: 2em;
    justify-content: center;
    margin-bottom: 7em;
}

.usp-container .usp .text-container{
    display: flex;
    flex-direction: column;
    gap: 2em;
    justify-self: center;
    margin-top: 5em;
}

.usp-container .usp .text-container .text{
    display: flex;
    flex-direction: column;
    padding: 1em;
    background-color: var(--white);
    width: 40em;
    height: 17em;
    border-radius: 3em;
    border: 1px solid var(--inactive-grey);
}

.usp-container .usp .text-container .text span{
    font-size: 2.5em;
    color: var(--light-grey)
}

.usp-container .usp .text-container .text h4{
    color: var(--dark-grey);
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
    font-size: 1.6em;
}

.usp-container .usp .text-container .text .line{
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, var(--white) 0%, var(--inactive-grey) 50%, var(--white) 100%);
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    z-index: 3;
}

.usp-container .usp .text-container .text p{
    margin-top: 0.5em;
    font-size: 1.1em;
    color: var(--light-grey)
}

.usp-container .usp .video-container{
    position: relative;
    display: flex;
    width: 42em;
    height: 42em;
    background-color: var(--white);
    border-radius: 5em;
    border: 1px solid var(--inactive-grey);
    justify-self: center;
    overflow: hidden;
}

.usp-container .usp .video-container img{
    width: auto;
    height: 42em;
    position: absolute;
    top: 0;
    left: 0;
}

.usp-container .black-box-right{
    position: absolute;
    height: 35em;
    top: 28em;
    background-color: var(--dark-grey);
    backdrop-filter: blur(10px); /* Weichzeichnen des Hintergrunds */
    -webkit-backdrop-filter: blur(10px); /* Safari-Unterstützung */
    width: 98%;
    right: 1%;
    border-radius: 3em;
}

.highlight-big-line{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 5em;
    background-color: var(--highlight-color);
}

.usp-container .black-box-left{
    position: absolute;
    height: 35em;
    top: 28em;
    background-color: var(--dark-grey);
    backdrop-filter: blur(10px); /* Weichzeichnen des Hintergrunds */
    -webkit-backdrop-filter: blur(10px); /* Safari-Unterstützung */
    width: 98%;
    left: 1%;
    border-radius: 3em;
}

.usp-container .spline-container{
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    position: absolute;
    overflow: hidden;
    border-radius: 5em;
}

.usp-container .spline-container .spline{
    position: relative;
    height: 200%;
    width: 150%;
    transform: translate(-50%, -50%);
    top: 40%;
    left: 50%;
    stroke-width: 3;
}

.usp-container .spline-container .spline-2{
    position: relative;
    height: 200%;
    width: 200%;
    transform: translate(-50%, -50%);
    top: 43%;
    left: 65%;
    stroke-width: 3;
}

.usp-container .spline-container .spline-3{
    position: relative;
    height: 200%;
    width: 200%;
    transform: translate(-50%, -50%);
    top: 40%;
    left: 85%;
    stroke-width: 3;
}

.usp-container .spline-container .spline-4{
    position: relative;
    height: 120%;
    width: 200%;
    transform: translate(-50%, -50%);
    top: 5%;
    left: 90%;
    stroke-width: 5;
}



/*-------------------------------------------------------------------------------------*/

.ai-container{
    position: relative;
    width: 100%;
    text-align: center;
}

.ai-border-container{
    border: 1px solid var(--dark-grey);
    box-shadow: 0 4px 8px 0 var(--dark-grey), 0 6px 20px 0 var(--dark-grey);
    padding: 2em;
    border-radius: 5em;
    background-color: #2d2d2d;
    background-image:
            radial-gradient(at 0% 100%, var(--highlight-color-two), transparent 30%),
            radial-gradient(at 100% 100%, var(--highlight-color-two), transparent 30%);
}

.ai-container-animation{
    animation: ai-container-keyframes 2s forwards;
}

@keyframes ai-container-keyframes {
    0% {
        border: 1px solid var(--dark-grey);
        box-shadow: 0 4px 8px 0 var(--dark-grey), 0 6px 20px 0 var(--dark-grey);
    }
    100% {
        border: 1px solid var(--highlight-color);
        box-shadow: 0 4px 8px 0 var(--highlight-color-two), 0 6px 20px 0 var(--highlight-color-two);
    }
}

.ai-container .copilot{
    width: 30em;
    margin-top: 2em;
    margin-bottom: 2em;
}

.ai-container h2{
    color: var(--white);
    font-size: 4em;
    white-space: nowrap;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
}

.ai-container h3{
    color: var(--inactive-grey-light);
    font-size: 1.5em;
    margin-top: 1em;
}

.ai-container .text-container{
    display: flex;
    flex-direction: row;
    gap: 2em;
    justify-self: center;
    margin-top: 5em;
}

.ai-container .text-container .text{
    display: flex;
    flex-direction: column;
    padding: 1em;
    backdrop-filter: blur(25px) saturate(151%);
    -webkit-backdrop-filter: blur(25px) saturate(151%);
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.125);
    align-items: stretch;
    width: 40em;
    height: 17em;
    border-radius: 3em;
}

.ai-container .text-container .text span{
    font-size: 2.5em;
    color: var(--inactive-grey-light)
}

.ai-container .text-container .text h4{
    color: var(--mid-white);
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
    font-size: 1.6em;
}

.ai-container .text-container .text .line{
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, var(--dark-grey) 0%, var(--inactive-grey) 50%, var(--dark-grey) 100%);
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    z-index: 3;
}

.ai-container .text-container .text p{
    margin-top: 0.5em;
    font-size: 1.1em;
    color: var(--inactive-grey-light)
}


/*-------------------------------------------------------------------------------------*/

.all-features-container{
    margin-top: 50em;    
    display: flex;
    flex-direction: column;
    z-index: 2;
}

.black-box{
    position: absolute;
    height: 25em;
    top: 38em;
    background-color: var(--dark-grey);
    backdrop-filter: blur(10px); /* Weichzeichnen des Hintergrunds */
    -webkit-backdrop-filter: blur(10px); /* Safari-Unterstützung */
    width: 98%;
    right: 1%;
    border-radius: 3em;
}

.black-box-nele{
    height: 45em;
    width: auto;
    position: absolute;
    transform: translate(-50%, 0%);
    bottom: 0;
    left: 50%;
}


.all-features-container .feature{
    max-width: 100%;
    height: fit-content;
    margin-top: 3em;
    border-radius: 2em;
    border: 1px solid var(--inactive-grey-light);
    padding: 1em;
    cursor: pointer;
    background-color: var(--light-white);
    z-index: 2;
}

.all-features-container .feature:hover{
    border: 1px solid var(--highlight-color);
}

.all-features-container .feature .text{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-size: 1.1em;
    color: var(--dark-grey);
    padding: 0 1em;
}

.all-features-container .feature .text p{
    margin: 0;
    display: flex;
    align-items: center;
    gap: 1em; /* Abstand zwischen Icon und Text */
    font-size: 1.1em;
    flex-grow: 1;
    color: var(--light-grey)
}

.all-features-container .feature .text i{
    font-size: 1.5em;
    display: flex;
    align-items: center;
    color: var(--light-grey)
}

.all-features-container .feature .text span {
    font-size: 1.5em;
    display: flex;
    align-items: center;
    color: var(--dark-grey)
}

.all-features-container .feature .answer{
    margin: 0.1em;
    margin-top: 2em;
    display: none;
    color: var(--dark-grey);
    padding: 0.5em;
    height: fit-content;
    max-width: 100%;
    border-radius: 1em;
}

.all-features-container .feature .answer p{
    font-size: 1.2em;
    line-height: 2em;
}



/*-------------------------------------------------------------------------------------*/


.price-container{
    text-align: center;
    justify-content: center;
    align-items: center;
    justify-items: center;
}

.price-container h2{
    color: var(--dark-grey);
    font-size: 5em;
    margin: 0;
    margin-top: 5em;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
}

.price-h2-animation{
    animation: margin-top-keyframes 2s forwards;
}

.price-container h3{
    color: var(--inactive-grey);
    font-size: 1.5em;
    margin: 0;
    white-space: pre-line;
}

.price-container .award-container{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.price-container .award-container .award{
    position: relative;
    width: 12em;
    height: 12em;
}

.price-container .award-container .cap{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 25em;
}

.price-container .payment-interval-container{
    display: inline-flex;
    width: 20em;
    height: 3em;
    justify-content: center;
    align-items: center;
    border-radius: 1.0em;
    border: solid 0.1em var(--inactive-grey);
    margin-bottom: 2em;
}

.price-container .payment-interval-container .payment-interval-container-button{
    width: 48%;
    height: 90%;
    margin-left: 1%;
    margin-right: 1%;
    justify-content: center;
    align-items: center;
    border-radius: 0.7em;
    background-color: var(--white);
    color: var(--dark-grey);
    font-size: 1.2em;
    border: 0;
}

.price-container .payment-interval-container .active{
    background-color: var(--dark-grey);
    color: var(--white);
}

.price-container .price-package-container{
    display: inline-flex;
    flex-flow: row;
    gap: 10em;
    margin-top: 2em;
}

.price-container .price-package-container .price-package{
    position: relative;
    display: block;
    border-radius: 2em;
    border: solid 0.1em var(--inactive-grey);
    background-color: var(--white);
    width: 30em;
    height: fit-content;
    margin-top: 4em;
    padding-left: 1em;
    scroll-snap-align: center;
    flex: 0 0 auto;
}

.price-container .price-package-container .price-package-recommendation{
    display: flex;
    flex-direction: column;
    border-radius: 2em;
    width: 30em;
    height: fit-content;
    justify-content: center;
    background-color: var(--dark-grey);
    scroll-snap-align: center;
    flex: 0 0 auto;
}

.price-container .price-package-container .price-package-recommendation-header{
    margin-top: 0.4em;
    margin-bottom: 0.4em;
    color: var(--white);
    font-size: 1.2em;

}

.price-container .price-package-container .price-package-recommendation .price-package{
    position: relative;
    border-radius: 2em;
    border: solid 0.1em var(--inactive-grey);
    background-color: var(--white);
    width: 30em;
    height: fit-content;
    margin: 0 auto;
    text-align: center;
    justify-content: center;
    margin-bottom: 1em;
}

.price-package .header{
    display: inline-flex;
    width: 100%;
    height: 2em;
    margin-top: 2.5em;
}

.price-package .header img{
    height: 2.5em;
    margin-left: 1em;
}

.price-package .package-price-container{
    margin-top: 2em;
    display: flex;
    gap: 1em;
    width: 100%;
    height: 6em;
    align-items: center;
    align-content: center;
    margin-left: 1em;
}

.price-package .package-price-container .price{
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.1em;
    font-size: 4.0em;
    color: var(--dark-grey);
    margin: 0;
}

.price-package .package-price-container .description{
    font-size: 1.15em;
    color: var(--inactive-grey);
    line-height: 1.5;
    margin-bottom: 1em;
    text-align: left;
}

.price-package .feature-container{
    display: none;
    position: relative;
    padding-left: 1em;
    padding-right: 1em;
    width: 100%;
}

.price-package .des{
    position: relative;
    font-size: 1.0em;
    color: var(--dark-grey);
    width: 100%;
    text-align: left;
    padding: 1em;
    height: 6em;
    justify-content: center;

}

.price-package .des h4{
    font-size: 1.1em;
}

.price-package .feature-container .list-container{
    width: 100%;
    height: fit-content;
    margin-top: 5em;
}

.price-package .feature-container .list-container .list{
    display: flex;
    list-style-type: none; /* Entfernt die Standard-Aufzählungszeichen */
    padding: 0;
    margin: 0;
    width: 100%;
    font-size: 1.2em;
    align-content: flex-start; /* Vertikale Ausrichtung der Elemente innerhalb mehrerer Zeilen */
    align-items: flex-start;   /* Vertikale Ausrichtung der Elemente in einer Zeile */
    justify-content: flex-start; /* Horizontale Ausrichtung nach links */
    flex-direction: column; /* Falls die Elemente untereinander sein sollen */
    font-family: 'Open Sans', sans-serif;
}

.price-package .feature-container .list-container .list li {
    display: flex;
    width: 100%;
    align-items: flex-start;
    margin-bottom: 1em;
    font-family: 'Open Sans', sans-serif;
}

.price-package .feature-container .list-container .list li span{
    margin-right: 0.2em;
    margin-left: 0.2em;
}

.price-package .feature-container .list-container .list ul {
    color: var(--inactive-grey);
    list-style-type: none; /* Entfernt die Standard-Aufzählungszeichen */
    padding: 0;
    margin: 0;
    width: 100%;
    margin-left: 1.5em;
}

.price-package .register-button{
    background-color: var(--highlight-color);
    width: fit-content;
    padding: 0.5em 1em;
    border-radius: 1em;
    color: var(--white);
    margin-top: 2.0em;
    border: 0;
    font-size: 1.1em;
}

.price-package .register-button:hover{
    background-color: var(--dark-grey);
}

.price-package .default-button{
    background-color: var(--dark-white);
    width: 10em;
    padding: 0.5em 1em;
    border-radius: 1em;
    color: var(--white);
    margin-top: 11.0em;
    border: 0;
    font-size: 1.3em;
    margin-bottom: 1em;
    cursor: auto;
    font-family: 'Open Sans', sans-serif;
}

.price-package .register-info{
    color: var(--highlight-color);
    padding: 0.5em 1em;
    margin-top: 1.0em;
    font-size: 1.3em;
    font-family: 'Open Sans', sans-serif;
}

.price-package .register-info-two{
    color: var(--inactive-grey);
    font-size: 1.0em;
    font-family: 'Open Sans', sans-serif;
}

.price-package .details-button{
    background-color: var(--white);
    color: var(--dark-grey);
    border: solid 0.1em var(--dark-grey);
    width: fit-content;
    padding: 0.5em 1em;
    border-radius: 1em;
    font-size: 1.1em;
    margin-top: 1.0em;
    margin-bottom: 1.0em;
    font-family: 'Open Sans', sans-serif;
}

.price-package .details-button:hover{
    background-color: var(--dark-grey);
    color: var(--white);
    border: solid 0.1em var(--dark-grey);
}

.price-bonus-container{
    margin: 0;
    margin-top: 4em;
    padding: 1em;
    border-radius: 2em;
    width: 40em;
}

.price-bonus-container h3{
    color: var(--dark-grey);
    font-size: 2em;
    margin: 0;
    white-space: pre-line;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
}

.price-bonus-container p{
    margin-top: 1em;
    font-size: 1em;
}

.price-bonus-container .availability-status{
    margin-top: 2em;
    font-size: 1.2em;
}

.price-bonus-container .availability-status{
    margin-top: 2em;
    font-size: 1.2em;
}

.price-bonus-container .progress-bar{
    margin-top: 1em;
    position: relative;
    height: 1em;
    width: 100%;
    background-color: var(--white);
    border-radius: 1em;
    border: 1px solid var(--inactive-grey);
}

.price-bonus-container .progress-bar .filled{
    position: relative;
    height: 1em;
    width: 80%;
    background-color: var(--highlight-color);
    border-radius: 1em;
    border: 1px solid var(--highlight-color);
}

/*-------------------------------------------------------------------------------------*/

.faq-container{
    background-color: var(--dark-grey);
    text-align: center;
    justify-content: center;
    align-items: center;
    justify-items: center;
    padding-left: 45em;
    padding-right: 45em;
}

.faq-container h2{
    color: var(--white);
    font-size: 5em;
    margin: 0;
    white-space: pre-line;
    margin-bottom: 0.5em;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
}

.faq-container h3{
    color: var(--inactive-grey);
    font-size: 1.5em;
    margin: 0;
    white-space: pre-line;
}

.faq-container .faq{
    display: flex;
    flex-direction: column;
    width: 100%;
}

.faq-container .faq .header{
    width: fit-content;
    height: 3em;
    padding: 0.3em 0.5em;
    border-radius: 1em;
    background-color: var(--mid-grey);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    text-align: center;
    margin-top: 5em;
}

.faq-container .faq .header h4{
    margin: 0 0.5em;
    font-size: 1.5em;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
}

.faq-container .faq .faq-subject{
    max-width: 100%;
    height: fit-content;
    margin-top: 3em;
    border-radius: 2em;
    border: 1px solid var(--mid-grey);
    padding: 1em;
    cursor: pointer;
}

.faq-container .faq .faq-subject:hover{
    border: 1px solid var(--highlight-color);
    box-shadow: 0 1px 2px 0 var(--highlight-color);
}

.faq-container .faq .faq-subject .question{
    width: 100%;
    height: fit-content;
    font-size: 1.1em;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    align-self: center;
    justify-self: center;
    color: var(--inactive-grey)
}

.faq-container .faq .faq-subject .question h5{
    margin: 0 1em;
    font-size: 1.1em;
}

.faq-container .faq .faq-subject .question span{
    font-size: 1.5em;
    margin-right: 1em;
}

.faq-container .faq .faq-subject .answer{
    margin: 0.1em;
    margin-top: 2em;
    display: none;
    color: var(--white);
    padding: 0.5em;
    height: fit-content;
    max-width: 100%;
    border-radius: 1em;
    background-color: var(--dark-grey);
}

.faq-container .faq .faq-subject .answer p{
    font-size: 1.0em;
    line-height: 2em;
}

.book-appointment-container{
    margin-top: 10em;
    height: fit-content;
    animation: margin-top-keyframes 2s forwards;
    margin-left: 30em;
    margin-right: 30em;
    display: flex;
    flex-direction: column;
    text-align: center;
    align-content: center;
    align-items: center;
}

.book-appointment-container h1{
    color: var(--dark-grey);
    font-size: 5em;
    margin: 0;
    font-family: 'IBrand', sans-serif;
}

.book-appointment-container h2{
    color: var(--inactive-grey);
    font-size: 1.5em;
    margin: 0;
    margin-top: 0.5em;
    white-space: pre-line;
}

.book-appointment-container .book-container{
    position: relative;
    display: flex;
    flex-direction: column;
    width: fit-content;
    height: fit-content;
    border-radius: 4em;
    background-color: var(--mid-white);
    margin: 0;
    margin-top: 5em;
}

.book-appointment-container .book-container .select-container{
    display: flex;
}

.book-appointment-container .book-container .select-container .calendar-container{
    display: flex;
    flex-direction: column;
    width: fit-content;
    padding: 5em;
}

.book-appointment-container .book-container .select-container .hour-container{
    display: flex;
    flex-direction: column;
    width: fit-content;
    padding: 5em;
}


.book-appointment-container .book-container .select-container .hour-container h3{
    font-size: 2em;
    margin-bottom: 1.5em;
}


.book-appointment-container .book-container .select-container .calendar-container .month-container{
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: center;
    font-size: 2em;
}

.book-appointment-container .book-container .select-container .calendar-container .month-container .current-month-container{
    width: 100%;
}

.book-appointment-container .book-container .select-container .calendar-container .month-container .current-month-container h3{
}


.book-appointment-container .book-container .select-container .calendar-container .month-container span{
    cursor: pointer;
}

.book-appointment-container .book-container .select-container .calendar-container .month-container span:hover{
    color: var(--highlight-color)
}

.book-appointment-container .book-container .select-container .calendar-container .calendar {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1em;
    margin-top: 3em;
}

.book-appointment-container .book-container .select-container .calendar-container .calendar .calendar-day {
    border-radius: 1em;
    text-align: center;
    cursor: pointer;
    width: 5em;
    height: 5em;
    align-content: center;
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
    border: solid 0.1em var(--highlight-color);
    color: var(--highlight-color);
    background-color: var(--mid-white);
}

.book-appointment-container .book-container .select-container .calendar-container .calendar .calendar-day-off {
    border-radius: 1em;
    text-align: center;
    width: 5em;
    height: 5em;
    align-content: center;
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
    color: var(--inactive-grey);
    cursor: unset;
}

.book-appointment-container .book-container .select-container .calendar-container .calendar .calendar-day-name {
    border-radius: 1em;
    text-align: center;
    width: 5em;
    height: 2em;
    align-content: center;
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
    color: var(--dark-grey);
    cursor: unset;
}

.book-appointment-container .book-container .select-container .calendar-container .calendar .calendar-day.selected {
    background-color: var(--highlight-color);
    color: white;
}

.book-appointment-container .book-container .hour-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em;
    margin-top: 3em;
    text-align: center;
    align-content: center;
    align-items: center;
    justify-content: center;
    margin-bottom: 3em;
}

.book-appointment-container .book-container .hour-list .button-day {
    width: 5em;
    height: 5em;
    border-radius: 1em;
    cursor: pointer;
    font-size: 1.1em;
    border: solid 0.1em var(--highlight-color);
    color: var(--highlight-color);
    background-color: var(--mid-white);
}

.book-appointment-container .book-container .hour-list .button-day.selected {
    background-color: var(--highlight-color);
    color: white;
}

.book-appointment-container .book-container .hour-list .booked {
    border: solid 1px var(--inactive-grey) !important;
    color: var(--inactive-grey) !important;
    background-color: var(--mid-white) !important;
    cursor: unset !important;
}

.book-appointment-container .selected-appointment-container{
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 5em;
}

.book-appointment-container .book-container .selected-appointment-container h3{
    font-size: 2.0em;
}

.book-appointment-container .book-container .selected-appointment-container .selected-appointment{
    font-size: 2em;
    margin-top: 1em;
    font-weight: 600;
}

.book-appointment-container .selected-appointment-container .select-appointment-button{
    background-color: var(--dark-white);
    width: fit-content;
    padding: 0.5em 1em;
    border-radius: 1em;
    color: var(--inactive-grey);
    margin-top: 2.0em;
    font-size: 1.2em;
    border: solid 0.1em var(--inactive-grey);
    cursor: unset;
}

.book-appointment-container .selected-appointment-container .select-appointment-button.active{
    background-color: var(--highlight-color);
    color: var(--white);
    cursor: pointer;
}

.book-appointment-container .input-container{
    position: relative;
    display: flex;
    flex-direction: column;
    width: fit-content;
    height: fit-content;
    border-radius: 4em;
    background-color: var(--mid-white);
    margin: 0;
    margin-top: 5em;
}

.book-appointment-container .input-container .input-appointment-infos-container{
    width: 50em;
    align-content: start;
    justify-content: start;
    text-align: start;
    padding: 3em;
}

.book-appointment-container .input-container .input-appointment-infos-container h4{
    font-size: 1.2em;
}

.book-appointment-container .input-container .input-appointment-infos-container input{
    width: 100%;
    border: solid 1px var(--inactive-grey);
    color: var(--dark-grey);
    background-color: var(--white);
    border-radius: 0.5em;
    font-size: 1.2em;
    padding: 0.3em 1em;
}

.own-switch {
    font-size: 1.5em;
    background-color: white;
    lighting-color: var(--highlight-color);
}

.own-switch:checked {
    background-color: var(--highlight-color);
    border-color: #ffffff;
}

.book-appointment-container .input-container .input-appointment-infos-container select{
    width: 100%;
    border: solid 1px var(--inactive-grey);
    color: var(--dark-grey);
    background-color: var(--white);
    border-radius: 0.5em;
    font-size: 1.2em;
    padding: 0.3em 1em;
}

.book-appointment-container .input-container .input-appointment-infos-container option{

}

.book-appointment-container .input-container .input-appointment-infos-container-your-appointment{
    width: 100%;
    margin-top: 2em;
}

.book-appointment-container .input-container .input-appointment-infos-container-your-appointment h3{
    font-size: 2.0em;
    color: var(--dark-grey);
}

.book-appointment-container .input-container .input-appointment-infos-container-your-appointment h4{
    font-size: 2.5em;
    color: var(--highlight-color);
    margin-top: 1em;
    font-family: 'IBrand', sans-serif;
}

.early-bird-container{
    justify-self: center;
    width: 60em;
    padding: 2em;
    padding-bottom: 1em;
    border-radius: 2em;
    border: 1px solid var(--inactive-grey);
}

.hide-on-mobile{
    display: flex;
}

.hide-on-tablet{
    display: flex;
}

.show-on-mobile{
    display: none;
}

.mobile-padding{
    
}

.pre-register-container{
    margin-top: 10em;
    height: fit-content;
    animation: margin-top-keyframes 2s forwards;
    margin-left: 30em;
    margin-right: 30em;
    display: flex;
    flex-direction: column;
    text-align: center;
    align-content: center;
    align-items: center;
}

.pre-register-container h1{
    color: var(--dark-grey);
    font-size: 4em;
    margin: 0;
    white-space: pre-line;
    font-family: 'IBrand', sans-serif;
}

.pre-register-container h2{
    color: var(--inactive-grey);
    font-size: 1.5em;
    margin: 0;
    margin-top: 0.5em;
    white-space: pre-line;
}

.pre-register-container .email-container{
    position: relative;
    display: flex;
    flex-direction: column;
    width: 40em;
    height: fit-content;
    border-radius: 2em;
    background-color: var(--mid-white);
    margin: 0;
    padding: 2em;
}

.countdown-box{
    color: var(--highlight-color);
    display:inline-block;
}

.countdown-box small{
    font-size: 2.0em;
    margin-left: 0.2em;
}

.countdown-box span{
    font-size: 5.0em;
    margin-left: 0.2em;
    font-family: 'IBrand', sans-serif;
    letter-spacing: 0.05em;
}

.popup{
    border-radius: 1em;
}

.close-btn {
    display: inline-flex;
    border-radius: 1.0em;
    background: var(--dark-grey);
    width: fit-content;
    height: 2.8em;
    color: white;
    cursor: pointer;
    margin: 0.5em;
    align-items: center;
    text-decoration: none;
    white-space: nowrap;
}

.close-btn span {
    padding-left: 1.2em;
    padding-right: 1.2em;
    font-size: 1.0em;
    white-space: nowrap;
}

.close-btn:hover {
    background-color: var(--mid-grey);
    color: var(--white);
}

/*-------------------------------------------------------------------------------------*/

@media screen and (max-width: 1920px) {
    html {
        font-size: 12px;
    }

    .main-padding{
        padding-left: 20em;
        padding-right: 20em;
    }

    .chat-container{
        margin-left: 30em;
        margin-right: 30em;
    }

    .home-container .home-image-container{
        left: 15em;
        right: 15em;
    }

    @keyframes home-image-container-animation-keyframes {
        0% {
            height: 20em;
            margin-top: 20em;
            left: 15em;
            right: 15em;
        }
        100% {
            height: 10em;
            margin-top: 75em;
            left: 20em;
            right: 20em;

        }
    }

    .function-container{
        padding: 2em;
        padding-bottom: 3em;
        padding-top: 3em;
    }
    .pps-container .pps-container-padding{
        padding-left: 15em;
        padding-right: 15em;
        padding-bottom: 5em;
    }

    .function-text-icon-container {
        gap: 2em;
        margin-top: 3em;
        padding-right: 5em;
        padding-left: 5em;
    }

    .pps-container .pps-container-padding .h2-container .line-with-object .loading-bar-container {
        gap: 5em;
    }
}


@media screen and (max-width: 1500px) {
    html {
        font-size: 10px;
    }

    .main-padding{
        padding-left: 15em;
        padding-right: 15em;
    }

    .home-container .home-image-container{
        left: 5em;
        right: 5em;
    }

    @keyframes home-image-container-animation-keyframes {
        0% {
            height: 20em;
            margin-top: 20em;
            left: 5em;
            right: 5em;
        }
        100% {
            height: 10em;
            margin-top: 70em;
            left: 10em;
            right: 10em;

        }
    }

    .home-container{
        height: 130em;
    }

    .chat-container{
        margin-left: 25em;
        margin-right: 25em;
    }

    .pps-container .pps-container-padding{
        padding-left: 10em;
        padding-right: 10em;
        padding-bottom: 5em;
    }

    .pps-container .pps-container-padding .h2-container .line-with-object .loading-bar-container {
        gap: 6em;
    }

    .ai-container{
        padding-bottom: 3em;
        padding-top: 3em;
    }

    .property-container {
        padding-left: 10em;
        padding-right: 10em;
    }

    .function-container{
        padding: 2em;
        padding-bottom: 3em;
        padding-top: 3em;
    }

    .function-text-icon-container {
        margin-top: 3em;
        padding-right: 10em;
        padding-left: 10em;
    }

    .faq-container{
        padding-left: 25em;
        padding-right: 25em;
    }
}

@media screen and (max-width: 1200px) {
    html {
        font-size: 11px;
    }
    
    .hide-on-tablet{
        display: none;
    }

    .main-padding{
        padding-left: 3em;
        padding-right: 3em;
    }

    .home-container .home-image-container{
        left: 1em;
        right: 1em;
    }

    .home-container .home-image-container .stepd-preview-container{
        width: 60em;
        height: fit-content;
        border-radius: 1em;
        overflow: hidden;
        position: absolute;
        left: 2em;
        bottom: 1em;
        border: 1px solid var(--mid-grey);
        box-shadow: 0 4px 8px rgba(20, 20, 20, 0.9), 0 6px 20px rgba(20, 20, 20, 0.8);
        z-index: 0;
    }

    @keyframes stepd-preview-container-keyframes {
        0% {
            width: 60em;
            left: 2em;
        }
        100% {
            width: 100%;
            left: 0;
            bottom: 15em;
        }
    }

    @keyframes home-image-container-animation-keyframes {
        0% {
            height: 20em;
            margin-top: 20em;
            left: 2em;
            right: 2em;
        }
        100% {
            height: 10em;
            margin-top: 50em;
            left: 2em;
            right: 5em;

        }
    }

    .home-container .home-image-container .nele{
        height: 45em;
        width: auto;
        position: absolute;
        transform: translate(0%, 0%);
        bottom: 0;
        right: 2em;
        z-index: 1;
    }

    .home-container .input-1
    {
        position: absolute;
        top: 0;
        left: -8em;
        width: 14em;
        rotate: -20deg;
        opacity: 1;
        cursor: pointer;
        z-index: 5;
    }

    .home-container .input-1-clone
    {
        position: absolute;
        top: 0;
        left: -8em;
        width: 14em;
        rotate: -20deg;
        opacity: 0.2;
    }

    .home-container .input-2
    {
        position: absolute;
        top: 0;
        right: -8em;
        width: 14em;
        rotate: 20deg;
        opacity: 1;
        cursor: pointer;
        z-index: 5;
    }

    .home-container .input-2-clone
    {
        position: absolute;
        top: 0;
        right: -8em;
        width: 14em;
        rotate: 20deg;
        opacity: 0.2;
    }

    .home-container .input-3
    {
        position: absolute;
        top: 33em;
        left: 5vw;
        width: 14em;
        rotate: -10deg;
        cursor: pointer;
        z-index: 5;
    }

    .home-container .input-3-clone
    {
        position: absolute;
        top: 33em;
        left: 5vw;
        width: 14em;
        rotate: -10deg;
        opacity: 0.2;
    }

    .home-container .input-4
    {
        position: absolute;
        top: 33em;
        right: 5vw;
        width: 14em;
        rotate: 10deg;
        cursor: pointer;
        z-index: 5;
    }

    .home-container .input-4-clone
    {
        position: absolute;
        top: 33em;
        right: 5vw;
        width: 14em;
        rotate: 10deg;
        opacity: 0.2;
    }

    @keyframes home-container-input-animation-left-1-keyframes {
        0% {
            opacity: 1;
        }
        30%{
            opacity: 1;
            top: 85em;
            left: 2vw;
            width: 14em;
        }
        70%{
            opacity: 1;
            top: 85em;
            left: 2vw;
            width: 14em;
        }
        90%{
            opacity: 1;
        }
        100% {
            opacity: 0;
            top: 67em;
            left: 62vw;
            width: 1em;
        }
    }

    @keyframes home-container-input-animation-left-2-keyframes {
        0% {
            opacity: 1;
        }
        30%{
            opacity: 1;
            top: 65em;
            left: 5vw;
            width: 14em;
        }
        70%{
            opacity: 1;
            top: 65em;
            left: 5vw;
            width: 14em;
        }
        90%{
            opacity: 1;
        }
        100% {
            opacity: 0;
            top: 67em;
            left: 62vw;
            width: 1em;
        }
    }

    @keyframes home-container-input-2-animation-right-1-keyframes {
        0% {
            opacity: 1;
        }
        30%{
            opacity: 1;
            top: 85em;
            right: 2vw;
            width: 14em;
        }
        70%{
            opacity: 1;
            top: 85em;
            right: 2vw;
            width: 14em;
        }
        90%{
            opacity: 1;
        }
        100% {
            opacity: 0;
            top: 67em;
            right: 37vw;
            width: 1em;
        }
    }

    @keyframes home-container-input-2-animation-right-2-keyframes {
        0% {
            opacity: 1;
        }
        30%{
            opacity: 1;
            top: 65em;
            right: 5vw;
            width: 14em;
        }
        70%{
            opacity: 1;
            top: 65em;
            right: 5vw;
            width: 14em;
        }
        90%{
            opacity: 1;
        }
        100% {
            opacity: 0;
            top: 67em;
            right: 37vw;
            width: 1em;
        }
    }

    .home-container .animation-text{
        padding-left: 1em;
        padding-right: 1em;
        font-size: 3em;
        margin-bottom: 2.5em;
    }
    
    .mobile-padding{
        padding-left: 1em;
        padding-right: 1em;
    }

    .home-container .animation-container .main
    {
        width: 100%;
        flex: 1;
    }

    .home-container .animation-container .main-animation-obj
    {
        position: absolute;
        width: 100%;
        flex: 1;
    }

    .chat-container{
        display: flex;
        flex-direction: column;
        height: 85em;
        position: relative;
        align-content: center;
        align-items: center;
        margin-left: 1em;
        margin-right: 1em;
    }

    .function-container{
        padding-bottom: 2em;
        padding-top: 2em;
    }

    .function-text-icon-container {
        margin-top: 2em;
        grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
        gap: 2em;
        padding-right: 1em;
        padding-left: 1em;
    }

    .price-container .price-package-container{
        display: inline-flex;
        flex-flow: row nowrap; /* wichtig: kein Zeilenumbruch */
        gap: 4em;
        margin-top: 2em;
        width: fit-content;
    }


    .faq-container{
        padding-left: 15em;
        padding-right: 15em;
    }

    .scroll-container-x{
        display: flex;
        padding-right: 3em;
        padding-left: 3em;
        width: 100%;
        overflow-x: auto;        /* nur horizontales Scrollen */
        overflow-y: hidden;      /* kein vertikales Scrollen */
        -webkit-overflow-scrolling: touch;  /* sanftes Scrollen auf iOS */
        scrollbar-color: rgba(255,255,255,0.0) transparent; /* Firefox */
        scrollbar-width: thin;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
    }

    .scroll-container-x::-webkit-scrollbar {
        height: 8px;
    }

    .scroll-container-x::-webkit-scrollbar-thumb {
        background: rgba(255,255,255,0.0);
        border-radius: 4px;
    }

    .scroll-container-x::-webkit-scrollbar-track {
        background: transparent;
    }
    
    .tilted {
        width: 90%;
    }

    .home-container .animation-container .tilted .main
    {
        border-radius: 1em;
    }

    .pre-register-container{
        margin-left: 5em;
        margin-right: 5em;
    }

    .bubble-1{
        top: 33em;
        left: 1em;
        opacity: 0;
    }

    .bubble-2{
        top: 40em;
        right: 1em;
        opacity: 0;
    }

    .bubble-3{
        top: 47em;
        left: 1em;
        opacity: 0;
    }

    .bubble-4{
        top: 55em;
        right: 1em;
        opacity: 0;
    }

    .bubble-5{
        top: 62em;
        left: 1em;
        opacity: 0;
    }

    .usp-container .usp{
        display: flex;
        flex-direction: column;
        position: relative;
        margin-top: 2em;
        height: fit-content;
        width: 100%;
        gap: 2em;
        justify-content: center;
        margin-bottom: 2em;
        align-content: center;
        align-items: center;
    }

    .usp-container .usp .text-container{
        display: flex;
        flex-direction: column;
        gap: 2em;
        justify-self: center;
        margin-top: 5em;
        font-size: 1.1em;
    }

    .story{
        width: 100%;
        height: fit-content;
        position: absolute;
        top: 80em;
        opacity: 0;
        text-align: center;
    }

    .story .container{
        width: 100%;
    }

    .ai-container .text-container{
        display: flex;
        flex-direction: column;
        gap: 2em;
        justify-self: center;
        margin-top: 2em;
        font-size: 1.1em;
    }
}

@media screen and (max-width: 768px) {

    html {
        font-size: 12px;
    }

    .main-padding{
        padding-left: 0;
        padding-right: 0;
    }
    
    .hide-on-mobile{
        display: none !important;
    }

    .show-on-mobile{
        display: flex !important;
    }

    .tilted {
        width: 100%;
    }

    .home-container .animation-container .tilted .main
    {
        border-radius: 1em;
    }

    .mobile-padding{
        padding-left: 1em;
        padding-right: 1em;
    }

    .home-container{
        height: 100em;
    }

    .home-container h1{
        padding-left: 0.5em;
        padding-right: 0.5em;
        font-size: 4.5em;
    }

    .home-container .award-container{
        display: flex;
        width: 100%;
        height: 10em;
        justify-content: center;
        align-items: center;
        gap: 0;
    }

    .home-container .animation-text{
        padding-left: 1em;
        padding-right: 1em;
        font-size: 2.5em;
        margin-bottom: 2.5em;
    }

    .home-container .animation-container{
        margin-top: 10em;
        width: 100%;
        height: fit-content;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-content: center;
        align-items: center;
    }

    .home-container .short-description{
        width: 100%;
        position: relative;
        justify-self: center;
        text-align: center;
        align-self: center;
        font-size: 1.2em;
        color: var(--inactive-grey)
    }

    .home-container .animation-container .main-animation-obj
    {
        position: absolute;
        width: 100%;
        flex: 1;
    }

    .home-container .home-image-container{
        display: flex;
        position: absolute;
        background-color: var(--dark-grey);
        height: 25em;
        border-radius: 3em 0 0 3em;
        z-index: 1;
        margin-top: 20em;
        left: 10%;
        right: 0;
        top: 28em
    }

    .home-container .home-image-container .nele{
        height: 45em;
        width: auto;
        position: absolute;
        transform: translate(-50%, 0%);
        bottom: 0;
        right: 0;
        left: 45%;
        z-index: 1;
    }

    @keyframes home-image-container-animation-keyframes {
        0% {
            height: 25em;
            border-radius: 3em 0 0 3em;
            z-index: 1;
            margin-top: 20em;
            left: 10%;
            right: 0;
        }
        100% {
            height: 25em;
            border-radius: 3em 0 0 3em;
            z-index: 1;
            margin-top: 20em;
            left: 10%;
            right: 0;

        }
    }

    @keyframes nele-animation-keyframes {
        0% {
            height: 45em;
        }
        100% {
            height: 45em;
        }
    }

    @keyframes stepd-preview-container-keyframes {
        0% {
            width: 60em;
            left: 10em;
        }
        100% {
            width: 100%;
            left: 0;
            bottom: 15em;
        }
    }

    .register-button{
        background-color: var(--highlight-color);
        width: 100%;
        padding: 0.5em 1em;
        border-radius: 1em;
        color: var(--white);
        margin: auto;
        border: 0;
        font-size: 1.5em;
    }
    
    .chat-container{
        display: flex;
        flex-direction: column;
        height: 95em;
        position: relative;
        align-content: center;
        align-items: center;
        margin-left: 0;
        margin-right: 0;
    }

    .chat-container h2{
        color: var(--white);
        font-size: clamp(2em, 9vw, 4.5em);
        white-space: nowrap;
        font-family: 'IBrand', sans-serif;
        letter-spacing: 0.05em;
    }

    .bubble{
        width: 100%;
        height: fit-content;
        background: var(--white);
        position: absolute;
        padding: 0.5em;
        box-shadow: 0 4px 8px 0 rgba(250, 250, 250, 0.2), 0 6px 20px 0 rgba(250, 250, 250, 0.19);
    }

    .bubble-1{
        top: 33em;
        left: 0;
        opacity: 0;
    }

    .bubble-2{
        top: 40em;
        right: 0;
        opacity: 0;
    }

    .bubble-3{
        top: 47em;
        left: 0;
        opacity: 0;
    }

    .bubble-4{
        top: 55em;
        right: 0;
        opacity: 0;
    }

    .bubble-5{
        top: 62em;
        left: 0;
        opacity: 0;
    }

    .story{
        width: 100%;
        height: fit-content;
        position: absolute;
        top: 80em;
        opacity: 0;
        text-align: center;
    }

    .story .container{
        display: flex;
        flex-direction: row;
        height: fit-content;
        width: 100%;
        position: absolute;
        gap: 2em;
        background-color: var(--mid-white);
        border-radius: 0 3em 3em 0;
        box-shadow: 0 4px 8px 0 rgba(250, 250, 250, 0.2), 0 6px 20px 0 rgba(250, 250, 250, 0.19);
    }

    .story .container .image{
        position: relative;
        display: flex;
        border-radius: 100%;
        width: 40%;
        height: auto;
    }

    .story .container .image img{
        position: absolute;
        height: 25em;
        left:-12em;
        bottom: 0;
    }

    .story .container .text{
        display: flex;
        flex-direction: column;
        width: 100%;
        height: fit-content;
        color: var(--white);
        text-align: left;
        justify-content: center;
        justify-items: center;
        align-content: center;
        vertical-align: center;
        margin-top: 1em
    }

    .story .container .text p{
        color: var(--mid-grey);
        font-size: 1.3em;
    }
    
    .story .container .text span{
        position: absolute;
        bottom: -2em;
        color: var(--inactive-grey);
        font-size: 1.2em;
        transform: translate(0%, 50%);
    }

    .bg-white-container{
        position: relative;
        background-color: var(--white);
        padding: 0;
        border-radius: 0;
        border: 0px solid var(--inactive-grey-light);
    }
    
    .usp-container .usp{
        display: flex;
        flex-direction: column;
        position: relative;
        margin-top: 2em;
        height: fit-content;
        gap: 2em;
        justify-content: center;
        margin-bottom: 7em;
        align-content: center;
        align-items: center;
        align-self: center;
        justify-items: center;
        justify-self: center;
    }

    .usp-container .usp .video-container{
        position: relative;
        display: flex;
        width: 38em;
        height: 38em;
        background-color: var(--white);
        border-radius: 5em;
        border: 1px solid var(--inactive-grey);
        justify-self: center;
        overflow: hidden;
    }

    .usp-container .usp .video-container img{
        width: auto;
        height: 38em;
        position: absolute;
        top: 0;
        left: 0;
    }

    .usp-container .usp .text-container{
        display: flex;
        flex-direction: column;
        gap: 2em;
        justify-self: center;
        margin-top: 5em;
    }

    .usp-container .usp .text-container{
        display: flex;
        flex-direction: column;
        gap: 2em;
        justify-self: center;
        margin-top: 3em;
    }

    .usp-container .usp .text-container .text{
        display: flex;
        flex-direction: column;
        padding: 1em;
        background-color: var(--white);
        width: 98%;
        height: fit-content;
        border-radius: 3em;
        border: 1px solid var(--inactive-grey);
        justify-self: center;
        align-self: center;
    }

    .usp-container .black-box-right{
        position: absolute;
        height: 25em;
        top: 32em;
        background-color: var(--dark-grey);
        backdrop-filter: blur(10px); /* Weichzeichnen des Hintergrunds */
        -webkit-backdrop-filter: blur(10px); /* Safari-Unterstützung */
        width: 98%;
        right: 0;
        border-radius: 5em 0 0 5em;
    }

    .usp-container .black-box-left{
        position: absolute;
        height: 25em;
        top: 32em;
        background-color: var(--dark-grey);
        backdrop-filter: blur(10px); /* Weichzeichnen des Hintergrunds */
        -webkit-backdrop-filter: blur(10px); /* Safari-Unterstützung */
        width: 98%;
        left: 0;
        border-radius: 0 5em 5em 0;
    }

    .usp-container .spline-container .spline{
        position: relative;
        height: 200%;
        width: 200%;
        transform: translate(-50%, -50%);
        top: 0;
        left: 50%;
        stroke-width: 3;
    }

    .usp-container .spline-container .spline-2{
        position: relative;
        height: 200%;
        width: 200%;
        transform: translate(-50%, -50%);
        top: 0%;
        left: 70%;
        stroke-width: 3;
    }

    .usp-container .spline-container .spline-3{
        position: relative;
        height: 200%;
        width: 200%;
        transform: translate(-50%, -50%);
        top: 0;
        left: 90%;
        stroke-width: 3;
    }

    .usp-container .spline-container .spline-4{
        position: relative;
        height: 120%;
        width: 220%;
        transform: translate(-50%, -50%);
        top: -5em;
        left: 90%;
        stroke-width: 5;
    }

    .main-padding-container{
        padding-left: 1em;
        padding-right: 1em;
    }
    
    .ai-container{
        padding: 1em;
        flex-direction: column;
        width: 100%;
    }

    .ai-container .copilot-preview-image{
        margin-top: 2em;
        width: 70%;
    }

    .ai-container .text-container{
        display: flex;
        flex-direction: column;
        gap: 2em;
        justify-self: center;
        margin-top: 2em;
    }

    .ai-container .text-container .text{
        display: flex;
        flex-direction: column;
        padding: 1em;
        backdrop-filter: blur(25px) saturate(151%);
        -webkit-backdrop-filter: blur(25px) saturate(151%);
        background-color: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.125);
        align-items: stretch;
        width: 98%;
        height: fit-content;
        border-radius: 3em;
    }

    .all-features-container{
        margin-top: 50em;
        display: flex;
        flex-direction: column;
        z-index: 2;
        padding: 1em;
    }

    .property-container {
        position: relative;
        text-align: center;
        margin-top: 2em;
        width: 100%;
        align-self: center;
        justify-self: center;
        padding-left: 2em;
        padding-right: 2em;
    }

    .property-text-icon-container {
        display: flex;
        flex-direction: column;
        justify-content: center; /* oder: space-evenly */
        align-items: center;
        width: 100%;
        gap: 2em; /* optional für gleichmäßige Abstände */
        font-size: 1.5em;
    }

    .property-text-icon-container .icon {
        width: 100%;
        padding: 0.5em;
        backdrop-filter: blur(25px) saturate(151%);
        -webkit-backdrop-filter: blur(25px) saturate(151%);
        background-color: rgba(255, 255, 255, 0.05);
        border-radius: 2em;
        border: 1px solid rgba(255, 255, 255, 0.125);
    }

    .property-text-icon-container .icon-number {
        display: flex;
        flex-direction: row;
        width: 100%;
        padding: 0.5em;
        backdrop-filter: blur(25px) saturate(151%);
        -webkit-backdrop-filter: blur(25px) saturate(151%);
        background-color: rgba(255, 255, 255, 0.05);
        border-radius: 2em;
        border: 1px solid rgba(255, 255, 255, 0.125);
        gap: 2em;
        text-align: center;
        align-content: center;
        justify-content: center;
        justify-items: center;
        align-items: center;
    }

    .property-text-icon-container .icon-number h5 {
        font-family: 'IBrand', sans-serif;
        letter-spacing: 0.05em;
        color: var(--mid-white);
        font-size: 3em;
    }

    .property-text-icon-container .icon-number p {
        color: var(--inactive-grey);
        font-size: 1.0em;
    }

    .function-container{
        padding-bottom: 2em;
        padding-top: 2em;
    }

    .function-text-icon-container {
        margin-top: 2em;
        grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
        gap: 2em;
        padding-right: 0;
        padding-left: 0;
        font-size: 1.5em;
    }

    .spacing{
        width: 100%;
        height: 10em;
    }

    .min-spacing{
        width: 100%;
        height: 5em;
    }
    
    .faq-container{
        padding-left: 1em;
        padding-right: 1em;
        font-size: 1.1em;
    }

    .price-container .price-package-container{
        display: inline-flex;
        flex-flow: row nowrap; /* wichtig: kein Zeilenumbruch */
        gap: 3em;
        margin-top: 2em;
        width: fit-content;
    }
    
    .scroll-container-x{
        padding-right: 3em;
        padding-left: 3em;
        width: 100%;
        overflow-x: auto;        /* nur horizontales Scrollen */
        overflow-y: hidden;      /* kein vertikales Scrollen */
        -webkit-overflow-scrolling: touch;  /* sanftes Scrollen auf iOS */
        scrollbar-color: rgba(255,255,255,0.0) transparent; /* Firefox */
        scrollbar-width: thin;
    }

    .scroll-container-x::-webkit-scrollbar {
        height: 8px;
    }

    .scroll-container-x::-webkit-scrollbar-thumb {
        background: rgba(255,255,255,0.0);
        border-radius: 4px;
    }

    .scroll-container-x::-webkit-scrollbar-track {
        background: transparent;
    }

    .book-appointment-container{
        margin-top: 10em;
        height: fit-content;
        animation: margin-top-keyframes 2s forwards;
        margin-left: 2em;
        margin-right: 2em;
        display: flex;
        flex-direction: column;
        text-align: center;
        align-content: center;
        align-items: center;
    }

    .book-appointment-container .book-container .select-container{
        display: flex;
        flex-direction: column;
    }

    .book-appointment-container .book-container .hour-list {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 2em;
        margin-top: 3em;
        text-align: center;
        align-content: center;
        align-items: center;
        justify-content: center;
        margin-bottom: 3em;
    }

    .book-appointment-container .book-container .select-container .calendar-container{
        display: flex;
        flex-direction: column;
        width: fit-content;
        padding: 2em;
        font-size: 0.8em;
    }

    .book-appointment-container .book-container .select-container .hour-container{
        display: flex;
        flex-direction: column;
        width: fit-content;
        padding: 2em;
        font-size: 0.8em;
    }

    .book-appointment-container .book-container .hour-list .button-day {
        width: 5em;
        height: 5em;
        border-radius: 1em;
        cursor: pointer;
        font-size: 1.3em;
        border: solid 0.1em var(--highlight-color);
        color: var(--highlight-color);
        background-color: var(--mid-white);
    }

    .book-appointment-container .book-container .selected-appointment-container h3{
        font-size: 1.5em;
    }

    .book-appointment-container .book-container .selected-appointment-container .selected-appointment{
        font-size: 1.5em;
        margin-top: 1em;
        font-weight: 600;
    }

    .book-appointment-container .input-container{
        position: relative;
        display: flex;
        flex-direction: column;
        width: fit-content;
        height: fit-content;
        border-radius: 4em;
        background-color: var(--mid-white);
        margin: 0;
        margin-top: 5em;
    }

    .book-appointment-container .input-container .input-appointment-infos-container{
        width: 95%;
        align-content: start;
        justify-content: start;
        text-align: start;
        padding: 3em;
    }

    .book-appointment-container .selected-appointment-container .select-appointment-button{
        background-color: var(--dark-white);
        width: 90%;
        padding: 0.5em 1em;
        border-radius: 1em;
        color: var(--inactive-grey);
        margin-top: 2.0em;
        font-size: 1.5em;
        border: solid 0.1em var(--inactive-grey);
        cursor: unset;
    }

    .pre-register-container{
        margin-left: 2em;
        margin-right: 2em;
    }

    .pre-register-container .email-container{
        position: relative;
        display: flex;
        flex-direction: column;
        width: 96%;
        height: fit-content;
        border-radius: 2em;
        background-color: var(--mid-white);
        margin: 0;
        padding: 2em;
    }

    .countdown-box small{
        font-size: 1.0em;
        margin-left: 0.2em;
    }

    .countdown-box span{
        font-size: 3.5em;
        margin-left: 0.2em;
        font-family: 'IBrand', sans-serif;
        letter-spacing: 0.05em;
    }

    .early-bird-container{
        justify-self: center;
        width: 40em;
        padding: 2em;
        padding-bottom: 1em;
        border-radius: 2em;
        border: 1px solid var(--inactive-grey);
    }
}

@media screen and (max-width: 500px) {
    html {
        font-size: 9px;
    }
}