main {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 100%;
}

#maincontent {
	-webkit-flex: 1 0 auto;
	-ms-flex: 1 0 auto;
	flex: 1 0 48.9795918%;
}

#content {
	border: solid #cfd3d6 1px;
	border-radius: 0.2rem;   
	margin: 0.75em 0 0 0;   
	margin: 0.75rem 0 0 0;   
	padding: 1.75em 1.25em;
	padding: 1.25rem 0.95rem 0.75rem;
	float: left;
	width: 100%;
}


/* For modern browsers */
.cf:before,
.cf:after {
	content:"";
	display:table;
}
.cf:after {
	clear:both;
}
	/* For IE 6/7 (trigger hasLayout) */
.cf {
	zoom:1;
}
.hidden { /* hide text */
	display: none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

/*************** Ueberschriften ********************/
h2,
#page-title { 
	font-family:'InfoTextWeb-Regular','Lucida Grande','Lucida Sans',sans-serif;
	font-size: 1.4rem;
	font-weight: 600;
	width:100%;
	height:auto; 
	background: transparent;
	letter-spacing: -1.25px;      
	line-height: 1.6rem;
	color:#7a003f;
	margin: 0 0 1rem 0;
}

h2:first-of-type {
	margin: 0 0 1rem 0;
}

h3, h4, h5, h6 {
	width:auto;
	height:auto; 
	font-size: 0.75rem;
	line-height: 1.25rem;
}
h3 {
	display: inline-block;
	color:#fff;
	background-color:#7a003f;
	padding:0 0.3rem;
	margin:0.5rem 0;
}
h3 a {
	color: white;
	background-color: inherit;
}
h3 a:hover,
h3 a:focus,
h3 a:active {
	color:#cfd3d6;
}
h4 {
	color:#7a003f;
	background-color:#fff;
	margin:0 0 0.3rem 0;
}
h4 a {
	color:#7a003f;
}
h4 a:hover,
h4 a:focus,
h4 a:active {
	color:#7a003f;
	background-color: white;
	border-bottom: 1px dotted #7a003f;
}
h5 {
	color:#000;
	background-color:#fff;
	margin:0 0 0.3rem 0;
}
h5 a {
	color: black;
	border-bottom: none;
}
h5 a:hover,
h5 a:focus,
h5 a:active {
	color: black;
 	background-color: white;
	border-bottom: 1px dotted black;
}
h6 {
	color:#000;
	background-color:#fff;
	font-style: italic;
	margin:0 0 0.3rem 0;
}
h6 a {
	color: black;
	border-bottom: none;
}
h6 a:hover,
h6 a:focus,
h6 a:active {
	color: black;
 	background-color: white;
	border-bottom: 1px dotted black;
}

/******************** Textabsaetze *********************/
p,
table {
   margin-bottom: 0.5rem;
}
a {
     text-decoration:none;
}
p a,
td a,
a.link,
ol li a, 
dl a {
	padding:1px 2px 0 1px;
	border-bottom: 1px dotted #7a003f;
}
p a:before,
td a:before,
a.link:before,
ol > li a:before,
dl a:before {
	font-size: 0.9rem;
	content: "\203A";
	padding: 0 0.1rem 0 0;
	color: #7a003f;
}

a.link:hover, a.link:focus, a.link:active,
p a:hover, p a:focus, p a:active,
td a:hover, td a:focus, td a:active,
ol li a:hover, ol li a focus, ol li a:active, 
em a:hover, em a:focus, em a:active,
strong a:hover, strong a:focus, strong a:active,
a:hover em, a:focus em, a:active em,
a:hover strong, a:focus strong, a:active strong,
dl a:hover, dl a focus, dl a:active  {
	color: white;
	background-color: #7A003F;
}
a.link:hover:before,
a.link:focus:before,
a.link:active:before,
p a:hover:before,
p a:focus:before,
p a:active:before,
td a:hover:before,
td a:focus:before,
td a:active:before,
ol li a:hover:before,
ol li a:focus:before,
ol li a:active:before,
dl a:hover:before,
dl a:focus:before,
dl a:active:before {
   color: white;
}

/********************* Anker ********************/
a[name] {
	border-bottom: none;
}
a[name]:hover {
	background-color: transparent;
}
a[name]:before {
	padding: 0;
	content: "";
}

