/* ---- 08.07.2025 ---- */
:root,
[data-bs-theme=light] {
	scroll-behavior: smooth;
	 
	--background: #fff;
	
	--contrast: #fff !important;
	
	--primary-rgb: 0, 0, 255;
	--primary: blue;
	--primary-dark: purple;
	--primary-light: #ddd;
	
	--secondary-rgb: 127, 255, 0;
	--secondary: chartreuse;
	--secondary-dark:  darkgreen;
	--secondary-light: #eee;
	
	--light-rgb: 228, 232, 240;
	--light: #e4e8f0;
	--lighter-rgb: 241, 244, 250;
	--lighter: #f1f4fa;
	
	--accent-rgb: 255, 0, 229;
	--accent: #ff00e5;
	--accent-dark: #ba00a7;
	--accent-light: #ffaff5;
	--accent-light-rgb: 255, 175, 245;
	
	--gray: #adb5bd;
	--gray-rgb: 173, 181, 189;
	
	--bs-red: #ff0000;
	
	--body-font: "",  sans-serif;
	--body-size: large;
	--body-weight: 300;
	--body-line-height: 1.5;
	--body-color: #444;
	--body-color-rgb: 69, 69, 69;
		
	--heading-font: "",  sans-serif;
	--heading-color: red;
	--heading-link:green;
	--heading-link-hover: orange);
	--heading-hover-decoration: underline;
	
	--link-color: aqua;
	--link-hover-color: blue;
	--link-weight: 500;
	--link-hover-decoration: none;

	--nav-font: "";
	--nav-weight: 400;
	--nav-hover-weight: 500;
	--nav-active-weight: bold;
	--nav-color: var(--primary);
	--nav-hover-color: var(--primary);
	--nav-active-color: var(--primary);
	--nav-affix-color: var(--primary);
	--nav-affix-hover-color: var(--primary);
	--nav-affix-active-color: var(--primary);
	--nav-mobil-weight: 400;
	--nav-mobil-hover-weight: 500;
	--nav-mobil-active-weight: bold;
	--nav-mobil-color: var(--primary);
	--nav-mobil-hover-color: var(--primary);
	--nav-mobil-active-color: var(--secondary);
	
	--nav-dropdown-weight: 400;
	--nav-dropdown-hover-weight: 500;
	--nav-dropdown-active-weight: bold;
	--nav-dropdown-color: var(--bs-black);
	--nav-dropdown-hover-color: var(--bs-black);
	--nav-dropdown-active-color: var(--secondary);
	--nav-dropdown-mobil-weight: 400;
	--nav-dropdown-mobil-hover-weight: 500;
	--nav-dropdown-mobil-active-weight: bold;
	--nav-dropdown-mobil-color: var(--bs-dark);
	--nav-dropdown-mobil-hover-color: var(--bs-black);
	--nav-dropdown-mobil-active-color: var(--bs-black);
		
	--list-symbol: '\F061';
	--list-color: var(--secondary);
	--list-hover-color: var(--secondary-dark);
	--list-font-family: "Font Awesome 5 Free";
	--list-font-weight: 900;
	/*--bs-list-group-bg: var(--bs-white);*/
	
	--bs-border-radius: var(--radius);
	--radius: 4px;
	
	--bs-border-radius: var(--radius);
	--bs-body-bg: var(--bs-gray-100);
	--bs-form-check-bg: var(--bs-gray-100);
	--bs-border-color: var(--bs-gray-300);
	--bs-border-color: var(--bs-gray-300);
	--form-control-color: var(--body-color);
	
	--icon: var(--secondary);
	--muted: var(--heading-font);
	--small: 0.875em;
	--smaller: 0.75em;
	}

}

[data-bs-theme=dark] {
	color: var(--bs-white) !important; 
	--body-color: var(--bs-white) !important;
	}
[data-bs-theme=dark] > * {
	--bs-black: var(--bs-white) !important;
	--bs-black-rgb: var(--bs-white-rgb) !important;
	
	---bs-dark: var(--bs-white) !important;
	---bs-dark-rgb: var(--bs-white-rgb) !important;
		
	--body-color: var(--bs-white) !important;
	--icon: var(--secondary) !important;
	
	--primary: var(--secondary) !important;
	--primary-dark: var(--secondary-dark) !important;
	--primary-light: var(--secondary-dark) !important;
	
	--bs-dark: var(--bs-gray-600) !important;
	--bs-darker: var(--bs-gray-700) !important;
	
	--heading: var(--bs-white) !important;
	--heading-link: var(--secondary) !important;
	--heading-link-hover: var(--bs-white) !important;
	
	--link-color: var(--secondary) !important;
	--link-hover-color: var(--bs-white) !important;
	--link-hover-decoration: underline;
	
	--bs-body-bg: var(--bs-gray-500) !important;
	--bs-form-check-bg: var(--bs-gray-500) !important;
	--bs-border-color: var(--bs-gray-600) !important;
	--bs-border-color: var(--bs-gray-600) !important;
	--form-control-color: #000;
	
	--icon: var(--secondary) !important;
	}	
	
[data-bs-theme=dark] .icon-bg.border-dark,
[data-bs-theme=dark] .icon-bg.bg-dark {
	--bs-dark: var(--bs-white) !important; 
	--bs-dark-rgb: var(--bs-white-rgb) !important;
	}
[data-bs-theme=dark] a:hover .icon-bg.border-black,
[data-bs-theme=dark] a:hover .icon-bg.border-dark,
[data-bs-theme=dark] a:hover .icon-bg.bg-black,
[data-bs-theme=dark] a:hover .icon-bg.bg-dark,
[data-bs-theme=dark] a:hover .icon-bg.border-white,
[data-bs-theme=dark] a:hover .icon-bg.bg-white i {
	color: #000 !important;
	}	
[data-bs-theme=dark] .icon-bg.border-primary {
	border-color: var(--bs-gray-500) !important;
	color: var(--bs-gray-500) !important
	}	
[data-bs-theme=dark] a:hover .icon-bg.border-primary {
	background: var(--bs-gray-500) !important;
	border-color: var(--bs-gray-500) !important;
	}			

[data-bs-theme=accent] {
	color: var(--bs-black) !important; 
	--body-color: var(--bs-black) !important;
	}	
[data-bs-theme=accent] > * {
	--accent: var(--accent-light) !important;
	.border-accent	{ border-color: var(--accent-light) !important }
	a:hover .border-accent	{ border-color: var(--accent-light) !important }
	.icon-bg.bg-accent[class*="opacity-"]	{ background-color: var(--accent-light) !important }
	a:hover .icon-bg.bg-accent[class*="opacity-"]	{ background-color: var(--accent-dark) !important }

	--secondary: var(--secondary-light) !important;
		
	--body-color: var(--bs-black) !important;
	--icon: var(--bs-black) !important;
	
	--heading: var(--bs-black) !important;
	--heading-link: var(--bs-black) !important;
	--heading-link-hover: var(--bs-black) !important;
	
	--link-color: var(--bs-black) !important;
	--link-hover-color: var(--bs-dark) !important;
	--link-hover-decoration: underline;
	}


.contrast { color: var(--contrast)}

/*--------------------------------------------------------------
# Frontend-Balken / Screenreader
--------------------------------------------------------------*/
@media print {
	#sticky,
	#cookiedingsbums,
	.drucken,
	.edit-block,
	.debug-box,
	.frontend,
	.toggle-content.edit-block { 
		display: none !important 
	}	
}	
 
/*--------------------------------------------------------------
# Farben (style_basics_01.css)
--------------------------------------------------------------*/
.bg-primary 		{ --bs-bg-opacity: 1; background-color: rgba(var(--primary-rgb), var(--bs-bg-opacity)) !important;  }
.bg-primary-dark 	{ --bs-bg-opacity: 1; background-color: rgba(var(--primary-dark), var(--bs-bg-opacity)) !important;  }
.bg-secondary 		{ --bs-bg-opacity: 1; background-color: rgba(var(--secondary-rgb), var(--bs-bg-opacity)) !important; }
.bg-secondary-dark 	{ --bs-bg-opacity: 1; background-color: rgba(var(--secondary-dark), var(--bs-bg-opacity)) !important;  }
.bg-accent 			{ --bs-bg-opacity: 1; background-color: rgba(var(--accent-rgb), var(--bs-bg-opacity)) !important;  }
.bg-accent-light 	{ --bs-bg-opacity: 1; background-color: rgba(var(--accent-light-rgb), var(--bs-bg-opacity)) !important;  }
.bg-light			{ --bs-bg-opacity: 1; background-color: rgba(var(--light-rgb), var(--bs-bg-opacity)) !important;}
.bg-lighter			{ --bs-bg-opacity: 1; background-color: rgba(var(--lighter-rgb), var(--bs-bg-opacity)) !important;}
.bg-dark 			{ --bs-bg-opacity: 1; background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;  }
.bg-black 			{ --bs-bg-opacity: 1; background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; }
.bg-white 			{ --bs-bg-opacity: 1; background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;}
.bg-gray 			{ --bs-bg-opacity: 1; background-color: rgba(var(--gray-rgb), var(--bs-bg-opacity)) !important;}

.text-primary 		{ --bs-bg-opacity: 1; color: var(--primary) !important;  }
.text-primary-dark 	{ --bs-bg-opacity: 1; color: var(--primary-dark) !important;  }
.text-secondary 	{ --bs-bg-opacity: 1; color: var(--secondary) !important; }
.text-secondary-dark{ --bs-bg-opacity: 1; color: var(--secondary-dark) !important;  }
.text-white 		{ --bs-bg-opacity: 1; color: var(--bs-white) !important;}
.text-black 		{ --bs-bg-opacity: 1; color: var(--bs-black) !important;}
.text-light 		{ --bs-bg-opacity: 1; color: var(--light) !important;}
.text-dark 			{ --bs-bg-opacity: 1; color: var(--bs-dark) !important;}
.text-darker 		{ --bs-bg-opacity: 1; color: var(--bs-darker) !important;}					
.text-accent 		{ --bs-bg-opacity: 1; color: var(--accent) !important; }
.text-accent-light 	{ --bs-bg-opacity: 1; color: var(--accent-light) !important; }
.text-accent-dark 	{ --bs-bg-opacity: 1; color: var(--accent-dark) !important;  }

.text-red, .red, .rot		{ --bs-bg-opacity: 1; color: var(--bs-red) !important; }
.text-green, .green, .gruen	{ --bs-bg-opacity: 1; color: var(--bs-green) !important }
.text-orange, .orange		{ --bs-bg-opacity: 1; color: var(--bs-orange) !important }
.text-blue, .blue			{ --bs-bg-opacity: 1; color: var(--bs-blue) !important }

.text-gray, .gray			{ --bs-bg-opacity: 1; color: var(--bs-gray) !important }
.text-gray-dark		{ --bs-bg-opacity: 1; color: var(--bs-gray-dark) !important }
.text-gray-100		{ --bs-bg-opacity: 1; color: var(--bs-gray-100) !important }
.text-gray-200		{ --bs-bg-opacity: 1; color: var(--bs-gray-200) !important }
.text-gray-300		{ --bs-bg-opacity: 1; color: var(--bs-gray-300) !important }
.text-gray-400		{ --bs-bg-opacity: 1; color: var(--bs-gray-400) !important }
.text-gray-500		{ --bs-bg-opacity: 1; color: var(--bs-gray-500) !important }
.text-gray-600		{ --bs-bg-opacity: 1; color: var(--bs-gray-600) !important }
.text-gray-700		{ --bs-bg-opacity: 1; color: var(--bs-gray-700) !important }
.text-gray-800		{ --bs-bg-opacity: 1; color: var(--bs-gray-800) !important }
.text-gray-900		{--bs-bg-opacity: 1;  color: var(--bs-gray-900) !important }

.border-primary 	{  --bs-border-opacity: 1; border-color: rgba(var(--primary-rgb), var(--bs-border-opacity)) !important;}
.border-secondary 	{  --bs-border-opacity: 1; border-color: rgba(var(--secondary-rgb), var(--bs-border-opacity)) !important;}
.border-accent 		{  --bs-border-opacity: 1; border-color: rgba(var(--accent-rgb), var(--bs-border-opacity)) !important;}
.border-accent-light {  --bs-border-opacity: 1; border-color: rgba(var(--accent-light-rgb), var(--bs-border-opacity)) !important;}
.border-gray 		{  --bs-border-opacity: 1; border-color: rgba(var(--gray-rgb), var(--bs-border-opacity)) !important;}

