@import url("https://fonts.verwaltungsportal.de/import/?family=Open+Sans:300,300i,400,400i,600,600i");

/*
 - Aktuelle Live-Seite eingebunden (Aktuell bearbeiten aktualisiert sowohl Live-Seite als auch Testseite)

*/

html {
	max-width: 1930px;
	margin-left: auto;
	margin-right: auto;
	background: #e8eef3;
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
	scrollbar-color: #2d2d2d #ffffff;
	scrollbar-width: thin;
	font-size: 14px;
}

body {
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	color: #2d2d2d;
	background: #ffffff;
	font-size: 1.0625rem;
	/* 1rem = 16px */
	line-height: 1.5;
}

a {
	color: #d10513;
}

a:is(:hover, :focus) {
	color: #d10513;
	text-decoration: underline;
}

b,
strong {
	font-weight: 600;
}

#content a {
	text-decoration: underline;
}


#overflow {
	overflow: clip;
	position: relative;
}
/* -------------------------------------------- logo -------------------------------------------- */

.logo {
	display: inline-block;
}

.logo img {
	display: block;
}

@media (max-width: 991px) {
	#logoMobil img {
		max-width: 220px;
		width: 100%;
	}

	#logoMobil {
		position: absolute;
		top: 0;
		left: 15px;
	}

	#logoMobil .logo {
		position: fixed;
		top: 10px;
		left: 15px;
		z-index: 102;
	}
}

/* #region ---------------------------------- navigation ---------------------------------------- */

/* burgermenu for tablet */

@media (max-width: 991px) {
	#burgerButton {
		font-size: 0;
		border: none !important;
		position: absolute;
		z-index: 1002;
		display: block;
		width: 46px;
		height: 40px;
		border-radius: 2px;
		cursor: pointer;
		background-color: #ffffff;
		padding: 3px;
		right: 12px;
		top: 50%;
		margin-top: -20px;
	}

	#burgerButton::before,
	#burgerButton::after,
	#burgerButtonInner {
		background-color: #0962b6;
		border-radius: 2px;
		position: absolute;
		width: 40px;
		height: 3px;
		left: 2px;
		transition:
			transform 200ms linear,
			opacity 200ms linear;
	}

	#burgerButton[aria-expanded="true"] #burgerButtonInner {
		transform: rotate(-45deg) translate(-6px, 6px);
	}

	#burgerButton[aria-expanded="true"]::before {
		opacity: 0;
	}

	#burgerButton[aria-expanded="true"]:after {
		transform: rotate(45deg) translate(-4px, -6px);
	}

	#burgerButtonInner {
		top: 11px;
	}

	#burgerButton::before {
		top: 19px;
		content: "";
	}

	#burgerButton::after {
		top: 27px;
		content: "";
	}

	.navbar-nav {
		margin: 20px 0;
		width: 100%;
	}

	.navbar-collapse {
		width: calc(100% - 90px);
		max-width: 300px;
		top: 70px;
		background: #0962b6;
		position: fixed;
		left: -100%;
		bottom: 0;
		z-index: 100;
		height: auto !important;
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
		overflow-y: auto;
		transition:
			left 300ms linear,
			opacity 300ms linear,
			box-shadow 600ms linear;
		box-shadow: 250px 0 50vw 50vw rgba(255, 255, 255, 0);
	}

	.navbar-collapse:is([aria-expanded="true"], .in) {
		left: 0;
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
		box-shadow: 250px 0 50vw 50vw rgba(0, 0, 0, 0.6);
	}

	.navbar-header {
		height: 70px;
		line-height: 1;
		padding: 10px 15px;
		background-color: #ffffff;
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 101;
		box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
	}

	.dropdown-toggle-button-wrapper,
	.dropdown-toggle-button-wrapper2 {
		z-index: 1;
	}

	.dropdown-toggle-button-wrapper {
		top: 5px;
	}

	.dropdown-toggle-button-wrapper2 {
		top: 2px;
	}
}

/* menu desktop */

