@media (max-width: 1450px) {
    h1 {
        font-size: calc(1.7 * var(--font-size-base));
    }

    h2 {
        font-size: calc(1.5 * var(--font-size-base));
    }

    h3 {
        font-size: calc(1.3 * var(--font-size-base));
    }

    
    #inhaltsbereich.sub h1 span:first-child {
        font-size: calc(3 * var(--font-size-base));
    }

}

@media (max-width: 1350px) {
    #header .frame .ce-bodytext strong {
        font-size: 140px;
    }

    .frame-kreis .ce-textpic .ce-gallery {
        max-width: 50%;
    }

    .frame-kreis .ce-textpic.ce-right .ce-gallery {
        margin-left: 60px;
    }

    .frame-kreis .ce-textpic .ce-gallery::before {
        left: -150px;
    }

    .frame-kreis .ce-textpic.ce-left .ce-gallery {
        margin-right: 60px;
    }

    .frame-kreis .ce-textpic.ce-left .ce-gallery::before {
        right: -150px;
    }

    .footerunten .frame-type-cn_multicontent .row {
        align-items: center;
        flex-wrap: wrap;
    }

    .footerunten .frame-type-cn_multicontent .row > div {
        width: 100% !important;
    }

    .footerunten .frame-type-cn_multicontent .row > div:first-child {
        font-size: calc(2.4 * var(--font-size-base));
    }

    .footerunten .frame-type-cn_multicontent .row > div:last-child {
        margin-top: 20px;
    }

    .footerunten ul {
        justify-content: center;
    }
}

@media (max-width: 1280px) {
    .frame-textbildheaderuseite .ce-textpic {
        display: flex;
        flex-direction: column-reverse;
    }

    #inhaltsbereich .frame-textbildheaderuseite .ce-gallery {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        margin-top: 50px;
        margin-left: 0;
    }

    .frame-textbildheaderuseite .ce-row {
        float: none;
        width: calc(50% - 10px);
        max-width: none;
        margin: 0 0 20px;
    }

    #inhaltsbereich .frame-textbildheaderuseite .ce-column {
        max-width: 100%;
        width: 100%;
        height: 100%;
    }

    #inhaltsbereich .frame-textbildheaderuseite .ce-column .image {
        height: 100%;
    }

    #inhaltsbereich .frame-textbildheaderuseite .ce-gallery img {
        height: 100%;
        object-fit: cover;
    }

    .frame-textbildheaderuseite .ce-gallery.ce-border .ce-row:nth-child(odd) {
        margin-right: 0;
    }

    .frame-textbildheaderuseite .ce-gallery.ce-border .ce-row:nth-child(even) {
        float: none;
    }

    .frame-textbildheaderuseite .ce-gallery.ce-border .ce-row:first-child .ce-column {
        max-width: 100%;
        width: 100%;
    }

    .frame-textbildheaderuseite .ce-gallery.ce-border .ce-row img {
        width: 100%;
        height: auto;
    }

    .logo {
        margin: 23px 0;
    }

    .logo .ce-row:first-child {
        display: none;
    }

    .logo .ce-row:last-child {
        display: block;
    }

    .logo img {
        max-width: 200px;
    }

    .hauptnavi {
        margin-top: 0;
        position: relative;
    }

    ul.ebene1 {
        display: none;
        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    }

    label[for="mobnav"] .mob_button {
        display: block;
    }

    #mobnav:checked ~ ul.ebene1 {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        position: fixed;
        top: 0;
        right: 0;
        left: auto;
        width: max-content;
        max-width: calc(100vw - 40px);
        min-width: 300px;
        box-sizing: border-box;
        padding: 100px 20px 20px;
        background: var(--navbg);
        text-align: left;
        max-height: calc(100vh - var(--hoben));
        overflow: auto;
    }

    ul.ebene1 > li {
        display: block;
        float: none;
        clear: none;
        width: auto;
        margin: 0 0 5px;
        padding: 0 20px;
        background: var(--navbg);
        position: relative;
    }

    ul.ebene1 > li > a {
        display: block;
        padding: 12px 0;
    }

    ul.ebene1 > li:last-child a {
        padding: 12px 0;
    }

    ul.ebene1 > .ifsub > label {
        display: block;
        position: absolute;
        top: 10px;
        right: 20px;
        z-index: 1;
    }

    ul.ebene1 li.ifsub:hover > .klappnavi {
        display: none;
    }

    ul.ebene1 li.ifsub:focus-within > .klappnavi,
    .ebene1 li.ifsub input[name="togglesub"]:checked + a + label + .klappnavi {
        display: block;
    }

    .klappnavi {
        position: static;
        float: left;
        clear: both;
        width: 100%;
        margin: 10px 0 !important;
        padding: 0 !important;
    }

    ul.ebene2 {
        display: inline;
        float: none;
        clear: none;
    }

    ul.ebene2 > li,
    ul.ebene2 > li:first-child {
        display: inline-block;
        vertical-align: top;
        width: auto;
        clear: none;
        margin: 0 10px 10px 0;
        padding: 0;
        border: 1px solid var(--navischriftfarbe);
    }

    ul.ebene2 > li > a {
        display: block;
        padding: 10px 20px;
    }

    ul.ebene1 > li.quicklink {
        display: inline-block;
        clear: none;
        width: auto;
        margin: 0 20px 10px 20px;
        padding: 0;
    }

    ul.ebene1 > li.quicklink a {
        padding: 10px 20px;
        background-color: var(--gold);
        color: var(--schriftfarbe);
    }

    .navi .frame-type-menu_pages {
        display: none;
    }

    :root {
        --abstand-frame: 80px;
        --cn_multigap: 30px;
    }
}

