/* - - - Poppins - - - */
/* Thin - 100 */
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-Thin.eot'); src: url('../fonts/Poppins-Thin.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-Thin.woff2') format('woff2'), url('../fonts/Poppins-Thin.woff') format('woff'), url('../fonts/Poppins-Thin.ttf') format('truetype'), url('../fonts/Poppins-Thin.svg#Poppins-Thin') format('svg'); font-weight: 100; font-style: normal; }
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-ThinItalic.eot'); src: url('../fonts/Poppins-ThinItalic.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-ThinItalic.woff2') format('woff2'), url('../fonts/Poppins-ThinItalic.woff') format('woff'), url('../fonts/Poppins-ThinItalic.ttf') format('truetype'), url('../fonts/Poppins-ThinItalic.svg#Poppins-ThinItalic') format('svg'); font-weight: 100; font-style: italic; }

/* Extralight - 200 */
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-ExtraLight.eot'); src: url('../fonts/Poppins-ExtraLight.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-ExtraLight.woff2') format('woff2'), url('../fonts/Poppins-ExtraLight.woff') format('woff'), url('../fonts/Poppins-ExtraLight.ttf') format('truetype'), url('../fonts/Poppins-ExtraLight.svg#Poppins-ExtraLight') format('svg'); font-weight: 200; font-style: normal; }
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-ExtraLightItalic.eot'); src: url('../fonts/Poppins-ExtraLightItalic.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-ExtraLightItalic.woff2') format('woff2'), url('../fonts/Poppins-ExtraLightItalic.woff') format('woff'), url('../fonts/Poppins-ExtraLightItalic.ttf') format('truetype'), url('../fonts/Poppins-ExtraLightItalic.svg#Poppins-ExtraLightItalic') format('svg'); font-weight: 200; font-style: italic; }

/* Light - 300 */
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-Light.eot'); src: url('../fonts/Poppins-Light.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-Light.woff2') format('woff2'), url('../fonts/Poppins-Light.woff') format('woff'), url('../fonts/Poppins-Light.ttf') format('truetype'), url('../fonts/Poppins-Light.svg#Poppins-Light') format('svg'); font-weight: 300; font-style: normal; }
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-LightItalic.eot'); src: url('../fonts/Poppins-LightItalic.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-LightItalic.woff2') format('woff2'), url('../fonts/Poppins-LightItalic.woff') format('woff'), url('../fonts/Poppins-LightItalic.ttf') format('truetype'), url('../fonts/Poppins-LightItalic.svg#Poppins-LightItalic') format('svg'); font-weight: 300; font-style: italic; }

/* Regular - 400 */
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-Regular.eot'); src: url('../fonts/Poppins-Regular.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-Regular.woff2') format('woff2'), url('../fonts/Poppins-Regular.woff') format('woff'), url('../fonts/Poppins-Regular.ttf') format('truetype'), url('../fonts/Poppins-Regular.svg#Poppins-Regular') format('svg'); font-weight: 400; font-style: normal; }
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-Italic.eot'); src: url('../fonts/Poppins-Italic.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-Italic.woff2') format('woff2'), url('../fonts/Poppins-Italic.woff') format('woff'), url('../fonts/Poppins-Italic.ttf') format('truetype'), url('../fonts/Poppins-Italic.svg#Poppins-Italic') format('svg'); font-weight: 400; font-style: italic; }

/* Medium - 500 */
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-Medium.eot'); src: url('../fonts/Poppins-Medium.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-Medium.woff2') format('woff2'), url('../fonts/Poppins-Medium.woff') format('woff'), url('../fonts/Poppins-Medium.ttf') format('truetype'), url('../fonts/Poppins-Medium.svg#Poppins-Medium') format('svg'); font-weight: 500; font-style: normal; }
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-MediumItalic.eot'); src: url('../fonts/Poppins-MediumItalic.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-MediumItalic.woff2') format('woff2'), url('../fonts/Poppins-MediumItalic.woff') format('woff'), url('../fonts/Poppins-MediumItalic.ttf') format('truetype'), url('../fonts/Poppins-MediumItalic.svg#Poppins-MediumItalic') format('svg'); font-weight: 500; font-style: italic; }

/* SemiBold - 600 */
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-SemiBold.eot'); src: url('../fonts/Poppins-SemiBold.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-SemiBold.woff2') format('woff2'), url('../fonts/Poppins-SemiBold.woff') format('woff'), url('../fonts/Poppins-SemiBold.ttf') format('truetype'), url('../fonts/Poppins-SemiBold.svg#Poppins-SemiBold') format('svg'); font-weight: 600; font-style: normal; }
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-SemiBoldItalic.eot'); src: url('../fonts/Poppins-SemiBoldItalic.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-SemiBoldItalic.woff2') format('woff2'), url('../fonts/Poppins-SemiBoldItalic.woff') format('woff'), url('../fonts/Poppins-SemiBoldItalic.ttf') format('truetype'), url('../fonts/Poppins-SemiBoldItalic.svg#Poppins-SemiBoldItalic') format('svg'); font-weight: 600; font-style: italic; }