@media (min-width: 992px) {
	nav.horizontally {
		transition: background 300ms linear;
		position: absolute;
		top: 0;
		z-index: 200;
		width: 100%;
	}

	nav.horizontally .navbar-nav {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: 30px;
		gap: 15px;
	}

	nav.horizontally .navbar-nav>li {
		flex-grow: 1;
	}

	nav.horizontally .navbar-nav ul {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 1000;
		display: block !important;
		pointer-events: none;
		opacity: 0;
		visibility: hidden;
		transition: opacity 300ms linear;
	}

	nav.horizontally .navbar-nav [class*="secondlevel"]>ul {
		left: 100%;
		top: 0;
	}

	nav.horizontally .navbar-nav li {
		position: relative;
	}

	nav.horizontally .navbar-nav li:is(.open:focus-within, :hover)>ul,
	nav.horizontally .navbar-nav li[class*="secondlevel"]>ul[style*="block"] {
		pointer-events: auto !important;
		opacity: 1 !important;
		visibility: visible;
	}

	nav.horizontally .navbar-nav li:is(:hover, :focus-within)>ul {
		z-index: 1003;
	}
}

/* toplevel */

nav.horizontally a[class*="toplevel"] {
	color: #ffffff;
	font-weight: 400;
	text-align: left;
	padding: 20px 35px;
	position: relative;
	font-size: clamp(1rem, 3vw, 1.125rem);
	line-height: 1.2;
	text-decoration: none;
}

nav.horizontally li[class*="toplevel"]:last-child>a {
	outline: 2px solid #ffffff;
	outline-offset: -2px;
	padding-left: 14px;
	padding-right: 14px;
}

@media (min-width: 992px) {
	nav.horizontally a[class*="toplevel"] {
		padding: 15px;
		display: flex;
		align-content: center;
		align-items: center;
		justify-content: center;
		height: 100%;
		text-align: center;
	}
}

/* toplevel-over */

nav.horizontally #menu li[class*="toplevel"]:is(:hover, :focus-within)>a,
nav.horizontally #menu li[class*="toplevel"]>a:is(:hover, :focus),
nav.horizontally #menu li[class*="toplevel"].open>a,
nav.horizontally #menu li[class*="toplevel"].open>a:is(:hover, :focus),
nav.horizontally #menu li[class*="toplevel"][class*="_over"]>a,
nav.horizontally #menu li[class*="toplevel"][class*="_over"]>a:is(:hover, :focus) {
	background-color: #0962b6;
}

/* secondlevel + thirdlevel dropdown-box */

nav.horizontally [class*="toplevel"] ul {
	background-color: #ffffff;
	box-shadow: inset 0 0 20px 0 rgba(0, 0, 0, 0.12);
}

@media (max-width: 991px) {
	nav.horizontally [class*="toplevel"]>ul {
		padding: 15px 0;
	}

	nav.horizontally [class*="secondlevel"]>ul {
		background-color: rgba(255, 255, 255, 0.1);
	}
}

@media (min-width: 992px) {
	nav.horizontally [class*="toplevel"] ul {
		padding-top: 10px;
		padding-bottom: 10px;
		box-shadow:
			0 0 4px 0 rgba(0, 0, 0, 0.2),
			inset 0 0 20px 0 rgba(0, 0, 0, 0.12);
	}

	nav.horizontally [class*="secondlevel"]>ul {
		margin-top: -10px;
		margin-left: 6px;
	}

	nav.horizontally [class*="secondlevel"]>ul::before {
		content: "";
		position: absolute;
		display: block;
		width: 6px;
		top: 0;
		bottom: 0;
		left: -6px;
	}
}

/* secondlevel + thirdlevel */

nav.horizontally a:is([class*="secondlevel"], [class*="thirdlevel"]) {
	color: #2d2d2d;
	text-align: left;
	padding: 10px 35px;
	font-size: 0.9375rem;
	line-height: 1.2;
	text-decoration: none;
}

@media (min-width: 992px) {
	nav.horizontally a:is([class*="secondlevel"], [class*="thirdlevel"]) {
		padding: 6px 25px 6px 35px;
	}

	nav.horizontally a:is([class*="secondlevel"], [class*="thirdlevel"])::before {
		position: absolute;
		content: "–";
		left: 15px;
	}
}

/* secondlevel + thirdlevel over */

nav.horizontally li:is([class*="secondlevel"], [class*="thirdlevel"]):is(:hover, :focus-within)>a,
nav.horizontally li:is([class*="secondlevel"], [class*="thirdlevel"])>a:is(:hover, :focus),
nav.horizontally li:is([class*="secondlevel"], [class*="thirdlevel"]).open>a,
nav.horizontally li:is([class*="secondlevel"], [class*="thirdlevel"]).open>a:is(:hover, :focus),
nav.horizontally li:is([class*="secondlevel"], [class*="thirdlevel"])[class*="_over"]>a,
nav.horizontally li:is([class*="secondlevel"], [class*="thirdlevel"])[class*="_over"]>a:is(:hover, :focus) {
	color: #0962b6;
}

