:root {
	--font-main: 'Roboto', sans-serif;
	--standard-font-size: 18px; 
	--standard-letter-spacing:.04em;
	--color-bg: #e8e8e8;
	--color-white: #F1F3F4;
	--color-grey: #F4F5F0;
	--color-black: #000000;
	--color-primary-lighter: #aaa;
	--color-primary: #244428;
	--color-secondary: #C7DEB9;
	--color-darkgreen: #244428;
	--color-dark-darkgreen: #19321C; 
	--color-yellow: #EAA700;
	--color-darkyellow: #D39701;

	--color-accent: #C7DEB9;
	--color-highlight: rgba(92, 123, 100, 0.8);
	--color-hover: #7a9e7e;
	--color-cta: #C7DEB9;
	--color-fadegreen: #D1D3BB;
	--transition-fast: 0.3s ease;
	--transition: all 0.5s ease;
	--rounded: 10px;

	--medium-rounded: 14px;
	--fieldbuttonrounded: 8.5px;
	--border-width:2px;
}

html, body {
	scroll-behavior: smooth;
	background-color:#244428;
}

html, body { background-color: #244428; }
html { min-height: 100%; }

body {
	margin: 0;
	font-family: 'Roboto', sans-serif;
	background-color: var(--color-bg);
	font-weight: 200;
	font-size: 18px; 

	letter-spacing: var(--standard-letter-spacing);
}

main {
	background-color: var(--color-bg);
}
main > section.standard {
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}

a {
	text-decoration: none;
	color: inherit;
}

p {
  font-size: 18px;         
  line-height: 140%;       
  margin-bottom: 4.2rem;   /* sauberer Abstand zwischen Absätzen */
}


section h1 {
	font-size: 2.3rem;
	font-weight: 600;
	color: black;
	margin-top: .5rem;
	margin-bottom: 1.5rem;
}

section h2 {
	font-size: 2.3rem;
	font-weight: 600;
	color: black;
	margin-top: 0;
	margin-bottom: 1.5rem;
    color: var(--color-darkgreen);
}

section h3 {
	font-size: 1.8rem;
	font-weight: 600;
	color: black;
	margin-top: .5rem;
	margin-bottom: .5rem;
}

.button {
  display: inline-block;
  background-color: var(--color-yellow);
  color: white;
  font-weight: 500;
  padding: 0.8em 1.3em;
  border: none;
  border-radius: var(--fieldbuttonrounded);
  transition: background-color 0.2s ease;
  text-decoration: none;
  cursor: pointer;
  font-family: 'Roboto', sans-serif;
}

.button:hover {
  background-color: var(--color-darkyellow);
}

header {
	color: var(--color-primary);
	z-index: 1001;
	height: 140px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: transparent;
}


.header-inner {
	max-width: 1570px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	z-index: 200;
	margin-top: 2.5rem;
	background-color: var(--color-darkgreen);
	padding: 0rem 0.9rem 0rem 1.2rem;
	height: 70px;
	border-radius: var(--medium-rounded);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.35);
}


.logo-container {
	display: flex;
	align-items: center;
	position: relative;
	text-align: center;
	padding-left: 0px;
	transition: 0.5s;
	justify-content: center;
	height: 77px;
}

header.scrolled .logo-container {
	padding-left: 0px;
	transition: 0.5s;
}


.headerinner-right {
	display: flex;
	flex-direction: column;
	gap: 0rem;
	width: 80%;
	padding-top: .1rem;
	position: relative;
	transition: 0.5s;
	justify-content: center;
	height: 68px;
}



.scrolled .headerinner-right {
	gap: 1rem;
}




@media (min-width:800px) {
	nav {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		flex-grow: 1;
		z-index: 1200;
		position: relative;
	}

	.mobile-back-button {
		display: none;
	}

	nav > ul {
		display: flex;
		gap: 1rem;
		list-style: none;
		padding: 0;
		margin: 0;
	}

	nav.pagination {
		display: flex;
		justify-content: flex-start;
		flex-grow: 1;
		z-index: 1200;
		position: relative;
	}

	nav.pagination > ul {
		display: flex;
		gap: 1rem;
		list-style: none;
		padding: 0;
		margin: 0;
	}

	nav > ul > li {
		position: relative;
		z-index: 1201;
	}

	nav ul>li>a {
		display: inline-block;
		position: relative;

		text-align: center;
		height: auto;
		text-decoration: none;
		color: inherit;
		color: var(--color-darkgreen);

		color: var(--color-bg);
		background-color: var(--color-darkgreen);
		padding: .8rem 0rem .5rem 0rem;
		border-radius: 0;
	}


	nav>ul>li>a:hover,
	nav>ul>li>a.rex-active,
	nav>ul>li>a.rex-current {
		color: var(--color-bg);
		border-bottom:2px solid var(--color-white);
		border-radius:0;
	}

nav > ul > li.rex-article-7 a.button {
position: relative;
z-index: 1201;
border-radius:var(--fieldbuttonrounded);
border-bottom:0px;
}
nav > ul > li.rex-article-7 a.button:hover {
	border-radius:var(--fieldbuttonrounded);
	border-bottom:0px;
}

	.pagination a.active {
		color: var(--color-bg);
		background-color: var(--color-darkgreen);
		padding: 0rem 1rem 0rem 1rem;
		border-radius: var(--fieldbuttonrounded);
	}


	nav li ul {
		position: absolute;
		top: 100%;
		left: 0;
		display: none;
		flex-direction: column;
		background: transparent;
		padding: 0.0rem 0em;
		box-shadow: 0 0px 0px rgba(0, 0, 0, 0.1);
		z-index: 1500;
		gap: 0;
		border-radius: var(--medium-rounded);
	}

	nav li:hover>ul {
		display: block;
		z-index: 1500;
		display: flex;
		gap: 0px;
		background-color: var(--color-bg);
	}

	nav li ul li {
		padding: 0;
		margin: 0;
		min-width: 180px;
	}

	nav ul li ul li a {
		display: block;
		position: relative;

		text-align: left;
		height: auto;
		text-decoration: none;
		color: inherit;
		color: var(--color-darkgreen);
		background-color: var(--color-hellgruen);
		padding: .5rem 1rem .5rem 1rem;
		border-radius: var(--medium-rounded);
	}

	nav ul li ul li a:hover,
	nav>ul>li>ul>li>a.rex-active,
	nav>ul>li>ul>li>a.rex-current {
		display: block;
		position: relative;

		text-align: left;
		height: auto;
		text-decoration: none;
		color: inherit;
		color: var(--color-bg);
		background-color: var(--color-darkgreen);
		padding: .5rem 1rem .5rem 1rem;
		border-radius: var(--medium-rounded);
	}


	nav ul li ul li:first-child a {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}

	nav ul li ul li:last-child a {
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}
}