@media (max-width: 1200px) {
    .frame-iconskl .ce-gallery .ce-row {
        width: calc((100% - 8.1%) / 4);
    }

    .frame-bilderbuttons .ce-gallery .ce-row {
        width: calc(50% - 15px);
    }

    .frame-partnerlogos .ce-gallery {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .frame-partnerlogos .ce-row {
        width: auto;
        min-width: 0;
    }
}

@media (max-width: 1100px) {
    :root {
            --abstand-frame: 60px;
    }

    #inhaltsbereich > .frame > .rahmen,
    .footerunten > .frame > .rahmen {
        width: 90%;
    }

    #inhaltsbereich .frame-default .ce-textpic.ce-intext.ce-nowrap,
    #inhaltsbereich .frame-textmitbild .ce-textpic,
    #inhaltsbereich .frame-kreis .ce-textpic {
        display: flex;
        /* flex-wrap: wrap; */
        flex-direction: column-reverse;
    }

    #inhaltsbereich .frame-default .ce-textpic.ce-intext.ce-nowrap .ce-gallery,
    #inhaltsbereich .frame-textmitbild .ce-textpic .ce-gallery,
    #inhaltsbereich .frame-kreis .ce-textpic .ce-gallery {
        max-width: unset;
        margin: 40px 0 0 0;
        float: unset;
    }

    .frame-bilderbuttons .ce-gallery[data-ce-images="1"] .ce-row {
        width: calc(50% - 15px);
    }

    #inhaltsbereich .frame-kreis .ce-textpic:has(a.button-gold) .ce-gallery::before {
        background: var(--gold-hell);
    }

    #inhaltsbereich .frame-kreis .ce-gallery::before {
        left: 20px;
        /* top: -30%; */
        top: -100px;
    }

    #inhaltsbereich .frame-kreis .ce-bodytext,
    #inhaltsbereich .frame-kreis .ce-textpic.ce-right .ce-bodytext {
        margin-top: 0;
        text-align: left;
    }
}

