@font-face {
    font-family: 'NotoSans_Condensed-Bold';
    src: url('fonts/NotoSans_Condensed-Bold.ttf');
}
@font-face {
    font-family: 'NotoSans_Condensed-Regular';
    src: url('fonts/NotoSans_Condensed-Regular.ttf');
}
@font-face {
    font-family: 'NotoSans_Condensed-Italic';
    src: url('fonts/NotoSans_Condensed-Italic.ttf');
}
@font-face {
    font-family: 'NotoSans_Condensed-Light';
    src: url('fonts/NotoSans_Condensed-Light.ttf');
}

.ab-tablet {
	display: none;
}

/**/
/* - allgemeine Styles - */

/*font: Myriad Pro */
body {
	font-family: NotoSans_Condensed-Regular;	
}
h1 {
	font-family: NotoSans_Condensed-Light;
	padding: .5rem 1.5rem .7rem;
	margin-bottom: 0;
	color: white;
}
h2 {
	text-transform: uppercase;
}
p {
	margin-bottom: .8rem;
	line-height: normal;
}
strong {
	font-family: NotoSans_Condensed-Bold;
}
.relativ {
	position: relative;
}
.absolut {
	position: absolute;
}
.margin-bottom-1em {
	margin-bottom: 1em;
}
.margin-bottom-1-5em {
	margin-bottom: 1.5em;
}
.margin-bottom-2em {
	margin-bottom: 2em;
}
.margin-top-2em {
	margin-top: 2em;
}
.padding-bottom-0 {
	padding-bottom: 0;
}
.margin-bottom-0 {
	margin-bottom: 0;
}
.padding-bottom-1em {
	padding-bottom: 1em;
}
.padding-top-1em {
	padding-top: 1em;
}
.padding-bottom-2em {
	padding-bottom: 2em;
}
.padding-top-2em {
	padding-top: 2em;
}
.padding-left-2em {
	padding-left: 2em;
}
.display-table {
	display: table;
}
.flex {
	display: flex;
}
.margin-center {
	margin-left: auto;
	margin-right: auto;
}
.text-center {
	text-align: center;
}
.region-content {
	padding: 0;
}
.hellblau {
	background-color: #75B7D4;
	color: white;
}
.dunkelblau {
	background-color: #007AB0;
	color: white;
}
.dunkel {
	background: #303030;
	color: white;
}
.hellbachgrau {
	background: #C0CAE0;
	color: white;
}

/* - Ende allgemeine Styles - */
/**/

.btn-primary {
  --bs-btn-bg: #C0CAE0;
  --bs-btn-color: #007AB0;
  --bs-btn-border-color: #C0CAE0;
  --bs-btn-hover-bg: #007AB0;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: #0a58ca;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a58ca;
  --bs-btn-active-border-color: #0a53be;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #C0CAE0;
  --bs-btn-disabled-border-color: #C0CAE0;
}