.burger {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 30px;
	height: 28px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	margin-left: auto;
	margin-top: .5em;
	z-index: 1000;
}

.burger span {
	display: block;
	height: 1.5px;
	width: 30px;
	background-color: var(--color-white);
	border-radius: 0px;
	margin-top: 4px;
	margin-bottom: 4px;
	transition: 0.3s;
}


section {
	z-index: 1;
}

section.hero {
	position: relative;
	margin-top: 0px;
	height: 55vw;
	z-index: 999;
}

#inhalt16 {
	padding: 30px 0 50px 0;
	background-color: #fff;
}

@media screen and (min-width:1500px) {
	section.hero {
		position: relative;
		margin-top: 0px;
		height: 50vw;
		z-index: 999;
	}
}

@media screen and (min-width:2000px) {
	section.hero {
		position: relative;
		margin-top: 0px;
		height: 50vw;
		z-index: 999;
	}
}


section.hero .textrahmen {
	background-color: transparent;
	border-radius: var(--rounded);
	padding: 1rem 1.5rem 1rem 1.5rem;
	width: 60%;
	position: absolute;
	bottom: 8rem;
	left: 15%;
	z-index: 1000;
	color: #fff;
}

section.hero .textrahmen h2, 
section.hero .textrahmen h1 {
	color: #fff;
	font-size: 5.5rem;
	letter-spacing: -0.1rem;
	line-height: 110%;
	margin-bottom: 0rem;
}

.slide-overlay p:not(.headerButtons) {
  font-weight: 500;
  font-size: 1.3rem;
  margin-top: 0.7rem;
  margin-bottom: 2.8rem;
}

main section.textrahmen {
	z-index: 5;
	position: relative;
}

main section {
	padding: 1.5rem 7rem 1.5rem 7rem;
	padding: 1.5rem 7rem 1.5rem 7rem;
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
}

main section.zahlenModulWrapper {
margin-left: 0;
	margin-right: 0;
	max-width:100%;
}

main section.news {
padding: 3rem 7rem 3em 7rem;

}

main section.slideshowundtext {
	padding: 7rem 0 7rem 0;
	margin-left: 0;
	margin-right: 0;
	max-width:100%;
}

main section:first-child {
	padding-top: 7rem;
}

main section:last-child {
	padding-bottom: 7rem;
}

@media screen and (max-width:1600px) {
	
	main section {
		padding: 1.5rem 3rem 1.5rem 3rem;
	}
	
	main section.news {
		padding: 3rem 4rem 3em 4rem;
	}
	main section:first-child {
		padding-top: 6rem;
	}
	section.hero .textrahmen br {
		display: none;
	}

	.header-inner {

		width: 91%;
	}

	nav ul {
		gap: .5rem;
	}

	nav>ul>li {
		padding: 0rem 0rem 0rem 0rem;
	}

	nav>ul>li>a {
		padding: .8rem 0rem .5rem 0rem;
	}

	.logo-container {

		width: 18%;
		height: 78px;
		margin-top: 0px;
	}

	.logo-container svg {

		width: 100%;
		height: auto;
	}

	section.hero .textrahmen {

		position: absolute;
		bottom: 5rem;
		left: 5%;
	}

	section.hero .textrahmen h2 {
		color: #fff;
		font-size: 4rem;
	}

	section.inhalt2spalten {
		display: flex;
		justify-content: space-between;
		gap: 3rem;
		flex-wrap: wrap;
		max-width: 1600px;
	}

	.inhalt2spalten .spalte {
		width: 46%;
		flex: 1;
		flex-direction: column;
		display: flex;
		align-items: center;
		justify-content: center;
	}


}

	.inhalt2spalten .spalte img {
		max-width: 100%;
		height: auto;
		border-radius: var(--medium-rounded);
	}

	section.inhalt2spalten {
	max-width:1600px;

	}


.slideshow {
	position: relative;
	width: 100%;
	height: 100%;
	z-index:5;
}

.slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 2s ease-in-out;
	z-index: 0;
}

.slide.active {
	opacity: 1;
	z-index: 1;
}


