﻿
:root {
  --bg-color: #fff;
  --bg-secondary-color: #f3f3f6;
  --color-primary: #E3000B;
  --color-lightGrey: #d2d6dd;
  --color-grey: #747681;
  --color-darkGrey: #3f4144;
  --color-error: #E3000B;
  --color-success: #28bd14;
  --grid-maxWidth: 1400px;
  --grid-gutter: 3rem;
  --font-size: 1rem;
  --font-color: #333;
  --font-family-sans: "Ubuntu", -apple-system, sans-serif;
  --font-family-mono: monaco, "Consolas", "Lucida Console", monospace;
  
  --red: #E3000B;
  --yellow: #EAD91F;
  --black: #000000;
  --text-color: #000000;
  --blau: #AAD7F4;
  
}

@media (max-width: 800px) {
	:root {
	  --grid-gutter: 1.2rem;
	}
}




html, body {
	font-family: 'Ubuntu', sans-serif;
	box-sizing: border-box;
	height:100%;
	background-color: #fff;
	font-weight: 400;
}

body {
	color: var(--text-color);
	font-size: 1em;
	line-height: 1.5;
	background-color: #fff;

}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  margin: 0.7em 0 0.35em;
  color: var(--red);
  line-height: 1.3em;
  text-wrap: balance;
}

h1 { font-size: 3.5em;    font-weight: 300;  }
h2 { font-size: 2.8em; }
h3 { font-size: 1.8em;  }
h4 { font-size: 1.35em; }
h5 { font-size: 1em;    }
h6 { font-size: 0.85em; }

::-moz-selection { background: #ead91f; color: #000;}
::selection { background: #ead91f; color: #000;}


@media (max-width: 800px) {
 
	h1 { font-size: 1.7em;    font-weight: 300;  }
	h2 { font-size: 1.5em; }
	h3 { font-size: 1.2em;  }
	h4 { font-size: 1.0em; }
	h5 { font-size: 1em;    }
	h6 { font-size: 0.85em; }
	
}


/* -----------------------------------------
	Mobile Navigation
-------------------------------------------- */

.mobinav,
.mobinav.mobinav__nav { display: none;}

/* Header Styles */
.mobinav__header {
	background-color: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	box-shadow: -3px 0 8px 5px rgba(0, 0, 0, 0.25);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	height: 76px;
}

.mobinav__header-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px;
	height: 100%;
}

.mobinav__logo-img {
	height: 60px;
	width: auto;
}

/* Hamburger Menu Styles */
.mobinav__hamburger {
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.mobinav__hamburger-line {
	width: 25px;
	height: 3px;
	background-color: #333;
	transition: all 0.3s ease;
	border-radius: 2px;
}

.mobinav__hamburger--active .mobinav__hamburger-line:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
}

.mobinav__hamburger--active .mobinav__hamburger-line:nth-child(2) {
	opacity: 0;
}

.mobinav__hamburger--active .mobinav__hamburger-line:nth-child(3) {
	transform: rotate(-45deg) translate(7px, -6px);
}

/* Mobile Navigation Styles */
.mobinav__nav {
	position: fixed;
	top: 60px;
	left: 0;
	right: 0;
	background-color: #f8f9fa;
	transform: translateY(-100%);
	transition: transform 0.3s ease;
	z-index: 999;
	max-height: calc(100vh - 60px);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	box-shadow: -3px 0 8px 5px rgba(0, 0, 0, 0.25);
}

.mobinav__nav--active {
	transform: translateY(0);
}

/* Main Menu Styles */
.mobinav__menu {
	list-style: none;
	flex: 1;
	padding: 0;
}

.mobinav__menu-item {
	border-bottom: 1px solid #e9ecef;
}

.mobinav__menu-aktiv {
	background-color: var(--red);
}

.mobinav__menu-aktiv > a {
	color: white !important;    
}

 .mobinav__menu-link {
	display: block;
	padding: 15px 20px;
	text-decoration: none;
	color: black;
	font-size: 16px;
	font-weight: 500;
	transition: background-color 0.2s ease;
}

.mobinav__menu-link:hover {
	background-color: var(--red);
	color: white;
}

/* Submenu Styles */
.mobinav__menu-item--has-submenu .mobinav__menu-link::after {
	content: '▼';
	float: right;
	font-size: 12px;
	transition: transform 0.3s ease;
}

.mobinav__menu-item--has-submenu.mobinav__menu-item--active .mobinav__menu-link::after {
	transform: rotate(180deg);
}

.mobinav__submenu {
	list-style: none;
	background-color: #fff;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	padding: 0;
}

.mobinav__menu-item--has-submenu.mobinav__menu-item--active .mobinav__submenu {
	max-height: 90vh;
}

.mobinav__submenu-link {
	display: block;
	padding: 12px 40px;
	text-decoration: none;
	color: black;
	font-size: 14px;
	border-bottom: 1px solid #f1f3f4;
	transition: background-color 0.2s ease;
}

.mobinav__submenu-link:hover {
	background-color: var(--red);
	color: white;
}

/* Service Menu Styles */
.mobinav__service-menu {
	display: flex;
	justify-content: center;
	gap: 30px;
	padding: 0.5rem;
	background-color: #fff;
	border-top: 1px solid #e9ecef;
	margin-top: auto;
}

.mobinav__service-link {
	text-decoration: none;
	color: black;
	font-size: 14px;
	padding: 8px 12px;
	border-radius: 4px;
	transition: background-color 0.2s ease;
}

.mobinav__service-link:hover {
	background-color: var(--red);
	color: white; 
}

/* Responsive adjustments */
@media (max-width: 800px) {
	#mainnavbar {
		display: none;
	}
	
	.mobinav,
	.mobinav.mobinav__nav {
		display: block;
	}
	
	.mobinav__header-container {
		padding: 0 15px;
	}
	
	.mobinav__menu-link {
		padding: 12px 15px;
		font-size: 15px;
	}
	
	.mobinav__submenu-link {
		padding: 10px 30px;
		font-size: 13px;
	}

	.mobinav__logo {
		padding-top: 0.5rem;
	}

}


