*,
::before,
::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

* {
    margin: 0
}

body {
    overflow-x: hidden
}

.btn {background-color: var(--full)!important; padding: 10px 20px;}

:is(ul, ol) {
    padding-left: 0;
    margin-left: 1em
}

:is(ul, ol) :is(ul, ol) {
    margin-left: 2em
}

li:has(>ul, >ol) {
    margin-bottom: .5rem
}

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

:is(input, button, textarea, select) {
    font: inherit
}

:root {
    line-height: 1.6
}

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

:is(h1, h2, h3, h4, h5, h6) {
    text-wrap: balance;
    line-height: 1.3
}

:is(p, li, figcaption) {
    text-wrap: pretty
}

:is(header, main, footer, section, article) {
    container-type: inline-size
}

@font-face {
    font-family: "Aloevera Display";
    src: url("../fonts/AloeveraDisplay-Medium.woff2") format("woff2"), url("../fonts/AloeveraDisplay-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    text-rendering: geometricPrecision
}

@font-face {
    font-family: "Better Smile";
    src: url("../fonts/Better-Smile.otf") format("opentype"), url("../fonts/Better-Smile.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    text-rendering: geometricPrecision
}

@font-face {
    font-family: "JUST Sans";
    src: url("../fonts/JUST-Sans-Regular.woff2") format("woff2"), url("../fonts/JUST-Sans-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    text-rendering: geometricPrecision
}

@font-face {
    font-family: "JUST Sans";
    src: url("../fonts/JUST-Sans-Medium.woff2") format("woff2"), url("../fonts/JUST-Sans-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    text-rendering: geometricPrecision
}

* {
    scroll-behavior: smooth;
    scroll-padding-top: 100px
}

:root {
    --white: rgba(244, 244, 244, 1);
    --bright: rgba(241, 241, 241, 1);
    --darker: rgba(225, 225, 225, 1);
    --text: rgba(110, 110, 110, 1);
    --headline: rgba(28, 28, 28, 1);
    --full: rgba(207, 62, 67, 1);
    --full-t: rgba(207, 62, 67, 0.5);
    --bloom: rgba(219, 143, 145, 1);
    font-family: "JUST Sans", sans-serif;
    color: var(--text)
}

*:not(p, a, span) strong {
    font-family: "Better Smile", sans-serif;
    color: var(--full);
    display: block;
    text-shadow: 0.1875px 0.1875px var(--bright), -0.1875px -0.1875px var(--bright), 0.1875px -0.1875px var(--bright), -0.1875px 0.1875px var(--bright), 0 0.1875px var(--bright), 0 -0.1875px var(--bright), 0.375px 0.375px var(--bright), -0.375px -0.375px var(--bright), 0.375px -0.375px var(--bright), -0.375px 0.375px var(--bright), 0 0.375px var(--bright), 0 -0.375px var(--bright), 0.5625px 0.5625px var(--bright), -0.5625px -0.5625px var(--bright), 0.5625px -0.5625px var(--bright), -0.5625px 0.5625px var(--bright), 0 0.5625px var(--bright), 0 -0.5625px var(--bright), 0.75px 0.75px var(--bright), -0.75px -0.75px var(--bright), 0.75px -0.75px var(--bright), -0.75px 0.75px var(--bright), 0 0.75px var(--bright), 0 -0.75px var(--bright), 0.9375px 0.9375px var(--bright), -0.9375px -0.9375px var(--bright), 0.9375px -0.9375px var(--bright), -0.9375px 0.9375px var(--bright), 0 0.9375px var(--bright), 0 -0.9375px var(--bright), 1.125px 1.125px var(--bright), -1.125px -1.125px var(--bright), 1.125px -1.125px var(--bright), -1.125px 1.125px var(--bright), 0 1.125px var(--bright), 0 -1.125px var(--bright), 1.3125px 1.3125px var(--bright), -1.3125px -1.3125px var(--bright), 1.3125px -1.3125px var(--bright), -1.3125px 1.3125px var(--bright), 0 1.3125px var(--bright), 0 -1.3125px var(--bright), 1.5px 1.5px var(--bright), -1.5px -1.5px var(--bright), 1.5px -1.5px var(--bright), -1.5px 1.5px var(--bright), 0 1.5px var(--bright), 0 -1.5px var(--bright), 1.6875px 1.6875px var(--bright), -1.6875px -1.6875px var(--bright), 1.6875px -1.6875px var(--bright), -1.6875px 1.6875px var(--bright), 0 1.6875px var(--bright), 0 -1.6875px var(--bright), 1.875px 1.875px var(--bright), -1.875px -1.875px var(--bright), 1.875px -1.875px var(--bright), -1.875px 1.875px var(--bright), 0 1.875px var(--bright), 0 -1.875px var(--bright), 2.0625px 2.0625px var(--bright), -2.0625px -2.0625px var(--bright), 2.0625px -2.0625px var(--bright), -2.0625px 2.0625px var(--bright), 0 2.0625px var(--bright), 0 -2.0625px var(--bright), 2.25px 2.25px var(--bright), -2.25px -2.25px var(--bright), 2.25px -2.25px var(--bright), -2.25px 2.25px var(--bright), 0 2.25px var(--bright), 0 -2.25px var(--bright), 2.4375px 2.4375px var(--bright), -2.4375px -2.4375px var(--bright), 2.4375px -2.4375px var(--bright), -2.4375px 2.4375px var(--bright), 0 2.4375px var(--bright), 0 -2.4375px var(--bright), 2.625px 2.625px var(--bright), -2.625px -2.625px var(--bright), 2.625px -2.625px var(--bright), -2.625px 2.625px var(--bright), 0 2.625px var(--bright), 0 -2.625px var(--bright), 2.8125px 2.8125px var(--bright), -2.8125px -2.8125px var(--bright), 2.8125px -2.8125px var(--bright), -2.8125px 2.8125px var(--bright), 0 2.8125px var(--bright), 0 -2.8125px var(--bright), 3px 3px var(--bright), -3px -3px var(--bright), 3px -3px var(--bright), -3px 3px var(--bright), 0 3px var(--bright), 0 -3px var(--bright)
}

p strong {
    text-shadow: none;
    font-family: "JUST Sans", sans-serif;
    color: var(--headline)
}

header strong {
    text-shadow: 0.28125px 0.28125px var(--bright), -0.28125px -0.28125px var(--bright), 0.28125px -0.28125px var(--bright), -0.28125px 0.28125px var(--bright), 0 0.28125px var(--bright), 0 -0.28125px var(--bright), 0.5625px 0.5625px var(--bright), -0.5625px -0.5625px var(--bright), 0.5625px -0.5625px var(--bright), -0.5625px 0.5625px var(--bright), 0 0.5625px var(--bright), 0 -0.5625px var(--bright), 0.84375px 0.84375px var(--bright), -0.84375px -0.84375px var(--bright), 0.84375px -0.84375px var(--bright), -0.84375px 0.84375px var(--bright), 0 0.84375px var(--bright), 0 -0.84375px var(--bright), 1.125px 1.125px var(--bright), -1.125px -1.125px var(--bright), 1.125px -1.125px var(--bright), -1.125px 1.125px var(--bright), 0 1.125px var(--bright), 0 -1.125px var(--bright), 1.40625px 1.40625px var(--bright), -1.40625px -1.40625px var(--bright), 1.40625px -1.40625px var(--bright), -1.40625px 1.40625px var(--bright), 0 1.40625px var(--bright), 0 -1.40625px var(--bright), 1.6875px 1.6875px var(--bright), -1.6875px -1.6875px var(--bright), 1.6875px -1.6875px var(--bright), -1.6875px 1.6875px var(--bright), 0 1.6875px var(--bright), 0 -1.6875px var(--bright), 1.96875px 1.96875px var(--bright), -1.96875px -1.96875px var(--bright), 1.96875px -1.96875px var(--bright), -1.96875px 1.96875px var(--bright), 0 1.96875px var(--bright), 0 -1.96875px var(--bright), 2.25px 2.25px var(--bright), -2.25px -2.25px var(--bright), 2.25px -2.25px var(--bright), -2.25px 2.25px var(--bright), 0 2.25px var(--bright), 0 -2.25px var(--bright), 2.53125px 2.53125px var(--bright), -2.53125px -2.53125px var(--bright), 2.53125px -2.53125px var(--bright), -2.53125px 2.53125px var(--bright), 0 2.53125px var(--bright), 0 -2.53125px var(--bright), 2.8125px 2.8125px var(--bright), -2.8125px -2.8125px var(--bright), 2.8125px -2.8125px var(--bright), -2.8125px 2.8125px var(--bright), 0 2.8125px var(--bright), 0 -2.8125px var(--bright), 3.09375px 3.09375px var(--bright), -3.09375px -3.09375px var(--bright), 3.09375px -3.09375px var(--bright), -3.09375px 3.09375px var(--bright), 0 3.09375px var(--bright), 0 -3.09375px var(--bright), 3.375px 3.375px var(--bright), -3.375px -3.375px var(--bright), 3.375px -3.375px var(--bright), -3.375px 3.375px var(--bright), 0 3.375px var(--bright), 0 -3.375px var(--bright), 3.65625px 3.65625px var(--bright), -3.65625px -3.65625px var(--bright), 3.65625px -3.65625px var(--bright), -3.65625px 3.65625px var(--bright), 0 3.65625px var(--bright), 0 -3.65625px var(--bright), 3.9375px 3.9375px var(--bright), -3.9375px -3.9375px var(--bright), 3.9375px -3.9375px var(--bright), -3.9375px 3.9375px var(--bright), 0 3.9375px var(--bright), 0 -3.9375px var(--bright), 4.21875px 4.21875px var(--bright), -4.21875px -4.21875px var(--bright), 4.21875px -4.21875px var(--bright), -4.21875px 4.21875px var(--bright), 0 4.21875px var(--bright), 0 -4.21875px var(--bright), 4.5px 4.5px var(--bright), -4.5px -4.5px var(--bright), 4.5px -4.5px var(--bright), -4.5px 4.5px var(--bright), 0 4.5px var(--bright), 0 -4.5px var(--bright)
}

:is(h1, h2, h3, h4, h5, h6) {
    font-family: "Aloevera Display", sans-serif;
    color: var(--headline);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    line-height: 1.1;
    margin-bottom: 1.5rem
}

:is(h1, h2, h3, h4, h5, h6) strong {
    position: relative;
    z-index: 2;
    margin-bottom: -0.2em;
    font-size: max(2rem, 1em)
}

@media(min-width: 1300px) {
    :is(h1, h2, h3, h4, h5, h6) strong {
        font-size: .9em
    }
}

h1 {
    font-size: 2.5rem
}

@media(min-width: 1300px) {
    h1 {
        font-size: clamp(2rem, 10vw, 5rem)
    }
}

h2 {
    font-size: clamp(1.5rem, 5vw, 3rem)
}

h3 {
    font-size: clamp(1.2rem, 3vw, 2rem)
}

h4 {
    font-size: clamp(1rem, 2vw, 1.5rem)
}

section h2:not(:first-of-type) {
    margin-top: 5rem
}

button,
.button,
[role=button] {
    cursor: pointer;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-decoration: none;
    gap: 1rem;
    font-family: "Aloevera Display", sans-serif;
    border: none;
    border-radius: 200px;
    background: var(--bloom);
    color: var(--white);
    padding: .4em 1.8em .4em .4em;
    margin-top: 1.5rem;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out
}

button span,
.button span,
[role=button] span {
    position: relative;
    z-index: 2;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    text-align: left;
    -webkit-transform-origin: left;
    -ms-transform-origin: left;
    transform-origin: left
}

button.gray,
.button.gray,
[role=button].gray {
    background: var(--darker);
    color: var(--headline)
}

button.no-margin,
.button.no-margin,
[role=button].no-margin {
    margin: 0
}

button::after,
.button::after,
[role=button]::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 6px);
    background-color: rgba(0, 0, 0, 0)
}

button::before,
.button::before,
[role=button]::before {
    position: relative;
    content: "";
    background: url("../images/arrow-right.webp") no-repeat center/50%, var(--white);
    border-radius: 50%;
    width: 2em;
    height: 2em;
    left: 0;
    -webkit-transition: left .3s ease-in-out;
    transition: left .3s ease-in-out
}

@media(hover: hover) {

    button:hover,
    .button:hover,
    [role=button]:hover {
        background: var(--full)
    }

    button:hover::before,
    .button:hover::before,
    [role=button]:hover::before {
        left: 95%
    }

    button:hover span,
    .button:hover span,
    [role=button]:hover span {
        -webkit-transform: translateX(-20%);
        -ms-transform: translateX(-20%);
        transform: translateX(-20%);
        color: var(--white)
    }
}

header {
    position: relative;
    background-color: var(--white);
    height: 100vh
}

header .header__content {
    position: absolute;
    text-align: center;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    padding-inline: 1rem;
    left: 50%;
    top: 65%
}

@media(min-width: 1300px) {
    header .header__content {
        text-align: left;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
        width: 500px;
        left: 130px;
        top: 30%
    }
}

header .header__image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 55%;
    background: url("../images/frau-entspannt-auf-einer-bruecke.webp") no-repeat -145vw 50%/300%;
    -webkit-clip-path: ellipse(200% 100% at 50% 0%);
    clip-path: ellipse(200% 100% at 50% 0%)
}

@media(min-width: 700px) {
    header .header__image {
        background-position: -80vw center;
        background-size: 200%
    }
}

@media(min-width: 1300px) {
    header .header__image {
        background-position: -50vw center;
        background-size: 220%;
        left: unset;
        bottom: 10vh;
        -webkit-clip-path: ellipse(100% 200% at 100% 50%);
        clip-path: ellipse(100% 200% at 100% 50%);
        height: 100%;
        width: max(55vw, 450px)
    }
}

body.show-nav .mobile-links {
    top: 0;
    pointer-events: all
}

body.show-nav #hamburger .dash:nth-child(1) {
    -webkit-transform: translateX(-50%) rotate(45deg);
    -ms-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
    background-color: #fff;
    z-index: 3;
    top: 50%
}

