/* GOOGLE-FONT --- https://google-webfonts-helper.herokuapp.com
======================================================================================================================== */
/* heebo-regular - latin */
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 400;
  src: url('/de/css/fonts/heebo-v21-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/de/css/fonts/heebo-v21-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/de/css/fonts/heebo-v21-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/de/css/fonts/heebo-v21-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/de/css/fonts/heebo-v21-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/de/css/fonts/heebo-v21-latin-regular.svg#Heebo') format('svg'); /* Legacy iOS */
}

/* heebo-500 - latin */
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 500;
  src: url('/de/css/fonts/heebo-v21-latin-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/de/css/fonts/heebo-v21-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/de/css/fonts/heebo-v21-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('/de/css/fonts/heebo-v21-latin-500.woff') format('woff'), /* Modern Browsers */
       url('/de/css/fonts/heebo-v21-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/de/css/fonts/heebo-v21-latin-500.svg#Heebo') format('svg'); /* Legacy iOS */
}

/* heebo-700 - latin */
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 700;
  src: url('/de/css/fonts/heebo-v21-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/de/css/fonts/heebo-v21-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/de/css/fonts/heebo-v21-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/de/css/fonts/heebo-v21-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/de/css/fonts/heebo-v21-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/de/css/fonts/heebo-v21-latin-700.svg#Heebo') format('svg'); /* Legacy iOS */
}

/* heebo-800 - latin */
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 800;
  src: url('/de/css/fonts/heebo-v21-latin-800.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/de/css/fonts/heebo-v21-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/de/css/fonts/heebo-v21-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
       url('/de/css/fonts/heebo-v21-latin-800.woff') format('woff'), /* Modern Browsers */
       url('/de/css/fonts/heebo-v21-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/de/css/fonts/heebo-v21-latin-800.svg#Heebo') format('svg'); /* Legacy iOS */
}

/* noto-serif-regular - latin */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400;
  src: url('/de/css/fonts/noto-serif-v21-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/de/css/fonts/noto-serif-v21-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/de/css/fonts/noto-serif-v21-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/de/css/fonts/noto-serif-v21-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/de/css/fonts/noto-serif-v21-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/de/css/fonts/noto-serif-v21-latin-regular.svg#NotoSerif') format('svg'); /* Legacy iOS */
}

/* noto-serif-italic - latin */
@font-face {
  font-family: 'Noto Serif';
  font-style: italic;
  font-weight: 400;
  src: url('/de/css/fonts/noto-serif-v21-latin-italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/de/css/fonts/noto-serif-v21-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/de/css/fonts/noto-serif-v21-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/de/css/fonts/noto-serif-v21-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('/de/css/fonts/noto-serif-v21-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/de/css/fonts/noto-serif-v21-latin-italic.svg#NotoSerif') format('svg'); /* Legacy iOS */
}

/* noto-serif-700 - latin */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 700;
  src: url('/de/css/fonts/noto-serif-v21-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/de/css/fonts/noto-serif-v21-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/de/css/fonts/noto-serif-v21-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/de/css/fonts/noto-serif-v21-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/de/css/fonts/noto-serif-v21-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/de/css/fonts/noto-serif-v21-latin-700.svg#NotoSerif') format('svg'); /* Legacy iOS */
}