/* -----------------------------------------
	Freiplatzmeldung
-------------------------------------------- */
/* body > section > main > div > div > table > tbody > tr:nth-child(2) > th:nth-child(1) */
table.frp * {
	padding: 0;
}
table.frp td,
table.frp th {
	padding: 5px;
	vertical-align: top;
	font-size: 14px;
}

table.frp tbody th {
	font-size: small;
	font-weight: 400;
	text-transform: uppercase;
	opacity: 0.45;
	text-wrap: nowrap;
}

#frp > tbody > tr:nth-child(2) > td > div.frp_border_div {
	border-top: 1px dotted rgba(0,0,0,0.666); 
}

table.frp tbody th:nth-child(4),
table.frp tbody th:nth-child(5) {
	text-align: center;
}



.frp_kontakt {
	width: 33%;
}

.frp_titel {
	font-size: 1.05rem;
}

.frp_aktuell {
	display: flex;
	align-items: center;
	justify-content: center;
		 
}

strong.frp_ak_zahl {
	position: relative;
	display: block;
	background-color: #007642;
	//background-color: var(--red);
	color: white;
	font-size: 1.2rem;
	border-radius: 50%;
	width: 2rem;
	/* height: auto; */
	aspect-ratio: 1/1;
	text-align: center;
	  
}

td.frp_aktuell > span.marker,
table td.pla__akzahl > span.marker {
	background-color: #007642 !important;
	text-align: center;
	margin-bottom: 8px;
}

td.frp_aktuell > span.marker.deaktiv,
table td.pla__akzahl > span.marker.deaktiv {
	background-color: var(--red) !important;
	
}

strong.frp_ak_zahl.deaktiv,
.marker.deaktiv {
	background-color: var(--red);
}

.frp_max {
	text-align: center;
}

#frp tr.frp_wrapper_tr {
	  /* padding: 3rem 0 !important; */
}

#frp tr.frp_title_tr {
	padding-top: 1.5rem;
}

 #frp > tbody > tr.frp_wrapper_tr:nth-child(2) {
	 padding-top: 0;
	 border-top: 0;
 }