/* #endregion ------------------------------- navigation ---------------------------------------- */

/* #region ------------------------------------ banner ------------------------------------------ */

#headerpic {
	background: #172830;
	position: relative;
	min-height: 600px;
}
@media (min-width: 992px) {

#headerpic {
	background: #172830;
	position: relative;
	min-height: 800px;
}
}
@media (max-width: 575px) {
#headerpic {
  background: #172830;
  position: relative;
  min-height: 715px;
}
}

#headerpic>*:not(.slider-wrapper):not(.sticky-wrapper):not(nav.horizontally) {
    position: relative;
    z-index: 10;
}

#slider {
	position: relative;
	height: 100%;
}

@media (min-width: 992px) {
	#headerpic {
		min-height: 800px;
	}

	#headerpic a.nivo-prevNav {
		left: 65px;
	}

	#headerpic a.nivo-nextNav {
		right: 65px;
	}
}

@media (max-width: 1199px) {
	#headerpic a:is(.nivo-prevNav, .nivo-nextNav) {
		top: auto;
		bottom: 8px;
		z-index: 51;
	}
}

@media (min-width: 992px) {
	.slider-wrapper {
		position: absolute !important;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
	}
}

@media (max-width: 991px) {
	.slider-wrapper {
		position: absolute !important;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
	}

	.slider-wrapper #slider {
		min-height: 350px;
	}

	#slider-onebanner,
	#slider .nivo-box>div,
	#slider .nivo-slice>div,
	#slider .nivo-main-image,
	#slider div[style*='background-size'] {
		background-attachment: unset !important;
	}
}

.slider-wrapper {
    position: absolute !important;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
#headerpic .nivo-main-image {
    min-height: 100% !important;
}
.slider-mask {
	display: block;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%);
}

#headerpic .nivo-main-image {
	min-height: 100% !important;
}

#slogan {
	position: relative;
	pointer-events: auto;
	padding-top: 15px;
	color: #ffffff;
	line-height: 1.2;
}

#slogan :is(b, strong) {
font-size: clamp(1.375rem, 3vw, 2.75rem);
}

#slogan :is(h2, h3, h4, h5, h6) {
	color: #ffffff;
	font-size: clamp(1.2rem, 4vw, 1.875rem);
	font-weight: 400;
	margin: 0;
}

#slogan a {
	color: #ffffff;
	border: 2px solid #ffffff;
	display: inline-block;
	padding: 8px 10px;
	font-weight: 600;
	margin-top: clamp(15px, 2vw, 25px);
	text-decoration: none;
	font-size: clamp(1rem, 1.5vw, 1.0625rem);
}

@media (max-width: 991px) {
	#slogan {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

@media (min-width: 992px) {
	#slogan a {
		padding: 11px 30px;
	}
}

#slogan a:is(:hover, :focus) {
	background: #0962b6;
	color: #ffffff;
}

#slogan :is(b, strong) {
	text-transform: none;
	letter-spacing: 0;
}

#bannerOverlay {
pointer-events: none;
  border: none;
  top: calc(50% + 53px);
  bottom: unset;
  transform: translateY(-50%);
  left: 0;
  position: absolute !important;
  right: 0;
  padding: 0;
}

@media (max-width: 991px) {
	#bannerOverlay {
	padding: 0;
    top: calc(50% + 35px);
    height: fit-content;
    transform: translateY(-50%);

	}

}
@media (max-width: 575px) {
	#slogan :is(b, strong){
	line-height: 1.2;
		
	}
}

#quicklinks {
	position: fixed !important;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	z-index: 300 !important;
}

#quicklinks p {
	font-size: 0;
	width: 50px;
	height: 50px;
	background: #fff;
	border-radius: 5px 0 0 5px;
	text-align: center;
	vertical-align: middle;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
	box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.2);
}

#quicklinks a::after {
	content: "";
	position: absolute;
	inset: -100vw;
}

#quicklinks .template-page>.row>* {
	display: flex;
	flex-direction: column;
	align-items: end;
	align-content: end;
	gap: 7px;
}

