:root {
    --bodystreet-red: #E2001A;
    --bodystreet-red-light: #f8ebec;
    --background-top: #000000;
    --background-bottom: #0c0c0cff;
    --button-hover: rgb(52, 52, 52);
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

select,
textarea,
input,
button,
details,
summary {
    font: inherit;
    letter-spacing: inherit;
    word-spacing: inherit;
    padding: 0.1rem;
}

html {
    font-size: 100%;
}

#main_logo {
    background-color: black;
    /* border-radius: 40px; */
}

body {
    font-family: 'Futura', 'Questrial', Arial, sans-serif;
    width: 100vw;
    height: 100vh;
    display: grid;
    justify-content: center;
    align-items: center;
    grid-template-rows: auto 1fr auto;
    grid-template-columns: 1fr;
    background: linear-gradient(var(--background-top), var(--background-bottom));
    color: white;
    line-height: 1.5;

}

header,
footer {
    display: grid;
    justify-items: center;
    grid-auto-flow: row;
    padding: 0.2rem;
}

a {
    color: white;
}

mark {
    color: black;
    background-color: var(--bodystreet-red);
    border-radius: 0.4rem;
}

hr {
    width: 90%;
    background-color: var(--bodystreet-red);
    border: none;
    height: 4px;
}

main {
    /* background-color: var(--bodystreet-red); */
    display: grid;
    overflow: scroll;
    width: 100%;
    height: 100%;
    justify-items: center;
    gap: 1rem;
}

section {
    display: grid;
    grid-auto-flow: row;
    gap: 1rem;
    padding: 0.5rem;
    justify-items: center;
    max-width: 100%;
}

section>* {
    max-width: 100%;
    max-height: 40rem;
    border-radius: 2rem;
}

details {
    text-align: left;
    justify-self: left;
    width: 100%;
    border: 2px solid var(--button-hover);
    padding: 0.5rem;
    border-radius: 4px;
    margin-bottom: 0.4rem;
}

details:hover:not([open]) {
    background-color: var(--button-hover);
}

details>summary {
    list-style-type: '👉';
    cursor: pointer;
}

details:not([open])>summary:hover {
    background-color: var(--button-hover);
    border-radius: 4px;
}


details[open]>summary {
    list-style-type: '👇';
}


details[open]>div {
    margin-left: 1rem;
    background-color: var(--background-bottom);
    border-radius: 4px;
}

.bullet-point {
    display: inline-block;
}

.bullet-point::before {
    content: "•";
    padding-right: 1rem;

}


#rückenschmerzen>* {
    max-width: 100%;
    max-height: 40rem;
    border-radius: 2rem;
}

.fat-text {
    font-size: 1.75rem;
    font-weight: bold;
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
}

.small-text {
    line-height: 1.7;
    font-size: 1.1rem;
    padding: 1rem;
}

#rückenschmerzen-subtext {
    font-size: 1.5rem;
    font-weight: bold;
}

.probetermin {
    display: grid;
    grid-auto-flow: row;
    gap: 1rem;
    padding: 0.5rem;
    justify-items: center;
    max-width: 100%;
}



.kostenlos {
    align-self: center;
}

.small-text>mark,
#kurzbeschreibung>*>mark,
#deadline>mark,
#sign-up-form>*>mark,
.kostenlos>mark,
.bullet-point>mark,
.blinking>mark,
button>mark {
    color: var(--bodystreet-red);
    background-color: var(--background-top);
}

/* #caro-text,
#ems-text {
    text-decoration: underline;
} */

#caro-text>mark,
#ems-text>mark {
    color: var(--bodystreet-red);
    background-color: var(--background-top);
}

#caro-ems-anzug {
    max-width: 80%;
}

#kurzbeschreibung {
    padding: 1rem;
}

#vorteile-ems,
#fragen-antworten {
    text-align: left;
    min-width: 100%;
}

#faq {
    width: 100%;
}





#sign-up {
    position: absolute;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    border: 4px solid var(--bodystreet-red);
    display: grid;
    opacity: 1;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(30px);
    max-width: 100vw;
    max-height: 100vh;

}

