html {
    -webkit-text-size-adjust: 100%;
}
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="submit"],
textarea {
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    -webkit-border-radius: 0;
}
input:focus {
    outline: none;
    box-shadow: none;
}




@media (max-width: 767px) {

    /***** Globals - Start *****/
    html {
        font-size: 20px;
    }

    h1 {
        font-size: 32px;
    }
    h2 {
        margin: 0 0 10px;
        font-size: 26px;
    }
    h3 {
        margin: 0 0 10px;
        font-size: 22px;
    }
    h4 {
        font-size: 22px;
    }

    p {
        margin: 0 0 14px;
    }

    .content ul li {
        position: relative;
        margin: 0 0 20px;
        padding: 0 0 0 18px;
    }
    .content ul li::before {
        top: 10px;
        width: 8px;
        height: 8px;
    }

    .content ul > li > ul::before {
        top: 10px;
        width: 8px;
        height: 8px;
    }

    .content ol {
        margin: 0 0 16px;
    }
    .content ol li {
        margin: 0 0 24px;
        padding: 0 0 0 32px;
    }
    .content ol li:last-of-type {
        margin: 0;
    }

    input[type="text"],
    input[type="tel"],
    input[type="password"],
    input[type="email"] {
        height: 40px;
        padding: 0 12px;
        font-size: 20px;
    }
    select {
        height: 40px;
    }

    .form-group {
        display: block;
        width: 100%;
    }
    .form-group.preview {
        display: flex;
    }
    /***** Globals - End *****/

    div.main {
        padding: 74px 0 0;
    }

    /***** RTE - Start *****/
    .align-justify {
        flex-wrap: wrap;
    }

    a.button-arrow-green,
    a.button-icon-green,
    a.button-arrow-blue,
    a.button-icon-blue {
        margin-bottom: 12px;
    }
    a.button-arrow-green,
    a.button-icon-green,
    a.button-arrow-blue,
    a.button-icon-blue {
        padding: 7px 80px 8px 18px;
    }
    a.button-arrow-green::before,
    a.button-arrow-blue::before {
        top: 16px;
        right: 12px;
        width: 22px;
        height: 12px;
    }
    a.button-arrow-green::after,
    a.button-icon-green::after,
    a.button-arrow-blue::after,
    a.button-icon-blue::after {
        width: 52px;
        height: 42px;
        bottom: auto;
    }
    a.button-icon-green::before,
    a.button-icon-blue::before {
        top: 10px;
        right: 12px;
        width: 17px;
        height: 24px;
    }
    a.button-icon-green:hover::before,
    a.button-icon-blue:hover::before {
        top: 11px;
    }
    a.link-arrow {
        padding: 0 0 0 32px;
        font-size: 18px;
        word-break: break-word;
    }
    a.link-arrow::before {
        top: 7px;
        width: 22px;
        height: 12px;
    }
    a.link-arrow:hover::before {
        left: 0;
    }
    a.anchor {
        margin: 0 24px 12px 0;
        padding: 2px 0 3px 46px;
    }
    a.anchor::before {
        top: 0;
        left: 0;
        width: 36px;
        height: 32px;
    }
    a.anchor::after {
        top: 7px;
        left: 12px;
        width: 9px;
        height: 18px;
    }
    a.anchor:hover::after {
        top: 9px;
    }
    /***** RTE - End *****/

    /***** Headlines - Start *****/
    .headline-outer h2 {
        margin: 0 0 34px;
    }
    .headline-outer h4 {
        font-size: 22px;
    }
    /***** Headlines - End *****/

    /***** TYPO3 - Start *****/
    .frame-type-textmedia,
    .frame-type-textpic,
    .frame-type-image,
    .frame-type-text,
    .frame-type-table,
    .frame-type-uploads,
    .frame-type-bullets,
    .frame-type-html,
    .frame-type-menu_subpages,
    .frame-type-menu_sitemap_pages,
    .frame-type-menu_pages {
        margin: 0 0 40px;
    }

    .content .frame-space-after-small {
        /*margin-bottom: 20px;*/
    }
    .content .frame-space-after-medium {
        margin-bottom: 40px;
    }
    .content .frame-space-after-large {
        margin-bottom: 40px;
    }
    .frame-grid {
        margin-bottom: 40px;
    }
    .frame-grid.frame-layout-110 {
        margin-bottom: 40px;
        padding-bottom: 16px;
    }

    .ce-intext.ce-right .ce-gallery,
    .ce-intext.ce-left .ce-gallery,
    .ce-above .ce-gallery {
        margin-bottom: 12px;
    }
    .ce-left .ce-gallery,
    .ce-right .ce-gallery,
    .ce-column {
        float: none;
    }
    .ce-gallery figure {
        width: 100%;
    }
    a.lightbox-link {
        width: 100%;
    }
    .ce-gallery img {
        width: 100%;
    }
    .image-caption {
        padding: 0;
        font-size: 18px;
    }

    .ce-intext.ce-right .ce-gallery {
        margin-left: 0;
    }
    .ce-intext.ce-left .ce-gallery {
        margin-right: 0;
    }
    .ce-gallery .ce-row {
        margin-bottom: 0;
    }
    .ce-gallery .ce-row .ce-column {
        margin-right: 0;
        margin-bottom: 12px;
    }

    .frame-type-uploads .ce-uploads {
        margin: 0;
    }
    /***** TYPO3 - End *****/

    /***** Header - Start *****/
    header.main {
        background-color: #fff;
    }
    header.main .header-stage {
        /*align-items: flex-start;*/
        height: 74px;
        margin-right: -15px;
    }
    header.main.scrolled .header-stage {
        height: 74px;
    }
    header.main::before {
        height: 10px;
    }
    header.main .logo {
        width: 181px;
        height: 60px;
        margin: 10px 0 0;
        background-size: contain;
    }
    header.main.scrolled .logo {
        height: 60px;
    }
    header.main .header-content {
        justify-content: center;
        flex-wrap: wrap;
        margin: 0 0 0 15px;
    }
    .logo-wrapper .logo-text::before {
        top: 2px;
        height: 24px;
    }
    .logo-wrapper .logo-text {
        padding: 0;
        margin: 0 8px 0 10px;
        font-size: 20px;
    }
    header.main .logo-icon {
        width: 26px;
        height: 34px;
    }
    header.main .header-content .subtitle {
        margin: 0;
        font-size: 18px;
    }
    header.main .header-stage .colored-sidebar::after {
        left: -4px;
        border-right: 30px solid transparent;
        border-top: 74px solid rgb(var(--color-primary));
    }
    header.main .header-stage .colored-sidebar::before {
        left: -2004px;
    }
    header.main .header-actions .btn-nav {
        width: 74px;
        height: 74px;
        background-size: auto 30px;
    }
    header.main .header-actions .customer {
        width: 39px;
        height: 30px;
        margin: 0 16px 0 0;
        background-size: auto 30px;
    }
    header.main .header-actions .search {
        margin: 0;
    }
    header.main .header-actions .search .btn {
        width: 28px;
        height: 28px;
        margin: 0 12px 0 0;
    }
    header.main .header-actions .search .btn::after {
        top: 2px;
        left: 4px;
        width: 23px;
        height: 23px;
        background-size: auto 23px;
    }
    header.main .header-actions .search .search-field {
        top: 74px;
        padding: 24px 12px;
    }
    header.main .header-actions .search .search-field .inputs {
        height: 40px;
    }
    header.main .header-actions .search .search-field .inputs input[type="text"] {
        flex: 0 0 calc(100% - 46px);
        width: 100%;
        height: 40px;
        font-size: 20px;
    }
    header.main .header-actions .search .search-field .inputs input[type="submit"] {
        flex: 0 0 46px;
        width: 46px;
        height: 40px;
        background-size: 30px auto;
    }

    .header-image {
        margin: 0 0 32px;
    }
    /***** Header - End *****/

    /***** Navigation - Start *****/
    nav.main {
        width: 100%;
        padding: 32px 24px 40px 18px;
    }
    nav.main .btn-nav-close {
        top: 18px;
        right: 20px;
        z-index: 2;
    }
    nav.main > ul {
        width: auto;
    }
    nav.main > ul > li {
        margin: 0 0 24px;
        padding: 0 0 0 38px;
    }
    nav.main > ul > li .toggle {
        left: 0;
    }
    nav.main .subnav {
        margin: 0 0 0 -12px;
        padding: 20px 0 0 0;
    }
    nav.main .subnav > ul > li {
        padding-left: 42px;
    }
    /***** Navigation - End *****/

    /***** Breadcrumb - Start *****/
    .breadcrumb {
        margin: 32px 0 20px;
    }
    .breadcrumb ul {
        display: block;
    }
    .breadcrumb ul li {
        display: none;
        margin: 0 0 0 28px;
    }
    .breadcrumb ul li:first-of-type {
        display: inline-block;
    }
    .breadcrumb ul li::before {
        top: 9px;
        left: -18px;
    }
    .breadcrumb ul li:last-of-type {
        display: inline;
    }
    /*.breadcrumb ul li:last-of-type {
        display: block;
        margin-left: 60px;
    }*/
    .breadcrumb ul li:nth-of-type(2):not(.active) {
        display: inline;
    }
    .breadcrumb ul li:nth-of-type(2):not(.active) a {
        display: none;
    }
    .breadcrumb ul li:nth-of-type(2):not(.active)::before {
        content: '...';
        position: absolute;
        top: 0;
        left: -14px;
        width: auto;
        height: auto;
        background: none;
    }
    /***** Breadcrumb - End *****/

    /***** Contentelements - Start *****/
    .headline-outer h2::before {
        bottom: -12px;
    }
    a[data-fancybox]::before {
        bottom: -14px;
        width: 74px;
        height: 55px;
        background-size: 28px auto;
    }
    a[data-fancybox]:hover::before {
        background-size: 28px auto;
    }
    /***** Contentelements - End *****/

    /***** Layout- und Rahmenklassen - Start *****/
    .header-layout-150 h2,
    .header-layout-160 h2,
    .header-layout-170 h2 {
        font-size: 32px;
    }

    .content .frame-layout-110 ul li {
        min-height: 43px;
        padding: 6px 0 0 66px;
    }
    .content .frame-layout-110 ul li::before {
        width: 52px;
        height: 43px;
    }
    .content .frame-layout-110 ul li::after {
        top: 16px;
        left: 11px;
        width: 22px;
        height: 12px;
    }

    .content .frame-type-uploads ul li {
        min-height: 43px;
        padding: 6px 0 0 66px;
    }
    .content .frame-type-uploads ul li::before {
        width: 52px;
        height: 43px;
    }
    .content .frame-type-uploads ul li::after {
        left: 13px;
        width: 17px;
        height: 24px;
    }

    .frame-layout-120 {
        margin: 0 12px 40px;
    }
    .frame-layout-120 .inner {
        margin: 0 -12px;
        padding: 32px 12px 32px;
    }
    .frame-layout-120 .header .inner .headline-outer h2 {
        margin-bottom: 32px;
    }
    .frame-layout-150,
    .waterworld .frame-layout-150 {
        padding: 24px 0 0;
    }
    .waterworld .frame-layout-150.frame-space-after-none + .frame-layout-150 {
        margin-top: -12px;
    }

    .frame-layout-130,
    .frame-layout-140 {
        margin: 60px 0 76px;
    }
    .frame-layout-130 .inner,
    .frame-layout-140 .inner {
        padding: 66px 24px 12px;
    }
    .frame-layout-130 .header .inner::before,
    .frame-layout-140 .header .inner::before {
        top: -24px;
        left: -20px;
        width: 85px;
        height: 74px;
        background-size: 36px auto;
    }

    .frame-layout-150 .headline-outer h2 {
        margin: 0 0 36px;
    }

    .frame-layout-160 {
        margin: 0 0 40px;
        padding: 36px 0 24px;
    }
    .frame-layout-160 .headline-outer h2 {
        margin: 0 0 24px;
    }
    /***** Layout- und Rahmenklassen - End *****/

    /***** Tabellen - Start *****/
    .table.rm tr {
        border-bottom-width: 2px;
    }
    .table.rm th,
    .table.rm td {
        padding: 12px 12px 12px;
        border-right-width: 2px;
    }
    /***** Tabellen - End *****/

    /***** Startseite - Start *****/

    /***** Startseite - End *****/

    /***** Suche - Start *****/

    /***** Suche - End *****/

    /***** Video - Start *****/
    .video-embed {
        width: 352px;
    }
    /***** Video - End *****/

    /***** Aufklapper - Start *****/
    .folder .fold .fold-title {
        padding: 11px 56px 9px 12px;
        font-size: 22px;
    }
    .folder .fold .fold-title::before {
        top: 21px;
        right: 13px;
        width: 22px;
        height: 12px;
    }
    .folder .fold .fold-title::after {
        width: 58px;
        height: 50px;
    }
    .folder .fold .fold-content p {
        font-size: 20px;
    }
    /***** Aufklapper - End *****/

    /***** Teaser - Start *****/
    .image-text-teaser {
        margin: 0 0 40px;
    }
    .image-text-teaser .headline {
        margin: 0 0 16px;
        font-size: 22px;
    }
    .image-text-teaser .image::before {
        width: 74px;
        height: 55px;
    }
    .image-text-teaser .image::after {
        bottom: -1px;
        right: 16px;
        width: 28px;
        height: 18px;
    }
    /***** Teaser - End *****/

    /***** News-Liste - Start *****/
    .news-list-row {
        display: block;
        margin: 0 0 40px;
        padding: 6px 0 0 60px;
    }
    .news-list-row::before {
        width: 52px;
        height: 43px;
    }
    .news-list-row::after {
        top: 16px;
        left: 10px;
        width: 22px;
        height: 12px;
    }
    .news-list-row .date {
        margin: 0 16px 0 0;
    }
    .news-list-row .title {
        margin: 16px 0 0 -60px;
        padding: 0 0 0 2px;
        overflow: hidden;
    }
    /***** News-Liste - End *****/

    /***** News-Detail - Start *****/
    .news-single.rm .article .media {
        float: none;
        width: auto;
        margin: 0 0 24px;
    }
    .news-single.rm .footer span {
        vertical-align: top;
    }
    .news-single.rm .footer span.news-list-category {
        max-width: calc(100% - 110px);
        margin: 0 0 0 12px;
        padding: 0 0 0 16px;
    }
    /***** News-Detail - End *****/

    /***** Dienstleistungen - Start *****/
    .repeating-boxes {
        margin: 0 0 40px;
    }
    .repeating-boxes .title .headline {
        margin: 0 0 28px;
        padding: 0 40px 0;
        font-size: 32px;
    }
    .repeating-boxes .box-title {
        font-size: 26px;
    }
    .repeating-boxes .image::before,
    .repeating-boxes .box .image-text-teaser .image::before {
        width: 73px;
        height: 62px;
    }
    .repeating-boxes .image::after,
    .repeating-boxes .box .image-text-teaser .image::after {
        bottom: 6px;
        right: 16px;
        width: 28px;
        height: 14px;
    }
    .repeating-boxes .box-content {
        min-height: unset;
        padding-bottom: 26px;
    }
    .repeating-boxes .box-content .text {
        font-size: 18px;
    }
    .repeating-boxes .box-content.has-fixed-link .text {
        max-height: unset;
    }
    .repeating-boxes .fixed-link {
        position: relative;
        bottom: auto;
        left: auto;
    }
    /***** Dienstleistungen - End *****/

    /***** Teaser - Bild und Text nebeneinander - Start *****/
    .repeating-teasers {
        margin: 0 0 40px;
    }
    .repeating-teasers .teaser .image {
        margin: 0 0 24px;
    }
    .repeating-teasers .teaser.icon {
        margin: 0 0 40px;
    }
    .repeating-teasers .teaser.icon .image::before {
        bottom: -20px;
        width: 87px;
        height: 68px;
    }
    .repeating-teasers .teaser.icon .image::after {
        bottom: -20px;
        width: 87px;
        height: 68px;
    }
    .repeating-teasers .teaser.icon.i-1 .image::after,
    .repeating-teasers .teaser.icon.i-2 .image::after,
    .repeating-teasers .teaser.icon.i-3 .image::after,
    .repeating-teasers .teaser.icon.i-4 .image::after,
    .repeating-teasers .teaser.icon.i-5 .image::after,
    .repeating-teasers .teaser.icon.i-6 .image::after,
    .repeating-teasers .teaser.icon.i-7 .image::after,
    .repeating-teasers .teaser.icon.i-8 .image::after,
    .repeating-teasers .teaser.icon.i-9 .image::after,
    .repeating-teasers .teaser.icon.i-10 .image::after {
        background-size: 51px auto;
        background-position-x: calc(50% + 6px);
    }
    .repeating-teasers .teaser.icon.i-3 .image::after {
        background-size: 47px auto;
    }
    .repeating-teasers .teaser.icon.i-5 .image::after {
        background-size: 41px auto;
    }
    .repeating-teasers .teaser.icon.i-7 .image::after{
        background-size: 31px auto;
    }
    .repeating-teasers .teaser .headline {
        margin: 0 0 24px;
        font-size: 26px;
    }
    .repeating-teasers .teaser .headline::before {
        bottom: -12px;
    }
    /***** Teaser - Bild und Text nebeneinander - End *****/

    /***** Owl Carousel - Start *****/
    .owl-theme .owl-nav {
        display: none;
        /*align-items: flex-start;
        top: -70px;*/
    }
    /*.owl-theme .owl-nav .owl-prev {
        margin-left: 12px;
    }
    .owl-theme .owl-nav .owl-next {
        margin-right: 12px;
    }*/

    .owl-dots {
        display: block;
    }
    /***** Owl Carousel - End *****/

    /***** Häufig gesucht - Start *****/
    .frequently-searched {
        margin: -32px 0 40px;
        padding: 24px 0 12px;
    }
    .frequently-searched .headline {
        margin: 0 0 26px;
        font-size: 32px;
    }
    /***** Häufig gesucht - End *****/

    /***** Quicklink-Teaser - Start *****/
    .quicklink-teaser .teaser-link {
        min-height: unset;
        margin: 0 0 24px;
        padding: 12px 48px;
        font-size: 22px;
    }
    .quicklink-teaser .teaser-link::before {
        bottom: -12px;
        right: 0;
        width: 53px;
        height: 43px;
    }
    .quicklink-teaser .teaser-link::after {
        bottom: 4px;
        right: 12px;
        width: 22px;
        height: 12px;
    }
    .quicklink-teaser .teaser-link:hover::after {
        right: 12px;
    }
    /***** Quicklink-Teaser - End *****/

    /***** Flexslider - Start *****/
    .flex-control-nav {
        display: block;
    }
    /***** Flexslider - End *****/

    /***** News-Slider - Start *****/
    .news .flexslider::before {
        top: -24px;
        left: -12px;
        width: 75px;
        height: 64px;
    }
    .news .flexslider::after {
        top: -24px;
        left: -18px;
        width: 75px;
        height: 64px;
        background-size: 42px auto;
    }
    .article.rm.slider {
        padding: 60px 12px 24px;
    }
    .article.rm.slider h3 {
        font-size: 26px;
    }
    .article.rm.slider .more a::before {
        top: 7px;
    }

    .news .flex-direction-nav {
        display: none;
        /*top: -54px;*/
    }
    /*.news .flexslider .flex-direction-nav .flex-prev,
    .news .flexslider:hover .flex-direction-nav .flex-prev {
        left: 0;
    }
    .news .flexslider .flex-direction-nav .flex-next,
    .news .flexslider:hover .flex-direction-nav .flex-next {
        right: 0;
    }*/

    .content .news-slider ol.flex-control-nav {
        position: relative;
        bottom: auto;
        margin: 24px 0 0;
    }
    /***** News-Slider - End *****/

    /***** Schnellzugriff-Kacheln - Start *****/
    .quickguide {
        margin: -100px 0 40px;
        font-size: 18px;
    }
    .waterworld .quickguide {
        margin: -100px 0 40px;
    }
    .quickguide .qbox {
        min-height: unset;
        margin: 0 0 24px;
        padding: 16px 12px 36px;
    }
    .quickguide .qbox.icon::before {
        bottom: -12px;
        right: 0;
        width: 66px;
        height: 54px;
    }
    .quickguide .qbox.icon::after {
        bottom: -12px;
        right: 0;
        width: 56px;
        height: 54px;
    }
    .quickguide .qbox.icon.i-1::after {
        background-size: 40px auto;
    }
    .quickguide .qbox.icon.i-2::after {
        background-size: 44px auto;
    }
    .quickguide .qbox.icon.i-3::after {
        background-size: 32px auto;
    }
    .quickguide .qbox.icon.i-4::after {
        background-size: 24px auto;
    }
    .quickguide .qbox.icon.i-5::after {
        background-size: 41px auto;
    }
    .quickguide .qbox.icon.i-6::after {
        background-size: 32px auto;
    }
    .quickguide .qbox.icon.i-7::after {
        background-size: 36px auto;
    }
    .quickguide .qbox.icon.i-8::after {
        background-size: 42px auto;
    }

    .quickguide .qbox.icon.i-9::after,
    .quickguide .qbox.icon.i-10::after,
    .quickguide .qbox.icon.i-11::after,
    .quickguide .qbox.icon.i-12::after,
    .quickguide .qbox.icon.i-13::after {
        background-size: 42px auto;
    }
    .quickguide .qbox.icon.i-14::after {
        background-size: 26px auto;
    }
    .quickguide .qbox.icon.i-15::after {
        background-size: 35px auto;
    }
    .quickguide .qbox.icon.i-16::after {
        background-size: 28px auto;
    }
    .quickguide .qbox.icon.i-17::after {
        background-size: 38px auto;
    }
    .quickguide .qbox.icon.i-18::after {
        background-size: 28px auto;
    }
    .quickguide .qbox.icon.i-19::after {
        background-size: 36px auto;
    }
    .quickguide .qbox.icon.i-20::after {
        background-size: 32px auto;
    }
    .quickguide .qbox.icon.i-21::after {
        background-size: 30px auto;
    }
    .quickguide .qbox.icon.i-22::after {
        background-size: 39px auto;
    }
    .quickguide .qbox.icon.i-23::after {
        background-size: 26px auto;
    }
    .quickguide .qbox.icon.i-24::after {
        background-size: 40px auto;
    }
    .quickguide .qbox.icon.i-25::after {
        background-size: 40px auto;
    }
    .quickguide .qbox.icon.i-26::after {
        background-size: 40px auto;
    }
    .quickguide .qbox.icon.i-27::after {
        background-size: 40px auto;
    }
    .quickguide .qbox.icon.i-28::after {
        background-size: 40px auto;
    }
    .quickguide .qbox.icon.i-29::after {
        background-size: 40px auto;
    }
    .quickguide .qbox.icon.i-30::after {
        background-size: 40px auto;
    }
    .quickguide .qbox.icon.i-31::after {
        background-size: 40px auto;
    }

    .quickguide .headline {
        margin: 0 0 20px;
        font-size: 24px;
    }
    .quickguide .headline::before {
        bottom: -10px;
    }
    .quickguide .link-text {
        padding: 0 0 0 32px;
    }
    .quickguide .link-text::before {
        top: 8px;
        left: 0;
        width: 22px;
        height: 12px;
    }
    .quickguide .qbox:hover .link-text::before {
        left: 0;
    }
    /***** Schnellzugriff-Kacheln - End *****/

    /***** Teaser mit Aufklapper - Start *****/
    .teaser-folder .headline {
        margin: 0 0 12px;
        font-size: 32px;
    }
    .teaser-folder .subtitle {
        margin: 0 0 30px;
        font-size: 26px;
    }
    .teaser-folder .subtitle::before {
        bottom: -16px;
    }
    .teaser-folder .folding-actions button {
        font-size: 20px;
    }
    /***** Teaser mit Aufklapper - End *****/

    /***** Kontakt-Box - Start *****/
    .contact-box .inner {
        padding: 30px 24px 2px;
    }
    .contact-box .title .headline {
        margin: 0 0 20px;
        padding: 0 36px 8px 0;
        font-size: 22px;
    }
    .contact-box .icon::before {
        width: 59px;
        height: 50px;
    }
    .contact-box .icon::after {
        width: 59px;
        height: 50px;
        background-size: 34px auto;
    }
    .contact-box button::before {
        top: 8px;
        width: 22px;
        height: 12px;
    }
    .contact-box button span {
        left: 28px;
    }
    .contact-box .folder .fold .fold-title button {
        height: 30px;
    }
    .contact-box .folder .fold .fold-content {
        /*padding: 0;*/
        padding: 0 0 24px;
    }
    /***** Kontakt-Box - End *****/

    /***** Firmen - Start *****/
    .vcard-firma .inner {
        display: block;
    }
    .vcard-firma h3 {
        margin: 0 0 20px;
        padding: 0 40px 14px 0;
        font-size: 22px;
    }
    .vcard-firma .info-description {
        width: auto;
        margin: 0 0 32px;
    }
    .vcard-firma .info-contact {
        width: auto;
    }
    .vcard-firma .icon::before {
        width: 59px;
        height: 50px;
    }
    .vcard-firma .icon::after {
        width: 59px;
        height: 50px;
        background-size: 24px auto;
    }
    /***** Firmen - End *****/

    /***** Bild vollflächig - Start *****/
    .content .image-fullwidth.frame-space-after-none:last-child {
        margin-bottom: 0;
    }
    /***** Bild vollflächig - End *****/

    /***** Suchergebnisse - Start *****/
    .search-box input[type="text"] {
        height: 50px;
        padding: 0 92px 0 15px;
        font-size: 20px;
    }
    .search-box input[type="submit"] {
        width: 62px;
        height: 50px;
        background-size: 24px auto;
    }
    .search-box {
        margin: -34px 0 40px;
    }
    .search-results .result-title {
        font-size: 20px;
    }
    .search-results .result-title a {
        padding: 0 0 0 34px;
    }
    .search-results .result-title a::before {
        top: 10px;
    }
    /***** Suchergebnisse - End *****/

    /***** Tabs - Start *****/
    .tabs .tabs-header .tab-label {
        margin: 0 0 0 14px;
        padding: 23px 40px 21px 20px;
        font-size: 18px;
    }
    .tabs .tabs-header .tab-label::before {
        right: 10px;
    }
    .tabs .tabs-header .tab-label.icon::after {
        top: -30px;
        left: -14px;
        width: 52px;
        height: 44px;
        background-size: 17px auto;
    }
    .tabs .tabs-header .tab-label + .tab-label {
        margin-left: 28px;
    }
    .tabs .tabs-header .tab-label.icon.map::after {
        background-size: 27px auto;
    }
    /***** Tabs - End *****/

    /***** Kachel mit Filter - Container - Start *****/
    .filter-box-container {
        margin: 0;
    }
    .filter-box-container .header .headline {
        margin: 0 0 20px;
        font-size: 28px;
    }
    .filter-box-container .actions .filters .filter {
        align-items: center;
        margin: 0 4px 8px 0;
        padding: 0 3px 2px 12px;
        font-size: 18px;
        line-height: 1.4;
    }
    .filter-box-container .actions .filters .filter .count {
        width: 28px;
        height: 28px;
        margin: 2px 0 0 8px;
        font-size: 18px;
        line-height: 1.5;
    }
    /***** Kachel mit Filter - Container - End *****/

    /***** Kachel-Kindelement - Start *****/
    .i-list-item .layer .inner {
        overflow: hidden;
    }
    .i-list-item .layer .inner .layer-content .headline {
        margin: 0 15px 26px;
        padding: 0 0 16px;
        font-size: 24px;
    }
    .i-list-item .layer .inner .layer-content .r-item {
        margin-bottom: 60px;
        padding: 0 15px;
    }
    .i-list-item .layer .inner .layer-content .r-item .l-text {
        font-size: 16px;
    }
    .i-list-item .layer .inner .layer-content .r-item .l-text td {
        padding: 4px 8px;
    }
    .i-list-item .layer .inner .layer-content .r-item .r-text-content .footer-header {
        margin-bottom: 20px;
    }
    .i-list-item .layer .inner .layer-content .r-item .r-text-content .footer-headline {
        line-height: 1.25;
    }
    .i-list-item .layer .inner .layer-content .r-item .r-text-content .footer-headline::before {
        top: 13px;
    }
    .i-list-item .layer .inner .layer-content .r-item .r-text-content .footer-cols a[href^="mailto:"] {
        padding: 0 0 0 28px;
    }
    .i-list-item .layer .inner .layer-content .r-item .r-text-content .footer-cols a[href^="mailto:"]::before {
        top: 10px;
        width: 20px;
        height: 10px;
    }
    .i-list-item .layer .inner .layer-content .support {
        margin: 0 11px 16px;
    }

    .box-navigation {
        top: auto;
        bottom: -35px;
    }
    .box-navigation .btn {
        width: 50px;
        height: 50px;
        left: calc(50% - 56px);
    }
    .box-navigation .btn.next {
        right: calc(50% - 56px);
    }
    .box-navigation .btn::before {
        background-size: 18px auto;
    }

    .i-list-item .layer .inner .layer-content .support {
        display: block;
        margin: 0 15px 16px;
        font-size: 24px;
    }
    .i-list-item .layer .inner .layer-content .support .support-image {
        margin: 0 0 10px;
    }
    /***** Kachel-Kindelement - End *****/

    /***** Footer - Start *****/
    .footer-image {
        margin: 40px 0 0;
    }

    footer.main {
        margin: 0 0 40px;
        padding: 24px 0 20px;
        font-size: 16px;
    }
    footer.main .totop a {
        padding: 0 0 0 26px;
    }
    footer.main .totop a::before {
        bottom: 5px;
        width: 12px;
        height: 14px;
    }
    footer.main .totop a:hover::before {
        bottom: 4px;
    }

    .footer-logos .logos ul {
        flex-wrap: wrap;
    }
    .footer-logos .logos ul li {
        margin: 0 12px 20px;
    }
    .footer-logos .logos ul li.sw-wue {
        width: 150px;
    }
    .footer-logos .logos ul li.n-energie {
        width: 102px;
    }
    .footer-logos .logos ul li.gwg {
        width: 110px;
    }
    .footer-logos .logos ul li.vhs {
        width: 99px;
    }
    .footer-logos .logos ul li.panorama {
        width: 72px;
    }
    .footer-logos .logos ul li.n-land {
        width: 68px;
    }
    /***** Footer - End *****/
    /*** Warnmeldung - Start ***/
    .site-alert .inner::before {
        left: 0;
        width: 50px;
        height: 50px;
    }

    .site-alert .inner {
        padding: 100px 30px 22px 0;
    }

    .site-alert .close::after {
        top: -2px;
    }

    .site-alert .close {
        right: 0;
    }
    /*** Warnmeldung - End ***/

    /***** EYE-ABLE Fix *****/
    .repeating-boxes .box-content.has-fixed-link.eyeAtP .text {
        height: unset;
        max-height: unset;
    }
}
@media (max-width: 575px) {

    /***** TYPO3 - Start *****/
    .ce-intext.ce-right .ce-gallery {
        margin-left: 0;
    }
    .ce-intext.ce-left .ce-gallery {
        margin-right: 0;
    }
    .ce-gallery img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    .headline-outer h4 {
        margin-top: 0;
    }
    /***** TYPO3 - End *****/

    /***** Aufklapper - Start *****/
    .folder {
        margin: 0 0 40px;
    }
    .folder .fold .fold-title {
        font-size: 22px;
    }
    .folder .fold .fold-title::before {
        top: 21px;
        right: 13px;
        width: 22px;
        height: 12px;
    }
    .folder .fold .fold-content {
        padding: 14px 12px 14px;
    }
    .folder .fold .fold-content .video.pos-1,
    .folder .fold .fold-content .video.pos-2 {
        padding-bottom: 56.25%;
    }
    .folder .fold .fold-content .image.pos-1,
    .folder .fold .fold-content .video.pos-1 {
        float: none;
        width: auto;
        margin-left: 0;
    }
    .folder .fold .fold-content .image.pos-2,
    .folder .fold .fold-content .video.pos-2 {
        float: none;
        width: auto;
        margin-right: 0;
    }
    /***** Aufklapper - End *****/

    /***** Teaser mit Bild, versetzt - Start *****/
    .tb-offset .text-content {
        max-width: calc(100% - 60px);
    }
    .tb-offset.no-icon .text-content {
        height: auto;
        padding-bottom: 90px;
    }
    /***** Teaser mit Bild, versetzt - End *****/

    /***** Contactperson - Start *****/
    .contact-person {
        padding: 96px 24px 24px;
    }
    .contact-person::before {
        left: calc(50% - 30px);
        width: 60px;
        height: 60px;
    }
    /***** Contactperson - End *****/

    /***** Teaser - Start *****/
    .teaser {
        margin: 0 0 40px;
    }
    .teaser .image {
        margin: 0 0 16px;
    }
    /***** Teaser - End *****/

    /***** Info-Teaser, in zwei Teilen und vollflächig - Start *****/
    .it2 {
        display: block;
    }
    .it2 .image {
        width: auto;
        height: 100px;
    }
    .it2 .text-content {
        width: auto;
    }
    /***** Info-Teaser, in zwei Teilen und vollflächig - End *****/

    /***** Content-Footer - Start *****/
    .col-right::before {
        right: 0;
    }
    /***** Content-Footer - End *****/

    /***** rm-neanderticket - Start *****/
    #klive-terminauswahl select#date,
    #klive-terminauswahl select#artist,
    #klive-terminauswahl select#stage,
    #klive-terminauswahl select#rubrik {
        font-size: 20px;
    }
    #klive-terminauswahl > form {
        flex-wrap: wrap;
    }
    #klive-terminauswahl > form > div {
        width: calc(50% - 6px);
    }
    #klive-kalenderbox .klive-logo {
        margin-top: 0;
        margin-bottom: 40px;
    }
    .klive-terminbox .klive-kurzfassung-links {
        display: flex;
        float: none;
        width: auto;
        height: auto;
    }
    .klive-kurzfassung-links .klive-datumuhrzeit {
        flex: 0 0 auto;
        width: 50%;
        height: auto;
        margin: 0;
        padding: 10px 12px 24px 12px;
    }
    .klive-datumuhrzeit .klive-datum {
        font-size: 36px;
    }
    .klive-tag {
        font-size: 20px;
    }
    .klive-zeit {
        font-size: 20px;
    }
    #klive-kalenderbox .klive-foto {
        float: none;
        width: 100%;
        height: 168px;
    }
    .klive-kurzfassung .klive-titel {
        max-width: unset;
        padding: 12px;
        font-size: 22px;
    }

    .klive-kurzfassung .klive-ticketbutton-jetzt-kaufen,
    .klive-kurzfassung .klive-ticketbutton-ausverkauft,
    .klive-kurzfassung .klive-ticketbutton-restkarten-vor-ort {
        height: auto;
        float: none;
        margin: 10px auto 0;
    }

    .klive-langfassung .klive-langfassung-links {
        float: none;
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 12px;
        font-size: 16px;
    }
    .klive-langfassung .klive-langfassung-fotoundtext {
        padding: 12px;
    }
    .klive-langfassung .klive-langfassung-inhalt {
        font-size: 20px;
    }
    .klive-langfassung .klive-langfassung-veranstaltungsort {
        padding: 12px;
    }
    .klive-langfassung .klive-langfassung-anfahrt {
        margin: 0 0 32px;
        padding: 12px;
    }
    .klive-langfassung .klive-langfassung-ticketpreise {
        padding: 12px;
    }

    #klive-kalenderbox .klive-disclaimer {
        margin: 0 0 10px;
        font-size: 16px;
    }
    /***** rm-neanderticket - End *****/

    /***** Footer - Start *****/
    footer.main .footer-meta {
        display: block;
    }
    /***** Footer - End *****/
}
@media (max-width: 374px) {

    /***** Header - Start *****/
    header.main .header-actions .customer {
        margin: 0 4px 0 0;
    }
    header.main .header-actions .search {
        margin: 2px 10px 0 0;
    }
    header.main .logo {
        width: 162px;
    }
    /***** Header - End *****/
}

