

/* - - - bis 1399px - - - */
@media (max-width:1399.98px) {

    /* Header */
    .header-wrap {padding:30px 0;}
    .header-wrap .logo {width:320px;}
    .contact-wrap ul {gap:2rem;}
    .line-mainnav {gap:2rem;}

    /* Hauptbereich */
    .main-wrap {margin-top:157px;}
    .subpage .main-wrap {padding-top:85px;}

    /* Inhaltsbereiche */
    .color-bg-wrapper {padding:120px 0 100px; margin:120px 0;}
    .col-50-wrap {margin-bottom:120px;}
    .col-50-wrap .col1 .frame-type-text {margin-right:90px;}
    .col-25-wrap {margin-bottom:120px;}
    .col-33-wrap.frame-max-dist {margin-bottom:120px;}

    /* Footer */
    .footer-wrap .col-25-75-wrap {gap:100px; margin-bottom:120px;}

}


/* - - - bis 1199px - - - */
@media (max-width:1199.98px) {

    /* Typografie */
    h1 {font-size:36px;}
    h2 {font-size:28px;}
    p.einleser {font-size:22px;}

    /* Header */
    .header-wrap {padding:25px 0;}
    .header-wrap .logo {width:280px;}
    .contact-wrap {font-size:16px; margin-bottom:18px;}
    .contact-wrap ul {gap:1.5rem;}
    .line-mainnav {gap:1.25rem;}
    .line-mainnav > li > a {gap:8px;}

    /* Untermenü Desktop */
    .line-mainnav > li > ul.level2 {grid-template-columns:1fr;}
    .line-mainnav > li > ul.level2 > li > a {padding:13px 15px;}

    /* Hauptbereich */
    .main-wrap {margin-top:140px;}
    .subpage .main-wrap {padding-top:75px;}

    /* Slider */
    .flexslider .ce-bodytext {font-size:40px; letter-spacing:.65rem;}

    /* Inhaltsbereiche */
    .color-bg-wrapper {padding:100px 0 85px; margin:100px 0;}
    .col-50-wrap {gap:30px; margin-bottom:100px;}
    .col-50-wrap .col1 .frame-type-text {margin-right:40px;}
    .col-33-wrap {gap:30px;}
    .col-33-wrap + .col-33-wrap {margin-top:30px;}
    .col-33-wrap.frame-max-dist {margin-bottom:100px;}
    .col-25-wrap {gap:30px; margin-bottom:100px;}
    .col-25-75-wrap {gap:30px;}

    /* Boxen */
    .cta-box {padding:45px;}
    .grey-box {padding:30px 40px;}

    /* Footer */
    .footer-wrap .col-25-75-wrap {gap:70px; margin-bottom:100px;}
    .footer-wrap ul {gap:30px;}

}


