

@media (max-width: 1350px) {
    #header > .frame-headertext .ce-bodytext,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        bottom: 160px;
        font-size: 40px;
        max-width: 750px;
    }

    #header > .frame-headertext .ce-bodytext p:last-child,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext p:last-child  {
        font-size: 50px;
    }
}

@media (max-width: 1300px) {
    #inhaltsbereich .tx_cn-columns[data-cols="4"] .row {
        display: flex;
        flex-wrap: wrap;
    }

    #inhaltsbereich .tx_cn-columns[data-cols="4"] .row > div {
        float: left;
        clear: none;
        width: calc(50% - 20px);
        margin: 0 0 30px 0;
    }

    #inhaltsbereich .tx_cn-columns[data-cols="4"] .row > div:nth-child(even) {
        margin-left: 40px;
    }

    #inhaltsbereich .tx_cn-columns[data-cols="4"] .row > div > div {
        float: left;
        clear: both;
        width: 100% !important;
        margin: 0 0 0 0 !important;
    }

    #oben .navigation .hnavi .unavi li a {
        padding: 10px 0;
        font-size: 16px;
    }
}

@media (max-width: 1250px) {
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        max-width: 650px;
    }
}

@media (max-width: 1200px) {
    /*  ++s++  */
    #cookieman-modal table td:first-child {
        vertical-align: top;
    }
}

@media (max-width: 1150px) {
    #oben .navigation {
        float: left;
        clear: none;
        width: calc(100% - 229px);
    }

    #oben .sidenav {
        position: fixed;
        top: 110px;
        right: 15px;
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        border: none;
        height: auto;
        width: auto;
    }

    .page88 #oben .sidenav {
        top: 235px;
    }

    /*~ Only on IOS ~*/
    @supports (-webkit-touch-callout: none) {
        #oben .sidenav {
            right: 25px;
        }
    }
    /*~ Only on IOS ~*/

    #oben .sidenav .ce-textpic,
    #oben .sidenav .ce-gallery,
    #oben .sidenav .ce-row {
        overflow: visible;
    }

    #oben .sidenav .ce-gallery .ce-row {
        position: relative;
        z-index: 1;
    }

    #oben .sidenav .ce-gallery .ce-row::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        width: 35px;
        bottom: 0;
        background: var(--accordion);
        z-index: -1;
    }

    #header > .frame-headertext .ce-bodytext,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        bottom: 110px;
    }
}

@media (max-width: 1120px) {
    .frame:not(.frame-team, .frame-style-slider) .ce-intext .ce-gallery {
        max-width: 300px;
    }

    .frame-leistungen .ce-gallery .ce-row figcaption {
        font-size: 16px;
    }
}

@media (max-width: 1100px) {
    #inhaltsbereich .frame-team.frame-type-shortcut .frame-team {
        float: left;
        clear: none;
        width: calc(50% - 20px);
        margin: 0 0 40px 0 !important;
    }

    #inhaltsbereich .frame-team.frame-type-shortcut .frame-team:nth-child(even) {
        margin-left: 40px !important;
    }

    #inhaltsbereich > .frame-type-textmedia.frame-layout-12 .ce-border {
        height: 400px;
        background-attachment: scroll;
        background-position: center;
    }
}

