/* Reset some default styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
    background-color: #f4f4f4; /* Heller Hintergrund */
    color: #17364e; /* Dunkelblauer Text */
}

/* Navigation styles */
nav {
    height: 5vh; /* Vollständige Höhe des Viewports */
    background: #17364e; /* Dunkelblauer Hintergrund für die Navigation */
    color: #fff; /* Weißer Text */
    padding: 1rem 2rem;
    display: flex; /* Flexbox für die Navigation */
    justify-content: space-between; /* Platz zwischen Logo und Links */
    align-items: center; /* Vertikale Ausrichtung */
}

.nav-links {
    display: flex; /* Flexbox für die Links */
    align-items: center; /* Vertikale Ausrichtung der Links */
}

nav a {
    color: #fff; /* Weißer Text für Links */
    text-decoration: none; /* Keine Unterstreichung */
    margin: 0 1rem; /* Abstand zwischen Links */
    position: relative; /* Position für Dropdown */
    transition: color 0.3s;
}

nav a:hover {
    color: #ff4081; /* Farbe bei Hover */
}
.nav_img {
	height: 3vh; /* Vollständige Höhe des Viewports */ 
	}

/* Dropdown styles */
.dropdown {
    position: relative; /* Position des Dropdowns relativ zum übergeordneten Element */
    margin: 0; /* Entfernen des Abstands für Dropdown */
}

.dropdown-content {
    display: none; /* Standardmäßig versteckt */
    position: absolute; /* Absolute Positionierung */
    background-color: #fff; /* Weißer Hintergrund für Dropdown */
    min-width: 160px; /* Minimale Breite */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); /* Schatten */
    z-index: 1; /* Über anderen Elementen */
}

.dropdown:hover .dropdown-content {
    display: block; /* Dropdown bei Hover anzeigen */
}

.dropdown-content a {
    color: #17364e; /* Dunkelblauer Text für Dropdown-Links */
    padding: 12px 16px; /* Innenabstand */
    text-decoration: none; /* Keine Unterstreichung */
    display: block; /* Blockelement */
}

.dropdown-content a:hover {
    background-color: #f4f4f4; /* Hintergrundfarbe bei Hover */
}
.hero {
    height: 90vh; /* Vollständige Höhe des Viewports */
    display: grid;
    grid-template-areas: 
    "header header header header header"
    "left top top search right"
    "left table table table right"
    "left login login login right";
    grid-template-columns: 1fr 2fr 2fr 2fr 1fr; /* Verhältnis der Spalten */
    grid-template-rows: auto 1fr 10fr; /* Dynamische Höhen */
    justify-items: center; /* Zentrierung der Inhalte */
    align-items: center;
    text-align: center;
    padding: 1rem;
    row-gap: 1rem;
}

/* Header (Überschrift) über alle Spalten */
.hero_h2 {
    grid-area: header;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    padding-bottom: 1rem;
}

/* Linke Spalte - leer (Platzhalter) */
.hero_left {
    grid-area: left;
}
.hero_top {
    grid-area: top;
}

/* Rechte Spalte - leer (Platzhalter) */
.hero_right {
    grid-area: right;
}

