* {
    box-sizing: border-box;
    margin: 0
}

:after, :before {
    box-sizing: inherit
}

canvas, img, picture, svg, video {
    display: block;
    max-width: 100%
}

button {
    appearance: none;
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit
}

:root {
    --color-white: #fff;
    --color-black: #000;
    --color-green: #187035;
    --color-red: #e22020;
    --color-primary: var(--color-green);
    --color-secondary: var(--color-red);
    --color-col-1: #dbff61;
    --color-col-2: #b4d993;
    --color-col-3: #c5de8a;
    --color-col-4: #dedc8a;
    --color-col-5: #c8d98a;
    --color-col-6: #b5db86;
    --color-font-main: #1f1f1f;
    --color-body: #fffbd1;
    --color-footer: #fffcde;
    --color-gray-0: #dedcdb;
    --color-gray-1: #f3f1f0;
    --color-gray-2: #d9dce4;
    --color-gray-3: #e2ecf4;
    --color-print: #000;
    --color-border: #adacac;
    --color-link: var(--color-black);
    --color-link-textdecoration: #343434;
    --text-decoration-height: 0.063rem;
    --text-decoration-space: 0.25rem;
    --font-family: "Open Sans", sans-serif;
    --font-family-headline: "Open Sans", sans-serif;
    --font-size-base: 100%;
    --font-size-main: 1.125rem;
    --font-size-large: calc(var(--font-size-main) * 1.1);
    --font-size-largest: calc(var(--font-size-main) * 1.25);
    --font-size-small: calc(var(--font-size-main) * 0.9);
    --font-size-smallest: calc(var(--font-size-main) * 0.8);
    --font-size-print: 0.6875rem;
    --font-size-formfield: clamp(1rem, 1em, 1em);
    --font-weight-light: 300;
    --font-weight-main: var(--font-weight-light);
    --font-weight-bold: 500;
    --font-weight-headline: 500;
    --font-weight-link: 300;
    --line-height-main: 1.5;
    --line-height-headline: 1.15;
    --line-height-small: 1.2;
    --wrapper-hori-padding: 2.25rem;
    --focus-outline-color: var(--color-green);
    --focus-outline-width: 0.125rem;
    --focus-outline-style: solid;
    --focus-outline-offset: 0.125rem;
    --focus-outline-transition-duration: 200ms;
    --transition-duration-short: 200ms;
    --font-size-h1: 2.125rem;
    --font-size-h2: 1.4rem;
    --font-size-h3: 1.25rem;
    --font-size-h4: 1.5rem;
    --font-size-h5: 1.375rem;
    --content-max: 90rem;
    --content-col-width: 22rem;
    --content-col-padding: 2.5rem;
    --content-col-gap: 5rem;
    --content-main-max-width: 37.5rem;
    --header-hight: 4.5rem
}

.link:focus-visible, .m-footer__links a:focus-visible, .m-header__hamburger:focus-visible, .m-header__logo a:focus-visible, .m-header__nav-mobile a:focus-visible {
    outline: var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color);
    outline-offset: var(--focus-outline-offset)
}

body {
    background-color: var(--color-body);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    width: 100%;
    position: relative
}

body:after {
    content: "";
    background-color: rgba(0, 0, 0, .2);
    backdrop-filter: blur(.25rem);
    display: block;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    visibility: hidden;
    width: 100%;
    transition: opacity .1s
}

body:has(.m-header.mobile-nav-open):after {
    opacity: 1;
    visibility: visible
}

img {
    image-rendering: -webkit-optimize-contrast
}

.clearer {
    display: none
}

.spacer {
    margin-top: 2.5rem
}

.content {
    display: flex;
    gap: var(--content-col-gap);
    margin-top: -7rem;
    margin-inline: auto;
    max-width: var(--content-max);
    padding-left: var(--wrapper-hori-padding);
    padding-right: var(--wrapper-hori-padding);
    position: relative
}

.content-col, .content-main {
    box-shadow: 0 -.625rem 1.25rem 1.75rem var(--color-body);
    padding-bottom: 7rem
}

.content-main {
    --margin-top: 1rem;
    background-color: var(--color-body);
    margin-top: 1.5rem;
    width: 100%
}

.content-main__headline {
    margin-bottom: 2.5rem;
    padding-bottom: .5rem;
    position: relative
}

.content-main__headline:after {
    width: 100%;
    height: .0625rem;
    content: "";
    background-color: var(--color-primary);
    display: block;
    position: absolute;
    bottom: 0;
    right: 0
}