/********************* Mail-Links ********************/
a.mailto:before {
	display: inline-block;
	width: 1.05rem;
	height: 0.95rem;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1rem;
	line-height: 1rem;
	font-family: 'Genericons';
	text-decoration: inherit;
	font-weight: normal;
	font-style: normal;
	vertical-align: bottom;
	content: '\f410';
	color: #7A003F;
}
a.mailto {
	padding-left: 0;
}

a.mailto:hover:before {
	content: '\f410';
	color: white;
	padding: 0;
}

/******************** Hervorhebungen ********************/
strong,b {
	color:#7a003f;
}
.color_schwarz
{
	color:#000000;
}

img {
	border: 0 solid;
}
a.kein_Linkzeichen:before {
}
a:hover:before img,
a.kein_Linkzeichen:hover:before {
   content: "";
}

a:before < img {
	content: "";
	padding: 0;
}
a[href$=jpg]:hover:before {
	content: "";
	background-color: white;
}

p.rss_link {
	padding-top: 1rem;
	margin-bottom: 0;
}
a.rss_link {
	padding: 0.25rem 0.1rem 0.15rem 0.1rem;
}
a.rss_link:before {
	content: url(../pics/rss_sw.png);
	vertical-align: top;
	padding-right: 0.25rem;
}
a.rss_link:hover:before {
	content: url(../pics/rss.png);
}

a.kein_unterstrich {
	border-bottom: none;   
}

.ego_glossary_link {
	position: relative;
	border-bottom: dotted 1px #888;
	cursor: help;
}
.ego_glossary_link:active,
.ego_glossary_link:hover,
.ego_glossary_link:focus {
	background-color: #e7e9ea;
	color: #000 !important;
}
.ego_glossary_link:before {
	position: absolute;
	left: 0;
	top: -1.25rem;
	font-size: 0.75rem;
	line-height: 0.95em;
	background-color: #999;
	border-radius: 0.2rem;
	padding: 0.2rem 0.3rem;
	white-space: nowrap;    
	content: "Erklärung im Glossar";
	display: none;
}
.ego_glossary_link:active:before,
.ego_glossary_link:hover:before,
.ego_glossary_link:focus:before {
	display: block;
}


ul {
	list-style: none;
	margin: 0;
	padding: 0 0 0 0.5rem;
	position: relative;
}
ul > li {
   padding: 0;
}
ul > li:before {
	content: "\2023"; color: #7a003f; font-size: 1rem; 
	position: absolute;
	left: 0.4rem;}

ul > li a {
	border-bottom: 1px dotted #7a003f;
}
ul > li a:before {
	content: ""; 
}
ul > li a:hover, ul > li a:focus, ul > li a:active {
	color: white;
	background-color: #7A003F;
}

ul + p,ol + p,dl + p, 
ul + h3, ul + h4, ul + h5, ul + h6 {
	margin-top: 0.6rem;
}

td {
	margin: 0px;
	padding: 2px 5px 2px 0px;
	border-bottom: 1px solid #CCC;
}

/****************** Service-Navi *******************/
#service_navi li:before,
#sekundaer_nav li:before,
.header_galerie_container li:before,
ul.level1 li:before {
	content: '';
	padding: 0;
}

#service_navi li a,
#sekundaer_nav li a,
.header_galerie_container li a,
ul.level1 li a {
	border-bottom: none;
}

/***************** Vor-Zurück-Navi *******************/
#prev_next_nav {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 100%; 
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.prev_next_nav_top {
	padding: 0 0 0.75rem 0;
}

.prev_next_nav_bottom {
	padding: 0.75rem 0 0 0;
}


#prev_next_nav a,
#prev_next_nav_counter {
	display: inline-block;
	border-radius: 0.2rem;
	padding: 0.1rem 0.5rem;
	background-color: #E7E9EA;
}
#prev_next_nav a:active,
#prev_next_nav a:hover,
#prev_next_nav a:focus {
	background-color: #7a003f;
	color: white;
}
#prev_page_button a:before,
#next_page_button a:after {
	font-size: 0.7rem;
	vertical-align: 5%;
	color: #333;
}
#prev_page_button a:before {
	content: '\25c0';
	padding: 0 0.4rem 0 0;
}
#next_page_button a:after {
	content: '\25b6';
	padding: 0 0 0 0.4rem;
}
#prev_page_button a:active:before,
#prev_page_button a:hover:before,
#prev_page_button a:focus:before,
#next_page_button a:active:after,
#next_page_button a:hover:after,
#next_page_button a:focus:after {
	color: white;
}