body.show-nav #hamburger .dash:nth-child(2) {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: calc(100% + 12px);
    width: calc(100% + 12px);
    background-color: var(--full);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center
}

body.show-nav #hamburger .dash:nth-child(3) {
    -webkit-transform: translateX(-50%) rotate(-45deg);
    -ms-transform: translateX(-50%) rotate(-45deg);
    transform: translateX(-50%) rotate(-45deg);
    background-color: #fff;
    z-index: 3;
    top: 50%
}

.mobile-links {
    position: fixed;
    z-index: 90;
    top: -480px;
    left: 0;
    width: 100%;
    background-color: var(--white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    pointer-events: none;
    -webkit-transition: all 500ms cubic-bezier(0.5, 0, 0.5, 1);
    transition: all 500ms cubic-bezier(0.5, 0, 0.5, 1);
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 6rem 1.5rem 2rem
}

.mobile-links ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1rem;
    list-style: none;
    font-family: "Aloevera Display", sans-serif;
    font-size: 1.5rem;
    font-weight: 500
}

.mobile-links ul a {
    text-decoration: none;
    color: var(--headline)
}

@media(hover: hover) {
    .mobile-links ul a:hover {
        color: var(--full)
    }
}

nav {
    position: sticky;
    z-index: 98;
    top: 0;
    left: 0;
    width: 100%;
    background: url("../images/creamy-gradient-texture.webp") no-repeat center/cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 25px 10px;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out
}