/* #endregion --------------------------------- banner ------------------------------------------ */

/* ------------------------------------------- content ------------------------------------------ */

#content {
	text-align: left;
	padding-bottom: clamp(30px, 9vw, 80px);
	padding-top: clamp(30px, 9vw, 80px);
	hyphens: unset;
}

#content .btgrid .row {
	margin-top: 0;
}

#content a {
	transition: none;
}

#content .template-page div[class*="col-"] {
	padding-left: 7px;
	padding-right: 7px;
}

#content .template-page .row {
	margin-right: -7px;
	margin-left: -7px;
}

#content hr {
	border: 0;
	height: 1px;
	background: #333;
	background-image: linear-gradient(to right, #ccc, #333, #ccc);
	margin-top: 20px;
	margin-bottom: 20px;
	opacity: 1;
}

#content .lead {
	font-size: clamp(1rem, 2vw, 1.5rem);
	font-weight: 300;
}


#content ul {
	padding: 0;
	list-style-type: disc !important;
	list-style-position: outside !important;
	margin: 0px 5px 0 15px;
	line-height: 1.3;
}

#content table :is(td, th),
#content table {
	border-color: #000;
}

#content li {
	position: relative;
	padding: 0 0 0 13px;
}

#content li::before {
	left: 0;
	top: 8px;
	background: #1a1a1a;
	opacity: 1;
}

#content .text-uppercase {
	text-transform: uppercase;
}

#content .text-center {
	text-align: center;
}

#content .designMod {
	font-size: 1.138rem !important;
}

#content .designMod p[style*="font-size:14px"] {
	font-size: 14px !important;
}

#content .small,
small {
	font-size: 1rem;
}

#content .jumbotron-heading+hr {
	background: #eee;
}

#content .material-icons {
	font-size: 34px !important;
}

#content .btn-primary .material-icons {
	font-size: 24px !important;
}

#content p[style*="margin-top:10px"] {
	margin-top: 50px !important;
}


#content .designMod div[style*="top:-50px"] {
	top: 0 !important;
}

#content .useNoListStyles li::before {
	display: none !important;
}

#content .useNoListStyles .material-icons {
	font-size: 24px !important;
}

#content .useNoListStyles li {
	font-size: 1.125rem !important;
}

#content .useNoListStyles li[style*="margin-top:14px"] {
	margin-top: 10px !important;
}

@media (min-width: 1200px) {
	#content>.row {
		max-width: 1120px;
		width: 100%;

	}
}

@media (min-width: 992px) {
	#content .col-md-offset-1 {
		margin-left: 8.33333333%;
	}
}


/* -------------------------------------- h1 - h6, newslink ------------------------------------- */

.h4link a:is(:link, :hover, :focus, :visited),
h6,
h5,
h4,
h3,
h2,
h1 {
	color: #2d2d2d;
	font-weight: 400;
	line-height: 1.2;
	font-family: "Open Sans", sans-serif;
}


h1,
.h1,
.legacy_h1 {
	font-size: clamp(1.875rem, 4vw, 2.875rem);
	margin-top: 10px;
}

#content h1 {
	margin-bottom: 20px;
}

h2,
.h2,
.legacy_h2 {
	font-size: 1.8675rem;
	margin-top: 8px;
	margin-bottom: 1px;
}

h3,
.h3,
.legacy_h3 {
	font-size: 1.6875rem;
	margin-top: 6px;
}

#content h3 {
	margin-bottom: 1px;
}

h4,
.h4,
.h4link a:is(:link, :hover, :focus, :visited) .legacy_h4 {
	font-size: 1.2937rem;

}

#content h4 {
	margin-top: 4px;
	margin-bottom: 1px;
}

h5,
.h5,
.legacy_h5 {
	font-size: 1.2937rem;
	margin-top: 2px;
}

#content h5 {
	margin-top: 0;
	margin-bottom: 1px;
}

h6,
.h6,
.legacy_h6 {
	font-size: 1.125rem;
	margin-top: 0;
}

#content h6 {
	margin-top: 0;
	margin-bottom: 0;
}

/* #region ----------------------------------- custom HeadlineStyles --------------------------------------- */

#content [style^=font-size][style*="8px"] {
	font-size: .57rem !important;
}

#content [style^=font-size][style*="9px"] {
	font-size: .64rem !important;
}

#content [style^=font-size][style*="10px"] {
	font-size: .71rem !important;
}