/* - - - bis 991px / Tablet + Mobile Navigation - - - */
@media (max-width:991.98px) {

    /* Typografie */
    body {font-size:16px; line-height:1.7em;}
    h1 {font-size:32px;}
    h2 {font-size:26px; margin-bottom:22px;}
    h3 {font-size:20px;}
    p {margin:22px 0;}
    p.einleser {font-size:21px; margin-bottom:35px;}
    h2 + .einleser {margin-top:-17px;}

    /* Header */
    .header-wrap {position:relative; padding:20px 0;}
    .header-wrap .inner {position:relative; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:20px;}
    .header-wrap .logo {width:260px; max-width:calc(100% - 70px);}
    .main-wrap {margin-top:0;}
    .subpage .main-wrap {padding-top:65px;}
    
    /* Desktop-Kontaktleiste ausblenden */
    .contact-wrap {display:none;}
    
    /* Hamburger */
    .mobile-nav-toggle {position:absolute; top:50%; right:0; z-index:1200; display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:48px; height:48px; margin:0; padding:0; box-sizing:border-box; border:0; border-radius:10px; background:#b6294e; visibility:visible !important; opacity:1 !important; cursor:pointer; transform:translateY(-50%); transition:background-color .3s ease;}
    .mobile-nav-toggle:hover, .mobile-nav-toggle:focus {background:#7D0021;}
    .mobile-nav-toggle span {display:block; width:24px; height:2px; margin:0; background:#fff; border-radius:2px; transition:transform .3s ease, opacity .3s ease;}
    
    /* Hamburger -> X */
    .mobile-nav-toggle[aria-expanded="true"] span:nth-child(1) {transform:translateY(7px) rotate(45deg);}
    .mobile-nav-toggle[aria-expanded="true"] span:nth-child(2) {opacity:0;}
    .mobile-nav-toggle[aria-expanded="true"] span:nth-child(3) {transform:translateY(-7px) rotate(-45deg);}
    
    /* Mobiles Menü */
    .nav-wrap {position:absolute; top:100%; left:0; z-index:1100; width:100%; max-height:calc(100vh - 90px); padding:0 20px; box-sizing:border-box; overflow-y:auto; background:#fff; box-shadow:0 12px 25px rgba(0,0,0,.15); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px); transition:opacity .25s ease, visibility .25s ease, transform .25s ease;}
    
    body.mobile-nav-open .nav-wrap {opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0);}
    
    /* Hauptnavigation */
    .line-mainnav {display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; width:100%; margin:0; padding:15px 0; gap:0;}
    .line-mainnav > li {position:relative; display:block; width:100%; margin:0; padding:0; border-bottom:1px solid #e5e5e5;}
    .line-mainnav > li:last-child {border-bottom:0;}
    
    .line-mainnav > li > a {display:flex; align-items:center; justify-content:space-between; width:100%; box-sizing:border-box; padding:14px 5px; color:#000; text-decoration:none;}
    
    .line-mainnav > li > a:hover,
    .line-mainnav > li.active > a,
    .line-mainnav > li.submenu-open > a {color:#b6294e;}
    
    /* Pfeil Hauptnavigation */
    .line-mainnav > li.has-submenu > a:after {flex:0 0 9px; width:9px; height:9px; margin-left:15px; transition:transform .3s ease;}
    .line-mainnav > li.submenu-open > a:after {transform:rotate(180deg);}
    
    /* Mobile Untermenüs */
    .line-mainnav > li > ul.level2 {position:static; display:block !important; width:100%; max-height:0; margin:0; padding:0; overflow:hidden; background:#f3f3f3; border-radius:0; box-shadow:none; opacity:0; visibility:hidden; pointer-events:none; transform:none; transition:max-height .4s ease, opacity .3s ease, visibility .3s ease;}
    
    .line-mainnav > li.submenu-open > ul.level2 {max-height:800px; padding:5px 0; opacity:1; visibility:visible; pointer-events:auto;}
    
    .line-mainnav > li > ul.level2 > li {display:block; width:100%; margin:0; padding:0;}
    .line-mainnav > li > ul.level2 > li > a {display:block; width:100%; box-sizing:border-box; padding:11px 15px; background:transparent; color:#000; white-space:normal;}
    
    .line-mainnav > li > ul.level2 > li > a:hover,
    .line-mainnav > li > ul.level2 > li.active > a {background:#7D0021; color:#fff;}
    
    /* Desktop-Schließen-Button im mobilen Menü ausblenden */
    .line-mainnav .submenu-close {display:none;}

    /* Slider */
    .flexslider .ce-bodytext {font-size:34px; letter-spacing:.45rem;}

    /* Abstände */
    .color-bg-wrapper {padding:75px 0 65px; margin:75px 0;}
    .color-bg-wrapper:before {height:80%; top:10%;}
    .col-50-wrap {gap:25px; margin-bottom:75px;}
    .col-50-wrap .col1 .frame-type-text {margin-right:0;}

    /* 33er Raster auf zwei Spalten */
    .col-33-wrap {grid-template-columns:repeat(2, minmax(0, 1fr)); gap:25px;}
    .col-33-wrap + .col-33-wrap {margin-top:25px;}
    .col-33-wrap.frame-max-dist {margin-bottom:75px;}

    /* 25er Raster auf zwei Spalten */
    .col-25-wrap {flex-wrap:wrap; gap:25px; margin-bottom:75px;}
    .col-25-wrap > .col {flex:0 0 calc(50% - 12.5px);}

    /* 25/75 untereinander */
    .col-25-75-wrap {flex-direction:column; gap:30px;}
    .col-25-75-wrap > .col1, .col-25-75-wrap > .col2 {flex:1 1 auto;}

    /* Boxen */
    .cta-box {padding:35px;}
    .grey-box {padding:28px 32px;}

    /* Akkordeon */
    .accordion-header {font-size:19px; padding:12px 45px 12px 15px;}

    /* Formular */
    .tx-powermail {margin-bottom:75px;}

    /* Footer */
    .footer-wrap {font-size:16px;}
    .subpage .footer-wrap {padding-top:70px;}
    .footer-wrap .col-25-75-wrap {gap:40px; margin-bottom:70px;}
    .footer-wrap ul {flex-wrap:wrap; gap:15px 30px;}

    /* Responsive Medien */
    .main-wrap img {max-width:100%; height:auto;}
    .main-wrap iframe {max-width:100%;}
    .main-wrap h1, .main-wrap h2, .main-wrap h3, .main-wrap h4 {overflow-wrap:break-word;}
    .main-wrap p a, .main-wrap li a, .footer-wrap a {overflow-wrap:anywhere;}

    /* High Contrast Hamburger */
    body.high-contrast .mobile-nav-toggle, body.high-contrast .mobile-nav-toggle:hover, body.high-contrast .mobile-nav-toggle:focus {background:#7D0021;}
    body.high-contrast .nav-wrap {background:#fff;}
    body.high-contrast .line-mainnav > li > a {color:#000;}
    body.high-contrast .line-mainnav > li > ul.level2 {background:#efefef;}
    body.high-contrast .line-mainnav > li > ul.level2 > li > a {color:#000;}
    body.high-contrast .line-mainnav > li > ul.level2 > li > a:hover, body.high-contrast .line-mainnav > li > ul.level2 > li.active > a {background:#7D0021; color:#fff;}

}


/* - - - bis 767px / Smartphone - - - */
@media (max-width:767.98px) {

    /* Grundlayout */
    .inner {width:calc(100% - 40px);}
    .subpage .main-wrap {padding-top:45px;}

    /* Typografie */
    h1 {font-size:28px; line-height:1.25em;}
    h2 {font-size:23px; line-height:1.3em; margin-bottom:20px;}
    h3 {font-size:18px; line-height:1.4em;}
    h4 {font-size:16px;}
    p {margin:18px 0;}
    p.einleser {font-size:19px; line-height:1.55em; margin-bottom:30px;}
    h2 + .einleser {margin-top:-13px;}

    /* Listen */
    .main-wrap ul {padding-left:20px;}
    .main-wrap ul li {padding-left:4px;}

    /* Header */
    .header-wrap {padding:16px 0;}
    .header-wrap .logo {width:240px; max-width:calc(100% - 65px);}

    /* Hamburger */
    .mobile-nav-toggle {width:46px; height:46px;}
    .mobile-nav-toggle span {width:23px;}

    /* Navigation */
    .nav-wrap {padding:0 15px;}
    .line-mainnav {padding:10px 0;}
    .line-mainnav > li > a {padding:13px 5px;}
    .line-mainnav > li > ul.level2 > li > a {padding:11px 15px;}

    /* Slider */
    .flexslider .ce-bodytext {bottom:5px; padding:0 15px; box-sizing:border-box; font-size:27px; line-height:1.25em; letter-spacing:.25rem;}
    .flexslider .image:before {background:linear-gradient(0deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.55) 45%, rgba(255,255,255,0) 85%);}

    /* Farbflächen */
    .color-bg-wrapper {padding:55px 0 45px; margin:55px 0;}
    .color-bg-wrapper:before {width:100%; height:70%; top:15%; opacity:.18;}

    /* 50/50 untereinander */
    .col-50-wrap {flex-direction:column; gap:30px; margin-bottom:55px;}
    .col-50-wrap .col {width:100%;}
    .col-50-wrap .col1 .frame-type-text {margin-right:0;}

    /* 33/33/33 untereinander */
    .col-33-wrap {grid-template-columns:1fr; gap:20px;}
    .col-33-wrap + .col-33-wrap {margin-top:20px;}
    .col-33-wrap.frame-max-dist {margin-bottom:55px;}

    /* 25/25/25/25 untereinander */
    .col-25-wrap {flex-direction:column; gap:20px; margin-bottom:55px;}
    .col-25-wrap > .col {flex:1 1 auto; width:100%;}

    /* 25/75 */
    .col-25-75-wrap {gap:25px;}

    /* Boxen */
    .cta-box {padding:30px 25px;}
    .cta-box img {width:50px;}
    .grey-box {padding:25px; margin-bottom:25px;}

    /* Kontaktseite */
    #page24 .col-50-wrap {gap:25px;}

    /* Powermail */
    .tx-powermail {margin-bottom:55px;}
    .tx-powermail .powermail_fieldset {grid-template-columns:1fr; gap:20px;}
    .tx-powermail .powermail_fieldwrap {grid-column:1 / -1;}
    .tx-powermail .powermail_fieldwrap_marker .powermail_field {grid-template-columns:1fr;}
    .tx-powermail .powermail_fieldwrap_marker .powermail_label, .tx-powermail .powermail_fieldwrap_marker .powermail_captcha, .tx-powermail .powermail_fieldwrap_marker .powermail_captchaimage, .tx-powermail .powermail_fieldwrap_marker .powermail_field_error_container {grid-column:1;}
    .tx-powermail .powermail_fieldwrap_marker .powermail_captchaimage {width:auto; max-width:100%;}
    .tx-powermail .powermail_fieldwrap_type_submit .btn {width:100%;}

    /* Akkordeon / Jobs */
    .accordion-header {font-size:17px; line-height:1.4em; padding:13px 45px 13px 15px;}
    .accordion-header:before, .accordion-header:after {right:13px; width:17px;}

    /* CTA Sidebar */
    .main-wrap .cta-sidebar {right:8px; top:auto; bottom:10px; transform:none;}
    .main-wrap .cta-item {width:48px; height:48px; margin-bottom:6px;}
    .main-wrap .cta-icon, .contrast-toggle {width:48px; height:48px; border-radius:15px;}
    .main-wrap .cta-item:hover .cta-icon, .contrast-toggle:hover, .contrast-toggle:focus, .cta-item-contrast:hover .contrast-toggle, .cta-item-contrast:focus-within .contrast-toggle {border-radius:0 15px 15px 0;}
    .main-wrap .cta-icon.icon-phone {background-size:22px auto;}
    .main-wrap .cta-icon.icon-paper-plane {background-size:24px auto;}
    .main-wrap .cta-icon.icon-clock {background-size:22px auto;}
    .main-wrap .cta-icon.icon-instagram-custom {background-size:24px auto;}
    .contrast-icon {width:21px; height:21px;}
    .cta-item > a, .cta-item > div, .cta-item-contrast:before {right:46px; height:48px; padding:0 16px; border-radius:15px 0 0 15px; font-size:14px;}

    /* Footer */
    .subpage .footer-wrap {padding-top:50px;}
    .footer-wrap .col-25-75-wrap {gap:30px; margin-bottom:50px;}
    .footer-wrap ul {flex-direction:column; align-items:flex-start; gap:8px;}
    .footer-wrap h4 {font-size:16px;}

}


/* - - - bis 479px / kleine Smartphones - - - */
@media (max-width:479.98px) {

    /* Grundlayout */
    .inner {width:calc(100% - 30px);}

    /* Typografie */
    h1 {font-size:24px;}
    h2 {font-size:21px;}
    h3 {font-size:17px;}
    p.einleser {font-size:18px;}

    /* Header */
    .header-wrap {padding:14px 0;}
    .header-wrap .logo {width:210px; max-width:calc(100% - 60px);}

    /* Hamburger */
    .mobile-nav-toggle {width:44px; height:44px;}
    .mobile-nav-toggle span {width:22px;}

    /* Mobile Navigation */
    .nav-wrap {padding:0 12px;}
    .line-mainnav > li > a {padding:12px 3px;}
    .line-mainnav > li > ul.level2 > li > a {padding:10px 12px;}

    /* Slider */
    .flexslider .ce-bodytext {font-size:21px; letter-spacing:.15rem;}

    /* Abstände */
    .subpage .main-wrap {padding-top:35px;}
    .color-bg-wrapper {padding:40px 0 35px; margin:40px 0;}
    .col-50-wrap {margin-bottom:40px;}
    .col-33-wrap.frame-max-dist {margin-bottom:40px;}
    .col-25-wrap {margin-bottom:40px;}

    /* Boxen */
    .cta-box {padding:25px 20px;}
    .grey-box {padding:20px;}

    /* Formular */
    .tx-powermail {margin-bottom:40px;}
    .tx-powermail .powermail_input, .tx-powermail .powermail_captcha {height:48px;}
    .tx-powermail .powermail_textarea {min-height:150px;}
    .tx-powermail .powermail_checkwrap {grid-template-columns:18px minmax(0, 1fr); gap:8px;}

    /* Akkordeon */
    .accordion-header {font-size:16px;}

    /* CTA Sidebar */
    .main-wrap .cta-sidebar {right:5px; bottom:8px;}
    .main-wrap .cta-item {width:45px; height:45px;}
    .main-wrap .cta-icon, .contrast-toggle {width:45px; height:45px;}
    .cta-item > a, .cta-item > div, .cta-item-contrast:before {right:43px; height:45px; padding:0 14px; font-size:13px;}

    /* Footer */
    .subpage .footer-wrap {padding-top:40px;}
    .footer-wrap .col-25-75-wrap {margin-bottom:40px;}

}


/* - - - Querformat mit niedriger Höhe - - - */
@media (max-height:650px) and (min-width:768px) {

    .main-wrap .cta-sidebar {top:55%;}
    .main-wrap .cta-item {margin-bottom:5px;}

}


/* - - - Bewegungen reduzieren - - - */
@media (prefers-reduced-motion:reduce) {

    *, *:before, *:after {scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}

}