/* Bold - 700 */
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-Bold.eot'); src: url('../fonts/Poppins-Bold.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-Bold.woff2') format('woff2'), url('../fonts/Poppins-Bold.woff') format('woff'), url('../fonts/Poppins-Bold.ttf') format('truetype'), url('../fonts/Poppins-Bold.svg#Poppins-Bold') format('svg'); font-weight: 700; font-style: normal; }
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-BoldItalic.eot'); src: url('../fonts/Poppins-BoldItalic.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-BoldItalic.woff2') format('woff2'), url('../fonts/Poppins-BoldItalic.woff') format('woff'), url('../fonts/Poppins-BoldItalic.ttf') format('truetype'), url('../fonts/Poppins-BoldItalic.svg#Poppins-BoldItalic') format('svg'); font-weight: 700; font-style: italic; }

/* ExtraBold - 800 */
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-ExtraBold.eot'); src: url('../fonts/Poppins-ExtraBold.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-ExtraBold.woff2') format('woff2'), url('../fonts/Poppins-ExtraBold.woff') format('woff'), url('../fonts/Poppins-ExtraBold.ttf') format('truetype'), url('../fonts/Poppins-ExtraBold.svg#Poppins-ExtraBold') format('svg'); font-weight: 800; font-style: normal; }
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-ExtraBoldItalic.eot'); src: url('../fonts/Poppins-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-ExtraBoldItalic.woff2') format('woff2'), url('../fonts/Poppins-ExtraBoldItalic.woff') format('woff'), url('../fonts/Poppins-ExtraBoldItalic.ttf') format('truetype'), url('../fonts/Poppins-ExtraBoldItalic.svg#Poppins-ExtraBoldItalic') format('svg'); font-weight: 800; font-style: italic; }

/* Black - 900 */
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-Black.eot'); src: url('../fonts/Poppins-Black.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-Black.woff2') format('woff2'), url('../fonts/Poppins-Black.woff') format('woff'), url('../fonts/Poppins-Black.ttf') format('truetype'), url('../fonts/Poppins-Black.svg#Poppins-Black') format('svg'); font-weight: 900; font-style: normal; }
@font-face { font-family: 'Poppins'; src: url('../fonts/Poppins-BlackItalic.eot'); src: url('../fonts/Poppins-BlackItalic.eot?#iefix') format('embedded-opentype'), url('../fonts/Poppins-BlackItalic.woff2') format('woff2'), url('../fonts/Poppins-BlackItalic.woff') format('woff'), url('../fonts/Poppins-BlackItalic.ttf') format('truetype'), url('../fonts/Poppins-BlackItalic.svg#Poppins-BlackItalic') format('svg'); font-weight: 900; font-style: italic; }