#content [style^=font-size][style*="11px"] {
	font-size: .78rem !important;
}

#content [style^=font-size][style*="12px"] {
	font-size: .87rem !important;
}

#content [style^=font-size][style*="14px"] {
	font-size: 1rem !important;
}

#content [style^=font-size][style*="16px"] {
	font-size: 1.14rem !important;
}

#content [style^=font-size][style*="18px"] {
	font-size: 1.28rem !important;
}

#content [style^=font-size][style*="20px"] {
	font-size: 1.43rem !important;
}

#content [style^=font-size][style*="22px"] {
	font-size: clamp(1.41rem, 1.3rem + 0.4vw, 1.57rem) !important;
}

#content [style^=font-size][style*="24px"] {
	font-size: clamp(1.54rem, 1.42rem + 0.45vw, 1.71rem) !important;
}

#content [style^=font-size][style*="26px"] {
	font-size: clamp(1.67rem, 1.55rem + 0.5vw, 1.85rem) !important;
}

#content [style^=font-size][style*="28px"] {
	font-size: clamp(1.8rem, 1.67rem + 0.55vw, 2rem) !important;
}

#content [style^=font-size][style*="36px"] {
	font-size: clamp(2.31rem, 2.1rem + 0.8vw, 2.57rem) !important;
}

#content [style^=font-size][style*="48px"] {
	font-size: clamp(3.09rem, 2.8rem + 1vw, 3.43rem) !important;
}

#content [style^=font-size][style*="72px"] {
	font-size: clamp(4.63rem, 4rem + 1.8vw, 5.14rem) !important;
}

/* #region ----------------------------------- contact-us --------------------------------------- */

.background-area {
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 221px, #d10513 221px, #d10513 223px, rgba(255, 255, 255, 0) 223px);
}

#contact-us {
	padding-bottom: clamp(40px, 8vw, 80px);
}

@media (min-width: 1200px) {

	#contact-us,
	#push-tabs>.row {
		max-width: 1440px;
		width: 100% !important;
	}
}

@media (min-width: 992px) {
	#contact-us {
		font-size: clamp(1rem, 1vw, 1.0625rem);
	}
}

#contact-box {
	position: relative;
	background: #282828 center / cover no-repeat;
	padding: clamp(50px, 5vw, 80px) clamp(30px, 3vw, 50px) clamp(30px, 3vw, 50px) clamp(30px, 3vw, 50px);
}

#contact-box,
#contact-box * {
	color: #ffffff;
}

#contact-us a {
	position: relative;
	color: #ffffff;
	background-color: #0962b6;
	display: inline-block;
	padding: 8px 30px 8px 10px;
	font-weight: 600;
	margin-top: 15px;
	text-decoration: none;
	font-size: clamp(1rem, 1vw, 1.0625rem);
}

#contact-us a::before,
.button-style a::before {
	position: absolute;
	content: "\00BB";
	top: 50%;
	right: 10px;
	transform: translateY(-60%);
}

#contact-us a:is(:hover, :focus) {
	color: #2d2d2d;
	background-color: #ffffff;
}

/* #endregion -------------------------------- contact-us --------------------------------------- */

/* ------------------------------------------- booking ------------------------------------------ */

#booking,
#ratgeber {
	padding: clamp(60px, 8vw, 80px) 0;
	background-color: #0962b6;
	color: #ffffff;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
}

#booking :is(h1, h2, h3, h4, h5, h6) {
	color: #ffffff;
	font-size: clamp(1.875rem, 4vw, 2.25rem);
	margin-bottom: 30px;
}

.button-style a {
	display: inline-block;
	color: #ffffff;
	position: relative;
	background: transparent;
	border: 2px solid #ffffff;
	padding: 14px 30px 14px 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	margin-top: clamp(20px, 3vw, 30px);
}

#booking a+a {
	margin-left: 30px;
}

.button-style a:is(:hover, :focus) {
	color: #2d2d2d !important;
	background-color: #ffffff;
}

#ratgeber,
#ratgeber a,
#ratgeber h2 {
	color: #ffffff;
}

/* #region ------------------------------------ push-tabs --------------------------------------- */

#push-tabs {
	padding-bottom: clamp(60px, 8vw, 80px);
	background: linear-gradient(to top, rgba(255, 255, 255, 0) 210px, #d10513 210px, #d10513 212px, rgba(255, 255, 255, 0) 212px);
}

