/* Grundlegendes Styling */
body {
    margin: 0;
    padding: 0;
    font-family: 'Lora', serif;
    font-weight: 400;
    font-size: 1.1em;
    background-color: black;
    color: white;
    text-align: center;
    overflow-x: hidden; /* Verhindert horizontales Scrollen */
}

#background-container {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    overflow: hidden;
    z-index: -1;
    display: flex; /* Flexbox aktivieren, um die Bilder zu zentrieren */
    justify-content: center; /* Horizontale Zentrierung */
    align-items: center; /* Vertikale Zentrierung */
}

.background-image {
    position: absolute;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    object-fit: cover;
    opacity: 0;
    transition: opacity 2s ease-in-out;
}

.background-image.active {
    opacity: 1;
}

/* Responsives Design für kleinere Bildschirme */
@media (max-width: 768px) {
    #background-container {
        height: 100vh; /* Sicherstellen, dass der Container die Höhe des Bildschirms hat */
        width: 100vw; /* Breite des Containers auf den Bildschirm anpassen */
    }

    .background-image {
        object-position: center center; /* Zentriert das Bild sowohl horizontal als auch vertikal */
    }
}

/* Hauptcontainer */
.container {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Navigation */
nav {
    margin-bottom: 20px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1000;
    padding: 10px 0;
    text-align: center;
    display: flex; /* Flexbox aktivieren */
    justify-content: center; /* Links zentrieren */
    gap: 20px; /* Abstand zwischen den Links */
    flex-wrap: nowrap; /* Verhindert das Umbrechen in eine zweite Zeile */
}

/* Links in der Navigation */
nav a {
    color: #fff;
    padding: 14px 20px;
    text-decoration: none;
    font-size: 18px;
    white-space: nowrap; /* Verhindert Zeilenumbruch bei Links */
}

nav a:hover {
    color: white;
    background-color: transparent; /* Kein Hintergrund */
}

/* Responsives Design für kleinere Bildschirme */
@media (max-width: 768px) {
    nav {
        padding: 8px 0;
        gap: 10px; /* Weniger Abstand auf kleineren Bildschirmen */
    }

    nav a {
        font-size: 16px; /* Kleinere Schriftgröße für mobile Geräte */
        padding: 10px 15px; /* Weniger Abstand bei Links */
    }
}

@media (max-width: 480px) {
    nav {
        padding: 8px 0;
    }

    nav a {
        font-size: 14px; /* Noch kleinere Schriftgröße für sehr kleine Bildschirme */
    }
}

a, h1, h2, h3, p {
    color: white;
    text-shadow:
    -2px -2px 4px rgba(0, 0, 0, 0.7),
     2px -2px 4px rgba(0, 0, 0, 0.7),
    -2px  2px 4px rgba(0, 0, 0, 0.7),
     2px  2px 4px rgba(0, 0, 0, 0.7),
     0px  0px 6px rgba(0, 0, 0, 0.5); /* weicher, zentraler Schatten */

    }

/* Absätze */
p {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 20px;

}

a {
    color: white;
  }

/* Formular */
form {
    background-color: rgba(0, 0, 0, 0.7);
    padding: 20px;
    border-radius: 8px;
    margin-top: 30px;
    max-width: 400px;
    margin: 20px auto;
    text-align: left;
    width: 100%; /* Damit das Formular auch auf großen Bildschirmen nicht über den Bildschirmrand geht */
}

form input, form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #fff;
    background-color: transparent;
    color: white;
    font-size: 16px;
    border-radius: 4px;
    box-sizing: border-box; /* Dies sorgt dafür, dass Padding und Border die Breite nicht übersteigen */
}

form input[type="submit"] {
    background-color: #444;
    cursor: pointer;
}

form input[type="submit"]:hover {
    background-color: #666;
}

@media (max-width: 768px) {
    form input[type="submit"] {
        font-size: 12px; /* Kleinere Schriftgröße für mobile Geräte */
        padding: 15px;
    }
}

/* Unterseiten */
section {
    min-height: 100vh; /* Stellt sicher, dass jede Unterseite mindestens die Bildschirmhöhe ausfüllt */
    padding: 40px;
}

/* Schriftgröße für H1 */
h1 {
    font-size: 3.4em;
    margin-bottom: 10px;
    font-family: 'Cormorand Garamond', serif;
    font-weight: bold; /* Fett für Hauptüberschriften */
    font-style: italic; /* Kursiv für extra Stil */
}