.herobuttons {
	flex: 2;
	max-width: 400px;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.herobuttons a {
	padding: 0.5rem 1rem;
	background-color: rgba(255, 255, 255, 0.9);
	border-radius: var(--rounded);
}

.herosocial {
	flex: 0.4;
	max-width: 350px;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.herosocial a {
	padding: 0.3rem 0.4rem;
	background-color: rgba(255, 255, 255, 0.9);
	aspect-ratio: 1 / 1;
	width: 1.5rem;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--rounded);
}


section.inhalt2spalten {
	display: flex;
	justify-content: center;
	gap: 3rem;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	margin-right:auto;
	margin-left:auto;
}

.inhalt2spalten .spalte {
	width: 46%;
	flex: 1;
	flex-direction: column;
	display: flex;
	align-items: center;
	justify-content: center;
}

.inhalt2spalten .spalte img {
	max-width: 100%;
	height: auto;
}


section.news .inhalt2spalten.beitrag-kachel {
	display: flex;
	gap:0;
	margin-bottom:0rem;
}

.inhalt2spalten.beitrag-kachel {
	display: flex;

	border-radius: var(--medium-rounded);
	overflow: hidden;
	margin-bottom: 2rem;
		flex-direction: row;
}

.inhalt2spalten.beitrag-kachel > .spalte.text-spalte {
	flex: 1 1 35%;
	padding: 2rem;
	background-color: var(--color-fadegreen);

	}

.inhalt2spalten.beitrag-kachel .text-spalte {
	width: 46%;
	flex: 1;
	flex-direction: column;
	display: flex;
	align-items: start;
	justify-content: center;
}
.inhalt2spalten.beitrag-kachel .text-spalte p {
	margin-bottom: 0.5rem;
}


.inhalt2spalten .spalte div.anlesetext {
	margin-top: 1rem;
}

.inhalt2spalten.beitrag-kachel .spalte.bild-spalte {
	flex: 1 1 65%;
	min-height: 500px;
	background-size: cover;
	background-position: center;
}

.inhalt2spalten.beitrag-kachel .beitrags-ueberschrift {
  color: var(--color-darkgreen);
  padding-bottom: 1.2rem;

}

.inhalt2spalten.beitrag-kachel .beitrags-datum {
  color: var(--color-darkgreen); 
  font-weight: 500;
  padding-bottom: 0.5rem;
  margin-top: 0;
}

.footer {
	background-color: var(--color-primary);

	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: white;
	padding: 5rem 2rem 0rem 2rem;
	margin-top: 0px;
	display: flex;
	justify-content: center;
	position: relative;
}

.footer a,
.footer h1,
.footer h2 {
	color: var(--color-bg);
}

.footer-container {
	background: transparent;
	color: var(--color-bg);
	display: flex;
	flex-direction: row;
	gap: 2rem;
	padding: 0;
	border-radius: var(--rounded);
	margin-right: 1rem;
	margin-left: 1rem;
	width: 90%;
}


.footerModulInner {
  max-width: 1800px;
  margin: 0 0;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding: 0 2rem 0rem 2rem;
  flex-direction:row;
  width:100%;
}

.footerSpalte {
  min-width: 200px;
  width: 30%;
  display: flex;
  flex-direction: column;
}
/* Optional: SVG-Jägerfigur in Spalte 1 */


/* Texte & Links */
.footerSpalte p {
  margin: 0 0 1rem 0;
  line-height: 1.6rem;
}

.footer .footerSpalte p:first-of-type strong {
  font-weight: 800;
  line-height: 3rem;
}

.footerSpalte.footerSpalte1 p {
  margin: 0 0 0rem 0;
  font-size: 1rem;
  line-height: 0;
}


.footerSpalte.footerSpalte1 {
width: 60%;

}

.footerSpalte.footerSpalte2,
.footerSpalte.footerSpalte3 {
  display: flex;
  flex-direction: column;
  padding-top: 10rem; /* Abstand nach oben – anpassen nach Bedarf */
}

.footerSpalte a {
  color: white;
  text-decoration: none;
  margin-right: 0.5rem;
}

.footerSpalte a.instagram,
.footerSpalte a.mail {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  background-color: var(--color-yellow);
  text-decoration: none;
  margin-right: 0.4rem;
  border-radius: var(--fieldbuttonrounded);
  padding: 2px;
}

.footerSpalte a.instagram:hover,
.footerSpalte a.mail:hover {
  background-color: var(--color-darkyellow);
}

.footerSpalte a.instagram i {
  font-size: 1.9rem;
}

.footerSpalte a.mail i {
  font-size: 1.8rem;
}

.footerSpalte.footerSpalte2 > *:last-child,
.footerSpalte.footerSpalte3 > *:last-child {
  margin-top: 3.5rem;
}
@media (min-width:800px) and (max-width:1500px) {

.footerSpalte.footerSpalte1 {
width: 35%;

}

.footerSpalte.footerSpalte1 img {
max-width:100%;
height:auto;
width:80%; !important;
}
.footerSpalte.footerSpalte2 {
width: 30%;

}
.footerSpalte.footerSpalte3 {
width: 35%;

}
}
.auflistung {
display:flex;
gap:1rem;
justify-content: space-between;
flex-direction:row;
flex-wrap: wrap;
max-width:1600px;
margin:auto;
}

.listelement {
  background-color: var(--color-fadegreen);
  border-radius: var(--medium-rounded);
  overflow: hidden;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  height: auto;
  width: 48%;
  margin: 1rem 0;
  margin-bottom: 1.8rem;
}


/* Vorschaubild ganz oben */
.listelement .vorschaubild {
  order: 0;
  width: 100%;
  height: 350px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}

/* Überschrift */
.listelement h3 {
  order: 1;
  color: var(--color-darkgreen);
  padding: 0 2rem;
  text-align: left;
  padding-top: 1rem;
  padding-bottom: 2.5rem;
}

/* Datum unterhalb der Überschrift */
.listelement .datum {
  order: 2;
  padding: 0.3rem 2rem 0 2rem;
  color: var(--color-darkgreen);
  margin: 0 0 -3.2rem 0;
  background: none;
  text-align: left;
  font-weight: 500;
}

/* Anlesetext ausblenden */
.listelement p:not(.derbutton) {
  display: none !important;
}

/* Button-Position (ganz unten, rechtsbündig) */
p.derbutton {
  order: 3;
  margin: 0 1rem 1rem auto;
  padding: 1rem;
  padding-top: 0;
  text-align: right;
}


/* Responsive */
@media (max-width: 800px) {
  .footerModulInner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 1rem 2rem 1rem;
  }



  .footerSpalte {
    flex: 1 1 100%;
  }
}


@media screen and (max-width:1470px) {
	footer .strich {
		display: none;
	}

	footer .nurm {
		display: block;
	}
}




nav ul {
	gap: 3rem;
}

.school-name {
	padding-top: 0.5rem;
}

.footer-logo {
	height: 120px;
}

footer svg {

	fill: var(--color-bg);
}


.headerButtons a.instagram,
.headerButtons a.mail {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  background-color: var(--color-darkgreen);
  text-decoration: none;
  margin-right: 0.4rem;
  border-radius: var(--fieldbuttonrounded);
  padding: 0;
  color: white;
  transition: background-color 0.3s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.35);
}

.headerButtons a.instagram:hover,
.headerButtons a.mail:hover {
  background-color: var(--color-dark-darkgreen);
}

.headerButtons a.instagram i {
  font-size: 1.9rem;
}

.headerButtons a.mail i {
  font-size: 1.8rem;
}



header header.scrolled .nurm {
	display: none;
}

.news-block {
	margin-bottom: 40px;
}

.news-title {
	font-size: 1.8em;
	margin-bottom: 10px;
	margin-top: 10px;
	font-weight: bold;
}

h3.news-title {

	hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	overflow-wrap: break-word;
	word-break: break-word;
	position: relative;
	padding-right: 3rem;
}

h3.news-title::after {
	content: "\f061";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);

	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background-color: var(--color-bg);
	color: var(--color-darkgreen);
	text-align: center;
	line-height: 2.5rem;
	font-size: 1.5rem;
	text-shadow: none;
}

.news-card:hover h3.news-title::after {
	content: "\f061";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);

	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background-color: var(--color-darkgreen);
	color: var(--color-bg);
	text-align: center;
	line-height: 2.5rem;
	font-size: 1.5rem;
	text-shadow: none;
}


.news-meta {
	font-size: 1em;
	color: #666;
	margin-bottom: 15px;
}

.news-image-wrapper {
	margin-bottom: 15px;
}

.news-image {
	max-width: 100%;
	height: auto;
}

.news-intro {
	margin-bottom: 10px;
}

.news-card .news-content {
	line-height: 1.8rem;
	height: 100%;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.news-card:hover .news-content {
	line-height: 1.8rem;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 1);
}

.publishnews,


.news-article img {
	max-width: 100%;
	height: auto;
}

.publishnews a[rel="lightbox"] {
	flex: 0 0 auto;
}

a[rel="lightbox"] {
	display: inline-block;
	margin: 0.5rem;
	vertical-align: top;
	text-align: center;
}

a[rel="lightbox"] img {
	display: block;
	max-width: 100%;
	height: auto;
}


.galerie {
display:flex;
position:relative;
width:100%;
height:auto;
flex-wrap:wrap;
gap:1.5rem;
justify-content:start;
margin-left:auto;
margin-right:auto;
max-width:1600px;
}