.bg-opacity-10 		{ --bs-bg-opacity: 0.1;}
.bg-opacity-25 		{ --bs-bg-opacity: 0.25;}
.bg-opacity-50 		{ --bs-bg-opacity: 0.5;}
.bg-opacity-75 		{ --bs-bg-opacity: 0.75;}
.bg-opacity-100		{ --bs-bg-opacity: 1;}

.text-opacity-25 	{ --bs-text-opacity: 0.25;}
.text-opacity-50 	{ --bs-text-opacity: 0.5;}
.text-opacity-75 	{ --bs-text-opacity: 0.75;}
.text-opacity-100 	{ --bs-text-opacity: 1;}



/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
.z-n1 {z-index: -1 !important;}
.z-0 {z-index: 0 !important;}
.z-1 {z-index: 1 !important;}
.z-2 {z-index: 2 !important;}
.z-3 {z-index: 3 !important;}
.z-4 {z-index: 4 !important;}
.z-5 {z-index: 5 !important;}
.z-6 {z-index: 6 !important;}
.z-7 {z-index: 7 !important;}
.z-8 {z-index: 8 !important;}
.z-9 {z-index: 9 !important;}
.z-10 {z-index: 10 !important;}
.z-100 {z-index: 100 !important;}
.z-1000 {z-index: 1000 !important;}
	
.word-break { 
	white-space: normal !important; 
	word-break: normal !important; 
}
.no-hyphens { 
	hyphens: none !important;
	-webkit-hyphens: none !important;
	-ms-hyphens: none !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	white-space: normal !important;
 }



html, body {
  overflow-x: hidden !important;
}

body {
color: var(--body-color);
font-family: var(--body-font);
font-size: var(--body-size);
font-weight: var(--body-weight);
line-height: var(--body-line-height);

white-space: normal; 
word-break: normal; /* Verhindert das Brechen einzelner Buchstaben */
hyphens: auto; /* Aktiviert Silbentrennung */
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
/* Mindestanzahl von Zeichen vor/nach einem Trennstrich */
-webkit-hyphenate-limit-before: 4;
-webkit-hyphenate-limit-after: 4;
hyphenate-limit-chars: 4 4 4; /* Mindestens 4 Zeichen insgesamt, 4 davor und danach */
}




/*--------------------------------------------------------------
# Sections / Aufbau
--------------------------------------------------------------*/
main 					{ padding: 130px 0; }
.start main 			{ padding-bottom: 0 }
.start main > section	{ padding: 100px 0; }
	
.content { }

@media (min-width: 1200px) {
  .container {
	/*max-width: 1140px;*/
  }
}

@media (max-width: 992px) {
	main 					{ padding: 100px 0; }
	.start main > section	{ padding: 80px 0; }
	
	.container:not(.topbar .container, .navbar .container) { 
	/*min-width: 100%; 
	padding-left: 60px; 
	padding-right: 60px;*/
	}
}
@media (max-width: 768px) {
	main					{ padding: 70px 0; }
	.start main > section	{ padding: 70px 0; }
	
	.container:not(.topbar .container, .navbar .container) { 
	/*padding-left: 35px; 
	padding-right: 35px;*/
	}
}




/*--------------------------------------------------------------
# Typografie
--------------------------------------------------------------	*/
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
	color: var(--heading-color);
	font-family: var(--heading-font);
	display: block;
	width: 100%;
	margin-top: 2em;
	margin-bottom: .3em;
	
	white-space: normal; 
	word-break: normal; /* Verhindert das Brechen einzelner Buchstaben */
	hyphens: auto; /* Aktiviert Silbentrennung */
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	/* Mindestanzahl von Zeichen vor/nach einem Trennstrich */
	-webkit-hyphenate-limit-before: 4;
	-webkit-hyphenate-limit-after: 4;
	hyphenate-limit-chars: 4 4 4; /* Mindestens 4 Zeichen insgesamt, 4 davor und danach */
	}
	h1,.h1,
	aside h2, aside .h2 { margin-top: 0 }
	
	aside h3, aside .h3,
	aside h4, aside .h4,
	aside h5, aside .h5,
	aside h6, aside .h6 { margin-top: 1.5em }
	
	h1, .h1 { font-size: calc(1.1rem + 2vw);	line-height: 1.2em; }
	h2, .h2 { font-size: calc(.75rem + 1.15vw);	line-height: 1.3em; }
	h3, .h3 { font-size: calc(.6rem + 1vw);	line-height: 1.4em; }
	h4, .h4 { font-size: calc(.5rem + .85vw);	line-height: 1.4em; }
	h5, .h5 { font-size: calc(.3rem + .8vw);	line-height: 1.5em; }
	h6, .h6 { font-size: calc(.13rem + .8vw);	line-height: 1.5em; }
	@media (max-width: 992px) {
		h3, .h3 { font-size: calc(.6rem + 1.1vw); }
		h4, .h4 { font-size: calc(.5rem + .95vw); }
		h5, .h5 { font-size: calc(.3rem + 1vw); }
		h6, .h6 { font-size: calc(.13rem + 1.1vw); }
	}	
	
	aside h1, aside .h1 { font-size: calc(1.1rem + .8vw) }
	aside h2, aside .h2 { font-size: calc(.75rem + .8vw) }
	aside h3, aside .h3 { font-size: calc(.6rem + .6vw) }
	aside h4, aside .h4 { font-size: calc(.5rem + .55vw) }
	aside h5, aside .h5 { font-size: calc(.3rem + .8vw) }
	aside h6, aside .h6 { font-size: calc(.13rem + .9vw) }
	@media (max-width: 992px) {
		aside h3, aside .h3 { font-size: calc(.6rem + .7vw) }
		aside h4, aside .h4 { font-size: calc(.5rem + .6vw) }
		aside h5, aside .h5 { font-size: calc(.3rem + 1vw) }
		aside h6, aside .h6 { font-size: calc(.13rem + 1.1vw) }
	}	
	


h1 a,h2 a,h3 a,h4 a,h5 a,h6 a,
.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a {
	color: var(--heading-link);
	}	
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover,
.h1 a:hover,.h2 a:hover,.h3 a:hover,.h4 a:hover,.h5 a:hover,.h6 a:hover {
	color: var(--heading-link-hover);
	text-decoration: var(--heading-hover-decoration)
	}		
h1.border, h2.border, h3.border, h4.border, h5.border, h6.border,
.h1.border, .h2.border, .h3.border, .h4.border, .h5.border, .h6.border  {
	display: block;
	width: 100%;
	border-width: 1px;
	border-style: solid;
	border-color: rgba(0, 0, 0, .1) !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: none !important;
	margin-top: 2em;
	padding-top: 2.3em;
	} 






	
a {
	color: var(--link-color);
	font-weight: var(--link-weight); 
	text-decoration: none;
	transition: .3s;
	}
a:hover {
	color: var(--link-hover-color);
	text-decoration: var(--link-hover-decoration);
	}
	
address {
	margin-bottom: 0
	}	

b 			{ font-weight: bold }
strong 		{ font-weight: 800 }
.lowercase 	{ text-transform: none !important }
.muted 		{ font-family: var(--muted) }
small, .small 	{ font-size: var(--small) }
.smaller 	{ font-size: var(--smaller) }

h1.muted, .h1.muted,
h2.muted, .h2.muted,
h3.muted, .h3.muted,
h4.muted, .h4.muted,
h5.muted, .h5.muted,
h6.muted, .h6.muted,
h1 .muted,
h2 .muted,
h3 .muted,
h4 .muted,
h5 .muted,
h6 .muted	{ font-family: var(--body-font); }

.fw-lighter 		{ font-weight: 200 !important; }
.fw-light 			{ font-weight: 300 !important; }
.fw-normal 			{ font-weight: 400 !important; }
.fw-medium 			{ font-weight: 500 !important; }
.fw-semi-bold 		{ font-weight: 600 !important; }
.fw-bold 			{ font-weight: 700 !important; }
.fw-bolder 			{ font-weight: 800 !important; }


.fs-4 { line-height: 1.3em }
.fs-5 { line-height: 1.3em }
.fs-6 { line-height: 1.3em }
.fs-7 { font-size: .9rem !important; line-height: 1.3em }
.fs-8 { font-size: .8rem !important; line-height: 1.3em }
	@media (min-width: 768px) {
	.fs-md-1 { font-size: calc(1.375rem + 1.5vw) !important; }
	.fs-md-2 { font-size: calc(1.325rem + 0.9vw) !important; }
	.fs-md-3 { font-size: calc(1.3rem + 0.6vw) !important; }
	.fs-md-4 { font-size: calc(1.275rem + 0.3vw) !important; }
	.fs-md-5 { font-size: 1.25rem !important; }
	.fs-md-6 { font-size: 1rem !important; }
	.fs-md-7 { font-size: .9rem !important; }
	.fs-md-8 { font-size: .8rem !important; }
	}
	@media (min-width: 992px) {
	.fs-lg-1 { font-size: calc(1.375rem + 1.5vw) !important; }
	.fs-lg-2 { font-size: calc(1.325rem + 0.9vw) !important; }
	.fs-lg-3 { font-size: calc(1.3rem + 0.6vw) !important; }
	.fs-lg-4 { font-size: calc(1.275rem + 0.3vw) !important; }
	.fs-lg-5 { font-size: 1.25rem !important; }
	.fs-lg-6 { font-size: 1rem !important; }
	.fs-lg-7 { font-size: .9rem !important; }
	.fs-lg-8 { font-size: .8rem !important; }
	}
	@media (min-width: 1200px) {
	.fs-xl-1 { font-size: calc(1.375rem + 1.5vw) !important; }
	.fs-xl-2 { font-size: calc(1.325rem + 0.9vw) !important; }
	.fs-xl-3 { font-size: calc(1.3rem + 0.6vw) !important; }
	.fs-xl-4 { font-size: calc(1.275rem + 0.3vw) !important; }
	.fs-xl-5 { font-size: 1.25rem !important; }
	.fs-xl-6 { font-size: 1rem !important; }
	.fs-xl-7 { font-size: .9rem !important; }
	.fs-xl-8 { font-size: .8rem !important; }
	}


.title.text-center 	{ text-align: center; }
.title.text-start 	{ text-align: left;  }
.title.text-end 	{ text-align: right; left: auto; }	
	@media (min-width: 575px) {
		.title.text-sm-center 	{ text-align: center; }
		.title.text-sm-start 	{ text-align: left;  }	
		.title.text-sm-end 		{ text-align: right; }	
	}
	@media (min-width: 768px) {
		.title.text-md-center 	{ text-align: center; }
		.title.text-md-start 	{ text-align: left; }	
		.title.text-md-end		{ text-align: right; }		
	}
	@media (min-width: 992px) {
		.title.text-lg-center 	{ text-align: center; }
		.title.text-lg-start	{ text-align: left; }	
		.title.text-lg-end 		{ text-align: right; }		
	}
	
	
	