/* Responsives Design für kleinere Bildschirme */
@media (max-width: 768px) {
    h1 {
        font-size: 9vw; /* Schriftgröße relativ zur Breite des Bildschirms */
        line-height: 1.2; /* Angepasste Zeilenhöhe für bessere Lesbarkeit */
        margin-bottom: 5px; /* Etwas weniger Abstand nach unten */
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 11vw; /* Noch kleinere Schriftgröße auf sehr kleinen Bildschirmen */
        margin-bottom: 5px; /* Weniger Abstand nach unten */
    }
}

/* Schriftgröße für H2 */
h2 {
    font-size: 1.8em;
    margin-top: 40px;
    margin-bottom: 20px;
    font-family: 'Lora', serif;
    font-weight: 400; /* Fett für Hauptüberschriften */
    font-style: italic;
}

h3 {
    font-size: 1.4em;
    padding-top: 0;
    margin-top: 10px;
    margin-bottom: 20px;
    font-family: 'Lora', serif;
    font-weight: 400; /* Fett für Hauptüberschriften */
}

p {
    font-family: 'Lora', serif;
    font-style: normal; /* Normal für den Text */
}

/* Film-Sektion */
#film {
    padding: 40px;
}

/* Der Video-Player */
video {
    width: 100%;
    height: 80vh; /* Setzt die Höhe des Videos auf 85% der Fensterhöhe */
    object-fit: contain; /* Stellt sicher, dass das Video in den verfügbaren Raum passt, ohne das Seitenverhältnis zu verzerren */
}

/* video-container */
.video_container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh; /* Die volle Höhe des Bildschirms */
}

.team-list {
    display: flex;
    flex-direction: column; /* Stellt sicher, dass die Reihen untereinander sind */
    width: 100%; /* Maximale Breite */
    padding: 0 20px; /* Reduziert Abstand links und rechts */
    margin: 0; /* Zentriert den Container */
    box-sizing: border-box; /* Sorgt dafür, dass Padding korrekt berechnet wird */
    text-align: left; /* Verhindert, dass der Text zentriert wird */
  }
  
  .team-row {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    text-align: left; /* Stelle sicher, dass der Text linksbündig ist */
  }
  
  .team-department {
    font-weight: bold;
    color: #ccc;
    text-align: left; /* Verhindert, dass der Text zentriert wird */
  }
  
  .team-name {
    color: #fff;
    text-align: right; /* Verhindert, dass der Text zentriert wird */
  }

  @media (max-width: 600px) {
  
    .team-list {
    padding: 0 5px; /* Noch weniger Abstand auf kleinen Geräten */
    }
    p, .team-row {
      font-size: 15px;
    }
  
    form input, form textarea {
      font-size: 14px;
    }
  
    .team-department, .team-name {
      font-size: 15px;
    }
  }

  @media (max-width: 480px) {
    .team-list {
      padding: 0 5px; /* Minimaler Abstand auf kleinen Bildschirmen */
    }
  }

  .responsive-image {
    width: 50%; /* Das Bild wird auf die verfügbare Breite des Containers skaliert */
    height: auto; /* Die Höhe wird automatisch angepasst, um das Seitenverhältnis beizubehalten */
    max-width: 100%; /* Verhindert, dass das Bild größer als seine natürliche Größe wird */
    object-fit: contain; /* Stellt sicher, dass das Bild innerhalb des Containers bleibt und nicht verzerrt wird */
    display: block; /* Verhindert, dass das Bild inline mit Text angezeigt wird */
    margin-top: 20px; /* Ein kleiner Abstand zwischen dem Text und dem Bild */
    margin-left: auto; /* Automatische Ränder für die horizontale Zentrierung */
    margin-right: auto; /* Automatische Ränder für die horizontale Zentrierung */
  }

  @media (max-width: 768px) {
    .responsive-image {
        width: 80%;
    }
}

  footer {
    position: relative; /* Stellt sicher, dass der Footer am Ende des Inhalts bleibt */
    opacity: 0; /* Anfangs unsichtbar */
    transition: opacity 0.3s ease; /* Sanfter Übergang, wenn der Footer erscheint */
    width: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    text-align: center;
    padding: 20px;
    margin-top: 20px; /* Ein kleiner Abstand nach oben */
    box-sizing: border-box; /* Macht sicher, dass Padding und Border zur Gesamtbreite zählen */
    z-index: 10;
}

footer.visible {
    opacity: 1; /* Sichtbar, wenn der Benutzer das Ende der Seite erreicht */
}

footer p {
    margin: 0;
    font-size: 14px;
}

span.and-sign {
    font-family: 'Lora', serif;
}