/* ----- WEBFONTS ----- */
/* noto-sans-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 400;
	src: url('../Fonts/noto-sans/noto-sans-v35-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-italic - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Noto Sans';
	font-style: italic;
	font-weight: 400;
	src: url('../Fonts/noto-sans/noto-sans-v35-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-700 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 700;
	src: url('../Fonts/noto-sans/noto-sans-v35-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-700italic - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Noto Sans';
	font-style: italic;
	font-weight: 700;
	src: url('../Fonts/noto-sans/noto-sans-v35-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
	font-family: 'Font Awesome 5 Pro Regular';
	font-style: normal;
	font-weight: 400;
	src: url('../Fonts/fa-regular-400.eot');
	/* IE9 Compat Modes */
	src: local('Font Awesome 5 Pro Regular'), local('Font Awesome 5 Pro Regular'), url('../Fonts/fa-regular-400.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../Fonts/fa-regular-400.woff2') format('woff2'), /* Super Modern Browsers */ url('../Fonts/fa-regular-400.woff') format('woff'), /* Modern Browsers */ url('../Fonts/fa-regular-400.ttf') format('truetype'), /* Safari, Android, iOS */ url('../Fonts/fa-regular-400.svg') format('svg');
	/* Legacy iOS */
}
@font-face {
	font-family: 'Font Awesome 5 Pro Light';
	font-style: normal;
	font-weight: 300;
	src: url('../Fonts/fa-light-300.eot');
	/* IE9 Compat Modes */
	src: local('Font Awesome 5 Pro Light'), local('Font Awesome 5 Pro Light'), url('../Fonts/fa-light-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../Fonts/fa-light-300.woff2') format('woff2'), /* Super Modern Browsers */ url('../Fonts/fa-light-300.woff') format('woff'), /* Modern Browsers */ url('../Fonts/fa-light-300.ttf') format('truetype'), /* Safari, Android, iOS */ url('../Fonts/fa-light-300.svg') format('svg');
	/* Legacy iOS */
}
@font-face {
	font-family: 'Font Awesome 5 Duotone Solid';
	font-style: normal;
	font-weight: 900;
	src: url('../Fonts/fa-duotone-900.eot');
	/* IE9 Compat Modes */
	src: local('Font Awesome 5 Duotone Solid'), local('Font Awesome 5 Duotone Solid'), url('../Fonts/fa-duotone-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../Fonts/fa-duotone-900.woff2') format('woff2'), /* Super Modern Browsers */ url('../Fonts/fa-duotone-900.woff') format('woff'), /* Modern Browsers */ url('../Fonts/fa-duotone-900.ttf') format('truetype'), /* Safari, Android, iOS */ url('../Fonts/fa-duotone-900.svg') format('svg');
	/* Legacy iOS */
}
@font-face {
	font-family: 'Font Awesome 5 Brands Regular';
	font-style: normal;
	font-weight: 400;
	src: url('../Fonts/fa-brands-400.eot');
	/* IE9 Compat Modes */
	src: local('Font Awesome 5 Brands Regular'), local('Font Awesome 5 Brands Regular'), url('../Fonts/fa-brands-400.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../Fonts/fa-brands-400.woff2') format('woff2'), /* Super Modern Browsers */ url('../Fonts/fa-brands-400.woff') format('woff'), /* Modern Browsers */ url('../Fonts/fa-brands-400.ttf') format('truetype'), /* Safari, Android, iOS */ url('../Fonts/fa-brands-400.svg') format('svg');
	/* Legacy iOS */
}
/* ---------- WEBFONTS END ---------- */ :root {
	--color-text: #666666;
	--color-headline: #5D081F;
	--color-primary: #5D081F;
	--color-primary-active: #3E0514;
	--color-background-light: #fdfafa;
	--color-background-light-active: #E8E3E3;
	--color-secondary: #5F7E00;
	--color-secondary-active: #7C8C03;
	--font-text: 'Noto Sans';
	--font-headline: 'Noto Sans';
	--transition: all 0.5s cubic-bezier(0.65, 0, 0.35, 1) 0s;
}
html {
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
	overflow-x: hidden;
}
body {
	overflow-x: hidden;
	background-color: var(--color-background-light);
	line-height: 1.6;
	font-family: var(--font-text);
}