@media (max-width: 1080px) {
    #header {
        border-top: 5px solid var(--linkfarbe);
    }

    #oben {
        opacity: 0;
        transition: 0.3s;
    }

    #oben.visible {
        opacity: 1;
    }

    #oben .navigation .mob_button {
        float:right;
        position: relative;
        z-index: 5;
        margin: 15px 0;
        width: 60px;
        height: 60px;
        cursor: pointer;
        display: block;
    }

    .mob_button span {
        background-color: var(--linkfarbe);
        height: 3px;
        left: 10px;
        margin-top: -1px;
        position: absolute;
        top: 50%;
        width: 40px;
        transition: all 0.3s ease 0.3s;
    }

    .mob_button span::after,.mob_button span::before {
        backface-visibility: hidden;
        background-color: var(--linkfarbe);
        content: "";
        height: 3px;
        position: absolute;
        transform: translateZ(0px);
        transition: all 0.3s ease 0.3s;
        width: 100%;
        display: block;
    }

    .mob_button span::before {
        transform: translateY(-12px);
    }

    .mob_button span::after {
        transform: translateY(12px);
    }

    .mob_button[data-toggled="on"] span {
        background-color: transparent;
    }

    .mob_button[data-toggled="on"] span::before {
        transform: translateY(0px) rotate(-45deg);
        background-color: var(--linkfarbe);
    }

    .mob_button[data-toggled="on"] span::after {
        transform: translateY(0px) rotate(45deg);
        background-color: var(--linkfarbe);
    }

    #oben {
        background: #FFF !important;
        padding: 0 0 0 0;
        z-index: 21474829991;
    }

    #oben .navigation {
        width: calc(100% - 187px);
        margin: 0 0 0 0;
    }

    #oben > .rahmen > .frame {
        width: 186px;
        margin: 10px 0;
    }

    #oben .navigation .mobnav {
        position: absolute;
        left: 0;
        top: 100%;
        right: 0;
        background: var(--linkfarbe);
        overflow: hidden;
        max-height: calc(100vh - 90px);
        transform: scaleY(0);
        transform-origin: left top;
        transition: var(--standardtransition);
    }

    #oben .navigation .mob_button[data-toggled="on"] + .mobnav  {
        display: block;
        transform: scaleY(1);
        overflow: auto;
        z-index: 1;
    }

    #oben .navigation .hnavi > li {
        float: left;
        clear: both;
        width: 100%;
        border-bottom: 1px dashed var(--accordion);
    }

    #oben li.ifsub:hover .unavi {
        display: none !important;
    }

    /* -- Diese Anpassung muss natürlich erst im Responsive gemacht werden, nicht im style.css, sonst ist überhaupt kein Navipunkt mehr anklickbar -- */
    #oben .navigation .hnavi > li.ifsub > a {
        pointer-events: none;
    }

    #oben .navigation .hnavi > li.act,
    #oben .navigation .hnavi > li.ifsub[data-toggled="on"] {
        background: var(--accordion);
        border-bottom: 1px dashed var(--linkfarbe);
    }

    #oben .navigation .hnavi > li.act > a {
        color: var(--linkfarbe);
        font-weight: bold;
    }

    #oben .navigation .hnavi > li.act:last-child,
    #oben .navigation .hnavi > li.act:last-child a {
        border-bottom: 1px dashed var(--linkfarbe);
    }

    #oben .navigation .hnavi > li > a {
        float: left;
        clear: both;
        width: calc(100% - 40px);
        padding: 20px;
        text-align: center;
        color: #FFF;
        transition: 0.2s;
    }

    #oben .navigation .hnavi > li.ifsub[data-toggled="on"] > a {
        color: var(--linkfarbe);
        font-weight: bold;
    }

    #oben .navigation .hnavi > li a {
        text-shadow: none !important;
    }

    #oben .navigation .hnavi > li.ifsub[data-toggled="on"] > a,
    #oben .navigation .hnavi > li.act.ifsub > a {
        padding-bottom: 10px;
    }

    #oben .navigation .hnavi > li.ifsub[data-toggled="off"] > a {
        padding-bottom: 20px;
    }

    #oben .navigation .hnavi > li.ifsub:hover > a::after {
        display: none;
    }

    #oben .navigation .uppernav {
        background: var(--accordion);
        overflow: hidden;
        display: none;
    }

    #oben .navigation .mob_button[data-toggled="on"] + .mobnav .uppernav {
        display: block;
    }

    #oben .navigation .uppernav > .frame::after {
        content: url(../images/trenner-dark.svg);
        float: left;
        clear: both;
        width: 100%;
    }

    #oben .navigation .uppernav > .frame {
        width: 100%;
        float: left;
        clear: both;
    }

    #oben .navigation .uppernav > .frame ul {
        display: block;
        text-align: center;
    }

    #oben .navigation .uppernav > .frame ul li {
        background: none;
        border-radius: 0;
        margin: 10px 10px 0 10px;
        display: inline-block;
        float: none;
        vertical-align: top;
    }

    #oben .navigation .uppernav > .frame ul li a {
        float: left;
        clear: both;
        margin: 0 0 0 0;
        padding: 5px 10px !important;
        text-align: right;
        color: var(--dunkelorange);
        white-space: nowrap;
        line-height: normal;
    }

    #oben .navigation .uppernav > .frame ul li:last-child a {
        text-align: left;
    }

    #oben .navigation .uppernav > .frame ul li a span {
        display: inline-block;
        position: relative;
        float: none;
        width: auto;
        padding-left: 30px;
    }

    #oben .navigation .uppernav > .frame ul li a::before {
        display: none;
    }

    #oben .navigation .uppernav > .frame ul li a span::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 20px;
        background: url(../images/instagram.svg) center center no-repeat;
        background-size: contain;
        filter: invert(49%) sepia(22%) saturate(1512%) hue-rotate(358deg) brightness(95%) contrast(86%);
    }

    #oben .navigation .uppernav > .frame ul li:nth-child(1) a strong {
        display: block;
        font-weight: normal;
    }

    #oben .navigation .uppernav > .frame ul li:nth-child(1) a {
        width: auto;
        aspect-ratio: unset;
    }

    #oben .navigation .uppernav > .frame ul li:nth-child(2) a span::before {
        background: url(../images/termin.svg) center center no-repeat;
        background-size: contain;
    }

    #oben .navigation .uppernav > .frame ul li:nth-child(3) a span::before {
        background: url(../images/telefon.svg) center center no-repeat;
        background-size: contain;
    }

    #oben .navigation .mobnav > .hnavi + ul
    /* #oben .navigation .uppernav > ul */ { 
        float: left;
        clear: both;
        width: 100%;
        text-align: center;
        margin: 5px 0 20px;
        display: flex;
        justify-content: center;
    }

    #oben .navigation .mobnav > .hnavi + ul li
    /* #oben .navigation .uppernav > ul li */{ 
        float: none;
        display: inline-block;
    }

    #oben .navigation .hnavi > li.ifsub > a span {
        position: relative;
        padding-right: 20px;
    }

    #oben .navigation .hnavi > li.ifsub > a span::after {
        content: '';
        position: absolute;
        right: 0;
        width: 8px;
        height: 8px;
        border-bottom: 2px solid var(--accordion);
        border-right: 2px solid var(--accordion);
        transform: rotate(45deg);
        top: 4px;
        transition: 0.2s;
    }

    #oben .navigation .hnavi > li.ifsub[data-toggled="on"] > a span::after,
    #oben .navigation .hnavi > li.ifsub.act > a span::after {
        transform: rotate(-135deg);
        top: 10px;
    }

    #oben .navigation .hnavi > li.act > a span::after,
    #oben .navigation .hnavi > li.ifsub[data-toggled="on"] > a span::after {
        border-bottom: 3px solid var(--linkfarbe);
        border-right: 3px solid var(--linkfarbe);
    }

    #oben .unavi {
        position: static;
        float: left;
        clear: both;
        width: calc(100% - 40px);
        padding: 0 20px;
        margin-bottom: 10px;
        text-align: center;
        display: none !important;
        transition: none;
    }

    #oben .hnavi > .ifsub.act > .unavi {
        display: block !important;
        background-color: var(--accordion);
    }

    #oben .navigation .hnavi > li.ifsub[data-toggled="on"] .unavi {
        display: block !important;
        background: none;
    }

    #oben .navigation .unavi li {
        display: inline-block;
        margin: 0 5px 10px !important;
    }

    #oben .navigation .hnavi .unavi li a {
        background: var(--accordion);
        font-size: 16px;
        text-transform: none;
        padding: 5px 15px;
        border-radius: 50px;
    }

    #oben .navigation .hnavi > li.act .unavi li.act a, 
    #oben .navigation .hnavi > li.ifsub[data-toggled="on"] .unavi li.act a {
        background: var(--linkfarbe);
        box-shadow: inset 0 0 0 2px var(--linkfarbe);
        color: var(--weiss)
    }

    #oben .navigation .hnavi > li.act > .unavi > li > a {
        background: none;
        box-shadow: inset 0 0 0 2px var(--dunkelorange);
        color: var(--dunkelorange);
    }

    #oben .navigation .hnavi > li.act > .unavi > li.act > a {
        background: var(--linkfarbe);
    }

    #oben .navigation .hnavi > li.act > .unavi > li > a,
    #oben .navigation .hnavi > li.ifsub[data-toggled="on"] > .unavi > li > a {
        background: none;
        box-shadow: inset 0 0 0 2px var(--dunkelorange);
        color: var(--dunkelorange);
    }

    #oben .navigation .hnavi > li.ifsub[data-toggled="on"] > a::after {
        display: none !important;
    }

    #oben .navigation .hnavi > li.act[data-toggled="off"] {
        background: none;
        color: var(--weiss);
        border-bottom: 1px dashed var(--accordion);
    }

    #oben .navigation .hnavi > li.ifsub.act[data-toggled="off"] > a span::after {
        border-bottom: 2px solid var(--accordion);
        border-right: 2px solid var(--accordion);
        transform: rotate(45deg);
        top: 4px;
    }

    #oben .navigation .hnavi > li.act[data-toggled="off"] > a {
        color: var(--weiss);
        font-weight: 400;
    }

    #oben .hnavi > .ifsub.act[data-toggled="off"] > .unavi {
        display: none !important;
    }

    #header .frame:nth-child(2) {
        position: absolute;
        top: 20px;
        right: 20px;
        width: 130px;
    }

    #header .owl-dots {
        top: 20px;
        left: 20px;
    }

    #header {
        margin-top: 145px;
    }

    #oben .navigation .uppernav > .frame ul li a {
        font-size: 18px;
    }

    #oben .navigation .uppernav > .frame ul li {
        background: none !important;
    }

    #header > .frame-headertext .ce-bodytext {
        font-size: 35px;
        max-width: 550px;
    }

    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        font-size: 30px;
        line-height: 1.2em;
        max-width: 480px;
    }

    #header > .frame-headertext .ce-bodytext p:last-child,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext p:last-child {
        font-size: 45px;
    }

    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext p:last-child {
        margin-top: 15px;
        line-height: 1.2em;
    }

    /*  ++ Anpassung Navizeile über Logo ++ */
    #oben .navigation .mobnav > .hnavi + ul {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        list-style: none; 
    }

    #oben .navigation .mobnav > .hnavi + ul li { 
        margin: 0 5px;
        float: left;
        clear: none;
    }

    #oben .navigation .mobnav > .hnavi + ul li.nolink { 
        display: none;
    }

    #oben .navigation .mobnav > .hnavi + ul li a { 
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: #FFF;
        box-shadow: 0 2px 4px rgba(0,0,0,0.3);
        position: relative;
        display: block;
    }

    #oben .navigation .mobnav > .hnavi + ul li a::before { 
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url(../images/germany.svg) center center no-repeat;
        background-size: 60%;
    }

    #oben .navigation .mobnav > .hnavi + ul li:nth-child(2) a::before { 
        background: url(../images/united-kingdom.svg) center center no-repeat;
        background-size: 60%;
    }

    #oben .navigation .mobnav > .hnavi + ul li:nth-child(3) a::before { 
        background: url(../images/hungary.svg) center center no-repeat;
        background-size: 60%;
    }

    #oben .navigation .mobnav > .hnavi + ul li a span { 
        display: none;
    }

    .uppernav {
        float: left;
        clear: both;
        width: 100%;
        position: fixed;
        z-index: 5;
    }

    .uppernav + #oben {
        margin-top: 55px;
    }

    .uppernav ul {
        width: 90%;
        float: left;
        clear: both;
        padding: 10px 5%;
        margin: 0;
        background: var(--linkfarbe);
    }

    .uppernav ul li {
        display: inline-block;
        margin-right: 15px;
    }

    .uppernav ul li a {
        background: var(--weiss);
        color: var(--linkfarbe);
        padding: 5px 10px;
        border-radius: 30px;
        display: block;
    }

    .uppernav ul li:first-child {
        display: none;
    }

    #oben .sidenav {
        top: 250px;
    }

    #header .frame:nth-child(2) {
        top: 80px;
    }
}


