/**/
/* Media-Queries für schmale Viewports: */
/**/

@media (max-width: 1440px) {

    :root {
        --layout-x-margin: 60px;
        --layout-y-margin: 40px;

        --h1-font-size: 50px;
        --h2-font-size: 35px;
        --h3-font-size: 24px;
        --h4-font-size: 26px;

        --counter-font-size: 75px;

        --uplift-top: -130px;
    }

    .footermenu-wrapper {
        display: block;
    }

    .footermenu-wrapper,
    #copyright {
        text-align: center;
    }

    #copyright {
        margin-top: calc(var(--footer-layout-y-margin) / 2);
    }

    .footermenu-items {
        padding: 0;
        margin: 0;
        list-style-type: none;
    }

}

@media (max-width: 1024px) {

    :root {
        --layout-x-margin: 30px;
        --layout-y-margin: 20px;

        --footer-layout-y-margin: 40px;

        --h1-font-size: 32px;
        --h2-font-size: 25px;
        --h3-font-size: 20px;
        --h4-font-size: 20px;

        --counter-font-size: 65px;

        --uplift-top: -100px;
    }

    .footer-contact ul {
        display: block;
    }

    .footer-contact li {
        margin-top: 16px;
    }

    .footer-contact li a {
        text-align: center;
    }

    .footermenu-items li {
        display: block;
        padding-right: 0;
    }

    main:not(:has(.powermail_field)) p.pdf a,
    main:not(:has(.powermail_field)) p.weblink a,
    main:not(:has(.powermail_field)) p.address a,
    main:not(:has(.powermail_field)) p.phone a,
    main:not(:has(.powermail_field)) p.email a {
        padding: 18px 32px 18px 52px!important;
    }

    main:not(:has(.powermail_field)) p.pdf a::before,
    main:not(:has(.powermail_field)) p.weblink a::before,
    main:not(:has(.powermail_field)) p.address a::before,
    main:not(:has(.powermail_field)) p.phone a::before,
    main:not(:has(.powermail_field)) p.email a::before {
        top: 18px;
        left: 18px;
    }

}

@media (max-width: 870px) {

    :root {
        --footer-layout-y-margin: 30px;

        --font-size: 17px;
        --paragraph-spacing: 14px;

        --counter-font-size: 55px;

        --uplift-top: -50px;
        --teaserMarginTop: 145px;
    }

    .ce-textpic:not(.ce-below):not(.ce-above) {
        flex-direction: column-reverse;
    }

    .ce-gallery {
        margin-left: 0!important;
        margin-right: 0!important;
        margin-bottom: 0!important;
    }

    .stylegreyBGLeft .ce-gallery {
        margin-left: var(--layout-x-margin)!important;
    }

    .stylegreyBGRight .ce-gallery {
        margin-right: var(--layout-x-margin)!important;
        padding-right: 0!important;
    }

    .ce-left .ce-bodytext {
        margin-left: 0!important;
    }

    .stylegreyBGLeft .ce-bodytext {
        margin-left: var(--layout-x-margin)!important;
    }

    .stylegreyBGRight .ce-bodytext {
        margin-right: var(--layout-x-margin)!important;
    }

    .contentItemLayout1.contentItemtext .frame,
    .contentItemLayout3.contentItemtext .frame {
        display: block;
    }

    .mainmenu {
        width: 100vw!important;
    }

    #teaser {
        margin-top: var(--teaserMarginTop);
    }

    .down-button svg {
        width: 45px;
        height: auto;
    }

    .contentItemLayout1.contentItemtext .frame > .contentBody {
        margin-left: 0;
    }

    #main-content .ce-bodytext {
        padding-bottom: 24px!important;
    }

    #main-content .ce-bodytext p:last-of-type {
        margin-bottom: 1em;
    }

    form.nolabel {
        display: block;
    }

    form.nolabel > fieldset:nth-of-type(5) {
        padding-left: 0;
    }

    .emtpy-column {
        display: none;
    }

    main:not(:has(.powermail_field)) p.pdf a,
    main:not(:has(.powermail_field)) p.weblink a,
    main:not(:has(.powermail_field)) p.address a,
    main:not(:has(.powermail_field)) p.phone a,
    main:not(:has(.powermail_field)) p.email a {
        font-size: 16px;
    }

    .contentItemLayout4 .ce-bodytext p:last-of-type {
        margin-bottom: 0;
    }

    .contentItemLayout2 .articleInner
    {
        width: 45%;
    }

}

@media (max-width: 600px) {

    :root {
        --font-size: 16px;
        --paragraph-spacing: 12px;

        --h1-font-size: 22px;
        --h2-font-size: 20px;
        --h3-font-size: 12px;
        --h4-font-size: 12px;

        --counter-font-size: 40px;

        --uplift-top: 0;
        --uplift-left: 0;
        --teaserMarginTop: 98px;
    }

    .mainmenu {
        padding: 100px 10px 0 60px;
    }

    .mainmenu-items {
        margin-top: 50px;
    }

    .mainmenu-items a {
        font-size: 22px!important;
    }

    .logo {
        padding: 25px 60px;
    }

    .logo img {
        width: 220px;
        height: auto;
    }

    .hamburger {
        top: 35px!important;
        left: 392px;
    }

    #teaser {
        margin-top: var(--teaserMarginTop);
    }

    .info {
        display: block;
    }

    form.nolabel > fieldset:nth-of-type(1) {
        display: block;
    }

    form.nolabel > fieldset:nth-of-type(1) > div {
        margin-top: 2em;
    }

    form.nolabel > fieldset:nth-of-type(1) > div:first-of-type {
        margin-top: 0;
    }

    .contentItemLayout2 .articleInner
    {
        width: auto;
    }
}

@media (max-width: 480px) {

    :root {
        --paragraph-spacing: 10px;
    }

    .hamburger {
        top: 35px!important;
        left: 340px;
    }

    .info {
        padding: 20px 20px 20px 55px;
    }

    .info:before {
        font-size: 1.5em;
        left: 15px;
        top: 20px;
    }

}