#push-tabs>.row:first-of-type {
	padding-top: clamp(40px, 8vw, 100px);
	padding-bottom: clamp(40px, 5vw, 80px);
}

#push-tabs>.row:first-of-type :is(h1, h2, h3, h4, h5, h6),
.push-box-heading {
	color: #2d2d2d;
}

.push-box-heading {
	font-size: clamp(1.4375rem, 3vw, 1.625rem);
}

#push-tabs .push-box-back .h6 {
	font-size: clamp(1.375rem, 3vw, 1.625rem);
}

@media (max-width: 767px) {
	#push-tabs>.row:first-of-type :is(h1, h2, h3, h4, h5, h6) {
		margin-bottom: 0;
	}
}

#push-tabs>.row:not(:first-of-type) {
	row-gap: 40px;
}

#push-tabs .push-box {
	overflow: hidden;
	position: relative;
	background: #ffffff;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}

#push-tabs .push-box::before {
	content: "+";
	position: absolute;
	pointer-events: none;
	bottom: 28px;
	right: 20px;
	font-size: 25px;
	color: #d10513;
	line-height: 0;
	z-index: 1;
	transition: transform 200ms linear;
}

#push-tabs .push-box:is(:hover, :focus-within)::before {
	color: #ffffff;
	transform: rotate(45deg);
}

#push-tabs .push-box-front .push-box-heading {
	margin: 0;
	padding: 33px 30px;
}

#push-tabs .push-box-front img {
	display: block;
	width: 100%;
	height: 252px;
	object-fit: cover;
}

#push-tabs .push-box-back {
	background: rgba(9, 98, 182, 0.9);
	position: absolute;
	top: 25%;
	right: 0;
	bottom: 0;
	left: 0;
	overflow-y: scroll;
	padding: 40px 30px;
	opacity: 0;
	transition:
		top 300ms linear,
		opacity 300ms linear;
}

#push-tabs .push-box:is(:hover, :focus-within) .push-box-back {
	top: 0;
	opacity: 1;
}

#push-tabs .push-box-back,
#push-tabs .push-box-back * {
	color: #ffffff;
}

#push-tabs .push-box-back .template-page .row {
	width: auto !important;
}

/* #endregion --------------------------------- push-tabs2 --------------------------------------- */

/* --------------------------------------------- footer ----------------------------------------- */

#contact a,
#contact a:is(:hover, :focus) {
	color: #ffffff;
}

#contact {
	background-color: #0962b6;
	color: #ffffff;
	padding: clamp(15px, 4vw, 50px) 0;
	border-top: 4px solid #d10513;
}

@media (max-width: 767px) {
	#contact {
		padding-top: 30px;
		padding-bottom: 15px;
	}

	#contact .row>*:nth-child(1)+* {
		margin-top: 15px;
	}
}

.contactTab {
	font-size: 1rem;
}

.contactTab .tabHeadline {
	margin-bottom: 20px;
	font-size: clamp(1.25rem, 3vw, 1.5625rem);
	color: #ffffff;
}

.contactTab :is(b, strong) {
	font-size: clamp(1.125rem, 3vw, 1.25rem);
}

.contactTab a {
	text-decoration: underline;
}

.contactTab ul li {
	list-style-position: inside;
}

.contactTab ul li+li {
	padding-top: 18px;
}

.contactTab ul li p {
	display: inline;
}

.contactTab ul li a {
	text-decoration: none;
}

.contactTab ul li a:is(:hover, :focus) {
	text-decoration: underline;
}

#footer {
	background-color: #0962b6;
	font-size: 0.9375rem;
}

#footer>.row {
	padding-top: 15px;
	padding-bottom: 15px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

/* ------------------------------------------- innerfooter -------------------------------------- */

#innerfooter a {
	color: #ffffff;
	text-decoration: none;
	display: inline-block;
	padding: 4px 8px;
	border: 2px solid #0962b6;
}

#innerfooter a:is(:hover, :focus) {
	border-color: #ffffff;
}

#innerfooter ul {
	padding: 0;
}

@media (min-width: 500px) {
	#innerfooter li {
		display: inline-block;
	}

	#innerfooter li+li {
		margin-left: clamp(10px, 2vw, 20px);
	}
}

/* ------------------------------------------ vernetzt ------------------------------------------ */