@media (min-width: 1px) 	{ .border-xs-start {  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 576px) 	{ .border-sm-start {  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 768px) 	{ .border-md-start {  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 992px) 	{ .border-lg-start {  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 1200px)	{ .border-xl-start {  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 1400px) 	{ .border-xxl-start {  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}

@media (min-width: 1px) 	{ .border-xs-end {  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 576px) 	{ .border-sm-end {  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 768px) 	{ .border-md-end {  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 992px) 	{ .border-lg-end {  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 1200px)	{ .border-xl-end {  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 1400px) 	{ .border-xxl-end {  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}

@media (min-width: 1px) 	{ .border-xs-top {  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 576px) 	{ .border-sm-top {  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 768px) 	{ .border-md-top {  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 992px) 	{ .border-lg-top {  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 1200px)	{ .border-xl-top {  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 1400px) 	{ .border-xxl-top {  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}

@media (min-width: 1px) 	{ .border-xs-bottom {  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 576px) 	{ .border-sm-bottom {  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 768px) 	{ .border-md-bottom {  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 992px) 	{ .border-lg-bottom {  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 1200px)	{ .border-xl-bottom {  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}
@media (min-width: 1400px) 	{ .border-xxl-bottom {  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; }}


@media (min-width: 1px) 	{ .border-xs-start-0 {  border-left: none !important; }}
@media (min-width: 576px) 	{ .border-sm-start-0 {  border-left: none !important; }}
@media (min-width: 768px) 	{ .border-md-start-0 {  border-left: none !important; }}
@media (min-width: 992px) 	{ .border-lg-start-0 {  border-left: none !important; }}
@media (min-width: 1200px) 	{ .border-xl-start-0 {  border-left: none !important; }}
@media (min-width: 1400px) 	{ .border-xxl-start-0 {  border-left: none !important; }}

@media (min-width: 1px) 	{ .border-xs-end-0 {  border-right: none !important; }}
@media (min-width: 576px) 	{ .border-sm-end-0 {  border-right: none !important; }}
@media (min-width: 768px) 	{ .border-md-end-0 {  border-right: none !important; }}
@media (min-width: 992px) 	{ .border-lg-end-0 {  border-right: none !important; }}
@media (min-width: 1200px) 	{ .border-xl-end-0 {  border-right: none !important; }}
@media (min-width: 1400px) 	{ .border-xxl-end-0 {  border-right: none !important; }}

@media (min-width: 1px) 	{ .border-xs-top-0 {  border-top: none !important; }}
@media (min-width: 576px) 	{ .border-sm-top-0 {  border-top: none !important; }}
@media (min-width: 768px) 	{ .border-md-top-0 {  border-top: none !important; }}
@media (min-width: 992px) 	{ .border-lg-top-0 {  border-top: none !important; }}
@media (min-width: 1200px) 	{ .border-xl-top-0 {  border-top: none !important; }}
@media (min-width: 1400px) 	{ .border-xxl-top-0 {  border-top: none !important; }}

@media (min-width: 1px) 	{ .border-xs-bottom-0 {  border-bottom: none !important; }}
@media (min-width: 576px) 	{ .border-sm-bottom-0 {  border-bottom: none !important; }}
@media (min-width: 768px) 	{ .border-md-bottom-0 {  border-bottom: none !important; }}
@media (min-width: 992px) 	{ .border-lg-bottom-0 {  border-bottom: none !important; }}
@media (min-width: 1200px) 	{ .border-xl-bottom-0 {  border-bottom: none !important; }}
@media (min-width: 1400px) 	{ .border-xxl-bottom-0 {  border-bottom: none !important; }}


/*--------------------------------------------------------------
# NAV / MENU / DROPDOWN
--------------------------------------------------------------*/
.navbar {
	font-family: var(--nav-font);
	}
.nav-link {
	font-family: var(--nav-font);
	font-weight: var(--nav-weight);
	color: var(--nav-color);
	}
	.nav-link:hover, 
	.nav-link:focus,
	.nav-link#active,
	.nav-link.active {
	font-weight: var(--nav-hover-weight);
	color: var(--nav-hover-color);
	}	
	.nav-link#active,
	.nav-link.active {
	font-weight: var(--nav-active-weight);
	color: var(--nav-active-color);
	}	
	.nav-link.show {
	color: var(--nav-active-color) !important;
	}	
	
@media (min-width: 768px) {	
.navbar.affix {
	position: fixed;
	top: 0;
	width: 100%;
	}
	
.navbar.affix .nav-link {
	color: var(--nav-affix-color)
	}
	.navbar.affix .nav-link:hover, 
	.navbar.affix .nav-link:focus,
	.navbar.affix .nav-link#active,
	.navbar.affix .nav-link.active {
	color: var(--nav-affix-hover-color)
	}	
	.navbar.affix .nav-link#active,
	.navbar.affix .nav-link.active {
	color: var(--nav-affix-active-color)
	}	
}	
		
@media (max-width: 767px) {
.nav-link  {
	color: var(--nav-mobil-color);
	font-weight: var(--nav-mobil-weight);
	}	
	.nav-link:hover, 
	.nav-link:focus,
	.nav-link#active,
	.nav-link.active {
	color: var(--nav-mobil-hover-color);
	font-weight: var(--nav-mobil-hover-weight);
	}	
	.nav-link#active,
	.nav-link.active {
	color: var(--nav-mobil-active-color);
	font-weight: var(--nav-mobil-active-weight);
	}		
}

	
.dropdown-item {
	color: var(--nav-dropdown-color);
	font-weight: var(--nav-dropdown-weight)
	}
	.dropdown-item:hover,
	.dropdown-item:focus,
	.dropdown-item#active {
	color: var(--nav-dropdown-hover-color);
	font-weight: var(--nav-dropdown-hover-weight)
	}
	.dropdown-item#active {
	color: var(--nav-dropdown-active-color);
	font-weight: var(--nav-dropdown-active-weight)
	}
		
@media (max-width: 767px) {
.dropdown-item {
	color: var(--nav-dropdown-mobil-color);
	font-weight: var(--nav-dropdown-mobil-weight)
	}
	.dropdown-item:hover,
	.dropdown-item:focus,
	.dropdown-item#active {
	color: var(--nav-dropdown-mobil-hover-color);
	font-weight: var(--nav-dropdown-mobil-hover-weight)
	}
	.dropdown-item#active {
	color: var(--nav-dropdown-mobil-active-color);
	font-weight: var(--nav-dropdown-mobil-active-weight)
	}
}		
	
	
	
	

/*--------------------------------------------------------------
# HIGHLIGHT / CAROUSEL
--------------------------------------------------------------*/
#highlight {
	overflow: hidden !important;
	}
.carousel-inner {
	width: 100%;
	height: 400px;
	overflow: hidden;
	}
	
	
/* Bei .hero --------------- */
#highlight.hero { /* Komplette Höhe */
	position: relative;
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: -80px; /* Höhe Navbar */
	}
#highlight.hero .carousel {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	object-position: center;
	}	
#highlight.hero .carousel-inner {
	height: 100%;
	}
	
	
/* Bei .ratio --------------- */
#highlight.ratio .carousel {
	}
#highlight.ratio .carousel-inner {
	height: 100%;
	}
	
		
	
.carousel-item {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	}
.carousel-item::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: rgba(var(--bs-black-rgb), .6);
	}
.carousel-item img.carousel-img {
	display: block; 
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	}




	
.carousel-caption  {
	transition: .3s;
	z-index: 10;
	display: flex;
	flex-direction: column; /* Elemente untereinander anordnen */
	justify-content: center; /* Vertikale Zentrierung der Kinder-Elemente */
	text-align: center;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	right: 0
	}	
	.carousel-caption .highlight-title {
	}
	.carousel-caption .lead {
	}
	
	.carousel-caption  .btn:not(.w-100) {
		
		}
		.carousel-caption .container {
		overflow: hidden;
		}	
		.carousel-caption .container .col,
		.carousel-caption .container [class*="col-"] {
		}			
	
	/* nur für 1. Carousel-item --------------- */
	.carousel-caption img.carousel-img-2 { 
		height: 150px;
		max-width: 150px;
		width: auto;
		margin: 0 auto !important
		}
		@media (max-width: 1400px) {
		.carousel-caption img.carousel-img-2 { height: 130px;}
		}
		@media (max-width: 992px) {
		.carousel-caption img.carousel-img-2 { height: 110px;}
		}
		@media (max-width: 575px) {
		.carousel-caption img.carousel-img-2 { height: 100px;}
		}
		@media (max-width: 380px) {
		.carousel-caption img.carousel-img-2 { height: 80px;}
		}	
	


	
.carousel-wrapper-url {
	}


.carousel-indicators {
	position: absolute;
	display: flex;
	justify-content: center;
	z-index: 100 !important;
	}	
	
	
.carousel-control-prev, 
.carousel-control-next {
	z-index: 30;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease-in-out;
	}
	.carousel-control-prev { left: -50px; }
	.carousel-control-next {right: -50px; }
	.carousel:hover .carousel-control-prev {
	opacity: 1;
	left: 10px; 
	}
	.carousel:hover .carousel-control-next {
	opacity: 1;
	right: 10px;
	}







/*--------------------------------------------------------------
# ASIDE / CONTENT-RECHTS
--------------------------------------------------------------*/
aside .card {
	padding: 40px 50px;
	margin-bottom: 50px
	}
aside .img-rand-top {
	margin: -40px -50px 0 -50px;
	width: calc (100% + 100px);
	border-radius: 0;
	}
aside .img-rand {
	margin: 0 -50px;
	width: calc (100% + 100px);
	border-radius: 0;
	}
aside .img-rand-top img,
aside .img-rand img  {
	border-radius: 0;
	margin: 1em 0 0 0 !important;
	padding: 0 !important;
	border: none !important
	}
aside .img-rand-top img  {
	margin: 0 !important;
	border-top-left-radius: var(--radius) !important;
	border-top-right-radius: var(--radius) !important
	}		
aside .img-rand-top .bildunterschrift,
aside .img-rand .bildunterschrift {
	margin-top: 7px;
	margin-left: 10px; 
	margin-right: 10px;
	}	
@media (min-width: 768px) and (max-width: 1200px ) { 
	aside .card {
		padding: 25px
		}
	aside .img-rand-top {
		margin: -25px -25px 0 -25px;
		width: calc (100% + 50px);
		}	
	aside .img-rand {
		margin: 0 -25px;
		width: calc (100% + 50px)
		}
}




/*--------------------------------------------------------------
# Accordion / FAQ
--------------------------------------------------------------*/
#faqAccordion {
	}
	
#faqAccordion .accordion-item {
	margin-bottom: 25px;
	border-radius: 0;
	border: 1px solid rgba(var(--bs-black-rgb), .1);
	}	
	#faqAccordion .accordion-item:hover {
	transition: .3s;
	}	
	
#faqAccordion .accordion-header {
	margin: 0;
	padding: 0;
	border: none;
	font-size: 100% !important;
	}		
	#faqAccordion .accordion-header .accordion-button {
	font-size: 120% !important;
	font-family: var(--body-font);
	font-weight: 600;
	color: var(--primary);
	letter-spacing: 0;
	margin: 0;
	font-size: 25px;
	padding: 25px;
	background: none;
	border: none;
	box-shadow: none;
	line-height: 1.4em
	}
	#faqAccordion .accordion-header .accordion-button,
	#faqAccordion .accordion-header .accordion-button[aria-expanded="false"] {
	}
	#faqAccordion .accordion-header .accordion-button.collapsed {
	color: var(--primary);
	}
	#faqAccordion .accordion-header .accordion-button[aria-expanded="true"] {
	color: var(--accent);
	box-shadow: none;
	}
	#faqAccordion .accordion-header:hover .accordion-button {
	color: var(--accent);
	transition: 0s
	}
	#faqAccordion .accordion-header .accordion-button::before {
	color: var(--primary);
	content: "\f505";
	font-family: "bootstrap-icons";
	font-size: 30px;
	margin-right: 10px;
	font-weight: normal;
	display: block;
	position: relative;
	}
	#faqAccordion .accordion-header:hover .accordion-button::before,
	#faqAccordion .accordion-header .accordion-button[aria-expanded="true"]::before {
	color: var(--accent);
	}
	
		
#faqAccordion .accordion-header span {
	color: var(--secondary);
	font-weight: 600;
	font-size: 125%;
	margin-left: -45px;
	width: 45px;
	display: inline-block
	}
	#faqAccordion .accordion-header span {
	color: var(--secondary);
	}
	#faqAccordion .accordion-header:hover span {
	}
	
	
#faqAccordion .accordion-body {
	padding: 0 25px 35px 65px;
	overflow: hidden;
	}
	#faqAccordion .accordion-body a {
	color: var(--secondary);
	}
	#faqAccordion .accordion-body a:hover {
	color: var(--bs-black);
	}

@media (max-width:575px) {
	#faqAccordion .accordion-header .accordion-button {
		font-size: 110% !important;
		}
	#faqAccordion .accordion-header .accordion-button::before {
		font-size: 27px;
		}
}	

#faqAccordion figure {
	float: right;
	width: 40%;
	margin: 0 0 1rem 1rem
	}		
@media (max-width: 680px) {
	#faqAccordion figure {
	width: 100%;
	margin: 0 0 1rem 0
	}	
}	