a {
	color: #007AB0;
    text-decoration: none;
}
.text a,
.leaflet-container a,
.monat a {
	color: currentColor;
    display: inline;
    background-size: 0 3px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size .5s ease;
	padding: 0 .2em;
}
.dunkelblau .text a,
.dunkelblau.text a {
    background-image: linear-gradient(to right, white, white);
	border: 1px solid rgba(255,255,255,0);
	color: white;
	border-bottom: 1px solid rgba(255,255,255,.5);
}
.hellblau .text a,
.leaflet-container a,
.hellbachgrau .text a {
	color: #666;
	background-image: linear-gradient(to right, #666, #666);
}
.transparent .text a,
.monat a {
    background-image: linear-gradient(to right, #007AB0, #007AB0);
	background-color: rgba(0,122,176,.1);
	border: 1px solid rgba(0,122,176,0);	
}
.monat .datum {
	margin-bottom: .5rem;
}
.text a:hover, .text a:focus,
.leaflet-container a:hover, .leaflet-container a:focus,
.monat a:hover, .monat a:focus {
    color: currentColor;
    text-decoration: none;
    background-size: 100% 3px;
}
.logoblock {
	margin-left: 5vw;
}
.navbar-toggler {
	margin-right: 5vw;
}
#block-wbdesign-page-title {
	background: #C0CAE0;
	color: #007AB0;
}
.navbar-brand img {
	height: 34px;
}
/* - Menü - */
.dropdown-menu {
	--bs-dropdown-link-active-bg: #75B7D4;
}
.nav-link.active.dropdown-toggle,
.nav-link.active.is-active {
	background-color: #efefef;	 
}
.sprachumschalter {
	display: table;
	margin: 0 2vw 0 auto;
}
.sprachumschalter.flaggen {
	position: absolute;
	right: 0;
	min-width: 100px;
	z-index: 10;
}
.sprachumschalter.flaggen .btn,
.sprachumschalter button.btn {
	margin: 0;
}
.sprachumschalter.flaggen img,
.sprachumschalter button.btn img {
	height: 5vw;
	border-radius: 5vw;
	max-height: 25px;
}
.sprachumschalter.flaggen a.nav-link.active {
	opacity: .25;
	background: none;
}
.advanced-language-selector.sprachumschalter .nav {
	--bs-nav-link-padding-x: .2em;
	--bs-nav-link-padding-y: .2em;
}
.region-breadcrumb {
	position: relative;
}
.sprachumschalter button.btn {
	position: absolute;
	z-index: 100;
	top: 1.3vw;
	right: 4vw;
}
body:not(.path-frontpage) .sprachumschalter.contextual-region button.btn {
	top: -55px;
} 
.sprachumschalter .modal-body img {
	margin-right: 1rem;
}
.sprachumschalter .modal-body img.language-icon {
	display: none;
}
.sprachumschalter .list-group-item.active {
	background-color: #75B7D4;
}
.statement {
	top: 20vw;
	width: 100%;
}
.zitat {
	font-size: 3vw;
	width: 25vw;
	color: white;
	margin-left: 5vw;
}
.teasercontainer {
	margin-top: 2rem;
	margin-bottom: 4rem;
	padding: 0 2rem;
}
.teaser .bild {
	background-color: #007AB0;
	display: table;
}
.teaser a img:hover {
	opacity: .7;
}
.teaser {
	margin-bottom: 2rem;
}
.slidebild {
	position: relative;
	height: 87vw;
}
.slidebild .views_slideshow_cycle_teaser_section,
.slidebild .views_slideshow_cycle_teaser_section > div {
	width: 100% !important;
	height: auto !important;
}
.startbodytext {
	padding: 2rem;
}
/**/
/* FAQ Start - */
.begriff {
	font-family: NotoSans_Condensed-Bold;
	justify-content: flex-end;
/*    padding-right: 4rem; */
	width: 40%;
	text-align: end;
}
.fachbegriff p {
	margin-bottom: 0;
}
.fachbegriff.zeile {
	padding: 1rem;
	border-bottom: 1px solid rgba(255,255,255,.3);
	flex-wrap: nowrap;
	gap: 5vw;
}
.fachbegriff.zeile:last-child {
	border-bottom: none;
}
.definition {
	width: 60%;
}
/* - FAQ Ende - */
/**/

/**/
/* - Termine-Karte - */
.terminkarte {
	flex-direction: column;
}
.terminkarte > div {
	width: 100%;
}

.flex-tabelle .view-content {
	display: flex;
	padding: 2.5rem;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
}
.flex-tabelle .bundesland {
	font-size: .8em;
	margin-bottom: 2rem;
}
.flex-tabelle .bundesland:last-child {
	margin-bottom: 0;
}
.flex-tabelle .bundesland h3 {
	color: black;
	font-size: 1.2em;
    background: rgba(255, 255, 255, .8);
    padding: 1rem;
	margin-bottom: 0;
    min-height: 4vw;
    text-align: center;
}
.flex-tabelle .bundesland > div {
	margin-top: .9em;
	text-align: center;
}
.leaflet-pane .datum a {
	margin-bottom: .2em;
    display: table;
}
.stadt {
	font-size: 1.8rem;
	font-family: NotoSans_Condensed-Bold;
}
.ortstermine .flexbox {
	gap: 2rem 6vw;
	justify-content: center;
	margin-bottom: 2rem;
	padding: 2rem;
}
/* - Termine-Karte Ende - */
/**/

/**/
/* - Webform Start - */
.webform.flexbox {
/*	gap: 5vw; */
}
.webform .bodytext {
	width: 100%;
}
/* - Webform Ende - */
/**/

/**/
/* - die Inhaltsabschnitte - */
.contextual-region.paragraph > div.contextual {
	top: 40px;
}
.container.seitenabschnitt {
	padding: 2rem;
	margin: 0 auto;
}
.flexbox {
	display: flex;
	flex-wrap: wrap;
}
.haelfte.bild * {
	height: 100%;
	width: auto;
}
.haelfte.bild .contextual-links,
.haelfte.bild .contextual-links * {
	height: initial;
	width: initial;
}
.volle-breite .text {
	padding: 4rem;
}
.nur-text .text {
	padding: 2rem 0;
}
.text p {
	text-align: justify;
}
.album .media {
	width: 25%;
}
.album .media img {
	width: 100%;
}

/* - Inhaltsabschnitte Ende - */
/**/
footer,
footer .region-footer {
	padding: 0;
}
footer p {
	margin: 0;
}
.eu-cookie-compliance-banner {
	background: rgba(0,122,176,.8);
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}
.impressumstext {
	margin-top: .5em;
}

/**/
/* - ab Tablet hochkant bis Desktop (für Inhaltsabschnitt mit Bild im Format Hochkant) - */
@media screen and (min-width: 576px) and (max-width: 991px) {
	.flexbox.Hochkant-format {
		flex-wrap: nowrap;
		gap: 2rem;
	}
	.flexbox.Hochkant-format .haelfte.bild {
		width: 35%;
	}
	.flexbox.Hochkant-format .haelfte.text {
		width: 65%;
		padding-top: 0.5rem;
		display: flex;
		align-items: center;
	}
	.bild-rechts.Hochkant-format > div:nth-child(even) {
		order: initial;
	}
}

/**/
/* ausschließlich Tablet hochkant */
/**/
@media screen and (min-width: 576px) and (max-width: 767px) {
	.statement .container {
		max-width: inherit;
		margin-left: 5vw;
	}
}

/**/
/* ab Tablet quer */
/**/
@media screen and (min-width: 768px) {
	.navbar-brand img {
		height: 45px;
	}
	.bis-tablet {
		display: none;
	}
	.ab-tablet {
		display: inherit;
	}
	.statement {
		top: 28vw;
	}
	.zitat {
		font-size: 1.3rem;
		width: 300px;
	}
	.teasercontainer {
		max-width: inherit;
	}
	.teasercontainer > div > .view-content {
		display: flex;
		gap: 1.5em;
	}
	.teaser {
		font-size: .9em;
		width: 33%;
	}
	.teaser p {
		min-height: 44px;
	}
}

/**/
/* - bis Desktop - */
/**/
@media screen and (max-width: 991px) {
	.bild-rechts > div:nth-child(even) {
		order: -1;
	}
	.container.seitenabschnitt .text {
		padding-top: 2rem;
	}
	.ortstext.text {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

/**/
/* ab Desktop */
/**/
@media screen and (min-width: 992px) {
	.navbar-brand img {
		height: 50px;
	}
	.sprachumschalter.flaggen {
		margin-right: 0;
		margin-top: 5px;
	}
	.sprachumschalter button.btn {
		top: calc(.5rem + .5vw);
		right: 1vw;
	}
	.hauptmenu {
		margin-right: 2vw;
	}
	.hauptmenu a {
		font-size: .95em;
	}
	.dropdown-item.active, .media-library-view--widget .view-header a.dropdown-item.is-active, .dropdown-item:active {
		background-color: #75B7D4;
	}
	.navbar-nav .nav-item:last-child .dropdown-menu[data-bs-popper] {
		left: -90px;
	}
	.teaser {
		font-size: 1em;
	}
	.teasercontainer {
		max-width: 960px;
	}
	.haelfte {
		width: 50%;
	}
	.slide-und-text {
		display: flex;
	}
	.haelfte.bild img {
		min-width: 100%;
	}
	.slidebild.haelfte div {
		height: 100%;
	}
	.slidebild {
		height: inherit;
		overflow: hidden;
	}
	.slidebild .views_slideshow_cycle_teaser_section {
		
	}
	.slidebild .views_slideshow_cycle_teaser_section > div {
		top: -3vw !important;
	}
	.startbodytext {
		min-height: 400px;
		display: flex;
		align-items: center;
	}
	.startbodytext p {
		font-size: 1.35vw;
		line-height: 1.65vw !important;
		margin-bottom: .8vw;
	}
	.startbodytext p:last-child {
		margin-bottom: 0;
	}
	h1 {
		padding-left: 4rem;
	}
	/* - Termine-Karte - */
/*	.terminkarte {
		flex-direction: row;
	}
	.terminkarte > div {
		width: 50%;
	}
	.flex-tabelle .view-content {
		flex-wrap:nowrap;
		flex-direction: row;
	} */
	/* - Webform - */
	.webform .bodytext {
		width: 50%;
	}
	/**/
	/* - Inhaltsabschnitte - */
	.haelfte.text {
		display: flex;
		align-items: center;
	}
	.volle-breite .text	{
		padding: 3rem 4rem;
	}
	.nur-text .text {
		padding: 2rem;
	}
	.container.seitenabschnitt .bild-links .text {
		padding-left: 4rem;
	}
	.container.seitenabschnitt .bild-rechts .text {
		padding-right: 4rem;
	}
	.bild-links .bild {
		text-align: right;
		background: linear-gradient(to right,  #007ab0 0%,#007ab0 13%,#ffffff 61%,#ffffff 100%);
		background: linear-gradient(to right,  #007ab0 0%,#007ab0 14%,#ffffff 80%,#ffffff 100%);
		background: rgba(255,255,255,.05)
	}
	.bild-rechts .bild {
		text-align: left;
		background: rgba(0,122,176,.05);
	}
	footer.mt-auto {
		margin-top: unset !important;
	}
}

/**/
/* ab Wide */
/**/
@media screen and (min-width: 1200px) {
	.navbar-brand img {
		height: 80px;
	}
	.zitat {
		font-size: 2vw;
		width: 28vw;
	}
	.teasercontainer {
		max-width: 1140px;
	}
	.startbodytext {
		min-height: 450px;
		padding: 4vw;
	}
	.startbodytext p {
		font-size: 1.30vw;
		line-height: 1.8vw;
		margin-bottom: 1vw;
	}
		h1 {
		padding-left: 6rem;
	}
	.vollbild img,
	.slidebild img {
		width: 100%;
	}
	.slidebild .views_slideshow_cycle_teaser_section > div {
		top: 0 !important;
	}
	.webform .haelfte.text {
		padding: 2rem 4rem;
	}
	/**/
	/* - Inhaltsabschnitte - */	
	.volle-breite .text	{
		padding: 3rem 6rem;
	}
	.volle-breite .text {
		font-size: 1.35vw;
	}
	.container.seitenabschnitt .text,
	.text {
		font-size: 1.3vw;
	}
	/* - Termine-Karte - */
	.terminkarte {
		flex-direction: row;
	}
	.terminkarte > div {
		width: 50%;
	}
	.flex-tabelle .view-content {
		flex-wrap:nowrap;
		flex-direction: row;
		gap: .5vw;
		padding-left: 3.5vw;
		padding-right: 3.5vw;
	}
	.flex-tabelle .bundesland {
		font-size: 14px;
		margin-bottom: 0;
	}
	.flex-tabelle .bundesland h3 {
		min-height: 72px;
		padding-left: .7vw;
		padding-right: .7vw;	
		display: flex;
		align-items: center;
		justify-content: center;
		max-width: 113px;
	}
	.flex-tabelle .bundesland > div {
		margin-top: 10px;
	}
}

/**/
/* - ab extra large - */
/**/
@media screen and (min-width: 1400px) {
	.navbar-brand img {
		height: 100px;
	}
	.hauptmenu a {
		font-size: 1em;
	}
	.startbodytext {
		min-height: 500px;
	}
	.container.seitenabschnitt .text,
	.text {
		font-size: 1.3rem;
	}
	.webform .haelfte.text {
		padding: 2rem 6rem;
	}
}