/* noto-serif-700italic - latin */
@font-face {
  font-family: 'Noto Serif';
  font-style: italic;
  font-weight: 700;
  src: url('/de/css/fonts/noto-serif-v21-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/de/css/fonts/noto-serif-v21-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/de/css/fonts/noto-serif-v21-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/de/css/fonts/noto-serif-v21-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('/de/css/fonts/noto-serif-v21-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/de/css/fonts/noto-serif-v21-latin-700italic.svg#NotoSerif') format('svg'); /* Legacy iOS */
}


* {
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
}

body {
	position: relative;
	max-width: 1290px; /* change main width here, calculate 2x+15px when grid-space is 15px (the borders) - 1260px 2x+15px is better? */
	overflow-x: hidden;
	margin: 0 auto;
	padding: 0;
	-moz-hyphens: auto; -o-hyphens: auto; hyphens: auto;
	word-wrap: break-word;
	font-family: 'Noto Serif', serif;
	font-size: 1.00em;
	line-height: 25px;
	font-weight: 400;
	color: #0f0f0f;
	background: #ffffff;
}

/* -#####################################################################################################
	Navigation
	#####################################################################################################- */

/* Outer navigation wrapper */
.navigation {
	height: 30px;
	background: #B1241B;
}

nav {
	display: table;
	-webkit-transition: 0.2s; transition: 0.8s;
}

nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

nav ul li {
	display: table-cell;
	position: relative;
	width: 1290px;  /* change main width here, calculate 2x+15px when grid-space is 15px (the borders) */
	text-align: center;
	white-space: nowrap;
}

nav ul li a {
	border-right: 1px dotted #ffffff;
	-webkit-transition: 0.2s; transition: 0.2s;
}

nav ul li a.last-child {
	border-right: none;
}

nav ul li a,
nav ul li a:visited {
	display: block;
	padding: 0 4px 0 4px;
	line-height: 30px;
	background: #B1241B;
	color: #ffffff;
	text-decoration: none;
	font-family: 'Heebo', serif;
	font-size: 0.900em;
	font-weight: 500;
	text-transform: uppercase;
}

nav ul li a:hover,
nav ul li a:visited:hover,
nav ul li a:focus {
	background: #E12E22;
	color: #ffffff;
	text-decoration: none;
}

nav ul li a:not(:only-child):after,
nav ul li a:visited:not(:only-child):after {
	padding-left: 2px;
	content: ' \25BE';
	/*content: ' ▾';*/
}

nav ul li ul li {
	width: 100%;
	display: block;
	text-align: left;
	/* white-space: normal; */
}

nav ul li ul li a {
	padding: 6px 8px 6px 8px;
	line-height: 20px;
	border-right: none;
	font-weight: 400;
	text-transform: none;
}

/* Dropdown list binds to JS toggle event */
.nav-dropdown {
	position: relative;
	display: none;
	z-index: 10;
	box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.15);
}

/* Mobile navigation */

/* Binds to JS Toggle */
.nav-mobile {
	display: none;
	position: absolute;
	top: 129px;
	right: 8px;
	background: #B1241B;
	height: 30px;
	width: 40px;
}

.nav-mobile div.nav-mobile-txt {
	position: absolute;
	right: 10px;
	top: 0;
	width: 50px;
	font-family:'Heebo', serif;
	font-size: 0.900em;
	font-weight: 500;
	color: #ffffff;
	text-transform: uppercase;
}

@media only screen and (max-width: 992px) {

	/* Hamburger nav visible on mobile only */
	.nav-mobile {
		display: block;
	}
	
	nav {
		width: 100%;
		padding: 30px 0 15px;
	}
	
	nav ul {
		display: none;
	}
	
	nav ul li {
		display: block;
		width: 100%;
		text-align: left;
	}
	
	nav ul li a {
		padding: 10px 10px 10px 10px;
		line-height: 20px;
		border-right: none;
	}
  	
	nav ul li ul li {
		display: block;
	}
	
	nav ul li ul li a {
		padding: 10px 10px 10px 30px;
	}
	
	.nav-dropdown {
		position: static;
	}
}

@media screen and (min-width: 993px) {
	.nav-list {
		display: block !important;
	}
}

/* Hamburger icon and animation */
#nav-toggle {
	position: absolute;
	left: 8px;
	top: 4px;
	cursor: pointer;
	padding: 10px 10px 10px 0px;
}

#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
	cursor: pointer;
	border-radius: 1px;
	height: 3px;
	width: 24px;
	background: #ffffff;
	position: absolute;
	display: block;
	content: '';
	transition: all 300ms ease-in-out;
}

#nav-toggle span:before {
	top: -6px;
}

#nav-toggle span:after {
	bottom: -6px;
}

#nav-toggle.active span {
	background-color: transparent;
}

#nav-toggle.active span:before, #nav-toggle.active span:after {
	top: 0;
}

#nav-toggle.active span:before {
	transform: rotate(45deg);
}

#nav-toggle.active span:after {
	transform: rotate(-45deg);
}

/* -#####################################################################################################
	Main Grid Layout
	#####################################################################################################- */

.wrapper-header, .wrapper-footer {
	width: 100%;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
}

main {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	-moz-flex-direction: row;
	-o-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border-left: 0px solid transparent;
	border-right: 0px solid transparent;
}

