body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
#mbOverlay{position:fixed;z-index:9998;top:0;left:0;width:100%;height:150%;background-color:#000;cursor:pointer}#mbOverlay.mbOverlayOpaque{background:url(../../assets/mediabox/images/80.png)}#mbOverlay.mbOverlayAbsolute{position:absolute}#mbOverlay.mbMobile{position:absolute;background-color:transparent}#mbBottom.mbMobile{line-height:24px;font-size:16px}#mbCenter{position:absolute;z-index:9999;left:50%;padding:10px;background-color:#000;-webkit-border-radius:10px;-khtml-border-radius:10px;-moz-border-radius:10px;border-radius:10px;filter:progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=180, Color='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=180, Color='#000000')";-webkit-box-shadow:0 5px 20px rgba(0,0,0,.5);-khtml-box-shadow:0 5px 20px rgba(0,0,0,.5);-moz-box-shadow:0 5px 20px rgba(0,0,0,.5);box-shadow:0 5px 20px rgba(0,0,0,.5)}#mbCenter.mbLoading{background:#000 url(../../assets/mediabox/images/loading-dark.gif) no-repeat center;-webkit-box-shadow:none;-khtml-box-shadow:none;-moz-box-shadow:none;box-shadow:none}#mbMedia{position:relative;left:0;top:0;font-family:Myriad,Verdana,Arial,Helvetica,sans-serif;line-height:20px;font-size:12px;color:#fff;text-align:left;background-position:center center;background-repeat:no-repeat}#mbBottom{line-height:20px;font-size:12px;font-family:Myriad,Verdana,Arial,Helvetica,sans-serif;text-align:left;color:#999;min-height:20px;padding:10px 0 0}#mbTitle,#mbPrevLink,#mbNextLink,#mbCloseLink{display:inline;color:#fff;font-weight:700}#mbNumber{display:inline;color:#999;font-size:.8em;margin:auto 10px}#mbCaption{display:block;color:#999;line-height:1.6em;font-size:.8em}#mbPrevLink,#mbNextLink,#mbCloseLink{float:right;outline:0;margin:0 0 0 10px;font-weight:400}#mbPrevLink b,#mbNextLink b,#mbCloseLink b{color:#eee;font-weight:700;text-decoration:underline}#mbPrevLink big,#mbNextLink big,#mbCloseLink big{color:#eee;font-size:1.4em;font-weight:700}#mbBottom a,#mbBottom a:link,#mbBottom a:visited{text-decoration:none;color:#ddd}#mbBottom a:hover,#mbBottom a:active{text-decoration:underline;color:#fff}#mbError{position:relative;font-family:Myriad,Verdana,Arial,Helvetica,sans-serif;line-height:20px;font-size:12px;color:#fff;text-align:center;border:10px solid #700;padding:10px 10px 10px;margin:20px;-webkit-border-radius:5px;-khtml-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#mbError a,#mbError a:link,#mbError a:visited,#mbError a:hover,#mbError a:active{color:#d00;font-weight:700;text-decoration:underline}
/* -----------------------------------------------------
   GRUNDLAYOUT (DESKTOP)
----------------------------------------------------- */
/* FIX: Padding zählt zur Breite, nicht zusätzlich. */
*,
*::before,
*::after {
    box-sizing: border-box;
}



/* ALLGEMEIN */
body {
    background:#dcf5df;
	/*background:#33b111 url("/files/layout/bg.gif") left top repeat-x;*/
    font-size: 1.0rem;
	font-family: Arial,Helvetica,Verdana,sans-serif;
    color:#000;
}

#wrapper {
}



/* KOPFZEILE */
/* HEADER */
#header {
    z-index: 1000;
    transition: padding 0.3s ease;
	background-color: #236f3e;
    padding: 5px 0;
}

#header .inside {
    display: flex;
    justify-content: center; /* Header als Ganzes zentrieren */
}

