@media all {
    p, dl, ol, ul, blockquote {
        margin: 0;
        margin-top: var(--gap-2);
    }

    blockquote {
        position: relative;
        padding-left: var(--base-2-1);
    }

    blockquote::before {        
        position: absolute;
        top: 0;
        left: 0;

        content: "\f10d";
        font-size: 1.6em;
        font-style: normal;
        font-variant: normal;
        line-height: 1;
        text-rendering: auto;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        color: var(--color-primary);

        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
    }

    blockquote p {
        font-size: 1.2em;
        line-height: 1.25;
        font-weight: 300;
        font-style: italic;
        margin-top: var(--gap-4);
        margin-bottom: var(--gap-4);
    }

    blockquote p:last-child {
        font-size: unset;
        font-weight: unset;
        font-style: unset;
    }

    p.pagination-count {
        margin-top: 0;
    }

    .ce-bodytext > :first-child {
        margin-top: 0;
    }

    ol, ul {
        padding-left: var(--gap-5);
        display: grid;
        grid-row-gap: var(--gap);
        margin-top: var(--gap-2);
    }

    .ce-bodytext ol, 
    .ce-bodytext ul {
        /*! margin-bottom: var(--gap-2); */
    }

    .ti-program-list ,
    .ti-program-list ul ,
    .ti-program-list .ce-bodytext ul ,
    .ti-program-actions {
        margin-bottom: 0 !important;
    }

    ul {
        list-style: square;
    }

    ul li::marker {
        color: var(--color-primary);
    }

    .ce-header time {
        display: block;
        margin-top: var(--gap-2);
    }

    h1, .h1,
    h2, .h2,
    h3, .h3,
    h4, .h4,
    h5, .h5,
    h6, .h6 
    p,
    li,
    a,
    caption,
    figcaption {
        overflow-wrap: break-word;
        word-wrap: break-word;
        /*! -webkit-hyphens: auto; */
        /*! -ms-hyphens: auto; */
        /*! hyphens: auto */
    }

    .grid-15-7 .grid-1-1 .ce-header > * ,
    .grid-7-15 .grid-1-1 .ce-header > * ,
    .grid-15-7 .grid-1-1-1 .ce-header > * ,
    .grid-7-15 .grid-1-1-1 .ce-header > * ,
    .ce-textmedia.ce-intext:not(.ce-nowrap) .ce-header ,
    .grid-1-1-1-1 .ce-text-on-image .ce-header > * {
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        hyphens: auto;
        text-wrap: balance;
        text-wrap: pretty;
    }

    h1, .h1,
    h2, .h2,
    h3, .h3,
    h4, .h4,
    h5, .h5,
    h6, .h6 {
        font-family: var(--font-family-header);
        color: var(--color-primary);
        margin: 0;
        /*
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        hyphens: auto;
        text-wrap: balance;
        text-wrap: pretty;
        */
    }

    h1, .h1 {
        line-height: 1;
    }

    h2, .h2 {
        line-height: 1.0625;
    }

    h3, .h3 {
        line-height: 1.125;
    }

    h4, .h4 {
        line-height: 1.1875;
    }

    h5, .h5 {
        line-height: 1.25;
    }

    h6, .h6 {
        line-height: 1.3125;
    }

    b, 
    strong {
        font-weight: 700;
    }

    a {
        text-decoration: underline;
        text-underline-offset: .175em;
        text-decoration-thickness: 1px
    }

    .pagination li * {
        line-height: 1;
        height: 1em;
        box-sizing: content-box;
    }

    .pagination li a {
        display: flex;
        gap: var(--gap-2);
        background: transparent !important;
    }

    .pagination li a:focus-visible {
        box-shadow: var(--shadow-focus);
    }

    .ce-header a {
        text-decoration: none;
        display: inline-block;
    }

    a:is(:hover,:focus) {
        text-decoration-thickness: 2px
            /*
            text-underline-offset: .0875em;
            */

    }

    :is(
    .btn,
    .nav-link,
    .dropdown-item,
    .ce-uploads-link,
    .werbelink
    ):is(:hover,:focus) {
        text-decoration: none;
    }

    .ce-element .btn {
        margin-top: var(--gap);
        margin-bottom: var(--gap);
    }

    .link-mail {
        position: relative;
        padding-left: 1.25em;
    }

    .link-mail::before {
        content: "\f0e0";
        position: absolute;
        left: 0;
        top: .25em;
        font-family: var(--fa-style-family,"Font Awesome 6 Free");
        font-weight: var(--fa-style,900);
        -moz-osx-font-smoothing: grayscale;
        font-style: normal;
        font-variant: normal;
        line-height: 1;
        text-rendering: auto;
        margin-right: var(--gap);
    }

}


@media (min-width: 48rem) {

    blockquote {
        padding-left: var(--base-size);
    }

}

@media (min-width: 120rem) {

    .grid-1-1-1-1 .ce-text-on-image .ce-header > * {
        -webkit-hyphens: unset;
        -ms-hyphens: unset;
        hyphens: unset;
    }

}