body { margin: 0; padding: 0; font: 400 16px/1.8em 'Poppins', sans-serif; color: #3c3c3c;}

h1 { font-size: 40px; line-height: 1.2em; margin: 0 0 15px; color: #731632; text-transform: uppercase;}
h2 { font-size: 30px; line-height: 1.2em; margin: 0 0 28px; color: #731632; text-transform: uppercase;}
h3 { font-size: 22px; font-weight: 700; text-transform: uppercase; margin: 22px 0 18px; }
h4 { font-size: 16px; line-height: 1.8em; font-weight: 700; }


.main-wrap ul { padding-left: 15px; }
.main-wrap ul li { list-style-image: url("../img/arrow-right.svg"); list-style-position: outside; padding-left: 8px; }

.text-center { text-align: center; }

p { margin: 28px 0; }
p.einleser { font-size: 25px; margin: 0 0 45px; }

h2 + .einleser { margin-top: -23px; }

.main-wrap a { color: #b6294e; }
.main-wrap a:hover { color: #3c3c3c; text-decoration: none; }

a.btn { background: #b6294e; color: #fff; text-decoration: none; padding: 12px 16px; border-radius: 3px; -webkit-transition: all 0.3s ease-in-out;  -moz-transition: all 0.3s ease-in-out;  -o-transition: all 0.3s ease-in-out;  transition: all 0.3s ease-in-out;}
a.btn:hover { background: #7E1532; color: #fff;}

img { vertical-align: bottom; }

hr { border: none; border-top: solid 1px #C5C5C5; margin: 60px 0; }

.inner { width: calc(100% - 30px); max-width: 1584px; margin: 0 auto; }

.frame-type-image + .frame-type-image { margin-top: 36px; }

/* - - - - - - - - - - - -  */
/* - - - Header Wrap - - - */
/* - - - - - - - - - - - -  */
.header-wrap { position: fixed; top: 0; background: #fff; z-index: 500; width: 100%; box-shadow: 0 0 calc(((30) / 16) * 1rem) rgba(0,0,0,0.1); padding: 40px 0;}
.header-wrap .inner { display: flex; justify-content: space-between; align-items: center;}

.header-wrap .logo { width: 369px; height: auto; }
.header-wrap .logo img { width: 100%; height: auto; }

.header-wrap a { text-decoration: none; color: #3c3c3c; -webkit-transition: all 0.3s ease-in-out;  -moz-transition: all 0.3s ease-in-out;  -o-transition: all 0.3s ease-in-out;  transition: all 0.3s ease-in-out; display: flex; align-items: center;}
.header-wrap a:hover { color: #B6294E; }

.contact-wrap { font-size: 18px; margin-bottom: 25px;}
.contact-wrap ul { display: flex; margin: 0; padding: 0; justify-content: flex-end; gap: 3rem; align-items: center;}
.contact-wrap li { list-style: none;  }

.contact-wrap li.phone a:before { display: inline-block; content: ""; width: 20px; height: 20px; background-color: currentColor; -webkit-mask: url("../img/phone.svg") no-repeat center / contain; mask: url("../img/phone.svg") no-repeat center / contain; margin-right: 5px;}
.contact-wrap li.phone a:hover { color: #b6294e; }
.contact-wrap li.mail a:before { display: inline-block; content: ""; width: 20px; height: 20px; background-color: currentColor; -webkit-mask: url("../img/mail.svg") no-repeat center / contain; mask: url("../img/mail.svg") no-repeat center / contain; margin-right: 5px;}
.contact-wrap li.mail a:hover { color: #b6294e; }
.contact-wrap li.insta a { display: block; width: 20px; height: 20px; background-color: #3c3c3c; -webkit-mask: url("../img/instagram.svg") no-repeat center / contain; mask: url("../img/instagram.svg") no-repeat center / contain; transition: background-color 0.3s ease-in-out; }
.contact-wrap li.insta a:hover { background-color: #b6294e; }

/* - - - Hauptnavigation - - - */
.mobile-nav-toggle { display: none; }

.line-mainnav { position: relative; display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 0; padding: 0; list-style: none; overflow: visible; gap: 3rem; }
.line-mainnav > li { position: relative; margin: 0; padding: 0; list-style: none; }
.line-mainnav > li > a { display: flex; align-items: center; gap: 14px; color: #3d3d3d; text-decoration: none; transition: color 0.3s ease-in-out; }
.line-mainnav > li > a:hover { color: #b6294e; }
.line-mainnav > li.active > a, .line-mainnav > li.submenu-open > a { color: #b6294e; font-weight: 700; }

/* Pfeil bei Menüpunkten mit zweiter Ebene */
.line-mainnav > li.has-submenu > a { cursor: pointer; }
.line-mainnav > li.has-submenu > a:after { display: block; flex: 0 0 8px; content: ""; width: 8px; height: 8px; background-color: currentColor; -webkit-mask: url("../img/arrow-down.svg") no-repeat center / contain; mask: url("../img/arrow-down.svg") no-repeat center / contain; transition: background-color 0.3s ease-in-out; }

/* Ausklappbares Untermenü */
.line-mainnav > li > ul.level2 { position: absolute; top: calc(100% + 10px); right: 0; left: auto; z-index: 1000; display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 10px; width: max-content; box-sizing: border-box; margin: 0; padding: 10px; background: #fff; border-radius: 0 0 8px 8px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); list-style: none; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(10px); transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease-in-out; }
.line-mainnav > li.submenu-open > ul.level2 { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }

/* Untermenüs mit nur einem Menüpunkt einspaltig darstellen */
.line-mainnav > li > ul.level2:has(> li:only-child) { grid-template-columns: max-content; }

/* Menüpunkte der zweiten Ebene */
.line-mainnav > li > ul.level2 > li { display: flex; min-width: 0; margin: 0; padding: 0; list-style: none; }
.line-mainnav > li > ul.level2 > li > a { display: flex; align-items: center; box-sizing: border-box; width: 100%; padding: 16px 18px; background: #efefef; color: #3d3d3d; white-space: nowrap; }
.line-mainnav > li > ul.level2 > li > a:hover, .line-mainnav > li > ul.level2 > li.active > a { background-color: #b6294e; color: #fff; }

/* Schließen-Button */
.line-mainnav .submenu-close { position: absolute; top: 0; right: -30px; width: 30px; height: 30px; margin: 0; padding: 0; border: 0; border-radius: 0 6px 6px 0; background: #b6294e; cursor: pointer; transition: background-color 0.3s ease-in-out; }
.line-mainnav .submenu-close:after { position: absolute; top: 50%; left: 50%; display: block; content: ""; width: 12px; height: 12px; background-color: #fff; -webkit-mask: url("../img/close.svg") no-repeat center / contain; mask: url("../img/close.svg") no-repeat center / contain; transform: translate(-50%, -50%); }
.line-mainnav .submenu-close:hover { background-color: #951f40; }

/* Verhindert das Abschneiden des Untermenüs */
.nav-wrap, .nav-inner { overflow: visible; }

/* - - - - - - - - - - - */
/* - - - Main Wrap - - - */
/* - - - - - - - - - - - */

.main-wrap { margin-top: 177px; }

.subpage .main-wrap { padding-top: 100px; }

/* Flexslider */
.flexslider { position: relative; }
.flexslider .ce-gallery { margin-bottom: 0; }
.flexslider .image:before { position: absolute; width: 100%; height: 100%; content:""; display: block; background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.595676) 34%, rgba(255,255,255,0) 76%, rgba(255,255,255,0) 95%); z-index: 100; }

.flexslider .ce-bodytext { position: absolute; width: 100%; bottom: 10px; font-size: 48px; text-align: center; color: #fff; font-weight: 700; z-index: 150; text-transform: uppercase; letter-spacing: 1rem; }
.flexslider .ce-bodytext i { font-style: normal; color: #b6294e }


/* Farbfläche vollbreite */
.color-bg-wrapper { position: relative; padding: 150px 0 122px; z-index: 0; margin: 150px 0;}
.color-bg-wrapper:before { content: ''; background: url("../img/maennchen.svg") no-repeat; background-size: contain; position: absolute; left: 0; top: 5%; width: 100%; height: 90%; opacity: 0.3; z-index: 1}
.color-bg-wrapper.grey { background-color: #EFEFEF }
.color-bg-wrapper .inner { position: relative; z-index: 10; }

.color-bg-wrapper .col-50-wrap { margin-bottom: 0; }

.color-bg-wrapper.frame-no-dist { margin-bottom: 0;}

.home .color-bg-wrapper { margin-top: 0; }

/* 2-spaltiger Container 50/50 */
.col-50-wrap { display: flex; gap: 36px; width: 100%; align-items: stretch; align-items: center; margin-bottom: 150px;}
.col-50-wrap.top { align-items: start }

.col-50-wrap .col { flex: 1 1 0; min-width: 0; }

.col-50-wrap .col1 .frame-type-text { margin-right: 135px }


/* 3-spaltiger Container 33/33/33 */
.col-33-wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; width: 100%; align-items: stretch; }
.col-33-wrap .col { min-width: 0; display: flex; }

.col-33-wrap + .col-33-wrap { margin-top: 36px; }

.col-33-wrap.frame-max-dist { margin-bottom: 150px; }

/* 2-spaltiger Container 25/75 */
.col-25-75-wrap { display: flex; gap: 36px; width: 100%; align-items: stretch; }
.col-25-75-wrap > .col { min-width: 0; }
.col-25-75-wrap > .col1 { flex: 1 1 0; }
.col-25-75-wrap > .col2 { flex: 3 1 0; }


/* 4-spaltige Aufteilung 25/25/25/25 */
.col-25-wrap { display: flex; gap: 36px; width: 100%; align-items: stretch; margin-bottom: 150px;}
.col-25-wrap > .col { flex: 1 1 0; min-width: 0; }


/* CTA Box */
.cta-box { background: #b6294e; padding: 60px; text-align: center; -webkit-transition: all 0.3s ease-in-out;  -moz-transition: all 0.3s ease-in-out;  -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; position: relative; color: #fff;}
.cta-box:hover { background-color: #7E1532 }
.cta-box a { position: absolute; width: 100%; height: 100%; left: 0; top: 0;}
.cta-box img { width: 60px; height: auto; }


/* Graue Box */
.grey-box { background: #f2f2f2; padding: 36px 54px; margin-bottom: 36px; border-radius: 3px;}
.grey-box h3 { color: #b6294e; }

.col-33-wrap .grey-box { width: 100%; margin-bottom: 0;}


/* Kontaktformular */
.tx-powermail { margin-bottom: 150px; }

/* Powermail – Grundaufbau */
.tx-powermail { width: 100%; }
.tx-powermail * { box-sizing: border-box; }
.tx-powermail .container-fluid { width: 100%; padding: 0; }
.tx-powermail .powermail_form { width: 100%; margin: 0; }
.tx-powermail .powermail_fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 30px; width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; }

/* Vorhandene Powermail-Zeilen auflösen, damit alle Felder in einem gemeinsamen Raster liegen */
.tx-powermail .powermail_fieldset > .row { display: contents; }

/* Doppelte Formularüberschriften ausblenden */
.tx-powermail .powermail_form > h3 { display: none; }
.tx-powermail .powermail_legend { display: none; }

/* Bootstrap-Spalten und bestehende Theme-Abstände vollständig zurücksetzen */
.tx-powermail .powermail_fieldwrap { width: auto; max-width: none; min-width: 0; margin: 0 !important; padding: 0 !important; flex: none; align-self: start; }
.tx-powermail .powermail_field { width: 100%; min-width: 0; margin: 0 !important; padding: 0 !important; }

/* Name, Firma, E-Mail und Telefon im zweispaltigen 50/50-Raster */
.tx-powermail .powermail_fieldwrap_name, .tx-powermail .powermail_fieldwrap_firma, .tx-powermail .powermail_fieldwrap_e_mail, .tx-powermail .powermail_fieldwrap_telefon { grid-column: auto; }

/* Rückrufbitte, Nachricht, Datenschutz, Captcha und Button jeweils volle Breite */
.tx-powermail .powermail_fieldwrap_rueckrufbitte, .tx-powermail .powermail_fieldwrap_nachricht, .tx-powermail .powermail_fieldwrap_datenschutz, .tx-powermail .powermail_fieldwrap_marker, .tx-powermail .powermail_fieldwrap_type_submit { grid-column: 1 / -1; }

/* Feldbeschriftungen */
.tx-powermail .powermail_label { display: block; margin: 0 0 8px; padding: 0; color: #505758; font-size: 16px; font-weight: 400; line-height: 1.4; }
.tx-powermail .mandatory { margin-left: 2px; color: #a72a50; }

/* Eingabefelder */
.tx-powermail .powermail_input, .tx-powermail .powermail_captcha { display: block; width: 100%; height: 50px; margin: 0; padding: 11px 15px; color: #505758; font-family: inherit; font-size: 16px; font-weight: 400; line-height: 1.4; background: #fff; border: 1px solid #b9bec0; border-radius: 0; outline: none; box-shadow: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }

/* Textarea über die volle Breite */
.tx-powermail .powermail_textarea { display: block; width: 100%; min-height: 180px; margin: 0; padding: 13px 15px; color: #505758; font-family: inherit; font-size: 16px; font-weight: 400; line-height: 1.5; background: #fff; border: 1px solid #b9bec0; border-radius: 0; outline: none; resize: vertical; box-shadow: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }

/* Platzhalter */
.tx-powermail .powermail_input::placeholder, .tx-powermail .powermail_textarea::placeholder, .tx-powermail .powermail_captcha::placeholder { color: #92999b; opacity: 1; }

/* Fokuszustand */
.tx-powermail .powermail_input:focus, .tx-powermail .powermail_textarea:focus, .tx-powermail .powermail_captcha:focus { border-color: #a72a50; box-shadow: 0 0 0 2px rgba(167, 42, 80, 0.12); }

/* Doppelte Beschriftung über den Checkboxen ausblenden */
.tx-powermail .powermail_fieldwrap_rueckrufbitte > .powermail_field > .powermail_label, .tx-powermail .powermail_fieldwrap_datenschutz > .powermail_field > .powermail_label { display: none; }

/* Checkboxen */
.tx-powermail .powermail_checkwrap { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; width: 100%; margin: 0; padding: 0; }
.tx-powermail .powermail_checkbox { position: static; float: none; width: 18px; height: 18px; margin: 3px 0 0; padding: 0; border-radius: 0; accent-color: #a72a50; }
.tx-powermail .powermail_checkwrap .form-check-label { display: block; margin: 0; padding: 0; color: #505758; font-size: 15px; font-weight: 400; line-height: 1.55; }
.tx-powermail .powermail_checkwrap .form-check-label p { margin: 0 0 8px; }
.tx-powermail .powermail_checkwrap .form-check-label p:last-child { margin-bottom: 0; }
.tx-powermail .powermail_checkwrap .form-check-label a { color: #a72a50; text-decoration: underline; text-underline-offset: 2px; }

/* Captcha über die volle Formularbreite */
.tx-powermail .powermail_fieldwrap_marker .powermail_field { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; width: 100%; }
.tx-powermail .powermail_fieldwrap_marker .powermail_label { grid-column: 1 / -1; }
.tx-powermail .powermail_fieldwrap_marker .powermail_captcha { grid-column: 1; }
.tx-powermail .powermail_fieldwrap_marker .powermail_captchaimage { grid-column: 2; display: block; width: auto; max-width: 180px; height: 50px; margin: 0; object-fit: contain; border: 1px solid #b9bec0; }
.tx-powermail .powermail_fieldwrap_marker .powermail_field_error_container { grid-column: 1 / -1; }

/* Absende-Button */
.tx-powermail .powermail_fieldwrap_type_submit .powermail_field { display: flex; justify-content: flex-start; }
.tx-powermail .powermail_fieldwrap_type_submit .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; margin: 0; padding: 12px 25px; color: #fff; font-family: inherit; font-size: 16px; font-weight: 500; line-height: 1.4; background: #a72a50; border: 1px solid #a72a50; border-radius: 0; cursor: pointer; box-shadow: none; transition: background 0.2s ease, border-color 0.2s ease; }
.tx-powermail .powermail_fieldwrap_type_submit .btn:hover, .tx-powermail .powermail_fieldwrap_type_submit .btn:focus { color: #fff; background: #85213f; border-color: #85213f; }

/* Fehlermeldungen */
.tx-powermail .powermail_field_error { border-color: #a72a50; }
.tx-powermail .powermail-errors-list { margin: 6px 0 0; padding: 0; color: #a72a50; font-size: 14px; line-height: 1.4; list-style: none; }
.tx-powermail .powermail-errors-list li { margin: 0; padding: 0; }
.tx-powermail .powermail_field_error_container { margin: 6px 0 0; color: #a72a50; font-size: 14px; line-height: 1.4; }

/* Mobile Darstellung */
@media (max-width: 767.98px) {
  .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%; }
}

/* Kontakt Seite */
#page24 .col-50-wrap { margin-bottom: 0; }
#page24 .grey-box { padding: 15px; }
#page24 .grey-box p { margin: 0; }

/* Akkordeon */
.accordion-header { position: relative; padding: 12px 50px 12px 16px; cursor: pointer; background: #b6294e; color: #fff; border-radius: 3px; font-size: 22px; transition: all 0.3s ease-in-out;}

.accordion-header:before,
.accordion-header:after { content: ''; position: absolute; top: 50%; right: 10px; width: 20px; height: 2px; background: currentColor; transition: .25s ease;}

.accordion-header:before {transform: translateY(-50%);}

.accordion-header:after {transform: translateY(-50%) rotate(90deg);}

.accordion-header.active, 
.accordion-header:hover { background: #731632 }
.accordion-header.active:after {opacity: 0;}


/* CTA Sidebar */
.main-wrap .cta-sidebar {position:fixed; right:0; top:50%; z-index:1000; transform:translateY(-50%);}
.main-wrap .cta-list {margin:0; padding:0; list-style:none;}
.main-wrap .cta-item {position:relative; width:55px; height:55px; margin:0 0 8px; padding:0; list-style:none;}
.main-wrap .cta-item:hover .cta-icon {border-radius:0 18px 18px 0;}
.main-wrap .cta-icon {position:relative; z-index:2; display:flex; align-items:center; justify-content:center; width:55px; height:55px; box-sizing:border-box; background-color:#b23754; background-repeat:no-repeat; background-position:center; color:#fff; border:2px solid #fff; border-radius:18px; transition:all .5s ease;}
.main-wrap .cta-item:hover .cta-icon, .cta-item:focus-within .cta-icon {background-color:#741b31;}

/* Vorhandene Icon-Font-Ausgabe deaktivieren */
.main-wrap .cta-icon:before {display:none !important; content:none !important;}

/* CTA Icons */
.main-wrap .cta-icon.icon-phone {background-image:url("../img/phone-icon-w.svg"); background-size:25px auto;}
.main-wrap .cta-icon.icon-paper-plane {background-image:url("../img/mail-icon-w.svg"); background-size:27px auto;}
.main-wrap .cta-icon.icon-clock {background-image:url("../img/time-icon-w.svg"); background-size:25px auto;}
.main-wrap .cta-icon.icon-instagram-custom {background-image:url("../img/insta-icon-w.svg"); background-size:27px auto;}

/* Ausfahrender Inhalt */
.cta-item > a, .cta-item > div {position:absolute; top:0; right:53px; z-index:1; display:flex; align-items:center; width:max-content; min-width:max-content; max-width:none; height:55px; padding:0 22px; box-sizing:border-box; background:#541325; color:#fff; white-space:nowrap; border-radius:18px 0 0 18px; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility 0s linear .3s;}
.cta-item:hover > a, .cta-item:hover > div, .cta-item:focus-within > a, .cta-item:focus-within > div {opacity:1; visibility:visible; transition:opacity .5s ease, visibility 0s linear 0s;}
.cta-item a {color:#fff; text-decoration:none;}
.cta-item a:hover {color:#fff; text-decoration:none;}

/* Öffnungszeiten */
.cta-opening-hours {display:flex; align-items:center; gap:6px; margin:0; padding:0; white-space:nowrap;}
.cta-opening-hours dt, .cta-opening-hours dd {margin:0; padding:0;}

/* Kontrast */
.contrast-toggle {position:relative; z-index:2; display:flex; align-items:center; justify-content:center; width:55px; height:55px; padding:0; box-sizing:border-box; border:2px solid #fff; border-radius:18px; background-color:#b23754; color:#fff; cursor:pointer; transition:all .5s ease;}
.contrast-toggle:hover, .contrast-toggle:focus, .cta-item-contrast:hover .contrast-toggle, .cta-item-contrast:focus-within .contrast-toggle {background-color:#741b31; border-radius:0 18px 18px 0;}
.contrast-icon {position:relative; display:block; width:24px; height:24px; border:2px solid currentColor; border-radius:50%; overflow:hidden;}
.contrast-icon:after {content:''; position:absolute; top:0; right:0; width:50%; height:100%; background:currentColor;}

/* Kontrast Flag */
.cta-item-contrast:before {content:"Kontrast erhöhen"; position:absolute; top:0; right:53px; z-index:1; display:flex; align-items:center; width:max-content; min-width:max-content; max-width:none; height:55px; padding:0 22px; box-sizing:border-box; background:#541325; color:#fff; white-space:nowrap; border-radius:18px 0 0 18px; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility 0s linear .3s;}
.cta-item-contrast:hover:before, .cta-item-contrast:focus-within:before {opacity:1; visibility:visible; transition:opacity .3s ease, visibility 0s linear 0s;}

/* - - - - - - - - - - - - */
/* - - - Footer Wrap - - - */
/* - - - - - - - - - - - - */
.footer-wrap { font-size: 18px; line-height: 1.8em;}
.subpage .footer-wrap { background: #EFEFEF; padding-top: 100px; border-top: solid 1px #fff;}

.footer-wrap .col-25-75-wrap { gap: 150px; margin-bottom: 150px; align-items: center;}

.footer-wrap h4 { font-size: 18px; line-height: 1.8em; font-weight: 700; margin: 0; }
.footer-wrap p { margin: 0; }

.footer-wrap a { display: inline-flex; align-items: center; gap: 10px; color: inherit; transition: color 0.3s ease-in-out; }
.footer-wrap a[href^="tel:"]:before { display: inline-block; flex: 0 0 16px; content: ""; width: 16px; height: 16px; background-color: currentColor; -webkit-mask: url("../img/phone.svg") no-repeat center / contain; mask: url("../img/phone.svg") no-repeat center / contain; }
.footer-wrap a[href^="tel:"] { text-decoration: none; }
.footer-wrap a[data-mailto-token]:before, .footer-wrap a[href^="mailto:"]:before { display: inline-block; flex: 0 0 16px; content: ""; width: 16px; height: 16px; background-color: currentColor; -webkit-mask: url("../img/mail.svg") no-repeat center / contain; mask: url("../img/mail.svg") no-repeat center / contain; }
.footer-wrap a[data-mailto-token], .footer-wrap a[href^="mailto:"] { color: #b6294e }
.footer-wrap a[data-mailto-token]:hover, .footer-wrap a[href^="mailto:"]:hover { color: #3c3c3c; text-decoration: none; } 
.footer-wrap a:hover { color: #b6294e; }

.footer-wrap img { max-width: 100%; height: auto; }

.footer-wrap ul { margin: 0; padding: 0; display: flex; gap: 50px;}
.footer-wrap ul li { list-style: none; }
.footer-wrap ul li a { text-decoration: none; }

/* High Contrast */

/* Grundfarben: helle Hintergründe = schwarze Schrift */
body.high-contrast {color:#000;}
body.high-contrast h1, body.high-contrast h2, body.high-contrast h3, body.high-contrast h4 {color:#000;}
body.high-contrast .header-wrap, body.high-contrast .color-bg-wrapper.grey, body.high-contrast .grey-box, body.high-contrast .footer-wrap {color:#000;}

/* Alle Links schwarz und unterstrichen */
body.high-contrast a {text-decoration:underline !important;}
body.high-contrast a:hover, body.high-contrast a:focus { text-decoration:underline !important;}

/* Header */
body.high-contrast .header-wrap a, body.high-contrast .header-wrap a:hover, body.high-contrast .header-wrap a:focus {color:#000;}
body.high-contrast .contact-wrap li.phone a:hover, body.high-contrast .contact-wrap li.mail a:hover {color:#000;}
body.high-contrast .contact-wrap li.insta a, body.high-contrast .contact-wrap li.insta a:hover {background-color:#000;}

/* Hauptnavigation */
body.high-contrast .line-mainnav > li > a, body.high-contrast .line-mainnav > li > a:hover, body.high-contrast .line-mainnav > li.active > a, body.high-contrast .line-mainnav > li.submenu-open > a {color:#000;}
body.high-contrast .line-mainnav > li > ul.level2 > li > a {background:#efefef; color:#000;}

/* Flächen mit bisher #B6294E */
body.high-contrast a.btn, body.high-contrast .line-mainnav > li > ul.level2 > li > a:hover, body.high-contrast .line-mainnav > li > ul.level2 > li.active > a, body.high-contrast .line-mainnav .submenu-close, body.high-contrast .cta-box, body.high-contrast .accordion-header {background-color:#7D0021; color:#fff;}
body.high-contrast .cta-box h3 { color: #fff !important; }

/* Hover auf dunklen Flächen ebenfalls dunkel halten */
body.high-contrast a.btn:hover, body.high-contrast a.btn:focus, body.high-contrast .line-mainnav .submenu-close:hover, body.high-contrast .cta-box:hover, body.high-contrast .accordion-header:hover, body.high-contrast .accordion-header.active {background-color:#520016; color:#fff;}

/* Links auf dunklen Flächen immer weiß */
body.high-contrast a.btn, body.high-contrast a.btn:hover, body.high-contrast a.btn:focus, body.high-contrast .line-mainnav > li > ul.level2 > li > a:hover, body.high-contrast .line-mainnav > li > ul.level2 > li.active > a, body.high-contrast .cta-box a {color:#fff;}

/* Slider: Text liegt auf dunkler Bildüberlagerung */
body.high-contrast .flexslider .ce-bodytext, body.high-contrast .flexslider .ce-bodytext i {color:#fff;}

/* Graue Boxen */
body.high-contrast .grey-box, body.high-contrast .grey-box h1, body.high-contrast .grey-box h2, body.high-contrast .grey-box h3, body.high-contrast .grey-box h4 {color:#000;}

/* Powermail */
body.high-contrast .tx-powermail, body.high-contrast .tx-powermail .powermail_label, body.high-contrast .tx-powermail .powermail_checkwrap .form-check-label, body.high-contrast .tx-powermail .mandatory, body.high-contrast .tx-powermail .powermail-errors-list, body.high-contrast .tx-powermail .powermail_field_error_container {color:#000;}
body.high-contrast .tx-powermail .powermail_input, body.high-contrast .tx-powermail .powermail_textarea, body.high-contrast .tx-powermail .powermail_captcha {color:#000; background:#fff; border-color:#000;}
body.high-contrast .tx-powermail .powermail_input::placeholder, body.high-contrast .tx-powermail .powermail_textarea::placeholder, body.high-contrast .tx-powermail .powermail_captcha::placeholder {color:#000;}
body.high-contrast .tx-powermail .powermail_input:focus, body.high-contrast .tx-powermail .powermail_textarea:focus, body.high-contrast .tx-powermail .powermail_captcha:focus {border-color:#000; box-shadow:0 0 0 2px rgba(0,0,0,.2);}
body.high-contrast .tx-powermail .powermail_checkbox {accent-color:#7D0021;}
body.high-contrast .tx-powermail .powermail_checkwrap .form-check-label a {color:#000;}
body.high-contrast .tx-powermail .powermail_fieldwrap_type_submit .btn {background:#7D0021; border-color:#7D0021; color:#fff;}
body.high-contrast .tx-powermail .powermail_fieldwrap_type_submit .btn:hover, body.high-contrast .tx-powermail .powermail_fieldwrap_type_submit .btn:focus {background:#520016; border-color:#520016; color:#fff;}

/* Akkordeon: dunkle Fläche = weiße Schrift */
body.high-contrast .accordion-header, body.high-contrast .accordion-header:hover, body.high-contrast .accordion-header.active {color:#fff;}

/* CTA Sidebar: dunkle Flächen = weiße Schrift */
body.high-contrast .main-wrap .cta-icon, body.high-contrast .contrast-toggle {background:#7D0021; color:#fff;}
body.high-contrast .main-wrap .cta-item:hover .cta-icon, body.high-contrast .cta-item:focus-within .cta-icon, body.high-contrast .contrast-toggle:hover, body.high-contrast .contrast-toggle:focus, body.high-contrast .cta-item-contrast:hover .contrast-toggle, body.high-contrast .cta-item-contrast:focus-within .contrast-toggle {background:#520016; color:#fff;}
body.high-contrast .cta-item > a, body.high-contrast .cta-item > div, body.high-contrast .cta-item-contrast:before {background:#32000d; color:#fff;}
body.high-contrast .cta-item a, body.high-contrast .cta-item a:hover, body.high-contrast .cta-item a:focus {color:#fff;}

/* Footer: heller Hintergrund = schwarz */
body.high-contrast .footer-wrap, body.high-contrast .footer-wrap h4 {color:#000;}
body.high-contrast .footer-wrap a, body.high-contrast .footer-wrap a:hover, body.high-contrast .footer-wrap a:focus, body.high-contrast .footer-wrap a[data-mailto-token], body.high-contrast .footer-wrap a[href^="mailto:"], body.high-contrast .footer-wrap a[data-mailto-token]:hover, body.high-contrast .footer-wrap a[href^="mailto:"]:hover {color:#000;}