#frp.frp_border div.frp_border_div,
#frp.frp_border td {
	padding:0;
}

.frp_section {
}

#frp > tbody > tr > td.frp_section h3 {
	margin: 0;
	padding: 2rem 0 0 0;
}

.frp_border_div {
	border-top: 1px dotted var(--red); 
}

#frp > tbody > tr:nth-child(5) > td > h3 {
	 padding-top: 0.5rem;
 }

@media (max-width: 800px) {
	
	#frp > tbody > tr:nth-child(2) {display: none;}
	#frp > tbody > tr:nth-child(3) > td > h3 {padding: 0;}
 
	 div.frp-table {
		 /* padding: 1rem; */
	 }
 
	#frp * 	{ text-align:left; 	}
	#frp 	{	border: 0;		}
	   #frp tr {
		 /* border-bottom: 2px dotted white; */
		 display: block;
		 /* margin-bottom: 0.625em; */
	 }
	#frp td {
		 display: block;
		 font-size: 0.8em;
		 text-align: left;
		 padding: 2px;
		 position: relative;
		 border-bottom: 0;
	 }
	#frp td::before {
		 content: attr(data-label);
		 float: left;
		 font-weight: bold;
/* 		 text-transform: uppercase; */
	 }
	 
	#frp > tbody td.frp_section h3 {font-size: 1.2rem;}
	
	 
	#frp td:last-child {
		 border-bottom: 0;
	}
 
 	#frp tr.frp_wrapper_tr {
		  /* border-top: 1px dotted var(--red); */
		  padding: 0.5rem 0;
	}
	
	#frp tr.frp_title_tr {
		/* padding-top: 1.5rem; */
	}
 
 	#frp > tbody > tr.frp_wrapper_tr:nth-child(2) {
		 padding-top: 0;
		 border-top: 0;
	 }
	
	 
	
	#frp .frp_kontakt {
		 width: 100%;
	 }
	 #frp .frp_was::before,
	#frp .frp_alter::before,
	#frp .frp_max::before {
		 padding-right: 6px;
		 text-align: inherit;
		 font-weight: 300;
	 }
	 /* #frp .frp_aktuell * { display: block; } */
	
	#frp .frp_was:not(:empty)::before { content: 'Aufnahme von:'; 	}
	#frp .frp_was:was(:empty)::before { display: none;				}
	 
	#frp .frp_alter:not(:empty)::before { content: 'Aufnahmealter:'; 	}
	#frp .frp_alter:was(:empty)::before { display: none;				}
	
	#frp .frp_max:not(:empty)::before { content: 'Plätze:'; 	} 
	#frp .frp_max:was(:empty)::before { display: none;			}
	
	#frp .frp_aktuell:not(.frp_aktuell:empty)::before 	{ content: 'Freie Plätze:';  display: block; width: 100%;	} 
	#frp .frp_aktuell .marker 	{ text-align: center; }
	
	#frp .frp_was:empty,
	#frp .frp_alter:empty,
	#frp .frp_max:empty,
	#frp .frp_aktuell:empty {
	  display: none;
	}
	
	
	#frp tr.frp-header th,
	#frp tr.frp-header { display: none; }
	
	td.frp_aktuell > span.marker { text-align: center; }
	#freipl td.pla__akzahl.text-center.fpl--akzahl > span.marker {
		text-align: center !important;
	}
	
	
	.frp_aktuell .marker {
		margin:0.5rem 0;
	}
}





/* -----------------------------------------
	Jobs
-------------------------------------------- */
.job {}
.job--text {
	padding-right: 1rem;
}
.job--meta--wrapper {
	padding-left: 1rem;
	border-left: 1px dotted var(--red);
}

h2.job--headline { font-size: clamp(1.2rem, 4vw, 2.2rem) !important; }
	
.svglink path {
	fill: black; /* Standardfarbe */
	transition: fill 0.3s ease; /* Sanfter Übergang */
}

.svglink:hover path {
	fill: var(--red); /* Farbe beim Hover */
}