@media(min-width: 1300px) {
    nav {
        padding: 25px 130px
    }
}

nav.sticky {
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
    padding: 5px 10px
}

@media(min-width: 1300px) {
    nav.sticky {
        padding: 5px 130px
    }
}

nav.sticky #logo {
    width: 100px
}

nav #logo {
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    width: 200px
}

nav ul {
    display: none;
    list-style: none;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: min(10vw, 3.5rem)
}

nav ul a {
    text-decoration: none;
    font-family: "Aloevera Display", sans-serif;
    font-size: clamp(1.2rem, .5vw, 1.5rem);
    font-weight: 400;
    color: var(--headline)
}

#hamburger {
    position: relative;
    z-index: 3;
    width: 24px;
    height: 24px;
    background: rgba(0, 0, 0, 0);
    cursor: pointer
}

#hamburger .dash {
    position: absolute;
    width: 100%;
    height: 2px;
    left: 50%;
    background: var(--headline);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition-duration: 250ms;
    transition-duration: 250ms
}

#hamburger .dash:nth-child(1) {
    top: 20%
}

#hamburger .dash:nth-child(2) {
    top: 50%
}

#hamburger .dash:nth-child(3) {
    top: 80%
}

@media(min-width: 800px) {
    #hamburger {
        display: none
    }

    nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

