* {    
	-webkit-box-sizing: border-box; 
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


html {
  background: gainsboro;
  color: black;
}

body {
  margin: 0 auto;
  padding: 1%;
  max-width: 75em;
  font-family: verdana, arial, sans-serif ;
  font-size: 0.8em;
  border: 0; 
  border-top: 0; 
  background: white;
}

.skip {
  position: absolute;
  margin-left: -999px;
  width: 990px;
}

/* - Head - 
header {
  background: DodgerBlue;
  margin: 0 5px 0 0; 
  padding: 8px 20px 10px 20px; 
  text-align: right;
  line-height: 54px; 
  font-size: 54px; 
  letter-spacing: -3px; 
  font-family: verdana, arial, sans-serif ;
}
*/

/* - Anchors - */
a { color: RoyalBlue; text-decoration: none; }
a:visited { color: MidnightBlue; }
nav a:visited { color: white; }
header a { color: MidnightBlue; text-decoration: none;}

/* - Navigation - */
nav ul {
  background: MidnightBlue;
  padding: 5px 5%;
  margin: 10px; 
  text-align: right;
  color: yellow; /* actual site */
  -webkit-box-shadow: 0 5px 10px #aaa; /* vendor specific */
  -moz-box-shadow: 0 5px 10px #aaa; /* vendor specific? */
  box-shadow: 0 5px 10px #aaa;
}
nav ul li {
  font-size: 1.2em;
  display: inline;
  list-style-type: none;
  border-left: 1px solid white;
  padding: 0.1em .5em;
  font-weight: bold;
}
nav ul li a {
  color: white;
  border-radius:0.2em;
  text-decoration: none;
}

nav ul li a:hover {
        color:white;
        background:RoyalBlue;
        opacity:0.8;
}

/* - Main - */
main {
  background: white;
  padding: 0 2%;  
  line-height: 1.5em;
}

section{display : inline-block;
        width:95%;  /* original: 73% -> restore when using sidebar! */ 
        padding-bottom: 2%;
}

/* - Sidebar, right column - */
aside {
  width: 25%;
  float: right;
  clear:right;
  display : inline-block;
  padding: 0em 1% 1em;
  margin: 10em 1% 0 1%;
  border-left: 1px dotted #aaa; 
  font-size: 0.9em;
}
aside dt { /* sidebar headers */
  font-size: 1.2em;
  font-family: Georgia, "Times New Roman", Times, serif;
  padding: 0.5em;
  margin-top: 1em;
  border-top: 1px dotted #aaa;
}
aside dd { /* subitems sidebar. */
  padding: 0;
  margin: 0.2em 0;
}

h1 {
  font-size: 2.7em;
  font-weight: normal;
  line-height: 0.8em;
  padding: 1% 0 5px 2%; /* 1em 0 0.5em 2%; */
  margin: 0.6em;
  border-bottom: 1px dashed #E6E6FA;
}

h2 { 
  padding: 1.5em 0 0.2em 2%;
  margin: 0.5em;
  width:70%;
  border-bottom: 1px dashed #E6E6FA;
}

h3 {
  padding: 0.5em 0 0.2em 2%;
  font-size: 1.5em;
  margin: 0.5em;
  width:70%;
}

h2, h3, h4 { font-weight: normal; }
h1, h2, h3, h4, h5, h6 {
  color: DodgerBlue;
  font-family: Georgia, "Times New Roman", Times, serif;
}

/* DL, DT, DD data lists */
dl 	{ margin-bottom:50px;}
 
dl dt {	
    float:left;
    font-weight:bold;
    margin-right:5px;
    padding:5px; 
    width:50%;
}
 
dl dd {
    margin:2px 0;
    padding:5px 0;
}

/* Images */
img { 
  border: solid 0 #aaa; 
  padding: 1px;
}

.fleft {
   float: left;
   margin: 0 2em 0.2em 0; 
   padding: 5px;
   width:50%;
}

.fright {
   float: right;
   /*margin: 0 0 0.2em 1em;*/
   padding: 10px;
   width:33%;
}

.mid {
    -webkit-justify-content: center; /* Safari 6.1+ */
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 5px;
}

.logo {
   float: right;
   padding: 1px;
   width:100%;
}


figure,
figcaption {
	margin: 0;
	padding: 0;
}

figure img {
	width: 100%;
	display: block;
        text-align: center;
        vertical-align: middle;
        margin: auto;
}

figure.fleft figcaption,
figure.fright figcaption,
figure.fmid figcaption {
  padding: 1px;
  text-align: left;
  font-style:italic;
  color: grey;
}

figure.thumb {
    position: relative;
    overflow: hidden;
    display: inline-block;
    width: 100%;
}

figure.thumb figcaption {
        width: 100%;
	position: absolute;
	bottom: -4em;
	text-align: center;
	line-height: 2em;
	white-space: nowrap;
	color: white;
	background: rgba(0, 0, 0, 0);
	-webkit-transition: all 1s ease;  /* vendor specific? */
	transition: all 1s ease;
}

figure.thumb:focus figcaption,
figure.thumb:hover figcaption {
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgba(0, 0, 0, 0.5);
}

figure.thumb:before {
	content: "?";
	position: absolute;
	bottom: 50%;
	left: 50%;
	background: rgba(255, 255, 255, 0.5);
	color: black;
	width: 1.5em;
	height: 1.5em;
	border-radius: 1em;
	text-align: center;
	font-size: 1.5em;
	line-height: 1.5em;
	-webkit-transition: all 1s ease;  /* vendor specific */
	transition: all 1s ease;
}

figure.thumb:focus:before,
figure.thumb:hover:before {
	background: rgba(255, 255, 255, 0);
	color: rgba(0, 0, 0, 0);
}

@media only screen and (max-width: 800px) {
	body {
		width: 100%;
		margin: 2% 0;
		padding: 1%;
	}
	figure.thumb {
		width: 48%;
	}
}

@media only screen and (max-width: 600px) {
	figure.thumb {
		width: 100%;
	}
}

/* -- Layout specifics-- */
.footer-container{
    clear: both;
    padding: 1%;
    text-align:center;
    margin:0 auto;
    border-top: 10px solid MidnightBlue;
    background: white;
}

/* one-column layout with nav at the bottom */
@media only screen and (max-width: 600px) {
nav ul {
	display:block; 
	background:transparent;
	margin: 1em 0;
}

nav ul li {
    display:inline-block;
    color:yellow; 
    background:MidnightBlue; 
    border-radius:10px;
    text-align:center;
    width:90%;
    margin: 5px 0;
}   /* extend nav width */

nav ul li a {
    display:inline-block;
    width:100%; 
    color:white; 
    background:MidnightBlue; 
    border-radius:10px;
    text-align:center;
}

nav ul li a:after{display:none;} 

section, /* one wide column */
section.spalte, 
aside {
	float:none;
	display:block;
	width:100%;
}


.fleft,.fright { /* enlarge images */
	width:50%;
}
}

/* printer specific settings */
@media print {
body {
 background: white;
 color: black;
 font-family: georgia, "Times New Roman", "Times serif"; 
}

header {
 text-align: right;
 line-height: 0.8em;
 font-size: 3em;
 font-family: verdana, arial, sans-serif; 
 letter-spacing: -3px;
}
header a#logo {
 text-decoration: none;
}
.skip, aside, nav {
 display: none;
}
main a:link:after, main a:visited:after { /* See http://www.alistapart.com/articles/goingtoprint/ */
   content: " (" attr(href) ") ";
   font-size: 0.9em; }
main a[href^="/"]:after { /* fix for Mozilla/Firefox */
 content: " (http://example.org" attr(href) ") ";
}
.fright {
 float: right;
 margin: 0 0 1em 1em;
}
.fleft {
 float: left;
 margin: 0 1em 1em 0;
}
}