@media (max-width: 1020px) {
    .frame-team .ce-bodytext {
        padding-bottom: 0;
    }

    .frame-team .ce-textpic:hover .ce-bodytext {
        padding-bottom: 20px;
    }

    #header > .frame-headertext .ce-bodytext,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        font-size: 30px;
        padding: 25px 15px 25px 0;
    }

    #header > .frame-headertext .ce-bodytext p:last-child,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext p:last-child {
        font-size: 35px;
    }
}

@media (max-width: 1000px) {
    .frame-profil.tx_cn-multicontent .ce-gallery,
    .frame-profil.tx_cn-multicontent .profiltext + .ce-gallery,
    .frame-profil.frame-type-textmedia .ce-gallery,
    .frame-profil.frame-type-textmedia .ce-bodytext + .ce-gallery {
        width: 200px;
    }

    .frame-profil.tx_cn-multicontent .profiltext,
    .frame-profil.frame-type-textmedia .ce-bodytext {
        width: calc(100% - 250px);
    }

    #inhaltsbereich.margtop {
        margin-top: 70px;
        min-height: calc(100vh - 296px);
    }
}

@media (max-width: 950px) {
    .tx_cn-columns .row .col-33 {
        width: 50%;
        margin: 0 0 30px 0;
    }

    .tx_cn-columns .row .col-33:last-child {
        margin: 0 0 0 0;
    }

    .tx_cn-columns[data-cols="3"] .row > div:nth-child(2n+0) > div {
        margin-left: 2%;
        margin-right: 0;
    }

    .tx_cn-columns[data-cols="3"] .row > div:nth-child(3n+0) > div {
        margin-left: 0;
        margin-right: 2%;
    }
}

