* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}


html, body {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    font-family: arial, sans-serif;
    font-size: 100%;
    scroll-behavior: smooth;
    box-sizing: border-box;
}

body {
    background-color: whitesmoke;
}

header, nav, footer, aside, section, article {
    display: block;
}


#wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

header {
    background-color: indigo;
    line-height: 5em;
}

.logo {
    color: white;
    text-align: left;
    font-size: 3em;
    padding: 10px 0px 0px 20px;
}

#titelklein {
    color: white;
    text-align: left;
    font-size: 1.25em;
    padding: 0px 0px 0px 20px;
}

.sprache {
    color: white;
    font-size: 0.8em;
    text-align: right;
    padding: 0 10px 10px 0;
    background-color: indigo;
}

.sprache a {
    color: white;
    text-decoration: none;
}

.sprache a:hover {
    background-color: gray;
    color: white;
}


.topnav {
    background-color: lightgray;
    overflow: hidden;
    text-align: center;
    position: sticky;
    top: 0;
    height: auto;
    padding: 0.5em ;
}

.topnav a {
    color: black;
    text-decoration: none;
    display: block;
    padding: 0 1em;
    float: left;
    text-align: center;
}

.topnav a:hover {
    background-color: gray;
    color: white;
}

.topnav .icon {
    display: none;
    position: sticky;
}

#myTopnav {
    position: sticky;
}

.hidden {
            display: none;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        .visible {
            display: block;
            opacity: 1;
        }


article {
    background-color: white;
    padding: 1.5em 8em 1.5em 8em;
    line-height: 1.5em;
}

article p {
    margin-top: 1em;
    margin-bottom: 1em;
}

article a {
    text-decoration: none;
    color: blue;
}

article a:hover {
    text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    line-height: 1.5em;
}

h1 {
    font-size: 2.5em;
    width: 90%;
}

.sprung {
    visibility: hidden;
    height: 0em !important;
    position: absolute;
    margin: -1.5em;
}

#inlink {
    text-align: right;
    font-size: 80%;
}

article ul, ol {
    margin-left: 1em;
    padding-bottom: 0.5em;
}

#liste li {
    padding: 0.5em;
}

#reihe li{
    list-style-type: none;
    padding: 0.5em; 
    margin-left: -1.5em;
}

#literatur li{
    list-style-type: none;
}

.abstand td {
    height: 20px;
}

.zeile td {
    height: 5px;
}

#inhaltsangabe {
    font-weight: 600;
}

.sitemap ul {
    padding: 0;
}

#mailklein {
    font-size: 70%;
}

/* Formularlayout */
form {
    width: 400px;
    margin: 0 auto;
}

label {
    display: block;
    margin-bottom: 5px;
}

input[type="text"],
input[type="email"],
textarea {
    width: 100%;
    padding: 8px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

textarea {
    height: 150px; /* Höhe des Textbereichs anpassen */
}

input[type="submit"] {
    background-color: #4CAF50; /* Hintergrundfarbe der Schaltfläche */
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

input[type="submit"]:hover {
    background-color: #45a049; /* Farbe ändern beim Hover */
}

/* Fokusstil */
input:focus,
textarea:focus {
    border-color: #4CAF50;
    outline: none; /* Entferne den Standardfokus-Stil */
}

/* Fehlermeldung */
.error-message {
    color: red;
    margin-top: 5px;
}

/* Erfolgsmeldung */
.success-message {
    color: green;
    margin-top: 5px;
}


footer {
    background-color: indigo;
    height: 10em;
	line-height: 1em;
	color: white;
	font-size: 100%;
    padding: 0em 2em 6.5em 2em;
    display: flex;
    flex-direction: column;
    text-align: center;
}

footer a {
	color: white;
	text-decoration: none;
    padding: .2em 1em;
    text-align: center;
}

footer a:hover {
    background-color: gray;
    color: white;
}

footer p {
    margin-top: 1em;
    text-align: center;
    font-size: 80%;
}

#fusszeile {
    position: relative;
    bottom: 0;
}

#fussli {
    padding: 2em 1em;
}

#fussli li {
    display: inline-block;
}
*/
#fussli ul {
    padding-bottom: 0.5em;
    text-align: center;
    font-size: 100%;
    list-style-type: none;
}

@media only screen and (max-width: 700px) {
    article { padding: 1.5em 4em 1.5em 4em; }
    header { font-size: 80%; }
    .topnav a { display: none; padding: 0.5em; }
    .topnav { height: auto; }
    .topnav a:first-child{ padding-top: 2.5em; }
    .topnav a.icon { float: left; display: block; }
    .topnav.responsive { position: relative; }
    .topnav.responsive a.icon { position: absolute; left: 0.5em; top: 0.5em; }
    .topnav.responsive a { float: none; display: block; text-align: left; }
    #cover, #bilddetails { max-height: 200px !important; width: auto !important; }
}

@media only screen and (max-width: 470px) {
    header { line-height: 3em; font-size: 60%; }
    article { padding: 0 1.5em 1em 1.5em; }
    footer { padding: 0.5em 0 0em 0; }
    #cover, #bilddetails { max-height: 100px !important; width: auto !important; }
}

@page {
    size: A4;
    margin: 2cm;
}

@media print {
    html, body { width: 210mm; 297mm; }
    article { padding: 1em 1em 1em 1em; }
    header p { color: black; }
    h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
    a:after { content: " (" attr(href)") " ; color: gray; font-size: 80%; }
    table, img, figure, ul, .bild { page-break-inside: avoid; }
    .topnav, footer, #inlink, #abc { display: none; }
    ul.breadcrumbs a:after { display: none; }
    ul a:after { display: none; }
}