html {
  box-sizing: border-box;
}
*, ::before, ::after {
  box-sizing: inherit;
}
 
body{
  margin: 10px auto;
  min-width: 16em;
  max-width: 120em;
  font-family: sans-serif;
  color: #333333;
  font-size: 12px;
}
 
nav, main, article, section, aside, footer {
  border-radius: 0px 0.5em 0.5em;
  border: 1px solid;
  padding: 10px;
  margin: 10px;
  color: #00325f;
  border-color: #4e9d3e;
}
 
header {
  border-bottom: 3px solid;
  font-size: 20px;
  font-weight: bold;
  color:#009145;
  height: 3.5em;
  padding: 10px 0px 0px 0px;
  margin: 10px;

}

header a {

}

header img {
  width: 2.5em;
  height: 2.5em;
  margin-right: 5px;
  float: right;
}
 
nav {
  font-size: 1 em;
  padding: 5px 5px 0 5px ;
  background: #ffffff;
  border-color: #4e9d3e;
  color: #00325f;
  }
  
nav ul {
  padding:0;
}
 
nav li {
  //font-size: 0.9em;
  list-style: none;
  margin: 0;
  //padding: 0.5em ;
}
 
nav a {
  border-bottom: 3px solid;
  border-color: #4e9d3e;
  display: block;
  padding:  6px 12px 8px 5px;
  margin: 0;
  font-weight: bold;
  text-decoration: none;
  background: #FEFEFE; 
  background: linear-gradient(to top, #F0F0F0 20%, #FFFFFF 70%);
  background-position:0px 0px;
  background-repeat: repeat-x;
  color: #00325f;
}
 
nav ul a:hover, nav ul a:active  {
  background: #99EE66; 
  background: linear-gradient(to top, #99EE66 20%, #FFFFFF 80%);
  background-position:0px 0px;
  background-repeat: repeat-x;
}

nav  .aktiv  {
  background: #99EE66; 
  background: linear-gradient(to top, #99EE66 20%, #FFFFFF 70%);
  background-position:0px 0px;
  background-repeat: repeat-x;
}
 
main {
  font-size: 1 em;
  display: block;
  background:  #e5ecff;
  background: linear-gradient(to top right, #f4fcff 20%, #feFeff 80%);
  border-color: #4e9d3e;
  min-width: 16em; /* Mindestbreite (der Ueberschrift) verhindert Anzeigefehler in modernen Browsern */
  padding: 10px 10px 10px 30px;
}
 
section {
  background: #F1F3F4;
  border-color: slateblue;
}
 
article {
  background: #ffede0;
  border-color: #df6c20;
}
 
aside {
  background: #ebf5d7;
  border-color: #8db243;
}
 
footer {
  background: #e4ebf2;
  border-color: #8a9da8;
  text-align: right;
  display: block;
}
 
footer p {
  float: right;
  margin: 0;
}

error {
	color: #FF0000;
}
 
@media (min-width: 50em)  {	/* zweispaltiges Layout für mittlere Viewports */ 
  nav {
    float: left;
    width: 15em;
  }
  main {
	min-width: 20em;  
    margin-left: 15em;
  }	
 
  aside {
    float: right;
    width: 12em;
  }  
}
 
@media (min-width: 45em)  {	/* dreispaltiges Layout für breitere Viewports */ 
  article {
    margin-right: 15em;
  }
}

#fuss {
	display: block;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index:2;
	background: #000000;
	opacity: 0.7;
	color: #009145;
	visibility: hidden;
}


#wait {
	display: block;
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index:2;
	background: #000000;
	opacity: 0.7;
	color: #009145;
	visibility: hidden;
}

#waittext {
	display: block;
	font-size:  30px;
	font-weigth:  bold;
	text-align: center;
	color: #009145;
	top: 250px;
	left: 350px;
}

#divdetails {
	display: none;
	position: fixed;
	left: 10%;
	top: 5%;
	width: 80%;
	height: 90%;
	z-index:3;
	padding: 20px;
	border: 1px solid #AEAEAE;
	background: #FEFEFE; 
	border-radius: 7px;
	box-shadow: 4px 4px 3px grey;
}