section:has(.wrap):not(:first-of-type) .wrap:first-of-type {
    padding-top: 0 !important
}

.wrap {
    width: min(95%, 1600px);
    margin-inline: auto;
    padding-block: 3rem
}

@media(min-width: 1300px) {
    .wrap {
        padding-block: 5rem
    }
}

.wrap.no-vertical {
    padding-block: 0
}

#ueber-uns,
#info {
    position: relative;
    overflow: hidden;
    text-align: center
}

#ueber-uns img,
#info img {
    position: absolute;
    top: -2rem;
    right: -2rem;
    max-width: min(70%, 300px)
}

#ueber-uns p,
#info p {
    width: min(95%, 70ch);
    margin-inline: auto
}

a {
    color: var(--full)
}

#info {
    text-align: left
}

#info .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem
}

@media(min-width: 1300px) {
    #info .wrap {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        gap: max(10vw, 5rem);
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }

    #info .wrap > * {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

#info .wrap strong {
    display: inline-block
}

#info p {
    margin: 0
}

#angebote {
    position: relative;
    overflow: hidden
}

#angebote #agilamed-logo {
    width: 200px;
    margin-top: 1.5rem
}

@media(min-width: 1300px) {
    #angebote .wrap > img {
        position: absolute;
        bottom: min(72vw, 1100px);
        left: -4rem;
        width: 47%;
        height: 47%;
        -o-object-fit: contain;
        object-fit: contain
    }
}

