@charset "utf-8";
/* CSS Document */

/* flexibles Layout im klassischen 2-Spalten-Layout in mehreren Graustufen */

html {
  background: white;
  color: black;	
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

body {
  margin: 0.5em auto;
  max-width: 65em;
}

h1, article, aside  {
  padding: .5em;
  margin: .5em;
}

h1, h2 {
  -webkit-text-decoration: underline dashed;	
  text-decoration: underline;
  text-decoration: underline dashed;
}

#logo {
 font: 0/0 a; text-shadow: none; color: transparent;
 font-weight: bold;
 font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
 position: right;
}

#logo:before {
  content: "zeit.";
  color: black;
  font-size: 3rem;
  }

#logo:after {
  content: "fläche";
  color: white;
  text-shadow:  
     1px  1px 1px black,
     1px -1px 1px black,
    -1px  1px 1px black,
    -1px -1px 1px black;
  font-size: 3rem;
  }

h1 {
  padding-left: 5em;
}

#index img {
	width: 33%;
	float: right;
	margin-left: 0.2em;
}

img {
	filter: grayscale(90%);
 }
 
figure {
  display: inline-block;	
  width: 31%;
  margin: 0 0 0.5em;
} 

figure img {
  width: 100%;
}

aside {
  border: 2px dashed black;
} 

table, th, td { 
  border: 1px solid; 
  border-collapse: collapse; 
}

/* 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, #logo {
  border: 1px solid;
  padding: 0.5em 1em;
  margin: 0.5em 1em;
  flex: 1 100%;
}

header {
  background: #F1F3F4;
  border-color: #d5d5d5;
  display: flex;
  /* justify-content: space-between; */
  flex-flow: row wrap;
}
header * {
  flex: 1 1 0%;
  margin: 0 1em;
}
header #logo {
  flex: 1 1 100px;
    justify-content: flex-end
}
header img {
  flex: 1 1 100px;
  flex-basis: 90%;
  justify-content: center;
}
header nav {
  flex: 3 1 100%;
}
nav, nav ul, nav li{
  margin: 0.2em 0.5em;
  padding: 0 0.5em;
  border: 0;
}
nav ul {
  display: flex;
  flex-direction: column;
}
nav li {
  list-style-type:none;
  flex: 1 1 100%;
}

nav a[aria-current=page] {
	font-variant:small-caps;
	font-weight:bold;
}

#styleswitcher  ul {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
}

nav a, #styleswitcher button {
  display:inline-block;
  width:95%;
  background: #ccc;
  border: 1px solid black;
  color: black;
  margin-bottom: 0.2em;
  padding: 0.2em 1em;
  text-decoration: none;
  text-align: center;
}

nav a:hover, nav a:focus, #styleswitcher button:hover, #styleswitcher button:focus {
  background: #333;
  color: white;
}

article {
  border-color: transparent;
}
aside {
  border-color: transparent;
}
footer {
  border-color: transparent;
  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 {
  flex-direction: row;  
}
header img {
  margin-right: 50px;
}

header nav {
  flex: 1 1 0%;
  order: 1;
}

h1  {
  flex: 4 1 0%;
  order: 2;
}


article {
  flex: 4 1 0%;
  order: 2;
}
#news {
  flex: 1 1 100%;	
  order: 3;
}
aside {
  flex: 1 1 0%;
  order: 1;
}
footer {
  order: 5;
}
}

     /* Large screens */
     @media all and (min-width: 50em) {
 
}

/* Terminkalender */

table, th, td { 
	width: 100%;
  	border: 1px solid; 
  	border-collapse: collapse; 
}

th, td {
	padding: .5em;
}

th {
	background: black;
	color: white;
}

caption {
	caption-side: bottom;
	padding-top: 2em;
	font-style: italic;
}