.content-main__headline h1 {
    color: var(--color-primary);
    font-style: italic;
    font-weight: var(--font-weight-headline)
}

.content-main__headline h1:before {
    --nav-bullet-size-m: 1.3rem;
    content: "";
    background-color: var(--color-secondary);
    border-radius: 50%;
    display: inline-block;
    height: var(--nav-bullet-size-m);
    width: var(--nav-bullet-size-m);
    margin-right: .25em;
    transition: background-color var(--transition-duration-short)
}

.content-main__headline h1.logo {
    --logo-bullet-size: 0.9rem;
    position: relative;
    font-size: 3.5rem;
    text-align: right
}

.content-main__headline h1.logo:before {
    background-color: var(--color-secondary);
    border-radius: 50%;
    content: "";
    display: block;
    margin-right: 0;
    position: absolute;
    top: .4375rem;
    right: 3.125rem;
    height: var(--logo-bullet-size);
    width: var(--logo-bullet-size)
}

.content-main ul {
    --shift: 1.063rem;
    --dot-size: 0.438rem;
    --dot-size-level-2: 0.438rem;
    --dot-size-level-3: 0.375rem;
    list-style: none;
    padding-left: var(--shift)
}

.content-main ul, .content-main ul li {
    --margin-top: 0.25rem
}

.content-main ul li:before {
    --dot-half-size: calc(0.5 * var(--dot-size));
    --dot-shift: calc(var(--font-size-main) * var(--line-height-main) * 0.5 + var(--dot-half-size));
    background-color: currentColor;
    border-radius: 50%;
    display: block;
    content: "";
    height: var(--dot-size);
    left: calc(-1 * var(--shift) + var(--dot-size));
    margin-left: calc(-1 * var(--dot-size));
    position: relative;
    transform: translateY(var(--dot-shift));
    width: var(--dot-size)
}

.content-main .list-bold-no-bullets {
    --margin-top: 1rem;
    font-weight: var(--font-weight-bold);
    list-style: none;
    padding-left: 15%;
    margin-top: var(--margin-top)
}

.content-main .list-bold-no-bullets li:before {
    content: none
}

.content-main .teacher__pre-text {
    display: none;
    margin-bottom: 2.5rem
}

.content-main .teacher__list {
    display: flex;
    flex-direction: column;
    gap: 3rem
}

.content-main .teacher__item {
    display: flex;
    line-height: var(--line-height-small);
    gap: .5rem 1rem;
    display: grid;
    grid-template-columns:5.6875rem auto 6.875rem;
    grid-template-rows:auto;
    grid-template-areas:"a b c"
}

.content-main .teacher__item-img {
    border-radius: 50%;
    height: 5.6875rem;
    width: 5.6875rem;
    flex-shrink: 0;
    overflow: hidden;
    grid-area: a
}

.content-main .teacher__item img {
    object-fit: cover;
    object-position: center
}

.content-main .teacher__item .icon {
    display: inline-block
}

.content-main .teacher__item p {
    font-size: var(--font-size-small)
}

.content-main .teacher__item-plz {
    --border-color: var(--color-col-1);
    grid-area: c;
    flex-shrink: 0;
    padding-left: .625rem;
    border-left: .0625rem solid var(--border-color)
}

.content-main .teacher__item-plz p {
    display: flex;
    flex-direction: column;
    font-weight: var(--font-weight-bold)
}

.content-main .teacher__item-text-wrapper {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding-right: .625rem;
    grid-area: b
}

.content-main .teacher__item-details {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .125rem 1.25rem
}

.content-main .teacher__item-details div p {
    align-items: center;
    display: flex;
    gap: .375rem
}

.content-col {
    --margin-top: 1rem;
    border-radius: 1.25rem;
    flex-shrink: 0;
    order: -1;
    width: var(--content-col-width);
    background-color: var(--color-col-1);
    padding: var(--content-col-padding) var(--content-col-padding) 7rem
}

.content-col p {
    font-size: var(--font-size-small)
}

.content-col p:first-child {
    margin-top: .375rem
}

.content-col img {
    display: block;
    margin-inline: auto
}

.svg-icon {
    --icon-size: 1.2500rem;
    height: var(--icon-size);
    width: var(--icon-size)
}

.svg-icon .fill-color-secondary {
    fill: transparent
}

