/* LAYOUT */

@media (max-width: 576px) {
  .logo-image-phone {
    height: 76px !important;
    margin-top: 20px;
  }
}

.view-article #sp-main-body {
  padding-top: 90px;
}

/* Allgemeine Regel für col-lg-8 */
@media (min-width: 768px) {
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
}

@media (min-width: 992px) {
  .col-lg-4 {
    flex: 0 0 auto;
    width: 20.33333333%;
  }
}

/* Einheitliche Breite für Einstiegsseite und Artikelseite */
.view-category #sp-main-body .container,
.view-article #sp-main-body .container {
  max-width: 100% !important; /* Volle Breite des Containers */
  padding-left: 50px !important; /* Standard-Padding links */
  padding-right: 50px !important; /* Standard-Padding rechts */
  margin-left: auto;
  margin-right: auto;
}

/* Responsive Anpassungen für Tablets und Smartphones */
@media (max-width: 1024px) {
  .view-category #sp-main-body .container,
  .view-article #sp-main-body .container {
    padding-left: 20px !important; /* Reduzierter Rand links */
    padding-right: 20px !important; /* Reduzierter Rand rechts */
  }
}

@media (max-width: 576px) {
  .view-category #sp-main-body .container,
  .view-article #sp-main-body .container {
    padding-left: 6px !important; /* Minimaler Rand links */
    padding-right: 6px !important; /* Minimaler Rand rechts */
  }
}

/* Einheitliches Padding für Spalten (col-lg-8) */
.view-category .col-lg-8,
.view-article .col-lg-8 {
  padding-left: 0 !important; /* Standard kein Padding */
  padding-right: 0 !important;
}

/* Responsive Anpassungen für Spalten (col-lg-8) */
@media (max-width: 1024px) {
  .view-category .col-lg-8,
  .view-article .col-lg-8 {
    padding-left: 10px !important; /* Leichter Rand für Tablets */
    padding-right: 10px !important;
  }
}

@media (max-width: 576px) {
  .view-category .col-lg-8,
  .view-article .col-lg-8 {
    padding-left: 5px !important; /* Minimaler Rand für Smartphones */
    padding-right: 5px !important;
  }
}

/* Layout Ende */

/* Fonts */