@media (max-width: 900px) {
    #inhaltsbereich.margtop {
        margin-top: 100px;
        min-height: calc(100vh - 336px);
    }
    
    #inhaltsbereich > .frame:not(.frame-leistungen-full, .frame-imgheader) .ce-intext .ce-bodytext,
    #inhaltsbereich > .frame:not(.frame-leistungen-full, .frame-imgheader) .ce-intext .ce-gallery {
        float: left;
        clear: both;
        width: 100%;
        margin: 0 0 0 0;
    }

    #inhaltsbereich > .frame:not(.frame-leistungen-full) .ce-intext > div:last-child {
        margin: 20px 0 0 0;
    }

    .frame-leistungen-full > div > .frame {
        position: relative;
        padding-top: 50px;
    }

    .frame-leistungen-full.frame-type-shortcut.frame-layout-1 > div > .frame {
        padding-top: 0;
    }

    .frame-leistungen-full .frame .row > div:first-child .ce-gallery {
        position: absolute;
        left: 0;
        top: 0;
        width: 50px;
        margin: 0 0 0 0;
    }

    .frame-leistungen-full .ce-bodytext {
        margin: 0 0 0 0;
    }

    #inhaltsbereich .frame-imgheader {
        padding-top: 50px;
    }

    .frame-imgheader::before {
        background: url(../images/kleks-bg-orange.svg) calc(100% + 150px) -150px no-repeat;
    }

    #inhaltsbereich .frame-imgheader .ce-gallery {
        position: static;
        float: left;
        clear: both;
        transform: none;
        width: 100px;
        position: relative;
        z-index: 3;
        margin: 0 0 0 0;
        bottom: auto !important;
    }

    #inhaltsbereich .frame-imgheader .ce-bodytext {
        float: left;
        clear: both;
        width: 100%;
    }

    #inhaltsbereich > .frame-type-textmedia.frame-layout-12:last-child .ce-border {
        height: 200px;
    }

    #inhaltsbereich > div {
        margin-top: 50px;
    }

    .frame-bg-orange {
        padding: 50px 0;
    }

    #footer {
        margin-top: 10px;
    }

    #inhaltsbereich > .frame:not(.frame-leistungen-full, .frame-imgheader) .ce-intext .ce-gallery {
        max-width: unset;
    }

    #inhaltsbereich > .frame:not(.frame-leistungen-full, .frame-imgheader) .ce-intext .ce-gallery .ce-row {
        float: left;
        /* margin: 0 10px 10px 0; */
    }

    .frame-icons .ce-above .ce-gallery .ce-row {
        width: 40%;
    }
}