.svg-icon .stroke-color-main {
    fill: none;
    stroke-width: .6875rem;
    stroke: var(--color-font-main)
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 300;
    src: url(../Fonts/open-sans-v36-latin-300.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: italic;
    font-weight: 300;
    src: url(../Fonts/open-sans-v36-latin-300italic.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 400;
    src: url(../Fonts/open-sans-v36-latin-regular.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: italic;
    font-weight: 400;
    src: url(../Fonts/open-sans-v36-latin-italic.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 500;
    src: url(../Fonts/open-sans-v36-latin-500.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: italic;
    font-weight: 500;
    src: url(../Fonts/open-sans-v36-latin-500italic.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 700;
    src: url(../Fonts/open-sans-v36-latin-700.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Open Sans;
    font-style: italic;
    font-weight: 700;
    src: url(../Fonts/open-sans-v36-latin-700italic.woff2) format("woff2")
}

html {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-light);
    line-height: var(--line-height-main);
    color: var(--color-font-main);
    overflow-wrap: var(--overflow-wrap, break-word);
    hyphens: var(--hyphens, auto);
    hyphenate-limit-chars: 6 3 3;
    hyphenate-limit-lines: 2;
    hyphenate-limit-last: always;
    hyphenate-limit-zone: 8%;
    word-break: break-word;
    hyphenate-character: "-"
}

body {
    font-size: var(--font-size-main)
}

blockquote:first-child, h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, li:first-child, ol:first-child, p:first-child, ul:first-child {
    margin-top: 0
}

blockquote:only-child, h1:only-child, h2:only-child, h3:only-child, h4:only-child, h5:only-child, h6:only-child, li:only-child, ol:only-child, p:only-child, ul:only-child {
    margin-top: 0;
    margin-bottom: 0
}

blockquote:last-child, h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, li:last-child, ol:last-child, p:last-child, ul:last-child {
    margin-bottom: 0
}

ol, ul {
    list-style-position: inside
}

li, ol, p, ul {
    font-size: var(--font-size, var(--font-size-main));
    margin-top: var(--margin-top, 0);
    padding: 0
}

li b, li strong, ol b, ol strong, p b, p strong, ul b, ul strong {
    font-weight: var(--font-weight-bold)
}

p.fs-l {
    font-size: var(--font-size-large)
}

p.fw-b {
    font-weight: var(--font-weight-main)
}

a {
    color: currentColor;
    text-decoration: none
}

.link {
    background: linear-gradient(0deg, var(--color-col-1), var(--color-col-1)) no-repeat 100% 100%/0 100%;
    color: var(--color-link);
    font-weight: var(--font-weight-link);
    text-decoration-color: var(--color-link-textdecoration);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-thickness: .063rem;
    text-underline-offset: .125rem;
    transition: background-color var(--transition-duration-short), background-size var(--transition-duration-short), color var(--transition-duration-short)
}

.content-col .link {
    background: linear-gradient(0deg, var(--color-body), var(--color-body)) no-repeat 100% 100%/0 100%
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family-headline);
    font-size: var(--font-size);
    font-weight: var(--font-weight-headline);
    letter-spacing: var(--letter-spacing-headline, 0);
    line-height: var(--line-height-headline);
    margin-top: var(--margin-top-headline, 2.5em)
}

h1 {
    --font-size: var(--font-size-headline, var(--font-size-h1))
}

h2 {
    --font-size: var(--font-size-headline, var(--font-size-h2))
}

h3 {
    --font-size: var(--font-size-headline, var(--font-size-h3))
}

h4 {
    --font-size: var(--font-size-headline, var(--font-size-h4))
}

h5 {
    --font-size: var(--font-size-headline, var(--font-size-h5))
}

h6 {
    --font-size: var(--font-size-headline, var(--font-size-h6))
}

dl {
    display: grid;
    grid-template-columns:auto 1fr;
    grid-gap: 1rem;
    line-height: 1.2
}

dl dt {
    font-weight: var(--font-weight-main)
}

blockquote {
    font-style: italic;
}
blockquote.margin-top-xxl {
    margin-top: 26rem;
}

.m-footer {
    margin-inline: auto;
    max-width: var(--content-max);
    margin-top: -4.5rem;
    position: relative
}

.m-footer__wrapper {
    background-color: var(--color-primary);
    color: var(--color-footer);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem var(--content-col-gap);
    padding: .3125rem var(--wrapper-hori-padding)
}

.m-footer__logo {
    font-size: 1.75rem;
    font-style: italic;
    font-weight: var(--font-weight-main);
    line-height: 1.2;
    padding-left: var(--content-col-padding);
    width: var(--content-col-width)
}

.m-footer__content {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    font-size: var(--font-size-small);
    line-height: 1.2;
    align-items: center
}

.m-footer__links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}

.m-footer__links a {
    text-decoration-color: transparent;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-thickness: .0625rem;
    text-underline-offset: .125rem
}

.m-footer__links a:focus-visible {
    --focus-outline-color: var(--color-footer)
}

.m-header {
    --logo-bullet-size: 0.75rem;
    --nav-bullet-size-m: 1.3rem;
    --nav-bullet-size-s: 1rem;
    --nav-bullet-size-l: 2.8rem;
    --nav-bullet-shift: -0.5000rem
}

.m-header__wrapper {
    background-color: var(--color-body);
    display: flex;
    flex-direction: column;
    margin-inline: auto;
    max-width: var(--content-max);
    padding-left: var(--wrapper-hori-padding);
    padding-right: var(--wrapper-hori-padding);
    padding-top: 1.5rem
}

.m-header__logo {
    flex-shrink: 0;
    padding-left: var(--logo-padding-left)
}

.m-header__logo a {
    color: var(--color-primary);
    display: inline-block;
    font-style: italic;
    font-weight: var(--font-weight-bold);
    position: relative;
    font-size: 2.5rem
}

.m-header__logo a:before {
    background-color: var(--color-secondary);
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    top: var(--logo-bullet-top);
    right: var(--logo-bullet-right);
    height: var(--logo-bullet-size);
    width: var(--logo-bullet-size)
}

.m-header__logo-text {
    line-height: 1.2
}

.m-header__logo-text-subline {
    font-size: .8rem;
    font-style: italic
}

.m-header__hamburger {
    width: 2.5rem;
    height: 1.5625rem;
    position: relative;
    transform: rotate(0deg);
    cursor: pointer;
    transition: .2s ease-in-out;
    display: none
}

.m-header__hamburger span {
    display: block;
    position: absolute;
    height: .25rem;
    width: 100%;
    background: var(--color-primary);
    border-radius: .5625rem;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out
}

.m-header__hamburger span:first-child {
    top: 0
}

.m-header__hamburger span:nth-child(2), .m-header__hamburger span:nth-child(3) {
    top: .625rem
}

.m-header__hamburger span:nth-child(4) {
    top: 1.25rem
}

.m-header__hamburger.open span:first-child, .m-header__hamburger.open span:nth-child(4) {
    top: .625rem;
    width: 0;
    left: 50%
}

.m-header__hamburger.open span:nth-child(2) {
    transform: rotate(45deg)
}

.m-header__hamburger.open span:nth-child(3) {
    transform: rotate(-45deg)
}

.m-header__nav-desktop {
    display: flex;
    justify-content: flex-end;
    flex-grow: 1;
    flex-shrink: 0
}

.m-header__nav-desktop-bg {
    position: relative
}

.m-header__nav-desktop-bg .desktop {
    display: none;
    height: 18.8125rem
}

.m-header__nav-desktop-bg .laptop {
    display: none;
    height: 18.75rem;
    padding-right: 4rem
}

.m-header__nav-desktop nav ul {
    list-style: none
}

.m-header__nav-desktop nav li {
    position: absolute
}

.m-header__nav-desktop nav li#teilnahme {
    top: 7.375rem;
    left: 9.375rem
}

.m-header__nav-desktop nav li#zeiten {
    top: 5.0625rem;
    left: 13.8125rem
}

.m-header__nav-desktop nav li#kosten {
    top: 3.375rem;
    left: 18.1875rem
}

.m-header__nav-desktop nav li#inhalte {
    top: 2rem;
    left: 22.9375rem
}

