/*Geasmtplaner*/
.wrapper-wrapper {
    overflow-y: hidden;
    overflow-x: hidden;
}

.scheduler-wrapper {
    width: 100%;
    margin-top: 0.5%;
}

/*Obere Legende*/
.scheduler-legend {
    width: 100%;
    border-bottom: 3px solid white;
}

@media only screen and (max-width: 768px) {
    .scheduler-legend {
        width: 1000px;
    }

    .wrapper-wrapper {
        overflow-y: hidden;
        overflow-x: scroll;
    }
}



/*Oben links, kurzname vom Tag*/
.scheduler-legend-day-short {
    width: 50px;
    height: 50px;
    background-color: #7FAF0E;
    float: left;
    line-height: 50px;
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
    color: white;
    font-size: 16pt;
}

/*Zeitachse in der oberen Legende*/
.scheduler-legend-timeaxis {
    background-color: #7FAF0E;
    height: 50px;
    margin-left: 55px;
}

/*timeslots in der oberen legende*/
.scheduler-legend-timeslot {
    border-right: 1px solid white;
    height: 100%;
    float: left;
}

/*Die beschriftungen der Timeslots*/
.scheduler-legend-timeslot > p {
    margin: 0;
    padding: 0 5px;
    line-height: 25px;
    height: 25px;
    font-weight: bold;
    color: white;
}

/*Startzeit des timeslots*/
.scheduler-legend-timeslot-start {
    text-align: left;
}

/*Endzeit des timeslots*/
.scheduler-legend-timeslot-end {
    text-align: right;
}

/*Wrapper für die Räume*/
.scheduler-room-wrapper {
    width: 100%;
}

/*Wrapper für ne Raum zeile*/
.room-row-wrapper {
    height: 205px;
    border-bottom: 5px solid white;
}

/*Linke Seite eine Raumlegende*/
.scheduler-room-legend {
    width: 50px;
    height: 200px;
    background-color: grey;
    float: left;
    position: relative;
    cursor: move;
}

/*Beschriftung des Raumes ind er LEgende*/
.scheduler-room-legend > span {
    color: white;
    font-weight: bold;
    font-size: 8pt;
}

/*Wrapper für die Controllbuttons für den Raum*/
.scheduler-room-controller-wrapper {
    width: 100%;
    position: absolute;
    bottom: 0;
    height: 25px;
    border-top: 2px solid white;
    text-align: center;
    line-height: 25px;
}

/*Session hinzu buztton*/
.scheduler-room-session-add-btn {
    width: 100%;
    position: absolute;
    bottom: 25px;
    height: 25px;
    border-top: 2px solid white;
    text-align: center;
    line-height: 25px;
    cursor: pointer;
}

/*Raum edit button*/
.scheduler-room-controller-button-edit {
    width: 50%;
    height: 100%;
    border-right: 1px solid white;
    float: left;
    color: #7FAF0E;
    cursor: pointer;
}

/*Raum löschen button*/
.scheduler-room-controller-button-remove {
    width: 50%;
    height: 100%;
    float: right;
    color: red;
    border-left: 1px solid white;
    cursor: pointer;
}

/*Trennzeile zwischen den räumen*/
.room-divider {
    width: 100%;
    height: 5px;
    background-color: white;
}

/*Session wrapper in ner raumzeile*/
.scheduler-sessions-wrapper {
    background-color: lightgrey;
    margin-left: 55px;
    height: 100%;
}

/*Session Zeile... Sinnig? */
.scheduler-session-row {
    height: 200px;
    width: 100%;
    position: relative;
}

/*Zeitspalte im Raum*/
.session-time-column {
    border-right: 1px dotted black;
    height: 200px;
    float: left;

}

/*Hier sind die Sessions Drinne*/
.session-content-row {
    width: 100%;
    height: 100%;
    position: relative;
}

/*Ein Session element*/
.session-element {
    height: 200px;
    top: 0px;
    background-color: rgba(0, 0, 0, 0.7);
    position: absolute !important;


}

/*Session Info*/
.session-element-info-wrapper {
    position: absolute;
    width: 100%;
    cursor: move;
    height: 24px;
    top: 0px;
    background-color: grey;
    border: 1px solid #fff;
}