#galerie {
    text-align: center
}

#galerie .splide__slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 15px
}

.space {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem
}

@media(min-width: 1300px) {
    .flex {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        gap: 3rem
    }

    .flex > * {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

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

@media(min-width: 1300px) {
    .grid {
        grid-template-columns: 1fr 1fr;
        gap: 10vmin
    }
}

.grid p {
    margin-top: 1.5rem
}

.cta {
    background: url("../images/creamy-gradient-texture.webp") no-repeat center/cover;
    overflow: hidden;
    border-radius: 20px;
    padding: 1.5rem;
    z-index: 80;
    position: relative
}

@media(min-width: 1300px) {
    .cta {
        padding: min(5vmax, 5rem)
    }
}

main {
    background-color: var(--bright)
}

footer {
    padding: 1rem
}

@media screen and (min-width: 1300px) {
    footer {
        padding: max(10vh, 20px) 0 max(5vh, 10px)
    }
}

footer > div {
    border-radius: 15px;
    background: url("../images/creamy-gradient-texture.webp") center center/cover;}

footer > div div:first-child {
    padding: 1rem
}

@media(min-width: 600px) {
    footer > div div:first-child {
        padding: 2rem
    }
}

@media screen and (min-width: 1300px) {
    footer > div div:first-child {
        padding: max(3vmax, 3rem)
    }
}

@media screen and (min-width: 1300px) {
    footer > div {
        width: min(95%, 1600px);
        margin-inline: auto
    }
}

footer strong {
    text-shadow: none !important;
    margin-bottom: 0 !important
}

footer div div > strong {
    font-family: "JUST Sans", sans-serif !important;
    color: var(--headline)
}

footer a {
    text-decoration: underline
}

.dsa-cookie strong {
    text-shadow: none !important
}

.recht {
    position: fixed;
    z-index: 100;
    right: -2.1rem;
    bottom: 20vh;
    -webkit-transform: translate(calc(50% - 1rem), calc(-100% - 4rem)) rotate(-90deg);
    -ms-transform: translate(calc(50% - 1rem), calc(-100% - 4rem)) rotate(-90deg);
    transform: translate(calc(50% - 1rem), calc(-100% - 4rem)) rotate(-90deg);
    padding: .5rem 2rem;
    background-color: var(--full);
    border-radius: 30px 30px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    color: #fff;
    font-size: .8rem;
    -webkit-transition-duration: 250ms;
    transition-duration: 250ms
}

.recht.active {
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, .2);
    box-shadow: 0 0 15px rgba(0, 0, 0, .2);
    right: 0
}

@media(hover: hover) {
    .recht.active:hover {
        -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, .2), 0 0 0 10px var(--full-t);
        box-shadow: 0 0 15px rgba(0, 0, 0, .2), 0 0 0 10px var(--full-t)
    }
}

