*{
    margin: 0px;
    padding: 0px;
}

a, a:-webkit-any-link {
text-decoration: none;
}
    body {
    font-family: 'Fira Sans', 'Arial', sans-serif;
}
html {
    background-color: #eaeaea;
}


/* Grundlegendes Styling für die Navbar */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    background-color: #c4bcb1; /* Dunkler Hintergrund */
    transition: background-color 0.3s ease; /* Sanfter Übergang der Hintergrundfarbe */
}

.navbar:hover {
    background-color: #beb6ab; /* Hellerer Hintergrund bei Hover */
}

/* Styling für das Logo in der Mitte */
.navbar_logo {
    flex-grow: 1; /* Veranlasst das Logo, sich in der Mitte zu zentrieren */
    display: flex;
    justify-content: center;
    align-items: center;
}

.navbar_logo img {
    max-width: 100px; /* Maximale Breite für das Logo */
    transition: transform 0.3s ease; /* Sanfte Animation bei Hover */
}

.navbar_logo:hover img {
    transform: scale(1.02); /* Logo leicht vergrößern bei Hover */
}

/* Styling für die Icons rechts */
.navbar_icon {
    display: flex;
    align-items: center;
    margin-left: 20px; /* Abstand zwischen den Icons */
    transition: transform 0.3s ease; /* Sanfte Animation bei Hover */
}

.navbar_icon img {
    width: 30px; /* Standardgröße für Icons */
    height: 30px; /* Standardhöhe für Icons */
    transition: transform 0.3s ease; /* Sanfte Animation bei Hover */
}

.navbar_icon:hover img {
    transform: scale(1.02); /* Icons leicht vergrößern bei Hover */
}
.invisible {
    opacity: 0.01;
}


.dashboard {
    background-color: #fff;
    max-width: 1200px;
    height: 100%;
    min-height:900px;
    margin: auto;
    padding:20px;
}

.header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}

.timeline {
    width: 100%;
    overflow-x: auto;
}

/* Allgemeines Styling für die Tabelle */
table {
    width: 100%;
    border-collapse: collapse; /* Entfernt doppelte Ränder */
    background-color: #333; /* Dunkler Hintergrund für die Tabelle */
    margin: 20px auto; /* Zentriert die Tabelle */
    border-radius: 8px; /* Abgerundete Ecken für die Tabelle */
    transition: background-color 0.3s ease; /* Sanfter Übergang der Hintergrundfarbe */
}

table:hover {
    background-color: #444; /* Aufhellen der Tabelle bei Hover */
}

/* Styling für die Tabellenzeilen (tr) */
tr {
    transition: background-color 0.3s ease; /* Sanfter Übergang für Zeilen bei Hover */
}




/* Styling für die Tabellenköpfe (th) */
th {
    background-color: #f5f5f5; /* Etwas dunklerer Hintergrund für den Tabellenkopf */
    color: #000000; /* Weiße Schriftfarbe */
    padding: 12px 18px; /* Polsterung für die Kopfzellen */
    text-align: left; /* Text links ausrichten */
    border-bottom: 1px solid #444; /* Dünner Rand unter jeder Zelle */
    font-size: 18px; /* Größere Schriftgröße */
    transition: background-color 0.3s ease; /* Sanfter Übergang der Hintergrundfarbe */
}



/* Styling für die Tabellenzellen (td) */
td {
    padding: 12px 18px; /* Polsterung für die Zellen */
    color: #000000; /* Weiße Schriftfarbe */
    text-align: left; /* Text links ausrichten */
    border-bottom: 1px solid #444; /* Dünner Rand unter jeder Zelle */
    font-size: 16px; /* Normale Schriftgröße */
    transition: background-color 0.3s ease; /* Sanfter Übergang für Hintergrundfarbe */
}




/* Alternierende Zeilenfarbe für bessere Lesbarkeit */
tr:nth-child(even) {
    background-color: #e8e8e8; /* Dunklerer Hintergrund für gerade Zeilen */
}

tr:nth-child(odd) {
    background-color: #f5f5f5; /* Hellerer Hintergrund für ungerade Zeilen */
}











/* Styling für die Leiste */
.rs_bar {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 20px 30px 20px;
    border-radius: 8px; /* Abgerundete Ecken */
    transition: background-color 0.3s ease; /* Sanfter Übergang der Hintergrundfarbe */
}

.rs_bar:hover {
}

