/*
 * Header, Mega-Menue, Breadcrumb und Footer der alten Seite fuer Divi-Seiten.
 * Werte: docs/design-alte-seite.md (aus styles.min.css und Bootstrap 3 der alten Seite).
 */

@font-face { font-family: 'Roboto'; src: url('/fonts/roboto-regular-webfont.woff2') format('woff2'), url('/fonts/roboto-regular-webfont.woff') format('woff'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Roboto'; src: url('/fonts/roboto-italic-webfont.woff2') format('woff2'), url('/fonts/roboto-italic-webfont.woff') format('woff'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Roboto'; src: url('/fonts/roboto-bold-webfont.woff2') format('woff2'), url('/fonts/roboto-bold-webfont.woff') format('woff'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Roboto'; src: url('/fonts/roboto-black-webfont.woff2') format('woff2'), url('/fonts/roboto-black-webfont.woff') format('woff'); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Orienta'; src: url('/fonts/orienta-regular-webfont.woff2') format('woff2'), url('/fonts/orienta-regular-webfont.woff') format('woff'); font-weight: 400; font-style: normal; font-display: swap; }

:root {
    --lc-cyan: #00b0cf;
    --lc-cyan-end: #01a1bd;
    --lc-teal: #008198;
    --lc-teal-dark: #015d70;
    --lc-blue: #0097b2;
    --lc-text: #7e7e7e;
    --lc-content: #00404e;
    --lc-container: 1024px;
}

.lc-container { box-sizing: border-box; width: 100%; max-width: var(--lc-container); margin: 0 auto; padding: 0 15px; position: relative; }
.lc-header, .lc-footer { font-family: Roboto, Arial, sans-serif; font-size: 14px; line-height: 20px; color: var(--lc-text); }
.lc-header *, .lc-footer * { box-sizing: border-box; }
.lc-header ul, .lc-footer ul { list-style: none; margin: 0; padding: 0; }
.lc-header a, .lc-footer a { color: inherit; text-decoration: none; }
.lc-blue { color: var(--lc-blue) !important; font-weight: 900; }

/* ---------- Header ---------- */
.lc-header { position: relative; min-height: 156px; }
.lc-header-bands { position: absolute; left: 0; right: 0; top: 0; z-index: 0; }
.lc-band-top { height: 70px; background: #fff; border-bottom: 1px solid #dcdcdc; }
.lc-band-menu { height: 44px; background: linear-gradient(to bottom, #fcfcfc 0%, #e1e1e1 100%); }
.lc-band-sub { height: 42px; background: linear-gradient(to bottom, var(--lc-cyan) 0%, var(--lc-cyan-end) 100%); }
.lc-header-inner { z-index: 1; min-height: 156px; }
.lc-logo { position: absolute; top: 0; left: -10px; width: 228px; height: 114px; z-index: 2; }
.lc-logo img { display: block; }

.lc-header-right { position: absolute; top: 0; right: -5px; height: 69px; display: flex; flex-direction: row-reverse; align-items: flex-start; }
.lc-hblock { margin-top: 20px; height: 49px; line-height: 15px; text-align: right; }
.lc-hblock strong { font-weight: 900; }
.lc-hsep { width: 1px; height: 69px; margin: 0 22px; background: url('/images/header-trennlinie.jpg') no-repeat; }
.lc-lang { margin-top: 25px; display: flex; align-items: flex-start; gap: 10px; font-size: 12px; color: var(--lc-blue); }
.lc-germany { display: flex; gap: 2px; text-align: left; font-style: italic; font-size: 11px; }
.lc-germany img { margin-top: 3px; }
.lc-iso { margin-top: 17px; }

/* Hauptmenue (graue Leiste) */
.lc-mainmenu { position: absolute; top: 70px; right: -5px; height: 45px; }
.lc-menu { display: flex; }
.lc-menu-item { position: relative; height: 45px; cursor: pointer; }
.lc-menu-item > a { display: block; height: 100%; padding: 13px 19px 0; font-weight: 900; color: var(--lc-text); }
.lc-menu-item:hover, .lc-menu-item.is-active, .lc-menu-item.is-hover { background: var(--lc-cyan); }
.lc-menu-item:hover > a, .lc-menu-item.is-active > a, .lc-menu-item.is-hover > a { color: #fff; }
.lc-menu-item:hover::before, .lc-menu-item.is-active::before, .lc-menu-item.is-hover::before {
    content: ''; position: absolute; top: 0; right: 0; border-top: 18px solid #f5f5f5; border-left: 18px solid var(--lc-cyan);
}

/* Blaue Submenue-Leiste */
.lc-submenus { position: absolute; top: 114px; left: 0; right: 0; height: 42px; }
.lc-submenu { display: none; position: absolute; top: 0; }
.lc-submenu.is-visible { display: flex; }
.lc-submenu-item { position: relative; height: 41px; cursor: pointer; }
.lc-submenu-item > a { display: block; height: 100%; padding: 13px 19px 0; font-family: Orienta, Arial, sans-serif; color: #fff; }
.lc-submenu-item:hover, .lc-submenu-item.is-active, .lc-submenu-item.is-hover { background: var(--lc-teal); }
.lc-submenu-item:hover::before, .lc-submenu-item.is-active::before, .lc-submenu-item.is-hover::before {
    content: ''; position: absolute; top: 0; right: 0; border-top: 18px solid var(--lc-cyan); border-left: 18px solid var(--lc-teal);
}

/* Mega-Panel */
.lc-megapanels { position: absolute; top: 155px; left: 0; right: 0; z-index: 1000; }
.lc-megapanel {
    display: none; position: absolute; top: 0; min-height: 302px; padding: 20px 0 0 20px; margin-bottom: 20px;
    background: var(--lc-teal) url('/images/secondMenu-Bottom-Blue.png') right bottom no-repeat;
}
.lc-megapanel.is-visible { display: flex; animation: lc-fade .2s ease; }
.lc-megapanel-image { position: absolute; top: 0; right: 0; width: 385px; height: 322px; background: url('/images/secondMenu-MenuDefault.png') no-repeat; pointer-events: none; }
.lc-megacol { position: relative; z-index: 1; margin-right: 20px; }
.lc-megacol-2 { display: none; }
.lc-megacol-2.is-visible { display: block; animation: lc-fade .2s ease; }
.lc-megacol li { width: 188px; padding: 9px; border-bottom: 1px solid #4da7b7; font-family: Orienta, Arial, sans-serif; color: #fff; cursor: pointer; }
.lc-megacol li:last-child { border-bottom: 0; }
.lc-megacol li:hover, .lc-megacol li.is-active, .lc-megacol li.is-selected { background: var(--lc-teal-dark); }
.lc-megacol a { display: block; }
@keyframes lc-fade { from { opacity: 0; } to { opacity: 1; } }

/* Breadcrumb */
.lc-breadcrumb { position: relative; padding-top: 186px; display: flex; flex-wrap: wrap; gap: 4px; }
.lc-breadcrumb li { padding: 3px 8px; background: #78a8b8; color: #22526f; font-size: 12px; line-height: 20px; }
.lc-breadcrumb li.is-active { background: #22526f; color: #fff; }

/* Mobiles Menue */
.lc-mobilemenu { display: none; position: absolute; top: 114px; left: 15px; z-index: 10000; }
.lc-burger { width: 44px; height: 42px; padding: 10px 8px; border: 0; background: transparent; cursor: pointer; }
.lc-burger span { display: block; height: 3px; margin: 4px 0; background: #fff; border-radius: 2px; }
.lc-burger:hover, .lc-burger[aria-expanded="true"] { background: var(--lc-teal); }
.lc-mobile-panel { display: none; min-width: 260px; max-width: calc(100vw - 30px); padding: 5px 0; background: #00adcc; border-radius: 0 4px 4px 4px; box-shadow: 0 6px 12px rgba(0,0,0,.175); }
.lc-mobilemenu.is-open .lc-mobile-panel { display: block; }
.lc-mobile-panel ul ul { display: none; padding-left: 15px; }
.lc-mobile-panel li.is-open > ul { display: block; }
.lc-mobile-panel li { position: relative; }
.lc-mobile-panel a { display: block; padding: 6px 44px 6px 20px; color: #fff; }
.lc-mobile-panel a:hover { background: var(--lc-teal); }
.lc-mobile-toggle { position: absolute; top: 0; right: 0; width: 40px; height: 32px; border: 0; background: transparent; cursor: pointer; }
.lc-mobile-toggle::after { content: ''; position: absolute; top: 13px; left: 16px; border: 5px solid transparent; border-top-color: #fff; }
.lc-mobile-panel li.is-open > .lc-mobile-toggle::after { top: 8px; border-top-color: transparent; border-bottom-color: #fff; }

@media (max-width: 1199px) { .lc-lg { display: none; } }
@media (max-width: 991px) {
    .lc-md, .lc-mainmenu, .lc-submenus, .lc-megapanels { display: none; }
    .lc-mobilemenu { display: block; }
    .lc-breadcrumb { padding-top: 174px; }
}
@media (max-width: 767px) {
    .lc-sm { display: none; }
    .lc-logo { left: 0; }
}

/* ---------- Footer ---------- */
.lc-footer-contact { position: relative; min-height: 339px; padding-top: 45px; background: url('/images/footer-background.jpg') repeat-x; }
.lc-contact-title { display: inline-block; padding: 10px 0 20px; font-size: 36px; line-height: 1.1; color: var(--lc-blue); }
.lc-contact-footer p { margin: 0 0 10px; text-align: justify; }
.lc-contact-grid { display: flex; align-items: flex-start; margin-top: 10px; }
.lc-contact-col { font-size: 18px; line-height: 27px; }
.lc-contact-col b { font-weight: 900; }
.lc-contact-head { font-size: 24px; line-height: 34px; color: var(--lc-blue); }
.lc-contact-sep { width: 1px; height: 80px; margin: 0 69px; background: url('/images/kontakt-spacer.jpg') no-repeat; }
@media (max-width: 991px) { .lc-contact-sep { margin: 0 20px; } }
@media (max-width: 767px) { .lc-footer-contact { display: none; } }

.lc-footer-menu { min-height: 778px; background: #55b1cf url('/images/menufooter-background.jpg') top center no-repeat; color: #fff; }
.lc-footermenus { display: flex; padding: 60px 0 40px; }
.lc-footercol { flex: 0 0 auto; }
.lc-footercol + .lc-footercol { border-left: 1px solid #fff; margin-left: 50px; padding-left: 50px; min-height: 250px; }
.lc-footercol-head { margin-top: 19px; padding-bottom: 15px; font-size: 24px; font-weight: 900; }
.lc-footercol li { padding-bottom: 10px; font-size: 18px; }
@media (max-width: 1199px) { .lc-footercol + .lc-footercol { margin-left: 30px; padding-left: 30px; } }
@media (max-width: 991px) { .lc-footercol-4 { display: none; } }
@media (max-width: 767px) { .lc-footermenus { display: none; } }

.lc-footer-band { background: rgba(37, 127, 156, .6); color: #134f63; }
.lc-footer-band + .lc-footer-band { border-top: 1px solid #3186a1; }
.lc-bottombar { position: relative; min-height: 90px; padding: 30px 0; }
.lc-bottombar-links a { font-weight: 900; color: #134f63; }
.lc-copyright { display: block; margin-top: 3px; }
.lc-twitter { position: absolute; right: 0; top: 30px; }
.lc-vat { padding: 20px 0; font-size: 12px; font-weight: 700; }
.lc-footer-end { min-height: 0; }

/* Nach-oben-Button */
.lc-totop {
    display: none; position: fixed; right: 20px; bottom: 25px; z-index: 10000; min-width: 52px; padding-top: 35px;
    background: url('/images/nachoben.png') no-repeat center top; font: 700 12px Roboto, Arial, sans-serif; color: #7f7f7f; text-align: center; cursor: pointer;
}
.lc-totop.is-visible { display: block; }
@media (max-width: 767px) { .lc-totop.is-visible { display: none; } }

/* ---------- Inhalt der Divi-Seiten im Stil der alten Seite ---------- */
body.lcube-divi { font-family: Roboto, Arial, sans-serif; } /* lokal gehostet; Google Fonts sind in Divi abgeschaltet */
body.lcube-divi #main-content, body.lcube-divi .et_pb_section { background-color: transparent; }
body.lcube-divi #page-container { padding-top: 0 !important; }
body.lcube-divi .et_pb_row { width: 100%; max-width: var(--lc-container); padding-left: 15px; padding-right: 15px; }
body.lcube-divi .lc-content, body.lcube-divi .et_pb_text { font-family: Roboto, Arial, sans-serif; font-size: 14px; line-height: 25px; color: var(--lc-content); text-align: justify; }
body.lcube-divi .et_pb_text h1 { font-family: Roboto, Arial, sans-serif; font-weight: 400; font-size: 48px; line-height: 1.1; color: var(--lc-content); text-align: left; margin: 0 0 10px; padding: 0; }
body.lcube-divi .et_pb_text h2, body.lcube-divi .et_pb_text h3, body.lcube-divi .et_pb_text h4 { font-family: Roboto, Arial, sans-serif; font-weight: 900; font-size: 28px; line-height: 1.1; color: var(--lc-content); text-align: left; margin: 0 0 10px; padding: 0; }
body.lcube-divi .et_pb_text a { color: var(--lc-cyan); }
body.lcube-divi .et_pb_text a:hover { color: var(--lc-content); text-decoration: underline; }
@media (max-width: 767px) { body.lcube-divi .et_pb_text h1 { font-size: 28px; } }

/* FAQ aus Listen ([lcube_faq]) */
.lcube-faq-item { border-bottom: 1px solid #e5e5e5; }
.lcube-faq-item summary { padding: 12px 30px 12px 0; cursor: pointer; font-weight: 900; font-size: 18px; color: var(--lc-content); list-style: none; position: relative; }
.lcube-faq-item summary::-webkit-details-marker { display: none; }
.lcube-faq-item summary::after { content: '+'; position: absolute; right: 5px; top: 8px; font-size: 24px; color: var(--lc-cyan); }
.lcube-faq-item[open] summary::after { content: '\2212'; }
.lcube-faq-answer { padding: 0 0 15px; }

/* Divi-Abstaende in den Header/Footer-Abschnitten des Theme Builders aufheben */
.et_pb_section.lc-chrome { padding: 0 !important; background-color: transparent; }
.et_pb_section.lc-chrome .et_pb_row { padding: 0 !important; }
.et_pb_section.lc-chrome .et_pb_module { margin-bottom: 0 !important; }
.et_pb_row.lc-fullrow { width: 100% !important; max-width: none !important; padding: 0 !important; }
.et_pb_section.lc-footer-menu { background: #55b1cf url('/images/menufooter-background.jpg') top center no-repeat !important; }
.et_pb_section.lc-footer-contact { background: url('/images/footer-background.jpg') repeat-x !important; }
/* Menue und Leisten in einem Block wie im alten CMS (#footerbackground, min. 778px); die Leisten
   sind Zeilen, ihr Band reicht per Schatten ueber die volle Breite, die letzte fuellt den Rest. */
.et_pb_section.lc-footer-menu { display: flex; flex-direction: column; gap: 0 !important; min-height: 778px; overflow-x: hidden; overflow-x: clip; } /* Baender/Linie ragen sonst ueber den Rand (seitliches Scrollen auf dem Handy) */
.et_pb_section.lc-footer-menu > .et_pb_row { margin-top: 0 !important; margin-bottom: 0 !important; }
.et_pb_row.lc-footer-band { background: rgba(37, 127, 156, .6); box-shadow: 0 0 0 100vmax rgba(37, 127, 156, .6); clip-path: inset(0 -100vmax); }
.et_pb_row.lc-footer-band + .lc-footer-band { border-top: 0; }
.et_pb_row.lc-footer-band + .lc-footer-band::before { content: ''; position: absolute; top: 0; left: -100vmax; right: -100vmax; border-top: 1px solid #3186a1; }
.et_pb_row.lc-footer-end { flex: 1 0 auto; }

/* Divi setzt in Code-Modulen Aufzaehlungszeichen und Einrueckungen fuer Listen */
.lc-header ul, .lc-header li, .lc-footer ul, .lc-footer li { list-style: none !important; margin-left: 0; padding-left: 0; }
.lc-header li::before, .lc-footer li::before { content: none; }
.lc-header .lc-menu-item::before, .lc-header .lc-submenu-item::before { content: none; }
.lc-header .lc-menu-item:hover::before, .lc-header .lc-menu-item.is-active::before, .lc-header .lc-menu-item.is-hover::before,
.lc-header .lc-submenu-item:hover::before, .lc-header .lc-submenu-item.is-active::before, .lc-header .lc-submenu-item.is-hover::before { content: ''; }
.lc-megacol li { padding: 9px !important; }
.lc-breadcrumb li { padding: 3px 8px !important; }

/* Divi rueckt Listen in Code-Modulen ein (padding 0 0 23px 1em), das verschob Submenue und Mega-Panel */
.lc-header ul, .lc-footer ul { padding: 0 !important; margin: 0 !important; }

/* ---------- Bausteine im Inhalt (Konverter) ---------- */
body.lcube-divi .et_pb_section.lc-content { padding: 15px 0; }
body.lcube-divi .lc-content .et_pb_row { padding: 0 15px; }
body.lcube-divi .lc-content .et_pb_module { margin-bottom: 0; }

/* Preis-/Bestellpfeil */
.lc-preispfeil { display: inline-flex; align-items: stretch; height: 73px; margin: 10px 0; white-space: nowrap; font-family: Roboto, Arial, sans-serif; }
.lc-pp-preis { position: relative; padding: 12px 30px 0 45px; background: #60c3d8; color: #fff; font-weight: 900; font-size: 40px; line-height: 40px; text-shadow: 3px 3px 1px #888; }
.lc-pp-preis span { display: block; font-size: 10px; line-height: 14px; font-weight: 400; text-shadow: none; }
.lc-pp-preis::after { content: ''; position: absolute; top: 0; right: -23px; border-style: solid; border-width: 36.5px 0 36.5px 23px; border-color: transparent transparent transparent #60c3d8; z-index: 1; }
.lc-pp-link { position: relative; display: block; padding: 24px 25px 0 45px; background: #e8e8e8; color: #8d8d8d !important; font-weight: 700; font-size: 18px; text-shadow: 2px 2px 1px #fff; text-decoration: none !important; }
.lc-pp-link::after { content: ''; position: absolute; top: 0; right: -22px; border-style: solid; border-width: 36.5px 0 36.5px 22px; border-color: transparent transparent transparent #e8e8e8; }
.lc-pp-link:hover { color: #5f5f5f !important; }
@media (max-width: 767px) { .lc-pp-preis { font-size: 20px; padding: 23px 20px 0 20px; } .lc-pp-link { font-size: 12px; } }

/* Option-Pfeil */
.lc-option { position: relative; display: inline-block; height: 36px; margin: 0 20px 10px 0; padding: 0 13px; background: #60c3d8; color: #fff; font: 400 18px/36px Roboto, Arial, sans-serif; }
.lc-option::after { content: ''; position: absolute; top: 0; right: -10px; border-style: solid; border-width: 18px 0 18px 10px; border-color: transparent transparent transparent #60c3d8; }

/* "Was Sie bekommen"-Banner */
.lc-banner { position: relative; height: 67px; margin: 0 0 10px; text-align: center; }
.lc-banner::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 56px; background: #f3f3f3; }
.lc-banner span { position: relative; display: inline-block; width: 231px; height: 67px; padding-top: 13px; background: url('/images/wassiebekommen.png') no-repeat; color: #fff; font: 700 18px Roboto, Arial, sans-serif; }

/* Feature-Kacheln */
body.lcube-divi .lc-tile-row { border-bottom: 1px solid #e5e5e5; }
/* Senkrechte Trennlinie genau in der Zeilenmitte (unter der Pfeilspitze von "Was Sie bekommen"), nicht am Spaltenrand vor dem Divi-Spaltenabstand */
body.lcube-divi .lc-tile-row { position: relative; }
body.lcube-divi .lc-tile-row::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; border-left: 1px solid #e5e5e5; }
@media (max-width: 767px) { body.lcube-divi .lc-tile-row::before { display: none; } }
body.lcube-divi .lc-tile { padding: 40px 20px; color: #7f7f7f; text-align: justify; }
body.lcube-divi .lc-tile .et_pb_module_header, body.lcube-divi .lc-tile h2 { font: 400 30px/1.1 Roboto, Arial, sans-serif; color: #7f7f7f; padding-bottom: 10px; }
body.lcube-divi .lc-tile .et_pb_blurb_description, body.lcube-divi .lc-tile .et_pb_blurb_description p { font-size: 14px; line-height: 25px; text-align: justify; }
body.lcube-divi .lc-tile .et_pb_main_blurb_image { display: none; }
body.lcube-divi .lc-tile .lc-option { display: table; } /* eigene Zeile, darunter Bild links umflossen */
body.lcube-divi .lc-tile img.float-left { float: left; margin: 10px; }
body.lcube-divi .lc-tile .et_pb_blurb_description::after { content: ''; display: block; clear: both; }
body.lcube-divi .lc-bild img { display: block; margin: 0 auto; }
@media (max-width: 767px) { body.lcube-divi .lc-bild { display: none; } }

/* Preistabellen im Stil des alten Paketvergleichs */
body.lcube-divi .lc-pricing .et_pb_pricing_table { border: 0; background: #fff; text-align: center; box-shadow: 0 0 0 1px #e5e5e5; }
body.lcube-divi .lc-pricing .et_pb_pricing_heading { padding: 20px 10px 10px; background: linear-gradient(to bottom, #7fd1e1 0%, #55b8cc 100%); }
body.lcube-divi .lc-pricing .et_pb_pricing_title { font: italic 400 21px Orienta, Arial, sans-serif; color: #fff; text-shadow: 1px 1px #888; }
body.lcube-divi .lc-pricing .et_pb_best_value { font: 400 21px Orienta, Arial, sans-serif; color: #076584; text-shadow: 1px 1px #fff; }
body.lcube-divi .lc-pricing .et_pb_pricing_content_top { padding: 10px 10px 20px; background: #55b8cc; border-bottom: 0; }
body.lcube-divi .lc-pricing .et_pb_sum { font: 900 40px/40px Roboto, Arial, sans-serif; color: #fff; text-shadow: 3px 3px 1px #888; }
body.lcube-divi .lc-pricing .et_pb_dollar_sign { color: #fff; font-weight: 900; }
body.lcube-divi .lc-pricing .et_pb_frequency { display: block; color: #fff; font-size: 12px; }
body.lcube-divi .lc-pricing .et_pb_pricing li { padding: 8px 10px; border-bottom: 1px solid #eee; font-size: 14px; color: #737373; text-align: center; }
body.lcube-divi .lc-pricing .et_pb_pricing li::before { display: none; }
body.lcube-divi .lc-pricing .et_pb_pricing li a.lc-more { font: 400 18px Orienta, Arial, sans-serif; color: #9b9b9b; text-transform: uppercase; }
body.lcube-divi .lc-pricing .et_pb_button { background: #63c5da; border: 0; border-radius: 0; color: #fff; font: 400 18px Orienta, Arial, sans-serif; }
body.lcube-divi .lc-pricing .et_pb_button:hover { background: #04687c; }

/* Breadcrumb: Abstand nach oben (die Listen-Regel oben setzt padding sonst auf 0) */
.lc-header ul.lc-breadcrumb { padding: 0 !important; margin: 186px 0 0 !important; } /* Aussenabstand: Innenabstand wuerde ueber dem Menue liegen und Klicks abfangen */
@media (max-width: 991px) { .lc-header ul.lc-breadcrumb { margin-top: 174px !important; } }
body.lcube-divi .et_pb_section.lc-content:first-of-type { padding-top: 30px; }

/* Preistabellen: keine Aufzaehlungszeichen, Preis mit Euro dahinter */
body.lcube-divi .lc-pricing .et_pb_pricing li, body.lcube-divi .lc-pricing .et_pb_pricing li span { padding-left: 0 !important; }
body.lcube-divi .lc-pricing .et_pb_pricing li::before, body.lcube-divi .lc-pricing .et_pb_pricing li span::before { content: none !important; display: none !important; }

/* Paketvergleich als Karussell */
body.lcube-divi .lc-pricing-carousel .et_pb_group { padding: 0 15px; }
body.lcube-divi .lc-pricing-carousel .lc-pricing { margin-bottom: 0; }

body.lcube-divi .lc-pricing .et_pb_frequency_slash { display: none; }

/* Banner der Inhaltsseiten (wie #slider-content der alten Seite): Hintergrund der Seite ab 156px,
   damit er hinter Breadcrumb und Inhalt liegt und nichts ueberdeckt */
body.lcube-divi { position: relative; background: #fff; }
body.lcube-divi::before { content: ''; position: absolute; top: 156px; left: 0; right: 0; height: 519px; z-index: -1; background: url('/images/header-background.webp') center top / 100% no-repeat; }
body.lcube-divi #page-container, body.lcube-divi #et-main-area, body.lcube-divi #main-content,
body.lcube-divi .et-l--body, body.lcube-divi .et-l--header, body.lcube-divi .et_builder_inner_content { background: transparent !important; }
.lc-header-inner { display: flow-root; } /* verhindert, dass der Aussenabstand der Breadcrumb den Header verschiebt */

/* Handy: Kontakt im Footer ausblenden wie im alten CMS (Divi setzt display am Abschnitt), Kopfleiste nicht ueber den Rand */
@media (max-width: 767px) {
    .et_pb_section.lc-footer-contact { display: none !important; }
}
/* Unter Containerbreite + Ueberstand: Kopfleiste und Menue buendig statt 5px ueber den Rand */
@media (max-width: 1034px) { .lc-header-right, .lc-mainmenu { right: 0; } }

/* ---------- Startseite (body.lcube-home) ---------- */
body.lcube-home::before { display: none; } /* kein Kopf-Banner der Unterseiten, dafuer der Slider */
.lcube-home .lc-header ul.lc-breadcrumb { display: none; }
.lcube-home .lc-header { min-height: 156px; }
.lcube-home .lc-header ul.lc-breadcrumb + * { margin-top: 0; }

/* Slider: Bild 1920px breit oben mittig, Textkasten rechts wie im alten CMS */
/* Die Bilder sind oben transparent und lagen im alten CMS 43px hoeher ueber dem blauen Menueband */
.et_pb_section.lc-home-slider-section { padding: 0 !important; margin-top: -43px; position: relative; z-index: 1; }
.lc-home-slider, .lc-home-slider .et_pb_slides { background: transparent !important; }
/* Der Kopf im Slider ragt wie im alten CMS ueber das blaue Band: Header-Baender (z-index 0) liegen
   unter dem Slider, Logo/Menue/Mega-Menue (.lc-header-inner) darueber. Dafuer duerfen die Divi-
   Huellen des Headers keinen eigenen Stapelkontext bilden. */
.lcube-home .et-l--header, .lcube-home .et-l--header .et_builder_inner_content, .lcube-home .lc-header-section,
.lcube-home .lc-header-section .et_pb_row, .lcube-home .lc-header-section .et_pb_column, .lcube-home .lc-header-section .et_pb_module,
.lcube-home .lc-header { z-index: auto !important; transform: none !important; }
.lcube-home .lc-header-inner { position: relative; z-index: 30; }
.lc-home-slider, .lc-home-slider .et_pb_slides, .lc-home-slider .et_pb_slide { height: 519px; min-height: 519px; }
.lc-home-slider .et_pb_slide { padding: 0 !important; background-size: 1920px auto !important; background-position: top center !important; background-color: transparent !important; }
.lc-home-slider .et_pb_container { position: relative; width: 100%; max-width: var(--lc-container); height: 519px !important; margin: 0 auto; padding: 0 15px; }
.lc-home-slider .et_pb_slider_container_inner, .lc-home-slider .et_pb_slide_description { position: static; display: block; padding: 0 !important; text-align: left; }
.lc-home-slider .et_pb_slide_content {
    position: absolute; top: 130px; right: -10px; padding: 10px; border-radius: 10px; background: rgba(0, 0, 0, .5);
    box-shadow: 5px 5px 5px rgba(68, 68, 68, .6); font: 400 60px/60px Roboto, Arial, sans-serif; color: #fff; text-shadow: 3px 3px 1px #888;
}
.lc-home-slider .et_pb_slide_content h1, .lc-home-slider .et_pb_slide_content .lc-slide-h1 { margin: 0; padding: 0; font: 900 60px/60px Roboto, Arial, sans-serif; color: #fff; }
.lc-home-slider .et_pb_slide_content strong { font-weight: 900; }
.lc-home-slider .et_pb_slide_content .klein { font-size: 36px; }
.lc-home-slider .et-pb-controllers { bottom: 205px; }
.lc-home-slider .et-pb-arrow-prev, .lc-home-slider .et-pb-arrow-next { top: 35%; }
@media (max-width: 991px) { .lc-home-slider .et_pb_slide_content { right: 10px; } }
@media (max-width: 767px) {
    .lc-home-slider, .lc-home-slider .et_pb_slides, .lc-home-slider .et_pb_slide, .lc-home-slider .et_pb_container { height: 240px !important; min-height: 240px; }
    .lc-home-slider .et_pb_slide { background-size: cover !important; }
    body.lcube-divi .lc-home-slider .et_pb_slide_description, body.lcube-divi .lc-home-slider .et_pb_slide_content { display: none !important; }
    .lc-home-slider .et-pb-controllers { bottom: 10px; }
}

/* Paket-Kaesten ueberlappen den Slider (alter #slider-spacer: 332px) */
.et_pb_section.lc-home-boxes { position: relative; z-index: 2; margin-top: -107px; }
@media (max-width: 767px) { .et_pb_section.lc-home-boxes { margin-top: 0; } }

/* Produktkaesten: Rahmen mit Schatten, Ueberschrift gross grau, Bild mittig */
.lc-home-packages .et_pb_row.lc-home-package { margin-bottom: 55px; padding: 30px !important; border: 1px solid #dfdfdf; box-shadow: 5px 5px 5px #dfdfdf; background: #fff; align-items: center; }
.lc-home-packages .lc-hp-text h2 { font: 400 48px/1.1 Roboto, Arial, sans-serif !important; color: #7f7f7f !important; margin: 0 0 10px; }
.lc-home-packages .lc-hp-text p { line-height: 180%; text-align: justify; }
.lc-home-packages .lc-hp-rechts h2 { text-align: right !important; }
.lc-home-packages .lc-hp-rechts .lc-preispfeil { float: right; }
.lc-home-packages .lc-hp-text::after { content: ''; display: block; clear: both; }
.lc-home-packages .et_pb_image { text-align: center; }
@media (max-width: 767px) {
    .lc-home-packages .et_pb_row.lc-home-package { padding: 10px !important; }
    .lc-home-packages .lc-hp-text h2 { font-size: 28px !important; }
    .lc-home-packages .et_pb_image { display: none; }
}

/* "Professional Hosting, made in Germany" */
.lc-ueberlcube .et_pb_row { align-items: center; }
.lc-ueberlcube h2 { font: 900 36px/1.1 Roboto, Arial, sans-serif !important; color: var(--lc-blue) !important; }
@media (max-width: 767px) { .lc-ueberlcube .et_pb_image { display: none; } }

/* Preispfeil: Zusatzzeile im Link, gespiegelte Variante (rechtsbuendig) */
.lc-pp-link.has-zusatz { padding-top: 16px; line-height: 22px; }
.lc-pp-link small { display: block; font-size: 10px; line-height: 12px; font-weight: 400; text-shadow: none; }
.lc-preispfeil.is-rechts { flex-direction: row-reverse; }
.lc-preispfeil.is-rechts .lc-pp-preis { padding: 12px 45px 0 30px; }
.lc-preispfeil.is-rechts .lc-pp-preis::after { right: auto; left: -23px; border-width: 36.5px 23px 36.5px 0; border-color: transparent #60c3d8 transparent transparent; }
.lc-preispfeil.is-rechts .lc-pp-link { padding-left: 25px; padding-right: 45px; }
.lc-preispfeil.is-rechts .lc-pp-link::after { right: auto; left: -22px; border-width: 36.5px 22px 36.5px 0; border-color: transparent #e8e8e8 transparent transparent; }

/* Paket-Kaesten der Startseite mit den Grafiken des alten CMS (228px breit): Kopf mit Name und
   Preis in Pfeilform, Merkmalszeilen, Abschluss mit "MEHR INFOS" und Haken */
body.lcube-divi .lc-home-boxes-carousel .lc-pricing .et_pb_pricing_table {
    width: 228px; margin: 0 auto; padding: 0; border: 0; box-shadow: none; background: url('/images/kasten-blau.png') top center no-repeat;
}
body.lcube-divi .lc-home-boxes-carousel .et_pb_pricing_table, body.lcube-divi .lc-home-boxes-carousel .et_pb_pricing_table * { gap: 0 !important; } /* Divi-5-Flexabstand */
body.lcube-divi .lc-home-boxes-carousel .et_pb_pricing_heading { height: 57px; padding: 17px 0 0; background: none; border: 0; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_pricing_title { margin: 0; padding: 0; font: 400 21px/24px Orienta, Arial, sans-serif; font-style: normal; color: #076584; text-shadow: 1px 1px #fff; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_best_value { display: none; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_pricing_content_top { height: 99px; padding: 10px 0 0; background: none; border: 0; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_et_price { padding: 0; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_sum { font: 900 40px/40px Roboto, Arial, sans-serif; color: #fff; text-shadow: 3px 3px 1px #888; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_frequency { margin-top: 2px; font-size: 12px; line-height: 14px; color: #fff; text-shadow: 1px 1px 1px #888; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_dollar_sign { display: none; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_pricing_content { padding: 0 !important; background: none; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_pricing_content ul { margin: 0 !important; padding: 0 !important; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_pricing li {
    height: 36px; padding: 10px 6px 0 !important; border: 0; background: url('/images/kasten-textzeile.png') no-repeat;
    font: 400 14px/18px Roboto, Arial, sans-serif; color: #737373; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body.lcube-divi .lc-home-boxes-carousel .et_pb_button_wrapper { height: 110px; margin: 0; padding: 30px 0 0; background: url('/images/kasten-bottom.png') top center no-repeat; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_button { display: inline-block; margin: 0; padding: 0 !important; border: 0; background: none !important; font: 400 21px Orienta, Arial, sans-serif; color: #9b9b9b !important; text-transform: uppercase; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_button::after { content: ''; display: block; position: static; width: 50px; height: 13px; margin: 2px auto 0; opacity: 1; background: url('/images/kasten-mehrinfos.png') no-repeat; }
body.lcube-divi .lc-home-boxes-carousel .et_pb_button:hover { color: #5b5b5b !important; }

/* Slider-Text ohne Einblend-Animation von unten (stand im alten CMS fest) */
.lc-home-slider .et_pb_slide_description, .lc-home-slider .et_pb_slide_content, .lc-home-slider .et_pb_slider_container_inner {
    animation: none !important; transform: none !important; margin: 0 !important; opacity: 1 !important;
}

/* Textblock mit Bannerbild darunter ({BILDTEXT} untereinander) und Trennlinie unter Bloecken */
body.lcube-divi .et_pb_row.lc-underline { border-bottom: 1px solid #e5e5e5; padding-bottom: 30px !important; }
body.lcube-divi .lc-bildtext-untereinander { padding-top: 30px !important; }
.lc-bildbanner { position: relative; margin-top: 30px; }
.lc-bildbanner img { display: block; width: 100%; height: auto; }
.lc-bildbanner-titel { position: absolute; top: 61px; left: 35px; font: 400 48px/1.1 Roboto, Arial, sans-serif; color: #fff; }
.lc-bildbanner .lc-preispfeil { position: absolute; bottom: 10%; right: 32%; margin: 0; } /* Bild ist unten teils transparent (Serverturm ragt heraus) */
@media (max-width: 991px) { .lc-bildbanner-titel { top: 25px; font-size: 36px; } .lc-bildbanner .lc-preispfeil { right: 25%; } }
@media (max-width: 767px) {
    .lc-bildbanner-titel { top: 15px; left: 10px; font-size: 28px; }
    .lc-bildbanner .lc-preispfeil { position: static; display: flex; margin-top: 10px; }
}

/* Kachelzeilen ohne Divi-Abstand dazwischen: senkrechte und waagerechte Linien stossen wie im alten CMS aneinander */
body.lcube-divi .et_pb_section.lc-tiles { gap: 0 !important; row-gap: 0 !important; }
body.lcube-divi .et_pb_section.lc-tiles > .et_pb_row { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ul.zweispalten aus dem alten CMS: Bild links (40%), Text rechts, ohne Aufzaehlungspunkte */
body.lcube-divi ul.zweispalten { display: flex; gap: 20px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.lcube-divi ul.zweispalten > li { margin: 0; padding: 0 !important; list-style: none !important; }
body.lcube-divi ul.zweispalten > li::before { content: none !important; display: none !important; }
body.lcube-divi ul.zweispalten > li:first-child { flex: 0 0 40%; }
body.lcube-divi ul.zweispalten > li:last-child { flex: 1 1 auto; }
body.lcube-divi ul.zweispalten > li img { width: 100% !important; float: none !important; margin: 0 !important; }
@media (max-width: 767px) { body.lcube-divi ul.zweispalten { display: block; } body.lcube-divi ul.zweispalten > li img { max-width: 200px; } }

/* "Was Sie bekommen": die Trennlinie der Kacheln beginnt direkt unter der Pfeilspitze (ohne Abschnittsabstaende) */
body.lcube-divi .et_pb_section.lc-banner-section { padding-bottom: 0 !important; }
body.lcube-divi .et_pb_section.lc-banner-section .lc-banner { margin-bottom: 0; }
body.lcube-divi .et_pb_section.lc-banner-section + .et_pb_section.lc-tiles { padding-top: 0 !important; }