.m-header__nav-desktop nav li#biographie {
    top: 1rem;
    left: 28.625rem
}

.m-header__nav-desktop nav li#home {
    --nav-bullet-size-m: var(--nav-bullet-size-l);
    top: .875rem;
    left: 43.4375rem
}

.m-header__nav-desktop nav li#home a {
    font-size: 0
}

.m-header__nav-desktop nav li#kontakt {
    --nav-bullet-shift: 0.5000rem;
    --nav-bullet-size-m: var(--nav-bullet-size-s);
    top: 3.125rem;
    left: 51.375rem
}

.m-header__nav-desktop nav li#kontakt a {
    font-size: .9rem
}

.m-header__nav-desktop nav li#teacher {
    --nav-bullet-shift: 0.5000rem;
    --nav-bullet-size-m: var(--nav-bullet-size-s);
    top: 5.625rem;
    left: 54.8125rem
}

.m-header__nav-desktop nav li#teacher a {
    font-size: .9rem
}

.m-header__nav-desktop nav a {
    color: var(--color-primary);
    color: var(--color-font-main);
    font-style: italic;
    font-size: 1.1rem;
    text-decoration: none
}

.m-header__nav-desktop nav a:before {
    content: "";
    background-color: var(--color-primary);
    border-radius: 50%;
    display: inline-block;
    height: var(--nav-bullet-size-m);
    width: var(--nav-bullet-size-m);
    transform: translateY(var(--nav-bullet-shift));
    margin-right: .25rem;
    transition: background-color var(--transition-duration-short)
}