/* ----- FA ICONS ----- */
i.fa-solid {
	font-family: 'Font Awesome 5 Pro Solid';
	font-style: normal;
}
i.fa-regular {
	font-family: 'Font Awesome 5 Pro Regular';
	font-style: normal;
}
i.fa-light {
	font-family: 'Font Awesome 5 Pro Light';
	font-style: normal;
}
i.fa-duotone {
	font-family: 'Font Awesome 5 Duotone Solid';
	font-style: normal;
}
i.fa-brands {
	font-family: 'Font Awesome 5 Brands Regular';
	font-style: normal;
}
/* ----- FA ICONS END ----- */
/* ---------- MEDIA ---------- */
/* ----- IMAGES ----- */
img {
	max-width: 100%;
	height: auto;
}
/* ----- IMAGES END ----- */
/* ----- VIDEO ----- */
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 0;
	height: 0;
	overflow: hidden;
}
.video-container iframe, .video-container object, .video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* ----- VIDEO END ----- */
/* ---------- MEDIA END ---------- */
/* ----- TEXT ----- */
/* HEADLINES */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
	color: var(--color-headline);
	font-family: var(--font-text);
	font-weight: 700;
}
h3, .h3, h4, .h4, h5, .h5 {
	--color-headline: #333;
}
h1, .h1 {
	font-size: 3em;
}
p {
	color: var(--color-text);
}
a {
	color: var(--color-primary);
	text-decoration: none;
	transition: var(--transition);
	transition-delay: .1;
	font-weight: 600;
	position: relative;
}
a:hover {
	color: var(--color-primary-active);
}
main a:not(.btn)::after {
	content: '';
	position: absolute;
	width: 0;
	height: 3px;
	left: 0;
	bottom: -5px;
	background-color: var(--color-primary);
	transition: var(--transition);
}
main a:not(.btn):hover::after {
	width: 100%;
	background-color: var(--color-primary-active)
}
.price {
	font-family: var(--font-headline);
	color: var(--color-headline);
	font-size: 1.5rem;
}
/* ----- TEXT END ----- */
/* ----- BUTTONS ----- */
.btn {
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 15px 25px;
	border-radius: 0;
	border: 2px solid var(--color-primary);
	font-weight: 600;
}
.btn.btn-solid, .btn.btn-primary {
	background-color: var(--color-primary);
	color: white;
	transition: var(--transition);
}
.btn.btn-solid:hover, .btn.btn-solid:active, .btn.btn-solid:focus, .btn.btn-primary:hover, .btn.btn-primary:active, .btn.btn-primary:focus {
	background-color: var(--color-primary-active);
}
.btn.btn-border {
	color: var(--color-primary);
	transition: var(--transition);
}
.btn.btn-border:hover, .btn.btn-border:active, .btn.btn-border:focus {
	border: 2px solid var(--color-primary-active);
	color: var(--color-primary-active);
}
/* ----- BUTTONS END ----- */
/* ----- SPACING ----- */
.outer-spacing, main .container {
	padding-top: 110px !important;
	padding-bottom: 110px !important;
}
.outer-spacing div.container {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.outer-spacing:not(.bildstoerer) + .outer-spacing:not(.bildstoerer) {
	padding-top: 0 !important;
}
.inner-spacing {
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}
/* ----- SPACING END ----- */
/* ---------- NAVIGATION ---------- */
nav ul.navbar-nav {
	gap: 20px;
}
nav ul.navbar-nav li.nav-item a.nav-link {
	color: white;
	text-transform: uppercase;
	font-weight: 700;
}
nav ul.navbar-nav li.nav-item a.nav-link:hover {
	color: var(--color-background-light-active);
}
nav ul.navbar-nav li.nav-item ul.dropdown-menu li a.dropdown-item {
	font-weight: 700;
}
nav ul.navbar-nav li.nav-item.dropdown ul.dropdown-menu {
	border-radius: 0;
	border: none;
	background-color: var(--color-background-light);
}
nav ul.navbar-nav li.nav-item.dropdown ul.dropdown-menu li:not(:last-of-type) {
	border-bottom: 1px solid var(--color-background-light-active);
}
nav ul.navbar-nav li.nav-item.dropdown ul.dropdown-menu li a.dropdown-item {
	padding: 10px 15px;
}
nav ul.navbar-nav li.nav-item.dropdown ul.dropdown-menu li a.dropdown-item:hover, nav ul.navbar-nav li.nav-item.dropdown ul.dropdown-menu li a.dropdown-item:focus {
	background-color: #E8E3E3;
}
nav ul.navbar-nav li.nav-item.dropdown ul.dropdown-menu li a.dropdown-item:active, nav ul.navbar-nav li.nav-item.dropdown ul.dropdown-menu li a.dropdown-item.active {
	background-color: var(--color-primary);
}
/* .sticky */
nav {
	background-color: var(--color-background-light);
	border-bottom: 1px solid var(--color-background-light-active);
}
nav ul.navbar-nav li.nav-item a.nav-link {
	color: var(--color-primary);
}
nav ul.navbar-nav li.nav-item a.nav-link:hover {
	color: var(--color-primary-active);
}
@media (min-width: 992px) {
	nav:not(.sticky) a.navbar-brand {
		position: absolute;
		top: 0;
		left: 0;
	}
	nav a.navbar-brand img {
		height: 150px;
		width: auto;
		background-color: var(--color-background-light);
		padding: 10px;
		transition: var(--transition);
	}
	nav.sticky a.navbar-brand img {
		height: 80px;
		padding: 0;
	}
}
@media (max-width: 991.9px) {
	nav a.navbar-brand img {
		height: 80px;
		width: auto;
	}
}
.languageMenu {
	margin: 0;
	padding: 0 0 0 40px;
	;
	list-style: none;
}
.languageMenu > .nav-item {
	display: inline-block;
	opacity: .5;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.languageMenu > .nav-item + .nav-item {
	margin-left: 10px;
}
.languageMenu > .nav-item:hover, .languageMenu > .nav-item:focus, .languageMenu > .nav-item.active {
	opacity: 1;
}
.languageMenu > .nav-item a {
	border-radius: 4px;
	width: 20px;
	height: 20px;
	background-size: 100% auto;
	padding: 0;
	color: transparent;
	overflow: hidden;
}
.languageMenu > .nav-item a.link-de-DE {
	background-image: url("../Icons/flag_german.jpg");
}
.languageMenu > .nav-item a.link-en-US {
	background-image: url("../Icons/flag_english.jpg");
}
.languageMenu > .nav-item a > span {
	display: none;
}
/*.navbar.sticky .languageMenu,
.navbar.sticky-up .languageMenu {
	display: none;
}*/
@media (max-width: 991.9px) {
	.languageMenu {
		padding: 20px 0;
	}
}
@media (max-width: 991.9px) {
	body > nav {
		background-color: var(--color-background-light);
		border-bottom: 1px solid var(--color-background-light-active);
	}
	nav ul.navbar-nav li.nav-item a.nav-link {
		color: var(--color-primary);
	}
	nav ul.navbar-nav li.nav-item a.nav-link:hover {
		color: var(--color-primary-active);
	}
	.outer-spacing, main .container {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}
}
/* ---------- NAVIGATION END ---------- */
/* ---------- HEADER ---------- */
#header {
	--color-text: #ffffff;
	--color-headline: #ffffff;
	--color-headline-grey: #ffffff;
	--color-primary: #ffffff;
	--color-primary-active: #BBBBBB;
	--color-secondary: #ffffff;
	--color-secondary-active: #BBBBBB;
}
#header::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
}
#header #headercontent .container {
	padding-top: 60px;
	padding-bottom: 60px;
}
#header img {
	left: 0;
	top: 0;
}
#header, #header #headercontent .container, #header img {
	width: 100vw;
	height: 100vh;
}
/* #headercontent */
#header #headercontent h2, #header #headercontent h1, #header #headercontent p {
	text-align: center;
}
#header #headercontent h1 {
	font-size: 5em;
}
#header #headercontent p {
	font-size: 1.2em;
}
#header #headercontent .btn.btn-solid {
	color: #5D081F;
}
@media (max-width: 767.9px) {
	#header #headercontent h1 {
		font-size: 3em;
	}
	#header #headercontent #headerbtns .btn {
		width: 100%;
	}
}
/* :empty */
/*body > header:empty {
	background-color: var(--color-primary);
	padding-top: 61px;
}*/
/* ---------- HEADER END ---------- */
/* ---------- CONTENT ---------- */