@media (max-width: 850px) {
    #inhaltsbereich.margtop {
        min-height: calc(100vh - 396px);
    }

    #footer ul li {
        width: 100%;
        margin: 0 0 10px 0;
    }

    #footer ul li:last-child {
        margin: 0 0 0 0;
    }

    /*  ++s++  */
    #cookieman-modal table td:nth-child(2) {
        min-width: 200px;
    }

    #inhaltsbereich .tx_cn-columns[data-cols="4"] .row > div,
    #inhaltsbereich .tx_cn-columns .row > div {
        float: left;
        clear: both;
        width: 100%;
        margin: 0 0 10px 0;
    }

    #inhaltsbereich .tx_cn-columns[data-cols="4"] .row > div {
        margin: 0 0 30px 0 !important;
    }

    #inhaltsbereich .tx_cn-columns .row > div > div {
        float: left;
        clear: both;
        width: 100% !important;
        margin: 0 0 0 0 !important;
    }

    .frame-leistungen.frame-layout-0 {
        padding: 0 0 0 0;
    }

    .frame-leistungen.frame-layout-0 .ce-gallery::before {
        display: none;
    }

    #inhaltsbereich .frame-leistungen.frame-layout-0 .ce-gallery a {
        text-align: left;
        justify-content: flex-start;
        padding: 10px 20px;
        width: calc(100% - 44px);
        margin: 0 0 5px 0;
        border: none;
        background: linear-gradient(90deg, var(--weiss) 0%, var(--weiss) calc(0% + 80px), var(--lightorange) calc(0% + 80px), var(--lightorange) 100%);
        color: var(--font);
        border: 2px solid var(--lightorange) !important;
    }

    .frame-leistungen.frame-layout-0 .ce-gallery picture {
        height: 40px;
        width: 40px;
        margin-right: 40px;
        position: relative;
        z-index: 1;
    }

    .frame-leistungen.frame-layout-0 .ce-gallery figcaption {
        width: calc(100% - 40px);
    }

    .frame-leistungen.frame-layout-0 .ce-gallery picture::before {
        background: var(--weiss);
        z-index: -1;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
    }

    .frame-leistungen:not(.frame-layout-1) .ce-gallery::after {
        display: none;
    }

    #header > .frame-headertext .ce-bodytext,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        bottom: 65px;
        max-width: 460px;
        font-size: 25px;
        padding: 15px 10px 15px 0;
    }

    #header > .frame-headertext .ce-bodytext p:last-child,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext p:last-child {
        font-size: 30px;
    }
}

