.coLightgray {
    color: var(--textColor);
}

.coGreen {
    color: green;
}

.coGray {
    color: gray;
}

.coRed {
    color: red;
}

.coYellow {
    color: yellow;
}

.fwLighter {
    font-weight: lighter;
}

.fwNormal {
    font-weight: normal;
}

.fwBold {
    font-weight: bold;
}

.cat {
    background-color: var(--colorFREEGREEN);
    border-radius: 4px;
    border: 1px solid #fff;
    overflow: hidden;
}

.cat.closed {
    background-color: var(--colorCLOSEDRED);
}

.booked {
    overflow: hidden;
    position: relative;
}

.cat label {
    width: 8.0em;
    height: 3.0em;
}

.cat label span {
    text-align: center;
    padding: 3px 0;
    display: block;
    color: #fff;
}

.cat label input {
    position: absolute;
    display: none;
    color: #fff !important;
}

div.cat:has(input:checked) {
    background-color: var(--colorMEISERBlau40);
}

.privacy_policy_text {
    float: left;
    margin: 30px 10px;
}

#booking {
    float: left;
    width: 200px;
    height: 50px;
    background-color: var(--colorMEISERGrau2);
    color: #ffffff;
    font-weight: bold;
}

#booking:hover {
    background-color: var(--colorMEISERBlau40);
}

.user-label {
    display: block;
    width: 50px;
}

.mod_events_booking {
    height: auto;
}

#booking-data div, .description-container {
    padding: 10px;
}

/* #booking-data div.booking-data-div {} */

.grit-container {
    display: grid;
    grid-template-columns: auto auto auto;
    grid-template-rows: auto;
    padding: 10px;
    grid-auto-flow: row;
}

.grid-item {
    padding: 5px;
    font-size: 20px;
    text-align: center;
    width: 100px;
}

.grid-item:not(.closed):hover {
    background-color: var(--colorMEISERBlau40);
}

div.booked:after {
    content: "";
    overflow: hidden;
    position: absolute;
    margin: 0;
    width: 30px;
    height: 30px;
    transform: rotate(45deg);
    background-color: var(--colorMEISERBlau40);
    top: -15px;
    right: -15px;
}

div.booked:not(.closed):hover:after {
    background-color: var(--colorFREEGREEN);
}

#policy_right, #policy_left {
    float: left;
}

@media only screen and (max-width: 600px) {
    #policy_left {
        height: 70px;
        float: right;
    }
}

@media only screen and (max-width: 360px) {
    #policy_left {
        height: 15px;
        float: right;
    }
}

#booking-error {
    color: var(--colorCLOSEDRED);
}

:root {
    --colorBLUE: #101e39;
    --colorLIGHTGREY: #787b7e;
    --colorGREY: #5b5b5b;
    --colorGREYISH: #6a7373;
    --colorDARKGRAY: #7b7b7b;
    --colorGREEN: #049605;
    --colorFREEGREEN: #A9C91E;
    --colorCLOSEDRED: #ef5350; /*#E8555F;*/
    --colorBOOKEDBLUE: #78B8B5;
    --colorVERYLIGHTGREY: #C7C7C7;

    --colorMEISERBlau: rgb(16, 30, 57);
    --colorMEISERBlau40: rgb(124, 129, 154);
    --colorMEISERBlau20: rgb(182, 182, 199);
    --colorMEISERBlau10: rgb(216, 217, 227);
    --colorMEISERGrau: rgb(120, 123, 126);
    --colorMEISERGrau2: rgb(97, 101, 104);
    --colorMEISERHellgrau: rgb(232, 232, 232);
    --colorMEISERWeiss: rgb(255, 255, 255);
    --colorMEISERSchwarz: rgb(20, 20, 20);
    --colorMEISERSchwarz75: rgb(80, 80, 80);
    --colorMEISERSchwarz55: rgb(127, 127, 127);

    --textColor: black;
}

html[data-color-scheme=dark] {
    --textColor: white;
}