/* ----- TEXT-BILD-KACHEL ----- */
.textbildkachel img {
	height: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
/* ----- TEXT-BILD-KACHEL END ----- */

/* ----- TEXT-BILD-BOX ----- */
.textbildboxen .textbildbox img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.textbildboxen .textbildbox .textbildbox-content {
	display: flex;
	flex-direction: column;
}
.textbildboxen .textbildbox .textbildbox-content a.btn {
	margin-top: auto !important;
}
/* ----- TEXT-BILD-BOX END ----- */

/* ----- BILDSTÖRER ----- */
.bildstoerer {
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	position: relative;
}
.bildstoerer::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(0, 0, 0, 0.5);
}
.bildstoerer .quote {
	font-size: 2.5em;
	font-family: var(--font-headline);
}
.bildstoerer .quote-name {
	text-transform: uppercase;
}
.bildstoerer .quote, .bildstoerer .quote-name {
	color: white;
	text-align: center;
}
/* ----- BILDSTÖRER END ----- */

/* ----- TERMINE ----- */
.termine.outer-spacing:not(:last-of-type) {
	padding-bottom: 2rem !important;
}
.termine.outer-spacing:last-of-type hr {
	display: none;
}
.termine a::after {
	display: none;
}
.termine a:hover p, .termine i {
	color: var(--color-headline);
}
.termine .termin-date i {
	padding-right: 10px;
}
.termine .termin-location p {
	margin-bottom: 0 !important;
}
.termine .termin-location a {
	display: flex;
	gap: 10px;
}
.termine .termin-location a i {
	padding-top: 7px;
}
/* ----- TERMINE END ----- */