@media (min-width: 575px) {

    .ce-gallery figcaption {
        padding: 4px 0;
    }
    .ce-intext.ce-left .ce-gallery {
        max-width: 50%;
    }
    .ce-gallery[data-ce-columns="2"] .ce-row,
    .ce-gallery[data-ce-columns="3"] .ce-row,
    .ce-gallery[data-ce-columns="4"] .ce-row,
    .ce-gallery[data-ce-columns="5"] .ce-row,
    .ce-gallery[data-ce-columns="6"] .ce-row {
        display: flex;
        justify-content: space-between;
    }
    .ce-gallery[data-ce-columns="2"] .ce-column {
        width: calc(50% - 5px);
    }
    .ce-gallery[data-ce-columns="3"] .ce-column {
        width: calc(33% - 5px);
    }
    .ce-gallery[data-ce-columns="4"] .ce-column {
        width: calc(25% - 5px);
    }
}


@media (max-width: 1399px) {

    dl.contact dt:nth-of-type(3) {
        display: none;
    }

    .fb-item .support {
        top: auto;
        bottom: 15px;
    }
}

@media (max-width: 1199px) {


}

@media (min-width: 768px) and (max-width: 1199px) {

    h1 {
        font-size: 32px;
    }

    a.link-arrow::before {
        top: 8px;
    }

    .breadcrumb ul li::before {
        top: 11px;
    }

    header.main .header-stage .colored-sidebar::before {
        left: -2036px;
    }
    header.main .header-stage .colored-sidebar::after {
        left: -36px;
    }

    .align-justify {
        flex-wrap: wrap;
    }
    .align-justify .button {
        margin-bottom: 20px;
    }

    a.link-arrow {
        font-size: 20px;
    }

    .extern-app {
        margin: 0 0 76px;
    }
    .extern-app .inner .box {
        position: relative;
        bottom: auto;
        right: auto;
        margin: -60px 0 0 0;
    }

    .ce-intext.ce-right .ce-gallery,
    .ce-intext.ce-left .ce-gallery {
        width: 50%;
    }
    .image-caption {
        padding: 0;
        font-size: 20px;
    }

    .video-embed {
        width: 936px;
    }

    /***** Flexslider - Start *****/
    .flex-control-nav {
        display: block;
    }
    /***** Flexslider - End *****/

    /***** News-Slider - Start *****/
    .news .flexslider::before {
        top: -24px;
        left: -12px;
        width: 75px;
        height: 64px;
    }
    .news .flexslider::after {
        top: -24px;
        left: -18px;
        width: 75px;
        height: 64px;
        background-size: 42px auto;
    }
    .article.rm.slider {
        padding: 60px 12px 24px;
    }
    .news .flex-direction-nav {
        display: none;
        /*top: -54px;*/
    }
    .content .news-slider ol.flex-control-nav {
        position: relative;
        bottom: auto;
        margin: 24px 0 0;
    }
    /***** News-Slider - End *****/

    /***** Owl Carousel - Start *****/
    .owl-theme .owl-nav {
        display: none;
    }
    .owl-dots {
        display: block;
    }
    /***** Owl Carousel - End *****/

    .repeating-boxes .box-title {
        font-size: 26px;
    }
    .repeating-boxes .box-content {
        min-height: 294px;
        font-size: 20px;
    }
    .repeating-boxes .box-content .text {
        font-size: 20px;
    }
    .repeating-boxes .box-content.has-fixed-link .text {
        max-height: 152px;
    }

    .news-single.rm .article .media {
        width: 50%;
    }

    .footer-logos .logos ul {
        flex-wrap: wrap;
    }
    .footer-logos .logos ul li {
        margin: 0 12px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {

    html {
        font-size: 20px;
    }

    h2 {
        font-size: 30px;
    }
    h3 {
        font-size: 24px;
    }

    #page3 h2 {
        font-size: 40px;
    }
    #page3 .col-md-4 h2 {
        margin: 0 0 20px;
        font-size: 26px;
    }
    .frame-layout-100 h3 {
        font-size: 24px;
    }

    a.button::before {
        top: 11px;
    }

    .header-image img {
        display: block;
        width: 100%;
        height: 360px;
        object-fit: cover;
    }

    header.main .header-actions .search .search-field {
        padding-left: 24px;
        padding-right: 24px;
    }

    .pagetitle .inner {
        max-width: 100%;
        min-height: 142px;
        padding: 30px 24px 28px;
    }
    .pagetitle .headline-custom h1, .pagetitle .headline-custom h2 {
        font-size: 32px;
    }

    a.button-arrow-green,
    a.button-arrow-blue,
    a.button-icon-green,
    a.button-icon-blue {
        margin: 0 12px 8px 0;
    }
    a.button-arrow-green::before,
    a.button-arrow-blue::before {
        top: 17px;
    }
    a.button-icon-green::before,
    a.button-icon-blue::before {
        top: 7px;
    }
    a.anchor::before {
        top: 2px;
    }
    a.anchor::after {
        top: 12px;
    }

    .frame-layout-100 .inner {
        padding: 24px 24px 44px 162px;
    }
    .frame-layout-100 .inner::before {
        left: 34px;
    }

    .extern-app {
        margin: 0 0 76px;
    }
    .extern-app .inner .box {
        position: relative;
        bottom: auto;
        right: auto;
        margin: -60px 0 0 0;
    }

    .tb-offset .text-content {
        width: 290px;
    }
    .tb-offset .title {
        font-size: 24px;
    }

    .video-embed {
        width: 696px;
    }



    .footercontent {
        padding: 40px 0 0;
        font-size: 18px;
    }
    .footercontent h3 {
        font-size: 20px;
    }
    .footercontent .link-arrow-right::before {
        top: 14px;
    }
    .footercontent .col-right > div:last-of-type {
        margin-bottom: 128px;
    }

    footer.main {
        position: relative;
        margin: 0 0 40px;
        font-size: 17px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {

    .header-image img {
        display: block;
        width: 100%;
        height: 360px;
        object-fit: cover;
    }
    .waterworld .header-image img {
        height: 411px;
    }

    .quickguide .qbox {
        padding-bottom: 76px;
        font-size: 20px;
    }
    .quickguide .headline {
        font-size: 24px;
    }

    .waterworld .quickguide {
        margin: -128px 0 24px;
    }
}
@media (min-width: 1200px) and (max-width: 1399px) {

    .flexslider .flex-direction-nav .flex-prev,
    .flexslider:hover .flex-direction-nav .flex-prev {
        left: 12px;
    }
    .flexslider .flex-direction-nav .flex-next,
    .flexslider:hover .flex-direction-nav .flex-next {
        right: 12px;
    }

    .owl-theme .owl-nav .owl-prev {
        margin-left: -20px;
    }
    .owl-theme .owl-nav .owl-next {
        margin-right: -20px;
    }

    .ce-intext.ce-right .ce-gallery,
    .ce-intext.ce-left .ce-gallery {
        width: 50%;
    }
    .image-caption {
        padding: 0;
        font-size: 20px;
    }

    .ce-intext .ce-gallery {
        width: 50%;
    }

    .video-embed {
        width: 1116px;
    }

    .quickguide .qbox {
        padding-bottom: 76px;
        font-size: 20px;
    }
    .quickguide .headline {
        font-size: 24px;
    }
}
@media (min-width: 575px) and (max-width: 1399px) {

    /***** Content-Footer - Start *****/
    .col-right::before {
        right: -100px;
    }
    /***** Content-Footer - End *****/
}

@media (min-width: 575px) and (max-width: 991px) {

    .fb-item .support {
        display: none;
    }
}



@media (min-width: 1920px){
    .image-fullwidth,.js-gme-container,.cookie-content-placeholder{
        margin-left: calc(50% - 960px);
    }
    .container .cookie-content-placeholder,
    .container .js-gme-container {
        margin: 0;
    }
    .page1576 .js-gme-container{
        margin-left: 0;
    }
}