.DSSuche {
	display: block;
	width: 95%;
	xheight: 30px;
    padding: 10px;
	margin: 0 0 10px 0;
	border: 1px solid #EEEEEE;
	background: #FFAAAA; 
	background: linear-gradient(to top, #CCD2CC 20%, #FFFFFF 70%);
	border-radius: 7px;
	box-shadow: 3px 3px 3px grey;
	z-index: 0;
	display: flex;
	flex-flow: row wrap;
}


.DSEdit {
	display: block;
	width: 95%;
    padding: 10px;
	border: 1px solid #EEEEEE;
	background: #EEF3EE; 
	border-radius: 7px;
	box-shadow: 4px 4px 3px grey;
	z-index: 0;

	display: flex;
	flex-flow: row wrap;
}

.DSEdit input {
	width: 100%;
}

.DSFeld1 {
	display: block;
	font-size: 0.9em;
    padding: 5px 5px 5px 10px;
	margin: 5px;
	border: 1px solid #AAAAAA;
	border-radius: 5px;
	z-index: 0;
	float: left;
	flex: 1 1 10em;
}


.DSFeld2 {
	display: block;
	font-size: 0.9em;
    padding: 5px 5px 5px 10px;
	margin: 5px;
	border: 1px solid #AAAAAA;
	border-radius: 5px;
	z-index: 0;
	float: left;
	flex: 2 1 20em;
}
.DSFeld3  {
	display: block;
	font-size: 0.9em;
    padding: 5px 5px 5px 10px;
	margin: 5px;
	border: 1px solid #AAAAAA;
	border-radius: 5px;
	z-index: 0;
	float: left;
	flex: 3 1 30em;
}
.DSFeld4 {
	display: block;
	font-size: 0.9em;
    padding: 5px 5px 5px 10px;
	margin: 5px;
	border: 1px solid #AAAAAA;
	border-radius: 5px;
	z-index: 0;
	float: left;
	flex: 4 1 40em;
}
.DSFeld5  {
	display: block;
	font-size: 0.9em;
    padding: 5px 5px 5px 10px;
	margin: 5px;
	border: 1px solid #AAAAAA;
	border-radius: 5px;
	z-index: 0;
	float: left;
	flex: 5 1 50em;
}

input:read-only {
	background: #EEF8EE; 	
}
input:-moz-read-only {
	background: #EEF8EE; 	
}


.DSResult {
	display: none;
	width: 100%;
	max-height: 70vh;
	overflow: auto;
    padding: 10px;
	border: 1px solid #EEEEEE;
	background: #EEF1EE; 
	border-radius: 7px;
	box-shadow: 4px 4px 3px grey;
	z-index: 0;
	float: left;
    padding: 0px;
	border: 1px solid #EEEEEE;
	background: #EEF1EE; 
	border-radius: 7px;
	box-shadow: 4px 4px 3px grey;
	z-index: 5;
	
}

.DSResult li {
  display: block;
  padding:  3px 12px 3px 5px;
  margin: 0;
  font-weight: bold;
  text-decoration: none;
  background: #FEFEFE; 
  background: linear-gradient(to top, #F0F0F0 20%, #FFFFFF 70%);
  background-position:0px 0px;
  background-repeat: repeat-x;
  color: #00325f;
}
 
.DSResult li:active, .DSResult li:hover  {
  background: #99EE66; 
  background: linear-gradient(to top, #99EE66 20%, #FFFFFF 80%);
  background-position:0px 0px;
  background-repeat: repeat-x;
}
    
.minibutton  {
  border-bottom: 3px solid;
  border-color: #4e9d3e;
  display: block;
  padding:  3px 20px 3px 20px;
  font-weight: bold;
  max-width: 25%;
  text-decoration: none;
  background: #FEFEFE; 
  background: linear-gradient(to top, #F0F0F0 20%, #FFFFFF 70%);
  background-position:0px 0px;
  background-repeat: repeat-x;
  color: #00325f;
 }
 
 .minibutton2  {
  border-bottom: 3px solid;
  border-color: #4e9d3e;
  display: block;
  padding:  3px 20px 3px 20px;
  font-weight: bold;
  max-width: 25%;
  text-decoration: none;
  background: #FEFEFE; 
  background: linear-gradient(to top, #A0A0A0 20%, #AAAAAA 70%);
  background-position:0px 0px;
  background-repeat: repeat-x;
  color: #00325f;
 }
 
 .register  {
  border-left: 2px solid;
  border-top: 2px solid;
  border-right: 2px solid;
  border-bottom: 0px solid;
  border-color: #4e9d3e;
  display: block;
  padding:  3px 40px 3px 40px;
  font-weight: bold;
  max-width: 33%;
  text-decoration: none;
  background: #FEFEFE; 
  background: linear-gradient(to top, #F0F0F0 20%, #FFFFFF 70%);
  background-position:0px 0px;
  background-repeat: repeat-x;
  color: #00325f;
  float: left;
 }
 
 .register2  {
  border-left: 2px solid;
  border-top: 2px solid;
  border-right: 2px solid;
  border-bottom: 1px solid;
  border-color: #aaaaaa;
  display: block;
  padding:  3px 40px 3px 40px;
  font-weight: bold;
  max-width: 33%;
  text-decoration: none;
  background: #FEFEFE; 
  background: linear-gradient(to top, #F0F0F0 20%, #FFFFFF 70%);
  background-position:0px 0px;
  background-repeat: repeat-x;
  color: #aaaaaa;
  float: left;
 }
 
.left  {
  float:left;
}
.right  {
  float:right;
}

.textleft {
	text-align: left; 
}
.textcenter {
	text-align: center; 
}
.textright {
	text-align: right; 
}
 
.minibutton:hover, .minibutton:active  {
  background: #99EE66; 
  background: linear-gradient(to top, #99EE66 20%, #FFFFFF 80%);
  background-position:0px 0px;
  background-repeat: repeat-x;
}


.legende {
	display: block;
	position: fixed;
	z-index: 5;
	left: 0px;
	bottom: 0px;
	padding: 10px;
	width: 10px;
	height: 300px;
}

.legende:hover {
	background: #DDDDDD;
	border: solid 1px #555555;
	width: 200px;
}

.legende:hover .legendenelement{
	visibility: visible;
}

.legendenelement {
visibility: hidden;
	display: block;
	float: left;
	width: 150px;
	height: 20px;
	margin: 5px;
	padding: 3px;
}

table {
    border-collapse: collapse;
}

table, th, td {
    border: 1px solid darkgray;
	font-size: 12px;
	padding: 2px;
}
	
#sbox2
{
  width: 90%;
  height: 150px;
  overflow: auto;
  border: dashed;
  border-width: 1px;
  border-color: #009650;
  padding: 5px;
  margin: 3px;
}

.link {
  color: blue;
  text-decoration: underline;
}