/* ----- FORMULARE ----- */
form div.form-group label {
	font-family: var(--font-headline);
	font-size: 1.1em;
	color: var(--color-text);
}
form div.form-group label.form-check-label {
	font-family: var(--font-text);
	font-size: 1em;
}
form div.form-group div.input.checkbox {
	margin-bottom: 25px;
}
form div.form-group div.input .form-control {
	border-radius: 0;
	border: 1px solid #E2D0D0;
	margin-bottom: 25px;
}
form div.form-group div.input select option {
	font-family: var(--font-text);
	color: var(--color-text);
	padding: 10px 0;
}
form div.form-group div.input select option:not(:last-of-type) {
	border-bottom: 1px solid #dedede;
}
form div.form-group .form-check {
	padding-left: 0;
}
form div.form-group .form-check .add-on {
	margin-right: 5px;
}
/* ----- FORMULARE END ----- */
/* ---------- CONTENT END ---------- */

/* ------------ FOOTER ------------- */
footer {
	background-color: #333;
	padding: 100px 0;
	--color-text: #999;
	--color-primary-active: #999;
	--color-primary: #ccc;
}
footer h4 {
	--color-headline: #fff;
}
footer ul {
	padding-left: 0;
}
footer ul li {
	line-height: 2;
	list-style-type: none;
}
/* ------------ FOOTER END ------------- */