#faqAccordion .bildrahmenlinks,
#faqAccordion .bildrahmenrechts,
#faqAccordion .bildrahmenmitte,
#faqAccordion .bildlinks,
#faqAccordion .bildrechts,
#faqAccordion .bildrahmenmitte-wrapper,
#faqAccordion .bildrahmenlinks-nb,
#faqAccordion .bildrahmenrechts-nb,
#faqAccordion .bildrahmenmitte-nb,
#faqAccordion .bildlinks-nb,
#faqAccordion .bildrechts-nb,
#faqAccordion .bildrahmenmitte-wrapper-nb {
	width: 35%;
	float: right !important;
	margin: 0 0 1em 1em !important
	}
#faqAccordion .bildunterschrift-bildrahmenmitte a img.bildrahmenmitte{
	width: 100%
	}
	#faqAccordion .bildunterschrift-bildrahmenmitte-nb {
	width: 35%;	
	}
	#faqAccordion .bildunterschrift-bildrahmenmitte-nb .bildunterschrift {
	width: 35%;
	margin-left: 20px;
	float: right
	}
			
@media (max-width:992px) {
	#faqAccordion .bildrahmenlinks,
	#faqAccordion .bildrahmenrechts,
	#faqAccordion .bildrahmenmitte,
	#faqAccordion .bildlinks,
	#faqAccordion .bildrechts,
	#faqAccordion .bildrahmenmitte-wrapper,
	#faqAccordion .bildrahmenlinks-nb,
	#faqAccordion .bildrahmenrechts-nb,
	#faqAccordion .bildrahmenmitte-nb,
	#faqAccordion .bildlinks-nb,
	#faqAccordion .bildrechts-nb,
	#faqAccordion .bildrahmenmitte-wrapper-nb {
	width: 60%;
	}
	#faqAccordion .bildunterschrift-bildrahmenmitte-nb {
	width: 60%;	
	}
	#faqAccordion .bildunterschrift-bildrahmenmitte-nb .bildunterschrift {
	width: 60%;
	}
}
@media (max-width:480px) {
	#faqAccordion .bildrahmenlinks,
	#faqAccordion .bildrahmenrechts,
	#faqAccordion .bildrahmenmitte,
	#faqAccordion .bildlinks,
	#faqAccordion .bildrechts,
	#faqAccordion .bildrahmenmitte-wrapper,
	#faqAccordion .bildrahmenlinks-nb,
	#faqAccordion .bildrahmenrechts-nb,
	#faqAccordion .bildrahmenmitte-nb,
	#faqAccordion .bildlinks-nb,
	#faqAccordion .bildrechts-nb,
	#faqAccordion .bildrahmenmitte-wrapper-nb {
	width: 100%;
	}
	#faqAccordion .bildunterschrift-bildrahmenmitte-nb {
	width: 100%;
	}
	#faqAccordion .bildunterschrift-bildrahmenmitte-nb .bildunterschrift {
	width: 100%;	
	margin-left: 0
	}
}



	
	
	
	
		



/*--------------------------------------------------------------
# CARDS
--------------------------------------------------------------*/
.card .btn:not(.w-100) {
	width: auto;
	display: inline-block;
	max-width: fit-content;
	}	

.card-date {
	display: flex;
	justify-content: center;
	align-items: center; 
	max-width: fit-content;
	float: right;
	position: absolute;
	width: auto;
	white-space: nowrap;	
	top: 0;
	right: 0;
	height: 25px; 
	background-color: var(--secondary);
	color: var(--bs-black);
	text-transform: uppercase;
	font-size: 13px;
	padding: 2px 10px;
	font-weight: 500;
	border-radius: 0;
	}

	
/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/
/* Barrierefreie Mindestgröße und Fokus */
.btn {
  min-width: 60px;
  min-height: 60px;
  padding: 0.5rem 1.5rem;
  font-size: 1rem;
  line-height: 1.2em;
  border-radius: 0.375rem;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;      
}
.btn-sm {
  font-size: 0.875rem;
  padding: 0.375rem 1.375rem;
  line-height: 1.25;
  min-width: 48px;
  min-height: 48px;
  border-radius: 0.375rem;
}
.btn-lg {
  font-size: 1.25rem;
  padding: 0.75rem 1.75rem;
  line-height: 1.5;
  min-width: 70px;
  min-height: 70px;
  border-radius: 0.375rem;
}
.btn:focus-visible,
.btn-sm:focus-visible,
.btn-lg:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 3px;
  transition: none;
}
.btn + .btn,
.btn-sm + .btn-sm,
.btn-lg + .btn-lg {
  margin-left: 0.5rem;
}
@media (max-width: 576px) {
  .btn,
  .btn-sm,
  .btn-lg {
	min-width: 48px;
	min-height: 48px;
	font-size: 1rem;
	padding: 0.5rem 1rem;
  }
}

.btn-primary {
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary-dark);
  --bs-btn-hover-border-color: var(--primary-dark);
  --bs-btn-active-bg: var(--primary);
  --bs-btn-active-border-color: var(--primary);
}
.btn-secondary {
  --bs-btn-bg: var(--secondary);
  --bs-btn-border-color: var(--secondary);
  --bs-btn-hover-bg: var(--secondary-dark);
  --bs-btn-hover-border-color: var(--secondary-dark);
  --bs-btn-active-bg: var(--secondary);
  --bs-btn-active-border-color: var(--secondary);
}
.btn-dark {
  --bs-btn-bg: var(--bs-dark);
  --bs-btn-border-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-darker);
  --bs-btn-hover-border-color: var(--bs-darker);
  --bs-btn-active-bg: var(--bs-dark);
  --bs-btn-active-border-color: var(--bs-dark);
}
.btn-light {
  --bs-btn-bg: var(--light);
  --bs-btn-border-color: var(--light);
  --bs-btn-hover-bg: var(--bs-gray-300);
  --bs-btn-hover-border-color: var(--bs-gray-300);
  --bs-btn-active-bg: var(--light);
  --bs-btn-active-border-color: var(--light);
}
.btn-outline-primary {
  --bs-btn-color: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary);
  --bs-btn-hover-border-color: var(--primary);
  --bs-btn-active-bg: var(--primary);
  --bs-btn-active-border-color: var(--primary);
}
.btn-outline-secondary {
  --bs-btn-color: var(--secondary);
  --bs-btn-border-color: var(--secondary);
  --bs-btn-hover-bg: var(--secondary);
  --bs-btn-hover-border-color: var(--secondary);
  --bs-btn-active-bg: var(--secondary);
  --bs-btn-active-border-color: var(--secondary);
}

.btn-absenden {
	--bs-btn-color: var(--bs-white);
	--bs-btn-bg: var(--primary);
	--bs-btn-border-color: var(--primary);
	--bs-btn-hover-color: var(--bs-white);
	--bs-btn-hover-bg: var(--primary-dark);
	--bs-btn-hover-border-color: var(--primary-dark);
	--bs-btn-focus-shadow-rgb: var(--bs-black);
	--bs-btn-active-color: var(--bs-white);
	--bs-btn-active-bg: var(--primary-dark);
	--bs-btn-active-border-color: var(--primary-dark);
	--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	--bs-btn-disabled-color: var(--bs-gray-300);
	--bs-btn-disabled-bg: var(--bs-gray-500);
	--bs-btn-disabled-border-color: var(--bs-gray-500);
	}
		


.icon-link {
	text-decoration: none !important;
	display: inline-block;
	position: relative
	}
	.icon-link.w-100 {
	text-align: center;
	width: 100%;
	max-width: 100%;
	}
	.icon-link.w-100.text-start {
	text-align: left;
	}
	.icon-link.w-100.text-end {
	text-align: right;
	}
	.icon-link.border {
	border: none !important;
	border-top: 1px solid rgba(0, 0, 0, .1) !important;
	padding-top: 15px;
	}	
.icon-link::after {
	position: relative;
	content: "\ea6e";
	font-family: "remixicon";
	font-size: 140%;
	
	vertical-align: middle;
	top: -1px;
}
.icon-link:hover::after,
a:hover .icon-link::after  {
	margin-left: 5px;
	transition: margin-left .2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
	.icon-link:hover::after,
	a:hover .icon-link::after {
		transition: none;
	}
}

	
	
	
	
/*--------------------------------------------------------------
# ergänzende Delay-Zeiten zu animate
--------------------------------------------------------------*/
.animate__delay-01s { animation-delay: 0.1s; }
.animate__delay-02s { animation-delay: 0.2s; }
.animate__delay-03s { animation-delay: 0.3s; }
.animate__delay-04s { animation-delay: 0.4s; }
.animate__delay-05s { animation-delay: 0.5s; }
.animate__delay-06s { animation-delay: 0.6s; }
.animate__delay-07s { animation-delay: 0.7s; }
.animate__delay-08s { animation-delay: 0.8s; }
.animate__delay-09s { animation-delay: 0.9s; }
.animate__delay-1s  { animation-delay: 1s; }
.animate__delay-11s { animation-delay: 1.1s; }
.animate__delay-12s { animation-delay: 1.2s; }
.animate__delay-13s { animation-delay: 1.3s; }
.animate__delay-14s { animation-delay: 1.4s; }
.animate__delay-15s { animation-delay: 1.5s; }
.animate__delay-16s { animation-delay: 1.6s; }
.animate__delay-17s { animation-delay: 1.7s; }
.animate__delay-18s { animation-delay: 1.8s; }
.animate__delay-19s { animation-delay: 1.9s; }
.animate__delay-2s  { animation-delay: 2s; }




/*--------------------------------------------------------------
# EFFEKTE / EFFECTS
--------------------------------------------------------------*/
[class*="hover-"] {
	transition: all 0.3s ease-in-out;
}

.hover-img:hover img {
	transform: scale(1.1) rotate(-1deg);
	transition: all 0.3s ease-in-out;
	}
		
.hover-zoom:hover {
	transform: scale(1.1);
	}
.hover-grayscale:hover {
	filter: grayscale(100%);
	}
.hover-opacity:hover {
	opacity: 0.7;
	}
.hover-jump:hover {
	transform: translateY(-10px);
	}
.hover-shadow:hover { 
	box-shadow: var(--bs-box-shadow) !important; 
	}
.hover-shadow-lg:hover { 
	box-shadow: var(--bs-box-shadow-lg) !important; 
	}
.hover-shadow-sm:hover { 
	box-shadow: var(--bs-box-shadow-sm) !important; 
	}


.hover-rotate > .icon-bg,
.hover-rotate > .icon-bg i,
.hover-rotate > .icon i,
.hover-rotate > i {
	transition: 0.5s;
	}
	.hover-rotate:hover .icon-bg,
	.hover-rotate:hover .icon-bg i,
	.hover-rotate:hover i {
	transform: rotate(180deg);
	}


.hover-bg-primary:hover			{ background-color: var(--primary ) }
.hover-bg-primary-light:hover	{ background-color: var(--primary-light ) }
.hover-bg-primary-dark:hover	{ background-color: var(--primary-dark ) }

.hover-bg-secondary:hover		{ background-color: var(--secondary ) }
.hover-bg-secondary-light:hover	{ background-color: var(--secondary-light ) }
.hover-bg-secondary-dark:hover	{ background-color: var(--secondary-dark ) }

.hover-bg-accent:hover			{ background-color: var(--accent ) }
.hover-bg-accent-light:hover	{ background-color: var(--accent-light ) }
.hover-bg-accent-dark:hover		{ background-color: var(--accent-dark ) }

.hover-bg-lighter:hover			{ background-color: var(--lighter ) }
.hover-bg-light:hover			{ background-color: var(--light ) }
.hover-bg-dark:hover			{ background-color: var(--bs-dark ) }
.hover-bg-darer:hover			{ background-color: var(--bs-darker ) }
.hover-bg-black:hover			{ background-color: var(--bs-black ) }
.hover-bg-white:hover			{ background-color: var(--bs-white ) }