/* Styling für die Buttons */
.rs_switch_button {
    background-color: #c4bcb1; /* Graue Hintergrundfarbe */
    color: #000000;
    border: none;
    padding: 8px 12px;
    font-size: 18px;
    border-radius: 4px;
    cursor: pointer;
    transition: transform 0.3s ease, background-color 0.3s ease; /* Sanfte Animationen */
    margin: 0 10px; /* Abstand zwischen den Buttons */
    font-family: Arial;
    font-weight: 400;
}

.rs_switch_button:hover {
    background-color: #beb6ab; /* Etwas hellere Farbe beim Hover */
    transform: scale(1.02); /* Leichte Vergrößerung bei Hover */
}

/* Styling für das Datumsfeld */
.rs_date_display {
    background-color: #c4bcb1; /* Gleiche Hintergrundfarbe wie die Buttons */
    color: #000000;
    border: none;
    padding: 8px 15px;
    font-size: 18px;
    border-radius: 4px;
    text-align: center;
    width: 150px; /* Breite des Datumsfelds */
    transition: background-color 0.3s ease, transform 0.3s ease; /* Sanfte Animationen */
    font-family: Arial;
    font-weight: 400;
}

.rs_date_display:focus {
    outline: none;
    background-color: #beb6ab; /* Hellerer Hintergrund, wenn das Datumsfeld fokussiert ist */
    transform: scale(1.02); /* Leicht vergrößern, wenn das Feld aktiv ist */
}

.rs_date_display::-webkit-calendar-picker-indicator {
    filter: invert(1); /* Um die Kalender-Auswahl-Schaltfläche besser sichtbar zu machen */
}







.no-border {
    border: 0px solid #ccc;
    border: none !important;

}

.time-boxes {
    height: 30px;
}
.time-box {
    border: none;
    border-left: 1px solid #333333;
    display: flex;
    flex-direction: column; /* Inhalte vertikal anordnen */
    justify-content: center; /* Platz zwischen den Elementen */
    padding-left: 1px;
    overflow: hidden;
}


.time-box a{
    text-decoration: none;
    color: #333333;}

/* Stundenleiste */
/* Stundenleiste */
.hours-row {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.table-name-placeholder {
    width: 120px; /* Platzhalter für Tisch-Namen */
}

.hour-label {
    width: 60px; /* Breite einer Stunde (entspricht Timeslot-Breite) */
    text-align: center;
    font-size: 14px;
    color: #333;
    border-right: 1px solid #ddd;
}

/* Tisch-Container */
.table-container {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.table-name {
    width: 120px; /* Platz für Tisch-Namen */
    text-align: left;
    font-weight: bold;
    padding-right: 10px;
}

/* Zeitleisten */
.time-slots {
    display: flex;
    flex-grow: 1;
    position: relative;
    border: 1px solid #858585;
    height: 60px;
}

.time-slot {
    flex: 1 0 15px; /* Timeslot für 15 Minuten */
    border-right: 1px solid #eee;
    height: 100%;
    position: relative;
    cursor: pointer;

}
.time-slot:hover {
background-color: #e1e1e1;
}
/* Verstecktes Tooltip-Styling */
.time-tooltip {
    display: none;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    white-space: nowrap;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
}

/* Tooltip beim Hover anzeigen */
.time-slot:hover .time-tooltip {
    display: block;
}



/* Reservierung */
.reservation {
    position: absolute;
    background-color: #4ca1c5;
    border: 3px #7acef1 solid;
    box-sizing: border-box; /* Bezieht die Border in die Breite/Höhe ein */
    color: white;
    font-size: 15px;
    font-weight: bold;
    height: 100%;
    padding: 15px;
    text-align: left;
    vertical-align: center;
    border-radius: 0px;
    cursor: grab;
    z-index: 1;
    opacity: 0.99;
}



/* Hintergrund für Popup */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    align-items: center;
    justify-content: center;
}

/* Inhalt des Popups */
.modal-content {
    background: white;
    padding: 20px;
    border-radius: 8px;
    width: 300px;
}



/* --------------------------------------- */
/* POP UP WINDOW */
#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    z-index: 1000;
}
.popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    padding: 20px;
    width: 600px;
    min-height: 300px;
    border-radius: 0px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 1001;
    display: none;
}
.popup .close-btn {
    position: absolute;
    top: 30px;
    right: 30px;
    background: none;
    border: none;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
}









/* Allgemeines Styling für das Formular */
form {
    padding: 20px;
    width: 100%;
    margin: 20px auto; /* Zentriert das Formular */
    transition: background-color 0.3s ease;
}

