/* Globaler Reset für alle Elemente */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* Verhindert unerwünschte Größenänderungen durch Padding und Border */
}

/* Basis-Styles für Desktop und größere Bildschirme */
body {
    font-family: Arial, sans-serif;
    background-color: #ffffff;
    color: #003366; /* Blau */
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column; /* Flexbox für den Body */
    min-height: 100vh; /* Seite hat mindestens die volle Bildschirmhöhe */
    overflow-x: hidden; /* Verhindert horizontalen Scrollbalken */
}

/* Header-Style */
header {
    background-color: #003366; /* Dunkelblau */
    padding: 20px;
    text-align: center; /* Zentriert den Text */
    color: white;
    display: flex;
    flex-direction: column; /* Stellt sicher, dass Titel und Slogan untereinander stehen */
    justify-content: center; /* Vertikale Zentrierung des Inhalts */
    align-items: center; /* Horizontale Zentrierung */
}

/* Navigation-Style */
nav {
    background-color: #3399ff; /* Helles Blau */
    padding: 10px 0;
    text-align: center;
}

nav a {
    color: white;
    margin: 0 15px;
    text-decoration: none;
    font-weight: bold;
}

/* Main-Bereich */
main {
    flex-grow: 1; /* Hauptinhalt wächst, um den verfügbaren Platz zu füllen */
    padding: 40px 20px; /* Mehr Abstand oben und unten */
    width: 100%;
    line-height: 1.6; /* Zeilenhöhe für bessere Lesbarkeit */
}

/* Sektionen (Abstand nach unten) */
section {
    margin-bottom: 30px; /* Mehr Abstand zwischen den Sektionen */
}

/* Überschrift und Absätze */
h2, h3 {
    margin-top: 30px; /* Abstand nach oben für bessere Trennung */
    margin-bottom: 10px; /* Etwas Platz unter der Überschrift */
}

p {
    margin-bottom: 20px; /* Mehr Abstand zwischen den Absätzen */
    text-align: justify; /* Text wird gleichmäßig ausgerichtet */
}

/* Impressum Sektion: Höhe anpassen */
#impressum {
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Inhalte oben ausrichten */
    padding: 20px;
    flex-grow: 1; /* Stellt sicher, dass der Bereich den restlichen Platz einnimmt */
}

/* Footer-Style */
footer {
    background-color: #003366; /* Dunkelblau */
    color: white;
    text-align: center; /* Zentriert den Text im Footer */
    padding: 20px 0; /* Mehr Abstand oben und unten im Footer */
    width: 100%; /* Sicherstellen, dass der Footer die ganze Breite ausfüllt */
    position: relative; /* Relativer Footer-Position */
}

footer p {
    margin: 0; /* Kein Abstand zwischen den Texten im Footer */
    text-align: center; /* Sicherstellen, dass der Copyright-Text mittig ist */
    font-size: 16px; /* Kleine Schriftgröße für den Copyright-Text */
}

footer .footer-links {
    margin-top: 10px;
}

footer .footer-links a {
    color: purple;
    text-decoration: underline;
    font-weight: normal;  /* Macht den Link nicht fett */
    font-size: 1em; /* Macht den Text kleiner */
    text-transform: lowercase; /* Macht den Text kleingeschrieben */
}

footer .footer-links a:hover {
    text-decoration: underline;
}

/* Mobile-First: Media Query für kleinere Bildschirme */
@media only screen and (max-width: 768px) {
    header h1 {
        font-size: 2em; /* Größere Schrift auf kleinen Bildschirmen */
    }

    nav a {
        font-size: 0.9em; /* Größere Links für einfacheres Klicken auf kleinen Bildschirmen */
        margin: 0 10px; /* Weniger Abstand für mehr Platz */
    }

    footer {
        padding: 15px 0; /* Etwas weniger Abstand im Footer für kleine Bildschirme */
    }

    footer .footer-links {
        margin-top: 15px;
    }

    footer .footer-links a {
        margin: 0 10px;
    }
}