.session-element-info-start {
    width: 33.3333%;
    float: left;
    line-height: 24px;
    color: white;
    font-weight: bold;
    font-size: 8pt;
    padding-left: 5px;
}

.session-element-info-number {
    width: 33.3333%;
    float: left;
    line-height: 24px;
    color: white;
    font-weight: bold;
    font-size: 8pt;
    text-align: center;
    padding-right: 2px;
    padding-left: 2px;
}

.session-element-info-end {
    width: 33.3333%;
    float: right;
    line-height: 24px;
    color: white;
    font-weight: bold;
    font-size: 8pt;
    text-align: right;
    padding-right: 5px;
}

/*session crontoller*/
.session-controller-wrapper {
    position: absolute;
    width: 100%;
    border-top: 2px solid white;
    height: 24px;
    bottom: 0px;
    background-color: grey;
    border: 1px solid #fff;
}

.session-controller-edit {
    width: 50%;
    height: 100%;
    line-height: 24px;
    text-align: center;
    color: green;
    border-right: 2px solid white;
    cursor: pointer;
    float: left;
}

.session-controller-remove {
    width: 50%;
    height: 100%;
    line-height: 24px;
    text-align: center;
    color: red;
    float: right;
    cursor: pointer;
}

.session-element-add-event-wrapper {
    position: absolute;
    bottom: 24px;
    width: 100%;
    height: 25px;
    line-height: 25px;
    background-color: darkgrey;
    text-align: center;
    cursor: pointer;
    border: 1px solid #fff;

}

.session-element-content {
    position: absolute;
    top: 24px;
    bottom: 49px;
    width: 100%;
    border: 1px solid #fff;
}

.session-event-element {
    width: 100%;
    font-size: 8pt;
    font-weight: bold;
    color: white;
    height: 40px;
    background-color: #7FAF0E;
    position: relative;
    padding: 3px;
    border-bottom: 1px solid white;
}

.event-controller-wrapper {
    position: absolute;
    top: 0;
    right: 1px;
    width: 25px;
    height: 100%;
    border-left: 2px solid white;

}

.event-edit-btn {
    position: absolute;
    top: 0;
    height: 20px;
    width: 23px;
    border-bottom: 1px solid white;
    cursor: pointer;
    text-align: center;
    color: black;
    font-size: 9pt;
    line-height: 20px;

}

.event-remove-btn {
    position: absolute;
    bottom: 0;
    height: 20px;
    width: 23px;
    border-top: 1px solid white;
    cursor: pointer;
    text-align: center;
    color: red;
    font-size: 9pt;
    line-height: 20px;

}

.session-event-duration-indicator-wrapper {
    position: absolute;
    bottom: 0;
    right: 26px;
    left: 0px;
    height: 4px;

}

.session-event-duration-indicator {
    height: 100%;
    background-color: red;
}

.event-clipboard {
    width: 100%;
    min-height: 50px;
    padding: 5px;
    border: 2px solid #7FAF0E;
    overflow: hidden;
}

.event-clipboard-element {
    margin: 5px;
    height: 40px;
    width: 150px;
    background-color: #2e2e30;
    line-height: 40px;
    color: white;
    text-align: center;
    float: left;
    font-size: 10pt;
    border-radius: 4px;
}

.event-paper-clipboard {
    width: 100%;
    min-height: 50px;
    padding: 5px;
    border: 2px solid #7FAF0E;
    overflow: hidden;
}

.event-clipboard-paper-element {
    margin: 5px;
    height: 75px;
    width: 250px;
    background-color: #2e2e30;
    line-height: 20px;
    color: white;
    text-align: center;
    float: left;
    font-size: 10pt;
    border-radius: 4px;
    cursor: grab;
}

.event-clipboard-company-name {
    font-weight: bold;
}

.event-clipboard-item-title {
    color: navajowhite;
    width: 250px;
    height: 35px;
}

.room-columns {

}

.room-legend-element {
    background-color: #D41F42;
    border: 1px solid white;
    color: white;
    font-weight: bold;
    display: flex;
    align-items: center;
    padding: 5px;
    justify-content: space-between;
    flex-direction: row;
    font-size: max(8px, 0.7vw);
}

