/* fira-sans-300 - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 300;
  src: url('fira-sans-v11-latin-300.eot'); 
  src: local(''),
       url('fira-sans-v11-latin-300.eot?#iefix') format('embedded-opentype'), 
       url('fira-sans-v11-latin-300.woff2') format('woff2'), 
       url('fira-sans-v11-latin-300.woff') format('woff'), 
       url('fira-sans-v11-latin-300.ttf') format('truetype'), 
       url('fira-sans-v11-latin-300.svg#FiraSans') format('svg');
}

/* fira-sans-regular - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fira-sans-v11-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fira-sans-v11-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fira-sans-v11-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fira-sans-v11-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fira-sans-v11-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fira-sans-v11-latin-regular.svg#FiraSans') format('svg'); /* Legacy iOS */
}

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


* {outline: none; font-family: "Fira Sans", sans-serif; font-size: 18px; box-sizing: border-box;}

html, body {padding: 0; margin:0; }
body {}
body {overflow-y: scroll; }
nav, header, body, footer {width: 100%; }
section {width: 100%; max-width: 1100px; padding: 0 40px;  margin: 0 auto; position: relative;}

div.wrap { max-width: 1280px; margin: 0 auto; box-shadow: 0px 0px 23px -7px rgba(0,0,0,0.59); position: relative;}


#logo {width: 118px;  }
#footerlogo1 {width: 118px;  }
#footerlogo2 {width: 118px;  }

.header-circle {width: 100%; z-index: 200; position: absolute; top: 0; left: 0; ;}
.header-img {width: 100%; z-index: 100; position: absolute; top: 0; left: 0; ;}


footer {display: block; width: 100%;}
footer > div {display: table; width: 100%; max-width: 1100px; margin: 0 auto; padding: 0 10px; box-sizing: border-box;}
footer > div > div {display: table-cell; vertical-align: top;}

main p{ margin-top: 0; margin-bottom: 0; padding-bottom: 20px; }


@media screen and (max-width: 1100px) {
	#logo {width: 80px; padding-top: 10px; }
}


nav {padding-top: 40px; padding-bottom: 40px; background-color: #fff;}
@media screen and (max-width: 1000px) { nav { padding-top: 5px; padding-bottom: 15px; } }

header { position: relative;   background-color: #999999;


background: 
linear-gradient(0deg, 
rgba(204,204,204,1) 5%, 
rgba(187,187,187,1) 5%, 
rgba(187,187,187,1) 10%, 
rgba(153,153,153,1) 10%, 
rgba(153,153,153,1) 90%, 
rgba(187,187,187,1) 90%, 
rgba(187,187,187,1) 95%, 
rgba(204,204,204,1) 95%);
}


header.image { position: relative; background: none;  background-color: #999999;


}
/* */
footer { background-color: #ededed;} /*  */
.btn {padding:  8px 20px; background: #999999; color: #fff; border-radius: 5px; cursor: pointer; display: inline-block;}
.btn:hover { background: #c7a101; color: #fff;}
article {width 100%;}

#searchbtn {
	position: absolute;
	top: 13px; right: 20px;	
}
#navbtn {
	display: none;
}
@media screen and (max-width: 1000px) {
	#navbtn {
		position: absolute;
		top: 32px; right: 34px;	
		display: initial;
	}
	#searchbtn {
		position: absolute;
		top: 13px; right: 80px;	
	}	
}


