#header ul.level_1 li:hover {box-shadow: inset 0 0 0 1px #fff;}
ul.level_2 li.active {background-color: #fff !important;}
.block_waerme {background-color:#FFE9E9;}
.block_wasser {background-color:#EBF4FC;}
.mit_rahmen {border:1px solid #000;padding:0px;margin-bottom:50px;}
.mit_rahmen input, .mit_rahmen textarea {border-radius:10px;}
.mit_rahmen input.text, .mit_rahmen textarea {border: 1px solid #000;}
.mit_rahmen legend {margin-bottom: 0px;  font-size: 16px;line-height: inherit;color: #000;border-bottom:none;}
.mit_rahmen #ctrl_39 {padding:0 5px;}
.mit_rahmen #ctrl_39 span {float:left;margin-right:15px;}
.mit_rahmen #ctrl_39 span label {font-weight: normal}
.mit_rahmen #ctrl_39 span.invisible {display:none!important;}
.mit_rahmen .submit {background-color: #104C8B;border-radius:10px;margin-bottom:20px;}
.formular_datenschutz {font-size:14px;}
.formular_datenschutz a {text-decoration:underline;}
.flex-item img {height:200px; width:auto;}
.footertxt {color:#fff;}
.center {text-align:center;}
.center img {margin:auto;}
.p1 {padding:0;margin:30px 0;}
.InsideOut {padding:30px 0;}
.Bg-darkgrey {background-color:#3E3E3F;margin:40px 0;font-size:20px;}
.Bg-darkgrey h2, .Bg-darkgrey p, .Bg-darkgrey li {color:#fff!important;}
.Bg-lightgrey {background-color:#BCBDC0;margin-bottom:40px}
.fontsize20 {font-size:20px;}
ul.graue-haken, ul.mit-sternen {list-style: none; padding-left: 0;}
ul.graue-haken li, ul.mit-sternen li {position: relative; padding-left: 40px;margin-bottom: 8px;margin-left:3px;}
ul.graue-haken li::before, ul.mit-sternen li::before {
  content: ""; /* Notwendig für das Pseudo-Element */
  position: absolute;
  left: 0;
  top: 2px;
  width: 25px; /* Breite des Icons anpassen */
  height: 25px; /* Höhe des Icons anpassen */
  background-size: contain; /* Icon passt sich in die Box ein */
  background-repeat: no-repeat;
  background-position: center;
}
ul.graue-haken li::before {background-image: url('../layout/Symbol_Haekchen.png');}
ul.mit-sternen li::before {background-image: url('../layout/Symbol_Stern.png');}

.newscontainer .container {height:0;}
.plenta-tooltip::before {content: "";}
.header-kiste {height:60px;}
.header-kiste.bg-red {background-color:#D91D20;}
.header-kiste h2 a {color:#fff;display:block}
.header-kiste h2 a {margin:0;padding:0;text-transform:none;font-size: 1.75rem;line-height: 2rem; margin: 0; padding: 0; text-align: left;}
.header-kiste.bg-blue {background-color:#004D8E;}
.header-kiste img {height:60px!important;width:auto;padding:10px;}
.bg-grau {background-color:#3E3E3F;color:#fff;text-align:left;padding: 15px 15px 15px 20px;  min-height: 190px;}
.content-image img, .content-text img {max-width: 100%;height: auto;display: block;}
.bewertungsslider .swiper-slide {padding:20px;}
.color-white h2, .color-white p {color:#fff;}

_.inforahmen {border-radius:20px;border:4px solid #104C8B;width: fit-content;max-width: 100%;margin: 0 auto;margin-top:20px;}
_.inforahmen img {height: 140px;  width: auto; background-color:#104C8B;padding:15px 20px 15px 15px;}
_.inforahmen .rte {overflow-x: auto;}
_.inforahmen .rte h2 {white-space: nowrap;padding:15px 60px 15px 40px;}

.inforahmen {
  border-radius: 20px;
  border: 4px solid #104C8B;
  max-width: 100%;
  margin: 20px auto;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

/* Bild */
.inforahmen img {
  height: 140px;
  width: auto;
  background-color: #104C8B;
  padding: 15px 20px 15px 15px;
  box-sizing: border-box;
}

/* Textbereich */
.inforahmen .rte {overflow: hidden;}
.inforahmen .rte h2 {padding: 15px 60px 15px 40px;margin: 0;white-space: normal; /* wichtig für Skalierung */}
/* Rahmen darf nicht breiter als sein Inhalt werden */
.inforahmen {width: max-content;max-width: 100%;}
/* Text darf den Rahmen nicht künstlich verbreitern */
.inforahmen .rte {min-width: 0;}
/* Überschrift bestimmt die Breite */
.inforahmen .rte h2 {display: inline-block; max-width: 100%;}
/* Sicherheit: kein erzwungenes Wachstum durch Flex */
.inforahmen > * {flex-shrink: 1;}
.size-xl {font-size: clamp(1.2rem, 3.5vw, 3rem);line-height: clamp(1.6rem, 4vw, 4rem);}
.inforahmen .rte h2 {display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
.inforahmen figure {flex: 0 0 auto;}
.inforahmen img {height: clamp(70px, 18vw, 140px);width: auto;}

/* ============================= */
/* Skalierung ab 1024px ↓        */
/* ============================= */
@media (max-width: 1024px) {
  .inforahmen img {height: 120px;}
  .inforahmen .rte h2 {padding: 15px 40px 15px 30px;}
}
@media (max-width: 768px) {
  .inforahmen img { height: 100px;}
  .inforahmen .rte h2 {padding: 12px 30px;}
}
@media (max-width: 600px) {
  .inforahmen {align-items: center;}
  .inforahmen .rte h2 {padding: 12px 16px;text-align: center;}
}
@media (max-width: 520px) {
  .size-xl {font-size: clamp(1.05rem, 4vw, 1.4rem);line-height: 1.35;}
  .inforahmen .rte h2 {padding: 10px 12px;}
  .inforahmen img {height: 60px;padding: 10px;  }
  .inforahmen .rte {max-width: 100%;}
  .inforahmen .rte h2 {max-width: 100%;}   
  .inforahmen .rte h2 {-webkit-line-clamp: 2;}
}
@media (max-width: 480px) {
  .inforahmen {text-align: center;}
  .inforahmen img {height: 75px;padding: 10px;  }
  .inforahmen .rte h2 {padding: 15px 10px;}
}
@media (max-width: 430px)  {
  .size-xl {font-size: clamp(1rem, 3.5vw, 1.1rem);line-height: 1.25;  }
  .inforahmen .rte h2 { padding: 8px 10px; }
  .inforahmen img {height: 55px;padding: 8px;}
  .inforahmen .rte h2 {max-width: 100%;}
}
/* ============================= */
.media--left figure {float:left;}
.roter-rahmen > .container{border:4px solid #D91D20;}
#header .mainnavi ul.level_2 li a:hover, #header .mainnavi ul.level_2 li span:hover {  color:#000;background-color:#fff;}
span.forward, ul.level_2 span.active {  color: #000 !important;background-color:#fff!important;}
.news-header::after {content: none !important;}
#main b, #main strong {color: black;}

#main .content-image img {
  width: 100% !important; /* !important nur wenn nötig */
  height: auto !important;
  max-width: none !important;
}
.start_overlay, .textoverlay {position: relative;}
.start_overlay .rte, .textoverlay .rte {
  position: absolute;
  background: rgba(62, 62, 63, 0.85);
  padding: 20px;
  box-sizing: border-box;
}
.start_overlay .rte p, .textoverlay .rte p {margin: 0;color:#fff;}
.start_overlay .rte, .textoverlay .rte {font-size: clamp(14px, 1.6vw, 20px);}
.textoverlay .rte {top: clamp(15px, 4vw, 40px);left: clamp(25px, 6vw, 110px);}
.textoverlay .rte {width: clamp(250px, 50vw, 500px);}

.start_overlay .rte {padding: 0px 20px 10px 20px; background-color: rgba(0,56,123,0.70);border-radius: 15px;}
.start_overlay .rte {top: clamp(50px, 15.6vw, 300px); left: clamp(20px, 52.08vw, 1000px);}
.start_overlay .rte {width: clamp(350px, 26.04vw, 600px);}
.start_overlay .rte h2 {font-size: clamp(16px, 2vw, 26px);line-height: 1.3;margin: 0 0 10px 0;}


/* =========================================
   TEXT OVERLAY – relativ zur .container
   ========================================= */

/* Container als Bezugspunkt */
.mod_article.textoverlay2 .container {position: relative;}
.mod_article.textoverlay2 .container h2 {  color: #000!important;}
/* Bild */
.mod_article.textoverlay2 figure {
  margin: 0;
}
.mod_article.textoverlay2 img {
  display: block;
  width: 100%;
  height: auto;
}
/* h2 + RTE absolut positionieren */
.mod_article.textoverlay2 h2,
.mod_article.textoverlay2 .rte {
  position: absolute;
  z-index: 2;
  color: #fff;
}
/* Position Überschrift */
.mod_article.textoverlay2 h2 {
  top: 10%;
  left: 40%;
  max-width: 50%;
}
/* Position RTE */
.mod_article.textoverlay2 .rte {
  top: 30%;
  left: 40%;
  max-width: 50%;
}

/* RTE-Text & Listen */
.mod_article.textoverlay2 .rte,
.mod_article.textoverlay2 .rte li {
  color: #000!important;
}
/* Basis für die nummerierte Liste in .textoverlay2 */
.textoverlay2 ol {
  counter-reset: item;
  list-style: none;
  padding-left: 0; /* Padding entfernen */
}

/* Jedes Listenelement */
.textoverlay2 ol li {
  counter-increment: item;
  position: relative;
  padding-left: 3em; /* Platz für den Kreis links */
  margin-bottom: 1em;
  color: #000; /* Textfarbe */
}

/* Kreis mit Zahl davor */
.textoverlay2 ol li::before {
  content: counter(item);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background-color: #004D8E; /* Blau */
  color: #fff; /* Zahl in weiß */
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

/* Jeder zweite Kreis rot */
.textoverlay2 ol li:nth-child(2n)::before {
  background-color: #D91D20; /* Rot */
}
/* Kreis mit Zahl + Punkt davor */
.textoverlay2 ol li::before {
  content: counter(item) "."; /* Hier den Punkt hinzufügen */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  height: 2em;
  border-radius: 50%;
  color: #fff; /* Zahl in weiß */
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
/* =========================================
   RESPONSIVE – Mobil fallback
   ========================================= */
@media (max-width: 768px) {
  .mod_article.textoverlay2 h2,
  .mod_article.textoverlay2 .rte {
    position: static;
    max-width: 100%;
    color: #000;
  }

  .mod_article.textoverlay2 .container::after {
    display: none;
  }
}