@font-face {
    font-family: 'Nobile';
    src: url('../fonts/Nobile-Regular.woff2') format('woff2'),
         url('../fonts/Nobile-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Nobile';
    src: url('../fonts/Nobile-Italic.woff2') format('woff2'),
         url('../fonts/Nobile-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Nobile';
    src: url('../fonts/Nobile-Medium.woff2') format('woff2'),
         url('../fonts/Nobile-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Nobile';
    src: url('../fonts/Nobile-MediumItalic.woff2') format('woff2'),
         url('../fonts/Nobile-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Nobile';
    src: url('../fonts/Nobile-Bold.woff2') format('woff2'),
         url('../fonts/Nobile-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Nobile';
    src: url('../fonts/Nobile-BoldItalic.woff2') format('woff2'),
         url('../fonts/Nobile-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

/* FA Stuff */
.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > a > .menu-toggler::after,
body.ltr .sp-megamenu-parent > li.sp-has-child > a::after, 
body.ltr .sp-megamenu-parent > li.sp-has-child > span::after,
body.ltr .sp-megamenu-parent .sp-dropdown .sp-dropdown-items .sp-has-child > a::after 
{font-family: "Font Awesome 6 Free"; }


[class^="icon-"]::before, [class*=" icon-"]::before {
  font-family: "Font Awesome 6 Free"; }

.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
  display: inline-block;
  padding: 0 8px !important;
  line-height: 80px;
  font-size: 16px;
  margin: 0;
  letter-spacing: 0.9px !important;
  font-weight: normal;
}

body.ltr .sp-megamenu-parent > li.sp-has-child > a::after, body.ltr .sp-megamenu-parent > li.sp-has-child > span::after {
  font-family: "Font Awesome 6 Free" !important;
  content: "";
  float: right;
  margin-left: 4px;
  font-weight: 900;
}

body.ltr .sp-megamenu-parent > li.sp-has-child > a::after, body.ltr .sp-megamenu-parent > li.sp-has-child > span::after {
  font-family: "Font Awesome 6 Free" !important;
}

/* Globale Schriftkonfiguration */
body {
    font-family: 'Nobile', sans-serif;
    font-weight: normal;
    color: #333; /* Globale Schriftfarbe */
    font-size: 16px; /* Globale Schriftgröße */
    line-height: 1.5; /* Lesbarkeit verbessern */
}

/* Headlines */
/* Headlines */
h1, h2, h3, h4, h5, h6 {
	color: #333; /* Globale Schriftfarbe */
    font-family: 'Nobile';
    font-weight: bold;
    line-height: 1.2; /* Konsistente Zeilenhöhe für Headlines */
	margin-right: 0;
	margin-bottom: 0.5em;
	margin-left: 0; /* Einheitlicher Abstand */
}

h1 {
    font-size: 1.6rem !important;
	font-weight: bold;
	padding-top: 5rem;
	position: relative; /* Für die Unterstreichung nötig */
}

h2 {
    font-size: 1.5rem !important;
	font-weight: bold;
	padding-top: 4.5rem;
	position: relative; /* Für die Unterstreichung nötig */
}

/* Unterstreichung für h1 und h2 mit 100% Breite, aber NICHT für .sp-page-title-heading */
/*
h1:not(.sp-page-title-heading)::after,
h2:not(.sp-page-title-heading)::after {
    content: "";  
    position: absolute;
    left: 0;
    bottom: -5px;     width: 100%; 
    height: 1px; 
    background-color: #035075;
} */
/*Abstand zwischen Text und Linie
Linie in voller Breite
Dicke der Linie
Farbe der Unterstreichung */


h3 {
    font-size: 1.4rem !important;
	font-weight: bold;
	padding-top: 1rem;
}

h4 {
    font-size: 1.3rem !important;
	font-weight: bold;
	padding-top: 1rem;
}

h5 {
    font-size: 1.1rem !important;
	font-weight: bold;
}

h6 {
    font-size: 1.0rem !important; /* Optional für kleinere Überschriften */
	font-weight: bold;
}

/* Betonung */
em {
    font-family: 'Nobile';
    font-style: italic;
    color: #555; /* Leicht abgeschwächte Farbe für Betonung */
}

.burger-icon > span {
  display: block;
  height: 2px;
  background-color: #1B4361;
  margin: 5px 0;
  transition: background-color 0.3s ease-in, opacity 0.3s ease-in, transform 0.3s ease-in;
}

/* RHA-Sprachen / Language - Absaetze */

/* Deutsche Sprachklasse */
.RHA-lang-DE {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1rem; /* Abstand zwischen Blöcken */
}

.RHA-lang-DE::before {
    content: ""; /* Platzhalter für die Flagge */
    display: inline-block;
    width: 30px; /* Breite der Flagge */
    height: 20px; /* Höhe der Flagge */
    margin-right: 10px; /* Abstand zur rechten Seite (Text) */
    background-image: url('/images/LAYOUT/icons/flags/flag-DE.png');
    background-size: cover;
    flex-shrink: 0; /* Verhindert Skalierung */
}

/* Englische Sprachklasse */
.RHA-lang-EN {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1rem; /* Abstand zwischen Blöcken */
}

.RHA-lang-EN::before {
    content: ""; /* Platzhalter für die Flagge */
    display: inline-block;
    width: 30px; /* Breite der Flagge */
    height: 20px; /* Höhe der Flagge */
    margin-right: 10px; /* Abstand zur rechten Seite (Text) */
    background-image: url('/images/LAYOUT/icons/flags/flag-EN.png');
    background-size: cover;
    flex-shrink: 0; /* Verhindert Skalierung */
}

/* Französische Sprachklasse */
.RHA-lang-FR {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1rem; /* Abstand zwischen Blöcken */
}

.RHA-lang-FR::before {
    content: ""; /* Platzhalter für die Flagge */
    display: inline-block;
    width: 30px; /* Breite der Flagge */
    height: 20px; /* Höhe der Flagge */
    margin-right: 10px; /* Abstand zur rechten Seite (Text) */
    background-image: url('/images/LAYOUT/icons/flags/flag-FR.png');
    background-size: cover;
    flex-shrink: 0; /* Verhindert Skalierung */
}

/*  Ende RHA-Sprache  */

/* Page Title */

div.mod-languages ul li.lang-active {
  background-color: transparent;
}

.sp-page-title::before {
  content: "";
  background: linear-gradient(100.46deg, rgba(11, 49, 69, 0.9) 5.4%, rgba(69, 144, 184, 0.1) 92.9%);
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: 2;
  width: 100%;
  height: 300px;
  max-width: 100%;
}

.sp-page-title {
  background-color: rgba(52, 89, 113, 0.42);
  padding: 190px 0px 35px 0px;
    padding-top: 190px;
    padding-right: 0px;
    padding-bottom: 35px;
    padding-left: 0px;
  background-position: 50% 50%;
	background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  height: 300px;
}

.sp-page-title .sp-page-title-heading {
    font-weight: 800;
    font-size: 100px;
    line-height: 40px;
    position: relative;
    z-index: 2;
    max-width: 50%;
    margin-bottom: 20px;
    top: 0px;
}

/* Konsolidierte Breadcrumb-Stile mit jmoddiv */
/* Breadcrumb-Items formatieren */
/* Breadcrumb Gesamt-Formatierung */
.breadcrumb.jmoddiv,
.breadcrumb.jmoddiv li,
.breadcrumb.jmoddiv a,
.breadcrumb.jmoddiv span {
  font-size: 1rem;        /* Einheitliche Schriftgröße */
  color: #1B4361 !important; /* Einheitliche Schriftfarbe */
  font-weight: normal;    /* Standard Schriftgewicht */
  margin: 0;              /* Kein zusätzlicher Rand */
  padding: 0;             /* Kein Innenabstand */
  line-height: 1.5;       /* Saubere Zeilenhöhe */
}

/* Aktives Breadcrumb-Element */
.breadcrumb.jmoddiv .breadcrumb-item.active,
.breadcrumb.jmoddiv li.active {
  font-weight: bold;      /* Fett für aktives Element */
  color: #1B4361 !important; /* Einheitliche Farbe */
}

/* Optional: Für den ersten statischen Text "Aktuelle Seite:" */
.breadcrumb.jmoddiv .float-start {
  font-weight: normal;
  color: #1B4361;
}

/* Trennzeichen für alle Breadcrumb-Links mit der Klasse pathway */
.breadcrumb.jmoddiv a.pathway::after {
  content: " >";          /* Fügt ein '>'-Symbol hinzu */
  margin-left: 0.5rem;    /* Abstand zum Text */
  color: #1B4361;         /* Farbe des Trennzeichens */
  font-weight: normal;    /* Optional: Gewicht des Symbols */
}

/* Entferne das Trennzeichen beim letzten Breadcrumb-Link */
.breadcrumb.jmoddiv li:last-child a.pathway::after {
  content: "";            /* Kein Trennzeichen für das letzte Element */
}

/* Entfernt den Fokus- und Aktivrahmen für Links in Breadcrumbs */
.breadcrumb.jmoddiv a.pathway:focus,
.breadcrumb.jmoddiv a.pathway:active {
  outline: none;          /* Entfernt den Rahmen */
  box-shadow: none;       /* Entfernt Schraffierung oder Schatten */
  border: none;           /* Entfernt eventuell gesetzte Ränder */
}



/* Links */
a {
    color: #035075; /* Standard-Linkfarbe */
    text-decoration: none;
}

a:hover {
    color: #047ab3; /* Hover-Zustand */
    text-decoration: underline;
}

.view-article #sp-main-body .container .article-header h1 {
  font-weight: bold;
  font-size: 2rem; /* Beispielgröße für h1 */
  line-height: 2.5rem;
  color: #333;
}

.view-article #sp-main-body .container .article-header h2 {
  font-weight: bold;
  font-size: 1.8rem; /* Beispielgröße für h2 */
  line-height: 2.2rem;
  color: #333;
}

.view-article #sp-main-body .container .article-header h3 {
  font-weight: bold;
  font-size: 1.6rem; /* Beispielgröße für h3 */
  line-height: 2rem;
  color: #333;
}

.view-article #sp-main-body .container .article-header h4 {
  font-weight: bold;
  font-size: 1.4rem; /* Beispielgröße für h4 */
  line-height: 1.8rem;
  color: #333;
}

.view-article #sp-main-body .container .article-header h5 {
  font-weight: bold;
  font-size: 1.2rem; /* Beispielgröße für h5 */
  line-height: 1.6rem;
  color: #333;
}

.view-article #sp-main-body .container .article-header h6 {
  font-weight: bold;
  font-size: 1rem; /* Beispielgröße für h6 */
  line-height: 1.4rem;
  color: #333;
}

/* ==== RHA Tabellen === */

/* RHA Vorstand */

/* Table Wrapper für zentrierte Darstellung */
.rha-table-wrapper {
  max-width: 85%; /* Reduziert die Gesamtbreite auf 50% */
  margin: 0 auto; /* Zentriert den Wrapper horizontal */
  padding: 0;     /* Kein zusätzliches Padding innerhalb */
  box-sizing: border-box;
}

/* Tabelle Styling */
.rha-table-verein-vorstand {
  width: 100%;               /* Passt die Tabelle an den Wrapper an */
  border-collapse: collapse; /* Entfernt Zwischenräume zwischen Zellen */
  margin: 20px 0;            /* Abstand nach oben und unten */
  font-family: Arial, sans-serif;
  font-size: 1rem;
  background-color: #f9f9f9; /* Hintergrundfarbe */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Schatten */
  border-radius: 8px;        /* Abgerundete Ecken */
  overflow: hidden;          /* Für die abgerundeten Ecken */
}