@media (max-width: 1000px) {
    .tx_cn-columns .row .col-50 {
        width: 100%;
    }

    .tx_cn-columns[data-cols="2"] .row > .col-50 > div {
        width: 100%;
        margin: var(--cn_multigap) 0 0;
    }

    .tx_cn-columns .row > [class*="col-"] {
        width: 100%;
        float: none;
        clear: both;
    }

    .tx_cn-columns[data-cols="2"] .row > [class*="col-"] > div {
        width: 100%;
        margin: 0 !important;
    }

    .tx_cn-columns[data-cols="2"] .row > [class*="col-"] + [class*="col-"] > div {
        margin-top: var(--cn_multigap) !important;
    }
}


@media (max-width: 1050px) {
    #header .frame .ce-bodytext p {
        font-size: 50px;
        line-height: 1.6;
    }

    #header .frame .ce-bodytext strong {
        font-size: 125px;
    }
}

@media (max-width: 940px) {
    .frame-icons .ce-gallery {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }


    .frame-iconskl .ce-gallery {
        gap: 30px;
    }

    .frame-iconskl .ce-gallery .ce-row {
        width: calc((100% - 8.1%) / 3);
    }

    .footerunten .frame-type-cn_multicontent .row > div {
        width: auto;
        min-width: 275px;
    }

    .footerunten .frame-type-cn_multicontent .row > div:first-child {
        width: 100%;
    }

    .footerunten .frame-type-cn_multicontent .row > div:first-child > .frame {
        margin-right: 0;
    }

    .footerunten .frame-type-cn_multicontent .row > div > div {
        width: 100%;
        margin: 0 !important;
    }

    :root {
        --cn_multigap: 30px;
    }
}

@media (max-width: 850px) {
    #header .frame .ce-bodytext strong {
        font-size: 100px;
        margin-bottom: -40px;
    }
}

@media (max-width: 800px) {
    .frame-textbildheaderuseite .ce-gallery.ce-border {
        gap: 20px;
    }

    .frame-textbildheaderuseite .ce-gallery.ce-border .ce-row {
        width: 100%;
        max-width: 100%;
        margin-bottom: 20px;
    }

    .frame-textbildheaderuseite .ce-gallery.ce-border .ce-row .ce-column {
        width: 100%;
        max-width: 100%;
    }

    .frame-textbildheaderuseite .ce-gallery.ce-border .ce-row figure {
        width: 100%;
        max-width: 100%;
    }

    .frame-textbildheaderuseite .ce-gallery.ce-border .ce-row img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .frame-icons .ce-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .frame-partnerlogos .ce-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ui-accordion-header,
    .ui-accordion-content {
        padding-left: 0;
    }

    .ui-accordion-header {
        box-sizing: border-box;
    }
}

@media (max-width: 720px) {
    #header .frame .ce-bodytext {
        bottom: 10px;
    }

    #header .frame .ce-bodytext p {
        font-size: 42px;
    }

    .frame-bilderbuttons .ce-below .ce-gallery {
        margin-top: 0;
    }

    .frame-bilderbuttons .ce-gallery .ce-row,
    .frame-bilderbuttons .ce-gallery[data-ce-images="1"] .ce-row {
        width: 100%;
    }
}