.job--meta-button {
	margin-bottom: 1rem;
}





@media (max-width: 800px) {
 
	.job--meta--wrapper {
		padding-left: 0;
		border-left: 0;
	}
	
}


/* -----------------------------------------
	Breadcrumb Jobanzeige
-------------------------------------------- */


.breadcrumb { margin-bottom: 1rem; }
.breadcrumb * { 
	display: inline-block;
	font-size: 15px;
	margin-right: 1rem;
	padding: 3px 9px;
	border: 0.5px solid lightgrey;
	background-color: #fefefe; 
	text-decoration: none;
}

.breadcrumb a:after {
	content: ' →';
}

.breadcrumb a:hover {
	background-color: var(--red);
	color: white;
}

@media (max-width: 800px) {

 .breadcrumb * { 
	 display: block;
	 margin-bottom: 4px;
	 font-size: 13px;
 }

 
}


/* -----------------------------------------
	 FAQ	
-------------------------------------------- */

.faq {
	width: 100%;
	margin: 0 auto;
}
	
.faq details {
	margin-bottom: 10px;
	border-radius: 0;
	overflow: hidden; /* Verhindert Überlauf */
	border-top: 1px dotted var(--red);
}
	
.faq:last-child {
	border-bottom: 1px dotted var(--red);
}
		
.faq summary {
	padding: 10px;
	cursor: pointer;
	font-weight: bold;
	font-size: 28px;
	color: var(--red);
	list-style: none; /* Entfernt das Dreieck */
	display: flex; /* Ändert die Anzeige, um das Dreieck zu vermeiden */
}
	
.faq summary::-webkit-details-marker {
	display: none; /* Versteckt das Dreieck */
}
	
.faq-content {
	max-height: 0; /* Starthöhe für Animation */
	overflow: hidden; /* Verhindert Überlauf */
	transition: all 2s ease-out; /* Übergang für die Höhe */
	padding: 0 10px; /* Padding für den Inhalt */
}
	
.faq details[open] .faq-content {
	max-height: 5000px; /* Maximale Höhe, wenn geöffnet */
	padding: 10px; /* Padding für den sichtbaren Inhalt */
}

@media (max-width: 800px) {
 .faq summary {
	 font-size: 20px;
	 line-height: 1.2em;
 }

}



/* -----------------------------------------
	Cover Headline 
 -------------------------------------------- */

.side-headline {
	 padding: 2rem 0 0 0;
 }
	 
 .side-headline h1 {
	 color: white;
 }
 
 .side-headline h1.side-headline-red {
	 color: var(--red) !important;
 }
 
 
 @media (max-width: 800px) {
 
	 .side-headline {
		 padding: 1rem;
	 }
	 
	 .side-headline h1 {
		  margin:  1rem 0 0;
	 }
 
 }


/* -----------------------------------------
	Teaser
-------------------------------------------- */
	
.teaser .is-vertical-align {
	gap: 2rem;
}

.teaser-box {
	display: flex;
	flex-direction: column;
	gap: 1rem; /* Elemente innerhalb der Box vertikal anordnen */
}

.teaser-box p {
}

.teaser-box > h3 {
	font-size: 1.6em;
	margin: 0;
}

.teaser h2 {
	margin-bottom: 1rem;
}

.teaser-row {
	gap: 2rem;
} 

.teaser-row a.button {
	transform: translateY(-20px);
}

.teaser--dotted-line {	
		border-left: 1px dotted var(--red);
		margin: 0; 
}


/* -----------------------------------------
	Homepage Teaser-Job
-------------------------------------------- */


.tjob {}
.tjob .tjob--section {
	display: flex;
	flex-direction: column;
	gap:2rem;
}
h4.tjob--headline {
	color: black;
	font-weight: 700;
}

.tjob--list ul li a {
	font-size: 18px;
	color: black;
}

.tjob--list ul li a:hover {
	
	color: var(--red);
}


.tjob--list ul li a b {
	color: var(--red);
}

/* -----------------------------------------
	Headeer
-------------------------------------------- */
#mainnavbar {
	background-color: white;
}