/* HORIZONTALE REIHE */
.header-row {
    display: flex;
    align-items: center;
    gap: 30px;
	transition:
		gap 0.3s ease,
		align-items 0.3s ease;
}

/* LOGO links */
#headerlogo a {
    display: block;
    line-height: 0;
}

#headerlogo img {
    height: 121px;      /* Originalhöhe */
    width: auto;
    transition: height 0.3s ease;
}


/* RECHTS: Headlines + Menü */
.header-right {
    display: flex;
    flex-direction: column;
}

/* HEADLINES */
#headlines {
    display: flex;
    flex-direction: column;
	transition: opacity 0.3s ease, max-height 0.3s ease;
    overflow: hidden;
}

#headline1,
#headline2 {
	font: 3.45rem sans-serif;
	font-weight: bold;
    font-variant: small-caps;
    color: #fff;
    line-height: 0.85;
	transition:
        font-size 0.3s ease,
        line-height 0.3s ease,
        letter-spacing 0.3s ease,
        opacity 0.3s ease;
}

/* MENÜ unter den Headlines */
#headermenu {
    margin-top: 6px;
	margin-bottom: 0px;
	transition: margin-top 0.3s ease;
}

/* Navigation */
.mod_navigation ul {
    display: flex;
    gap: 2px;
	margin: 0;
    padding: 0;
}

.mod_navigation li {
    list-style: none;
}


.mod_navigation a,
.mod_navigation strong {
    padding: 5px 10px;
	line-height: 1;
    background-color:#33b111;
    font-weight:bold;
    text-decoration:none;
    color:#fff;
	transition: padding 0.3s ease, font-size 0.3s ease;
}

.mod_navigation a:hover {
    background-color:#fff;
    color:#33b111;
}


/*HEADER-DEBUG
#header * {
    outline: 1px solid white;
}
#headerlogo a {
    outline: 2px solid #99ff00;
}
*/

/* Hamburgermenü nur Mobile */
#nav-toggle {
    display: none;
}


/* MITTELBEREICH */
/* HAUPTFRAME - ALLGEMEIN */
#main .inside {
    min-height:755px;
	max-width: 1100px;
	margin: 0px auto 0px auto;
    padding:5px;
	background-color:#ffffff;
}

#main h1 {
}

/* Willkommen-Text */
#startseite .content-text {
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}

#startseite .content-text img {
	margin-bottom: 30px;
}

#main a {
    text-decoration:none;
    color:#0647a1;
}

#main a:hover {
    text-decoration:underline;
}



/* HAUPTFRAME - STARTSEITE */
/* Gelbes Aktuell-Feld */
#aktuell {
    width:50%;
    margin:0 auto 5px;
    padding:5px;
    text-align:justify;
}

#aktuell h1 {
    margin:0 0 3px;
    font-size:16px;
}

/* Einzelne Meldung */
#aktuell .mod_newslist .layout_short {
    margin-bottom:20px;
    padding:0;
    background-color:#dcf5df; /*d4d44a;*/
}

/* Datum und Uhrzeit der Meldung */
#aktuell .mod_newslist .info {
    margin:0;
    padding:0 3px 0 0;
    text-align:right;
	background-color:#7ea15f;
    font-size:11px;
    font-weight:bold;
    color:#fff;
	padding: 5px;
}

/* Überschrift der Meldung */
#aktuell .mod_newslist h2 {
    margin-right:5px;
    margin-bottom:0;
    margin-left:5px;
    text-align:left;
    font-size:14px;
}

/* Teasertext der Meldung */
#aktuell .mod_newslist p {
    margin-right:5px;
    margin-left:5px;
    text-align:justify;
}

/* Weiterlesen Button */
#aktuell .mod_newslist .more {
    margin:0 5px 3px;
    padding:0;
    text-align:right;
}

.oeffnungszeiten {
    width:50%;
    margin-top:20px;
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}

.oeffnungszeiten table {
    width:100%;
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}

#main .oeffnungszeiten tr {
    background-color:#dcf5df;
}