.vw20 {width: 20%;}
.vw25 {width: 25%;}
.vw30 {width: 30%;}
.vw33 {width: 33%;}
.vw50 {width: 50%;}
.vw55 {width: 55%;}
.vw60 {width: 60%;}
.vw80 {width: 80%;}

.vw20, .vw25, .vw25-kontakte, .vw30, .vw33, .vw50, .vw55, .vw60, .vw80, div.breadcrumb {
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
}

#count1 {
	-webkit-flex-order: 1;
	-ms-flex-order: 1;
	order: 1;
}

#count2 {
	-webkit-flex-order: 2;
	-ms-flex-order: 2;
	order: 2;
}

#count3 {
	-webkit-flex-order: 3;
	-ms-flex-order: 3;
	order: 3;
}

@media only screen and (max-width: 992px /* 698px */) {
	
	.wrapper-header, .wrapper-footer {
		border-left: 0px solid transparent;
		border-right: 0px solid transparent;
	}

	main {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		-moz-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
	}

	.vw20, .vw25, .vw30, .vw33, .vw50, .vw60, .vw80 {
		width: 100%;
		margin: 0 auto;
	}

	.vw55 {
		width: 100%;
		max-width: 680px;
		margin: 0 auto;
	}

	aside.vw25, aside.vw20 {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: -moz-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		-moz-flex-direction: row;
		-o-flex-direction: row;
		flex-direction: row;
		justify-content: center;
	}

	aside.vw25 article, aside.vw20 article, aside.vw20 section {
		flex-basis: 100%;
	}

	#count1 {
		-webkit-flex-order: 2;
		-ms-flex-order: 2;
		order: 2;
		border-top: 30px solid transparent;
	}

	#count2 {
		-webkit-flex-order: 1;
		-ms-flex-order: 1;
		order: 1;
	}

	#count3 {
		-webkit-flex-order: 3;
		-ms-flex-order: 3;
		order: 3;
		border-top: 30px solid transparent;
	}
	
}

@media only screen and (max-width: 768px) {
	
	aside.vw25, aside.vw20 {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		-moz-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
	}
}

/* -#####################################################################################################
	Main Content Layout
	#####################################################################################################- */