.hover-window-img .card {
	background-color: none
	}
	.hover-window-img .card img.bg-img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	}
	.hover-window-img .card .card-body {
	z-index:2
	}
	.hover-window-img .card .card-body {
	background-color: var(--secondary-light);
	transition: .5s;
	}
	.hover-window-img .card:hover {
	background-color: rgba(0, 0, 0, 0);
	background: none !important;
	}
	.hover-window-img .card:hover .card-body {
	background-color: rgba(0, 0, 0, .3);
	}
	
	.hover-window-img .card * {
	transition: .3s;
	}
	.hover-window-img .card:hover * {
	color: var(--bs-white);
	}
	.hover-window-img .card .btn {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	color: var(--bs-dark);
	background: var(--bs-white);
	white-space: nowrap;
	overflow: hidden;
	transition: .4s;
	text-align: center;
	display: inline-block
	}
	.hover-window-img .card:hover .btn {
	width: 200px;
	}




.hover-window-bottom .card {
	height: 400px;
	background: none;
	overflow: hidden
	}
	.hover-window-bottom .card::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.3);
		z-index: 1;
		}
	.hover-window-bottom .card .card-body {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 1000
		}
	.hover-window-bottom .card .card-body::before {
		position: absolute;
		content: "";
		left: 0;
		bottom: 0;
		width: 100%;
		height: 0;
		background: var(--bs-white);
		transition: .5s;
		z-index: 3;
		}
	.hover-window-bottom .card:hover .card-body::before {
		background: var(--bs-white);
		width: 100%;
		height: 100%
		}
		.hover-window-bottom .card:hover::after {
		background-color: rgba(0, 0, 0, 0);
		transition: .5s
		}
	.hover-window-bottom .card .card-inner .title {
		color: var(--bs-white) !important;
		margin: 0
		}
	.hover-window-bottom .card:hover .card-inner .title {
		color: var(--secondary) !important
		}	
	.hover-window-bottom .card:hover .card-inner .topline {
		color: var(--bs-black) !important
		}		
	.hover-window-bottom .card:hover .card-inner {
		z-index: 9;
		position: relative;
		color: var(--bs-black) !important
		}
	
	


.hover-window .card {
		}
		.hover-window .card .card-body {
			position: relative;
			z-index: 2;
			}
		.hover-window .card:hover .card-body {
			z-index: 9;
			position: relative;
			color: var(--bs-white) !important;
			}
		.hover-window .card .card-body::before {
			position: absolute;
			content: "";
			left: 0;
			bottom: 0;
			width: 100%;
			height: 10px;
			background: var(--secondary);
			transition: .3s;
			z-index: 3;
			}
		.hover-window .card:hover .card-body::before {
			background: var(--secondary);
			width: 100%;
			height: 100%
			}
		.hover-window .card:hover .card-inner {
			z-index: 9;
			position: relative;
			color: var(--bs-black)
			}
			
		.hover-window .card:hover i,
		.hover-window .card:hover p,
		.hover-window .card:hover h1,
		.hover-window .card:hover h2,
		.hover-window .card:hover h3,
		.hover-window .card:hover h4,
		.hover-window .card:hover h5,
		.hover-window .card:hover h6,
		.hover-window .card:hover .icon-link {
			color: var(--bs-white) !important
			}	
			
			
.hover-window.window-x {
	}
	.hover-window.window-x  .card .card-body::before {
		left: 50%;
		width: 0;
		height: 100%;
		z-index: -1;
		transform: translateX(-50%);
		}
	.hover-window.window-x  .card:hover .card-body::before {
		width: 100%;
		}	






.hover-corner {
	position: relative;
	overflow: hidden;
	}
	.hover-corner::before {
	content: "";
	background: color-mix(in srgb, var(--bs-black), transparent 60%);
	position: absolute;
	transition: all ease-in-out 0.3s;
	z-index: 2;
	border-radius: var(--radius);
	opacity: 0;
	left: 30px;
	right: 30px;
	top: 30px;
	bottom: 30px;
	}	
	.hover-corner:hover::before {
	opacity: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	}
	
.hover-corner .hover-corner-item {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	z-index: 3;
	transition: all ease-in-out 0.3s;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	}	
	.hover-corner:hover .hover-corner-item {
	opacity: 1;
	}
	.hover-corner .hover-corner-item::before {
		display: block;
		content: "";
		width: 48px;
		height: 48px;
		position: absolute;
		top: 35px;
		left: 35px;
		border-top: 3px solid var(--bs-white);
		border-left: 3px solid var(--bs-white);
		transition: all 0.5s ease 0s;
		z-index: 9994;
		}
		.hover-corner:hover .hover-corner-item::before {
		top: 15px;
		left: 15px;
		}
	.hover-corner .hover-corner-item::after {
		display: block;
		content: "";
		width: 48px;
		height: 48px;
		position: absolute;
		bottom: 35px;
		right: 35px;
		border-bottom: 3px solid var(--bs-white);
		border-right: 3px solid var(--bs-white);
		transition: all 0.5s ease 0s;
		z-index: 9994;
		}	
		.hover-corner:hover .hover-corner-item::after {
		bottom: 15px;
		right: 15px;
		}
	.hover-corner-item h4 {
		font-size: 20px;
		color: var(--bs-white);
		font-weight: 600;
		display: none
		}
	.hover-corner-item p {
		color: var(--bs-white);
		padding: 0 25px;
		line-height: 1.3em;
		margin: 0;
		font-size: 90%;
		display: none
		}
	.hover-corner-item .link {
		font-weight: 500;
		color: var(--bs-white);
		opacity: 1;
		transition: all .3s ease 0s;
		text-transform: uppercase;
		margin-top: 25px;
		}
		.hover-corner-item .link::after {
		position: relative;
		content: "\f138";
		font-family: "bootstrap-icons";
		font-size: 40pt;
		margin-top: -10px;
		font-weight: normal;
		display: block;
		color: var(--bs-white);
		opacity: .7;
		}
		.hover-corner-item:hover .link {
		color: var(--bs-white);
		opacity: .7
		}
		.hover-corner-item .link:hover {
		color: var(--bs-white);
		opacity: 1
		}
		.hover-corner-item .link:hover::after {
		color: var(--secondary);
		opacity: 1;
		transition: .3s
		}
		
	





/*--------------------------------------------------------------
# SWIPER
--------------------------------------------------------------*/
.swiper-container .swiper-button-prev, 
.swiper-container .swiper-button-next {
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease-in-out;
	background-color:  var(--bs-white);
	color: rgba(0, 0, 0, 0.5);
	border: 1px solid rgba(0, 0, 0, 0.1);
	width: 40px; height: 40px;
	}
	.swiper-container .swiper-button-prev { left: -50px; }
	.swiper-container .swiper-button-next {right: -50px; }
	
	.swiper-container .swiper-button-prev:hover,
	.swiper-container .swiper-button-next:hover {
		color: var(--bs-white);
		background-color: var(--secondary);
		transition: .1s
	}
	.swiper-container .swiper-button-prev::after,
	.swiper-container .swiper-button-next::after {
		font-size: 18px
	}
	.swiper-container:hover .swiper-button-prev {
	  opacity: 1;
	  left: 10px; 
	}
	.swiper-container:hover .swiper-button-next {
	  opacity: 1;
	  right: 10px;
	}
	
	
	
.swiper-brands .swiper-slide img {
	transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
	filter: grayscale(100%);
	opacity: .5
	}
	.swiper-brands .swiper-slide img:hover {
	transform: scale(1.05); 
	filter: grayscale(0);
	opacity: 1;
	}	
	.swiper-brands .swiper-slide-active img {
	}
	
	
.swiper-item .swiper-slide img {
	transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
	/*filter: grayscale(50%);
	opacity: .5*/
	}
	.swiper-item .swiper-slide:hover img {
	filter: grayscale(0);
	opacity: 1;
	}	
	.swiper-item .swiper-slide-active img {
	}
	.swiper-item .swiper-slide {
	display: flex;
	align-items: stretch;
	}
	

	
	
	
	
/*--------------------------------------------------------------
# Prallax
--------------------------------------------------------------*/
.parallax {
}
.parallax img {
}
.parallax-mirror {
  position: relative; /* falls du direkt das Bild-Wrapper-Div ansprechen willst */
}


.parallax.secondary {
	background: color-mix(in srgb, var(--secondary-dark), transparent 65%);
}
.parallax.primary {
	background: color-mix(in srgb, var(--primary), transparent 50%);
}
.parallax.accent {
	background: color-mix(in srgb, var(--accent), transparent 50%);
}
.parallax.white {
	background: color-mix(in srgb, var(--bs-white), transparent 40%);
}
.parallax.dark {
	background: color-mix(in srgb, var(--bs-dark), transparent 50%);
}
.parallax.darker {
	background: color-mix(in srgb, var(--bs-darker), transparent 50%);
}





	
/*--------------------------------------------------------------
# Cookie
--------------------------------------------------------------*/
#cookiedingsbums {
	display: none;
	z-index: 1000;
	background-color: var(--bs-white); 
	width: 300px;
	height: auto;
	left: 20px;
	bottom: 20px;
	position: fixed;
	opacity: .7
}



/*--------------------------------------------------------------
# Pagetop
--------------------------------------------------------------*/
.back-to-top {
	position: fixed;
	display: none;
	z-index: 9999;
	right: 0;
	bottom: 50px;
	width: 80px;
	height: 80px;
	border-radius: 50px;
	transition: all 0.4s;
	transition: .1s;
	background: color-mix(in srgb, var(--primary), transparent 70%);
	color: var(--bs-white);
	
	display: flex;
	justify-content: center;
	align-items: center;
	}
.back-to-top i {
	font-size: 26px;
	color: var(--bs-white);
	line-height: 0;
	}
.back-to-top:hover {
	background: var(--primary) !important;
	color: var(--bs-white);
	}
.back-to-top.active {
	visibility: visible;
	opacity: 1;
	}
@media (max-width: 767px) {
		.back-to-top {
		width: 60px;
		height: 60px;
		bottom: 120px;
		}
	}		
	




/*--------------------------------------------------------------
# Suche / Search
--------------------------------------------------------------*/
.search {
  position: relative;
  z-index: 1000 !important;
  width: auto !important;
  margin-right: 10px
}
.search form {
}
.search * {
  outline: none;
  box-sizing: border-box;
}
.search_field {
  width: 40px;
  height: 40px;
  color: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  background: none;
  border-radius: 0;
  border: none;
  top: auto;
  right: auto;
}
.search_field:focus {
  cursor: default;
  font-weight: normal;
  width: 230px;
  border-radius: 40px;
  border: 1px solid var(--bs-gray-500);
  background: #fff;
  padding-left: 20px;
  padding-right: 60px;
  color: var(--bs-black)
}
.search_field:focus ~ .search_icon {
  background-color: transparent;
  cursor: pointer;
  pointer-events: auto;
  background: url(../images/lupe/lupe_888.svg);
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: center 11px;
  }
  .search_field:focus:hover ~ .search_icon {
  background:  url(../images/lupe/lupe_000.svg);
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: center 11px;
  }
.search_icon {
  position: absolute;
  pointer-events: none;
  display: inline-block;
  border: none;
  transition: background-color 0.2s ease-in-out;
  float: right;
  background: var(--primary) url(../images/lupe/lupe_fff.svg);
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: center 11px;
  width: 40px !important;
  min-height: 40px !important;
  border-radius: 40px;
  right: 0
}
.search_field:hover ~.search_icon {
	background-color: var(--primary);
	}

.search_field:focus ~ .search_icon:hover {
	background-color: var(--bs-white);
	background: url(../images/lupe/lupe_000.svg);
	background-size: 18px;
	background-repeat: no-repeat;
	background-position: center 11px;
	}


.search_field { /* Eingabetext */
	color: rgba(0, 0, 0, 0) !important;
	}
	.search_field::-webkit-input-placeholder { /* Blindtextwort */
	color: rgba(153, 153, 153, 0);
	}
	.search_field:focus::-webkit-input-placeholder {
	color: #999;
	}

@media (min-width:768px) {
	.search {
		width: 230px;
		}
	.search_field:focus {
		width: 230px;
		box-shadow: 0 0 .5em rgba(0, 0, 0, 0.2);
		box-shadow: none
		  }
	.search_icon {
		right: 0
		}
		
	.affix .search {
		} 
	}

/* --------- end SUCHE -------- */







/*--------------------------------------------------------------
# Listen
--------------------------------------------------------------*/
.list-group {
	}
	
.list-group > li:not(.list-group-item) {
	padding-top: .2em;
	padding-bottom: .2em;
	padding-left: 25px;
	}
	ul.gap-0 > li {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	}