#main .oeffnungszeiten th {
    background-color:#7ea15f;
	color: #ffffff;
    font-size:16px;
}

#main .oeffnungszeiten th,
#main .oeffnungszeiten td {
    margin:10px;
    padding:10px;
}

#main .oeffnungszeiten td:nth-child(1) {
    text-align:right;
    font-weight:bold;
}

#main .oeffnungszeiten tr:hover {
  background-color: #afd4c6;
}


/* HAUPTFRAME - MELDUNGEN */
/* News-Element allgemein */
#main .mod_newsreader {
    min-height:400px;
}

/* News-Element: Verfasser */
#main .mod_newsreader .info {
    margin-right:5%;
    text-align:right;
    font-size:10px;
    color:#808080;
}

/* News-Element: Zurück-Button */
#main .back {
    margin-right:5%;
    text-align:right;
}

/* News-Element: Zurück-Button */
#main .back a {
    padding:5px;
    background-color:#7ea15f;
    font-weight:bold;
    color:#fff;
}

/* News-Liste: Überschrift "Weitere Meldungen" */
#main .mod_newslist h1 {
    margin-top:20px;
    padding:5px;
    background-color:#7ea15f;
    font-size:13px;
    font-weight:bold;
    color:#fff;
}

/* News-Liste: Listenelement */
#main .mod_newslist .layout_simple {
    margin-bottom:10px;
    margin-left:50px;
}

/* News-Liste: Listenelement Überschriften */
#main .mod_newslist .layout_simple a {
    margin-left:10px;
}

/* Vor-Zurück-Leiste */
#main .mod_newslist .pagination {
    margin-top:20px;
    padding:2px;
    text-align:center;
    background-color:#7ea15f;
    font-size:13px;
    color:#fff;
}

/* Vor-Zurück-Leiste: Seite 1 von x und Seitenwechsel */
#main .mod_newslist .pagination p,
#main .mod_newslist .pagination ul {
    margin:0 auto;
    padding:0;
    text-align:center;
}

/* Vor-Zurück-Leiste: Seite 1 von x */
#main .mod_newslist .pagination p {
    font-size:10px;
}

/* Vor-Zurück-Leiste: Abstand und nebeneinander der Seitenlinks */
#main .mod_newslist .pagination li {
    display:inline;
    padding:2px 5px;
    font-size:11px;
    list-style-type:none;
}

/* Vor-Zurück-Leiste: Seitenlinks */
#main .mod_newslist .pagination a {
    color:#fff;
}

/* Vor-Zurück-Leiste: Seitenlinks */
#main .mod_newslist .pagination .active {
    color:#c3c3c3;
}



/* HAUPTFRAME - BILDERGALERIE */
/* gesamtes Accordion Element */
#main .ce_accordion {
    margin-bottom:10px;
    padding-top:0;
    padding-bottom:5px;
    background-color:#dcf5df;
}

/* Accordion Überschrift */
#main .ce_accordion .ui-accordion-header {
    margin:0;
    padding:5px;
    background-color:#7ea15f;
    font-size:16px;
    font-weight:bold;
    color:#fff;
}

/* Accordion Inhalt */
#main .ce_accordion .ui-accordion-content {
    padding-top:5px;
}

#main .ce_accordion img {
	padding-right: 5px;
}


/* HAUPTFRAME - KALENDER */
table.calendar {
    width:100%;
    background-color:#fafafa;
}

.calendar .head {
    padding-top:.5em;
    padding-bottom:.5em;
    text-align:center;
    background:#f3f3f3 url("/files/layout/kalender.jpg") left bottom repeat-x;
    border-top:1px solid #dfdfdf;
    border-bottom:1px solid #dfdfdf;
}

.calendar th.previous {
    padding-left:.75em;
    text-align:left;
    border-left:1px solid #dfdfdf;
}

.calendar th.next {
    padding-right:.75em;
    text-align:right;
    border-right:1px solid #dfdfdf;
}