@media (max-width: 800px) {
    #container_321med {
        max-height: calc(100vh - 300px) !important;
    }

    h1, h2 {
        font-size: 24px;
        margin: 0 0 15px 0;
    }

    h1 + h2 {
        font-size: 18px;
    }

    h1 span::before, h2 span::before {
        width: 30px;
        height: 30px;
        top: -5px;
    }

    #inhaltsbereich .frame-imgheader .ce-bodytext {
        z-index: 214748300000 !important;
    }

    .frame-img-bg .ce-gallery .ce-row::before {
        opacity: 0.5;
    }

    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        max-width: 400px;
    }
}

@media (max-width: 750px) {
    .frame-type-div .rahmen {
        overflow: hidden;
    }

    .frame-leistungen-full > div > .frame::after,
    .frame-type-div .rahmen::after {
        width: 160%;
        margin-left: -30%;
    }

    .frame-profil.tx_cn-multicontent .ce-gallery,
    .frame-profil.frame-type-textmedia .ce-bodytext + .ce-gallery {
        clear: both;
        margin: 0 0 20px 0;
    }

    .frame-profil.tx_cn-multicontent .profiltext,
    .frame-profil.frame-type-textmedia .ce-bodytext {
        clear: both;
        width: 100%;
    }

    .frame-profil.frame-type-textmedia .ce-textpic.ce-below {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }

    .tx-indexedsearch-form {
        width: calc(100% - 100px);
        float: left;
        margin: 0;
    }

    .tx-indexedsearch-form label {
        width: 100%;
        clear: both;
        margin: 0 0 3px 0;
    }

    .tx-indexedsearch-searchbox-sword {
        width: calc(100% - 10px);
    }

    .tx-indexedsearch-search-submit {
        width: 90px;
        float: right;
        margin-top: 28px;
    }

    .tx-indexedsearch-pagination .tx-indexedsearch-browsebox li a {
        min-width: 2.35rem;
        min-height: 2.35rem;
        padding: 5px 10px 5px;
    }

    .tx-indexedsearch-searchbox-button {
        margin: 0 0 0 0;
        padding: 4px 14px 2px;
    }

    .tx-indexedsearch-searchbox fieldset {
        width: calc(100% - 40px);
        padding: 20px 20px 20px 20px;
    }
}

@media (max-width: 700px) {
    #inhaltsbereich .frame-team.frame-type-shortcut .frame-team,
    #inhaltsbereich .frame-team.frame-type-shortcut .frame-team:nth-child(even) {
        width: 70%;
        margin: 0 15% 40px 15% !important;
    }

    .frame-team .owl-carousel {
        width: 70%;
        margin: 0 15%;
    }

    #inhaltsbereich .frame-team.frame-type-shortcut .frame-team:last-child {
        margin: 0 15% 0 15% !important;
    }

    .frame-style-slider .owl-dots button, .frame-bildslider .owl-dots button {
        width: 12px;
        height: 12px;
        margin: 0 3px;
    }

    .frame-style-slider .owl-dots, .frame-bildslider .owl-dots {
        margin-top: 20px;
    }

    .ce-gallery[data-ce-columns="4"] .ce-column {
        width: calc(50% - 10px);
        margin-right: 20px;
        margin-bottom: 20px;
    }

    .ce-gallery[data-ce-columns="4"] .ce-column:nth-child(even) {
        margin-right: 0;
    }

    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        max-width: 335px;
    }

    .page88 #oben .sidenav {
        top: 180px;
    }
}

@media (max-width: 650px) {
    #oben .navigation .uppernav > .frame::after {
        width: 140%;
        margin-left: -20%;
    }

    .frame-leistungen .ce-gallery::before {
        background-size: 150% 100%;
    }

    #inhaltsbereich > .frame-type-textmedia.frame-layout-12 .ce-border {
        height: 200px;
    }

    .popup .close {
        border-radius: 50%;
        background: var(--linkfarbe);
        z-index: 12230000000;
        top: 30px;
        right: calc(5% + 10px)
    }

    .popup {
        height: calc(100vh - 100px);
        padding: 50px 5%;
        width: 90%;
    }

    .popup .frame *:not(source) {
        height: auto;
        width: auto;
        max-width: 100%;
    }

    /* .page87 #header.sub {
        overflow: visible;
    }

    .page87 #header > .frame-headertext {
        overflow: visible !important;
        padding-bottom: 550px !important;
    }

    .page88 #header.sub {
        overflow: visible;
    }

    #header > .frame-headertext {
        overflow: visible !important;
        padding-bottom: 650px !important;
    } 

    /* #header > .frame-headertext .ce-gallery {
        aspect-ratio: 2 / 3;
    } */

    #header > .frame-headertext {
        height: auto !important;
        padding-bottom: unset !important;
    } 

    #header > .frame-headertext .ce-bodytext,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        width: 90%;
        padding: 20px 5%;
        font-size: 30px;
        max-width: unset;
        position: static;
    }

    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        text-align: left;
    }

    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext p {
        float: left;
    }

    #header > .frame-headertext .ce-bodytext p:last-child,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext p:last-child {
        font-size: 38px;
    }
}