/* Tabellenkopf Styling */
.rha-table-verein-vorstand thead th {
  background-color: #1B4361; /* Dunkelblau */
  color: white;             /* Weiße Schrift */
  padding: 10px;            /* Innenabstand */
  text-align: center;       /* Zentrierter Text */
  font-weight: bold;        /* Fettschrift */
  border-bottom: 2px solid #ddd; /* Unterer Rahmen */
}

/* Tabellenzellen Styling */
.rha-table-verein-vorstand tbody td {
  padding: 8px 10px;        /* Innenabstand */
  text-align: center;       /* Zentrierter Text */
  border-bottom: 1px solid #ddd; /* Unterer Rahmen */
  color: #333;              /* Dunkelgraue Schrift */
}

/* Abwechselnde Zeilenfarben */
.rha-table-verein-vorstand tbody tr:nth-child(even) {
  background-color: #f1f1f1; /* Hellgraue Zeilenfarbe */
}

/* Tabellenüberschrift (Caption) Styling */
.rha-table-verein-vorstand caption {
  font-size: 1.2rem;        /* Größere Schriftgröße */
  font-weight: bold;        /* Fettschrift */
  margin-bottom: 10px;      /* Abstand nach unten */
  text-align: center;       /* Zentriert */
  color: #1B4361;           /* Dunkelblau */
}

/* Letzte Zeile ohne untere Linie */
.rha-table-verein-vorstand tbody tr:last-child td {
  border-bottom: none;      /* Entfernt den Rahmen der letzten Zeile */
}

/* === Generelle Tabelle (masa media) === */

/* Container für responsives Verhalten */
.mm_table_name-responsive {
  width: 100%;
  overflow-x: auto;
}

/* Grundlegendes Tabellenstyling */
#mm_table_name {
  width: 100%;
  border-collapse: collapse;
  margin: 0 auto; /* Zentriert die Tabelle */
}

/* Rahmen für Tabelle, Kopf und Zellen */
#mm_table_name,
#mm_table_name th,
#mm_table_name td {
  border: 1px solid #ddd; /* Rahmenfarbe anpassbar */
}

/* Padding, Margin und Ausrichtung für Zellen */
#mm_table_name th,
#mm_table_name td {
  padding: 8px; /* anpassbar */
  text-align: left; /* Standardausrichtung, kann überschrieben werden */
  margin: 0;
}

/* Styling des Tabellenkopfs */
#mm_table_name thead th {
  background-color: #f2f2f2; /* Kopf-Hintergrundfarbe */
  font-weight: bold;
  text-align: center; /* Header-Ausrichtung, hier zentriert */
}

/* Styling für Sub-Head, falls vorhanden */
#mm_table_name thead .sub-head th {
  background-color: #e9e9e9;
  font-style: italic;
}

/* Globale Zeilen-Styling im Body (alternierende Zeilen optional) */
#mm_table_name tbody tr:nth-child(even) {
  background-color: #f9f9f9; /* Hintergrundfarbe für gerade Zeilen */
}

/* Optional: individuelle Spaltensteuerung */
/* Beispiel: Erste Spalte zentrieren */
#mm_table_name td:first-child,
#mm_table_name th:first-child {
  text-align: center;
}

/* Responsive Anpassungen bei kleineren Bildschirmen */
@media screen and (max-width: 600px) {
  #mm_table_name th,
  #mm_table_name td {
    padding: 6px;
    font-size: 14px;
  }
}

/* Tabellen Ende */

/* Mainbody */

main#sp-component.col-lg-12 > div.sp-column > div.article-details {
    padding-left: calc(var(--bs-gutter-x) * 2.5);
    padding-right: calc(var(--bs-gutter-x) * 2.5);
}

/* HEADER TOP */

#sp-logo .logo-image {
  position: relative;
}

#sp-header {
  background: rgba(255, 255, 255, 0.87) !important;
  backdrop-filter: blur(3px);
  height: 80px !important;
}

#sp-header.header-sticky {
  background: rgba(255, 255, 255, 0.87) !important;
  height: 80px !important;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  animation: spFadeInDown 0.5s;
}

/* PB Clients */


.sppb-addon-clients-image {
  width: 70% !important; /* Setzt die Breite auf 80% */
  height: auto; /* Beibehaltung der Proportionen */
  margin: 0 auto; /* Zentriert das Icon */
  display: block; /* Sorgt dafür, dass es als Blockelement behandelt wird */
}


.sppb-col-sm-2 {
    display: flex;              /* Aktiviert Flexbox */
    justify-content: center;    /* Horizontale Zentrierung */
    align-items: flex-end;      /* Vertikale Ausrichtung: unten bündig */
    text-align: center;         /* Falls Text enthalten ist, zentriert diesen */
    height: 100%;               /* Sicherstellen, dass der Container die volle Höhe einnimmt */
}

.sppb-img-responsive {
    margin: 0 auto;             /* Sicherheitshalber zentriert */
}

@media (max-width: 768px) { /* Speziell für Mobilgeräte */
    .sppb-img-responsive {
        width: 85%;            /* Verkleinert die Grafiken auf 85% der Containergröße */
        height: auto;          /* Beibehaltung des Seitenverhältnisses */
    }
}


/* Blog */

.blog-list-title-wrap {
    display: none;
}

.blog {
    position: relative;
}

.blog::before {
    content: '';
    display: block;
/*    height: 120px; /* Platzhalterhöhe */ 
}

.blog .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
    margin-bottom: 40px;
}

/* ==== BILDER ==== */

/* Standard für größere Bildschirme */
img[style*="float: right"] {
    float: right !important;
    margin-left: 10px !important;
}

/* Ab Breakpoint "Handy" (z. B. max-width: 768px) */
@media (max-width: 768px) {
    img[style*="float: right"] {
        float: none !important; /* Float entfernen */
        display: block !important;
        margin: 0 auto !important; /* Zentriert das Bild */
        width: 90% !important; /* 90% der Bildschirmbreite */
        max-width: 100% !important; /* Verhindert Überschneidungen */
    }
}


/* Bild Caption / Bilduntertitel */

.wf_caption {
    display: block !important;
    font-size: 0.8rem;
    margin-top: 8px !important; /* Abstand nach oben */
    min-height: 20px !important; /* Falls das Element unsichtbar ist */
    line-height: 1.4 !important; /* Falls die Zeilenhöhe das Problem ist */
}

.wf_caption img {
    display: block !important;
    margin-bottom: 8px !important; /* Sorgt für Abstand zwischen Bild & Text */
}

/* "Foto:" korrekt vor die Bildunterschrift setzen */
.wf_caption span::before {
    content: "Bild / Foto: ";  
    margin-right: 5px;
    display: inline; /* Sorgt dafür, dass "Foto:" direkt vor dem Text steht */
}