.list-group.list-group-flush.list-style > li {
	padding-left: 25px !important;
	}	
.list-group > li:not(.list-group-item),
.list-group.list-group-flush.list-style > li {
	list-style: none;
	}
.list-group > li:not(.list-group-item)::before,
.list-group.list-group-flush.list-style > li::before {
	display: inline-block;
	margin-left: -25px;
	width: 25px;
	font-size: 85%;
	text-align: left;
	
	content: var(--list-symbol);
	color: var(--list-color);
	font-family: var(--list-font-family);
	font-weight: var(--list-font-weight);
	}	
.list-group > li:not(.list-group-item):hover::before,
.list-group.list-group-flush.list-style > li:hover::before {
	color: var(--list-hover-color);
	}		
	
.list-group.list-group-flush > li:not(.list-group-item),
.list-group.list-group-flush.list-style > li:not(.list-group-item) {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  text-decoration: none;
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group.list-group-flush > li:not(.list-group-item):last-child,
.list-group.list-group-flush.list-style > li:not(.list-group-item):last-child {
  border-bottom-width: 0;
}	

.list-group.list-group-flush > li::before {
	display: none
	}	
.list-group.list-group-flush > li {
	padding-left: 0 !important;
	}	
	

.list-unstyled {
	}	
.list-unstyled > li::before {
	display: none !important
	}	
.list-unstyled > li {
	padding-left: 0 !important;
	}	
				
	
main .list-group li,
footer .list-group li {
	background: none
	}
main .list-group-flush li,
footer .list-group-flush li {
	background: none !important
	}
		
		
			
main ul:not(.list-group, .filter-menu, .filter-items, .accordion-list, .pagination),
footer ul:not(.list-group, .filter-menu, .filter-items, .accordion-list, .pagination) {
	margin-left: 0;
	padding-left: 0;
	}
main ul:not(.list-group, .filter-menu, .filter-items, .accordion-list, .pagination) > li,
footer ul:not(.list-group, .filter-menu, .filter-items, .accordion-list, .pagination) > li {
	padding-top: .2em;
	padding-bottom: .2em;
	padding-left: 25px;
	list-style: none;
	}	
main ul:not(.list-group, .filter-menu, .filter-items, .accordion-list, .pagination) > li::before,
footer ul:not(.list-group, .filter-menu, .filter-items, .accordion-list, .pagination) > li::before {
	display: inline-block;
	margin-left: -25px;
	width: 25px;
	font-size: 85%;
	text-align: left;
	
	content: var(--list-symbol);
	color: var(--list-color);
	font-family: var(--list-font-family);
	font-weight: var(--list-font-weight);
	}	
main ul:not(.list-group, .filter-menu, .filter-items, .accordion-list, .pagination) > li:hover::before,
footer ul:not(.list-group, .filter-menu, .filter-items, .accordion-list, .pagination) > li:hover::before {
	color: var(--list-hover-color);
	}	




/*--------------------------------------------------------------
# Paginierung
--------------------------------------------------------------*/
.pagination {
}
.pagination li {
}
.pagination li::before {
}
.pagination li .page-link {
	line-height: 1.3em;
	background: none
}
.pagination li .page-link i {
	vertical-align: middle
}
		
	
	
/*--------------------------------------------------------------
# FILTER
--------------------------------------------------------------*/
.filter-menu {  
	text-align: center ;
	padding-left: 0 !important;
	}
	.filter-menu li {
	cursor: pointer;
	display: inline-block;
	padding: 10px 18px 12px 18px;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	color: var(--body-color);
	transition: all 0.3s ease-in-out;
	margin: 0 4px 10px 4px;
	background: whitesmoke;
	border-radius: var(--radius);
	}
	.filter-menu li:hover {
	background: var(--bs-dark);
	color: var(--bs-white);
	}
	.filter-menu li.current,
	.filter-menu li.current{
	background: var(--bs-dark);
	color: var(--bs-white);
	}
	

.filter-items {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	margin: 0 auto;
	max-width: 1200px;
	width: 100%
	}
	.filter-items .filter-inner { 
		position: relative;
		width: 25%;
		transition: all .5s ease, visibility .5s ease; 
	}
	.filter-items .filter-inner img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		transition: transform 0.4s ease, filter 0.4s ease;
		}
	.filter-items .filter-inner.delete {
		pointer-events: none;
		opacity: 0;
		visibility: hidden; 
		position: absolute
		}
	.filter-items .filter-inner.active {
		opacity: 1;
		pointer-events: all;
		visibility: visible;
	}
	@media (max-width: 767px) {
		.filter-items .filter-inner {
		}
	}
	@media (max-width: 480px) {
		.filter-items .filter-inner {
		}
	}

.filter-items .filter-inner .img-title {
	opacity: 0;
	z-index: 1000;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(var(--bs-black-rgb), 0.3);
	color: var(--bs-white);
	transition: opacity 0.3s ease-in-out;
	text-align: center;
	padding: 0 20px;
	}
	  
.filter-items .filter-inner:hover .img-title {
	opacity: 1;
	 }




	
	
/*--------------------------------------------------------------
# Initiale
--------------------------------------------------------------*/
.initial {
	font-family: var(--heading-font);
	font-weight: 900;
	color: var(--primary-rgb);
	position: relative;
	margin-left: -30px;
	font-size: 5em;
	z-index: -1;
	bottom: -.6em !important
}
	






/*--------------------------------------------------------------
# Outside
--------------------------------------------------------------*/
.outside {
	display: flex;
	justify-content: center;
	position: relative;
	}
	.outside > .container {
	margin: 0;
	padding: 0;
	z-index: 100;
	}
	.outside::before,
	.outside::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%; /* Die Breite der Streifen */
	background-color: var(--secondary); /* Streifenfarbe, z.B. ein sehr helles Grau */
	}
	.outside::before { left: 0;
	}
	.outside::after { right: 0;
	}

.outside.left::after {
	display: none
	}
.outside.right::before {
	display: none
	}






/* --------- TOGGLE
================================================== */
.toggle-box {
	float: right;
	clear: both;
	position: fixed;
	right: 15px;
	top:15%;
	margin-top: 3em;
	margin-bottom: 2em;
	padding: .8em .5em .5em .5em;
	background: #fff;
	border-radius: 4px;
	box-shadow: .1em .1em .4em rgba(0, 0, 0, 0.4);
	z-index: 100;
	width: 150px
	}
	.toggle-box.debug-box {
	font-family: 'arial', sans-serif !important;
	font-size: 15px !important;
	font-weight: normal !important
	}

.toggle-box h1,
.toggle-box h2,
.toggle-box h3,
.toggle-box h4,
.toggle-box h5,
.toggle-box h6 {
	padding-top: 0;
	margin-top: .3em;
	margin-bottom: .5em;
	line-height: 1.1em;
}
.toggle-box h2 {
	background: #2196F3;
	color: #fff !important;
	font-family: 'arial', sans-serif !important;
	font-size: 18px !important;
	font-weight: bold !important;
	text-transform: uppercase;
	letter-spacing: .05em;
	border: none;
	padding: .3em .5em .15em .5em;
	margin: -.8em -.4em .8em -.4em;
	width: 150px;
	float: left;
	display: inline-block;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	line-height: 1.2em !important;
	text-align: center;
}
.toggle-box h6 {
	font-size: 105%;
	margin-top: 0
}
@media (max-width: 780px) {
	.toggle-box {
		top: 5%;
		right: 5px;
		font-size: 80%
		}
	.toggle-box .col { width: 33%; float: left }	
}	
@media (max-width: 500px) {
	.toggle-box .col { width: 50%; }	
}
@media (max-width: 380px) {
	.toggle-box .col { width: 100%; }	
}




.switch .open span,
.switch .closed span {
  font-weight: normal;
  line-height: 1em;
  margin-left: 35px;
  margin-top: -5px;
  display: inline-block;
  position: relative
	}
.switch .open,
.switch .closed { 
  position: absolute;
  cursor: pointer;
  background-color: #2196F3;
  -webkit-transition: .4s;
  transition: .4s;
  box-shadow: .1em .1em .1em rgba(0, 0, 0, 0.5) inset;
  border-radius: 17px;
  color: #000;  
  position: relative;
  width: 30px;
  height: 17px;
  margin-bottom: .8em;
  clear: both;
  display: block;
  line-height: 1.2em;
	}
.switch .open::before,
.switch .closed::before {
  position: absolute;
  content: "";
  height: 13px;
  width: 13px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
  -webkit-transform: translateX(13px);
  -ms-transform: translateX(13px);
  transform: translateX(13px);
  box-shadow: .1em .1em .1em rgba(0, 0, 0, 0.35);
  border-radius: 50%;
	}		
.switch .closed {
  background-color: #ccc;
  color: #aaa
	}
.switch .closed::before {
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  transform: translateX(0px);
	}
.switch .open:hover,
.switch .closed:hover {
	text-decoration: none;
	color: #2196F3;
	color: #000
	}
	

.toggle-box.xs .switch .open span,
.toggle-box.xs .switch .closed span {
  margin-left: 30px;
	}
.toggle-box.xs .switch .open,
.toggle-box.xs .switch .closed { 
   margin-bottom: .3em;
   font-size: 80%;
   height: 14px;
   width: 25px;
   margin-bottom: .7em
   }
.toggle-box.xs .switch .open::before,
.toggle-box.xs .switch .closed::before {
	  height: 10px;
	  width: 10px;
	  -webkit-transform: translateX(10px);
	  -ms-transform: translateX(10px);
	  transform: translateX(10px);
	}
.toggle-box.xs .switch .closed::before {
	 -webkit-transform: translateX(0px);
	 -ms-transform: translateX(0px);
	 transform: translateX(0px);
	}	
	
.aktivieren {
	margin-top: 1em;
	font-weight: bold; 
	}
.aktivieren .switch .open {
	background: green;
	color: green;
	margin-top: 1.5em;
	}
.aktivieren .switch .closed {
	background: red;
	color: red
	}	

.on { 
	display: inherit
	}	
		 
.ausblenden a,
.einblenden a {
	 background: #fff;
	 color: #999;
	 padding: .2em .6em;
	 position: absolute;
	 box-shadow: .1em .1em .2em rgba(0, 0, 0, 0.2);
	 border: 1px solid #e2e2e2;
	 border-radius: 20px;
	 z-index: 100;
	}
.ausblenden a:hover,
.einblenden a:hover {
	 background: #ddd;
	 color: #000;
	 border-color: #ddd; 
	 box-shadow: .1em .1em .2em rgba(0, 0, 0, 0.2) inset;
	 text-decoration: none !important;
	}
/* --------- end TOGGLE -------- */	












/*--------------------------------------------------------------
# ICONS
--------------------------------------------------------------*/
main i[class*="fa-"]:not(.pagination i[class*="fa-"], .icon-bg i[class*="fa-"]),
main i[class*="fas-"]:not(.pagination i[class*="fas-"], .icon-bg i[class*="fas-"]),
main i[class*="bx-"]:not(.pagination i[class*="bx-"], .icon-bg i[class*="bx-"]),
main i[class*="bxs-"]:not(.pagination i[class*="bxs-"], .icon-bg i[class*="bxs-"]),
main i[class*="bi-"]:not(.pagination i[class*="bi-"], .icon-bg i[class*="bi-"]),
main i[class*="ri-"]:not(.pagination i[class*="ri-"], .icon-bg i[class*="ri-"]),
main i[class*="flaticon-"]:not(.pagination i[class*="flaticon-"], .icon-bg i[class*="flaticon-"]) {
	color: var(--icon);
	}

.icon-bg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: .3s;
	background-color: var(--icon);
	color: var(--bs-white);
	width: 50px; height: 50px; font-size: 20px;
	}	
.is-sm 	{ width: 30px; height: 30px; font-size: 14px;
	}
.is-md 	{
	}
.is-lg 	{ width: 70px; height: 70px; font-size: 30px;
	}
.is-xl 	{ width: 100px; height: 100px; font-size: 50px;
	}
.is-xxl	{ width: 130px; height: 130px; font-size: 60px;
	}
	