@media (max-width: 600px) {
    .frame-leistungen-full.frame-type-shortcut.frame-layout-1 h2 span {
        white-space: wrap;
    }

    #inhaltsbereich.margtop {
        min-height: unset;
    }

    .slideinrespinhalt {
        padding: 30px 0;
        top: 150px;
        max-height: calc(100vh - 300px) !important;
        z-index: 10000000001;
    }

    .slideinrespinhalt > .ce-textpic {
        height: auto;
        max-height: calc(100vh - 300px) !important;
        overflow: auto;
        padding: 0 20px;
        width: calc(100% - 40px);
        scrollbar-width: thin;
        scrollbar-color: #EA9305 transparent;
    }
    
    .slideinrespinhalt > .ce-textpic::-webkit-scrollbar {
        width: 5px;
        height: 5px;
    }
    
    .slideinrespinhalt > .ce-textpic::-webkit-scrollbar-thumb {
        background-color: #EA9305;
        border-radius: 10px;
    }
    
    .slideinrespinhalt > .ce-textpic::-webkit-scrollbar-track {
        background: transparent;
    }

    .slideinrespinhalt .online-termin {
        margin-top: 30px;
    }

    .slideinlayer {
        z-index: 10000000000;
    }

    #oben .sidenav {
        top: 180px;
    }

    .frame-icons .ce-above .ce-gallery .ce-row {
        width: 100%;
    }

    #footer .tx_cn-columns .row > div {
        float: left;
        clear: both;
        width: 100%;
        margin: 0 0 0 0;
    }

    #footer .tx_cn-columns .row > div > div {
        float: left;
        clear: both;
        width: 100% !important;
        margin: 0 0 0 0 !important;
    }

    #footer .frame-type-shortcut > .rahmen {
        display: block;
    }

    #footer .frame-type-shortcut > .rahmen > .frame {
        clear: both;
        width: 100%;
    }

    #footer .frame-type-shortcut > .rahmen > .frame-type-textmedia {
        border: none;
        margin: 10px 0 0 0;
        padding: 20px 0 0 0;
        border-top: 1px solid var(--schwarz);
    }

    #footer .frame-type-shortcut > .rahmen > .frame-type-textmedia .rahmen,
    #footer .frame-type-shortcut > .rahmen > .frame-type-textmedia .ce-textpic {
        float: left;
        clear: both;
        width: 100%;
    }

    #footer .frame-type-menu_subpages ul li {
        width: 100%;
        margin: 0 0 10px 0;
    }

    #footer .frame-type-menu_subpages ul li a {
        display: block;
        padding: 10px 20px;
        text-align: center;
        background: rgba(0, 0, 0, 0.1);
        border-radius: 50px;
    }

    #footer .tx_cn-columns .row .col-25 {
        padding-bottom: 100px;
    }

    .frame-leistungen-full > div > .frame::after,
    .frame-type-div .rahmen::after {
        margin: 30px 0 30px -30%;
    }

    .frame-leistungen-full::before {
        opacity: 0.5;
    }

    #header {
        overflow: visible;
        padding: 0 0 0 0;
        height: auto;
    }

    #header > .frame:first-child {
        padding-bottom: 66.7%;
        height: 0;
        overflow: hidden;
    }

    #header .frame:nth-child(2) {
        top: auto;
        bottom: -20px;
    }

    .popup .frame-layout-0 {
        width: calc(100% - 80px);
        padding: 40px;
        height: calc(100% - 80px);
    }

    .frame-leistungen-full.frame-type-shortcut.frame-layout-1 h2 a span {
        margin: 10px 0 0 0;
        float: left;
        clear: both;
        width: 100%;
        max-width: unset;
    }
}