/* Suche - Input-Feld */

.js-finder-search-query.form-control {
    width: 160px; /* Gewünschte Breite */
    height: 30px; /* Setze hier die gewünschte Höhe ein */
    max-width: 90%; /* Sorgt dafür, dass das Suchfeld nicht größer als der Container wird */
}



/* Artikel Karussell */

.sppb-articles-carousel-img-link img {
    width: 260px !important;
    height: auto; /* Höhe automatisch anpassen, um das Seitenverhältnis zu erhalten */
}

.sppb-carousel-inner > .sppb-item > a > img, .sppb-carousel-inner > .sppb-item > img, .sppb-img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
  padding-bottom: 15px;
}


/* INFOBOXES */

/* Basislayout für alle Infoboxen */
.info-box {
    display: flex;
    flex-direction: column;
    border: 2px solid rgba(0, 0, 0, 0.75); /* Rahmen mit 75% Deckkraft */
    border-radius: 10px; /* Rundung oben UND unten */
    overflow: hidden;
    margin: 20px auto; /* Zentrierung der Box */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Schatten */
    width: 75%; /* Standardbreite auf Desktop */
    max-width: 1200px; /* Maximale Breite */
    transition: width 0.3s ease; /* Sanfter Übergang bei Größenänderung */
    color: #333; /* Dunkles Grau für Text */
}

/* Kopfbereich */
.info-header {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    font-weight: bold;
    font-size: 1.2rem;
    color: #333; /* Dunkles Grau für Titel */
}

/* Icon im Kopfbereich */
.info-icon {
    display: inline-block; /* Ermöglicht das Platzieren neben dem Text */
    width: 30px; /* Breite des Icons */
    height: 30px; /* Höhe des Icons */
    background-size: contain; /* Das Icon vollständig einpassen */
    background-repeat: no-repeat; /* Keine Wiederholung des Icons */
    margin-right: 10px; /* Platz zwischen Icon und Text */
}

/* Textbereich */
.info-content {
    padding: 15px;
    font-size: 1rem;
    line-height: 1.5;
    color: #333; /* Dunkles Grau für Text */
}

/* Designs für die verschiedenen Boxen */

/* Wichtiger Hinweis */
.rha-alert {
    border-color: rgba(211, 47, 47, 0.75);
}

.rha-alert .info-header {
    background-color: rgba(211, 47, 47, 0.75);
}

.rha-alert .info-content {
    background: linear-gradient(to bottom, rgba(211, 47, 47, 0.11), rgba(211, 47, 47, 0.25));
}

.rha-alert .info-icon {
    background-image: url('../images/infobox/infobox-icon-alert.png');
}

/* Information */
.rha-info {
    border-color: rgba(1, 47, 71, 0.75);
}

.rha-info .info-header {
    background-color: rgba(0, 98, 142, 0.75);
	color: #fefefe !important;
}

.rha-info .info-content {
    background: linear-gradient(to bottom, rgba(0, 98, 142, 0.11), rgba(0, 98, 142, 0.25));
}

.rha-info .info-icon {
    background-image: url('../images/infobox/infobox-icon-info.png');
}

/* Terminhinweis */
.rha-date {
    border-color: rgba(56, 142, 60, 0.75);
}

.rha-date .info-header {
    background-color: rgba(56, 142, 60, 0.75);
}

.rha-date .info-content {
    background: linear-gradient(to bottom, rgba(56, 142, 60, 0.11), rgba(56, 142, 60, 0.25));
}

.rha-date .info-icon {
    background-image: url('../images/infobox/infobox-icon-date.png');
}

/* Empfehlung */
.rha-advice {
    border-color: rgba(251, 192, 45, 0.75);
}

.rha-advice .info-header {
    background-color: rgba(251, 192, 45, 0.75);
}

.rha-advice .info-content {
    background: linear-gradient(to bottom, rgba(251, 192, 45, 0.11), rgba(251, 192, 45, 0.25));
}

.rha-advice .info-icon {
    background-image: url('../images/infobox/infobox-icon-star.png');
}

/* Warnung */
.rha-warning {
    border-color: rgba(255, 152, 0, 0.75);
}

.rha-warning .info-header {
    background-color: rgba(255, 152, 0, 0.75);
}

.rha-warning .info-content {
    background: linear-gradient(to bottom, rgba(255, 152, 0, 0.11), rgba(255, 152, 0, 0.25));
}

.rha-warning .info-icon {
    background-image: url('../images/infobox/infobox-icon-warning.png');
}

/* Notiz */
.rha-note {
  border-color: rgba(52, 63, 74, 0.75);
}


.rha-note .info-header {
  background-color: rgba(145, 160, 170, 0.75);
}

.rha-note .info-content {
  background: linear-gradient(to bottom, rgba(103, 182, 230, 0.11), rgba(92, 100, 125, 0.25));
}

.rha-note .info-icon {
    background-image: url('../images/infobox/infobox-icon-note.png');
}

/* Candle / Mourning */
.rha-candle {
  border-color: rgba(52, 63, 74, 0.75);
  background-color: rgb(30, 30, 30);
}

/* Header Styling */
.rha-candle .info-header {
  background-color: #1E1E1E;
  color: #f9f9f9 !important;
  position: relative; /* Ermöglicht das Platzieren des Icons */
}

/* Content Styling */
.rha-candle .info-content {
  color: #f9f9f9 !important;
  background: linear-gradient(to bottom, rgba(223, 223, 223, 0.26) 0%, rgba(30, 30, 30, 0.41) 100%);
}

/* Icon Styling */
.rha-candle .info-icon {
  background-image: url('../images/infobox/infobox-icon-candle.png');
}



/* Responsives Design */
@media (max-width: 1024px) {
    .info-box {
        width: 90%; /* Breite auf Tablets */
    }
}

@media (max-width: 768px) {
    .info-box {
        width: 95%; /* Breite auf Smartphones (Landscape) */
    }
}

@media (max-width: 480px) {
    .info-box {
        width: 95%; /* Breite auf Smartphones (Portrait) */
    }
}

/* Infoboxes 2.0 */
/* Basislayout für alle Infoboxen */
.RHA-info-box {
    display: flex;
    flex-direction: column;
    border: 2px solid transparent; /* Standard ohne Farbe */
    border-radius: 10px;
    overflow: hidden;
    margin: 20px auto;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    width: 75%;
    max-width: 1200px;
    transition: width 0.3s ease;
    color: #333;
    background: transparent; /* Standard ohne Hintergrund */
}

/* Wichtiger Hinweis */
.RHA-info-box.RHA-info-alert {
    border-color: rgba(211, 47, 47, 0.75);
    background: linear-gradient(to bottom, rgba(211, 47, 47, 0.11), rgba(211, 47, 47, 0.25));
}