#vernetzt {
	gap: 14px;
	text-align: right;
	font-size: 0.9375rem;
	color: #ffffff;
	line-height: 1.4;
	font-weight: 400;
	text-decoration: none;
}

@media (max-width: 991px) {
	#vernetzt {
		margin: 20px 0;
	}
}

#vernetzt span span {
	display: block;
}

/* ------------------------------------------ Button Styles aus altem bootstrap_core.min.css ------------------------------------------ */

.btn {
	display: inline-block;
	padding: 6px 12px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42857143;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
	text-decoration: none !important;
}

.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus {
	outline: thin dotted;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}

.btn.focus,
.btn:focus,
.btn:hover {
	color: #333;
	text-decoration: none;
}

.btn.active,
.btn:active {
	background-image: none;
	outline: 0;
	-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn.disabled,
.btn[disabled] {
	cursor: not-allowed;
	-webkit-box-shadow: none;
	box-shadow: none;
	opacity: 0.65;
}

a.btn.disabled {
	pointer-events: none;
}

.btn-default {
	color: #333;
	background-color: #fff;
	border-color: #ccc;
}

.btn-default.focus,
.btn-default:focus {
	color: #333;
	background-color: #e6e6e6;
	border-color: #8c8c8c;
}

.btn-default:hover {
	color: #333;
	background-color: #e6e6e6;
	border-color: #adadad;
}

.btn-default.active,
.btn-default:active {
	color: #333;
	background-color: #e6e6e6;
	border-color: #adadad;
}

.btn-default.active.focus,
.btn-default.active:focus,
.btn-default.active:hover,
.btn-default:active.focus,
.btn-default:active:focus,
.btn-default:active:hover {
	color: #333;
	background-color: #d4d4d4;
	border-color: #8c8c8c;
}

.btn-default.active,
.btn-default:active {
	background-image: none;
}

.btn-default.disabled.focus,
.btn-default.disabled:focus,
.btn-default.disabled:hover,
.btn-default[disabled].focus,
.btn-default[disabled]:focus,
.btn-default[disabled]:hover {
	background-color: #fff;
	border-color: #ccc;
}

.btn-primary {
	color: #fff;
	background-color: #337ab7;
	border-color: #2e6da4;
}

.btn-primary.focus,
.btn-primary:focus {
	color: #fff;
	background-color: #286090;
	border-color: #122b40;
}

.btn-primary:hover {
	color: #fff;
	background-color: #286090;
	border-color: #204d74;
}

.btn-primary.active,
.btn-primary:active {
	color: #fff;
	background-color: #286090;
	border-color: #204d74;
}

.btn-primary.active.focus,
.btn-primary.active:focus,
.btn-primary.active:hover,
.btn-primary:active.focus,
.btn-primary:active:focus,
.btn-primary:active:hover {
	color: #fff;
	background-color: #204d74;
	border-color: #122b40;
}

.btn-primary.active,
.btn-primary:active {
	background-image: none;
}

.btn-primary.disabled.focus,
.btn-primary.disabled:focus,
.btn-primary.disabled:hover,
.btn-primary[disabled].focus,
.btn-primary[disabled]:focus,
.btn-primary[disabled]:hover {
	background-color: #337ab7;
	border-color: #2e6da4;
}

.btn-success {
	color: #fff;
	background-color: #5cb85c;
	border-color: #4cae4c;
}

.btn-success.focus,
.btn-success:focus {
	color: #fff;
	background-color: #449d44;
	border-color: #255625;
}

.btn-success:hover {
	color: #fff;
	background-color: #449d44;
	border-color: #398439;
}

.btn-success.active,
.btn-success:active {
	color: #fff;
	background-color: #449d44;
	border-color: #398439;
}

.btn-success.active.focus,
.btn-success.active:focus,
.btn-success.active:hover,
.btn-success:active.focus,
.btn-success:active:focus,
.btn-success:active:hover {
	color: #fff;
	background-color: #398439;
	border-color: #255625;
}

.btn-success.active,
.btn-success:active {
	background-image: none;
}

.btn-success.disabled.focus,
.btn-success.disabled:focus,
.btn-success.disabled:hover,
.btn-success[disabled].focus,
.btn-success[disabled]:focus,
.btn-success[disabled]:hover {
	background-color: #5cb85c;
	border-color: #4cae4c;
}

.btn-info {
	color: #fff;
	background-color: #5bc0de;
	border-color: #46b8da;
}

.btn-info.focus,
.btn-info:focus {
	color: #fff;
	background-color: #31b0d5;
	border-color: #1b6d85;
}

.btn-info:hover {
	color: #fff;
	background-color: #31b0d5;
	border-color: #269abc;
}

.btn-info.active,
.btn-info:active {
	color: #fff;
	background-color: #31b0d5;
	border-color: #269abc;
}

.btn-info.active.focus,
.btn-info.active:focus,
.btn-info.active:hover,
.btn-info:active.focus,
.btn-info:active:focus,
.btn-info:active:hover {
	color: #fff;
	background-color: #269abc;
	border-color: #1b6d85;
}

.btn-info.active,
.btn-info:active {
	background-image: none;
}

.btn-info.disabled.focus,
.btn-info.disabled:focus,
.btn-info.disabled:hover,
.btn-info[disabled].focus,
.btn-info[disabled]:focus,
.btn-info[disabled]:hover {
	background-color: #5bc0de;
	border-color: #46b8da;
}

.btn-warning {
	color: #fff;
	background-color: #f0ad4e;
	border-color: #eea236;
}

.btn-warning.focus,
.btn-warning:focus {
	color: #fff;
	background-color: #ec971f;
	border-color: #985f0d;
}

.btn-warning:hover {
	color: #fff;
	background-color: #ec971f;
	border-color: #d58512;
}

.btn-warning.active,
.btn-warning:active {
	color: #fff;
	background-color: #ec971f;
	border-color: #d58512;
}

.btn-warning.active.focus,
.btn-warning.active:focus,
.btn-warning.active:hover,
.btn-warning:active.focus,
.btn-warning:active:focus,
.btn-warning:active:hover {
	color: #fff;
	background-color: #d58512;
	border-color: #985f0d;
}

.btn-warning.active,
.btn-warning:active {
	background-image: none;
}

.btn-warning.disabled.focus,
.btn-warning.disabled:focus,
.btn-warning.disabled:hover,
.btn-warning[disabled].focus,
.btn-warning[disabled]:focus,
.btn-warning[disabled]:hover {
	background-color: #f0ad4e;
	border-color: #eea236;
}

.btn-danger {
	color: #fff;
	background-color: #d9534f;
	border-color: #d43f3a;
}

.btn-danger.focus,
.btn-danger:focus {
	color: #fff;
	background-color: #c9302c;
	border-color: #761c19;
}

.btn-danger:hover {
	color: #fff;
	background-color: #c9302c;
	border-color: #ac2925;
}

.btn-danger.active,
.btn-danger:active {
	color: #fff;
	background-color: #c9302c;
	border-color: #ac2925;
}

.btn-danger.active.focus,
.btn-danger.active:focus,
.btn-danger.active:hover,
.btn-danger:active.focus,
.btn-danger:active:focus,
.btn-danger:active:hover {
	color: #fff;
	background-color: #ac2925;
	border-color: #761c19;
}

.btn-danger.active,
.btn-danger:active {
	background-image: none;
}

.btn-danger.disabled.focus,
.btn-danger.disabled:focus,
.btn-danger.disabled:hover,
.btn-danger[disabled].focus,
.btn-danger[disabled]:focus,
.btn-danger[disabled]:hover {
	background-color: #d9534f;
	border-color: #d43f3a;
}

.btn-link {
	font-weight: 400;
	color: #337ab7;
	border-radius: 0;
}

.btn-link,
.btn-link.active,
.btn-link:active,
.btn-link[disabled] {
	background-color: transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.btn-link,
.btn-link:active,
.btn-link:focus,
.btn-link:hover {
	border-color: transparent;
}

.btn-link:focus,
.btn-link:hover {
	color: #23527c;
	text-decoration: underline;
	background-color: transparent;
}

.btn-link[disabled]:focus,
.btn-link[disabled]:hover {
	color: #777;
	text-decoration: none;
}

.btn-group-lg>.btn,
.btn-lg {
	padding: 10px 16px;
	font-size: 18px;
	line-height: 1.3333333;
	border-radius: 6px;
}

.btn-group-sm>.btn,
.btn-sm {
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}

.btn-group-xs>.btn,
.btn-xs {
	padding: 1px 5px;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 3px;
}

.btn-block {
	display: block;
	width: 100%;
}

.btn-block+.btn-block {
	margin-top: 5px;
}