.galerie > a {
width:22.6%;
height:auto;
position:relative;
display:inline-block;
background-size:100%;
background-position:center;
background-repeat:no-repeat;
outline:0;
margin-bottom:40px;
box-shadow:0px 0px 10px #ccc;
border-radius:12px;
}

.galerie > a img {
width:100%;
height:auto;
position:relative;
display:block;
visibility:hidden;
}

@media (max-width: 1200px) {
	header {
		height: 150px;
	}


	section.hero {
		position: relative;
		margin-top: 0px;
		height: 55vw;
		z-index: 999;
	}


	section h1,
	section h2 {

		font-weight: 600;
		color: var(--color-darkgreen);
		margin-top: .5rem;
		margin-bottom: .5rem;
	}


	section.hero .textrahmen {
		width: 50%;
		position: absolute;
		bottom: 3.5rem;
		left: 3rem;
		z-index: 1000;
	}

	section.hero .textrahmen h2 {
		color: #fff;
		font-size: 3rem;
	}

	.logo-container svg {
		height: 90px;
	}

	header.scrolled .logo-container svg {
		height: 80px;
	}

	.news-wrapper {
		background-color: var(--color-grey);
		padding: 6rem 3rem 7rem 3rem;
		z-index: 5;
		position: relative;
	}

	body:not(#article1) .news-wrapper {
		padding: 3rem 3rem 3rem 3rem;
	}

	.headerinner-right {
		gap: 1rem;
	}

	.shortcuts-wrapper {
		background-color: var(--color-cta);
		padding: 4rem 3rem;
	}

	.news-title {
		font-size: 1.2em;
		margin-bottom: 0px;
		font-weight: bold;
	}

	.news-card img {
		width: 100%;
		aspect-ratio: 4 / 3.2;
		object-fit: cover;
		display: block;
		transition: filter 0.3s;
	}
	.galerie {
	justify-content:space-between;
	}
	.galerie > a {
width: 29%;

}
nav ul {
	gap: 2rem;
}

}

.nurm {
	display: none;
}

.nurd,
.mnicht {
	display: block;
}

.search-toggle {
	position: relative;
	display: flex;
	align-items: center;
}

.search-icon {
	background: #eee;
	border: none;
	border-radius: var(--fieldbuttonrounded);
	width: 2.2rem;
	height: 2.2rem;
	font-size: 1rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #333;
	transition: background 0.3s ease;
	background-color: var(--color-primary);
}

.search-icon:hover {
	background: #ccc;
}

.search-field {
	width: 0;
	opacity: 0;
	transition: all 0.3s ease;
	padding: 0.4rem;
	border: 1px solid #ccc;
	border-radius: var(--fieldbuttonrounded);
	font-size: 1rem;
	outline: 0;
	font-size: 1.0rem;
	height: 1.8rem;
	padding-right: 0rem;
	padding-left: 0rem;
	margin-right: 0rem;
}

.search-field.visible {
	width: 200px;
	opacity: 1;
	margin-left: 0.5rem;
	padding-right: 1rem;
	padding-left: 1rem;
	margin-right: 1rem;
}

