@media all {
    .visually-hidden,
    .visually-hidden-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;
    }

    .ce-media-overlay-click-for-video {
        background-color: transparent !important;
    }

    .ce-media-overlay-btn-vimeo,
    .ce-media-overlay-btn-youtube {
        position: relative;
        background-color: red;
        border-radius: 15px 15px 15px 15px/45px 45px 45px 45px;
        border-width: 0;
        height: 50px;
        width: 70px;
    }
    .ce-media-overlay-btn-vimeo {
        background-color: rgb(82, 92, 163);
    }

    .ce-media-overlay-btn-vimeo:after,
    .ce-media-overlay-btn-youtube:after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        border-left: 20px solid #fff;
        border-bottom: 10px solid transparent;
        border-top: 10px solid transparent;
        width: 0;
        height: 0;
        transform: translate(-50%, -50%);
    }


    /* ce breadcrumb */
    .breadcrumb-menu {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5em;
    }
    .breadcrumb-menu p{
        margin-bottom: 0;
    }

    .breadcrumb {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 0 0;
        margin-bottom: var(--page-spacer);
        list-style: none;
    }

    .breadcrumb .breadcrumb-item {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        margin-bottom: 0;
    }
    .breadcrumb-item+.breadcrumb-item {
        padding-left: 0.5rem;
    }
    .breadcrumb-item + .breadcrumb-item::before {
        float: left;
        padding-right: 0.5rem;
        color: currentColor;
        content: ">";
    }

    .breadcrumb-link {
        text-decoration: none;
    }
    .breadcrumb-menu-with-icons .breadcrumb-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .breadcrumb-menu-with-icons .breadcrumb-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-text-decoration-color: rgba(0,0,0,0);
        text-decoration-color: rgba(0,0,0,0);
    }
    .breadcrumb-menu-with-icons .breadcrumb-link-icon {
        margin-right: 0.25em;
    }
}