.sbar {
	border-top: 1px dotted lightgray;
	border-bottom: 1px dotted lightgray;
	margin-top: 1.5rem;
	padding: 1.5rem 0;
}

.sbar__button > button {
	border-radius: 0;
	padding: 0.75rem 1.5rem;
}

#searchbar {
    width: 100%;
    height: auto;
    background: white;
    top: 0;
    left: 0;
 	display:none;
}

#searchbar.visible {
	max-height: 100%; /* Passe ggf. an die tatsächliche Höhe an */
	opacity: 1;
	transform: translateY(0);
}

#search__button svg {
	width: 25px; 
	height: 25px;
}


/* -----------------------------------------
	TEXT
-------------------------------------------- */
.dopptext ul,
.text ul,
.teaser ul,
.double-teaser ul,
.faq ul,
section .jobanzeige ul { 
	list-style-type: circle; 
	margin: 0; 
	padding-left: 16px; 
	margin-bottom: 1.25rem;
}

.dopptext ul li::marker,
.text ul li::marker,
.teaser ul li::marker,
.double-teaser li::marker,
.faq li::marker,
section .jobanzeige li::marker {
	color: var(--red);	
}

/* -----------------------------------------
	QR Code
-------------------------------------------- */
.qrc {
	padding: 1rem;
}
.qrc p {font-size: 0.8em;color: var(--red); text-align: center;}


/* -----------------------------------------
	Freiplatzmeldungen
-------------------------------------------- */


.pla {
	background-color: var(--yellow);
	min-height: 50px;
	padding: 1rem;
	border-radius: 10px;
}

.pla thead,
.pla table tr  {
	border-bottom: 1px dotted white;
}

.pla table caption {
	color: var(--red); 
	font-weight: 600;
	font-size: 22px;
	text-align: left;
	line-height: 1.2rem;
	padding: 5px;
}

.pla table th,
.pla table td {
	font-size: 14px;
	font-weight: normal;
	padding: 8px 5px;
	vertical-align: top;
}

.pla table th {
	
	vertical-align: bottom;
	font-size: 13px;
}

.pla table tr:last-child {
	border-bottom: none;
}

.pla h3 { color: var(--red); font-weight: 600;}

.pla h5 {font-size:16px;}
.pla h5:after {
	content: ' ➔ ';
	position: relative;
	width:20px;
	border: 1px dotted pink;
}


.pla table td.pla__akzahl { text-align: center; font-size:16px; font-weight: 800; }
.pla__akzahl small {display: block; font-weight:300; font-size: 12px; margin-top: 0.5rem; }

.fpl--header {}
.fpl--was {}
.fpl--alter {}
.fpl--max {}
.fpl--akzahl {}
.fpl--akzahl-vortext {display: none}

/* Mobile Ansicht (Standard) */
@media screen and (max-width: 800px) {
	
	
	
	table#freipl *,
	table#freiplhome * { text-align:left; }
	
	table#freipl tr:last-child {
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.pla table 		{ border: 0;			}
	.pla caption 	{ font-size: 1.3em;  	}

	
	.pla thead,
	.pla table tr  {
		padding: 1rem 0;
		border-bottom: 2px dotted white;
	}
	
	.pla h5 {margin-bottom: 0.5rem;}
	
	.pla table th,
	.pla table td {
		font-size: 14px;
		font-weight: 300;
		padding: 2px;
		vertical-align: top;
	}
	
	.pla thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}

	.pla tr {
		display: block;
		margin-bottom: 0.625em;
	}

	.pla td {
		display: block;
		font-size: 0.8em;
		text-align: right;
		padding-left: 50%;
		position: relative;

	}

	.pla td::before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
		/* text-transform: uppercase; */
	}

	.pla td:last-child {
		border-bottom: 0;
	}

	.fpl--header {}
	.fpl--was {}
	.fpl--alter {}
	.fpl--max {}
	.fpl--akzahl {}
	.pla__akzahl {
		line-height: 2rem;		
	}
	.fpl--akzahl-vortext {
		display: block;
		font-size: 14px;
		font-weight: 500;
	}
	
	.fpl--max::before,
	.fpl--was::before,
	.fpl--alter::before {
		font-weight:300;
		margin-right: 8px;
	}
	
	
	
	.fpl--was:not(:empty)::before { 
		content: 'Aufnahme von:'; 	
		font-size: 14px;
		font-weight: 500;
	}
	.fpl--was:was(:empty)::before { display: none; }
	
	.fpl--alter:not(:empty)::before { 
		content: 'Aufnahmealter:';
		font-size: 14px;
		font-weight: 500;
	}
	.fpl--alter:was(:empty)::before { display: none; }
	
	.fpl--max:not(:empty)::before { 
		content: 'Plätze:';
		font-size: 14px;
		font-weight: 500;    
	}
	.fpl--max:was(:empty)::before { display: none; }
	
	
	table#freiplhome .fpl--header p,
	table#freiplhome .fpl--was,
	table#freiplhome .fpl--alter,
	table#freiplhome .fpl--max,
	table#freiplhome .pla__akzahl {
		display: none
	}
	
	table#freiplhome tbody tr {padding: 5px 0; margin:0;}
	
	table#freiplhome caption {padding: 0 0 10px 0;}
}

