@charset "utf-8";
/* CSS Document */

/* Grundlayout für SELFHTML-Beispiele */

:root {
  --white2: #eef2fe;
  --blue: #08223d;
  --black: #000000;
  --red: #870e12;
  --white: #ffffff;

}
/*
html {
        background: transparent!important;    background: var(--bg);
}
*/
body {
  background: var(--bg);
  color: var(--fontColor);
  font-family: Arial;
}


h1, main, aside, main svg {
	border-radius: 0 0 8px 8px;
	border: 1px solid;
	padding: 1em;
	margin: 1em;
}

h1 {
	border-color: var(--blue);
}

article img {
	width: 33%;
	float: right;
	margin-left: 0.2em;
}

figure {
  display: inline-block;
  width: 30%;
  margin: 0.2em;
}
figure img {
  width: 100%;
}
figure figcaption {
  font-style: italic;
}


#logo {
  background: var(--bg) 
  url("../logo/Hauptlogo_4.svg") 0px 0px no-repeat; 
  display: inline-block;
  background-size: contain;
  width:100%;
  height: 80px;
  border: 1px solid transparent; 
  font: 0/0 a; 
  text-shadow: none; 
  color: transparent;
}

main {
	display: block;     /* für IE */	
	min-height: 400px;
}

aside {
	background: var(--bg);
	border-color: var(--blue);
} 

#hinweis {                    /* für Container */

	border-left: 5px solid var(--red);
}

.hinweis {                    /* für Textzeile */
        color: var(--red); 
        font-style: italic; 
        border-bottom: 1px dotted; 
        display:inline-block; 
}

/* responsives Layout */

body {
  display: flex;
  flex-flow: row wrap;
}

/* Mobile first - alle Dokument-Blöcke bekommen 100% Breite */
header, nav, nav a, article, section, aside, footer {
  border-radius: 0px 0px 0.5em 0.5em;
  border: 1px solid;
  padding: 1em;
  margin: 1em;
  flex: 1 100%;
}

header {
  background: var(--bg);
  border-color: var(--blue);
  display: flex;
  flex-flow: row wrap;
  text-align: center;
}

header * {
  flex: 1 1 0%;
  margin: 0 1em;
}
header img {
  flex: 0 0 100px;
  margin-right: 20px;
}
header nav {
  flex: 1 1 100%;
  margin: .5em 2em;
  border-color: var(--blue);
}
nav ul, nav li{
  margin: 0 0.5em;
  padding: 0 0.5em;
  border: 0;
}
nav ul {
  display: flex;
  flex-direction: column;
}
nav li {
  list-style-type:none;
  margin: 1.3em 0;
  flex: 1 1 100%;
}
nav a {
  display:inline-block;
  width:90%;
  background: var(--blue);
  border: 1px solid var(--blue);
  margin: 0;
  color: white;
  text-decoration: none;
  text-align: center;
}
nav a:hover, nav a:focus {
  background-color: var(--red);
}

nav a[aria-current=page] {
	color: var(--white2);
	font-weight:bold;
}
section {
  background: var(--bg);
  border-color: var(--blue);
}
article {
  background: var(--bg);
  border-color: var(--blue);
}
aside {
  background: var(--bg);
  border-color: var(--blue);
}
footer {
  background: var(--bg);
  border-color: var(--blue);
  display: flex;
  flex-flow: row wrap;
}
footer * {
  flex: 1 1 0%;
  justify-content: space-between;
}
footer p:last-child {
  text-align: right;
}
/* Smart Phones und Tablets mit mittlerer Auflösung */
@media all and (min-width: 35em) {
header img {
  margin-right: 50px;
}
nav ul {
  flex-direction: row;
}
nav li {
  margin: 0 10px;
  flex: 1 1 0%;
}
article {
  order: 2;
}
#news {
  flex: 1 auto;
  order: 3;
}
aside {
/* durch auto werden die beiden asides in eine Zeile gesetzt */
  flex: 1 auto;
  order: 4;
}
footer {
  order: 5;
}
}

/* Large screens */
@media all and (min-width: 50em) {
  article {    /* Der Article wird 2.5x so breit wie die beiden asides! */
    order: 3;
    flex: 3 1 0%;
  }
  aside {
    flex: 1 1 0%;
  }
  #news {
    flex: 1 1 0%;	  
    order: 2;
    /*align-self: center;
    height: 10em;*/
  }
}

/* Terminkalender */

table, th, td { 
	width: 100%;
  	border: 1px solid; 
  	border-collapse: collapse; 
}

th, td {
	padding: .5em;
}

th {
	background: #c32e04;
	color: #ffede0;
}

caption {
	caption-side: bottom;
	padding-top: 2em;
	font-style: italic;
}

.light-theme {
  --bg: var(--white2);
  --fontColor: var(--blue);
  --btnBg: var(--red);
  --btnFontColor: var(--white2);
}

.dark-theme {
  --bg: var(--blue);
  --fontColor: var(--white2);
  --btnBg: var(--red);
  --btnFontColor: var(--white);
}