@media (max-width: 767px) {
	.icon-bg {	width: 40px; height: 40px; font-size: 17px;
	}
	.is-sm 	{ width: 25px; height: 25px; font-size: 13px;
	}
	.is-md 	{
	}
	.is-lg 	{ width: 60px; height: 60px; font-size: 25px;
	}
	.is-xl 	{ width: 90px; height: 90px; font-size: 45px;
	}
	.is-xxl	{ width: 110px; height: 110px; font-size: 55px;
	}	
}


.icon-bg.border-primary,
.icon-bg.border-secondary,
.icon-bg.border-danger,
.icon-bg.border-success,
.icon-bg.border-black,
.icon-bg.border-dark,
.icon-bg.border-gray,
.icon-bg.border-white,
.icon-bg.border-warning,
.icon-bg.border-info,
.icon-bg.border-accent	{ 
	border-width: 1px;
	border-style: solid; 
	background: none !important
	}
	.icon-bg[class*="border-"].bg-white	{ 
		background: #fff !important
		}			
.icon-bg.border-primary	{ color: var(--primary) !important }
.icon-bg.border-secondary	{ color: var(--secondary) !important }
.icon-bg.border-danger	{ color: var(--bs-danger) !important }
.icon-bg.border-success	{ color: var(--bs-success) !important }
.icon-bg.border-black	{ color: var(--bs-black) !important }
.icon-bg.border-dark	{ color: var(--bs-dark) !important }
.icon-bg.border-gray	{ color: var(--gray) !important; border-color: var(--gray) !important }
.icon-bg.border-white	{ color: var(--bs-white) !important }
.icon-bg.border-warning	{ color: var(--bs-warning) !important }
.icon-bg.border-info	{ color: var(--bs-info) !important }
.icon-bg.border-accent	{ color: var(--accent) !important; }

a:hover .icon-bg.border-primary	{ background-color: var(--primary)  !important; color: var(--bs-white) !important }
a:hover .icon-bg.border-secondary	{ background-color: var(--secondary) !important; color: var(--bs-white) !important }
a:hover .icon-bg.border-danger	{ background-color: var(--bs-danger) !important; color: var(--bs-white) !important }
a:hover .icon-bg.border-success	{ background-color: var(--bs-success) !important; color: var(--bs-white) !important }
a:hover .icon-bg.border-black	{ background-color: var(--bs-black) !important; color: var(--bs-white) !important }
a:hover .icon-bg.border-dark	{ background-color: var(--bs-dark) !important; color: var(--bs-white) !important }
a:hover .icon-bg.border-gray	{ background-color: var(--gray) !important; color: var(--bs-white) !important }
a:hover .icon-bg.border-white	{ background-color: var(--bs-white) !important; color: var(--bs-black) !important }
a:hover .icon-bg.border-warning	{ background-color: var(--bs-warning) !important; color: var(--bs-white) !important }
a:hover .icon-bg.border-info	{ background-color: var(--bs-info) !important; color: var(--bs-white) !important }
a:hover .icon-bg.border-accent	{ background-color: var(--accent) !important; color: var(--bs-white) !important }



.icon-bg.bg-primary[class*="opacity-"]	{ color: var(--bs-white) !important }
.icon-bg.bg-secondary[class*="opacity-"]{ color: var(--bs-white) !important }
.icon-bg.bg-danger[class*="opacity-"]	{ color: var(--bs-white) !important }
.icon-bg.bg-success[class*="opacity-"]	{ color: var(--bs-white) !important }
.icon-bg.bg-black[class*="opacity-"]	{ color: var(--bs-white) !important }
.icon-bg.bg-dark[class*="opacity-"]		{ color: var(--bs-white) !important }
.icon-bg.bg-warning[class*="opacity-"]	{ color: var(--bs-white) !important }
.icon-bg.bg-info[class*="opacity-"]		{ color: var(--bs-white) !important }
.icon-bg.bg-accent[class*="opacity-"]	{ color: var(--bs-white) !important }
.icon-bg.bg-gray[class*="opacity-"]		{ color: var(--bs-white) !important }
.icon-bg.bg-white[class*="opacity-"] 	{ color: var(--bs-white) !important }	
		
a:hover .icon-bg.bg-opacity-10,
a:hover .icon-bg.bg-opacity-25,
a:hover .icon-bg.bg-opacity-50,
a:hover .icon-bg.bg-opacity-75 	{ --bs-bg-opacity: 1; color: var(--bs-white) !important }

a:hover .icon-bg.bg-white[class*="opacity-"] { color: var(--bs-black) !important }	



.bg-none { background: none !important }




/*--------------------------------------------------------------
# ICONS (altes css = als Liste)
--------------------------------------------------------------*/
	.icon	{ 
		padding-left: 30px;
		margin: .5em 0 .5em 0;
		/* mit Linie */
		border-bottom: 1px dotted #bbb;
		padding-bottom: .6em;
		}
	.icon.icon-noborder {
		border-bottom: none;
		margin-top: 0
		}	
	.div-lines .icon,
	.div-striped .icon	{ 
		margin-top: 0
		}	
	.icon:last-child	{ 
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0
		}			
	.icon,
	.icon a {
		color: var(--body-color);
		text-decoration: none
		}
	.icon a:hover {
		color: var(--secondary);
		}
	.icon i 	{ 
		margin-left: -30px; 
		width: 30px;
		text-align: left;
		color: var(--secondary);
		float: left;
		font-size: 105%;
		margin-top: 4px;
		}
	.icon .row {
		margin: 0;
		}
	.icon .row > [class*="col-"] {
		padding-left: 0;
		padding-right: .3em;
		margin-bottom: .4em
		}		
/* --------- end ICON -------- */
	
	
	





/* --------- FILEICON
================================================== */
.fileicon {
	padding-left: 25px;
	padding-bottom: .2em;
	padding-top: .1em
	}
main ul li.fileicon {
	color: #999;
	padding-left: 25px;
	background-position-y:2px;
	}
main ul li.fileicon::before,
main ul li.fileicon:hover::before {
	content: none
	}		
main ul.list-lines li.fileicon,
main ul.list-striped li.fileicon {
	background-position-y: 6px
	}	
	
main ul li.fileicon a {
	margin-right: .3em;
	}	
main ul li a.fileicon {
	padding-left: 25px;
	margin-left: -25px;
	margin-right: .3em;
	padding-bottom: .3em;
	/* display: block;  lässt z.B. Datengröße umbrechen */
	}		
main ul li.fileicon a:hover,
main ul li a.fileicon:hover {
	text-decoration: underline;
	}	
	
.fileicon.xl {
	padding-left: 43px;
	padding-top: 1em;
	padding-bottom: 1em;
	display: inline-block;
	}
	
main ul li.fileicon.xl {
	padding-left: 48px;
	padding-top: 1.5em;
	padding-bottom: 1.3em;
	width: 100%;
	background-position-y: 6px;
	}			
main ul li a.fileicon.xl {
	padding-left: 48px;
	padding-top: 1em;
	padding-bottom: 1em;
	}				

.pdf, .fileicon.pdf 	{ background: url(../images/fileicon_s/file_pdf.png) no-repeat }
.doc, .fileicon.doc		{ background: url(../images/fileicon_s/file_doc.png) no-repeat }
.xls, .fileicon.xls		{ background: url(../images/fileicon_s/file_xls.png) no-repeat }
.ppt, .fileicon.ppt		{ background: url(../images/fileicon_s/file_ppt.png) no-repeat }
.zip, .fileicon.zip		{ background: url(../images/fileicon_s/file_zip.png) no-repeat }
.mov, .fileicon.mov		{ background: url(../images/fileicon_s/file_mov.png) no-repeat }
.mp3, .fileicon.mp3		{ background: url(../images/fileicon_s/file_mp3.png) no-repeat }
.pic, .fileicon.pic		{ background: url(../images/fileicon_s/file_pic.png) no-repeat }
.gps, .fileicon.gps		{ background: url(../images/fileicon_s/file_gps.png) no-repeat }	
.page, .fileicon.page 	{ background: url(../images/fileicon_s/file_page.png) no-repeat }
.heic, .fileicon.heic 	{ background: url(../images/fileicon_s/file_heic.png) no-repeat }

.fileicon.xl.pdf 		{ background: url(../images/fileicon_m/file_pdf.png) no-repeat }
.fileicon.xl.doc		{ background: url(../images/fileicon_m/file_doc.png) no-repeat }
.fileicon.xl.xls		{ background: url(../images/fileicon_m/file_xls.png) no-repeat }
.fileicon.xl.ppt		{ background: url(../images/fileicon_m/file_ppt.png) no-repeat }
.fileicon.xl.zip		{ background: url(../images/fileicon_m/file_zip.png) no-repeat }
.fileicon.xl.mov		{ background: url(../images/fileicon_m/file_mov.png) no-repeat }
.fileicon.xl.mp3		{ background: url(../images/fileicon_m/file_mp3.png) no-repeat }
.fileicon.xl.pic		{ background: url(../images/fileicon_m/file_pic.png) no-repeat }
.fileicon.xl.gps		{ background: url(../images/fileicon_m/file_gps.png) no-repeat }	
.fileicon.xl.page		{ background: url(../images/fileicon_m/file_page.png) no-repeat }	
.fileicon.xl.heic		{ background: url(../images/fileicon_m/file_heic.png) no-repeat }	

li.pdf, 
li.doc,
li.xls,
li.ppt,
li.zip,
li.mov,
li.mp3,
li.pic, 
li.gps,
li.page,
li.heic 	{ 
	background-position-y: 2px;
	padding-top: 0 !important;
	}
	
li.pdf::before, 
li.doc::before,
li.xls::before,
li.ppt::before,
li.zip::before,
li.mov::before,
li.mp3::before,
li.pic::before, 
li.gps::before,
li.page::before,
li.heic::before 	{ 
	content: none !important;
	}

/*
a[download] {
	background:url(../images/fileicon_s/file_pdf.png) no-repeat;
	padding-left: 25px;
	padding-bottom: 2px;
	display: inline-block
	}
	.xl a[download] {
	background:url(../images/fileicon_m/file_pdf.png) no-repeat;
	}
	.fileicon a[download] {
		background:none;
		padding-left: 0;
		padding-bottom: 0
		}
	*/
	
/* --------- end FILEICONS -------- */





	
	

/*--------------------------------------------------------------
# Galerie / Gallery
--------------------------------------------------------------*/

.gallery,
.gallery-wrapper,
.galerie_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 15px; /* Abstand zwischen den Bildern */
	width: calc(100% + 15px);
	/*justify-content: center;*/;
	}
	.gallery a,
	.gallery-wrapper a,
	.galerie_wrap .galerie_container {
		flex: 1 1 calc(25% - 15px); /* 4 Spalten */
		max-width: calc(25% - 15px);
		overflow: hidden;
		}
		.galerie_wrap .galerie_container {
		width: 100% !important;
		height: auto !important;
		overflow: hidden;
		}
		.gallery img,
		.gallery-wrapper img,
		.galerie_wrap img {
			width: 100%;
			height: auto;
			/*aspect-ratio: 1 / 1; * Quadrat *
			aspect-ratio: 3 / 4; * Hochformat */
			/*aspect-ratio: 4 / 3; /* Standard Querformat */
			
			height: 150px;
			width: auto;
			
			object-fit: cover;
			border-radius: var(--radius);
			cursor: pointer;
			transition: transform 0.3s ease;
			display: block;
			margin-left: auto;
			margin-right: auto;
			}
			article .gallery img,
			article .gallery-wrapper img,
			article .galerie_wrap img {
				height:100px;
			}
			aside .gallery img,
			aside .gallery-wrapper img,
			aside .galerie_wrap img {
			height:50px;
			}
		.gallery img:hover,
		.gallery-wrapper img:hover,
		.galerie_wrap img:hover {
			transform: scale(1.04);
			}
		