#sign-up:not(:target):not([open]) {
    display: none;
    opacity: 0;
}


#rückenschmerzen-subtext {
    font-weight: bold;
    text-align: center;
    align-self: center;

}

@media (orientation: portrait) {
    #rückenschmerzen {
        display: grid;
        grid-auto-flow: row;
        gap: 1rem;
        padding: 0.5rem;
        justify-items: center;

    }

    #rückenschmerzen-text {
        text-align: center;
    }

    #kurzbeschreibung {
        justify-self: left;
        background-color: var(--background-bottom);
        line-height: 2;
        max-height: fit-content;
    }

}

@media (orientation: landscape) {

    .portrait_only {
        display: none;
    }


    #rückenschmerzen {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-flow: row;
        grid-template-rows: auto 1fr;
        gap: 1rem;
        padding: 2rem;
        grid-template-areas:
            'l r'
            'l s'
            'l k';
        max-width: 80%;
    }

    #rückenschmerzen-text {
        text-align: left;
        grid-area: r;
        font-size: 2.5rem;
    }

    #rückenschmerzen-bild {
        grid-area: l;
        justify-self: right;
    }

    #rückenschmerzen-subtext {
        grid-area: s;
    }

    #kurzbeschreibung {
        grid-area: k;
        align-self: start;
        line-height: 2;

        min-height: 100%;
        font-size: 1.1rem;
        margin-bottom: 10rem;
    }

    main>* {
        max-width: 60rem;
    }

}

#testemonial-sections {
    max-height: fit-content;
}

#testemonials {
    display: flex;
    flex-direction: row;
    overflow-x: scroll;
    max-height: fit-content;
    padding-bottom: 2rem;
    scroll-snap-type: x mandatory;
}

.testemonial {
    display: flex;
    flex-direction: column;
    max-width: 100vw;
    min-width: 100%;
    padding: 0.5rem 1rem;
    scroll-snap-align: center;
    /* max-height: 80vh;
    overflow: hidden; */
}

.testemonial_text {
    text-align: center;
    margin-bottom: 0.2rem;
    font-size: 1.2rem;
}

.testemonial_images {
    max-width: 100%;
    /* height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5rem; */
}

.testemonial_images>img {
    max-width: 100%;
    width: 100%;
    /* max-height: 100%;
    object-fit: contain;
    justify-self: flex-start; */

}




#sign-up-form {
    display: flex;
    flex-direction: column;
    width: min(60rem, 80vw);
    gap: 1rem;
}

button {
    max-width: 20rem;
    align-self: center;
    font-weight: bold;
    padding: 0.5rem;
    border: 2px solid var(--bodystreet-red);
    color: white;
    background-color: var(--background-top);
}

button:hover {
    background-color: var(--button-hover);
}


.probetraining-button {
    border: 4px solid var(--bodystreet-red-light);
    border-radius: 2rem;
    box-shadow:
        3px 0px 12px var(--bodystreet-red),
        -0px -3px 12px var(--bodystreet-red),
        0px 3px 12px var(--bodystreet-red),
        -3px -0px 12px var(--bodystreet-red);
    font-weight: bolder;
    font-size: 1.2rem;
}



#sign-up-form>label {
    font-size: 1.1rem;
}

#sign-up-form>input {
    background-color: var(--background-top);
    border: none;
    border-bottom: 2px solid var(--bodystreet-red);
    color: white;
    padding: 0.4rem;
    margin-bottom: 0.5rem;
}

@keyframes blinkblink {
    0% {
        opacity: 1;
        transform: scale(0);
    }

    50% {
        opacity: 0.75;
    }

    100% {
        opacity: 0;
        transform: scale(2);
    }
}

.blinking::before {
    content: "";
    background-color: var(--bodystreet-red);
    color: var(--bodystreet-red);
    border-radius: 50%;
    width: 1rem;
    height: 1rem;
    display: inline-block;
    animation: blinkblink 2s ease-out infinite;
    animation-delay: 0.2s;
    margin-right: 1rem;
    margin-top: 0.1rem;
}