.m-header__nav-desktop nav a.is-active:before {
    background-color: var(--color-secondary)
}

.m-header__nav-mobile {
    display: none;
    background-color: var(--color-primary);
    color: #fffef3;
    color: var(--color-footer);
    height: calc(100vh - var(--header-hight));
    overscroll-behavior-y: contain;
    overflow-y: auto;
    padding: 2rem var(--wrapper-hori-padding);
    position: absolute;
    right: 0;
    top: var(--header-hight);
    transform: translateX(120%);
    transition: transform .2s ease-in-out;
    width: 100%;
    z-index: 1
}

.m-header__nav-mobile ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .25rem
}

.m-header__nav-mobile li {
    display: flex;
    justify-content: center;
    margin-left: -1.0625rem
}

.m-header__nav-mobile a {
    align-items: center;
    display: inline-flex;
    font-size: var(--font-size-large);
    padding: .5rem 0
}

.m-header__nav-mobile a:before {
    background-color: #fffef35e;
    border-radius: 50%;
    content: "";
    width: .8125rem;
    height: .8125rem;
    transition: background-color .2s;
    margin-right: .4375rem
}

.m-header__nav-mobile a.is-active:before {
    background-color: var(--color-secondary)
}

.m-header__nav-mobile a:focus-visible {
    --focus-outline-color: var(--color-footer)
}

@media (max-width: calc(60rem + 5rem + 1.063rem + 0.063rem)) {
    :root {
        --wrapper-hori-padding: 2.25rem;
        --font-size-main: 1.063rem;
        --font-size-h1: 2.1rem;
        --font-size-h2: 1.4rem;
        --font-size-h3: 1.25rem;
        --font-size-h4: 1.375rem;
        --font-size-h5: 1.25rem;
        --font-size-h6: 1.125rem;
        --content-col-width: 35%;
        --content-col-padding: 2rem;
        --content-col-gap: 3rem
    }

    .m-header__logo {
        --logo-bullet-top: 0.125rem;
        --logo-bullet-right: 1.813rem;
        --logo-bullet-size: 0.75rem;
        --logo-padding-left: 2rem
    }

    .m-header__logo a {
        font-size: 2.2rem
    }

    .m-header__nav-desktop-bg .laptop {
        display: block
    }

    .m-header__nav-desktop nav li#teilnahme {
        left: 3.125rem
    }

    .m-header__nav-desktop nav li#zeiten {
        left: 6.6875rem
    }

    .m-header__nav-desktop nav li#kosten {
        left: 10.5rem
    }

    .m-header__nav-desktop nav li#inhalte {
        left: 14.3125rem
    }

    .m-header__nav-desktop nav li#biographie {
        left: 19.1875rem
    }

    .m-header__nav-desktop nav li#home {
        left: 31.625rem
    }

    .m-header__nav-desktop nav li#kontakt {
        left: 38rem
    }

    .m-header__nav-desktop nav li#teacher {
        left: 40.5rem
    }

    .m-header__nav-desktop {
        padding-top: 2rem
    }

}