/* Suchfeld in Spalte 4 */
.hero_search {
    grid-area: search;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

/* Tabelle über Spalte 2-4 */
.hero_table {
    grid-area: table;
    justify-self: center; /* Horizontale Zentrierung innerhalb des Grid-Bereichs */
    align-self: start; /* Oben ausrichten */
    width: 100%;
    max-width: 90%; /* Verhindert zu große Breite */
    border: 1px solid #ccc;
    padding: 1rem;
    background: white;
    border-radius: 8px;
    overflow-y: auto; /* Falls die Tabelle groß wird, bleibt sie scrollbar */
}

.hero_login {
    grid-area: login;
    display: flex;
    justify-content: center; /* Horizontal zentrieren */
    align-items: center; /* Vertikal zentrieren */
    height: 90vh; /* Stellt sicher, dass der Bereich die volle Höhe hat */
}

.login-form {
    display: flex;
    flex-direction: column;
    align-items: center; /* Zentriert die Inhalte innerhalb des Formulars */
    justify-content: center;
    text-align: center;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    background: rgba(255, 255, 255, 0.9);
    min-width: 300px; /* Mindestbreite, damit es nicht zu schmal wird */
}

.login-form h1 {
    margin-bottom: 1.5rem; /* Abstand unter der Überschrift */
    color: #17364e; /* Dunkelblauer Text für die Überschrift */
}

.form-group {
    margin-bottom: 1.5rem; /* Abstand zwischen den Formularfeldern */
}
.display_tabelle {
    border-collapse: collapse;
    width: 100%; /* Tabelle nutzt die volle Breite */
    border: 1px solid #000; /* Dünner Rahmen */
    border-radius: 8px; /* Abgerundete Ecken */
    overflow: hidden; /* Verhindert Überlappung der abgerundeten Ecken */
}

.display_tabelle th,
.display_tabelle td {
    border: 1px solid #ccc; /* Rahmen für Zellen */
    padding: 8px; /* Innenabstand für Zellen */
    text-align: left; /* Textausrichtung */
}

label_login {
    display: block; /* Label als Blockelement */
    margin-bottom: 0.5rem; /* Abstand unter dem Label */
    color: #17364e; /* Dunkelblauer Text für das Label */
}

input_login {
    width: 100%; /* Volle Breite des Containers */
    padding: 0.5rem; /* Innenabstand */
    border: 1px solid #ccc; /* Helle Umrandung */
    border-radius: 4px; /* Abgerundete Ecken */
}
.form-group {
    display: grid; /* Grid-Container für die gesamte Formularstruktur */
    grid-template-columns: 1fr 1fr; /* Zwei Spalten: eine feste Breite für Labels, die zweite für Eingabefelder */
    column-gap: 1rem; /* Horizontaler Abstand */
    row-gap: 0; /* Vertikaler Abstand */
    text-align: left;
}

label {
    
    color: #17364e; /* Dunkelblauer Text für das Label */
}

input, select {
    width: 100%; /* Breite minus den Abstand */
    padding: 0.25rem; /* Innenabstand */
    border: 1px solid #ccc; /* Helle Umrandung */
    border-radius: 4px; /* Abgerundete Ecken */
    margin-bottom: 0;
}

button {
    width: 100%; /* Volle Breite des Containers */
    padding: 0.7rem; /* Innenabstand */
    background: #17364e; /* Dunkelblaue Hintergrundfarbe für den Button */
    color: white; /* Weißer Text */
    border: none; /* Keine Umrandung */
    border-radius: 4px; /* Abgerundete Ecken */
    cursor: pointer; /* Handcursor bei Hover */
    transition: background 0.3s; /* Sanfter Übergang der Hintergrundfarbe */
}

button:hover {
    background: #0f2535; /* Dunklere Farbe bei Hover */
}

p {
    margin-top: 1rem; /* Abstand über dem Paragraphen */
}
/* Card layout styles */
.container {
    max-width: 1200px; /* Max width for the container */
    margin: 2rem auto; /* Center container */
    display: grid; /* Grid layout for cards */
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* Responsive grid */
    gap: 1.5rem; /* Space between cards */
}
.container_solo {
    /*height: 80vh; /* Vollständige Höhe des Viewports */
    max-width: 1200px; /* Max width for the container */
    margin: 2rem auto; /* Center container */
    display: grid; /* Grid layout for cards */
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* Responsive grid */
    gap: 1.5rem; /* Space between cards */
}

.card {
    background: white; /* White background for cards */
    border-radius: 8px; /* Rounded corners */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Subtle shadow */
    padding: 1.5rem; /* Padding inside cards */
    transition: transform 0.3s; /* Smooth transform transition */
}

.card:hover {
    transform: translateY(-5px); /* Lift effect on hover */
}

.card h3 {
    margin-bottom: 1rem; /* Space below card title */
}

footer {
    display: flex;
    height: 5vh; /* Vollständige Höhe des Viewports */
    background: #17364e; /* Dunkelblauer Hintergrund für den Footer */
    color: #fff; /* Weißer Text */
    text-align: center;
    padding: 1rem 0;
}

.display_footer{
    text-align: center;
    display: inline-flex;
}

/* Media Queries */
@media (max-width: 768px) {
    .login-form {
        padding: 1.5rem; /* Innenabstand für kleinere Bildschirme */
    }

    .login-form h1 {
        font-size: 2rem; /* Kleinere Überschrift für Mobilgeräte */
    }
    .hero h1 {
        font-size: 2.5rem; /* Smaller text for mobile */
    }

    .hero p {
        font-size: 1rem; /* Smaller paragraph text */
    }
}

@media (max-width: 480px) {
    nav {
        flex-direction: column; /* Stack nav items on small screens */
        align-items: flex-start; /* Align items to the left */
    }

    nav a {
        margin: 0.5rem 0; /* Stack links with space */
    }
}