/* responsive */
@media screen and (max-width: 1440px) {
    .header a, .header .i_menu__item a { font-size: 17px; }
    .header .i_menu { padding-left: 0; }
    .header .i_menu .i_menu__item { padding: 0 10px; }
    header .navigation { flex: 1; }
    header .lang { flex: 0; }
    header .lang ul { width: max-content; }
}
@media screen and (min-width: 1328px) {
    .fancybox-navigation {
        text-align: center;
        max-width: 1264px;
        left: calc(50% - 632px);
    }
}
@media screen and (max-width: 1240px) {
    .header .social li { padding: 0 15px; }
    .menu-open header .offset-menu .social { float: inherit }
    .offset-menu li.separator {left: 50%}
    .header .offset-menu .lang ul { justify-content: center; margin: 0 auto; }
    .header .offset-menu .lang { display: block; opacity: 1; }
    header .lang { flex: 1; }
    .header a { font-size: 20px; }
    .header .navigation { position: absolute; left: -9999px }
    .header .lang ul { justify-content: flex-end; margin-left: auto; }
    .offset-menu { width: 100vw; left: -100vw; text-align: center; }
    .offset-menu li.is-special { line-height: 42px; }
    .offset-menu li { line-height: 32px; }
    .teaser .headline { font-size: 32px; line-height: 40px; }
    .teaser p, .teaser a, .teaser li { font-size: 18px; }
    .teaser .link:after { background-size: 28px 10px; }
    .header .social { flex: 0; padding: 0 45px; }
    .offset-menu .social, .offset-menu .lang { display: block; }
}
@media screen and (max-width: 1185px) {
    .ce-contactperson { margin-bottom: 80px; }
    .ce-contactperson:last-child { margin-bottom: 0; }
    .teaser.teaser-simple .headline { line-height: 24px; font-size: 24px; letter-spacing: 0.6px; }
    @media (any-hover: none) {

        .teaser__text--overlay, a > .teaser__text--overlay {display: initial; position: absolute; top: initial; width: 100%; left: initial; color: #F1972D; z-index: 8; pointer-events: none; text-align: right; bottom: 25px;right: 0px; padding-right: 70px;}
        .teaser__hover--overlay, a > .teaser__hover--overlay,a > .teaser__hover--overlay {
            display:none !important;
        }
        .teaser__text--overlay::after, a > .teaser__text--overlay::after {content: " ";
            position: absolute;
            top: 6px;
            display: inline-block;
            height: 14px;
            width: 35px;
            background-size: 35px 14px;
            background-position: center center;
            background: url(/typo3conf/ext/imia_typo3_setup/Resources/Public/Images/Icons/Svg/pfeil.svg);
            background-repeat: no-repeat;
            margin-left: 10px;
            pointer-events: none;
            transition: background .4s;}

    }
}
@media screen and (max-width: 990px) {
    .ce-contactperson img {width: 150px}
    .teaser__text--overlay::after {top: 7px}
    .teaser.teaser-simple .body { max-width: 50vw; height: 100%; max-height: 420px; aspect-ratio: 1 / 1; margin-left: auto; margin-right: auto; }
    .teaser.teaser-simple .headline { line-height: 18px; font-size: 18px; }
    .layout-1 .col-md-6, .ce-gallery { margin-top: 30px; }
    .layout-1 .col-md-6 { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; margin-top: 30px; }
    .layout-1 .col-md-6:first-child { margin-top: 0; }
    .layout-1 .ce-gallery .ce-row, .layout-1 .ce-gallery .ce-column, .layout-1 .ce-gallery .image, .layout-1 .ce-gallery .image-embed-item { width: 100%; max-width: 100%; }
    .layout-1 .ce-gallery .image-embed-item { max-height: 425px; object-fit: cover; object-position: center; }
    .layout-2 h2, .layout-3 h2 { line-height: 30px; font-size: 30px; }
    .layout-2 > .row > .imia_grid_column:nth-child(2), .frame-layout-2 > .row > .imia_grid_column:nth-child(2) { justify-content: flex-start; }
    footer { padding: 40px 0; }
    footer .ce-gallery { margin-top: 36px !important; }
    body, .fs-20, h4, footer h5, p, a, li, .i_menu__item a { font-size: 20px; }
    h1, .h1, .fancybox-content h2, .fancybox-content .h2 { line-height: 50px; font-size: 60px; }
    .header .logo { padding-left: 15px; }
    .header .logo svg { max-width: 180px; height: auto; }
    .header .container { padding: 28px 36px; }
    .header-image.homepage { height: calc(100vh - 95.5px - 30px); }
    .header-image.homepage img { height: 100%; }
    .pb-80, .frame-space-after-pb-80 { padding-bottom: 60px; }
    .pt-80, .frame-space-before-pt-80 { padding-top: 60px; }
    a.button { padding: 0 65px; font-size: 18px; min-width: 0; }
    .frame-type-image .ce-gallery { margin-top: 36px; }
    .imia_grid_column .frame-type-image:first-child .ce-gallery { margin-top: 0; }
    .teaser { display: block; width: 100%; }
    .teaser .image, .teaser .body { flex: 0; }
    .teaser .body > .wrap { padding: 20px; width: auto; }
    .teaser .body { transform: none; box-shadow: none; }
    .teaser.teaser-right .body { transform: none; }
    .teaser .image { max-width: none; width: auto; display: inline-block; }
    .teaser .image img { max-width: 575px !important; height: auto; }
    .page-wrapper { padding-top: 95px; }
    .header .logo { width: auto; display: flex; align-items: center; }
    .header .logo a { display: flex; align-items: center; }
    .imia_grid_column:empty { display: none; }
    .imia_grid_column:empty + .imia_grid_column { flex: 0 0 66.66%; max-width: 66.66%; }
    .header-image.homepage, .header-image.homepage img { height: calc(calc(var(--vh) * 100) - 92px) !important; width: 100%; object-fit: cover; padding: 0 10px; }
}

@media screen and (max-width: 768px) {
    .ce-contactperson img {width: 100px}
    .teaser.teaser-simple .headline { line-height: 24px; font-size: 24px; }
    .layout-2 h2, .layout-3 h2 { line-height: 24px; font-size: 24px; letter-spacing: 0.6px; }
    .layout-3 > .row > .imia_grid_column:nth-child(1), .frame-layout-3 > .row > .imia_grid_column:nth-child(1) { padding: 30px; }
    .layout-2 .col-md-6, .layout-3 .col-md-6 { -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
    .layout-3 .ce-gallery .ce-row, .layout-3 .ce-gallery .ce-column, .layout-3 .ce-gallery .image, .layout-3 .ce-gallery .image-embed-item { width: 100%; max-width: 100%; }
    .layout-3 > .row > .imia_grid_column:nth-child(2), .frame-layout-3 > .row > .imia_grid_column:nth-child(2) { padding-left: 0; padding-right: 0; }
    .layout-3 { display: flex; flex-direction: column; }
    .layout-3 .col-md-6:first-child { order: 2; }
    .layout-3 .col-md-6:nth-child(2) { order: 1; }
    .layout-3 .ce-gallery .image-embed-item, .layout-1 .ce-gallery .image-embed-item { max-height: 40vw; object-fit: cover; object-position: center; }
    .frame:last-child > .teaser { margin-bottom: 0; }
    .teaser .headline { font-weight: 600; font-size: 30px; line-height: 38px; margin-bottom: 20px; }
    .teaser p, .teaser a, .teaser li { font-size: 16px; }
    .teaser .image img { max-width: 425px !important; }

    body, .fs-20, h4, footer h5, p, a, li, .i_menu__item a, .header a { font-size: 17px; }
    .mb-80, .frame-space-after-mb-80 { margin-bottom: 36px; }
    .mt-80, .frame-space-before-mt-80 { margin-top: 36px; }
    .pb-80, .frame-space-after-pb-80 { padding-bottom: 36px; }
    .pt-80, .frame-space-before-pt-80 { padding-top: 36px; }
    .ce-contactperson { margin-bottom: 36px; }
    h1, .h1, h2, .h2, .fs-70 h2, h3, .h3, .fancybox-content h2, .fancybox-content .h2 { line-height: 35px; font-size: 35px; padding-top: 0; }
    h1 br, .h1 br, .header .social { display: none; }
    .container, .container-small, .header .container, .sticky-header .header > .container  { padding-left: 30px; padding-right: 30px; }
    a.button { font-size: 16px; padding: 0 30px; line-height: 50px; }
    .imia_grid_column:empty + .imia_grid_column { flex: 0 0 100%; max-width: 100%; }
    .imia_grid_column .frame { margin-top: 20px; }
    .imia_grid_column .teaser.teaser-simple, .frame-type-imia_container_3_column { margin-top: 30px !important; }
    .imia_grid_column:first-child .teaser.teaser-simple, .frame-type-imia_container_3_column:first-child { margin-top: 0 !important; }
    .fancybox-content ul li { padding-left: 30px; }
    .fancybox-content ul li::before { width: 24px; background-size: 24px auto; }
    .fancybox-content.overlay-content { padding: 44px 30px; }
    .fancybox-button[title="Close"] { margin: 30px 30px 0 0; width: 30px; height: 30px; }
    footer .ce-row { margin: 0 -15px; }
    footer .ce-row > * { padding: 0 15px; }
    footer .imia_grid_column + .imia_grid_column { margin-top: 20px; }
    footer .ce-gallery { margin-top: 0; }
    footer .imia_grid_column + .imia_grid_column { margin-top: 36px; }
    footer .row .row .imia_grid_column + .imia_grid_column { margin-top: 20px; }
    .header-image.homepage { margin: 0 0 20px 0; }
}

@media screen and (max-width: 575px) {
    .i_subnav{
        top: 90px;
    }
    .ce-contactperson img {width: inherit}
    .teaser .body > .wrap { padding: 10px 0; }
    .fancybox-button[title="Close"] { margin-right: 20px; }
    .teaser.teaser-simple .body { max-width: 287px; width: 100%; }
    .teaser.teaser-simple .body { padding: 15px 20px; }
    .offset-menu { padding: 13vw 20vw 2rem 20vw; }
    h1, h2, .fs-70 h2, h3, h4, h5, h6 { transform: none; }
    .teaser .headline { font-size: 24px; line-height: 30px; }
    .layout-2 > .row > .imia_grid_column:nth-child(2), .frame-layout-2 > .row > .imia_grid_column:nth-child(2) { padding: 20px; }
    .layout-1 .col-md-6, .frame-type-image .ce-gallery { margin-top: 20px; }
    .frame-type-image .ce-gallery { margin-top: 0; }
    .layout-3 > .row > .imia_grid_column:nth-child(1), .frame-layout-3 > .row > .imia_grid_column:nth-child(1) { padding: 20px; }
    .content ul li { padding-left: 35px; }
    .content ul li:before { width: 24px; background-size: 24px 10px; }
    .teaser .headline { margin-bottom: 10px; }
    header .mobile-menu { flex: 1; }
    .header .lang { display: none; }
    .header-image.homepage .scroller { bottom: -20px; }
    .container:not(.i_subnav__move), .container-small, .header .container:not(.i_subnav__move), .sticky-header .header > .container { padding-left: 20px; padding-right: 20px; }
    .mb-30, .frame-space-after-mb-30, .frame-layout-3, .layout-3, .frame-layout-2, .layout-2, .frame-layout-1, .layout-1, .teaser { margin-bottom: 20px; }
    footer .ce-row { margin: 0 -10px; }
    footer .ce-row > * { padding: 0 10px; }
    .mobile-w80 > * { max-width: 80%; }
    .layout-2 h2, .layout-3 h2 { line-height: 16px; font-size: 20px; letter-spacing: 0.6px; }
    .imia_grid_column .frame { margin-top: 15px; }
    .teaser .image img { max-width: none; width: 100%; }
    .header .container:not(.i_subnav__move) { padding: 20px 20px;}
}

@media screen and (max-width: 420px) {
    .fancybox-content.overlay-content { padding: 30px 20px; }
    .layout-3 .ce-gallery .image-embed-item, .layout-1 .ce-gallery .image-embed-item { height: 50vw; object-fit: cover; object-position: center; }
    .header .container { padding: 20px; }
    .page-wrapper { padding-top: 72px; }
    .layout-2 h2, .layout-3 h2 { line-height: 20px; font-size: 20px; font-weight: 400; letter-spacing: 0; }
    h1, .h1, .fancybox-content h2, .fancybox-content .h2 { line-height: 32px; font-size: 32px; }
    h2, .h2, .fs-70 h2, h3, .h3 { line-height: 28px; font-size: 28px; }
    .ce-contactperson { margin-bottom: 20px; }
    body, .fs-20, h4, footer h5, p, a, li, .i_menu__item a, .header a, .teaser li, .teaser a, .teaser p { font-size: 15px; line-height: 24px; }
    .row { margin-right: -10px; margin-left: -10px; }
    .row > div[class^="col"] { padding-right: 10px; padding-left: 10px; }
    a.button { padding: 0 20px; line-height: 40px; }
    .header .logo svg { max-width: 150px; }
}
@media screen and (max-width: 375px) {
    .ce-contactperson .row > div:nth-child(2) { padding-left: 0; padding-right: 0; }
    .ce-contactperson p { font-size: 14px; }
}
@media screen and (min-width: 576px) {
    .i_subnav{
        top: 110px;
    }
    .i_subnav__item {
        flex-basis: calc(100% / 3);
    }
}
@media screen and (min-width: 768px) {
    .i_subnav__item {
        flex-basis: 25%;
    }
}
@media screen and (min-width: 1050px) {
    .i_subnav__item {
        flex-basis: 150px;
    }
    .i_subnav__container {
        justify-content: center;
        padding: 0 36px;
    }
    .i_subnav__arrowwrap {
        display: none;
    }
    .mobile-only { display: none; }
}
@media screen and (min-width: 1241px) {

}
@media screen and (max-width: 1049px) {
    .desktop-only { display: none; }
}
@media screen and (max-width: 420px) {
    .content.has--sub {
        margin-top: 136px;
    }
}
@media screen and (min-width: 421px ) and (max-width: 576px) {
    .content.has--sub {
        margin-top: 114px;
    }
}
@media screen and (min-width: 577px ) and (max-width: 990px) {
    .content.has--sub {
        margin-top: 135px;
    }
}

@media screen and (min-width: 991px ) {
    .content.has--sub {
        margin-top: 84px;
    }
}