.recht a {
    text-decoration: none;
    cursor: pointer;
    color: #fff
}

body:has(.preview-mount.show),
body:has(.preview-mount.animating) {
    overflow: hidden
}

.preview-mount,
.preview-content {
    z-index: 9999;
    position: fixed;
    background-color: #fff;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 90vh;
    pointer-events: none
}

.preview-mount {
    height: 100%;
    background-color: rgba(0, 0, 0, .7);
    opacity: 0;
    -webkit-transition-duration: 500ms;
    transition-duration: 500ms
}

.preview-mount.show {
    pointer-events: all;
    opacity: 1
}

.preview-content {
    border-radius: 0;
    bottom: -100%;
    -webkit-transition: border-radius 350ms 150ms ease-in-out, bottom 500ms cubic-bezier(0.5, 0, 0.5, 1);
    transition: border-radius 350ms 150ms ease-in-out, bottom 500ms cubic-bezier(0.5, 0, 0.5, 1);
    overflow: hidden;
    padding-bottom: 0
}

.preview-content > div {
    height: 100%;
    overflow: hidden
}

.preview-content::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: max(10vmax, 4.5rem);
    z-index: 5;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(20%, #fff), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to top, #fff 20%, rgba(255, 255, 255, 0))
}

.preview-content > div > div {
    overflow-y: auto;
    width: 100%;
    height: 100%;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.preview-content > div > div::-webkit-scrollbar {
    width: 0;
    height: 0
}

.preview-content > div > div > div {
    width: min(95%, 90ch);
    margin-inline: auto
}

.preview-mount.show .preview-content {
    pointer-events: all;
    border-radius: 50% 50% 0% 0%/10% 10% 0% 0%;
    bottom: 0
}

.preview-close {
    position: fixed;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    left: 50%;
    top: -60px;
    width: 32px;
    height: 32px;
    background: rgba(0, 0, 0, 0);
    cursor: pointer;
    -webkit-transition-duration: 500ms;
    transition-duration: 500ms
}

.preview-close::before,
.preview-close::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 3px;
    background: #bbb;
    border-radius: 3px;
    top: 50%;
    left: 50%
}

.preview-close::before {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.preview-close::after {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

.preview-mount.show .preview-close {
    top: 2rem
}

@media(hover: hover) {
    .preview-close:hover {
        -webkit-transform: translateX(-50%) scale(1.3) rotate(90deg);
        -ms-transform: translateX(-50%) scale(1.3) rotate(90deg);
        transform: translateX(-50%) scale(1.3) rotate(90deg)
    }
}

@media(min-width: 1000px) {
    .preview-content {
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, .07);
        box-shadow: 0 0 25px rgba(0, 0, 0, .07);
        left: 50%;
        width: 100%
    }
}

.preview-content ul {
    margin-block: 5rem 5rem;
    list-style-type: none;
    margin-left: 0;
    padding-left: 0
}

.preview-content ul.grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem
}

.preview-content ul.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem
}

.preview-content ul.flex li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1rem;
    text-align: left
}