/* doccheck */
@media all {
    .dc-overlay {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        z-index: 1000;
        background: rgba(0, 0, 0, 0.75);
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .dc-overlay-hidden {
        display: none;
    }

    .dc-overlay-inner {
        position: relative;
    }

    .dc-overlay-close {
        position: absolute;
        bottom: 100%;
        right: 0;
        -webkit-appearance: none;
        border: none;
        padding: 0;
        background: none;
        width: 2.5rem;

        color: rgb(255, 255, 255);
        font-size: 200%;
        cursor: pointer;
    }

    .ce-type-doccheckbutton .btn-doccheck {
        width: auto;
        height: auto;
        padding: 0.9375rem 1.25rem;
        padding-left: 3.75rem;
        border: 4px solid rgb(82, 92, 163);
        border-bottom-right-radius: 1.5rem;
        background-color: transparent;
        background-position: left bottom;
        background-image: url(../Icons/icon_docCheck.png);
        background-repeat: no-repeat;
    }

    .btn-doccheck-subline {
        display: block;
    }
}

/* lightbox - we have fontawesome? awesome! */
@media all {
    .ce-media-image a {
        position: relative;
    }

    .ce-media-image a::before {
        content: "\f0c1";
        font-family: "Font Awesome 5 Free";
        font-size: 1rem;
        font-weight: 600;
        line-height: 1;

        width: 1rem;
        height: 1rem;
        position: absolute;
        z-index: 1;
        top: auto;
        bottom: 0.3125rem;
        right: 0.3125rem;

        color: rgb(255, 255, 255);
        text-shadow: 0 0 1px rgb(0, 0, 0);
        background: none;
    }
    .ce-media-image a.lightbox::before {
        content: "\f00e";
    }
    .ce-media-image .ce-media-caption a::before {
        content: none;
    }
}

/* news */
@media all {
    .news-list-item-card .ce-cardteaser .ce-teaser-image + .ce-teaser-body {
        margin-top: -2.25rem;
    }

    .news-list-item-card
        .ce-teaser-image
        + .ce-teaser-body
        .news-header:first-child {
        padding-top: 2.75rem;
    }

    .modernizr-flexbox .news-list-teaser .ce-textpic-inner {
        display: flex;
        flex-direction: column;
    }

    .modernizr-flexbox .news-list-teaser .news-teaser-text {
        flex-grow: 1;
    }

    .news-gallery .ce-media {
        position: relative;
    }

    .news-gallery .ce-media > * {
        border-bottom-right-radius: 1.875em;
        overflow: hidden;
    }

    .news-filter {
        display: flex;
        flex-wrap: wrap;
        margin-left: -0.75rem;
    }
    .news-filter .badge {
        margin-left: 0.75rem;
    }

    /* hero slider */
    .ce-hero-slider {
        margin-bottom: 3.75rem;
    }

    .ce-hero-slider .slick-track {
        display: flex;
    }

    .ce-hero-slider .slick-list {
        margin: 0 0 0.9375rem;
        border-bottom-right-radius: 2.25rem;
        overflow: hidden;
    }

    .ce-hero-slider-slide {
        position: relative;
        background: rgb(51, 51, 51);
        height: auto;
        display: flex !important;
        flex-direction: column;
        justify-content: end;
        padding: 0;
    }

    .ce-hero-slider-bg {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        display: flex;
        opacity: 0.33;
        z-index: -1;
    }

    .ce-hero-slider-bg img {
        object-fit: cover;
        object-position: center;
    }

    .ce-hero-slider-slide-body {
        padding: 1.5rem;
    }

    .ce-hero-slider .ce-teaser-cta {
        color: rgb(255, 255, 255);
    }

    .ce-hero-slider .ce-teaser-cta::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

    .ce-hero-slider-nav {
        display: none;
    }
}

/* service materials */
@media all {
    .ti-servicematerials-cart {
        background-color: rgba(82, 92, 163, 0.07);
    }
}

/* lexicon */
@media all{
    .lexicon-navigation {
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
    }

    .lexicon-navigation .lexicon-navigation-item {
        margin-right: 0;
        margin-bottom: 0;
        border-color: currentColor;
    }

    .ti-lyso-encyclopedia-item-krankheitsbild {
        color: currentColor;
    }
}

/* content menu (floating starting at rc-large) */
@media all {
    .ce-content-menu-toggle {
        display: none;
    }

    .ce-content-menu nav * {
        margin: 0;
    }

    .ce-content-menu nav {
        color: rgb(82, 92, 163);
        background: rgb(255, 255, 255);
        border-radius: 0.25rem;
        margin-bottom: 1.5rem;
        overflow: hidden;
    }

    .ce-content-menu-header,
    .ce-menu-sticky .item {
        color: inherit;
        padding: 1.25rem 1.5rem;
        font-weight: 700;
    }

    .ce-menu-sticky .current > .item {
        background-color: inherit;
    }

    .ce-menu-sticky li + li {
        border-top: 1px solid rgba(82, 92, 163, 0.07);
    }

    .ce-content-menu-header {
        color: rgb(255, 255, 255);
        background-color: rgb(82, 92, 163);
        text-transform: uppercase;
    }
}

/* ce layouts/frames/themes */
@media all {
    hr,
    .ce-div {
        border: none;
        border-top: 1px solid currentColor;
        opacity: 0.2;
        margin: 0;
        height: 1.5rem;
    }

    .ce-border .ce-media {
        border: 1px solid rgb(153, 153, 153);
    }

    .ce-header-withicon > * {
        display: flex;
    }

    .ce-header-withicon .fas {
        font-size: 125%;
    }

    .ce-bg-default {
        background-color: rgb(243, 244, 249);
    }
    .ce-bg-white {
        background-color: rgb(255, 255, 255);
    }
    .ce-bg-red {
        background-color: rgb(231, 32, 57);
    }
    .ce-bg-green {
        background-color: rgb(0, 188, 159);
    }
    .ce-bg-blue {
        background-color: rgb(82, 92, 163);
    }
}

/* stage element */
@media all {
    .ce-type-stage {
        margin-bottom: 0 !important;
    }

    .ce-stage {
        position: relative;
        overflow: hidden;
        padding: 0;
    }

    .ce-stage-blocklink {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

    .ce-stage-image {
        margin-left: -16rem;
        margin-right: -16rem;
        min-height: 18rem;
    }

    .show-xsmall .ce-stage-image {
        margin-left: 0;
        margin-right: 0;
    }

    .ce-stage-image img {
        min-height: 18rem;
        object-fit: cover;
    }

    .ce-stage-header {
        position: absolute;
        left: 1.25rem;
        right: 1.25rem;
        bottom: 1.25rem;
        margin: 0;
    }

    .ce-stage-header-right {
        text-align: right;
    }

    .ce-stage-link {
        color: white;
        background-color: black;
        padding: 0.25em 0.5em;
        text-decoration: none !important;
    }
    .ce-stage-link:focus,
    .ce-stage-link:hover {
        color: black;
        background-color: white;
    }

    .ce-frame-stage-slider {
        clear: both;
    }

    .ce-frame-stage-slider .slick-list {
        width: 100% !important;
        margin: 0;;
    }

    .ce-frame-stage-slider .slick-slide {
        padding: 0;
    }

    .ce-frame-stage-slider .slick-initialized::after,
    .ce-frame-stage-slider .slick-initialized::before {
        content: none !important;
    }
}

.badge {
    color: rgb(255, 255, 255) !important;
    font-size: 1em;
    line-height: 2em;
    padding: 0.25em 0.5em;
    border-radius: 0.25em;
    border-top-left-radius: 0;
    text-decoration: none !important;
}

.badge-red {
    background-color: rgb(231, 32, 57);
}
.badge-green {
    background-color: rgb(0, 188, 159);
}
.badge-blue {
    background-color: rgb(82, 92, 163);
}

.badge-red.badge-inactive {
    color: rgb(231, 32, 57) !important;
    background-color: rgb(255, 255, 255);
}
.badge-green.badge-inactive {
    color: rgb(0, 188, 159) !important;
    background-color: rgb(255, 255, 255);
}
.badge-blue.badge-inactive {
    color: rgb(82, 92, 163) !important;
    background-color: rgb(255, 255, 255);
}

/* headings */
.ce-header .h-white,
.ce-header .h-black,
.ce-header .h-blackwhite,
.ce-header .h-blackgreen,
.ce-header .h-red,
.ce-header .h-green,
.ce-header .h-blue {
    color: rgb(255, 255, 255);
    font-size: 1em;
    line-height: 2em;
    padding: 0.25em 0.5em;
    border-radius: 0.25em;
    border-top-left-radius: 0;

    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.ce-header .h-red {
    background-color: rgb(231, 32, 57);
}
.ce-header .h-blackgreen {
    color: rgb(33, 47, 41);
    background-color: rgb(0, 188, 159);
}
.ce-header .h-green {
    background-color: rgb(0, 188, 159);
}
.ce-header .h-blue {
    background-color: rgb(82, 92, 163);
}
.ce-header .h-white {
    color: rgb(82, 92, 163);
    background-color: rgb(255, 255, 255);
}
.ce-header .h-black {
    background-color: rgb(33, 47, 41);
}
.ce-frame-inverted .ce-header .h-red {
    color: rgb(231, 32, 57);
    background-color: rgb(255, 255, 255);
}
.ce-frame-inverted .ce-header .h-green {
    color: rgb(0, 188, 159);
    background-color: rgb(255, 255, 255);
}
.ce-frame-inverted .ce-header .h-blue {
    color: rgb(82, 92, 163);
    background-color: rgb(255, 255, 255);
}
.ce-header .h-blackwhite,
.ce-stage-header .ce-header .h-black,
.ce-frame-inverted .ce-header .h-blackgreen,
.ce-frame-inverted .ce-header .h-black {
    color: rgb(33, 47, 41);
    background-color: rgb(255, 255, 255);
}

.ce-frame-inverted .ce-header .h-blackwhite {
    color: rgb(255, 255, 255);
    background-color: rgb(33, 47, 41);
}

.ce-frame-inverted li::marker {
    color: currentColor;
}

.ce-bodytext .btn + .btn {
    margin-left: 1.5rem;
}

/* hero element */
.ce-hero-header,
.ce-hero-body {
    padding: 0 1.25rem;
}
.ce-hero-header {
    padding-right: 2.25rem; /* 1.25 + 2* 0.5 span.padding */
    margin-bottom: 2.25rem;
}

.ce-hero .ce-hero-image {
    position: relative;
    aspect-ratio: 1;
    background: none;
    margin-bottom: 3.75rem;
    border-bottom-right-radius: 2.25rem;
    overflow: hidden;
}

.ce-hero-image-caption {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 87.5%;
    font-weight: 400;
    padding: 0.625rem 1rem;
    color: rgb(255, 255, 255);
    background-color: rgba(43, 43, 56, 0.5);
    border-top-right-radius: 1rem;
}

@media (min-width: 47.5em), print {
    .ce-media-image a::before {
        right: 0.625rem;
        bottom: 0.625rem;
    }

    .ce-stage-image {
        margin: 0;
    }

    .ce-stage-header {
        left: 2.5rem;
        right: 2.5rem;
    }

    .ce-stage-header.ce-stage-header-right {
        /* LS-65 only needed for pompe tag 2023 graphic */
        padding-right: 6vw;
    }

    /* news teaser */
    .news-list-teaser {
        margin: 0 -0.625rem;
    }
    .news-list-item-teaser {
        width: 50%;
        float: left;
        padding: 0 0.625rem;
    }
    .news-list-teaser .news-list-item-teaser:nth-child(2n + 1) {
        clear: left;
    }

    /* news detail */
    .news-subline {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 1.5rem;
    }
    .news-subline .social-share-toggle {
        padding: 0;
    }

    .ce-hero {
        display: grid;
        grid-template-columns: 2.5rem 1fr 2.5rem 2.5rem 1fr 5rem 2.5rem;
        grid-template-rows: 3.75rem auto 3.75rem auto;
        gap: 0px 0px;
        grid-auto-flow: row;
        width: 100%;
    }

    .ce-hero-image {
        grid-area: 1 / 1 / 5 / 4;
    }

    .ce-hero-header {
        grid-area: 2 / 3 / 3 / 6;
        position: relative;
        margin: 0;
    }
    .ce-hero-header .ce-header {
        margin-bottom: 0;
    }

    .ce-hero-body {
        grid-area: 4 / 5 / 5 / 7;
    }
    .ce-hero-header,
    .ce-hero-body {
        padding: 0;
    }

    /* hero slider */
    .ce-hero-slider-nav::before,
    .ce-hero-slider::before {
        content: none !important;
    }
    .ce-hero-slider-nav::after,
    .ce-hero-slider::after {
        content: none !important;
    }

    .ce-hero-slider-nav .slick-list,
    .ce-hero-slider .slick-list {
        width: 100%;
    }

    .ce-hero-slider {
        margin-bottom: 0;
    }

    .ce-hero-slider-slide {
        aspect-ratio: 3.2/2;
    }

    .ce-hero-slider-slide-body {
        padding: 2.25rem;
    }
}

/* desktop */
@media (min-width: 62.5em) {
    .ce-stage-header {
        left: 5rem;
        right: 5rem;
    }

    .ce-stage-header.ce-stage-header-right {
        /* LS-65 only needed for pompe tag 2023 graphic */
        padding-right: 14vw;
    }

    .ce-hero {
        grid-template-columns: 5rem 1fr 2.5rem 5rem 1.5fr 5rem 5rem;
        grid-template-rows: 10.5rem auto 3.75rem auto;
        padding-top: 2.25rem;
        padding-bottom: 3.75rem;
    }

    .news-list-item-card .ce-cardteaser .ce-teaser-image + .ce-teaser-body {
        margin-top: -2.5rem;
    }

    /* hero slider */

    .ce-grid-hero-slider {
        display: flex;
        flex-direction: row-reverse;
    }

    .ce-hero-slider-nav.slick-initialized {
        display: block;
        width: calc(33.3333% + 0.75rem);
    }

    .ce-hero-slider.slick-initialized {
        width: calc(66.6666% + 0.75rem);
    }

    .ce-hero-slider .slick-list {
        margin-bottom: 0;
    }

    .ce-hero-slider .slick-dots {
        display: none !important;
    }

    .ce-hero-slider-nav .slick-list {
        display: flex;
        height: 100%;
    }

    .ce-hero-slider-nav .slick-track {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100% !important;
    }

    .ce-hero-slider-nav-item {
        position: relative;
        left: 0 !important;
        width: 100% !important;
        opacity: 1 !important;
        transition: background-color 500ms ease 0s !important;
        height: auto;
    }

    .ce-hero-slider-nav-item.slick-current {
        background-color: rgba(231, 32, 57, 0.1);
    }

    .ce-hero-slider-nav-item + .ce-hero-slider-nav-item::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 1.125rem;
        display: block;
        height: 1px;
        background-color: rgba(82, 92, 163, 0.1);
    }

    /* content menu */

    @supports (position: sticky) {
        .ce-content-menu {
            display: flex;
            flex-direction: row-reverse;
        }

        .ce-content-menu .ce-col-large-sticky {
            float: none !important;
            position: relative;
            top: 0;
            z-index: 2; /* keep above teasers */
            width: 0px;
        }

        .ce-content-menu nav {
            position: sticky;
            top: 5rem;
            margin: 0;
            transform: translateX(calc(-100% + 5rem));
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
            box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.125);
            transition: width 0.25s ease-in;
        }

        .ce-content-menu nav,
        .ce-menu-sticky {
            width: 20rem;
        }

        .ce-menu-sticky .current > .item {
            background-color: rgba(82, 92, 163, 0.14);
        }

        .ce-content-menu-toggle {
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            z-index: 1;
            appearance: none;
            background: rgb(82, 92, 163);
            border: none;
            color: currentColor;
            font-size: 1.25em;
            width: 4rem;
        }

        .ce-content-menu-sticky.closed {
            width: 4rem;
            /* height:4rem; */
        }
        .ce-content-menu-sticky.closed .show-open,
        .ce-content-menu-sticky .show-closed {
            display: none;
        }

        .ce-content-menu-sticky.closed .show-closed {
            display: block;
        }
    }
}

@media (min-width: 77.5em) {
    .ce-stage-header {
        left: 10rem;
        right: 10rem;
    }

    .ce-stage-header.ce-stage-header-right {
        /* LS-65 only needed for pompe tag 2023 graphic */
        padding-right: 10vw;
    }

    .ce-content-menu nav {
        transform: translateX(calc(-100% + 10rem));
    }

    .ce-hero {
        grid-template-columns: 10rem 1fr 2.5rem 5rem 1.25fr 5rem 10rem;
    }
}

/* desktop - xlarge */
@media (min-width: 93.75em) {
    .ce-stage-image {
        min-height: 15rem;
    }

    .ce-stage-header {
        left: 50%;
        margin-left: -35rem;
    }

    .ce-stage-header.ce-stage-header-right {
        /* LS-65 only needed for pompe tag 2023 graphic */
        padding-right: 12vw;
    }

    .ce-grid-fullwidth-content .wrap-inner {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
        max-width: 100%;
    }

    .ce-hero {
        grid-template-columns: 1fr 22rem 4rem 6rem 33rem 5rem 1fr;
    }

    /* news hero slider */
    .news-list-hero {
        position: relative;
        margin-top: -4.25rem;
    }

    .news-list-hero .ce-hero-slider {
        padding: 0 !important;
    }

    .news-list-hero + .news-list-link {
        position: relative;
        margin-top: -4.5rem;
        width: 22rem;
    }

    .ce-hero-slider-nav-item {
        padding: 1.5rem;
        padding-right: 3rem;
    }

    .ce-hero-slider-nav-item::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 1.5rem;
        display: block;
        width: 1rem;
        height: 1rem;
        border: 2px solid rgba(82, 92, 163, 0.1);
        border-width: 2px 2px 0 0;
        transform: translateY(-50%) rotate(45deg);
    }
    .ce-hero-slider-nav-item.slick-current::after {
        opacity: 0;
    }

    .ce-content-menu nav {
        transform: translateX(
            calc(-100% + (100vw - 70rem - 1em) / 2)
        ); /* -menuwidth + (viewport - content - scrollbar) / 2 */
    }

    .ce-media-caption {
        font-size: 77.7777%;
    }
}

@media (min-width: 108.875em) {
    .ce-stage-header.ce-stage-header-right {
        /* LS-65 only needed for pompe tag 2023 graphic */
        padding-right: 12vw;
    }
}

@media (min-width: 120em) {
    .ce-stage-header.ce-stage-header-right {
        /* LS-65 only needed for pompe tag 2023 graphic */
        padding-right: 16rem;
    }

    .ce-content-menu nav {
        transform: translateX(
            calc(-100% + (120rem - 70rem - 0em) / 2)
        ); /* -menuwidth + (FullHD - content) / 2 */
    }
}
