@media all {
    body::after {
        display: none !important
    }

    .sr-hint {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important
    }
    
    .anchor {
        margin-top: calc((var(--logo-height) + var(--logo-padding) * 2) * -1)!important;
        display: block;
    }

    .sr-hint-focusable:not(:focus):not(:focus-within) {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important
    }

    .sr-hint-focusable:focus,
    .sr-hint-focusable:focus-within {
        position: fixed !important;
        z-index: 100;
        width: auto !important;
        height: auto !important;
        top: 50%;
        left: 50%;
        clip: auto !important;
        padding: 1.25em !important;
        border: 2px solid #333 !important;
        color: #333 !important;
        background-color: #fff !important;
        font-weight: bold;
        text-decoration: none;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

    .hide-sm,
    .hide-md,
    .hide-lg,
    .hide-xl,
    .hide-xxl {
        display: block
    }

    .show-sm,
    .show-md,
    .show-lg,
    .show-xl,
    .show-xxl {
        display: none
    }

    :root {
        --active-view: xs
    }

    body::after {
        content: "breakpoint-xs"
    }

    head {
        font-family: breakpoint-xs
    }

    .hide-xs {
        display: none
    }

    .show-xs {
        display: block
    }
}

@media(min-width: 30rem) {
    :root {
        --active-view: sm
    }

    body::after {
        content: "breakpoint-sm"
    }

    head {
        font-family: breakpoint-sm
    }

    .hide-xs {
        display: block
    }

    .show-xs {
        display: none
    }

    .hide-sm {
        display: none
    }

    .show-sm {
        display: block
    }
}

@media(min-width: 48rem) {
    :root {
        --active-view: md
    }

    body::after {
        content: "breakpoint-md"
    }

    head {
        font-family: breakpoint-md
    }

    .hide-sm {
        display: block
    }

    .show-sm {
        display: none
    }

    .hide-md {
        display: none
    }

    .show-md {
        display: block
    }
}

@media(min-width: 62rem) {
    :root {
        --active-view: lg
    }

    body::after {
        content: "breakpoint-lg"
    }

    head {
        font-family: breakpoint-lg
    }

    .hide-md {
        display: block
    }

    .show-md {
        display: none
    }

    .hide-lg {
        display: none
    }

    .show-lg {
        display: block
    }
}

@media(min-width: 75rem) {
    :root {
        --active-view: xl
    }

    body::after {
        content: "breakpoint-xl"
    }

    head {
        font-family: breakpoint-xl
    }

    .hide-lg {
        display: block
    }

    .show-lg {
        display: none
    }

    .hide-xl {
        display: none
    }

    .show-xl {
        display: block
    }
}

@media(min-width: 87.5rem) {
    :root {
        --active-view: xxl
    }

    body::after {
        content: "breakpoint-xxl"
    }

    head {
        font-family: breakpoint-xxl
    }

    .hide-xl {
        display: block
    }

    .show-xl {
        display: none
    }

    .hide-xxl {
        display: none
    }

    .show-xxl {
        display: block
    }
}


@media all {

    [tabindex],
    a[href],
    area[href],
    button,
    details,
    input,
    iframe,
    select,
    textarea {
        scroll-margin-top: var(--scroll-margin);
        scroll-margin-bottom: var(--scroll-margin)
    }

    :root {
        --scroll-margin: 5.25rem
    }
}

@media(min-width: 48rem) {
    :root {
        --scroll-margin: 5.875rem
    }
}

@media(min-width: 62rem) {
    :root {
        --scroll-margin: 8.375rem
    }
}

@media(min-width: 30rem) {
    :root {
        --container-maxwidth: 27.5rem
    }
}

@media(min-width: 48rem) {
    :root {
        --container-maxwidth: 45rem
    }
}

@media(min-width: 62rem) {
    :root {
        --container-maxwidth: 57.5rem
    }
}

@media(min-width: 75rem) {
    :root {
        --container-maxwidth: 67.5rem
    }
}

@media(min-width: 87.5rem) {
    :root {
        --container-maxwidth: 80rem
    }
}

@media all {
    html {
        scroll-behavior: smooth;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        scrollbar-gutter: stable;
    }

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

    html[lang=de] q,
    html[lang=de-de] q,
    html[lang=de-DE] q {
        quotes: "„" "“" "’" "‚"
    }

    :focus::-webkit-input-placeholder {
        opacity: 0
    }

    :focus::-moz-placeholder {
        opacity: 0
    }

    :focus:-ms-input-placeholder {
        opacity: 0
    }

    :focus::-ms-input-placeholder {
        opacity: 0
    }

    :focus::placeholder {
        opacity: 0
    }

    ::-webkit-input-placeholder {
        -webkit-transition: opacity .5s;
        transition: opacity .5s
    }

    ::-moz-placeholder {
        -moz-transition: opacity .5s;
        transition: opacity .5s
    }

    :-ms-input-placeholder {
        -ms-transition: opacity .5s;
        transition: opacity .5s
    }

    ::-ms-input-placeholder {
        -ms-transition: opacity .5s;
        transition: opacity .5s
    }

    ::placeholder {
        -webkit-transition: opacity .5s;
        transition: opacity .5s
    }

    [id][tabindex]:target {
        -webkit-animation: highlight-fade 5s;
        animation: highlight-fade 5s;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
        outline-offset: 1rem
    }

    @-webkit-keyframes highlight-fade {
        0% {
            background-color: #ffff80
        }

        100% {
            background-color: rgba(0, 0, 0, 0)
        }
    }

    @keyframes highlight-fade {
        0% {
            background-color: #ffff80
        }

        100% {
            background-color: rgba(0, 0, 0, 0)
        }
    }

    *:focus:not(:focus-visible),
    *::before:focus:not(:focus-visible),
    *::after:focus:not(:focus-visible) {
        outline: none
    }

    .visually-hidden-focusable:focus,
    .visually-hidden-focusable:focus-visible {
        position: fixed !important;
        z-index: 10000;
        width: auto;
        top: 50%;
        left: 50%;
        clip: auto;
        padding: 1.25em !important;
        border: 2px solid currentColor !important;
        color: #b80f22 !important;
        background-color: #fff !important;
        font-weight: bold;
        text-decoration: none;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

    @media(prefers-reduced-motion: reduce) {

        *,
        *::before,
        *::after {
            -webkit-transition: none !important;
            transition: none !important;
            -webkit-animation: none !important;
            animation: none !important;
            scroll-behavior: auto !important
        }
    }

    .ce-element img[data-sizes=auto] {
        display: block;
        width: 100%;
        opacity: 0
    }

    .ce-element img[data-sizes=auto].lazyloaded {
        padding-bottom: 0 !important;
        height: auto !important;
        opacity: 1
    }

    .no-js .ce-element .lazyload {
        display: none !important
    }

    .typo3-messages {
        list-style: none;
        padding: 0;
        margin-bottom: 1.25rem
    }

    .typo3-messages .alert {
        color: #fff;
        text-shadow: 0 0 .25em rgba(0, 0, 0, .25);
        padding: .625rem;
        margin-bottom: .625rem
    }

    .typo3-messages .alert>* {
        color: #fff
    }

    .typo3-messages p:last-child {
        margin-bottom: 0
    }

    .typo3-messages .alert-danger {
        background-color: #c83c3c
    }

    .typo3-messages .alert-info {
        background-color: #6daae0
    }

    .typo3-messages .alert-notice {
        background-color: #979797
    }

    .typo3-messages .alert-success {
        background-color: #79a548
    }

    .typo3-messages .alert-warning {
        background-color: #e8a33d
    }

    .btn-toggler[aria-expanded=false] .btn-toggler-collapsed {
        display: initial
    }

    .btn-toggler[aria-expanded=false] .btn-toggler-expanded {
        display: none
    }

    .btn-toggler[aria-expanded=true] .btn-toggler-collapsed {
        display: none
    }

    .btn-toggler[aria-expanded=true] .btn-toggler-expanded {
        display: initial
    }

    .navbar-toggler[aria-expanded=false] .nav-toggler-collapsed {
        display: initial
    }

    .navbar-toggler[aria-expanded=false] .nav-toggler-expanded {
        display: none
    }

    .navbar-toggler[aria-expanded=true] .nav-toggler-collapsed {
        display: none
    }

    .navbar-toggler[aria-expanded=true] .nav-toggler-expanded {
        display: initial
    }
}