.inner-flex {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	-moz-flex-direction: row;
	-o-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.inner-vw2 	{width: 2%;}
.inner-vw5 	{width: 5%;}
.inner-vw30 {width: 30%;}
/* .inner-vw33 {width: 33.333%;} */
.inner-vw33 {width: 33%;}
.inner-vw47 {width: 47.500%;}
.inner-vw49 {width: 49%;}
.inner-vw65 {width: 65%;}
.inner-vw68 {width: 68%;}
.inner-vw70 {width: 70%;}

@media only screen and (max-width: 768px) {
	
	.inner-flex {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		-moz-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
	}
	
	.inner-vw2, .inner-vw5, .inner-vw30, .inner-vw33, .inner-vw47, .inner-vw49, .inner-vw65, .inner-vw68, .inner-vw70  {
		width: 100%; 
	}

	.inner-vw2, .inner-vw5 {
		padding: 15px 0 0 0;
	}
}

/* ############## Kontakte Homepage unten ############## */
.flex-kontakte {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	-moz-flex-direction: row;
	-o-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.vw25-flex-kontakte {
	width: 25%;
	padding: 0;
}

@media only screen and (max-width: 768px) {
	.vw25-flex-kontakte {
		width: 50%;
	}
}
/* ############## End: Kontakte Homepage unten ############## */

header.opener-1 {
	width: 100%;
	height: 127px;
	margin-bottom: 0px;
	overflow: hidden;
}

header.opener-1 .logo {
	display: none;
	position: absolute;
	left: 15px;
	top: 70px;
}

header.opener-1 .logo-txt {
	display: none;
	position: absolute;
	right: 15px;
	top: 67px;
}

header.opener-2 {
	width: 100%;
	height: 110px;
	margin-bottom: 2px;
	overflow: hidden;
}

@media only screen and (max-width: 992px) {
	
	header.opener-1 {
		margin-bottom: 2px;
	}
	
	header.opener-2 {
		display: none;
	}
	
	header.opener-1 .logo, header.opener-1 .logo-txt {
		display: block;
	}
}

div.breadcrumb {
	width: 100%;
	padding: 15px 0 15px 0;
	font-size: 0.900em;
	line-height: 21px;
}

div.breadcrumb a {
	color: #b1241b;
	text-decoration: none;
}

div.breadcrumb a:hover {
	text-decoration: underline;
}

aside {
	font-size: 0.900em;
	line-height: 21px;
	font-weight: 400;
}

@media only screen and (max-width: 768px) {

	aside {
		font-size: 1.000em;
		line-height: 25px;
		font-weight: 400;
	}
}

footer {
	padding: 40px 15px 40px 15px;
	text-align: center;
	color: #B5B2B0;
	font-size: 0.900em;
	line-height: 30px;
	background: #2F2D2B;
}

footer a {
	color: #bdbdbd;
	text-transform: uppercase;
	text-decoration: none;
	-moz-hyphens: none; -o-hyphens: none; hyphens: none;
	white-space: nowrap;
}

footer a:hover {
	color: #ffffff;
	text-decoration: none;
}

/* -#####################################################################################################
	Content einfaden
	#####################################################################################################- */

section article, aside article {
	opacity: 0;
	transition: opacity .4s ease-in-out;
}

.visible {
	opacity: 1;
}

/* -#####################################################################################################
	Colors
	#####################################################################################################- */

.red {
	color: #b1241b;
}

.bg-red {
	background-color: #b1241b;
}

.bg-lightred {
	background-color: #ebd4d4;
}

.bg-red-left {
	border-left: 15px solid #b1241b;
	padding-left: 10px;
}

.bg-red-headline {
	background-color: #b1241b;
	color: #ffffff;
	padding:0 10px 0 10px;
	margin:0 0 10px 0;
}

.black {
	color: #0f0f0f;
}

.bg-black {
	background: #0f0f0f;
}

.white {
	color: #ffffff;
}

.grey {
	color: #696969;
}

.bg-grey {
	background: #eeeeee;
}

.lightgrey {
	color: #a9a9a9;
}

.bg-darkgrey {
	background: #D9DAD9;
}

.yellow {
	color: #ffed00;
}

.bg-yellow {
	background: #f4f3d3;
}

.bg-green {
	background: #dfe9d0;
}

.bg-darkgreen {
	background: #c6d64e;
}

.bg-blue {
	background: #e5f3f6;
}

.darkblue {
	color: #003c6d;
}

.gold {
	color: #b49e60;
}

.violet {
	color: #514264;
}

.darkgreen {
	color: #627a45;
}

/* -#####################################################################################################
	Diverse Elements
	#####################################################################################################- */

.clear {
	clear: both;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.top {
	vertical-align: top !important;
}

.bottom {
	vertical-align: bottom !important;
}

.mw-180 {
	max-width: 180px !important;
}

.mw-250 {
	max-width: 250px !important;
}

.mw-300 {
	max-width: 250px !important;
}

.mw-400 {
	max-width: 400px !important;
}

.nowrap {
	white-space: nowrap;
}

.italic {
	font-style: italic;
}

.uppercase {
	text-transform: uppercase;
}

.larger {
	font-size: 1.050em;
	line-height: 1.5;
}

.smaller {
	font-size: 0.800em;
	line-height: 1.5;
}

.zitat {
	text-align: center;
	font-style: italic;
	font-size: 1.300em;
	line-height: 29px;
	padding: 0 10% 5px 10%;
}

.zitat::before {
	content: "\000BB";
	padding-right: 2px;
	color: #b1241b;
	font-weight: 700;
}

.zitat::after {
	content: "\000AB";
	padding-left: 2px;
	color: #b1241b;
	font-weight: 700;
}

.icon-vhst:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-vhst.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 6px 0 -12px;
}

.icon-verwaltung:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-verwaltung.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 2px 0 0;
}

.icon-gesundheit:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-gesundheit.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 0 0 -10px;
}

.icon-wandergruppe:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-wandergruppe.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 0 0 -10px;
}

.icon-unibibliothek:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-unibibliothek.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 0 0 -10px;
}

.icon-skat:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-skat.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 0 0 -10px;
}

.icon-canasta:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-canasta.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 0 0 -10px;
}

.icon-kegeln:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-kegeln.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 0 0 -10px;
}

.icon-english:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-english.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 0 0 -10px;
}