.RHA-info-box.RHA-info-alert .info-header {
    background-color: rgba(211, 47, 47, 0.75);
    color: #fefefe; /* Weißer Text für Kontrast */
}

.RHA-info-box.RHA-info-alert .info-icon {
    background-image: url('../images/infobox/infobox-icon-alert.png');
}

/* Information */
.RHA-info-box.RHA-info-info {
    border-color: rgba(1, 47, 71, 0.75);
    background: linear-gradient(to bottom, rgba(0, 98, 142, 0.11), rgba(0, 98, 142, 0.25));
}

.RHA-info-box.RHA-info-info .info-header {
    background-color: rgba(0, 98, 142, 0.75);
    color: #fefefe; /* Weißer Text für Kontrast */
}

.RHA-info-box.RHA-info-info .info-icon {
    background-image: url('../images/infobox/infobox-icon-info.png');
}

/* Terminhinweis */
.RHA-info-box.RHA-info-date {
    border-color: rgba(56, 142, 60, 0.75);
    background: linear-gradient(to bottom, rgba(56, 142, 60, 0.11), rgba(56, 142, 60, 0.25));
}

.RHA-info-box.RHA-info-date .info-header {
    background-color: rgba(56, 142, 60, 0.75);
    color: #fefefe; /* Weißer Text für Kontrast */
}

.RHA-info-box.RHA-info-date .info-icon {
    background-image: url('../images/infobox/infobox-icon-date.png');
}

/* Empfehlung */
.RHA-info-box.RHA-info-advice {
    border-color: rgba(251, 192, 45, 0.75);
    background: linear-gradient(to bottom, rgba(251, 192, 45, 0.11), rgba(251, 192, 45, 0.25));
}

.RHA-info-box.RHA-info-advice .info-header {
    background-color: rgba(251, 192, 45, 0.75);
    color: #333; /* Dunkler Text für Kontrast */
}

.RHA-info-box.RHA-info-advice .info-icon {
    background-image: url('../images/infobox/infobox-icon-star.png');
}

/* Infoboxes 2.0 */



/* JCE */ 
/* Container für den PDF-Link */
.wf_file {
    display: inline-flex; /* Icon und Text in einer Zeile */
    align-items: center; /* Vertikale Zentrierung */
    gap: 0.5rem; /* Abstand zwischen Icon und Text */
    text-decoration: none; /* Standardunterstreichung für Links */
    font-family: inherit; /* Systemschrift beibehalten */
}

/* PDF-Icon */
.wf_file_icon {
    display: inline-block;
    width: 30px; /* Größe des Icons */
    height: auto;
    margin-left: 0.2rem; /* Abstand zwischen Icon und "Schedule:" */
    vertical-align: middle;
}

/* PDF-Text */
.wf_file_text {
    display: inline-block;
    vertical-align: middle;
    color: #0056b3; /* Linkfarbe */
    text-decoration: underline; /* Unterstreichung für den Link */
    font-size: inherit; /* Schriftgröße wie im umgebenden Text */
    font-weight: normal; /* Normalgewicht für Systemschrift */
}

#sp-bottom1 a.wf_file .wf_file_text {
    color: #eaf8ff !important;
}

/* PDF-Linktext im Footer: besuchte Farbe */
#sp-bottom1 a.wf_file:visited .wf_file_text {
    color: #c6dbe6 !important;
}

/* Zusätzliche Anpassungen für den Strong-Tag */
strong {
/*    display: inline-flex; /* Für perfekte Ausrichtung */
/*    align-items: center; /* Text und Icon zentrieren */
    font-weight: bold; /* Fett für "Schedule:" */
    font-family: inherit; /* Systemschrift für Konsistenz */
}

/* Buecher */

/* RHA Publikationen */

.rha-modul-publikationen {
    margin-left: 105px;
}

.rha-modul-publikationen-bz {
    margin-left: 105px !important;
	border-top: 1px dotted #8c8c8c !important;
	margin-top: 40px;
}

.rha-publikationen-verfuegbarkeit .field-label,
.rha-publikationen-verfuegbarkeit .field-value {
  color: red;
  font-weight: bold;
}


/* Globale Einstellungen */
.fields-container {
  margin: 0 auto 30px auto; /* Zentriert den gesamten Bereich */
  max-width: 80%; /* Maximale Breite auf dem Desktop */
  background-color: #f9f9f9; /* Hintergrundfarbe */
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  font-size: 16px; /* Schriftgröße */
  line-height: 20px; /* Zeilenhöhe */
  display: flex; /* Flex-Layout hinzufügen */
  flex-direction: column; /* Inhalte untereinander anordnen */
  width: 100%; /* Einheitliche Breite */
  box-sizing: border-box; /* Padding und Border in die Breite einrechnen */
}

/* Tablet-Anpassungen */
@media (max-width: 1024px) {
  .fields-container {
    max-width: 90%; /* Maximale Breite auf Tablets */
  }
}

/* Handy-Anpassungen */
@media (max-width: 768px) {
  .fields-container {
    max-width: 96%; /* Maximale Breite auf mobilen Geräten */
  }
}

.field-entry {
  margin-bottom: 10px;
  display: flex;
  flex-wrap: nowrap; /* Verhindert Zeilenumbruch zwischen Label und Value auf Desktop */
  align-items: flex-start;
}

.field-label {
  font-weight: bold;
  color: #333;
  min-width: 200px; /* Abstand zwischen Label und Value */
  margin-right: 15px; /* Zusätzlicher horizontaler Abstand */
  text-align: left;
  white-space: nowrap;
}

.field-value {
  color: #555;
  flex: 1; /* Sorgt für dynamische Anpassung */
  word-wrap: break-word;
}

/* Nur Titel und Beschreibungen fett darstellen */
.fields-container .field-entry.buchtitel .field-value,
.fields-container .field-entry.buchuntertitel .field-value,
.fields-container .field-entry.buchuntertitel-2 .field-value,
.fields-container .field-entry.beschreibung .field-value,
.fields-container .field-entry.beschreibung-lang .field-value {
  font-weight: bold;
}

/* Zusätzliche Größen für Titel und Untertitel */
.fields-container .field-entry.buchtitel .field-value {
  font-size: 1.2rem; /* Buchtitel: Größer und fett */
}

.fields-container .field-entry.buchuntertitel-2 .field-value {
  font-size: 1.0rem; /* Untertitel: Mittelgroß und fett */
}

/* Buchcover Styling */
.field-entry.buchcover .field-value img {
  width: 380px; /* Desktop */
  height: auto;
  border-radius: 5px;
  margin-top: 10px;
  margin-bottom: 1rem; /* Abstand unter dem Buchcover */
  transition: transform 0.3s ease-in-out; /* Weicher Übergang */
}

/* Hover-Effekt */
@media (min-width: 769px) {
  .field-entry.buchcover .field-value img:hover {
    transform: scale(1.2); /* Vergrößert das Bild auf 120% */
  }
}

