﻿@charset "utf-8";
/* CSS Document */

/* klassisches Layout für SELFHTML-Beispiele */

@import url(https://fonts.googleapis.com/css?family=Playball);

html {
  background: #f0d9a2;
  color: #5d0505;
}

body {
	margin: 1em auto;
	max-width: 65em;
	font-family: sans-serif;
}

h1, main, aside, main svg {
	border-radius: 0 .5em .5em;
	border: 1px none;
	padding: .5em 1em;
	margin: 0;
}

h1, h2 {
	background: #f0d9a2;
	color: #5d0505;
	font-family: Playball;
	font-size: 2.5rem;
}

aside h2 {
	font-size: 1.8rem;	
}

header {
  border-color: transparent;
}

h1::after {
}


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;
}

section {
  border-color: transparent;
}
article {
  border-color: transparent;
}
aside {
  border-color: transparent;
}
footer {
  border-color:transparent;
}

#styleswitcher  ul {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
}

#styleswitcher button {
  width: 9em;
  margin-bottom: 0.2em;
}

nav a, #styleswitcher button {
  background: #5d0505;
  border: 1px solid; 
  border-color: #5d5050;
  border-left-color: #f0d9a2;
  color:  #f0d9a2;
}

nav li:first-child  a{ border-radius: 1em 0 0 1em; }
nav li:last-child  a{ border-radius: 0 1em 1em 0; }

nav a:hover, nav a:focus, #styleswitcher  button:hover, #styleswitcher  button:focus {
  background: orange;
  border-color: #5d5050;
  color:  #5d0505;
}

nav a[aria-current=page] {
	color:orange;
	font-weight:bold;
}
nav a[aria-current=page]:hover,nav a[aria-current=page]:focus {
	color:#5d0505;

}

a {
  color: blue;
}

/* responsives Layout */

body {
  display: flex;
  flex-flow: row wrap;
}

/* Mobile first - alle Dokument-Blöcke bekommen 100% Breite */
header, nav, article, section, aside, footer {
  border-radius: 0px 0.5em 0.5em;
  border: 1px none;
  padding: 0.5em;
  margin: 0.5em;
  flex: 1 100%;
}

header {
  display: flex;
  flex-flow: row wrap;
}
header * {
  flex: 1 1 0%;
}
header img {
  flex: 0 0 150px;
  margin-right: 20px;
}
header nav {
  flex: 1 1 100%;
}
nav, nav ul, nav li{
  margin: 0;
  padding: 0;
  border: none;
}
nav ul {
  display: flex;
  flex-direction: column;
}
nav li {
  list-style-type: none;
  margin: 1.3em 0;
  padding:0;
  flex: 1 1 100%;
}
nav a {
  display: inline-block;
  margin: 0;
  width: 96%;
  padding: 0.5em 2%;
  text-decoration: none;
  text-align: center;
}

footer {
  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 {
    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: 5 1 0%;
  }
  
  aside {
    flex: 2 1 0%;
  }
  
  #news {
    flex: 2 1 0%;
    order: 2;
    align-self: center;
    height: 12em;
  }
}

/* Terminkalender */

table, th, td { 
	width: 100%;
  	border: 1px solid; 
  	border-collapse: collapse; 
  	color: #5d0505;
}

th, td {
	padding: .5em;
}

th {
	background: #5d0505;
	color: orange;
}

caption {
	caption-side: bottom;
	padding-top: 2em;
	font-style: italic;



}