/* Anzeigefehler #main a */
.calendar th a {
    text-decoration:none;
    color:#333;
}

/* Anzeigefehler #main a:hover */
.calendar th a:hover {
    text-decoration:underline;
}

.calendar td {
    width:14.3%;
    height:9em;
    vertical-align:top;
    border-right:1px solid #dfdfdf;
    border-bottom:1px solid #dfdfdf;
}

.calendar .col_first {
    border-left:1px solid #dfdfdf;
}

.calendar .weekend {
    background-color:#f3f3f3;
}

.calendar .label {
    padding-top:2px;
    padding-bottom:2px;
    background-color:#3b3b3b;
    font-weight:bold;
    color:#fff;
}

.calendar .today {
    background-color:#f3f3f3;
}

.calendar .header {
    margin:1px;
    padding:1px;
    background-color:#e5e5de;
    font-size:.9em;
    text-decoration:none;
    color:#666;
}

/* Kategorie Kalender Hubertus Ungerhausen */
.calendar .cal_1 {
    padding:1px;
    background-color:#b0d9ff;
}

.calendar .event a {
    font-size:11px;
    line-height:1.1em;
    text-decoration:none;
    color:#333;
}

.calendar .event a:hover {
    text-decoration:underline;
}

.calendar td:hover {
  background-color: #afd4c6;
}


/* ANFAHRT */
#main #map-consent {
	max-width: 500px;
	margin: 20px auto;
	padding: 20px;
	text-align: center;
	border: 1px solid #cccccc;
}

/* KONTAKT */

/* Formular mittig platzieren */
form {
    max-width: 600px;   /* gewünschte Breite */
    margin: 0 auto;     /* zentriert das Formular */
}

/* Jede Zeile als flexbox */
.formbody .widget {
    display: flex;
    align-items: center;
    gap: 15px;           /* Abstand zwischen Label und Feld */
    margin-bottom: 12px; /* Abstand zwischen Zeilen */
}

/* Linke Spalte: Labels rechtsbündig */
.formbody .widget label {
    width: 180px;        /* gleiche Breite für alle Labels */
    text-align: right;   /* rechtsbündig */
    display: block;
}

/* Rechte Spalte: Eingabefelder linksbündig */
.formbody .widget input,
.formbody .widget select,
.formbody .widget textarea {
    flex: 1;             /* füllt rechts die Zeile */
}

/* Ausnahme: textarea (höher, aber selbes Verhalten) */
.formbody .widget-textarea {
    align-items: flex-start;
}

/* Altcha soll wie die anderen Widgets eingerückt sein */
.widget-altcha {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

/* Leeres „Label-Feld“ links, damit es bündig passt */
.widget-altcha::before {
    content: "";
    width: 180px; /* exakt dieselbe Breite wie die Label-Spalte */
    display: block;
}

/* Altcha-Widget rechts bündig zum restlichen Formular */
.widget-altcha altcha-widget {
    flex: 1;
}


/* Senden-Button zentriert */
.widget-submit {
    justify-content: center !important;
}



/* HAUPTFRAME - IMPRESSUM */
/* TABELLEN */
#main .impressum {
	width:550px;
	margin: 10px auto;
}

#main .impressum tr:nth-child(odd) {
  background-color: #f3f3f3;
}

#main .impressum tr:nth-child(even) {
  background-color: #fafafa;
}

#main .impressum tr:hover {
  background-color: #afd4c6;
}

#main .impressum td:nth-child(1) {
  width: 50%;
  margin: 0;
  padding: 10px;
  vertical-align: top;
  text-align: right;
}

#main .impressum td:nth-child(2) {
  width: 50%;
  margin: 0;
  padding: 10px;
  vertical-align: top;
  text-align: left;
}



/* FUSSZEILE */
#footer {
    padding:3px;
    background-color:#236f3e;
    align-items: center;
    gap: 10px;               /* Abstand zwischen Text und Menü */
	font-size:0.875rem;
	color:#ffffff;
    /*color:#b3bdaf;*/
}