@media (max-width: 768px) {
  .field-entry.buchcover .field-value img {
    width: 80%; /* Mobil */
  }

  /* Mobile Darstellung - Labels und Values umbrechen */
  .field-entry {
    flex-wrap: wrap; /* Umbruch erlauben */
  }

  .field-label {
    min-width: 120px;
  }

  .field-value {
    flex: 1 1 100%;
    margin-top: 5px;
  }

  .field-entry.buchcover .field-value img:hover {
    transform: scale(1.1); /* Vergrößert das Bild auf 110% */
  }
}

/* Preis-Standard Styling */
.field-entry.preis-standard .field-value {
  text-decoration: line-through; /* Durchgestrichen */
}

.field-entry.preis .field-value {
  font-weight: bold;
}

.view-category #sp-main-body .article-list .article {
  margin-bottom: 25px !important;
}

/* Buecher Ende */

/* = = = = = = = = = = = = = = = = */

/* Kooperationen & Links */
/* Artikel-Rahmen + Layout in Blogansicht */
/* == Grundlayout für Kooperations-Blogseite == */

/* ================================================
   LAYOUT für Blogseite mit Artikeln im Stil:
   LOGO links, Kurzbeschreibung rechts,
   darunter Artikeltext & URL mit Weltkugel
   Seite: .mm_page_koop_blog
================================================ */

/* === 1. Struktur Gesamtartikel: kein Rahmen, keine Box === */
body.mm_page_koop_blog .article {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 0;
    background: none;
    border: none;
}

/* === 2. Artikel-Titel ganz oben === */
body.mm_page_koop_blog .article-header {
    order: 0;
}
body.mm_page_koop_blog .article-header h2 {
    margin: 0;
    font-size: 1.5rem;
    padding-bottom: 0.5rem;
    display: block; /* <— das ist entscheidend */
}

/* === 3. Hauptbereich: Bild links – Felder rechts === */
body.mm_page_koop_blog .article-body {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}

/* === 3a. Logo links === */
body.mm_page_koop_blog .article-intro-image {
    flex: 0 0 auto;
    max-width: 100px;
}
body.mm_page_koop_blog .article-intro-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid #cbd5e0;
	padding: 6px;
}

/* === 3b. Feldcontainer rechts vom Logo === */
body.mm_page_koop_blog .fields-container {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 8px;
    margin: 0;
    list-style: none;
}

/* === 4. Kurzbeschreibung oben rechts (optional Linie darunter) === */
body.mm_page_koop_blog .field-entry.kurzbeschreibung {
    order: 1;
    font-size: 1rem;
}
body.mm_page_koop_blog .field-entry.kurzbeschreibung::after {
    content: "";
    display: block;
    margin-top: 0.5rem;
    border-top: 1px solid #ccc;
}

/* === 5. Artikeltext darunter === */
body.mm_page_koop_blog .article-introtext {
    order: 2;
    width: 100%;
}

/* === 6. URL ganz unten mit Weltkugel === */
body.mm_page_koop_blog .field-entry.url {
    order: 99;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 1rem;
    position: relative;
    padding-left: 2rem;
}

/* === 6a. Weltkugel-Icon direkt am Link === */
body.mm_page_koop_blog .field-entry.rha-koop-url .field-value a::before {
    content: "";
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.5rem;
    background-image: url('/images/LAYOUT/icons/icon-url-globe.png');
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}

/* === 6b. Label "URL:" ausblenden === */
body.mm_page_koop_blog .field-entry.url .field-label {
    display: none;
}

/* === 6c. Inhaltliches Styling des URL-Felds ohne Box === */
body.mm_page_koop_blog .field-entry.url.rha-koop-url,
body.mm_page_koop_blog .field-entry.url.rha-koop-url .field-value,
body.mm_page_koop_blog .field-entry.url.rha-koop-url .field-value a {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    display: inline !important;
    align-items: center;
    color: #14496b;
    text-decoration: none;
    font-weight: 500;
}

/* === 6d. Wenn .fields-container nur dieses eine Feld enthält, auch dessen Kasten entfernen === */
body.mm_page_koop_blog ul.fields-container:has(li.field-entry.url.rha-koop-url:only-child) {
    all: unset;
    display: block;
}

/* === 7a. Weltkugel-Icon vor Web-Links im Einleitungstext === */
body.mm_page_koop_blog .article-body .article-introtext a[href^="http"]::before {
    content: "";
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.5rem;
    background-image: url('/images/LAYOUT/icons/icon-url-globe.png');
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}

/* === 7b. Briefumschlag-Icon vor E-Mail-Links === */
body.mm_page_koop_blog .article-body .article-introtext a[href^="mailto:"]::before {
    content: "";
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.5rem;
    background-image: url('/images/LAYOUT/icons/rha-icon-letter-2.png');
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}

body.mm_page_koop_blog h1,
body.mm_page_koop_blog h2,
body.mm_page_koop_blog h3 {
    position: relative;
    padding-top: 1.0rem;
    padding-bottom: 0.2rem;
}

body.mm_page_koop_blog h2 {
	font-size: 1.2rem !important;
}


/* === 8. Headlines unterstreichen – mit auslaufender Linie === */
body.mm_page_koop_blog h1:not(.sp-page-title-heading)::after,
body.mm_page_koop_blog h2:not(.sp-page-title-heading)::after,
body.mm_page_koop_blog h3:not(.sp-page-title-heading)::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 4px;
    width: 100%;
    height: 2px;
    background-image: linear-gradient(to right, #00618e, transparent);
}




/* === 7. Optional: Farben zurücksetzen (wenn gewünscht) === */
/*
body.mm_page_koop_blog {
    color: inherit;
}
*/

/* = = = = = = = = = = = = = = = = */

/* Bottom */

#sp-bottom .container .row > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* Inhalte untenbündig ausrichten */
}

/* = Fontgrößen */

/* Bereich sp-bottom1: Einheitliche Schriftgröße */
#sp-bottom1 .sp-module-title,
#sp-bottom1 .menu a,
#sp-bottom1 {
  font-size: 0.8rem !important;
}

/* Bereich sp-bottom2: Einheitliche Schriftgröße */
#sp-bottom2 .sp-module-title,
#sp-bottom2 .menu a,
#sp-bottom2 {
  font-size: 0.9rem !important;
}

/* Bereich sp-bottom3: Einheitliche Schriftgröße */
#sp-bottom3 .sp-module-title,
#sp-bottom3 .menu a,
#sp-bottom3 {
  font-size: 0.9rem !important;
}

/* Bereich sp-bottom4: Einheitliche Schriftgröße */
#sp-bottom4 .sp-module-title,
#sp-bottom4 .menu a,
#sp-bottom4 {
  font-size: 0.7rem !important;
}

/* === */

#sp-bottom .sp-module-title {
  color: #eaf8ff !important; /* Setzt die gewünschte Farbe */
}

