@media (min-width: 578px) {
    .banner-top a {
        flex-direction: row;
    }
}

.banner-top a {
    color: #fff;
    background: #042c58;
    padding: 8px 10px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.banner-top {
  background: #042c58;
  color: #fff;
}

.banner-top img {
  margin: 0 0 0 10px;
  order: 1;
}

.banner-top img {
  height: 20px;
  width: auto;
  margin-bottom: 10px;
  order: 0;
}

.flex_container h1,
.flex_container h2,
.flex_container h3 {
	/* alle verlorenen Seelen volle Breite */
	flex: 1 100%;
}

h2 {
	margin-top: 1.5rem;
	color: #3c43a6;align-items: center;
	font-size: 1.5rem;
	font-weight: bold;
	text-transform: none;
}

h3 {
  font-size: 1.2em;  
  text-transform: none;
}

.serviceNavigation {
  text-align: right;
}

.logo {
  margin-right: 1rem;
}

header div.fblogo {
  align-self:flex-end;
  margin-bottom: 1rem;
}

.flex_contact {
  display: flex; 
  flex-direction: row; 
  flex-wrap: wrap; 
  justify-content: space-around;
}

main a::before {
  font-family: FontAwesome;
  padding-right: 0.3em;
  padding-left: 0.3em;
  color: #01588d;
  font-weight: bold;
  display: inline-block;
  content: "\f101";
  white-space: nowrap;
}

.menu_separator {
  font-weight: bold !important;  
}

li.overview a {

  background-color:  #888 !important;
  color:white !important;
  font-weight: bold !important;
}

li.overview a:before {
  font-family: FontAwesome;
  content: "\f105 ";
  padding-right: 0.7rem;
}



.menu_separator > a{  
  font-weight: bold !important;
  background: #ddd;
}

div.card {
  box-shadow: 2px 2px 2px 1px #888;
  background-color: #ffffff;
  padding: 1.5rem;
  margin: 1rem 1rem 1rem 0;
  flex: 1 100%;   
  height: 100%;  
}

div.card:empty {
  display: none;
}

main a:empty:before {
  content: "";
}

.aimg::before {
  content: none;
}

div#feedback a::before {
  font-family: FontAwesome;
  content: "\f0e0";
}

div.card .gen_index {
  flex: 1 100%;
}

aside {
  flex: 1 30%;  
  padding:0.5rem;
}

.flex_container {
  display: flex; 
  flex-direction: row; 
  flex-wrap: wrap;  
  align-content: stretch;
}

.flex_card {
  flex: 1 30%; 
  min-width: 26em;
  padding:0.5rem;
}

.flex_content {
  flex: 3 30em;   
  padding:0.5rem;
}

.flex_news {
  flex: 1 10em;
  min-width: 26em; 
  padding:0.5rem;
}

section.card { 
  box-shadow: 2px 2px 2px 1px #888;
  background-color: #ffffff;
  padding: 1.5rem;
  margin-bottom: 0.5rem;
}

section.card > header {
  flex: 0 5rem;
}

section.card > header > img {
  width: 100%;
  height: 8rem;
  object-fit: cover;
}

section.linklist {
  display:flex;
  flex-wrap: wrap;
  flex: 1 100%;
}

.body_index {
  flex: 0 25em;
  min-width: 15em;  
  box-shadow: 2px 2px 2px 1px #888;
  padding: 0.8em; 
  margin: 1em; 
  border: 1px solid lightgrey;
  background: #fefefe;
  transition: 0.3s;
}

.body_index:hover {
  box-shadow: 2px 2px 5px 0 #01588d;
  transform: scale(1.1);
  cursor: pointer;
}

article.hotnews:hover {
  /*box-shadow: 2px 2px 5px 0 #01588d;
  background: #eee;*/
  cursor: pointer;
}

@media (max-width: 1000px) {
  .body_index {
    flex: 1 100%;
  }
}

.fbName {
  padding-top:1rem;
  margin-bottom: 0.5rem;
}

.body_index_separator, .body_index_separator_description {
  flex: 0 100%;
}

div.body_footer {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap-reverse;
}

div.body_footer > div.body_index > div.genlink > h3 > a::before {
  content: "\f100";
  background-color: white;
  border: solid thin grey;
  margin-right: 0.5rem;
}

/* Anpassung << Zeichen für Übergeordnete Seite (RK20200914) */
div.body_footer > div.body_index > div.genlink > h3 > a::before {
  content: "\f100";
  background-color: white;
  border: solid thin grey;
}

/* Anpassung >> zeichen vor Links in Footer und Schnellzugriffmenü (Raphael) */
/* Footermenü */
ul.secondLevel>li::before {
  font-family: FontAwesome;
  font-size: 1.1em;
  padding-right: 0.3em;
  font-weight: 900;
  display: inline-block;
  content: "\00BB";
}