/* Tablet und Desktop Ansicht */
@media screen and (min-width: 601px) {
	
	.pla table th:first-child,
	.pla table td:first-child {
		width:40%;
	}

	
	.pla table {
		min-width: 600px;
	}
	
	.pla th, .pla td {
		
		width: calc(100% / 6);
	}
}







/* -----------------------------------------
	Home Intro
-------------------------------------------- */

.hintro {margin-top: 1rem;}

/* -----------------------------------------
	Angebote
-------------------------------------------- */

.ang {
   display: flex;
   flex-direction: column;
   gap: 6px;
   padding:15px 25px;
   border-radius: 10px;
   
   background-color: var(--blau);

}

.ang h3 {
   color: white;
   font-size; 24px;
   color: var(--red);
}

.ang a {
   display: block;
   width: 100%;
   padding-bottom: 4px;
   margin-bottom: 4px;
   
   font-weight: 600;
   font-size: 16px;
   
   color: var(--black);
   text-decoration: none !important;   
   border-bottom: 1px dotted white;
   transition: 0.5s all;
}

.ang a:hover {
	color: var(--red);
}


.ang ul,
.ang ul li {
   /* margin:0;
   padding:0;
   list-style: none; */
}


.badge {
	display: inline-block;
	  background-color: red;
	  border-radius: 50%;
	  padding: 0.6em;
	  color: white;
	  text-align: center;
	  line-height: 1;
	  min-width: 1em;
	  min-height: 1em;
}

.marker {
  display: inline-block;
  background-color: var(--red);
  border-radius: 50%;
  padding: 0.6em;
  color: white;
  text-align: center;
  line-height: 1;
  min-width: 1em;
  min-height: 1em;
  box-sizing: content-box;
}

/* -----------------------------------------
	COVER - Slider
-------------------------------------------- */

.cover {
  position: relative;
  width: 100%;
  max-width: 1600px;
  height: auto;
  overflow: hidden;
  aspect-ratio: 16/7;
  margin: 0 auto;
}

.cover__slider {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  transition: transform 1s ease-in-out;
}

