:root {
    --adcs-color-000: #000;
    --adcs-color-fff: #fff;
    --adcs-color-777: #777;
    --adcs-color-ca: #cacaca;
    --adcs-color-dddbd9: #dddbd9;
    --adcs-color-333: #333;
    --adcs-color-555: #555;
    --adcs-color-beige: beige;
    --adcs-color-blue: #000;
    --adcs-color-blue-light: #000;
    --adcs-color-blue-dark: #0e2531;
    --adcs-color-accent: rgb(74 126 62);
    --adcs-color-white: #fff;
    --adcs-color-gray-light: #e5e7eb;
    --adcs-color-green-light: #dfefdd;

    --adcs-color-headline: #3d4751;

    --adcs-fs: 1rem;
    --adcs-fs-s: 0.875rem;
    --adcs-fs-xs: 0.75rem;
    --adcs-fs-xl: 1.25rem;

    --adcs-font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

    --adcs-20: 20px;
    --adcs-40: 40px;
}



.adcs-supplier {
    background-color: var(--adcs-color-fff);
    margin: 0 auto;
    -padding: 1em;
    font-size: var(--adcs-fs);
    margin-bottom: .08em;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    -border-bottom: 1px solid var(--adcs-color-dddbd9);

    /** stickyness **/
    position: sticky !important;
    top: 50px;
    top: 0;
}
.adcs-supplier div.note:after {
    -background-color: var(--adcs-color-ca);
    content: "ANZEIGE";
    display: inline-block;
    text-transform: uppercase;
    color: var(--adcs-color-ca);
    padding: 0.5em;
    font-size: var(--adcs-fs-xs);
    float: right;
}
.adcs-supplier div.note,
.adcs-supplier div.icon {
    flex: 1;
    text-align: right;
}
.adcs-supplier div.icon {
    display: flex;
    justify-content: flex-end;
    font-size: var(--adcs-fs-xs);
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    color: var(--adcs-color-333);
}
.adcs-supplier div.icon a {
    display: inline-block;
}
.adcs-supplier div.icon img {
    width: 120px;
    padding-left: 5px;
    margin-top: -14px;
}
.adcs-supplier div.note {
    text-align: initial;
}


.adcs-nav {
    padding: 0.25em 1em;
    background-color: var(--adcs-color-fff);
}
.adcs-nav ol {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 0.25em;
}
.adcs-nav ol li {
    font-size: var(--adcs-fs-xs);
    color: var(--adcs-color-333);
    flex: none;
}
.adcs-nav ol li::after {
    content: "\00BB";
    display: inline-flex;
    margin-left: 0.25em;
    position: relative;
    top: -1px;
}
.adcs-nav ol li:last-of-type:after {
    content: "";
}
.adcs-nav h1 {
    font-weight: normal;
    font-size: inherit;
}


.adcs-main {
    background-color: var(--adcs-color-fff);
    margin: 0 auto;
    margin-top: 0.5em;
    padding: 1em;
    font-size: var(--adcs-fs);
    -display: flex;
}

.adcs-main > * {
    font-family: var(--adcs-font-family);
    font-size: var(--adcs-fs);
    -font-weight: bolder;
}
.adcs-nav a :hover,
    .adcs-main a :hover {
    color: var(--adcs-color-blue);
}




.adcs-index-list {
    display: flex;
    justify-content: flex-start;
    flex-flow: column;
    flex-direction: row;
    flex-wrap: wrap;
}
.adcs-col-left,
    .adcs-col-right {
    box-sizing: border-box;
}
.adcs-col-left {
    -background-color: red;
    flex: 0 0 70%;
}
.adcs-col-right {
    -background-color: blue;
    flex: 0 0 30%;
}



.adcs-theme-right-container h2,
    .adcs-top-right-container h2 {
    font-size: var(--adcs-fs-xl);
    color: var(--adcs-color-333);
    margin-bottom: 1em;

    font-size: var(--adcs-fs-xs);
    color: #818181;
    margin-bottom: 1em;
    text-transform: uppercase;
    font-weight: lighter;
}
.adcs-theme-right-item {
    margin: 0.5em 0;
    display: block;
    border-bottom: 1px solid var(--adcs-color-ca);
    padding: 0.35em 0;
}
.adcs-theme-right-item h3 {
    font-size: 0.875em;
}
.adcs-theme-right-item:hover {
    background-color: var(--adcs-color-beige);
}
a.adcs-theme-right-item:last-of-type {
    border: none;
}
.adcs-theme-current {
    background: var(--adcs-color-gray-light);
    color: var(--adcs-color-accent);
    padding-left: 5px;
}