/* Schnellzugriffmenü */
ul.serviceNavigation>li.dropdown>ul.dropdown-menu>li>a::before {
  font-family: FontAwesome;
  font-size: 1.1em;
  padding-right: 0.3em;
  font-weight: 900;
  display: inline-block;
  content: "\00BB";
}

/* alle img elemente mit alt restricted anpassen */
img {
  width: auto;
}

div.body_footer > div {
  background: #e4e8eb;
  border: none;
  box-shadow: none;
}

.qick_nav_xs_separator {
  text-align: center;
  background-color:  #888 !important;
  color:white !important;
  font-weight: bold;  
  margin: 1rem; 
}

footer li.qick_nav_xs_separator, section li.qick_nav_xs_separator {
    display: none !important;
}

footer nav > ul.footernavigation a::before {
  content: "";
}

main nav > ul >li {
  list-style-type: none;
}

hr {  
  flex: 1 100%;
  color: #fff;
  background-color: #fff;
  border: 1px solid #ccc;
  border-style: none none solid;
}

header nav {
  display:flex;
  flex-wrap: nowrap;  
}

nav > ul.breadcrumb {
  flex: 0 100%;
}

nav#hamburger {
    display: none;
}


nav#breadcrumb a {  
  text-decoration: none;
  color: #444;
}
nav#breadcrumb a:hover {
  text-decoration: underline;
}
nav#breadcrumb a.breadactive, #breadcrumb a:hover.breadactive {
  color: #666;
  text-decoration: none;
}
	

nav#nav-main {
  flex: 1 0 0%;
  padding: 20px;
  max-width: 210px;  
  font-size: 0.85rem;
}

select, input {
  -webkit-border-radius: 0;
  border: thin solid #008CBA;
  padding: 4px;

}

div.box {
  box-shadow: 0 0 3px grey;
  border-radius: 1rem;
  background:#white; 
  padding: 0.5rem 1rem;		
  margin: 1rem 0px;
}

div.blue {  background:#F6F7FB; 
}

div.lightblue {
  background:#F6F7FB; 
}

div.lightgreen {
  background: #dfd; 
}

div.lightyellow {
  background: lightyellow; 
}
main table ul, main ul,main table {
  margin: 10px 0;
}
main table ul li {
  /*line-height: 1rem;*/
}

main pre {
  margin: 10px 0;
  white-space: normal;
}
main blockquote {
  padding-left: 0.7rem;
  font-style: italic;
  border-left: 1px solid #CCC;
}
main hr, footer hr{
  margin: 1rem 0;
  color: #fff;
  background-color: #fff;
  border: 1px solid #ccc;
  border-style: none none solid;
}

/** Special FB-Style **/

TH, TD {
	vertical-align: top;
	text-align:left;
	color:black;
    /* border: thin solid #ddd; */
    padding-left: 0.5em;
    padding-right: 0.5em;
}

TH {
	font-weight: bold;
    background:#eee;
}

TD > UL, TH > UL {
    padding-left: 1.1em;
    margin-top: 0.1em;
    margin-bottom: 0.1em;
}

P{
	/* margin-bottom: 4px; */
	line-height: 130%
}

LI {
	margin-bottom: 4px;
}


/* --------------------- Dekorationen ------------------------ */

.dottedbox {
                border: thin dotted black;
                background: white;
                padding: 1px 0.3em;
                margin: 0.2em 0px;
}

.greybox {
                border: thin solid silver;
                background: rgb(232,232,232);
                padding: 1px 0.3em;
                margin: 0.2em 0px;
}

.yellowbox {
                border: thin solid silver;
                background: yellow;
                padding: 1px 0.3em;
                margin: 0.2em 0px;
}

.lilabox {
                border: thin solid black;
                background: rgb(234,234,255);
                padding: 1px 0.3em;
                margin: 0.2em 0px;
}

.floatright {
		float: right; 
		/* border: 0pt none ; */
		margin-left: 2em; 
        margin-top: 0.5em;
        margin-bottom: 0.5em;
}


.floatleft {
		float: left; 
		/* border: 0pt none ; */
		margin-right: 2em; 
        margin-top: 0.5em;
        margin-bottom: 0.5em;
}



/* ----------------------- spezielle ------------------------- */

.disabled {
		font-weight:bold;
		color:#999999;
		text-decoration:line-through;
}

.description {
		color:#666666;
		font-size: 0.92em;
}

.td_right {
		text-align:right;
}

.time {
		font-weight:bold;
		color:#CC2222;
}

.date {
		font-weight:bold;
		color:#CC2222;
}

.important {
		font-weight:bold;
		color:#CC2222;
}

.veryimportant {
		font-weight:bold;
		color:#CC2222;
		text-decoration:blink;
}
a.more {
	color: #aa3333;
	font-weight: normal;
}

h1 span.more {
	font-size: 0.75em;
	font-weight: normal;
}
