/* CSS-Reset */
*{
    box-sizing: border-box;
    margin:0; 
    padding:0;
}
/* Grundlegende universelle Anpassungen für responsives Design */
*, *::before, *::after {
    box-sizing: border-box;
}

img, video, iframe {
    max-width: 100%;
    height: auto;
    display: block;
}

body {
    overflow-x: hidden; /* Verhindert horizontales Scrollen */
    min-width: 320px;
}
/* asap-condensed-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Asap Condensed';
  font-style: normal;
  font-weight: 400;
  src: url('../font/asap-condensed-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* catamaran-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Catamaran';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/catamaran-v27-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



html{ 
    font-size: 18px;
}
body{
    font-size:1.2rem;
    font-family: 'Roboto', sans-serif;
    color:#363636;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    min-height: 100vh;
    
}
.video-background {
    position: fixed; /* Fixiert das Video im Viewport */
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100; /* Legt das Video in den Hintergrund */
    object-fit: cover; /* Stellt sicher, dass das Video den gesamten Container ausfüllt */
}
.header-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* Stellt sicher, dass das Overlay den gesamten Bildschirm bedeckt */
    /*background: rgba(54, 54, 54, 0.4); /* Dunkler, halb-transparenter Overlay-Effekt */
    z-index: -99; /* Legt das Overlay über das Video, aber unter den Inhalt */
}
/* Überschriften */
h1{
    font-family:'Asap Condensed';
    font-size: 3rem;
    position: absolute; /* H1 absolut positionieren, um es unabhängig vom Flex-Layout zu zentrieren */
    left: 50%; /* Zentriert den linken Rand des H1 in der Mitte des Headers */
    transform: translateX(-50%); /* Verschiebt das H1 um die Hälfte seiner eigenen Breite nach links, um es perfekt zu zentrieren */
    text-align: center; /* Stellt sicher, dass der Text innerhalb des H1 zentriert ist */
    flex-grow: 0; /* Entfernt: Verhindert, dass H1 unnötig wächst */
    width: auto; /* Stellt sicher, dass H1 die benötigte Breite einnimmt, nicht mehr */
    max-width: calc(100% - 4rem); /* Begrenzt die Breite, damit es nicht mit den Seiten kollidiert */
}
h3{
    font-size:1.8rem;
    text-align: center;
    
}
/* Fliesstext */
p{
    line-height: 1.2;
    letter-spacing: 1px;
    font-family: 'Catmaran';
}
/* Header */
header{
    grid-column: 1 / 6;
    padding: 1rem;
    margin-bottom: auto;
    background-color: rgb(125, 124, 124);
    color:#ffffff;
    display:flex;
    justify-content: space-between;
    align-items: flex-end;
    border-radius: 0 0 15px 15px;
    border:4px solid #363636;
    position: relative; /* Wichtig für die absolute Positionierung des H1 */
}
/* Logo Rotor Vision */
.logo {
    height: 5rem;
    width: auto;
    margin-right: auto;
}
/* Navigation */

a:hover {
    color: #07991fcc;
    cursor: url('../img/Drone.cur'), auto;
}
ul{
    padding:0;
}
nav{
    padding:0rem; 
    align-items: flex-end;
    
}
nav ul li{
    display: inline;
    margin-left: 0.6rem;
}
nav ul li a{
    text-decoration: none;
    background-color: #b4d0e9;
    color:#363636;
    padding:0.3rem;
    border:2px solid black;
    border-radius: 0 0 10px 0;
    position: relative;
}
nav ul li a:hover{
    color:#000000;
    background-color: rgb(216, 216, 216);
}
.single ul li a {
    border-radius: 0 0 0 10px;
}

/* Bereiche */
main{
  grid-column: 1 / 6;
  flex-grow: 1;
  margin: 0;
  padding: 0;
}

section{
   padding: 1rem 0;
   display:grid;
   grid-template-columns: 1fr 1fr;
   gap:0.5rem;
}