@media (max-width: 992px) {
	.gallery img,
	.gallery-wrapper img,
	.galerie_wrap img {
		height: 125px;
	}	
}
@media (max-width: 767px) {
	.gallery a,
	.gallery-wrapper a,
	.galerie_wrap .galerie_container  {
		flex: 1 1 calc(33.333% - 15px); /* 3 Spalten */
		max-width: calc(33.333% - 15px);
	}	
}
@media (max-width: 575px) {
	.gallery img,
	.gallery-wrapper img,
	.galerie_wrap img {
		height: 100px;
	}
	article .gallery img,
	article .gallery-wrapper img,
	article .galerie_wrap img {
		height:75px;
	}
	aside .gallery img,
	aside .gallery-wrapper img,
	aside .galerie_wrap img {
		height:75px;
	}
}
@media (max-width: 480px) {
	.gallery a,
	.gallery-wrapper a,
	.galerie_wrap .galerie_container {
		flex: 1 1 calc(50% - 15px); /* 2 Spalten */
		max-width: calc(50% - 15px);
		}
	.gallery img,
	.gallery-wrapper img,
	.galerie_wrap img {
		height: 75px;
	}	
}
@media (max-width: 340px) {
	.gallery,
	.gallery-wrapper,
	.galerie_wrap {
		row-gap: 20px; /* Nur vertikaler Abstand */
		column-gap: 0; /* Horizontaler Abstand */
		width: 100%
	}
	.gallery a,
	.gallery-wrapper a,
	.galerie_wrap .galerie_container {
		flex: 1 1 100%; /* 1 Spalte */
		max-width: 100%;
		}
}

/* --------- end GALERIE -------- */









/* --------- BILDER
================================================== */
.bild,
.bildlinks,
.bildrechts,
.bildmitte,
img.bild,
img.bildlinks,
img.bildrechts,
img.bildmitte,
.bildrahmen,
.bildrahmenlinks,
.bildrahmenrechts,
.bildrahmenmitte,
img.bildrahmen,
img.bildrahmenlinks,
img.bildrahmenrechts,
img.bildrahmenmitte,
.bildrahmen-nb,
.bildrahmenlinks-nb,
.bildrahmenrechts-nb,
.bildrahmenmitte-nb,
img.bildrahmen-nb,
img.bildrahmenlinks-nb,
img.bildrahmenrechts-nb,
img.bildrahmenmitte-nb {
	border-radius: var(--radius);
	margin-top: .4em; 
	margin-bottom: .6em !important;
	max-width: 100%;
	}
.bildmitte,
img.bildmitte,
.bildrahmenmitte,
img.bildrahmenmitte,
.bildrahmenmitte-nb,
img.bildrahmenmitte-nb {
	display: block !important;
	margin: 1em auto !important
	}
.bildrahmen,
.bildrahmenlinks,
.bildrahmenrechts,
.bildrahmenmitte,
img.bildrahmen,
img.bildrahmenlinks,
img.bildrahmenrechts,
img.bildrahmenmitte,
.bildrahmen-nb,
.bildrahmenlinks-nb,
.bildrahmenrechts-nb,
.bildrahmenmitte-nb,
img.bildrahmen-nb,
img.bildrahmenlinks-nb,
img.bildrahmenrechts-nb,
img.bildrahmenmitte-nb {
	border: 1px solid #ddd;
	padding: 4px;
	}
.bildrahmen,
.bildrahmenlinks,
.bildrahmenrechts,
.bildrahmenmitte {
	background: #fff
	}		
.bildlinks,
img.bildlinks,
.bildrahmenlinks,
img.bildrahmenlinks,
.bildrahmenlinks-nb,
img.bildrahmenlinks-nb 	{ margin-right: .8em !important;	float: left; }

.bildrechts,
img.bildrechts,
.bildrahmenrechts,
img.bildrahmenrechts,
.bildrahmenrechts-nb,
img.bildrahmenrechts-nb { margin-left: .8em !important;	float: right; }

.bild,
img.bild,
.bildrahmen,
img.bildrahmen,
.bildrahmen-nb,
img.bildrahmen-nb  		{ margin-right: .8em !important;	float: left; }

.bildrahmenmitte-wrapper { 
	width: 100%; 
	text-align: center
	}
	.bildrahmenmitte,
	img.bildrahmenmitte,
	.bildrahmenmitte-nb,
	img.bildrahmenmitte-nb { max-width: 100% }

	
.bildrahmenlinks-nb,
.bildrahmenrechts-nb,
.bildrahmenmitte-nb,
img.bildrahmenlinks-nb,
img.bildrahmenrechts-nb,
img.bildrahmenmitte-nb,
a img.bildrahmenlinks-nb,
a img.bildrahmenrechts-nb,
a img.bildrahmenmitte-nb,
.bildlinks-nb,
.bildrechts-nb,
img.bildlinks-nb,
img.bildrechts-nb,
a img.bildlinks-nb,
a img.bildrechts-nb {
	border: solid 1px #fff;
	padding: 0;
	border: none
	}	
	
figure {
	}	
figcaption { 
	}	
figure.bildrahmenmitte-wrapper figcaption { 
	padding-top: 0;
	margin-top: -10px
	}	
	
	
.ratio-20x8 {
	--bs-aspect-ratio: 40%;
	}	
.ratio-20x7 {
	--bs-aspect-ratio: 35%;
	}			
/* --------- end BILDER -------- */





/* --------- BILDUNTERSCHRIFT
================================================== */
.bildunterschrift,
.bu {
	color: var(--bs-gray-600);
	margin-top: .3em;
	font-size: var(--smaller);
	line-height: 1.3em;
	font-style: italic
}
.bildunterschrift {
	float: left;
	clear: both;
	text-align: left;
	margin-bottom: 2.5em
}

.bildunterschrift-bildrahmenlinks,
.bildunterschrift-bildrahmenlinks-nb  {
	}
	.bildunterschrift-bildrahmenlinks .bildunterschrift,
	.bildunterschrift-bildrahmenlinks-nb .bildunterschrift {
	width: 40%;
	}
		
.bildunterschrift-bildrahmenrechts,
.bildunterschrift-bildrahmenrechts-nb {
	}
	.bildunterschrift-bildrahmenrechts .bildunterschrift,
	.bildunterschrift-bildrahmenrechts-nb .bildunterschrift {
	width: 40%;
	float: right;
	text-align: right
	}	

.bildrahmenmitte-wrapper {
	}	
.bildrahmenmitte-wrapper .bildunterschrift-bildrahmenmitte .bildunterschrift,
.bildunterschrift-bildrahmenmitte-nb .bildunterschrift {
	width: 100%;
	text-align: left
	}
	aside .bildrahmenmitte-wrapper .bildunterschrift-bildrahmenmitte .bildunterschrift,
	aside .bildunterschrift-bildrahmenmitte-nb .bildunterschrift {
		text-align: center
		}
	.lang_text .bildrahmenmitte-wrapper .bildunterschrift-bildrahmenmitte .bildunterschrift,
	.lang_text .bildunterschrift-bildrahmenmitte-nb .bildunterschrift {
	width: 70%;
	margin-left: 15%;
	margin-right: 15%
	}
	@media  (max-width: 768px) {
	.bildrahmenmitte-wrapper .bildunterschrift-bildrahmenmitte .bildunterschrift,
	.bildunterschrift-bildrahmenmitte-nb .bildunterschrift {
		max-width: 100%;
		margin-left: 0;
		margin-right: 0
		}
	}	
	
/* --------- end BILDUNTERSCHRIFT -------- */

	
	
	






/* --------- SOCIAL.MEDIA
================================================================================== */
.social-icons {
	display: flex;
	gap: 15px;
	/*
	justify-content: center;
	align-items: center;*/
	}
.social-icons a {
	font-size: 24px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: var(--primary);
	color: var(--bs-white);
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: background-color 0.3s;
	text-decoration: none !important
	}
	.social-icons a:hover {
	background-color: var(--primary-dark);
	text-decoration: none !important
	}
	.social-icons a:focus {
	outline: 3px solid var(--bs-white);
	outline-offset: 2px;
	background-color: var(--primary-dark);
	text-decoration: none !important
	}
	
.social-icons i {
	color: var(--bs-white) !important;
	font-weight: normal !important
	}





	
	
	
/* --------- FORMULAR / FORMS
================================================================================== */
.form-control,
.form-control:focus {
	color: var(--form-control-color);
	}
	
.pflicht {
	color: var(--bs-red)
	}
		
.error,
.invalid-feedback {
	background: var(--bs-red);
	border-radius: var(--radius);
	color: var(--bs-white);
	
	z-index: 10;
	position: relative;
	width: 100%;
	font-size: 85%;
	font-weight: 400;
	line-height: 1.2em;
	padding: .05em .5em .2em .5em;
	margin-bottom: 4px;
	opacity: .85;
	box-shadow: .1em .1em .2em rgba(0, 0, 0, 0.3);
	width: auto;
	display: block;
	/*
	position: absolute;
	margin-top: -20px;
	display: inline-block*/
	}
.error::before,
.invalid-feedback::before {
	content: "\f0d7";
	font-family: 'FontAwesome';
	font-weight: normal;
	font-style: normal;
	color: var(--bs-red);
	bottom: 0;
	margin-bottom: -12px;
	left: 20px;
	position: absolute;
	font-size: 23px;
	}
/* --------- end FORMULAR ----------------------------------------------------
================================================================================== */


	
	
	
/* --------- DL-LISTEN
================================================================================== */
/*.dl_liste_2 dt,
.dl_liste_2 dd {
	padding: 0 !important;
	margin: 0 !important;
	margin-bottom: .3em !important;
	display: block
	}
	.dl_liste_2 dt {
		width: 35% !important;
		min-height: 20px
		}
	.dl_liste_2 dd {
		border-bottom: 1px dotted #ccc;
		margin-bottom: .5em !important;
		padding-bottom: .5em !important;
		margin-left: -35% !important;
		padding-left: 35% !important;
		width: 100% !important;
		min-height: 20px
		}*/
		
		
dl {
	width: 100%;
	display: inline-block;
	margin-bottom: 1em;
	}
	dt,
	dd {
		float: left;
		font-weight: normal;
		margin: 0 0 1em 0;
		padding: 0
		}	
	dt {
		clear:left;
		width: calc(65% - 30px);
		margin-right: 30px;
		}
	dd {
		width: 35%
		}

	dl.border dt,
	dd.border {
		border-bottom: 1px solid #ddd;
		padding-bottom: 1em
		}
	
	
		
dl.dl_liste_1,
dl.dl_liste_2 {
	margin-bottom: 0;
	font-size: 85%;
	}
	dl.dl_liste_1 dt, 
	dl.dl_liste_1 dd,
	dl.dl_liste_2 dt, 
	dl.dl_liste_2 dd {
		line-height: 1.4em;
		margin-bottom: .5em
		}
	dl.dl_liste_1 dt,
	dl.dl_liste_2 dt {
		font-weight: bold;
		width: calc(35% - 15px);
		margin-right: 15px
		}
	dl.dl_liste_1 dd,
	dl.dl_liste_2 dd {
		width:65%;
		}
	


dl.dl_liste_1 dt, 
dl.dl_liste_1 dd {
	border-top: 1px solid #ddd;
	padding-top: .5em;
	}	

	
	
	dd .bildmitte,
	dd .bildrahmenmitte,
	dd .bildrahmenmitte-nb {
	margin-top: 0 !important
	}	




@media (max-width: 480px) {
	dl.dl_liste_1 dt, 
	dl.dl_liste_1 dd,
	dl.dl_liste_2 dt, 
	dl.dl_liste_2 dd {
		width: 100%;
		margin-right: 0
		}
	dl.dl_liste_1 dt, 
	dl.dl_liste_2 dt{
		margin-bottom: 0;
		}
	dl.dl_liste_1 dd,
	dl.dl_liste_2 dd {
		margin-bottom: 1em;
		}	
	dl.dl_liste_1 dt {
		padding-top: 1em;
		}
	dl.dl_liste_1 dd {
		border: none;
		padding-top: 0
		}	
}			
/* --------- end DL-LISTEN -------- */




/*--------------------------------------------------------------
# Passbild / Avatar / Team
--------------------------------------------------------------*/
.avatar {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	height: auto;
	margin: 0 auto
	}
	
	
/*--------------------------------------------------------------
# DOWNLOADS / DOKUMENTE / AUSSCHREIBUNGEN
--------------------------------------------------------------*/
.btn-link {
	text-decoration: none;
	}
.btn-link i {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--accent);
	color: var(--accent);
	width: 30px;
	height: 30px;
	}
.btn-link:hover i {
	transition: .3s;
	background-color: var(--accent);
	color: var(--bs-white) !important
	}	