#footer .inside {
    text-align: center; 
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

/* Beide Footer-Elemente sollen die volle Breite einnehmen */
#footer .inside > div,
#footermenu {
    width: 100%;
}

/* Menü-Elemente horizontal */
#footermenu ul {
    list-style: none;
	display: flex;
	justify-content: center; /* Jetzt wirklich zentriert über gesamte Breite */
    gap: 10px;                  /* Abstand zwischen Menüpunkten */
    list-style: none;
    margin: 0px;
    padding: 0px;
}

/* Trenner „|“ einfügen */
#footermenu ul li:not(:last-child)::after {
    content: " | ";
    margin-left: 10px;
}

#footer a {
    text-decoration:underline;
	color:#ffffff;
    /*color:#b3bdaf;*/
}

#footer a:hover {
	background-color:#ffffff;
    /*background-color:#b3bdaf;*/
    text-decoration:none;
	    color:#236f3e;
}

#backToTop {
    position: fixed;       /* Immer sichtbar an einer Position */
    bottom: 30px;          /* Abstand vom unteren Rand */
    right: 30px;           /* Abstand vom rechten Rand */
    display: none;         /* Anfangs unsichtbar */
    background-color: #b0d9ff; /*#33b111; /* Button-Farbe */
    color: #000000;
    border: none;
    padding: 10px 15px;
    border-radius: 15%;    /* Runde Form */
    cursor: pointer;
    font-size: 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
    transition: opacity 0.3s, transform 0.3s;
    z-index: 1000;
}

#backToTop:hover {
    background-color: #ffffff;
	color: #33b111;
    transform: scale(1.1);
}

/* -----------------------------------------------------
   DESKTOP LAYOUT
----------------------------------------------------- */
@media (min-width: 769px) {
	#header {
		position: sticky;
		top: 0;
		transition: padding 0.3s ease;
	}
	
	/* Header generell */
	#header {
		padding: 6px 0;
	}
  
	.header-row {
		display: flex;
		align-items: flex-start;
		gap: 30px;
	}

	.header-content {
		display: flex;
		flex-direction: column;
		gap: 6px;
		transition: gap 0.3s ease;
	}

	#headlines {
		margin-bottom: 6px;
	}

	.desktop-menu ul {
		display: flex;
		gap: 2px;
	}

	#nav-toggle {
		display: none;
	}

	.mobile-menu {
		display: none;
	}
  

	/* ========== SHRINK ========== */
	#header.shrink {
		padding: 2px 0;
	}
  
	#header.shrink .header-row {
		gap: 10px;
  }

  /* Logo schrumpfen */
  #header.shrink #headerlogo img {
    height: 52px;
  }

  /* Rechter Block zusammenziehen */
  #header.shrink .header-content {
    gap: 2px;
  }

  /* Headlines kleiner */
  #header.shrink #headline1 {
    font-size: 0.95rem;
    opacity: 0.7;
  }

  #header.shrink #headline2 {
    font-size: 1.2rem;
  }

  /* Navigation kompakter */
  #header.shrink .desktop-menu a,
  #header.shrink .desktop-menu strong {
    padding: 3px 8px;
	font-size: 0.9rem;
    line-height: 1;
  }
  
  
	/* MAIN */
	/* KALENDER */
	.cal_mobile {
		display: none;
	}
 
}