form:hover {
}

/* Grundlegendes Styling für alle Formulareingabefelder */
input, textarea, select {
    font-family: 'Fira Sans', 'Arial', sans-serif;
    background-color: #e8e6e4;
    color: #000000;
    border: none;
    padding: 10px;
    font-size: 16px;
    border-radius: 4px;
    width: 90%;
    margin-bottom: 15px;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

/* Fokussieren von Eingabefeldern */
input:focus, textarea:focus, select:focus {
    outline: none;
    background-color: #e8e6e4;
    transform: scale(1.02); /* Leichtes Vergrößern bei Fokussierung */
}

/* Spezifisches Styling für Textfelder */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"] {
    width: 90%
}

/* Styling für Textarea (mehrzeilige Eingabefelder) */
textarea {
    min-height: 120px; /* Mindesthöhe für Textarea */
    resize: vertical; /* Möglichkeit zur Größenänderung vertikal */
}

/* Styling für Dropdown-Menüs */
select {
    padding: 12px; /* Größere Padding für das Dropdown-Menü */
    font-size: 16px;
}

/* Styling für Checkboxen */
input[type="checkbox"], input[type="radio"] {
    margin-right: 10px;
    transform: scale(1.02); /* Etwas größere Checkboxen/Radios */
    transition: transform 0.3s ease; /* Sanfte Animation */
}

/* Hover-Effekt für Checkboxen und Radios */
input[type="checkbox"]:hover, input[type="radio"]:hover {
    transform: scale(1.02); /* Vergrößern bei Hover */
}

/* Einfärben des Icons */
input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(34%) sepia(62%) saturate(355%) hue-rotate(180deg) brightness(90%) contrast(92%);
}


/* Styling für die Labels */
label {
    font-size: 16px;
    margin-bottom: 8px;
    display: block;
    color: #000000;
}

button{
    background-color: rgba(255, 255, 255, 0);
    border: none;
}
/* Styling für den Submit-Button */
button[type="submit"], .isbutton {
    font-family: 'Fira Sans', 'Arial', sans-serif;
    background-color: #ccc4ba; /* Blaue Hintergrundfarbe */
    color: #000000;
    border: none;
    padding: 12px 20px;
    font-size: 18px;
    font-weight: 500;
    border-radius: 4px;
    cursor: pointer;
    width: 90%;
    transition: background-color 0.3s ease, transform 0.3s ease;
    margin-top: 10px;
}

/* Hover-Effekt für den Submit-Button */
button[type="submit"]:hover, button.isbutton:hover {
    background-color: #ccc4ba; /* Hellere Blautöne bei Hover */
    transform: scale(1.02); /* Leicht vergrößern bei Hover */
}

/* Styling für den Reset-Button */
button[type="reset"] {
    background-color: #ff7777; /* Rote Hintergrundfarbe */
    color: #000000;
    border: none;
    padding: 12px 20px;
    font-size: 18px;
    border-radius: 4px;
    cursor: pointer;
    width: 90%;
    transition: background-color 0.3s ease, transform 0.3s ease;
    margin-top: 10px;
}

/* Hover-Effekt für den Reset-Button */
button[type="reset"]:hover {
    background-color: #ff9999; /* Hellere Rottöne bei Hover */
    transform: scale(1.02); /* Leicht vergrößern bei Hover */
}

/* Spezifisches Styling für den Datepicker */
input[type="date"] {
    background-color: #e8e6e4;
    color: #000000;
    border: none;
    padding: 8px 12px;
    font-size: 16px;
    border-radius: 4px;
    width: 90%;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

/* Fokussierung auf Datepicker */
input[type="date"]:focus {
    outline: none;
    background-color: #e8e6e4;
    transform: scale(1.02); /* Leichtes Vergrößern bei Fokussierung */
}

/* Styling für den Datei-Upload-Button */
input[type="file"] {
    background-color: #e8e6e4;
    color: #000000;
    border: none;
    padding: 10px;
    font-size: 16px;
    border-radius: 4px;
    width: 90%;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

/* Hover-Effekt für Datei-Upload-Button */
input[type="file"]:hover {
    background-color: #e8e6e4;
}


/* Grundlegendes Styling für die Navbar */
div.mas {
    padding: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

div.sla {
    width: 48%;
}

@media only screen and (max-width: 800px) {
    div.mas {
        padding: 20px;
        display: block;
        align-items: center;
    }

    div.sla {
        width: 100%;
    }
}