@media (max-width: 680px) {
    :root {
        --abstand-frame: 60px;
        --font-size-base: 16px;
    }

    h1 {
        font-size: calc(2 * var(--font-size-base));
    }

    h2 {
        font-size: calc(1.8 * var(--font-size-base));
    }

    h3 {
        font-size: calc(1.4 * var(--font-size-base));
    }

    .frame-iconskl .ce-gallery .ce-row {
        width: calc((100% - 8.1%) / 2);
        max-width: unset;
    }

    .footerunten .frame-type-cn_multicontent .row {
        gap: 20px;
    }

    .footerunten .frame-type-cn_multicontent .row > div {
        width: 100%;
    }

    .footerunten .frame-type-cn_multicontent .row > div > div {
        display: flex;
        justify-content: center;
        text-align: center;
    }

    .footerunten .frame-type-cn_multicontent .row > div > div table {
        text-align: left;
    }

    .footerunten .frame-type-cn_multicontent img {
        max-width: 80%;
        margin: 0 auto;
    }

    #header .frame .ce-bodytext p {
        font-size: 36px;
    }

    #header .frame .ce-bodytext strong {
        font-size: 80px;
        margin-bottom: -30px;
    }

    #inhaltsbereich .frame-textbildheaderuseite .ce-row {
        max-width: 100%;
    }

    #inhaltsbereich .frame-textbildheaderuseite .ce-row:nth-child(odd) {
        margin-right: 20px;
        margin-top: -40px;
    }

    #inhaltsbereich .frame-textbildheaderuseite .ce-row:nth-child(even) {
        margin-left: 20px;
        margin-top: -40px;
    }

    #inhaltsbereich .frame-textbildheaderuseite .ce-row:first-child {
        margin-top: 0;
        margin-bottom: 0;
    }

    .footerunten::after {
        background-size: auto 40px;
        opacity: 70%;
    }

    .footerunten .frame-type-cn_multicontent .row > div:first-child {
        font-size: calc(2 * var(--font-size-base));
    }
}

@media (max-width: 600px) {
    #mobnav:checked ~ ul.ebene1 {
        top: 80px;
        padding: 20px 0;
        width: auto;
        left: 0;
        right: 0;
        max-width: 100%;
    }
}

@media (max-width: 540px) {
        #header .frame .ce-bodytext {
        position: static;
        width: auto;
        padding: 0 20px;
        background: var(--gold-dunkel);
    }

    #header .frame .ce-bodytext strong {
        position: absolute;
        bottom: 60px;
        text-shadow: var(--text-shadow);
    }

    #header .frame .ce-bodytext {
        padding: 10px 20px;
    }

    #header .frame .ce-bodytext p {
        font-size: 24px;
        line-height: 1;
    }

    #header .frame .ce-bodytext strong {
        font-size: 60px;
        margin-bottom: -35px;
    }
}

@media (max-width: 500px) {
    a.button-gold,
    a.button-weiss,
    a.rahmen-gold,
    a.rahmen-weiss {
        padding: 15px 20px;
        font-size: calc(1.2 * var(--font-size-base));
        max-width: 100%;
        white-space: normal;
        box-sizing: border-box;
    }
}

@media (max-width: 450px) {
    :root {
        --font-size-base: 15px;
    }

    .frame-icons .ce-gallery {
        grid-template-columns: repeat(1, 1fr);
    }

    .frame-iconskl .ce-gallery .ce-row {
        width: calc(100% - 8.1%);
    }

    .frame-partnerlogos .ce-gallery {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 440px) {


    a.button-gold, a.button-weiss, a.rahmen-gold, a.rahmen-weiss {
        padding: 10px 15px;
    }

    .footerunten .frame-type-menu_subpages ul::after {
        left: 0;
        right: 0;
    }

    .footerunten .frame-type-cn_multicontent .row > div:last-child ul {
        gap: 10px;
        flex-wrap: wrap;
    }

    .footerunten .frame-type-cn_multicontent .row > div:last-child ul li {
        width: 100%;
    }

    .footerunten .frame-type-cn_multicontent .row > div:first-child {
        font-size: calc(1.6 * var(--font-size-base));
    }
}

@media (max-width: 415px) {
    :root {
        --abstand-frame: 40px;
    }

    #header .frame .ce-bodytext strong {
        font-size: 55px;
    }
}

@media (max-width: 380px) {
    #inhaltsbereich.sub h1 span:first-child {
        font-size: calc(3 * var(--font-size-base));
        padding: 0 5px;
    }

    #header .frame .ce-bodytext {
        padding: 10px 15px;
    }
    
    #header .frame .ce-bodytext strong {
        font-size: 45px;
        margin-bottom: -32px;
    }

    a.button-gold,
    a.button-weiss,
    a.rahmen-gold,
    a.rahmen-weiss {
        font-size: calc(1.1 * var(--font-size-base));
    }

    ul.ebene1 > li.quicklink a {
        padding: 10px 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}