/* -----------------------------------------------------
   MOBILE LAYOUT
----------------------------------------------------- */
@media (max-width: 768px) {
	/* KOPFZEILE */
	/* Header ruhig & unsticky */
	#header {
		position: relative;   /* WICHTIG */
   }
   
   #header .inside {
        display: block;
   }

	/* Eine klare Zeile */
	.header-row {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	/* Logo links */
	#headerlogo img {
		height: 48px;
		width: auto;
	}

	/* Mittlerer Block: Headlines */
	.header-content {
		display: flex;
		flex-direction: column;
		justify-content: center;
		line-height: 1.1;
	}

	#headline1,
	#headline2 {
		font-size: 0.9rem;
		font-weight: bold;
	}

	#headline1 {
		opacity: 0.75;
	}

	/* Hamburger ganz rechts */
	#nav-toggle {
		display: block;
		margin-left: auto;
		background: none;
		border: none;
		color: #fff;
		font-size: 2rem;
		cursor: pointer;
	}

	/* Desktop-Menü auf Mobile aus */
	.desktop-menu {
		display: none;
	}

	/* Mobile-Menü: klappt unter Header auf */
	#headermenu {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		display: none;
		background-color: #236f3e;
		z-index: 2000;
	}

	#headermenu.open {
		display: block;
	}

	/* Mobile-Menüpunkte untereinander */
	#headermenu ul {
		display: block;
		flex-direction: column;
		margin: 0;
		padding: 8px 0;
	}
	#headermenu li {
		display: block;
		border-bottom: 1px solid #fff;
	}

	#headermenu a,
	#headermenu strong {
		display: block;
		text-align: right;      /* rechtsbündig */
		padding: 12px 16px;
		line-height: 1.3;       /* WICHTIG gegen Überschneiden */
		box-sizing: border-box;
		padding: 12px;
		color: #fff;
		text-decoration: none;
	}
	
	
	
	
	/* HAUPTFRAME - ALLGEMEIN */
	#main .inside {
		min-height:0px;
		max-width: 100%;
		width: 100%;
		padding:10px;
		margin: 0;
		overflow-x: hidden;   /* Sicherheitsnetz */
	}
	
	
	
	/* STARTSEITE */
	#startseite .content-text {
		text-align: center;
	}

	#startseite figure {
		margin: 0;
	}

	#startseite img {
		display: block;
		width: 100%;        /* ✅ volle Breite */
		height: auto;
	}
	
	#aktuell {
		width:100%;
		padding:0;
		margin:0;
    }
	
	#aktuell .layout_short {
		margin: 0 0 15px;
		padding: 10px;
		background-color: #dcf5df;
	}
	
	.oeffnungszeiten {
		width: 100%;
		max-width: 100%;
		padding:0;
		margin: 0;
	}

	.oeffnungszeiten table {
		width: 100%;
	}

	.oeffnungszeiten th,
	.oeffnungszeiten td {
		padding: 8px;
		margin: 0; 
		font-size: 0.9rem;
	}
	
	#startseite img {
		display: block;
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	#startseite figure {
		margin: 0;
		padding: 0;
	}
	
	
	
	
	/* MELDUNGEN */
	/* Einzelne Meldung */
	.mod_newslist .layout_simple {
		display: block;
		padding-left: 0px;
		padding-right: 0px;
		margin-left: 5px !important;
		margin: 0;
		border-bottom: 1px solid #cfded3;   /* ✅ Trennbalken */
		padding-bottom: 14px;
	}

	/* Datum + Uhrzeit */
	.mod_newslist .layout_simple time {
		display: block;                    /* ✅ eigene Zeile */
		font-size: 0.85rem;
		color: #666;
		margin-bottom: 4px;
	}

	/* Meldungstitel */
	.mod_newslist .layout_simple a {
		display: block;                    /* ✅ volle Breite */
		font-size: 1rem;
		font-weight: bold;
		line-height: 1.3;
		padding-left: 0;  
		margin-left: 0 !important;
		margin: 0;
	}
	/* Trennlinie nur bis zur letzten Meldung entfernen */
	.mod_newslist .layout_simple:last-child {
		border-bottom: none;
	}
	
		
	
	/* BILDERGALERIE */
	
	/* KALENDER */
	/* Umschalten Desktop ↔ Mobile */
	.cal_desktop {
		display: none;
	}

	.cal_mobile {
		display: block;
	}
	
	/* Breite & Zentrierung */
	.cal_mobile table.minicalendar {
		width: 100%;
		table-layout: fixed;   /* ✅ verhindert Überlaufen */
		border-collapse: collapse;
	}

	.cal_mobile th,
	.cal_mobile td {
		text-align: center;
		padding: 6px 0;
		font-size: 0.85rem;
	}
	
	/* Header-Zeile */
	.cal_mobile .head {
		background-color: #dcf5df;
	}

	.cal_mobile .head.current {
		font-weight: bold;
	}
	
	.cal_mobile td.active a {
		display: inline-block;
		width: 100%;
		line-height: 2;
		background-color: #b0d9ff; /*#dcf5df;*/
		border-radius: 10%;
		font-weight: bold;
	}
	
	
	
	/* VERSUCH 1 MIT HORIZONTALEM SCROLL WENN DESKTOP KALENDER AUF MOBILE BENUTZT WIRD*/
	/* Scroll-Container
	.mod_calendar {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* Tabelle breiter als Screen
	.mod_calendar table.calendar {
		min-width: 700px;
	}
	
	/* EVENTLISTE */
	.mod_eventlist .event {
		background-color: #dcf5df;
		padding: 5px;
		margin-bottom: 20px;
	}
	
	.mod_eventlist h2 {
		display: none;
	}
	
	.mod_eventlist .event h2,
	.mod_eventlist .event .ce_text p {
		display: block;
		margin: 0;
		padding: 0;
	}
	
	.mod_eventlist .time,
	.mod_eventlist .location {
		padding: 0;
		text-align: right;
		margin: 0;
		margin-bottom: 5px;
		color: #999999;
		font-size: 0.75rem;
	}
	
	
	/* KONTAKTFORMULAR */
	/* Jede Formularzeile untereinander */
	.formbody .widget {
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
	}

	/* Label über dem Feld */
	.formbody .widget label {
		width: auto;
		text-align: left;
		font-weight: bold;
		padding: 0;
	}

	/* Eingabefelder volle Breite */
	.formbody .widget input,
	.formbody .widget textarea {
		width: 100%;
		box-sizing: border-box;
	}

	/* Textarea sinnvoll groß */
	.formbody .widget-textarea textarea {
		min-height: 140px;
	}

	/* Captcha ebenfalls sauber umbrechen */
	.formbody .widget-captcha {
		flex-direction: column;
		align-items: stretch;
	}

	.captcha_text {
		margin-top: 4px;
		font-size: 0.9rem;
	}

	/* Absenden-Button groß & bequem */
	.widget-submit {
		justify-content: stretch !important;
	}

	.widget-submit button {
		width: 100%;
		padding: 12px;
		font-size: 1rem;
	}
	
	.formbody .widget {
		margin-bottom: 16px;
	}
	
	.formbody .widget label .mandatory {
		color: #c00;
		font-weight: bold;
	}
	
	
	
	
	/* IMPRESSUM */
	/* Impressum-Container volle Breite */
	#main .impressum {
		width: 100%;
		margin: 0;
	}

	/* Tabelle flexibel */
	#main .impressum table {
		width: 100%;
		border-collapse: collapse;
	}

	#main .impressum td {
		display: block;           /* ✅ jede Zelle eigene Zeile */
		width: 100%;
		padding: 8px 6px;
		box-sizing: border-box;
	}

	/* Bezeichner fett */
	#main .impressum td:first-child {
		font-weight: bold;
		text-align: left;
		padding-bottom: 2px;
		width: 100%;
	}

	/* Werte darunter */
	#main .impressum td:last-child {
		padding-bottom: 12px;
		width: 100%;
	}
	
	
	
	
	/* FOOTER */
	
}


/* -----------------------------------------------------
   KLEINES MOBILE LAYOUT
----------------------------------------------------- */
@media (max-width: 480px) {
	
}

/* -----------------------------------------------------
   SEHR KLEINES MOBILE LAYOUT
----------------------------------------------------- */

@media (max-width: 360px) {
  #headline1,
  #headline2 {
    font-size: 0.75rem;
  }
}
