body {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
}

/**
    Fonts
 */

* {
    font-family: "Roboto", sans-serif;
}

h1 {
    font-family: "Lato", sans-serif;
}

h2 {
    font-family: "Lato", sans-serif;
}

h3 {
    font-family: "Lato", sans-serif;
}

h4 {
    font-family: "Lato", sans-serif;
}

h5 {
    font-family: "Lato", sans-serif;
}

h6 {
    font-family: "Lato", sans-serif;
}

p {
    font-family: "Roboto", sans-serif;
}

a {
    font-family: "Roboto", sans-serif;
}

pre {
    font-family: "Roboto", sans-serif;
    font-size: 1rem;
    margin: 0;
}

/**
    Bootstrap Variables
 */

:root {
    /*--bs-primary: #112855; *//* new color */
    /*--bs-btn-bg: #112855;*/
    /*--bs-secondary: #007bff; */ /* new color */
}

.btn-primary {
    background-color: #112855; /* new color */
    border-color: #112855; /* new color */
}

.btn-primary:hover {
    background-color: #0a6cb5;
    border-color: #0a6cb5; /* new color */
}

/*
    Color
 */

.primary-background {
    background: #112855;;
}

.primary-color {
    color: blue;
}

.secondary-background {
    background: lightgrey;
}

/**
    General
 */


.cursor-show {
    cursor: pointer;
}

/*
.form-check-input:checked {
    background-color: #BA768C;
    border-color: #BA768C;
}
 */

.default-border-radius {
    border-radius: 10px;
}

.max-width-700 {
    max-width: 700px;
}

/**
    Components
 */

/*
    Modal
 */

/* Modal selbst */
.my-modal {
    display: none; /* Standard hidden */
    justify-content: center;
    align-items: center;
    position: fixed;

    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5); /* Halbdurchsichtiger Hintergrund */
    animation: my-fadeIn 0.5s forwards; /* Fade-In-Animation */
}

.my-modal-content {
    background-color: #fff;

    border-radius: 10px;

    max-height: 90vh;
    overflow-y: scroll;

    /*margin: 10% auto; */ /* Zentriert */
    padding: 20px;
    border: 1px solid #888;
    width: 90%; /* Breite des Modals */
    animation: my-slideIn 0.5s forwards; /* Slide-In-Animation */
}

.my-modal.fade-out {
    animation: my-fadeOut 0.5s forwards;
}

.my-modal-content.slide-out {
    animation: my-slideOut 0.5s forwards;
}

.my-close {
    color: #bbb;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.my-close:hover,
.my-close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* Hintergrund scrollen verhindern */
body.my-modal-open {
    overflow: hidden;
}


@keyframes my-fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes my-slideIn {
    from {
        transform: translateY(-50px);
    }
    to {
        transform: translateY(0);
    }
}

@keyframes my-fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes my-slideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-50px);
    }
}


@media only screen and (max-width: 599px) {
    .my-modal-content {
        width: 95%; /* Breite des Modals */
    }
}

@media only screen and (min-width: 600px) and (max-width: 999px) {
    .my-modal-content {
        width: 80%; /* Breite des Modals */
    }
}

@media only screen and (min-width: 1000px) {
    .my-modal-content {
        width: 65%; /* Breite des Modals */
    }
}


/**
    Kalender
 */

.my-calendar-event {
    background-color: #112855;
    color: white;
    margin-bottom: 10px;
    overflow: hidden;
    word-wrap: break-word;
}

.my-calender-week-week-div {
    display: flex;
    flex-direction: column;
}

.my-calender-week-week-day-div {
    border: 1px solid black;
    width: 14%;
    min-height: 100px;
}

.my-calender-week-day-next {
    border: 1px solid grey;
    color: grey;
}

@media only screen and (max-width: 599px) {
    .my-calender-week-week-day-div {
        width: 100%;
    }

    .overflow-small-x-scroll {
        overflow-x: scroll;
    }
}

@media only screen and (min-width: 600px) and (max-width: 999px) {
    .my-calender-week-week-div {
        flex-direction: row;
    }
}

@media only screen and (min-width: 1000px) {
    .my-calender-week-week-div {
        flex-direction: row;
    }
}

/**
    Photolightbox
 */


.my-lightbox {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9);
    align-items: center; /* Zentriert den Inhalt vertikal */
    justify-content: center; /* Zentriert den Inhalt horizontal */
}

.my-lightbox-content {
    max-width: 90%;
    height: auto;
    max-height: 90%;
    width: auto;
}

.my-close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #bbb;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

.my-close:hover,
.my-close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/**
    Reports
 */

.scrollable-box {
    width: 100%; /* Optional: Can adjust this value */
    height: 25vh;
    overflow-y: auto;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

/**
    Hours
 */

.special-hours-day-div {
    overflow: auto;
}

@media only screen and (max-width: 599px) {
    .special-hours-day-div {
        overflow: scroll;
    }

}

@media only screen and (min-width: 600px) and (max-width: 999px) {
    .special-hours-day-div {
        overflow: scroll;
    }

}

@media only screen and (min-width: 1000px) {

}


/**
    Button / Link / Color classes
 */

a {
    color: #112855;
}

a:hover {
    color: #0a6cb5;
}

.default-button {
    color: white;
    background-color: #87B526;
    /*background-color: #AFD24F;*/
    padding: 10px;
    border-radius: 10px;
    text-decoration: none;
    cursor: pointer;
    border: none;

}

.default-button-secondary {
    color: white;
    background-color: #4D4D4D;
    padding: 10px;
    border-radius: 10px;
    text-decoration: none;
    cursor: pointer;
    border: none;
}

.default-button:hover {
    color: black;
}

.default-green-color {
    color: #87B526;
}

/**
    Form
 */

/*
.form-control:focus {
    border-color: #87B526 !important;
    box-shadow: inset 0 1px 1px rgba(135, 181, 38, 0.075), 0 0 8px rgba(135, 181, 38, 0.6) !important;
}

 */

@media only screen and (max-width: 599px) {


}

@media only screen and (min-width: 600px) and (max-width: 999px) {


}

@media only screen and (min-width: 1000px) {


}