.adcs-top-right-container {
    margin-bottom: 2em;
}
.adcs-top-right-container-item {
    margin-bottom: 1em;
}
.adcs-top-right-container-item div.adcs-teaser-item-content-teasertext {
    margin-top: 0.25em;
    display: block;
}
.adcs-top-right-container-item div.adcs-teaser-item-content-teasertext:after {
    content: "";
}



.adcs-index-teaser {}
.adcs-index-teaser h1 {
    font-size: var(--adcs-fs-xl);
    color: var(--adcs-color-headline);
    margin-bottom: 1em;
}


.adcs-teaser-item {
    margin-bottom: 2.5em;
}
.adcs-teaser-item-content-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 1em;
}
.adcs-teaser-item-content-container-a {
    flex: 0 0 50%;
}
.adcs-teaser-item-picture {}
.adcs-teaser-item-picture img {
    width: 100%;
    max-width: none;
}
.adcs-teaser-item-content {
    padding-right: 2.5em;
}
.adcs-teaser-item-content-headline {
    font-size: var(--adcs-fs-xl);
    color: var(--adcs-color-333);
    display: block;
}
.adcs-teaser-item-content-meta {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-start;
    gap: 0.25em;
}
.adcs-teaser-item-content-theme,
    .adcs-teaser-item-content-kw {
    text-transform: uppercase;
    font-size: var(--adcs-fs-xs);
    color: var(--adcs-color-777);
    display: inline-block;
    font-weight: normal;
}
.adcs-teaser-item-content-kw:after {
    content: "\00BB";
}
.adcs-teaser-item-content-theme {
    text-transform: none;
    font-size: var(--adcs-fs-xs);
}
.adcs-teaser-item-content-teasertext {
    font-size: var(--adcs-fs-s);
    margin-top: 0.5em;
}
.adcs-teaser-item-content-teasertext:after {
    content: "\a\aWeiterlesen ..";
    white-space: pre;
}



.adcs-pagi-container {
	margin-bottom: 3em;
}
.adcs-pagi {
	display: flex;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    align-content: center;
    flex-direction: row;
}
.adcs-pagi > * {
    font-size: var(--adcs-fs-xs);
}
.adcs-pagi div {}
.adcs-pagi-item-left {}
.adcs-pagi-item-right {}



.adcs-article-header-full {
    -max-width: 75%;
    margin: 0 auto;
}
.adcs-article-header-full div.adcs-article-header-preline,
    section[data-type="header"] h2 {
    display: inline-block;
    text-transform: uppercase;
    font-size: var(--adcs-fs-s) !important;
    color: var(--adcs-color-accent);
    font-weight: bold;
}
.adcs-article-header-full time {
    clear: right;
    color: var(--adcs-color-777);
    font-size: 0.85em;
    font-weight: 700;
}
.adcs-flex-container {
    clear: both;
    margin-top: 0.25em;
    display: flex;
    flex-direction: row;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 1.5em;
    -border-top: 1px dotted #ccc;
    -padding-top: 1.5em;
}
.adcs-article-container {
    flex: 0 1 70%;
}
.adcs-imprint-container {
    flex-direction: row;
    display: flex;
    width: 100%;
    margin: 0 auto;
    margin-top: 3em;
}
.adcs-imprint-container div.adcs-theme-right-container {
    margin-bottom: 2em;
    flex: 0 0 50%
}
.adcs-imprint {
    margin-bottom: 2em;
    font-size: 0.8rem;
    color: var(--adcs-color-555);
    flex: 0 0 50%;
}
.adcs-imprint div.label {
    margin-bottom: 0.5em;
    display: block;
    color: var(--adcs-color-blue);
    text-transform: uppercase;
    font-size: var(--adcs-fs-xs);
}
.adcs-imprint dl.adcs-imprint-block-name,
    .adcs-imprint dl.adcs-imprint-block-tax {
    margin-top: 0.5em;
}
.adcs-imprint dl.adcs-imprint-block-contact {
    margin-top: 1em;
}

.adcs-header-image-container {
    margin-bottom: 1em;
}
.adcs-header-image-container figure {
    -max-width: max-content;
    margin: 0 auto;
}
.adcs-header-image-container figure img {
    width: 100%;
}