@media (max-width: 550px) {
    .frame-leistungen .ce-gallery::before {
        background: url(../images/bg-orange.jpg) top left no-repeat;
        background-size: cover;
    }

    #inhaltsbereich .frame-team.frame-type-shortcut .frame-team {
        width: 90%;
        margin: 0 5% 40px 5%;
    }

    .frame-team .owl-carousel {
        width: 90%;
        margin: 0 5%;
    }

    #inhaltsbereich .frame-team.frame-type-shortcut .frame-team:last-child {
        margin: 0 5% 0 5%;
    }

    .frame-leistungen-full > div > .frame::after,
    .frame-type-div .rahmen::after {
        width: 220%;
        margin: 30px 0 30px -60%;
    }

    #inhaltsbereich .frame-leistungen .ce-gallery .ce-row figcaption {
        white-space: wrap !important;
    }
}

@media (max-width: 530px) {
    #oben .navigation .uppernav > .frame ul li {
        width: 100%;
        clear: both;
    }

    #oben .navigation .uppernav > .frame ul li a {
        text-align: center !important;
    }

    #oben .navigation .uppernav > .frame ul li:last-child a {
        padding-top: 0;
    }

    #oben .navigation .uppernav > .frame::after {
        width: 200%;
        margin-left: -50%;
        margin-top: -5px;
    }

    #header > .frame-headertext .ce-bodytext,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        font-size: 22px;
    }

    #header > .frame-headertext .ce-bodytext p:last-child,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext p:last-child {
        font-size: 30px;
    }
}

@media (max-width: 500px) {
    #inhaltsbereich .ce-gallery[data-ce-columns="2"] .ce-row .ce-column,
    #inhaltsbereich .ce-gallery[data-ce-columns="3"] .ce-row .ce-column,
    #inhaltsbereich .ce-gallery[data-ce-columns="4"] .ce-row .ce-column {
        margin-bottom: 10px;
        display: block;
    }

    #inhaltsbereich .ce-bodytext a {
        display: inline-block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    /* #inhaltsbereich a {
        word-break: break-all;
    } */

    /* ++ s ++ */
    #inhaltsbereich .ce-bodytext a {
        display: inline-block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        vertical-align: bottom;
    }
}

@media (max-width: 480px) {
    #inhaltsbereich .frame-team.frame-type-shortcut .frame-team,
    #inhaltsbereich .frame-team.frame-type-shortcut .frame-team:nth-child(even) {
        width: 90%;
        margin: 0 5% 40px 5% !important;
    }

    #inhaltsbereich .frame-team.frame-type-shortcut .frame-team:last-child {
        margin: 0 5% 0 5% !important;
    }
}

@media (max-width: 450px) {
    .popup .frame-layout-0 {
        width: calc(100% - 40px);
        padding: 20px;
        height: calc(100% - 40px);
    }
}

@media (max-width: 430px) {
    #header > .frame-headertext .ce-bodytext,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        font-size: 20px;
        bottom: -100px;
    }

    #header > .frame-headertext .ce-bodytext p:last-child,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        font-size: 25px;
    }
}


@media (max-width: 400px) {
    .tx-indexedsearch-searchbox fieldset {
        width: 100%;
        padding: 0 0 0 0;
        background: none;
    }

    .tx-indexedsearch-searchbox-sword {
        width: calc(100% - 12px);
        border: 1px solid var(--blue);
    }

    .tx-indexedsearch-searchbox-button {
        padding: 5px 14px 4px;
    }

    .frame-leistungen-full > div > .frame::after,
    .frame-type-div .rahmen::after {
        width: 300%;
        margin: 30px 0 30px -100%;
    }

    .frame-leistungen.frame-layout-0 .ce-gallery picture {
        display: none;
    }

    #inhaltsbereich .frame-leistungen.frame-layout-0 .ce-gallery a {
        display: block;
        padding: 10px 10px;
        width: calc(100% - 20px);
        margin: 0 0 5px 0;
        border: none !important;
        background: var(--accordion);
    }

    #inhaltsbereich .frame-leistungen.frame-layout-0 .ce-gallery a figcaption {
        display: block;
    }

    .uppernav ul li a {
        font-size: 16px;
        padding: 5px 8px;
    }
}

@media (max-width: 350px) {
    #header > .frame-headertext .ce-bodytext,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext {
        font-size: 18px;
        padding: 15px 5%;
    }

    #header > .frame-headertext .ce-bodytext p:last-child,
    #header > .frame-headertext .ce-textpic.ce-right .ce-bodytext p:last-child {
        font-size: 22px;
    }
}

@media (max-width: 335px) {
    .uppernav ul li {
        margin-right: 5px;
    }

    .uppernav ul li:last-child {
        margin-right: 0;
    }
}