.cover__slide {
  position: relative;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cover__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cover__headline {
  position: absolute;
  bottom: 20px;
  left: 20px;

  color: #ffffff;
  padding: 15px 20px;
  margin: 0;
  font-size: 2rem;
  font-weight: bold;
  z-index: 2;
  max-width: calc(100% - 40px);
  box-sizing: border-box;
   

	left:0;
	bottom:0;
	width: 100%;
	height: auto;
	padding: 2% 2% 4% 4%;
   font-weight: 300;
	font-size: 3.5rem;
	color: white;
	line-height: 1.2em;
	margin: 0;
	text-wrap: balance; 
   
   
}

.cover__headline-span,
.cover-headline-span {
   background-color: var(--red);
	padding: 5px 15px;
	margin-bottom: 4px;
	display: inline-block; 
}


.cover__navigation {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  pointer-events: none;
  z-index: 3;
}

.cover__arrow {
  background-color: rgba(0, 0, 0, 0.5);
  color: #ffffff;
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease;
  pointer-events: auto;
}

.cover__arrow:hover {
  background-color: var(--red);
}

.cover__arrow:focus {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.cover__arrow svg {
  width: 24px;
  height: 24px;
}

/* Responsive Design */
@media (max-width: 768px) {
	
	.cover-segment {
		margin-top: 76px;
	}
	
  .cover {
	height: 300px;
  }
    
  .cover__headline {
	  position: absolute;
	  font-size: 1.5rem;
	  padding: 0 0;
	  bottom: 10px;
	  left: 10px;
  }
  
  
  .cover__navigation {
	padding: 0 10px;
  }
  
  .cover__arrow {
	width: 40px;
	height: 40px;
  }
}

/* -------------------- */

/* -----------------------------------------
	Navigation
-------------------------------------------- */
/* Hauptnavigation */
.main-nav {
	/* background-color: #2c3e50; */
}

.nav-list {
	list-style: none;
	display: flex;
	gap: 30px;
	justify-content: center;
	max-width: 1200px;
	margin: 0 auto;
	z-index:100;
}

.nav-item {
	position: relative;
}

div.col.is-center.header-navigation > nav > ul > li.nav-item.nav-active > a {
	color: var(--red);
}

.nav-item a {
	display: block;
	padding: 10px;
	color: var(--black);
	font-size: 20px;
	text-decoration: none;
	transition: background-color 0.3s;
	font-weight: 600;
}

.nav-item a:hover {
	color: var(--red);
}

.nav-item a.aktiv {
	color: var(--black);
}


/* Untermenü */
.submenu {
	position: absolute;
	top: 100%;
	left: 0;
	padding: 0;
	margin: 0;
	background-color: rgba(255, 255, 255, 0.6666);
	min-width: 300px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s ease;
	list-style: none;
	box-shadow: 0 2px 5px rgba(0,0,0,0.2);
	z-index:100;
}

.nav-item:hover .submenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.submenu li a {
	padding: 0.5rem 1rem;
	font-size: 1.0rem;
	font-weight: 600;
	color: var(--black);
}



.submenu li.sub-active a {
	color: red;
	border-color: white;
}


.submenu li a:hover {
	color: var(--red);
	background-color: white;
}



/* -----------------------------------------
	Logoleiste
-------------------------------------------- */

.logoleiste { 
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: 2px dotted var(--red); }
	
	

/* -----------------------------------------
	Banner
-------------------------------------------- */


.banner-faq {
	background-color: #F19999;
	padding: 1rem;
	margin-top: 3rem;
}

.banner-faq-text {
	display: flex;
	flex-direction: column; /* Arrange items vertically */
	gap: 5px; /* Sets a vertical gap of 20px between items */
}

.banner-faq-text > * {
	color:black;
	margin:0;
}

.banner-faq-text > h5 {
	color: var(--red);
	margin:0;
}
p.intro { font-size: 20px !important;}

h2.intro > a {
	color: black;
}

h2.intro > a:hover {
	color: var(--red);
}

@media (max-width: 800px) {
	
	.banner-faq-text h3 { font-size: 24px; }
 
	.banner-faq {padding: 2.5rem 1rem;}
	.banner-faq * {text-align: center;}
	.banner-faq-img {
		width: 50%;
	}
		
}



/* -----------------------------------------
	Main
-------------------------------------------- */

main.container {margin-top: 3rem;}

main .sidebar,
main .content,
footer .container {
	display: flex;
	flex-direction: column; 
	gap: 1.1rem;  
}

@media (max-width: 800px) {
 	main.container {margin-top: 0rem;}
	main .sidebar,
	main .content {
		padding: 1rem 1rem; 
	}
	
}


/* -----------------------------------------
	Header
-------------------------------------------- */
.header {
	padding: 1rem;
	z-index: 100;
	
}

/* .header .container {max-width: 1600px;} */

.header-logo-paritaetische {
	max-width: 217px;
}

.header--servicenavi {
	display: flex;
	gap: 1.5rem;
	flex-direction: row;
}

.header--servicenavi a {
	color: var(--black);
}

.header--servicenavi a:hover {
	color: var(--red);
}

@media (max-width: 800px) {
 	.header {
	 	padding:0; 
 	}
}

/* -----------------------------------------
	Footer
-------------------------------------------- */


footer .container {
	
}

footer {
	background-color: var(--red); 
	color: white;
	margin: 3rem 0;
}

footer h3 {
	color: white;
	font-size: 24px;
}

footer a {
	color: white;

}

footer section.footer {
	padding: 2rem 1rem;
	max-width: 96%;
	margin: 0 auto;
}


.footer--adresscol {

}

.footer--adresscol .col {
	padding-right: 2rem;
	padding-left: 2rem;
	border-right: 1px dotted  rgba(255,255,255,0.75); 
}

.footer--adresscol .col:first-child {
	padding-left: 0;
}

.footer--adresscol .col:last-child {

	border-right: 0;
}


@media (max-width: 800px) {
 
	.footer--adresscol {
		gap: 0;
	    display: grid ;
  	  	grid-template-rows: 1fr; /* 4 Zeilen, Höhe automatisch */
  	  	gap: 1rem; /* Abstand zwischen den Grids */
	}

	.footer--adresscol .col {
		padding-right: 0;
		padding-left: 0;
		border-right: 0px; 
	}
	
}




/* -----------------------------------------
	Sidebar Cobix
-------------------------------------------- */

.cbox {
	
}

.cbox hr:last-child { display: none; }

.cbox-item * {
	font-size: 15px;
}

.cbox-item h2,
.cbox-item h3,
.cbox-item h4 {
	font-size: 18px !important;
}


/* -----------------------------------------
	Banner | Cover-Slider
-------------------------------------------- */
.jbadge {
   position: absolute;
   right:100px;
   bottom:50px;
   
   width: 236px;
   height: 236px;
   border: 10px solid var(--red);
   border-radius: 50%; /* Macht die Box kreisrund [[2]] */
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   box-sizing: border-box;
   background: rgba(255,255,255,0.8);
   margin: 40px auto;
   padding: 1rem;
   text-align: center;
   overflow: hidden;
   transform: rotate(-4deg);
   text-transform: none;
   color: black;
}

.jbadge-wrapper {
	transform: translateY(-7%);
}

.jbadge h2 {
   margin: 0 0 10px 0;
   font-size: 2.0rem;
   text-align: center;
   line-height: 0.9em;
   font-weight: 700;
}
.jbadge-job {
   color: black;
   text-decoration: none;
   font-size: 0.9rem;
   line-height: 1.2em;
}

.jbadge-job strong {
	display: block;
}

@media (max-width: 800px) {
 .jbadge {display:none;}
}

/* -----------------------------------------
	Footer X-Claim	
-------------------------------------------- */
.x {padding: 0; background: #019FF0;  color: black;}
.x-row { width: 40%; }
.x__claim {font-size: 36px; text-transform: uppercase; }
.x__logo { text-align: center; }
.x__logo img {}
.x__img { height:180px; }
.x__claim {}
.x__claim-text {
	color: white; 
	font-size: 38px; 
	line-height: 1; 
	margin-bottom: 0; 
	padding-bottom: 0;
}

@media (max-width: 800px) {
	
	footer a {
		color: white;
		height: 100%;
		/* display: block; */
		align-items: center;
		justify-content: center;
	}
	.x-row 		{ 	
		width: 100%; 		
		display: grid;
		grid-template-columns: 0.5fr 1fr; /* Zwei gleich breite Spalten */
		gap: 0; /* Abstand zwischen den DIVs */
	}
	.x__claim 	{	font-size: 1rem; 	}
	.x__img 	{ 	height:100px; 		}
	.x__claim-text {
		color: white; 
		font-size: 24px; 
	}
	
	.idel_footer {
		display: block;
		text-align: center
	}
	
	
	.idel_footer a {display: inline-block }
	
}