.adcs-article-header-h1 {
    font-size: 0.85em;
    margin: 0.5em 0 1em 0;
    font-family: Arial, Helvetica, sans-serif;
}
.adcs-article-header-h1 h1 {
    -margin: 0.85em 0 0.5em;
    margin: 0.65em auto;
    margin-bottom: 0.25em;
    font-weight: 1000 !important;
    font-size: 3em;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.adcs-article-header {
    margin-bottom: 1em
}
.adcs-article-header-teaser {
    line-height: 1.65;
    font-weight: bold;
    margin-bottom: 1em;
    -margin: 0 auto;
}

.adcs-article-content-container {
    -max-width: 75%;
    margin: 0 auto;
    margin-top: 4em;
}
.adcs-article-content-container article.adcs-article * {
    font-size: var(--adcs-fs);
}
.adcs-article-content section.adcs-textblock {
    line-height: 1.75 !important;
}
.adcs-article-content-container article.adcs-article h2,
.adcs-article-content-container article.adcs-article h3,
.adcs-article-content-container article.adcs-article h4 {
    font-size: var(--adcs-fs-xl);
    margin: 1em 0 0.35em;
    font-weight: 1000;
}

.adcs-article-content-container article.adcs-article figure.adcs-figure {
    margin-bottom: 1em;
}
.adcs-article-content-container article.adcs-article figure.adcs-figure img {
    width: 100%;
}
.adcs-article-content-container article.adcs-article figure.adcs-figure figcaption.adcs-figcaption,
    .adcs-header-image-container figcaption,
    section[data-type="figure"] figcaption {
    color: var(--adcs-color-555);
    font-size: var(--adcs-fs-xs) !important;
    padding-left: 0.25em;
}
section[data-type="figure"] figcaption div.description {
    font-size: var(--adcs-fs-xs) !important;
}
.adcs-article-content-container article.adcs-article figure.adcs-figure figcaption.adcs-figcaption span.adcs-figcaption-copy,
    section[data-type="figure"] figcaption div.copyright {
    display: block;
    font-size: var(--adcs-fs-xs);
    color: var(--adcs-color-ca) !important;
    font-weight: lighter;
}
section[data-type="figure"] figcaption div.copyright:not(:empty)::before {
    content: "\00A9";
    margin-right: 5px;                        
}

article.adcs-article a {
    color: var(--adcs-color-blue) !important;
}
article.adcs-article a:hover {
    text-decoration: underline;
}

footer.adcs-article-footer {
    margin-top: 2em;
    line-height: 1.75;
    font-weight: bold;
}


.adcs-article-related {
    margin-top: 4em;
    span {
        display: block;
        font-size: var(--adcs-fs-xs);
        color: #818181;
        margin-bottom: 1em;
        text-transform: uppercase;
        font-weight: lighter;
    }
    .related-article {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 20px;
        margin-bottom: 1.5em;
        .headline {
            width: 100%;
        }
        figure {
            flex: 0 0 25%;
            max-width: 25%;
            margin: 0;
            img {
                width: 100%;
                height: auto;
                display: block
            }
        }
        figure[style*="display: none"] {
            display: none;
        }
        blockquote {
            flex: 1;
            font-size: var(--adcs-fs-s);
            margin: 0;
        }
    }
}


.adcs-linkbox {
	padding: 1em 0;
}
li.adcs-linkbox-link {
    background-color: var(--adcs-color-gray-light);
    padding: 0.5em;
    margin-bottom: 0.1em;
}
li.adcs-linkbox-link:hover {
    background-color: var(--adcs-color-green-light);
    color: var(--adcs-color-accent);
}


a.cta, 
    section[data-type="cta"] a.adcs-cta {
    display: flex;
    margin: 2em auto;
    justify-content: center;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    background-color: var(--adcs-color-gray-light);
    padding: 0.5em;
    width: 60%;
    font-weight: bold;
    font-size: 1em !important;
    line-height: 1.5em;
}
a.ctai {
    margin: 2em 0;
}
a.cta:hover,
    section[data-type="cta"] a.adcs-cta:hover {
    background-color: var(--adcs-color-accent);
    color: var(--adcs-color-white) !important;
    text-decoration: none !important;
}


.adcs-disc {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    margin: 2em 0;
    font-size: var(--adcs-fs-xs);
    color: var(--adcs-color-777);
    text-transform: uppercase;
}
.adcs-disc a {
    padding: 0;
}



.adcs-video video {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto;
    margin: 15px 0;
}
.adcs-youtube-container {
    max-width: 100%;
    width: 100%;
    left: 0;
    right: 0;
    margin: 1em auto;
}
.adcs-youtube {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
}
.adcs-youtube iframe {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/** special for bolded words **/
.k {
    font-size: inherit !important;
}




section[data-type="text"] {
    /** set font of the first paragraph **/
    &[data-type="text"]:not(&[data-type="text"] ~ &[data-type="text"]) {
        p {
            font-weight: bold;
            margin-bottom: 4em;
        }
    }

    a {
        color: var(--adcs-color-accent);
        text-decoration: underline;
    }

    ul {
        list-style-type: disc;
        margin: 1em;
        li {
            margin-left: 1em;
        }
    }
}

section[data-type="figure"] {
    margin-bottom: 1em !important;
}

section[data-type="links"] {
    strong {
        display: block;
        font-size: var(--adcs-fs-xl) !important;
        margin: 1em 0 0.35em !important;
        font-weight: 1000 !important;
    }
    ul {
        li {
            padding: 0.5em;
            margin-bottom: 0.1em;
            color: var(--adcs-color-accent);
            background-color: var(--adcs-color-gray-light);

            &:hover {
                background-color: var(--adcs-color-green-light);
            }
        }
    }
}

section[data-type="header"] {
    display: flex;
    flex-direction: column;
    h2 {
        -margin-top: -5em !important;
        font-size: var(--adcs-fs-s) !important;
        font-weight: 400 !important;
        order: 1;
    }
    h1 {
        font-family: var(--adcs-font-family) !important;
        font-size: 3em !important;
        font-weight: 1000 !important;
        margin-bottom: 0.25em !important;
        order: 2;
    }
    ul {
        order: 3 !important;
        margin-bottom: 0.25em;
        li {
            color: var(--adcs-color-777);
            font-size: 0.85em;
            display: inline;
            &:first-of-type {
                    clear: right;
                    color: var(--adcs-color-777);
                    font-weight: 700;
            }
            &:last-of-type:not(:empty) {
                &::before {
                    content: "von";
                }
            }
        }
    }
}

section[data-type="h2"] {
    h2 {
        font-size: var(--adcs-fs-xl);
        margin: 1em 0 0.35em;
        font-weight: 1000;
    }
}

section[data-type="text"] {
    margin-bottom: var(--adcs-20);
    p {
        font-size: var(--adcs-fs);
    }
}

section[data-type="footer"] {
    margin-top: 2em !important;
}

section[data-type="faq"] {
    margin-top: 4em;
    ul {
        margin-top: 1em;
        li {
            margin-bottom: 1em;
            span[faq-index] {
                position: relative;
                width: auto;
                display: inline-block;
                top: 4px;
            }
            div {
                display: inline;
                font-weight: 600;
            }
        }
    }
}

section[data-type="imprint"] {
    font-size: var(--adcs-fs-xs);
    .headline {
        margin-top: 3em;
        margin-bottom: 0.5em;
        display: block;
        color: var(--adcs-color-blue);
        text-transform: uppercase;
    }
    em {
        display: block;
        &.block {
            margin-bottom: 0.5em;
        }
        & em {
            display: block;
        }
    }
}



@media screen and (max-width: 1024px) {
    .adcs-col-right {
        padding-left: 2em;
    }
}

@media screen and (max-width: 768px) {
    .adcs-teaser-item-content {
        padding-right: initial;
    }
    .adcs-index-list {
        flex-direction: inherit;
    }
    .adcs-col-left {
        flex-basis: 100%;
        margin-bottom: 2em;
    }
    .adcs-col-right {
        flex: 0 0 100%;
        padding-left: 0;
    }
    .adcs-teaser-item-content-container {
        flex-wrap: wrap;
    }
    .adcs-teaser-item-content-container-a {
        flex: 0 0 100%;
    }
    .adcs-top-right-container-item div.adcs-teaser-item-content-teasertext {
        margin-top: 1em;
    }

    .adcs-nav ol {
        display: inherit;
        line-height: 2;
    }


    .adcs-flex-container {
        flex-direction: column;
    }
    .adcs-article-container {
        flex: 0 0 100%;
    }

    
    .adcs-nav ol li {
        height: 2.5em;
    }
    .adcs-nav ol li:last-of-type {
        display: none;
    }
    .adcs-imprint-container {
        flex-direction: column;
        width: 90%;
    }
    .adcs-article-content-container,
        .adcs-article-header-full {
        max-width: 90%;
    }

    .adcs-article-header-h1 h1,
        section[data-type="header"] h1 {
        font-size: 2.5em;
    }

    a.ctai {
        width: 100%;
    }
    
}

@media screen and (max-width: 450px) {
    .adcs-hide-xs {
        display: none;
    }

    .adcs-imprint-container {
        flex-direction: column;
        width: 100%;
    }
    .adcs-article-content-container,
        .adcs-article-header-full {
        max-width: 100%;
    }

    .adcs-article-header-h1 h1 {
        font-size: 2em;
    }
}


/** dark mode **/
@media (prefers-color-scheme: dark) {
    .adcs-theme-right-item ,
    .adcs-teaser-item-content-teasertext,
    .adcs-article-header-h1,
    .adcs-article-header-teaser,
    .adcs-article-content-container > *,
    .adcs-imprint > * {
        color: var(--adcs-color-000);
    }
}