.news-filter {
	display: flex;
	gap: 1rem;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.news-filter button {
	background: #eee;
	border: none;
	border-radius: var(--fieldbuttonrounded);
	width: auto;
	height: 2.6rem;
	font-size: 1rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color:var(--color-bg);
	transition: background 0.3s ease;
	background-color: var(--color-primary);
	padding-right: 1rem;
	padding-left: 1rem;
	font-family: Roboto, sans-serif;
font-size: 16px;
font-weight: 400;
}

.news-filter button:hover {
	background-color: var(--color-darkgreen);

	color: var(--color-grey);
}

.custom-select {
	position: relative;
	width: 160px;
	cursor: pointer;
	font-size: 14px;
	user-select: none;
}

.custom-select .selected {
	padding: 10px 12px;
	border: 1px solid #ccc;
	background-color: #fff;
	border-radius: 5px;
}

.custom-select .options {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 10;
	background: #fff;
	border: 1px solid #ccc;
	border-top: none;
	display: none;
	max-height: 200px;
	overflow-y: auto;
}

.custom-select .options div {
	padding: 10px 12px;
	border-bottom: 1px solid #eee;
}

.custom-select .options div:hover,
.custom-select .options .active {
	background-color: #f0f0f0;
}

.custom-select.open .options {
	display: block;
}


.kontaktformular-wrapper {
  display: flex;
  justify-content: center;
  margin:0rem auto;
}

.kontaktformular-inhalt {
  display: flex;
  gap: 2rem;
  width: 100%;
  max-width: 1600px;
  margin: auto;
  padding-top: 1rem;
  flex-wrap: nowrap; /* nebeneinander erzwingen */
}

.kontaktformular-links,
.kontaktformular-rechts {
  background-color: #d4d5be;
  padding: 2.5rem;
  border-radius: 1rem;
  box-sizing: var(--medium-rounded);
  min-width: 0; /* verhindert Überlauf bei langem Inhalt */
}

/* 25% : 75% Verteilung */
.kontaktformular-links {
  flex: 1 1 35%;
}

.kontaktformular-rechts {
  flex: 1 1 65%;
}

.kontaktformular-links h2 {
  color: var(--color-darkgreen);
  padding-top: 0rem;
  margin-top: -1rem;
  padding-bottom: 0.7rem;
}

.kontaktformular-rechts h2 {
  color: var(--color-darkgreen);
  padding-top: 0rem;
  margin-top: -0.5rem;
  padding-bottom: 1rem;
}

.kontaktformular-rechts p {
 padding-bottom: 0.2rem;
 margin-bottom: 0rem;
 margin-top: 0rem;
}

.kontaktformular-links .wysiwyg {
  font-size: 1rem;
  line-height: 1.6;
}
.kontaktformular-rechts .yform label {
margin-bottom: 0.1rem;
display:block;
}
.kontaktformular-rechts .yform input[type="text"],
.kontaktformular-rechts .yform textarea {
  border: 2px solid #f2a900;
  border-radius: var(--fieldbuttonrounded);
  width: 100%;
  padding: 0.75rem;
  margin-bottom: 1rem;
  font-size:1.0em;
  box-sizing:border-box;
}

.kontaktformular-rechts .yform .checkbox {
  margin-bottom: 1rem;
}

.yform .btn,
.yform button {
		font-family: 'Roboto', sans-serif;
  display: inline-block;
  background-color: var(--color-yellow);
  color: white;
  font-weight: 500;
  padding: 0.8em 1.3em;
  border: none;
  border-radius: var(--fieldbuttonrounded);
  transition: background-color 0.2s ease;
  text-decoration: none;
  cursor: pointer;
width:300px;
  	letter-spacing: var(--standard-letter-spacing);
  	
}

.form-group.submitbutton {
   justify-self: end;
   text-align:right;
}

.form-group.submitbutton button {
  display: inline-block;
}

.kontaktformular-rechts .yform .btn:hover {
  background-color: #c98c00;
}

.anmeldeformular-wrapper {
  
  padding: 2rem;
  
  max-width: 1200px;
  margin: 2rem auto;
  box-sizing: border-box;
  font-family: inherit;
}

.anmeldeformular-wrapper > div {
  padding: 2rem;
    background-color: #d4d5be;
    border-radius: var(--medium-rounded);
}

.anmeldeformular-kopf {
  margin-bottom: 2rem;

}

.anmeldeformular-kopf h2 {
  margin: 0 0 0.5rem;


}

.anmeldeformular-kopf p {
  margin: 0;
}

.anmeldeformular-infos {
  margin-bottom: 2rem;
}

.anmeldeformular-infos h3 {

  margin: 0 0 0.5rem;

}

.anmeldeformular-infos p {
  margin: 0;
}

.anmeldeformular-formular form.yform {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap:2rem;
}

.anmeldeformular-formular .form-group,
.anmeldeformular-formular .yform-element {
  display: flex;
  flex-direction: column;
  grid-column: span 1;
}

.anmeldeformular-formular .form-group input,
.anmeldeformular-formular .form-group textarea,
.anmeldeformular-formular .form-group select {
  border: 2px solid #f2a900;
  font-size: var(--standard-font-size);
  font-family:var(--font-main);
  letter-spacing: var(--standard-letter-spacing);
  border-radius: var(--fieldbuttonrounded);
  width: 100%;
  padding: 0.75rem;
  margin-bottom: -0.3rem;
  font-size: 1.0em;
  box-sizing:border-box;
  
}


.yform.jagd-anmeldung .form-group {
  margin-bottom: -0.8rem; /* Standard oft 1.5–2rem */
}


.anmeldeformular-formular .yform-element.fullwidth {
  grid-column: span 2;
}

.anmeldeformular-formular .checkbox {
  grid-column: span 2;
  margin-top: -2rem;
}

.anmeldeformular-formular p {
  margin-top: 0.4rem;
}



.anmeldeformular-wrapper > div.anmeldeformular-footer {
  margin-top: 2rem;
  display: flex;
  justify-content: flex-start;
  background-color:transparent;
  padding-left:0;
}

.anmeldeformular-footer .btn.zurück {
  background-color: #f2a900;
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  text-decoration: none;
  font-size: 1rem;
}

.anmeldeformular-footer .btn.zurück:hover {
  background-color: #c98c00;
}

@media (max-width:800px) {

.kontaktformular-inhalt {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
  max-width: 1600px;
  margin: auto;
  padding-top: 1rem;
  flex-wrap: nowrap; /* nebeneinander erzwingen */
}

.anmeldeformular-formular form.yform {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
}
.news-filter {
  display:flex; gap:1rem; align-items:flex-end; flex-wrap:wrap; margin:0 0 1rem 0;
}
.news-filter .jahrmonat { display:flex; gap:.5rem; }
.news-filter select,
.news-filter input[type="text"] { padding:.5rem .75rem; border:1px solid #ccc; border-radius:.5rem; }
.news-filter .search-toggle { display:flex; gap:.5rem; align-items:center; }
.news-filter .search-toggle .search-field { transition: max-width .2s ease; max-width: 14rem; }
.news-filter .search-toggle .search-field:not(.visible) { max-width: 10rem; }
.news-filter .reset-link { text-decoration: underline; font-size:.9rem; }

.pagination { list-style:none; display:flex; gap:.5rem; padding:0; margin:1.25rem 0; }
.pagination li a { display:block; padding:.4rem .7rem; border:1px solid #ccc; border-radius:.4rem; text-decoration:none; }
.pagination li a.active { background:#2F7E33; color:#fff; border-color:#2F7E33; }
.nice-select .option  {
background-color:var(--color-bg);
}
.sort-toggle {


  color:var(--color-bg);
}
.sort-button {
  display:inline-block;
  padding:1rem 1rem;
  border:0px solid #ccc;
  border-radius:.5rem;
  text-decoration:none;
  	border-radius:var(--medium-rounded);
  	  background-color: var(--color-darkgreen);
}
.sort-button:hover {
  background: var(--color-primary);
  color:#fff;
}
.sort-toggle{  }
.sort-button{ display:inline-block; padding:.8rem 1.4rem; border:1px solid #ccc; border-radius:.5rem; text-decoration:none;
	font-family: 'Roboto', sans-serif; font-size:16px; font-weight:400; }
.sort-button:hover{ background:var(--color-primary); color:#fff; }

@media (max-width: 800px) {
	.anmeldeformular-wrapper > div {
		padding: 1.5rem;
		background-color: var(--color-fadegreen);
		border-radius: var(--medium-rounded);
	}

  .anmeldeformular-formular form.yform {
    grid-template-columns: 1fr; /* nur eine Spalte */
  }

  .anmeldeformular-formular .form-group,
  .anmeldeformular-formular .yform-element {
    grid-column: span 1 !important; /* volle Breite */
  }

  .anmeldeformular-formular .yform-element.fullwidth,
  .anmeldeformular-formular .checkbox {
    grid-column: span 1 !important; /* auch diese untereinander */
  }

  .anmeldeformular-formular button[type="submit"] {
    grid-column: span 1 !important;
    justify-self: stretch; /* Button über volle Breite */
  }
.anmeldeformular-wrapper {
  
  padding: 1.5rem;
  
  max-width: 1200px;
  margin: 0rem auto;
  box-sizing: border-box;
  font-family: inherit;
}

.kontaktformular-links,
.kontaktformular-rechts {
  background-color: #d4d5be;
  padding: 2.5rem 1.5rem;
  border-radius: 1rem;
  box-sizing: var(--medium-rounded);
  min-width: 0; /* verhindert Überlauf bei langem Inhalt */
}
}

.scroll-down {
  display: inline-block;
  position: absolute;
  bottom: 6rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2rem;
  color: #fff;
  animation: bounce 2s infinite;
  z-index: 10;
  text-decoration: none;
}

@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(10px); }
}



.slider-pagination {
  position: absolute;
  bottom: 6em;
  left: 90%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
  z-index: 2000;
}

.slider-pagination .dot {
  width: 15px;
  height: 15px;
  background-color: #fff;
  border-radius: 50%;
  transition: 0 0.3s ease;
  cursor: pointer;
}

.slider-pagination .dot.active {
  opacity: 1;
  background-color: var(--color-yellow);
}


.textrahmen-inner {
max-width:1600px;
margin-right: auto;
margin-left: auto;
}

.textrahmen-inner p {
 margin-bottom: 0rem;
}

main section.pillen-links:first-child {
  padding-top: 0rem !important;
}
main section.pillen-links:last-child {
  padding-bottom: 0rem !important;
}

.pill-link {
  display: inline-flex;           /* Flexbox für bessere Zentrierung */
  align-items: center;            /* vertikal mittig */
  justify-content: center;        /* horizontal mittig */
  padding: 0.8rem 1.3rem;
  border: var(--border-width) solid var(--color-primary);
  background-color: var(--color-bg);
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s ease;
  margin: 0;
  width: 450px;                   /* feste Höhe für gleichmäßige Buttons */
  box-sizing: border-box;          /* Padding mit einberechnen */
    font-weight: 500;
}
@media (min-width:800px) {
.pill-link:first-child {
  border-radius: var(--fieldbuttonrounded) 0 0 var(--fieldbuttonrounded);
}

.pill-link:last-child {
  border-radius: 0 var(--fieldbuttonrounded) var(--fieldbuttonrounded) 0;
}

/* Optional: Trennlinie dazwischen entfernen, damit sie "zusammenkleben" */
.pill-link + .pill-link {
  border-left: none;
}
}




.pill-link:hover,
.pill-link.active {
  background-color: var(--color-darkgreen);
  color: #fff;
  font-weight: 500;
}


@media (max-width: 800px) {
.pill-link {
  display: block;           /* Flexbox für bessere Zentrierung */
  align-items: center;            /* vertikal mittig */
  justify-content: center;        /* horizontal mittig */
  padding: 0.8rem 1.3rem;
  border: var(--border-width) solid var(--color-primary);
  background-color: var(--color-bg);
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s ease;
  margin: 0;
  width: 450px;                   /* feste Höhe für gleichmäßige Buttons */
  box-sizing: border-box;          /* Padding mit einberechnen */
  margin-bottom:20px;
  border-radius: var(--fieldbuttonrounded);
  margin-right:auto;
  margin-left:auto;
}

}


@media (max-width: 800px) {
	body {
		margin: 0;
		font-family: 'Montserrat', sans-serif;
		background-color: #fff;
		font-weight: 400;
		font-size: 15px;
	}

	.nurm {
		display: block;
	}
	
	.galerie {
display: flex;
position: relative;
padding: 1.0rem 0 1.0rem 0;
height: auto;
flex-wrap: wrap;
gap: 1.0rem;
justify-content: space-between;
margin-left: 0;
margin-right: 0;
max-width: 1600px;
}

	
	.galerie > a {
        width: 43%; /* Volle Breite für Galerie-Elemente */
    }
	.nurd,
	.mnicht {
		display: none;
	}

	section.hero .textrahmen p br {
		display: none;
	}
	
	main section {
		padding: 1.0rem 1.5rem 1.0rem 1.5rem;
	}
	main section.news {
		padding: 3rem 1.5rem 3em 1.5rem;
	}
	section h3 {
		font-size: 1.4rem;
		font-weight: 600;
		color: black;
		margin-top: .5rem;
		margin-bottom: .5rem;
	}
	.news-article-content p br {
		display: block;
	}
	main section:first-child {
		padding-top: 3rem;
	}
	.open header {
		height: auto;
		height: 100vh;
		background-color: var(--color-bg);
	}

	header .curved-header {

		height: 150px;
	}

	.slide-overlay p:not(.headerButtons) {
  		font-weight: 500;
  		font-size: 1.0rem;
  		margin-top: 0.7rem;
  		margin-bottom: 0.7rem;
	}

	.headerButtons a.instagram, 
	.headerButtons a.mail {
	  display: inline-flex;
	  justify-content: center;
	  align-items: center;
	  width: 36px;
	  height: 36px;
	  background-color: var(--color-darkgreen);
	  text-decoration: none;
	  margin-right: 0.4rem;
	  border-radius: var(--fieldbuttonrounded);
	  padding: 0;
	  color: white;
	  transition: background-color 0.3s ease;
	  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.35);
	}
	
	.headerButtons a.instagram:hover,
	.headerButtons a.mail:hover {
	  background-color: var(--color-dark-darkgreen);
	}
	
	.headerButtons a.instagram i {
	  font-size: 1.6rem;
	}
	
	.headerButtons a.mail i {
	  font-size: 1.5rem;
	}


	header.scrolled .curved-header {

		height: 120px;
	}

	body.open header .curved-header {

		height: auto;
		height: 100vh;
	}

	body.open header.scrolled .curved-header {

		height: 100vh;
	}

	.service-search input[type="text"] {
		font-size: 16px;
		padding: 0;
	}

	.service-search input[type="text"].active {
		opacity: 1;
		width: 180px;
		padding: 8px;
	}

	body.searchopen div.servicelinks .service-inner>a {
		display: none;
	}

	body.searchopen div.servicelinks .service-inner>a.telefon {
		display: block;
	}

	section h1,
	section h2 {
		font-size: 1.5rem;
		font-weight: 600;
		color: var(--color-darkgreen);
		margin-top: .5rem;
		margin-bottom: 1rem;
	}

	section p {
		font-size: 1rem;
		margin-top: 1rem;
		margin-bottom: 1rem;
	}

	div br {
		display: none;
	}

	footer div br {
		display: block;
	}

	div.news-article-content br {
		display: block;
	}

	section.hero div br {
		display: block;
	}

	span.strich {
		display: none;
	}

	.nurm {
		display: block;
	}

	header {
		background-color:transparent;
		height:80px;
		
	}

	.header-inner {
		flex-direction: row;
		align-items: start;
		justify-content: space-between;
		flex-wrap: wrap;
		text-align: left;
		width: 90%;
		padding: .5em 1.5rem .5rem 1.5rem;
		margin-top: 0;
		border-radius: 0;
		height: auto;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 1);
	}

	.logo-container {

		align-items: center;
		position: absolute;
		z-index: 5;
		width: 200px;
	}


	.logo-container svg {
		width: 180px;
		height: 90px;
	}


	.headerinner-right {
		flex: 1;
		align-items: flex-end;
		text-align: right;
		gap: .3rem;
		padding-top: 0;
		width: 100%;
		justify-content: start;
	}

	.open header {}

	.open .headerinner-right {
		height: auto;
		height: 100vh;
	}


	nav {
		display: flex;
		flex-direction: column;
		width: 100%;

		max-height: 0;
		overflow: hidden;
		gap: 0;
		position: relative;
		transition: max-height 0.5s ease;
	}

	nav.open {
		max-height: 500px;
		margin-top: 10px;
	}


	.burger {
		display: block;
		margin-top: 1.5rem;
		margin-right: 0;
	}


	nav ul {
		display: block;
		width: 80%;
		margin: 2rem auto 0;
		padding: 0;
		list-style: none;
	}

	nav ul li {
		display: block;
		margin-bottom: 1rem;
		text-align: left;
	}

	nav li a {
		display: block;
		padding: 0.5rem 1rem;
		border-bottom: 1px solid var(--color-white);
		font-size: 1.5rem;
		text-align: left;
		color: var(--color-white);
	}

	nav a.active,
	nav a:hover {
		border-bottom: 1px solid var(--color-primary);
	}

	nav a:last-child {
		border-bottom: 1px solid var(--color-primary-lighter);
	}


	nav li:has(ul)>a::after {
		content: " >";
		padding-left: 0.5em;
		font-size: 1em;
		font-family: 'Montserrat', sans-serif;
		position: relative;
		background: transparent;
	}


	nav .mobile-back-button {
		display: none;
		position: absolute;
		top: 0;
		left: 1rem;
		width: 80%;
		padding: 1rem;
		font-size: 1rem;
		background: transparent;
		;
		border: 0px solid var(--color-white);
		border-radius: 10px;
		z-index: 1600;
		cursor: pointer;
		text-align: left;
	}

	nav.submenu-active .mobile-back-button {
		display: block;
	}


	nav.submenu-active ul.rex-navi1 {
		transform: translateX(-120%);
		opacity: 1;
		pointer-events: none;
		transition: transform 0.3s ease, opacity 0.3s ease;
	}


	nav ul.rex-navi2 {
		opacity: 0;
		pointer-events: none;
		transform: translateX(100%);
		transition: transform 0.3s ease, opacity 0.3s ease;
		position: absolute;
		top: 30px;
		left: 0;
		width: 100%;
		background-color: var(--color-bg, white);
		z-index: 2000;
		padding-left: 1rem;
	}


	nav.submenu-active ul.rex-navi2.nav-visible {
		opacity: 1;
		pointer-events: auto;
		transform: translateX(103%);
		z-index: 2000;
		background-color: #fff;
		border-radius: 10px;
		padding-top: 1rem;
		padding-right: 1rem;
	}


	section.inhalt2spalten {
		display: flex;
		justify-content: space-between;
		gap: 1.5rem;
		flex-wrap: wrap;
		padding: 2rem;
		padding-left: 1em;
		padding-right: 1rem;
		flex-direction: column;
	}

	.inhalt2spalten .spalte {
		width: 100%;
		flex: 1;
		
	}
	
	section.news .inhalt2spalten.beitrag-kachel {
	margin-bottom:0;
	}	 
	
	.inhalt2spalten.beitrag-kachel > .spalte.text-spalte {
		flex: 1;
		padding: 1.5rem;
		background-color: var(--color-fadegreen);
		width:100%;
		box-sizing:border-box;
}
.inhalt2spalten.beitrag-kachel > .spalte.text-spalte .innerspalte {
width:90%;
}
	section.hero {
		margin-top: 80px;
		color: var(--color-primary);
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		padding: 0rem 0rem 0rem 0em;
		background-color: var(--color-bg);
		text-shadow: 0 1px 3px rgba(0, 0, 0, 0.0);
		position: relative;
		z-index: 999;
		height: 550px;
	}


	.slideshow {
		width: 100vw;
	}

	.slide {
		width: 100vw;
		height: 550px;

		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}

	.slide.active {
		display: block;
	}

	section.hero .textrahmen {
		width: 94%;
		left: 0;
		bottom: 2rem;

		padding: 1rem 3% 1rem 3%;
		font-size: 0.95rem;
		text-align: left;
		position: absolute;
		left: 1rem;
		box-sizing: border-box;
	}

	body:not(#article1) section.hero .textrahmen {

		border-radius: var(--rounded);
		padding: 1rem 1.5rem 1rem 1.5rem;
		width: 80%;
		position: absolute;
		bottom: 2rem;
		left: 1rem;
		z-index: 1000;
	}

	section.hero .textrahmen h1,
	section.hero .textrahmen h2 {
		color: #fff;
		font-size: 2.5rem;
	}


	.slide {
		min-width: 100%;
		display: none;
	}

	.slide.active {
		display: block;
	}

	.news-wrapper {
		padding: 2rem 1rem 6rem 1rem;
	}

	.news-section {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;
		justify-content: space-between;
	}

	section.news-wrapper-before {
		content: "";
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		height: 35px;

		background-size: 102% 35px;
		display: block;
		z-index: 14;
		margin-top: -35px;
	}


	.gridinfo {
		max-width: 1800px;
		width: 100%;
		padding: 0rem 0 1rem 0;
		font-size: 1.2rem;
		line-height: 1.6;
	}



	.news-card {
		width: 100%;
	}

	.news-card:first-child .news-title {
		font-size: 1.5rem;
	}


	.shortcut-tile:hover {
		transform: scale(1.05) translateY(-5px);
		box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
	}


	.footer {
		padding: 2rem 2rem 3rem 2rem;
		justify-content: center;
		margin-top: 0px;
	}

	.footer-container {
		width: 100%;
		max-width: 100%;
		padding: 1rem;
		padding-left: 0;
		padding-right: 0;
		margin: 0 0;
	}
	.footerModulInner p {
		text-align:left;
		font-size:1rem;
	}

	.footerModulInner  {
		flex-direction: column;
		align-items: center;
		text-align: left;
		padding:0 0 2rem 0;
	
	}

	.footerModulInner img {
		width:50%;
		height:auto;
		position:relative;
	}
	.footerSpalte {
		min-width: 200px;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-content: left;
		text-align:left;
	}

	.footerSpalte.footerSpalte1 {
		width: 100%;
		order:3;
	}

	.footerSpalte.footerSpalte2, .footerSpalte.footerSpalte3 {	
		display: flex;		
		flex-direction: column;
		padding-top: 1rem;
	}
	
	.footerSpalte.footerSpalte2 > *:last-child, .footerSpalte.footerSpalte3 > *:last-child {
		margin-top: 1.5rem;
	}

	.slider-pagination {
	  position: absolute;
	  bottom: 4.5em;
	  left:86%;
	  transform: translateX(-50%);
	  display: flex;
	  gap: 1rem;
	  z-index: 2000;
	}

	main section.slideshowundtext {
		padding: 1.5rem 0 1.5rem 0;
	}

		.auflistung {
		display:flex;
		gap:1rem;
		justify-content: space-between;
		flex-direction:column;
		flex-wrap: wrap;
		max-width:1600px;
		margin:auto;
		}
		
		.listelement {
		  background-color: var(--color-fadegreen);
		  border-radius: var(--medium-rounded);
		  overflow: hidden;
		  display: inline-flex;
		  flex-direction: column;
		  justify-content: flex-start;
		  height: auto;
		  width: 100%;
		  margin: 30px 0;
		}
		
		
		/* Vorschaubild ganz oben */
		.listelement .vorschaubild {
		  order: 0;
		  width: 100%;
		  height: 350px;
		  background-size: cover;
		  background-position: center;
		  flex-shrink: 0;
		}
		
		/* Überschrift */
		.listelement h3 {
		  order: 1;
		  color: var(--color-darkgreen);
		  padding: 0 1.5rem;
		  text-align: left;
		  padding-top: 1rem;
		  padding-bottom: 2.5rem;
		}
		
		/* Datum unterhalb der Überschrift */
		.listelement .datum {
		  order: 2;
		  padding: 0.3rem 2rem 0 2rem;
		  color: var(--color-darkgreen);
		  margin: 0 0 -3.2rem 0;
		  background: none;
		  text-align: left;
		  font-weight: 500;
		}
		
		/* Anlesetext ausblenden */
		.listelement p:not(.derbutton) {
		  display: none !important;
		}
		
		/* Button-Position (ganz unten, rechtsbündig) */
		p.derbutton {
		  order: 3;
		  margin: 0 1rem 1rem auto;
		  padding: 1rem;
		  padding-top: 0;
		  text-align: right;
		}
		main section:last-child {
			padding-bottom: 3rem;
		}
}


body.altpressed nav a:focus {

	border-radius: 0px;
}


body.altpressed a:focus,
body.altpressed button:focus,
body.altpressed input:focus,
body.altpressed select:focus,
body.altpressed i:focus,
body.altpressed .klappgruppe h3.klapp:focus,
.zumachen:focus,
.grid .elem a:focus {
	outline: 2px solid #ff0000 !important;
	outline-offset: 2px !important;
}

body.altpressed .grid .elem a:focus,
body.altpressed .slideshow a:focus {
	border: 2px solid #ff0000 !important;
	outline-offset: 2px !important;
}

iframe select:focus {
	outline: 2px solid #000 !important;
	outline-offset: 2px !important;
}


@media screen and (max-width:800px) {
	.inhalt2spalten.beitrag-kachel {
		flex-direction: column;
	}

	.inhalt2spalten.beitrag-kachel .bild-spalte {
		min-height: 200px;
	}
}


.slideshowundtext {
  margin-bottom: 0rem;
  margin-top: -4.5rem;
}

.modul-bereich {
  display: flex;
  flex-direction: row;
  gap: 5rem;
}

.modul-bereich.modul-position-rechts {
  flex-direction: row;
}

/* Text rechts, Slider links */
.modul-bereich.modul-position-links {
  flex-direction: row;
}

/* Standard (falls kein Wert) */
.modul-bereich {
  display: flex;
  gap: 2rem;
}

/* Rechtes Textfeld */
.bereich {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bereich.modul-text-bereich {
  flex: 1 1 35%;
}

.bereich.modul-text-bereich .innerspalte {
width:70%;

}

.modul-bereich.modul-position-rechts .bereich.modul-text-bereich {

padding-left:7rem;

}

.modul-bereich.modul-position-links .bereich.modul-text-bereich {

padding-left:4rem;

}


.modul-bereich.modul-position-rechts .bereich.modul-text-bereich .innerspalte {
width:70%;

}


.bereich.modul-slideshow-bereich {
  flex: 1 1 45%;
  overflow: hidden; /* verhinder Überlauf der Slides */
  max-height:800px;
}

/* Slideshow-Wrapper – Scroll-Container */
.modul-slideshow-wrapper {
  display: flex;
  flex-direction: row; /* aktives Slide rechts */
  gap: 0rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 1rem;
  scroll-padding-inline-end: 0rem;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
  flex-direction: row;
}

.modul-slideshow-wrapper::-webkit-scrollbar {
  display: none;
}

/* Slides */
.modul-slide {
  flex: 0 0 78%; /* 80% Breite, 20% Vorschau möglich */
  scroll-snap-align: end; /* rechts ausrichten */
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 0px rgba(0, 0, 0, 0.1);
  position: relative;
  margin-left:2em;
  margin-right:0rem;
  transition: 1s ease;
}

.modul-slide-image img {
  width: 100%;
  height: auto;
  display: block;

}

.modul-slide-text {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 2rem 4rem 2rem 2rem;
  background-color: var(--color-primary);
  color: #fff;
  z-index: 2;
  box-sizing: border-box;
}

.modul-slide-text h2 {
 color: var(--color-bg);
 margin-bottom: .2rem;
 font-weight: 600;
 font-size: 1.5rem;
 margin-top: 0;
}

.modul-slide-text p {
 color: var(--color-bg);
  margin-bottom: 0.1rem;
  margin-top: 0.1rem;
}


/* Steuerung */
.slide-controls {
  margin-top: 2rem;
  display: flex;
  gap: 1rem;
}

.slide-controls button {
  background: var(--color-yellow);
  border: none;
  color: #fff;
  font-size: 1.4rem;
  padding: 1rem 1.3rem 0.8rem 1.3rem;
  border-radius: 8px;
  cursor: pointer;
  transition: .5s ease;
}

.slide-controls button:hover {
  background: var(--color-darkyellow);
}

/* Mobile Optimierung */
@media (max-width: 800px) {
  .modul-bereich {
    flex-direction: column;
  }

  .bereich {
    flex: 1 1 100%;
  }

  .modul-slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
  }

  .modul-slideshow-wrapper {
    flex-direction: row;
    scroll-snap-type: x mandatory;
    scroll-padding-inline-start: 1rem;
  }
}
/* Mobile Optimierung */
@media (max-width: 800px) {
  .modul-bereich {
    flex-direction: column; /* untereinander statt nebeneinander */
    gap: 2rem; /* etwas Abstand zwischen den Bereichen */
  }
.modul-bereich.modul-position-links {
flex-direction: column;
}

.modul-bereich.modul-position-rechts {
flex-direction: column;
}

  .bereich {
    flex: 0 0 100%; /* volle Breite */
    width: 100%;
    padding-left: 0 !important; /* linke Abstände entfernen */
    padding-right: 0 !important;
  }

  .bereich.modul-text-bereich .innerspalte {
    width: 100%; /* volle Breite für Textinhalt */
    padding-left:1.5rem;
    padding-right:1.5rem;
    box-sizing:border-box;
  }

  .bereich.modul-slideshow-bereich {
    max-height: none; /* keine feste Höhe */
  }

  .modul-slide {
    flex: 0 0 100%;
    margin-left: 0;
    margin-right: 0;
    scroll-snap-align: start;
    height:400px;
  }

  .modul-slide-text {
    padding: 1rem 1.5rem;
  }

  .modul-slideshow-wrapper {
    flex-direction: row;
    gap: 1rem;
    scroll-snap-type: x mandatory;
    scroll-padding-inline-start: 1rem;
  }
	.modul-position-links > .modul-slideshow-bereich {
		order:2;
	}

}

input, textarea, button {
	font-family: 'Roboto', sans-serif;

	font-weight: 200;
	font-size: 18px; 
}


#yform-anmeldung_formular-slice_id {
	display:none;
}