@media(min-width: 800px) {
    .preview-content ul.flex li {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: min(6rem, max(8ch, 7.5vw))
    }

    .preview-content ul.flex li :nth-child(1) {
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        hyphens: auto;
        width: 12.5ch
    }

    .preview-content ul.flex li :nth-child(2) {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}

.preview-content ul:first-child {
    margin-top: 0
}

.preview-content ul:last-child {
    margin-bottom: 0
}

.preview-content ul li {
    padding: 1rem;
    border-radius: 15px;
    border: 1px solid #ccc
}

.preview-content p {
    margin-inline: auto;
    max-width: 60ch
}

.preview-content strong {
    text-shadow: 0.1875px 0.1875px #fff, -0.1875px -0.1875px #fff, 0.1875px -0.1875px #fff, -0.1875px 0.1875px #fff, 0 0.1875px #fff, 0 -0.1875px #fff, 0.375px 0.375px #fff, -0.375px -0.375px #fff, 0.375px -0.375px #fff, -0.375px 0.375px #fff, 0 0.375px #fff, 0 -0.375px #fff, 0.5625px 0.5625px #fff, -0.5625px -0.5625px #fff, 0.5625px -0.5625px #fff, -0.5625px 0.5625px #fff, 0 0.5625px #fff, 0 -0.5625px #fff, 0.75px 0.75px #fff, -0.75px -0.75px #fff, 0.75px -0.75px #fff, -0.75px 0.75px #fff, 0 0.75px #fff, 0 -0.75px #fff, 0.9375px 0.9375px #fff, -0.9375px -0.9375px #fff, 0.9375px -0.9375px #fff, -0.9375px 0.9375px #fff, 0 0.9375px #fff, 0 -0.9375px #fff, 1.125px 1.125px #fff, -1.125px -1.125px #fff, 1.125px -1.125px #fff, -1.125px 1.125px #fff, 0 1.125px #fff, 0 -1.125px #fff, 1.3125px 1.3125px #fff, -1.3125px -1.3125px #fff, 1.3125px -1.3125px #fff, -1.3125px 1.3125px #fff, 0 1.3125px #fff, 0 -1.3125px #fff, 1.5px 1.5px #fff, -1.5px -1.5px #fff, 1.5px -1.5px #fff, -1.5px 1.5px #fff, 0 1.5px #fff, 0 -1.5px #fff, 1.6875px 1.6875px #fff, -1.6875px -1.6875px #fff, 1.6875px -1.6875px #fff, -1.6875px 1.6875px #fff, 0 1.6875px #fff, 0 -1.6875px #fff, 1.875px 1.875px #fff, -1.875px -1.875px #fff, 1.875px -1.875px #fff, -1.875px 1.875px #fff, 0 1.875px #fff, 0 -1.875px #fff, 2.0625px 2.0625px #fff, -2.0625px -2.0625px #fff, 2.0625px -2.0625px #fff, -2.0625px 2.0625px #fff, 0 2.0625px #fff, 0 -2.0625px #fff, 2.25px 2.25px #fff, -2.25px -2.25px #fff, 2.25px -2.25px #fff, -2.25px 2.25px #fff, 0 2.25px #fff, 0 -2.25px #fff, 2.4375px 2.4375px #fff, -2.4375px -2.4375px #fff, 2.4375px -2.4375px #fff, -2.4375px 2.4375px #fff, 0 2.4375px #fff, 0 -2.4375px #fff, 2.625px 2.625px #fff, -2.625px -2.625px #fff, 2.625px -2.625px #fff, -2.625px 2.625px #fff, 0 2.625px #fff, 0 -2.625px #fff, 2.8125px 2.8125px #fff, -2.8125px -2.8125px #fff, 2.8125px -2.8125px #fff, -2.8125px 2.8125px #fff, 0 2.8125px #fff, 0 -2.8125px #fff, 3px 3px #fff, -3px -3px #fff, 3px -3px #fff, -3px 3px #fff, 0 3px #fff, 0 -3px #fff
}

.preview-content {
    text-align: center
}

@media(min-width: 800px) {
    .preview-content ul.grid {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem
    }

    .preview-content ul li {
        padding: 2.5rem;
        border-radius: 20px
    }
}

.preview-content .padding-fix {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-block: max(10vmin, 2rem)
}

::-webkit-scrollbar {
    width: 20px
}

#bildquellen {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: .5rem
}
