@import url('https://fonts.googleapis.com/css2?family=Assistant&family=Swanky+and+Moo+Moo&display=swap');

body {
  margin: 10px auto;
  padding: 0;
  color: #FFFFFF;
  background-color: #D0D0FF;
  font-family: 'Assistant', sans-serif;
  font-size: 1em;
}

#wrapper {
  background-color: #000040;
  margin: 0 auto;
  width: 90%;
  border-radius: 15px;
  padding: 20px;
}


/* oben*/
header {
  margin: 0;
}

.portrait {
  width: 100%;
  margin: 0;
  padding: 0px 0px 0px 0px;
  background-color: #000040;
  color: #000000;
  border: 1px solid #C0C0C0;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}

.buch {
  width: 47%;
  align: left;
  margin: 1%;
  padding: 0px 0px 0px 0px;
  border: 0;
}

.logo {
  width: 100%;
  margin: 0;
  padding: 0px 0px 0px 0px;
  border: none;
}

.toptext {
  margin: 0;
  padding: 10px 0px 0px 0px;
  text-align: center;
  font-size: 5em;
  font-family: 'Mistral', cursive;
  font-weight: normal;
  line-height: 0.7em;
  color: #FFFFFF;
}

div#navhor {
  background-color: #FFFFFF;
  margin: 20px 0px;
  padding: 10px 0px 10px 0px;
  height: 30px;
  border-radius: 5px;
  background-image: linear-gradient(#FFFFFF 0%, #A0A0C0 100%);
  background-image: -webkit-linear-gradient(#FFFFFF 0%, #A0A0C0 100%);
}

.hornav a:link, .hornav a:active, .hornav a:visited {
  color: #000000;
  background-color: transparent;
  text-decoration: none;
  font-family: 'Assistant', sans-serif;
  font-size: 1.3em;
  padding: 5px 20px;
  margin: 5px;
  text-align: left;
  line-height: 30px;
  font-weight: bold;
}

.hornav a:hover, hornav a:focus {
  color: #FFFFFF;
  font-family: 'Assistant', sans-serif;
  text-decoration: none;
  background-color: #000058;
  border-radius: 5px;
}

.exnav a:link, .exnav a:active, .exnav a:visited {
  color: #0000F0;
  background-color: transparent;
  text-decoration: none;
  padding: 0px 5px;
  margin: 0px;
  font-weight: normal;
}

.exnav a:hover, .exnav a:focus {
  color: #FFFFFF;
  background-color: #206040;
  text-decoration: none;
}

/* Navigation links*/
nav {
  width: 20%;
  float: left;
  padding: 0;
  margin: 0;
}

.nav-v {
  width: 15%;
  float: left;
  padding: 0;
  margin: 0;
}

nav p {
  padding: 5px;
  margin: 0;
}

nav h2 {
  color: #000000;
  background-color: #FFFF50;
  font-size: 1.15em;
  text-align: center;
  font-weight: bold;
  margin: 0px 0px 10px 0px;
  padding: 5px;
  font-family: 'Assistant', sans-serif;
  border-radius: 5px;
  background-image: linear-gradient(#FFFFFF 0%, #A0A0C0 100%);
  background-image: -webkit-linear-gradient(#FFFFFF 0%, #A0A0C0 100%);
}

nav ul {
  padding: 0;
  margin: 5px 5px 5px 0px;
}

nav li {
  padding: 0px;
  margin: 0px 0px 10px 24px;
}

aside {
  width: 20%;
  float: right;
}

aside-v {
  width: 30%;
  float: right;
}

aside h2 {
  color: #000000;
  background-color: #FFFF50;
  font-size: 1.15em;
  text-align: center;
  font-weight: bold;
  margin: 0px 0px 10px 0px;
  padding: 5px;
  font-family: 'Assistant', sans-serif;
  border-radius: 5px;
  background-image: linear-gradient(#FFFFFF 0%, #A0A0C0 100%);
  background-image: -webkit-linear-gradient(#FFFFFF 0%, #A0A0C0 100%);
}

aside p {
  padding: 5px;
  margin: 0;
}

.textboxrighttext {
  text-align: center;
  font-style: normal;
  font-weight: bold;
  border: 1px solid #90D0B0;
  border-radius: 5px;
  background-color: #FFFF50;
  color: #000000;
  margin: 10px 0px;
  background-image: linear-gradient(#FFFFFF 0%, #A0A0C0 100%);
  background-image: -webkit-linear-gradient(#FFFFFF 0%, #A0A0C0 100%);
}

/* Hauptteil*/
main {
  display: block;  /*wegen Fehldarstellung IE*/
}

/* allgemeine Angaben*/

img {
  border: 0;
  max-width: 100%;
  height: auto;
  display: block;
}

.clear {
 clear: both;
 margin: 0;
 padding: 0;
 line-height: 1px;
}


/* Inhalt*/

article {
  margin-left: 21%;
  margin-right: 21%;
  margin-top: 0;
  margin-bottom: 10px;
  padding: 0 10px;
  font-size: 1.15em;
  font-weight: normal;
  text-align: justify;
  line-height: 22px;
}

.article-w {
  margin-left: 0;
  margin-right: 21%;
  margin-top: 0;
  margin-bottom: 10px;
  padding: 0 10px;
  font-size: 1.15em;
  font-weight: normal;
  text-align: justify;
  line-height: 22px;
}

.article-v {
  margin-left: 16%;
  margin-right: 31%;
  margin-top: 0;
  margin-bottom: 10px;
  padding: 0 10px;
  font-size: 1.15em;
  font-weight: normal;
  text-align: justify;
  line-height: 22px;
}

article h1 {
  font-size: 1.5em;
  padding: 10px 0px;
  margin: 0;
  color: #FFFFFF;
  font-weight: bold;
  text-align: left;
}

article-v h1 {
  font-size: 1.5em;
  padding: 10px 0px;
  margin: 0;
  color: #FFFFFF;
  font-weight: bold;
  text-align: left;
}

article h2 {
  color: #00a040;
  font-size: 1em;
  text-align: left;
  padding-top: 20px;
  margin: 0;
}

article h3 {
  color: #00B050;
  background-color: inherit;
  font-family: 'Assistant', sans-serif;
  font-size: 1.15em;
  padding: 10px 0px 15px 0px;
  font-weight: bold;
}

article p {
  margin: 8px 2px;
}

article-v p {
  margin: 8px 2px;
}

article a:link, article a:active, article a:visited {
  color: #FFFFFF;
  background-color: transparent;
  text-decoration: none;
  padding: 5px;
  margin: 0px;
  font-weight: bold;
}

article-v a:link, article-v a:active, article-v a:visited {
  color: #FFFFFF;
  background-color: transparent;
  text-decoration: none;
  padding: 5px;
  margin: 0px;
  font-weight: bold;
}

article a:hover, article a:focus {
  color: #000058;
  background-color: #FFFFFF;
  text-decoration: none;
  border-radius: 5px;
}

article-v a:hover, article-v a:focus {
  color: #000058;
  background-color: #FFFFFF;
  text-decoration: none;
  border-radius: 5px;
}

table {
  margin: 0;
  padding: 0;
  border-collapse: collapse;
}

tr {
  margin: 0;
  padding: 0;
}

td {
  margin: 0;
  padding-right: 10px;
  min-width: 5em;
  text-align: left;
  vertical-align: bottom;
}

table td#spalte {
  width: 50;
  overflow: hidden;
  display: inline-block;
  white-space: nowrap;
}

footer {
  background-color: #FFFF50;
  color: #000000;
  margin: 20px 0px 0px 0px;
  padding: 10px 0;
  min-height: 30px;
  text-align: center;
  border-radius: 5px;
  font-size: 1.15em;
  line-height: 30px;
  background-image: linear-gradient(#FFFFFF 0%, #A0A0C0 100%);
  background-image: -webkit-linear-gradient(#FFFFFF 0%, #A0A0C0 100%);
}

footer a:link, footer a:visited, footer a:active {
  color: #000000;
  background-color: transparent;
  text-decoration: none;
  font-weight: bold;
  padding: 0px 20px;
  margin: 0;
}

footer a:hover {
  color: #FFFFFF;
  background-color: #000058;
  text-decoration: none;
  font-weight: bold;
  padding: 5px 20px;
  margin: 0;
  border-radius: 5px;
}



/******************Besonderheiten für Bildschirmgroesse max. 768px**********************/

@media (max-width: 768px) {

header {
  font-size: 0.7em;
}

div#top {
  margin-bottom: 0;
  padding: 0;
}

.toptext {
  margin: 0 0 0 10px;
  padding: 0;
}

.toptextklein {
  padding: 0;
}

div#navhor {
  height: 100%;
  padding: 10px 0px;
  font-size: 1.25em;
}

.hornav a:link, .hornav a:active, .hornav a:visited {
  display: block;
  text-align: center;
}

.hornav a:hover, hornav a:focus {
  display: block;
}

.exnav a:link, .exnav a:active, .exnav a:visited {
  display: swap;
  text-align: center;
  color: #0000F0;
  background-color: transparent;
  text-decoration: none;
  padding: 0px 5px;
  margin: 0px 0px;
  font-weight: normal;
}

.exnav a:hover, exnav a:focus {
  display: swap;
  padding: 0px 5px;
  margin: 0px;
  color: #FFFFFF;
  background-color: #206040;
  text-decoration: none;
}

nav{
  float: none;
  width: 100%;
  text-align: center;
  margin-bottom: 10px;
  padding: 0;
}

.nav-v{
  float: none;
  width: 100%;
  display: flex;
  justify-content: center; 
  text-align: center;
  margin-bottom: 10px;
  padding: 0;
}

.buch {
  width: 100%;
  margin: 0;
  padding: 10px 0px 10px 0px;
  border: 0;
}

.logo {
  width: 100%;
  padding: 0px 0px 0px 0px;
  border: none;
}

main {
  text-align: center;
}

aside {
  width: 100%;
  float: none;
}

aside-v {
  width: 100%;
  float: none;
}

article {
  margin: 0;
  padding: 10px 0;
  font-size: 10pt;
  font-weight: normal;
  text-align: justify;
  line-height: 20px;
}

.article-v {
  margin: 0;
  padding: 10px 0;
  font-size: 10pt;
  font-weight: normal;
  text-align: justify;
  line-height: 20px;
}

table td#spalte {
  width: 50;
  overflow: hidden;
  display: inline-block;
  white-space: normal;
}

table td.leer {
  width: 5px;
    overflow: hidden;
    display: inline-block;
  white-space: normal;
}

.article-w {
  margin-left: 0;
  margin-right: 0;
}

footer {
  margin: 0;
  padding: 10px 0;
}


/*****************Besonderheiten für Bildschirmgroesse max. 480px***********************/

@media (max-width: 480px) {

#wrapper {
  width: 85%;
}

td {
  border-bottom: 1px solid lightgray;
}

}