.program-col {
    padding: 0px;
}

.program-legend-element {
    background-color: #D41F42;
    border: 1px solid white;
    color: white;
    font-weight: bold;
    display: flex;
    align-items: center;
    padding: 5px;
    justify-content: center;
    flex-direction: column;
    font-size: max(8px, 0.7vw);
}

.time-heading {
    background-color: white;
    color: #D41F42;
}

.time-start {
    margin-bottom: auto;
}

.time-end {
    margin-top: auto;
}

.session-col {
    background-color: white;
    border-bottom: 1px solid rgb(133, 133, 133);
    border-right: 1px solid rgb(133, 133, 133);
    color: white;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.waiting-list-session{
    --bar: 5px;
    --gap: 0px;
    --dash: #D41F42;
    --bg: #ffe8ea;
    --stripe: 8px;   /* Mustergröße (1 Wiederholung) */
    --speed: 3s;     /* Animationsdauer */

    position: relative;
    background: var(--bg);
    box-sizing: border-box;
    outline: 2px dashed var(--dash);
    outline-offset: -2px;
    padding: 0 10px 0 calc(var(--bar) + var(--gap));
}

.waiting-list-session::before{
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: var(--bar);
    background: repeating-linear-gradient(
            135deg,
            var(--dash) 0 4px,
            #fff       4px 8px
    );
    background-size: var(--stripe) var(--stripe);
    animation: wl-barber var(--speed) linear infinite;
    pointer-events: none;
}

/* bewegt die Schraffur gleichmäßig nach rechts */
@keyframes wl-barber{
    to { background-position: var(--stripe) 0; }
}

/* Motion-Respect */
@media (prefers-reduced-motion: reduce){
    .waiting-list-session::before{ animation: none; }
}

.booked-session {
    --bar: 5px;            /* Breite des linken Balkens */
    --gap: 0px;             /* Abstand Text zum Balken    */
    --bar-color: #D41F42;   /* Balkenfarbe (dunkles Rot)  */
    --bg: #f7c7cd;          /* Hintergrund (helles Rosa)  */

    position: relative;
    background: var(--bg);
    padding: 0 10px 0 calc(var(--bar) + var(--gap));
    box-sizing: border-box;
}

.booked-session:before {
    --bar-color: #D41F42;
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: var(--bar);
    background: var(--bar-color);
    pointer-events: none;
}

.session-infos {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 5px;
}

.event-company-name {
    font-size: 0.9vw;
    font-weight: bold;
    color: #D41F42;
    line-height: 1.2vw;
}

.event-title {
    color: #8e8b8b;
    font-size: 0.9vw;
    line-height: 1.2vw;
    margin-bottom: 1vw;
}

.event-company-name-scheduler {
    font-size: 0.9vw;
    font-weight: bold;
    color: #D41F42;
    line-height: 1.2vw;
}

.event-title-scheduler {
    color: #8e8b8b;
    font-size: 0.9vw;
    line-height: 1.2vw;
    /*margin-bottom: 1vw;*/
}

@media (max-width: 575.98px) {
    .event-company-name {
        font-size: 4vw;
    }

    .event-title {
        font-size: 4vw;
    }

    .event-company-name-scheduler {
        font-size: 4vw;
    }

    .event-title-scheduler {
        font-size: 4vw;
    }
}

@media only screen and (max-width: 768px) {
    .event-company-name {
        font-size: 3vw;
    }

    .event-title {
        font-size: 3vw;
    }

    .event-company-name-scheduler {
        font-size: 14px;
        line-height: 1.0;
    }

    .event-title-scheduler {
        font-size: 14px;
        line-height: 1.0;
    }

    .day-control-buttons .btn{
        margin-bottom: 0.5rem;
    }
}

.session-controls {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    color: #666666;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding: 0 5px 0 5px;
}


/*** frontend**/
.scheduler-modal {
    max-width: 95%;
}

.session-info-language {
    max-width: 15px;
}

.main-nav-cart-item {
    font-size: 1.5rem;
}

.function-item {
    color: #666666;
}

.badge-primary {
    background-color: #666666;
}

.btn-link {
    color: #666666;
}

.col-md-1.icon {
    font-size: 24px;
    padding-top: 10px;
}