@media (max-width: 57.5rem) {
    :root {
        --wrapper-hori-padding: 1.2rem;
        --spacer-p-ul-ol-top: 1.5rem;
        --font-size-main: 1rem;
        --font-size-h1: 1.8rem;
        --font-size-h2: 1.375rem;
        --font-size-h3: 1.25rem;
        --font-size-h4: 1.25rem;
        --font-size-h5: 1.25rem;
        --font-size-h6: 1.063rem
    }

    .content {
        flex-wrap: wrap
    }

    .content-col, .content-main {
        margin-inline: auto;
        max-width: var(--content-main-max-width);
        width: 100%
    }

    .content-main {
        padding-bottom: 0
    }

    .content-main .teacher__pre-text {
        display: block
    }

    .content-col {
        order: unset
    }

    .content-col p {
        font-size: var(--font-size-main)
    }

    .content-col p:first-child {
        margin-top: 0
    }

    .m-header__logo {
        --logo-bullet-top: 0.063rem;
        --logo-bullet-right: 1.5rem;
        --logo-bullet-size: 0.625rem;
        --logo-padding-left: 0
    }

    .m-header__logo a {
        font-size: 1.8rem
    }
    blockquote.margin-top-xxl {
        margin-top: 3rem;
    }
}

@media (max-width: 50rem) {
    :root {
        --form-gap-row: 1rem;
        --spacer-p-ul-ol-top: 1.25rem;
        --font-size-main: 1rem;
        --font-size-h1: 1.5rem;
        --font-size-h2: 1.25rem;
        --font-size-h3: 1.15rem;
        --font-size-h4: 1.25rem;
        --font-size-h5: 1.063rem;
        --font-size-h6: 1rem
    }

    .content {
        margin-top: 0;
        padding-top: calc(var(--header-hight) + 2rem)
    }

    .content-main {
        box-shadow: none
    }

    .content-main__headline h1.logo {
        --logo-bullet-size: 0.7rem;
        font-size: 2.5rem
    }

    .content-main__headline h1.logo:before {
        top: .25rem;
        right: 2.1875rem
    }

    .content-main .list-bold-no-bullets {
        padding-left: 0
    }

    .m-footer__wrapper {
        padding-bottom: 1rem
    }

    .m-footer__logo {
        padding-left: 0;
        width: 100%
    }

    .m-header {
        position: fixed;
        width: 100%;
        z-index: 1
    }

    .m-header__wrapper {
        align-items: center;
        box-shadow: 0 0 .513rem rgba(38, 38, 38, .3);
        flex-direction: row;
        justify-content: space-between;
        padding-bottom: .5rem;
        padding-top: .5rem;
        position: relative;
        z-index: 2
    }

    .m-header__logo {
        --logo-bullet-right: 1.25rem;
        --logo-bullet-size: 0.5rem;
        width: 11.25rem
    }

    .m-header__logo a {
        font-size: 1.5rem
    }

    .m-header__logo-text-subline {
        font-size: .7rem
    }

    .m-header__logo {
        padding-left: 0
    }

    .m-header__hamburger {
        display: block
    }

    .m-header__nav-desktop {
        display: none
    }

    .mobile-nav-open .m-header__nav-mobile {
        display: block;
        transform: translateX(0)
    }
}

@media print {
    .content-main ul li:before {
        background-color: #000
    }

    h1, h2, h3, h4, h5, h6 {
        --margin-top-headline: 1.5em !important;
        page-break-after: avoid
    }
}

@media (max-width: 68.75rem) {
    .content-main .teacher__item {
        grid-template-columns:5.6875rem auto;
        grid-template-areas:"d c" "a b"
    }

    .content-main .teacher__item-plz {
        padding-left: 0;
        border-left: unset;
        border-bottom: .0625rem solid var(--border-color);
        padding-bottom: .25rem
    }

    .content-main .teacher__item-plz p {
        flex-direction: row;
        gap: .25rem;
        flex-wrap: wrap;
        justify-content: flex-end
    }
}

@media (hover: hover) {
    .link:hover {
        background-size: 100% 100%;
        background-position-x: left
    }

    .m-footer__links a:hover {
        text-decoration-color: var(--color-white)
    }

    .m-header__nav-desktop nav a:hover:before, .m-header__nav-mobile a:hover:before {
        background-color: var(--color-secondary)
    }
}

@media (min-width: 80rem) {
    .m-footer__wrapper {
        border-radius: .625rem
    }
}

@media (min-width: calc(60rem + 5rem + 1.063rem + 0.063rem)) {
    .m-header__logo {
        --logo-bullet-size: 0.75rem;
        --logo-bullet-top: 0.313rem;
        --logo-bullet-right: 2.188rem;
        --logo-padding-left: 2.5rem
    }

    .m-header__nav-desktop-bg .desktop {
        display: block
    }
}