#sp-bottom .container .row > #sp-bottom1 {
  flex: 0 0 34%;
  max-width: 34%;
}

#sp-bottom .container .row > #sp-bottom2 {
  flex: 0 0 24%;
  max-width: 24%;
}

#sp-bottom .container .row > #sp-bottom3 {
  flex: 0 0 24%;
  max-width: 24%;
}

#sp-bottom .container .row > #sp-bottom4 {
  flex: 0 0 18%;
  max-width: 18%;
}

/* Dynamische Darstellung: Tablets und Mobilgeräte */
@media (max-width: 1024px) { /* Für Tablets und kleinere Geräte */
  #sp-bottom .container .row > #sp-bottom1,
  #sp-bottom .container .row > #sp-bottom2,
  #sp-bottom .container .row > #sp-bottom3,
  #sp-bottom .container .row > #sp-bottom4 {
    flex: 0 0 98%; /* Breite von 98% */
    max-width: 98%;
    margin: 0 auto; /* Zentriert die Bereiche */
  }
}

/* Zusätzliche Anpassung für Mobilgeräte */
@media (max-width: 768px) { /* Für Smartphones */
  #sp-bottom .container .row {
    flex-direction: column; /* Inhalte vertikal anordnen */
  }

  #sp-bottom .container .row > #sp-bottom1,
  #sp-bottom .container .row > #sp-bottom2,
  #sp-bottom .container .row > #sp-bottom3,
  #sp-bottom .container .row > #sp-bottom4 {
    flex: 0 0 98%; /* Gleiche Breite für Mobilgeräte */
    max-width: 98%;
    margin: 0 auto; /* Zentriert die Bereiche */
  }
}

/* Textfarbe für den Bereich sp-bottom */
#sp-bottom1, #sp-bottom2, #sp-bottom3, #sp-bottom4 {
    color: #eaf8ff !important; /* Standard-Textfarbe */
}

/* Linkfarbe für den Bereich sp-bottom */
#sp-bottom1 a, #sp-bottom2 a, #sp-bottom3 a, #sp-bottom4 a {
    color: #dff4fc !important; /* Standard-Linkfarbe */
    text-decoration: none; /* Entfernt die Unterstreichung */
}

/* Hover-Farbe für Links im Bereich sp-bottom */
#sp-bottom1 a:hover, #sp-bottom2 a:hover, #sp-bottom3 a:hover, #sp-bottom4 a:hover {
    color: #c7ecff !important; /* Farbe beim Hover */
    text-decoration: underline; /* Optional: Unterstreichung beim Hover */
}

/* Besuchte Links im Bereich sp-bottom */
#sp-bottom1 a:visited, #sp-bottom2 a:visited, #sp-bottom3 a:visited, #sp-bottom4 a:visited {
    color: #eaf8ff !important; /* Farbe für besuchte Links */
}

/* Bottom Ende */

/* Map Pin */
.leaflet-marker-icon {
  width: 75px !important; /* Passt die Breite an */
  height: 118px !important; /* Höhe wird automatisch proportional angepasst */
  max-width: 127px !important; /* Maximale Breite des Bildes (entspricht der Originalbreite) */
  max-height: 200px !important; /* Maximale Höhe des Bildes (entspricht der Originalhöhe) */
}

/* MODULES */

/* Global */

.rha-module-nav-global {
  background-color: #d2e3ef !important; /* Hintergrundfarbe */
  padding: 15px !important; /* Innenabstand für ästhetische Darstellung */
  border-radius: 8px !important; /* Abgerundete Ecken */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important; /* Leichter Schatten für Dimension */
  margin-top: 50px !important;
	margin-left: 80px;
}

@media (max-width: 1024px) {
  .rha-module-nav-global {
    margin-left: 15px !important;
  }
}

/* Anpassung der Listenelemente innerhalb des Moduls rha-module-booklist */
.rha-module-nav-global ul > li {
  display: block !important;
  border-bottom: 1px solid #035075 !important; /* Neue Farbe für die untere Linie */
  font-size:1rem !important; /* Schriftgröße des Modul-Inhalts */
}

/* Anpassung der Links innerhalb des Moduls rha-module-booklist */
.rha-module-nav-global ul > li > a {
  display: block !important;
  padding: 6px 0 !important; /* Innenabstand oben und unten */
  line-height: 1.2rem !important; /* Zeilenhöhe */
}

/* Anpassung des Modul-Titels */
.rha-module-nav-global .sp-module-title {
  margin: 0 0 30px !important; /* Abstand unter dem Titel */
  padding-bottom: 4px !important; /* Reduziertes Padding */
  font-size: 22px !important; /* Schriftgröße */
  font-weight: 700 !important; /* Fettschrift */
  border-bottom: 1px solid #035075 !important; /* Neue Farbe für die untere Linie */
}


/* Book List */

/* Hintergrundfarbe für das Modul rha-module-booklist */
.rha-module-booklist {
  background-color: #d2e3ef !important; /* Hintergrundfarbe */
  padding: 15px !important; /* Innenabstand für ästhetische Darstellung */
  border-radius: 8px !important; /* Abgerundete Ecken */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important; /* Leichter Schatten für Dimension */
  margin-top: 50px !important;
}

/* Anpassung der Listenelemente innerhalb des Moduls rha-module-booklist */
.rha-module-booklist ul > li {
  display: block !important;
  border-bottom: 1px solid #035075 !important; /* Neue Farbe für die untere Linie */
  font-size: 0.9rem !important; /* Schriftgröße des Modul-Inhalts */
}

/* Anpassung der Links innerhalb des Moduls rha-module-booklist */
.rha-module-booklist ul > li > a {
  display: block !important;
  padding: 2px 0 !important; /* Innenabstand oben und unten */
  line-height: 1.2rem !important; /* Zeilenhöhe */
}

/* Anpassung des Modul-Titels */
.rha-module-booklist .sp-module-title {
  margin: 0 0 30px !important; /* Abstand unter dem Titel */
  padding-bottom: 4px !important; /* Reduziertes Padding */
  font-size: 22px !important; /* Schriftgröße */
  font-weight: 700 !important; /* Fettschrift */
  border-bottom: 1px solid #035075 !important; /* Neue Farbe für die untere Linie */
}


.view-article #sp-title {
    display: block;
}

/* ========== masa media Blog Layout ========== */

/* Blog-Artikel Layout Anpassungen */
body.itemid-231 .article .blog-item {
    margin-bottom: 20px !important;
    overflow: hidden !important; /* Stellt sicher, dass das Bild und Text nicht überlaufen */
}

/* Blog-Titel Styling */
body.itemid-231 h2.blog-title,
body.itemid-231 h2.blog-title a {
    font-size: 1.4rem !important;
    font-weight: bold !important;
/*    color: #fdeea0 !important; */
    opacity: 1 !important; /* Falls ein Effekt die Farbe überlagert */
padding-top: 30px;
}

