@charset "utf-8";
/* CSS Document */

html {
        background: transparent!important;    background: pink;
}

body {
	margin: 1em auto;
	max-width: 65em;
	font-family: sans-serif;
	color: #333333;
background-image: linear-gradient(
	to right,
	#fff,
	#e4ebf2,
	#fff);
}

h1, main, main svg {
	border-radius: 0 8px 8px;
	border: 1px solid;
	padding: 0.5em;
	margin: 0.5em;
}

h1 {
	border-color: #d5d5d5;
}
article img {
	width: 33%;
	float: right;
	margin-left: 0.2em;
}

header img {
	width: 60%;
	float: right;
	margin-left: 0.1em;
}

.flex { 
    display: flex; 
    justify-content: center; 
    align-items: center;
}

figure {
  display: inline-block;
  width: 20%;
  margin: 0.1em;
  padding: 0.1em;
}
figure img {
  width: 100%;
}
figure figcaption {
  font-style: italic;
}

main {
	display: block;     /* für IE */	
	min-height: 400px;
}
#hinweis {                    /* für Container */

	border-left: 5px solid #c32e04;
}

.hinweis {                    /* für Textzeile */
        color: #c32e04; 
        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 a, article, section, footer {
  border-radius: 0px 0.5em 0.5em;
  border: 1px solid;
  padding: 0.2em;
  margin: 0.2em;
  flex: 1 100%;
}

nav ul, nav li{
  margin: 0 0.1em;
  padding: 0 0.1em;
  border: 0;
}
nav ul {
  display: flex;
  flex-direction: column;
}

nav li {
  list-style-type:none;
  margin: 0.1em 0;
  flex: 1 1 95%;
}

nav a {
  display:inline-block;
  width:100%;
  background: #e4ebf2;
  border: 1px solid #000000;
  margin: 0;
  text-decoration: none;
  text-align: center;
}

nav a:hover, nav a:focus {
  background-color: #ffede0;
}

nav a[aria-current=page] {
	color:black;
	font-weight:bold;
}
section {
  background: #F1F3F4;
  border-color: slateblue;
}
article {
  background: #ffede0;
  border-color: #df6c20;
}
header {
  background: #e4ebf2;
  border-color: #8db243;
}

footer {
  background: #e4ebf2;
  border-color: #8a9da8;
  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 kleiner Auflösung */
@media all and (min-width: 25em) {
nav ul {
  flex-direction: row;
}
nav li {
  margin: 0 6px;
  flex: 1 1 0%;
}
header {
  order: 1;
}
article {
  order: 2;
}
#news {
  flex: 1 auto;
  order: 3;
}

footer {
  order: 4;
}


header img {
	width: 50%;
	float: right;
	margin-left: 0.1em;
}



}

/* Smart Phones und Tablets mit mittlerer Auflösung */
@media all and (min-width: 35em) {
nav ul {
  flex-direction: row;
}

nav li {
  margin: 0 10px;
  flex: 1 1 0%;
}
header {
  order: 1;
}

header img {
	width: 40%;
	float: right;
	margin-left: 0.1em;
}


article {
  order: 2;
}

#news {
  flex: 1 auto;
  order: 3;
}

footer {
  order: 4;
}

}
/* Large screens */
@media all and (min-width: 50em) {
  article {    /* Der Article wird 2.5x so breit wie die beiden asides! */
    order: 2;
    flex: 3 1 0%; 
  }

  #news {
    flex: 1 1 0%;	  
    order: 3;
    align-self: center;
    height: 12em;
  }
}
header {
  order: 1;
}
article {
  order: 2;
}
#news {
  flex: 1 auto;
  order: 3;
}
footer {
  order: 4;
}

/* Terminkalender */

table, th, td { 
	width: 100%;
  	border: 1px solid; 
  	border-collapse: collapse; 
	table-layout: auto;
}
th, td {
	padding: .1em;
}
th {
	background: #ffede0;
	color: black.
}

caption {
	caption-side: bottom;
	padding-top: 2em;
	font-style: italic;
}