.prev_next_zusatz {
	margin: 0 0 0.5rem 0;
}

/**************** Ansprechpartner *****************/
#letzte_aenderung {
	width: 100%;
	margin: 0.25rem 0 0 0;
}

#letzte_aenderung p {
	display: inline-block;
	padding: 0.25rem 0 0 0.5rem;
	margin-bottom: 0;
}
#letzte_aenderung label#form_aktiv p {
	padding: 0.25rem 0;
}

#letzte_aenderung label#form_aktiv,
#letzte_aenderung p,
#letzte_aenderung a {
	color: #686a6c;
	font-size: 0.7rem;
}
#letzte_aenderung a:hover {
	color: #fff;
}

#letzte_aenderung input#form_aktiv {
	display: none;
}

#ansprechpartner_formular {
	border-radius: 0.2em;
	background-color: #F4F4F4;;
	margin: 0 0 0.5rem 0;
	max-height:0px;
	overflow:hidden;
	z-index:10;
	/*-webkit-transition: height 1s ease-in-out;  Safari */
	transition: max-height 0.3s ease-in-out;
}
#ansprechpartner_formular #form {
	padding: 0.75rem 0.75rem 0 0.75rem;
}

#letzte_aenderung input#form_aktiv:checked ~ #ansprechpartner_formular {
	max-height: 800px;
	max-height: 100vh;
	/*-webkit-transition: height 1s ease-in-out;  Safari */
	transition: max-height 0.8s ease-in-out;
}

#form_titel,
#form_email,
#form_text,
#form_captcha,
#form_loesung,
#form_absenden {
	display: block;
	margin: 0 0 0.5rem 0;
}
#form_absenden {
	margin: 1rem 0 0 0;	
}

#ansprechpartner_formular input {
	width: 25%;
}
#ansprechpartner_formular textarea {
	width: 50%;
	height: 20vh;
}
#form_sendcheck { 
	visibility:hidden; 
	font-size: 0;
	line-height: 0;
	height: 0;
}

#datenschutzerklaerung {
	border-radius: 0.2em;
	background-color: #F4F4F4;;
	margin: 0 0 0.5rem 0;
	padding: 0.5rem;
	text-align: center;
	font-weight: bold;
}

/**************** Banner im Inhalt *****************/


.bild_banner {
	display: block;
	width: 100%;
	padding: 0.5rem 0 0 0;
}
.bild_banner img {
	display: block;
	width: 100%;
	margin: 0;
}

.video_banner {
	display: block;
	position: relative; 
	height: auto; overflow: hidden; 
	padding-bottom: 56.25%; 
	margin-top: 1rem;
}
.video_banner iframe {
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%;
}

.banner_breit {
	position: relative; 
	top: 0; 
	left: -0.95rem; 
	width: calc(100% + 1.9rem); 
	height: 100%;
}
.banner_text {
	display: block;
	color: grey;
	padding: 0 0 0.75rem 0;
}




/**********************************************************************************************/
/*   Einstellungen für Bildschirmauflösung unter 800 Pixel  - z.B. Tablets im Hochformat      */ 
/**********************************************************************************************/

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

#maincontent {
	width: 65.753%;
}

#ansprechpartner_formular input {
	width: 35%;
}
#ansprechpartner_formular textarea {
	width: 75%;
	height: 20vh;
}

}


/**********************************************************************************************/
/*   Einstellungen für Bildschirmauflösung unter 550 Pixel  - z.B. Smartphones im Querformat  */ 
/**********************************************************************************************/

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

main {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;  
}

#maincontent {
	width: 100%;
}

#ansprechpartner_formular input {
	width: 50%;
}
#ansprechpartner_formular textarea {
	width: 100%;
	height: 20vh;
}

}

/**********************************************************************************************/
/*   Einstellungen für Bildschirmauflösung unter 400 Pixel  - z.B. Smartphones im Hochformat  */ 
/**********************************************************************************************/

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

#ansprechpartner_formular input {
	width: 100%;
}

}

/****************** Quickfixes ***********************/
#newsletter_container a:hover{
	color:#fff !important;
}
#inhaltsverzeichnis a:hover, p a:hover{
	color:#fff !important;
}