/* Einleitungsbild korrekt anordnen */
body.itemid-231 .blog-intro-image {
    float: left; /* Bild linksbündig für Desktop */
    margin: 0 15px 4px 0; /* Abstand zum Text */
    width: 300px; /* Standard für Desktop */
    height: auto;
    border-radius: 5px;
}


/* Anpassungen für mobile Darstellung */
@media (max-width: 1024px) { /* Tablet */
    .blog-intro-image {
        width: 280px;
    }
}

@media (max-width: 768px) { /* Mobile */
    .blog-intro-image {
        float: none; /* Kein Float, damit das Bild über dem Text steht */
        display: block;
        margin: 0 auto 10px auto; /* Zentrieren & Abstand nach unten */
        width: 90%;
    }
}

/* Introtext fließt um das Bild */
.blog-introtext {
    overflow: hidden; /* Verhindert Überlappungen */
    font-size: 1rem;
    color: #333;
}

/* "Weiterlesen"-Button immer unterhalb des Textes */
.readmore {
    display: block; /* Sicherstellen, dass er nicht neben dem Bild steht */
    margin-top: 0.2rem;
    clear: both; /* Verhindert, dass er nach links rutscht */
}

/* Button-Styling */
.readmore a {
    text-decoration: none;
    background-color: rgba(49, 129, 217, 0.82);
    color: #fff;
    padding: 6px 12px; /* Größe um 80% reduziert */
    font-size: 0.9rem; /* Kleinere Schrift */
    border-radius: 5px;
    display: inline-block;
}

.readmore a:hover {
    background-color: #0056b3;
}

/* === Menu 239 === */

/* =========================================
   Anpassungen NUR für Menü-ID 239
   ========================================= */

/* Blog-Artikel Layout Anpassungen */
body.itemid-239 .article .blog-item {
    margin-bottom: 20px !important;
    overflow: hidden !important; /* Stellt sicher, dass Bild und Text nicht überlaufen */
}

/* Blog-Titel Styling */
body.itemid-239 h2.blog-title,
body.itemid-239 h2.blog-title a {
    font-size: 1.4rem !important;
    font-weight: bold !important;
    /* color: #fdeea0 !important; */
    opacity: 1 !important; /* Falls ein Effekt die Farbe überlagert */
    padding-top: 30px;
}

/* Einleitungsbild korrekt anordnen */
body.itemid-239 .article-intro-image.float-left img {
    float: left;                   /* Bild linksbündig (evtl. schon via float-left) */
    margin: 0 15px 4px 0;         /* Abstand zum Text */
    width: 300px !important;      /* Feste Breite: 300px */
    height: auto !important;      /* Höhe automatisch skalieren */
    border-radius: 5px;
}

/* Anpassungen für mobile Darstellung */
@media (max-width: 1024px) { /* Tablet */
    body.itemid-239 .article-intro-image.float-left img {
        width: 280px !important; 
    }
}

@media (max-width: 768px) { /* Mobile */
    body.itemid-239 .article-intro-image.float-left img {
        float: none;             /* Kein Float, damit das Bild über dem Text steht */
        display: block;
        margin: 0 auto 10px auto; /* Zentrieren & Abstand nach unten */
        width: 90% !important;
    }
}

/* Introtext fließt um das Bild */

/* ====== Starttabellen - Menu 172 ====== */

/* Den umgebenden Link vergrößern, damit der Hover-Zustand stabil bleibt */
body.itemid-172 .sppb-article-img-wrap {
    position: relative;
    display: inline-block;
    /* Hier wird ein zusätzlicher Bereich unterhalb des Originals geschaffen,
       der auch bei der Animation zum Hover zählt */
    padding-bottom: 2px;
	float: left;
	clear: both;
}

/* Standard-Styling für das Einleitungsbild */
body.itemid-172 .sppb-img-responsive {
    height: 80px !important;
    max-width: 100px;
    width: auto;
    float: left;
    clear: both;
    margin-bottom: 40px;
    padding-right: 6px;
    transform: translateY(0);
    transition: transform 1.5s ease-out, opacity 1.5s ease-out;
    will-change: transform, opacity;
    backface-visibility: hidden;
}

/* Hover-Zustand: Bild hebt ab und wird unsichtbar.
   pointer-events: none sorgt dafür, dass das Bild selbst keine weiteren Mausbewegungen verarbeitet. */
body.itemid-172 .sppb-article-img-wrap:hover .sppb-img-responsive {
    transform: translateY(-200px);
    opacity: 0;
    pointer-events: none;
}


/* Links & Kooperationen */

/* ====== Starttabellen - Menu 172 ====== */

/* Den umgebenden Link vergrößern, damit der Hover-Zustand stabil bleibt */
body.itemid-172 .sppb-article-img-wrap {
    position: relative;
    display: inline-block;
    /* Hier wird ein zusätzlicher Bereich unterhalb des Originals geschaffen,
       der auch bei der Animation zum Hover zählt */
    padding-bottom: 2px;
	float: left;
	clear: both;
}

/* Standard-Styling für das Einleitungsbild */
body.itemid-172 .sppb-img-responsive {
    height: 80px !important;
    max-width: 100px;
    width: auto;
    float: left;
    clear: both;
    margin-bottom: 40px;
    padding-right: 6px;
    transform: translateY(0);
    transition: transform 1.5s ease-out, opacity 1.5s ease-out;
    will-change: transform, opacity;
    backface-visibility: hidden;
}

/* Hover-Zustand: Bild hebt ab und wird unsichtbar.
   pointer-events: none sorgt dafür, dass das Bild selbst keine weiteren Mausbewegungen verarbeitet. */
body.itemid-172 .sppb-article-img-wrap:hover .sppb-img-responsive {
    transform: translateY(-200px);
    opacity: 0;
    pointer-events: none;
}

/* = */


body.itemid-172 .wf_file_icon {
    display: inline-block;
    width: 36px; /* Größe des Icons */
    height: auto;
    margin-left: 0rem; /* Abstand zwischen Icon und "Schedule:" */
    vertical-align: middle;
}


/* Tablet: Bild über Titel & Text zentriert */
@media (max-width: 1024px) {
    body.itemid-172 .sppb-img-responsive {
        float: none;
        display: block;
        margin: 0 auto 20px auto; /* Zentriert über dem Titel */
        max-width: 120px; /* Verhindert zu große Skalierung */
    }
}

/* Bereich mit Verzerrung (ca. 575px - 765px) */
@media (max-width: 765px) and (min-width: 576px) {
    body.itemid-172 .sppb-img-responsive {
        max-width: 90px; /* Begrenzt die Breite in diesem Bereich */
        height: auto; /* Beibehaltung des Seitenverhältnisses */
    }
}

/* Handy: Bild ausblenden */
@media (max-width: 575px) {
    body.itemid-172 .sppb-img-responsive {
        display: none;
    }
}