header p {margin: 0; padding: 20px 0; color: #fff; font-size: 14px; text-align: center;}


@media screen and (max-width: 1000px) {
	#mainnav {display: none;}
	#mainnav.shown {display: block;}
	nav ul, nav li {
		list-style: none;
	}
	#mainnav {padding-left: 0;}
	#mainnav a {text-decoration: none; font-weight: 600; color: #515054; display: block; padding: 5px 10px; width: 100%; border-bottom: 1px solid #ddd; }
	#mainnav a:hover { background-color: #999999; color: #fff; }
}

@media screen and (min-width: 1000px) {

	 nav > section > ul {
		display: table;
		margin-left: 40px;
		position: absolute;
		top: 0; right: 0px;
		z-index: 1000;
	}
	 nav > section >  ul > li {
		display: table-cell;
		vertical-align: top;
		padding-right: 30px;
		



		text-decoration: none;
		
		
		}
	
		
	#mainnav {margin-top: 50px;}		
	 nav > section >  ul > li  ul{ display: none; }
	 nav > section >  ul > li > a { color: #1a1a1a; text-decoration: none; 	font-size: 16px; padding-bottom: 20px; transition: color 200ms; 	font-family: "Fira Sans", sans-serif; font-weight: 400; padding-top: 15px; border-top: 4px solid #fff; }
	 nav > section >  ul > li:last-of-type  { padding-right: 15px;}
	 nav > section >  ul > li > a:hover { color: #999999; transition: color 200ms; border-top: 4px solid #999999; }
	 nav > section >  ul > li.current > a { color: #999999; }
	 nav > section >  ul > li  ul > li a { line-height: 140%; border-top: 0px solid #fff; color: #000;}
	 nav > section >  ul > li  ul > li a:hover {color: #cb181b; }
	 .activenav a {color: #333; text-decoration: none; padding-bottom: 5px; border-bottom: 2px solid #005aa1;}


	 nav > section > ul > li:hover > ul.main_subnav {
		list-style: none;
		display: block;
		position: absolute;
		margin-top: 10px;
		padding-top: 0px;
		padding-left: 0;
		margin-left: -20px;

			background-color: #fff;

	}
	 nav > section > ul > li:hover > ul.main_subnav li {
		text-align: left;
		/*background-color: #e5e5e5; */
		
		border-bottom: 1px solid #ccc;
		
	}
	 nav > section > ul > li:hover > ul.main_subnav li a {
		border-bottom: 0;
		padding-left: 20px;
		padding-right: 20px;
		padding-top: 10px;
		padding-bottom: 10px;
		display: block;
		color: #000; text-decoration: none; 	font-size: 22px;
			text-transform: initial;
			font-size: 16px;
			min-width: 120px;
			z-index: 100;
			white-space: nowrap;
	}
	 nav > section > ul > li:hover > ul.main_subnav li:hover {
		background-color: #f2f2f2;
	}
 nav > section > ul > li:hover > ul.main_subnav li:hover  a{
		color: #000;
	}	
}

footer {padding-top: 50px; padding-bottom: 100px;}
footer section > ul {
	list-style: none;
	display: table;
	padding-left: 0;
	float: left;
	margin-top: 0;
	width: 100%;
}
footer section {padding-top: 30px;}
footer section > ul > li {
	display: table-cell;
	padding-right: 20px;
}
li.fnav { padding-right:20px;}
footer section > ul > li > a {
		color:#1a1a1a;
		transition: color 200ms;
	text-transform: initial;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	padding-bottom: 20px;
	display: block;
	font-family: "Fira Sans", sans-serif;
white-space: nowrap; 
}
footer section > ul ul {
	display: block;
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}
footer section > ul ul li {
	display: block;
	list-style: none;
padding-left: 0;
	margin-left: 0;	
}
footer section > ul ul li:last-of-type {
		padding-right: 0;
}
footer section > ul ul li a{
	color: #1a1a1a;
	transition: color 200ms;
	text-transform: initial;
	font-size: 15px;
	line-height: 28px;
	text-decoration: none;
	white-space: nowrap; 
}
footer section > ul ul li a:hover{
	color: #8d044e;
	transition: color 200ms;
}
footer section > ul > li > a:hover{
	color: #8d044e;
	transition: color 200ms;
}
#copy {
	float: left;
	line-height: 28px;
}
#copy, #copy * {
	font-size: 16px;
	color: rgba(255,255,255,0.8);
	transition: color 200ms;
	text-decoration: none;
}
#copy a:hover {
	color: rgba(255,255,255,1);
	transition: color 200ms;
}
#copy u {font-size: 28px; color: rgba(255,255,255,1);  font-family: "Fira Sans", sans-serif; }

#social {display: table-cell; vertical-align: top;}
#social a {color: #000; font-size: 14px;}
#social a:hover {	color: #8d044e; font-size: 14px;}
#dhv {display: table-cell;  vertical-align: top; text-align: right;}
#lastrow {display: table; padding-top: 40px; width: 100%; }


@media screen and (max-width: 1000px) { 
	footer section > ul { display: none; }
	#lastrow {padding-top: 0;}
	footer section {padding-top: 0;}
	/* footer br {display: none;} */
	
}
@media screen and (max-width: 600px) { 
	footer div { display: block ! important; text-align: center ! important; }
	#dhv {padding-left: 0;}
	footer section {padding: 20px 0;}
	#social {padding: 40px; padding-bottom: 80px;}
	
}
@media screen and (max-width: 1130px) { 
	#copy {
		float: right;
		display: block;
		width: 100%;
		line-height: 150%;
		text-align: center;
	}
}


main > section {padding-top: 25px; padding-bottom: 25px;}
main {line-height: 29px; padding-top: 50px; padding-bottom: 50px;}
main p, main li {font-weight: 300; color: #515054; }
main li {break-inside: avoid;}






div.icons { text-align: center; }
div.icons > div {background-color: #999999; border-radius: 50%; text-align: center; padding: 20px; display: inline-block; width: 100px; height: 100px;}
div.icons > div img { width: 100%; }


header h1 { font-size: 45px; color: #fff; font-weight: 300; text-align: center;  max-width: 1000px; margin: 0 auto; z-index: 300; display: block; position: relative; padding-top: 40%;}
header p { font-size: 22px; color: #fff; font-weight: 400; text-align: center; padding-left: 40px; padding-right: 40px; max-width: 900px; margin: 0 auto; z-index: 300; display: block;  position: relative; padding-bottom: 40px;}

main > section {display: table; width: 100%; margin-top: 0; margin-bottom: 0;}
main > section > article {display: table-cell; vertical-align: top; padding-right: 60px;}
main > section > aside {display: table-cell; vertical-align: top; width: 400px;  background-color: #eee; padding: 20px;}

main > section > h2 {font-size: 40px; line-height: 45px; font-weight: 300; color: #8d044e; margin-top: 0;}



@media screen and (max-width: 1180px) { 
	header section {padding: 0;}
	main img { max-width: 100%; }
	footer > div {padding: 0 40px;}
	
}

hr {border: none; color: #8d044e; background-color: #8d044e; height: 1px; width: 100%; box-sizing: content-box; margin: 55px auto; max-width: 1020px;  }
@media screen and (max-width: 900px) {
	hr { margin: 0 auto;  }
}
main > section img {max-width: 100%;}


@media screen and (max-width: 600px) { 
	header h1 {font-size: 36px; padding-left: 40px;  padding-right: 40px;}
	section {padding-left: 20px; padding-right: 20px;}
}



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

	main > section {padding-top: 0px; padding-bottom: 50px;}
}



main h2 {font-size: 36px; color: #8d044e; font-weight: 300; line-height: 120%;  }
main h3 {font-size: 24px; color: #8d044e; font-weight: 300; line-height: 120%;  }
main a { color: #8d044e; font-weight: 500; text-decoration: none; }
main a:hover { color: #999999;   }
a.arrow { padding-top: 20px; display:inline-block;}
a.arrow::before {
    content: '\1433';
    padding-right: 0.5em;
	transition: padding 200ms;
}
a.arrow:hover::before {
	padding-right: 1em;
	transition: padding 200ms;
}

a img {

	transition: opacity 200ms;
}
a:hover img {
	opacity: 0.8;
	transition: opacity 200ms;
}

.copyright {font-size: 12px; color: rgba(0,0,0,0.3); display: block;}

@media screen and (min-width: 900px) { 
	.bild-text h2 {margin-top: 0px; }
	.bild-text div { display: table-cell; width: 50%; vertical-align: top; }
	.bild-text .bild img { max-width: 100%;   }
	.bild-text .bild  {  padding-right: 10px; } 
	.bild-text .text  { padding-left: 20px; }

	.text-dann-bild .bild  {  padding-left: 20px ! important; } 
	.text-dann-bild .bild-text .text  { padding-right: 10px ! important; }

}


.text-kasten  img {width: 100%;}
.text-kasten  a {display: inline-block; }
.text-kasten .kasten a:hover {color: #fff; }
.text-kasten .kasten  { background-color: #8d044e; padding: 10px; color: #fff; margin-top: 20px;}
.text-kasten .kasten p  { padding: 10px; color: #fff; padding-top: 0; padding-bottom: 0;}
.text-kasten .kasten li  {   color: #fff;}
.text-kasten h3 {font-size: 24px; color: #fff; font-weight: 400; padding: 10px; margin: 0; margin-top: 10px; }
.text-kasten img {padding-top: 50px;}
@media screen and (min-width: 900px) { 
	.text-kasten {display: block;}
	.text-kasten > div {display: table;}
	.text-kasten h2 {margin-top: 10px; text-align: center; }
	.text-kasten > div > div { display: table-cell; width: 50%; vertical-align: top; }
	.text-kasten .text  { padding-right: 20px;}
}



.kasten-text img {padding-top: 50px; width: 100%;}
.kasten-text a {display: block; width: 100%;}
.kasten-text .kasten  { background-color: #8d044e; padding: 10px; color: #fff; margin-top: 20px;}
.kasten-text .kasten p  {  padding: 10px; color: #fff; padding-top: 0; padding-bottom: 0;}
.kasten-text .kasten li  {  color: #fff;}
.kasten-text h3 {font-size: 24px; color: #fff; font-weight: 400; padding: 10px; margin: 0; margin-top: 10px; }
@media screen and (min-width: 900px) { 
	.kasten-text {display: block;}
	.kasten-text > div {display: table;}
	.kasten-text h2 {margin-top: 10px; text-align: center; }
	.kasten-text > div > div { display: table-cell; width: 50%; vertical-align: top; }
	.kasten-text .text  { padding-left: 20px;}
}




.zitat span {color: #8d044e; font-weight: 300; line-height: 120%; display: block; margin: 0 auto; max-width: 800px; text-align: center; font-style: italic; font-size: 24px; }

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

	.zitat span {font-size: 30px; color: #8d044e; font-weight: 300; line-height: 120%; display: block; margin: 0 auto; max-width: 800px; text-align: center; font-style: italic; padding-top: 30px; padding-bottom: 30px; }
}

.redbutton { background-color: #8d044e; color: #fff; display: inline-block; padding: 5px 20px; transition: padding 200ms; border: 0; appearance: none; cursor: pointer;}
.redbutton:hover { background-color: #e6007e; padding: 5px 30px; transition: padding 200ms; color: #fff;}

main .button { background-color: #8d044e; color: #fff; display: inline-block; padding: 5px 20px; transition: padding 200ms; border: 0; appearance: none; cursor: pointer;}
main .button:hover { background-color: #e6007e; padding: 5px 30px; transition: padding 200ms; color: #fff;}
main .button::before { content: ''; padding-right: 0;}

header .button { background-color: #8d044e; color: #fff; display: inline-block; padding: 10px 20px; transition: padding 200ms; border: 0; appearance: none; cursor: pointer; text-decoration: none; font-size: 24px}
header .button:hover { background-color: #fff; padding: 10px 30px; transition: padding 200ms; color: #000;}
header .button::before { content: ''; padding-right: 0;}


.zwei-themen {background-color: #ededed; max-width: 100%; padding: 0; margin-top: 70px;  padding-bottom: 30px; }
.zwei-themen > div { max-width: 1100px; padding-left: 40px; padding-right: 40px; margin: 0 auto; }
.zwei-themen h2 {text-align: center; margin-top: 40px;}
.zwei-themen h3 {text-align: center;}
.zwei-themen p {text-align: center;}
.zwei-themen > div > div {text-align: center; padding-bottom: 60px;}

@media screen and (min-width: 900px) { 
	.zwei-themen > div {display: table; }
	.zwei-themen > div > div { display: table-cell; width: 50%; vertical-align: top; }
	.zwei-themen  div.thema { padding-left: 20px; padding-right: 20px; }
	.zwei-themen  div.thema:last-of-type { padding-right: 0; }
	.zwei-themen  div.thema:first-of-type { padding-left: 0; }
}

.text-text-bg {background-color: #ededed;padding-top: 50px; padding-bottom:50px;margin-top: 50px; margin-bottom: 50px;  }
.text-text {  display: block !important;  }
.text-text > div { column-count: 1; column-gap: 40px; }
.text-text > div > h2 { margin-top: 0;}
.text-text  p { break-inside: avoid; page-break-inside: avoid; }
.breakapart  p { break-inside: auto ! important; page-break-inside: auto ! important; }
@media screen and (min-width: 900px) { 
	.text-text > div {column-count: 2;}
	.text-text > h2 {text-align: center;}
	
}
@media screen and (max-width: 900px) { 
.text-text {padding-top: 30px ! important;}
}

header h1, header p {padding-left: 20px; padding-right: 20px;}

@media screen and (max-width: 600px) { 
	.header-circle {display: none;}
	header h1 {padding-top: 65%;}
}

/*
@media screen and (min-width: 900px) { 
	section p:last-of-type {padding-bottom:0;}
}
*/

main > h2 {width: 100; max-width: 1100px; padding-left: 30px; padding-right: 30px; text-align: center; margin: 0 auto;}
form input {padding: 8px 16px;}
form input.anm { border: 1px solid #aaa; width: 100%; max-width: 500px;}
form select {padding: 8px 16px; background-color: #fff; border: 1px solid #aaa;  width: 100%; max-width: 500px;}
form button {padding: 8px 16px; background-color: #8d044e; color: #fff; border: 2px solid #8d044e; cursor: pointer;}
form button:hover { background-color: #e6007e; transition: 200ms; border-color: #e6007e;}

.headerimg {overflow: hidden; max-height: 40vw; position: relative;}
.headerimg img:first-of-type {position: relative; }
header h1 { padding-top: 0; }


@media screen and (max-width: 600px) { 
	header h1 { padding-top: 30px; }
	main > section > h2 { font-size: 28px; line-height: 36px;}
}


@media screen and (min-width: 1200px) { 
	.headerimg { max-height: 500px;}
}
.noclick {cursor: default;}
.noclick:hover {color: inherit; cursor: default;}

/* .zitat_komp span {color: #005489 ! important;} 




*/
.mainnav_komp > li > a:hover { color: #8d044e ! important; border-color: #8d044e ! important;}
.mainnav_komp > li.current > a { color: #8d044e ! important;  }

.text-kasten .kasten a {color: #fff;}

.kasten p {padding-top: 15px ! important;}

@media screen and (min-width: 100px) { 
	#suche {position: absolute; right: 15px; top: 20px; z-index: 100000;}
	#suche input { font-size: 12px;}
	#suche button { font-size: 12px;}
}

@media screen and (min-width: 1290px) { 
	#suche {position: absolute; right: 105px; top: 20px;}
	#suche input { font-size: 12px;}
	#suche button { font-size: 12px;}
}
@media screen and (max-width: 1000px) { 
	#suche {position: absolute; right: 105px; top: 40px; }
	#suche input { font-size: 12px; width: 110px;}
	#suche button { font-size: 12px;}
}
@media screen and (max-width: 400px) { 
	
	#suche input { font-size: 12px; width: 65px;}
	
}

@media screen and (max-width: 1000px) { 
	
	.hidemobile {display: none !important;}
	
}

@media screen and (min-width: 1000px) { 
	
	.mobileonly {display: none !important;}
	
}

sub, sub * {font-size: 14px; line-height: 100%;}

.homenav a {margin: 5px; font-size: 18px; padding: 5px 20px;}
.homenav a:hover { padding: 5px 20px;}

@media screen and (min-width: 1000px) { 
	
	.desktop-table {display: table;}
	.desktop-td {display: table-cell; vertical-align: top;}
	.halftd {width: 50%; padding-right: 30px;}
	
}

.checkbox {transform: scale(1.5);}
label {cursor: pointer;  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer */
  user-select: none; /* Standard */
  
  padding-right: 20px;
  min-width: 180px;
  display: inline-block;
  vertical-align: top;
  }
  .unseen {display: none;}
  
  p.error {border: 2px solid #960000; background-color: rgba(255,0,0,0.2); padding: 20px 40px; font-weight: bold; color: #000; margin-bottom: 30px;}
  p.okay {border: 2px solid #009600; background-color: rgba(0,255,0,0.2); padding: 20px 40px; font-weight: bold; color: #000; margin-bottom: 30px;}
  
  .bggreen {background-color: rgba(0,150,0,0.2) ! important; }
  
  textarea.anm {
	  width: 100%;
	  max-width: 600px;
	  height: 200px;
	  
  }
  
  
  .mainnav_komp > li.current > a {
  color: #999999 !important;
  border-color: #999999 !important;
}

main.loggedin {padding-top: 0px;}


.mobiletable {
  overflow-x: auto;
}

.mobiletable th, .mobiletable th a {font-weight: 500; color: #333; }

.mobiletable table {
  width: 100%;
  border-collapse: collapse;
}

.mobiletable th, .mobiletable td {
  padding: 8px;
  border: 1px solid #ddd;
}

.mobiletable td {
		vertical-align: top;
}

.mobiletable tr:hover td {
	background-color: rgba(141,4,78,0.05);
	
} 

@media (max-width: 1000px) {
	.mobiletable  {
		max-width: 100%;
		width: 100%;
		overflow: scroll;
	}
	
	.mobiletable > div {
		overflow-x: scroll; /* Horizontales Scrollen aktivieren, falls die Tabelle breiter ist als der Container */
		overflow-y: scroll; /* Vertikales Scrollen immer aktivieren */
		-webkit-overflow-scrolling: touch; 
		max-width: 100%;
		width: 100%;
	}
	
	
	.mobiletable  table {
		
	}
	.mobiletable  td, .mobiletable  th,  .mobiletable  th a  {
		padding: 6px 6px;
		font-size: 14px;
		line-height: 16px;
		
	}
	
.mobiletable::-webkit-scrollbar {
  width: 10px;  /* Breite des vertikalen Scrollbalkens */
  height: 10px; /* Höhe des horizontalen Scrollbalkens */
}

.mobiletable::-webkit-scrollbar-track {
  background: #f1f1f1;  /* Hintergrundfarbe des Scrollbalken-Tracks */
}

.mobiletable::-webkit-scrollbar-thumb {
  background: #888;  /* Farbe des beweglichen Teils des Scrollbalkens */
}

.mobiletable::-webkit-scrollbar-thumb:hover {
  background: #555;  /* Farbe des Scrollbalkens beim Überfahren mit der Maus */
}	
	
}	


.noexpand:hover {padding: 5px 20px ! important; }

.banner h2 { 
font-size: 36px;
color: #fff;
font-weight: 300;
line-height: 120%;
}
.banner a { color: #fff; }
.banner {
	margin: 0;
	width: 100%;
	background-color: #8d044e;
	padding: 40px;
	font-size: 18px; 
	line-height: 27px;
	color: #fff;
	
}


@media screen and (max-width: 600px) { 
	label {display: inline; 
	min-width: initial;}
	form button {margin-top: 5px;}
	.timerdone {display: block; margin-top: 5px;}

}