.icon-gymnastik:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-gymnastik.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 0 0 -10px;
}

.icon-singen:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-singen.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 0 0 -10px;
}

.icon-yoga:before {
	content: "";
	position: relative;
	z-index: -1;
	top: 20px;
	display: inline-block;
	background-image: url("/de/img/icon-yoga.png");
	background-repeat: no-repeat;
	background-size: 70px 70px;
	width: 70px;
	height: 70px;
	margin: -30px 0 0 -10px;
}

/* -#####################################################################################################
	Dotted lines
	#####################################################################################################- */

.bg-dotted { /* left and right */
	background: linear-gradient(#A6A6A6 25%,rgba(166,166,166,0) 0) calc(100% + 15px) top/1px 4px repeat-y,linear-gradient(#A6A6A6 25%,rgba(166,166,166,0) 0) calc(0px - 15px) top/1px 4px repeat-y;
}

.bg-dotted-verti {
	background: linear-gradient(#A6A6A6 25%,rgba(166,166,166,0) 0) 50% 0/1px 4px repeat-y;
}

.bg-dotted-horiz {
	width: 100%;
	height: 2px;
	display: block;
	padding: 25px 0 25px 0;
	background: linear-gradient(90deg,#A6A6A6 25%,rgba(166,166,166,0) 0) 0 50%/4px 1px repeat-x;
}

@media only screen and (max-width: 992px) {

	aside.vw25 .bg-dotted-horiz, aside.vw20 .bg-dotted-horiz {
		width: 2px;
		height: auto;
		display: block;
		padding: 0 15px 0 15px;
		background: linear-gradient(#A6A6A6 25%,rgba(166,166,166,0) 0) 15px 0/1px 4px repeat-y;
	}

	.bg-dotted {
		background: none;
	}
	
	aside.vw25 article .bg-dotted-horiz, aside.vw20 article .bg-dotted-horiz {
		width: 100%;
		height: 2px;
		display: block;
		padding: 25px 0 25px 0;
		background: linear-gradient(90deg,#A6A6A6 25%,rgba(166,166,166,0) 0) 0 50%/4px 1px repeat-x;
	}
}

@media only screen and (max-width: 768px) {

	aside.vw25 .bg-dotted-horiz, aside.vw20 .bg-dotted-horiz {
		width: 100%;
		height: 2px;
		display: block;
		padding: 25px 0 25px 0;
		background: linear-gradient(90deg,#A6A6A6 25%,rgba(166,166,166,0) 0) 0 50%/4px 1px repeat-x;
	}

	.bg-dotted {
		background: none;
	}

	.bg-dotted-verti {
		width: 100%;
		height: 2px;
		display: block;
		padding: 25px 0 25px 0;
		background: linear-gradient(90deg,#A6A6A6 25%,rgba(166,166,166,0) 0) 0 50%/4px 1px repeat-x;
	}
}

.bg-logo {
	background-image: url("/de/img/icon-logo-vhst-kreis-trans.png");
	background-repeat: no-repeat;
	background-size: 120px 120px;
	background-position: 95% 85%;
}

.bg-line-center {
	text-align: center;
	background: #cccccc;
	height: 1px;
	margin-top: 15px;
	margin-bottom: 10px;
}

.bg-line-center span {
	background: #ffffff;
	padding: 10px;
	position: relative;
	top: -15px;
}

a {
	color: #b1241b;
	text-decoration: none;
}

/* this order is important: link, visited, hover, active */
a:link, a:visited  {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a:active  {
	text-decoration: none;
}

a.black {
	color: #0f0f0f;
}

a.none {
	text-decoration: none;
}

a.arrow:hover, a.arrow-back:hover, a.arrow-top:hover {
	text-decoration: none;
}

a.arrow::before {
	content: "\2794";
	padding-right: 7px;
}

a.arrow-back::before {
	content: "\25C4";
	padding-right: 5px;
}

a.arrow-top::after {
	content: "\25B2";
	padding-left: 5px;
}

.pointer {
	cursor: pointer;
}

ul {
	padding: 0;
	margin: 0 0 0 28px;
}

ul.list-reverse {
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

ul.list-reverse > li {
	-moz-transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
	transform: rotate(-180deg);
}

img {
	border: none;
}

figure.full {
	margin: auto;
	margin-bottom: 25px;
}

figure.float-right {
	float: right;
	width: 45%;
	max-width: 400px;
	margin: 0 0 0 15px;
}

figure.float-right-small {
	float: right;
	width: 12%;
	max-width: 200px;
	margin: 0 0 0 15px;
}

figure.float-left {
	float: left;
	width: 45%;
	max-width: 400px;
	margin: 0 15px 0 0;
}

figure.float-left-small {
	float: left;
	width: 12%;
	max-width: 200px;
	margin: 0 15px 0 0;
}

figcaption {
	text-align: center;
	font-size: 0.900em;
	font-style: italic;
	line-height: 22px;
	color: #7b7b7b;
}

.img-round {
	border-radius: 50%;
}

.img-full, .img-full-uebersicht {
	width: 100%;
	max-width: 800px;
	margin: 0 0 0 0;
}

.img-float {
	width: 100%;
}

@media only screen and (max-width: 992px) {

	.img-full {
		width: calc(100% + 30px);
		margin: 0 0 5px -15px;
	}

	.img-full-uebersicht {
		width: 100%;
		margin: 0;
	}
}

.aside-heft-img {
	width: 100%;
	max-width: 300px;
}

@media only screen and (max-width: 992px) {
	.aside-heft-img {
		width: 50%;
		max-width: 100px;
		float: left;
		margin: 0 15px 0 0;
	}
}

@media only screen and (max-width: 768px) {
	.aside-heft-img {
		width: 30%;
		max-width: 200px;
	}
}

h1, h2, h3, h4, h5 {
	font-family: 'Heebo', serif;
}

h1 {
	/* font-size: 1.700em; */
	font-size: 2.000em;
	/* line-height: 32px; */
	line-height: 40px;
	font-weight: 800;
	padding: 0;
	margin: 0 0 15px 0;
}

@media only screen and (max-width: 768px) {

	h1 {
		font-size: 1.700em;
		line-height: 32px;
	}
}

h2 {
	font-size: 1.300em;
	line-height: 26px;
	font-weight: 600;
	padding: 0;
	margin: 0 0 2px 0;
}

h2.article {
	font-size: 1.000em;
	line-height: 25px;
	font-weight: 600;
	text-transform: uppercase;
	color: #696969;
	padding: 0;
	margin: 0 0 2px 0;
}

h2.opener {
	color: #ffffff;
	font-family: 'Heebo', serif;
	font-size: 1.600em;
	font-weight: 700;
	margin: 0;
	line-height: 20px;
}

h3.opener {
	color: #7c7c7c;
	font-family: 'Heebo', serif;
	font-size: 0.900em;
	font-weight: 700;
	margin: 0;
	letter-spacing: 0.080em;
}

h3 {
	font-size: 1.200em;
	/* line-height: 25px; */
	font-weight: 600;
	padding: 0;
	margin: 0 0 -5px 0;
}

aside h3 {
	/* line-height: 20px; */
	margin: 0 0 4px 0;
}

h3.uebersicht {
	font-family: 'Noto Serif', serif;
	font-size: 1.000em;
	line-height: 25px;
	font-weight: 700;
	padding: 0;
	margin: 0;
}

h4 {
	font-size: 1.200em;
	/* line-height: 25px; */
	font-weight: 600;
	padding: 0;
	margin: 0 0 10px 0;
}

h5 {
	font-size: 1.000em;
	line-height: 25px;
	font-weight: 600;
	padding: 0;
	margin: 0 0 0 0;
}

.initial::first-letter {
	font-family: 'Heebo', serif;
	font-size: 312%;
	font-weight: 800;
	color: #7b7b7b;
	line-height: 1;
	float: left;
	padding-right: .125em;
}

@-moz-document url-prefix() {
	.initial::first-letter {
	margin-top: .15em;
	}
}

.credits {
	clear: both;
	border-top: 1px solid #b1241b;
	padding: 20px 0 0 0;
	font-family: 'Heebo', serif;
}

.subnav-left {
	background: #F0F0F0;
	padding: 0 0 10px 0;
	font-family: 'Heebo', serif;
	font-weight: 500;
}

.subnav-left div {
	background: #B1241B;
	height: 30px;
	padding-left: 15px;
	margin-bottom: 10px;
	color: #ffffff;
	text-transform: uppercase;
	line-height: 30px;
	overflow: hidden;
}

.subnav-left div a {
	color: #ffffff;
	text-decoration: none;
	display: block;
}

.subnav-left ul li a {
	display: block;
	text-decoration: none;
	padding-right: 15px;
}

.subnav-left ul li a:hover {
	text-decoration: underline;
}

.infobox {
	padding: 15px; 
	font-family: 'Heebo', serif;
}

.gallery-pics {
	background:#eeeeee;
	padding: 15px 0 10px 0;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	-moz-flex-direction: row;
	-o-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.gallery-pics div {
	flex-basis: 140px;
	width: 140px;
	height: 140px;
	overflow: hidden;
	border: 1px solid #e9e9e9;
	margin: 10px;
	background: #ffffff;
}

.gallery-pics div img {
	object-fit: contain;
	width:100%;
	height:100%;
	padding: 8%;
}

.sticky {
	position: -webkit-sticky;
    position: -moz-sticky;
    position: -ms-sticky;
    position: -o-sticky;
	position: sticky;
	top: 0;
}

table.article-end {
	width: 100%;
}

table.article-end td:first-child {
	text-align: left;
	vertical-align: top;
}

table.article-end td:last-child {
	text-align: right;
	vertical-align: top;
	color: #7b7b7b;
}

div.article-end {
	width: 100%;
	margin-top: 1px;
}

div.article-end div:first-child {
	float: left;
}

div.article-end div:last-child {
	float: right;
	color: #7b7b7b;
	font-size: 0.900em;
}

div.article-end:after {
	content: "";
	display: table;
	clear: both;
}

div.article-end-line {
	width: 100%;
	height: 20px;
	background-color: #b1241b;
}

@media only screen and (max-width: 992px) {

	div.article-end-line {
		background-color: #eeeeee;
	}
}

/* -#####################################################################################################
	Inputs
	#####################################################################################################- */

input[type=password],
input[type=text],
select,
textarea {
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 3px;
	background: #fff;
	font-family: 'Heebo';
	font-size: inherit;
	padding: 5px;
}

button {
	font-family: 'Heebo';
	font-size: inherit;
	border: none;
	border-radius: 3px;
	padding: 10px 20px;
	background: #b1241b;
	color: #fff;
	cursor: pointer;
}

button:hover {
	background: #0f0f0f;
}

/* -#####################################################################################################
	Content Table Specials
	#####################################################################################################- */

.table-overflow {
	width: 100%;
	overflow: scroll;
	overflow: auto;
	border-right: 1px solid #2F2D2B;
}

table.besoldung {
	table-layout: fixed;
	white-space: nowrap;
	width: auto;
	min-width: 100%;
	background: #ffffff;
	border-spacing: 0;
	border-collapse: collapse;
	font-family: 'Heebo', serif;
	font-size: 1.000em;
}

table.besoldung td {
	vertical-align: top;
	padding: 10px;
	border: 1px solid #2F2D2B;
}

table.besoldung td:hover {
	background: #eeeeee;
}

table.besoldung-white {
	width: 100%;
	background: #ffffff;
	border-spacing: 0;
	border-collapse: collapse;
	font-family: 'Heebo', serif;
	font-size: 1.000em;
}

table.besoldung-white td {
	vertical-align: bottom;
	padding-left: 10px;
	padding-right: 10px;
}

@media only screen and (max-width: 768px) {
	table.besoldung {
		font-size: 0.600em;
	}
	table.besoldung td {
		padding: 5px;
	}
	table.besoldung-white {
		font-size: 0.600em;
	}
	table.besoldung-white td {
		padding-left: 5px;
		padding-right: 5px;
	}
}

table.personalbericht {
	width: 100%;
	background: #ffffff;
	border-spacing: 0;
	border-collapse: collapse;
	font-family: 'Heebo', serif;
	font-size: 1.000em;
}
table.personalbericht td {
	vertical-align: top;
	padding: 10px;
	border-bottom: 1px solid #cccccc;
}
table.personalbericht tr:hover {
	background: #eeeeee;
}
table.personalbericht tr:last-child {
	border-bottom: 5px solid #cccccc;
}
@media only screen and (max-width: 768px) {
	table.personalbericht {
		font-size: 0.600em;
	}
	table.personalbericht td {
		padding: 5px;
	}
}