article {
    padding: 1rem;
    background-color: rgb(125, 124, 124);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.eins {
    border-radius: 0px 0px 70px 0px;
}

.zwei {
    border-radius:  0px 0px 0px 70px;
}

.erste{
   grid-column: 1/2;
   border:4px solid #363636;
   border-radius: 0 4.5rem 4.5rem 0;
   align-self: start;
   margin-top: 8rem;
}

.zweite{
    grid-column: 2/3;
    border:4px solid #363636;
    border-radius: 4.5rem 0 0 4.5rem;
    align-self: end;
    margin-bottom: 8rem; 
}
/* Eigenschaften Videos im Grid */
video{
   width:30vw;
   height:auto;
   max-width: 100%;
   border-radius: 15px;
}
/* Eigenschaften Bilder in Gallerie */
figure{
   width: 10vw;
   margin:0 auto;
   display:block;
}
img{
    max-width:100%;
}
/* Gallerie Grid*/
.gallerie-section {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    padding: 2rem;
    background-color: rgb(125, 124, 124);
    border: 4px solid #363636;
    border-radius: 4.5rem; 
    margin: 0.5rem auto;
    width: 70vw; 
    max-width: 100%;
}

.gallerie-item {
    border: 2px solid #363636;
    border-radius: 15px;
    overflow: hidden;
    cursor: pointer; /* Zeigt an, dass das Element klickbar ist */
    height: 150px;
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out; /* Übergänge für Animation */
}

.gallerie-item:hover {
    transform: scale(1.05); /* Skaliert das Bild beim Hovern leicht hoch */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4); /* Fügt einen Schatten hinzu */
}

.gallerie-item img {
    display: block;
    width: 100%;
    height: 100%; /* Geändert: Höhe ist nun 100% des Eltern-Containers */
    object-fit: cover; /* Neue Zeile: Füllt den Container, schneidet ab, wenn nötig */
}
.gallerie-page nav ul li:nth-child(1) a {
    border-radius: 0 0 0 10px;
}
/* Footer */
footer{
    background-color: rgb(125, 124, 124);
    padding: 1rem;
    margin-top: auto;
    grid-column: 1 / 6;
    border:4px solid #363636;
    border-radius: 15px 15px 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: space-between;
    align-items: center;
    color: #ffffff;
}

.footer-contact {
    padding: 0 1rem;
    text-align: left;
    justify-self: center;
}

.footer-contact p {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.footer-link {
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-link a {
    text-decoration: none;
    color: #b4d0e9;
    background-color: #363636;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    border: 2px solid #b4d0e9;
}

.footer-link a:hover {
    background-color: #555555;
    color: #ffffff;
}
/* Lightbox / Bild-Viewer */
#lightbox-overlay {
    display: none; /* Standardmäßig versteckt */
    position: fixed;
    z-index: 1000; /* Stellt sicher, dass es über allem anderen liegt */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9); /* Dunkler, transparenter Hintergrund */
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#lightbox-overlay.show {
    display: flex; /* Wird durch JavaScript eingeblendet */
}

.lightbox-content {
    display: flex;
    justify-content: center;
    align-items: center;
    /* Ermöglicht, dass das Bild zwischen Header und Footer passt */
    padding: 12rem 4rem; /* Anpassbare Ränder für den Abstand */
    width: 100%;
    height: 100%;
}

#lightbox-image {
    max-width: 100%;
    max-height: 100%;
    display: block;
    object-fit: contain;
    border-radius: 10px;
}

/* Navigationsbuttons */
.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    background-color: rgba(54, 54, 54, 0.7);
    color: #ffffff;
    border-radius: 50%;
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    line-height: 60px;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.3s;
}

.nav-btn:hover {
    background-color: rgba(54, 54, 54, 1);
}

#prev-btn {
    left: 2rem;
}

#next-btn {
    right: 2rem;
}

/* Schließen-Button */
#close-btn {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #ffffff;
    font-size: 4rem;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

#close-btn:hover {
    color: #b4d0e9;
}