.calendar-container{white-space:nowrap;margin-left:0;scroll-padding-left:1rem;display:block;overflow-x:auto}.calendar-container .calendar-click-hint{color:var(--text-color,#444);margin:0 0 .6rem;font-size:.9rem;font-style:italic}.calendar-container .calendar-container-wrapper{align-items:center;display:flex;position:relative}.calendar-container .scroll-button{cursor:pointer;z-index:10;background-color:#fff;border:1px solid #ddd;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;padding:.5rem;transition:background-color .3s,box-shadow .3s;display:flex;position:fixed;top:50%;transform:translateY(-50%);box-shadow:0 2px 4px #0000001a}.calendar-container .scroll-button.disabled{color:#aaa;cursor:not-allowed;box-shadow:none;opacity:.6;background-color:#f0f0f0;border-color:#ccc}.calendar-container .scroll-left{left:1rem}.calendar-container .scroll-right{right:1rem}.calendar-container .scroll-button.sticky{position:absolute;top:auto;bottom:0;transform:none}.calendar-container .scroll-button.sticky-top{position:absolute;top:0;transform:none}.calendar-container .scroll-button.sticky-bottom{position:absolute;bottom:0;transform:none}.calendar-container .calendar{scroll-snap-type:x mandatory;flex-direction:row;flex:1;gap:1rem;display:flex;overflow-x:auto}.calendar-container .calendar-day{scroll-snap-align:start;background:var(--white);cursor:pointer;border:1px solid #ddd;border-radius:8px;flex:none;min-width:250px;padding:1rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px #0000001a}.calendar-container .calendar-day.clickable:hover{transform:scale(1.05);box-shadow:0 4px 8px #0003}.calendar-container .calendar-day-group{scroll-snap-align:start;background:var(--white);border:1px solid #ddd;border-radius:8px;flex:none;min-width:300px;padding:1rem;box-shadow:0 2px 4px #0000001a}.calendar-container .calendar-day-heading{color:var(--main-color);text-transform:uppercase;border-bottom:2px solid var(--main-color);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.5rem;font-weight:700}.calendar-container .calendar-item{background:var(--white);cursor:pointer;border:1px solid #ddd;border-radius:8px;margin-bottom:1rem;padding:1rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px #0000001a}.calendar-container .calendar-item:hover{transform:scale(1.05);box-shadow:0 4px 8px #0003}.calendar-container .details-button{background:var(--main-color);color:var(--white);cursor:pointer;border:none;border-radius:4px;margin-top:.5rem;padding:.5rem 1rem;transition:background .3s}.calendar-container .details-button:hover{background:#aab963}.calendar-container .details-link{color:var(--main-color);cursor:pointer;margin-top:.5rem;font-size:.9rem;text-decoration:underline;transition:color .3s;display:inline-block}.calendar-container .details-link:hover{color:#aab963}.calendar-container .calendar-container .rbc-time-view{min-width:600px}.calendar-container .calendar-container .rbc-time-header,.calendar-container .calendar-container .rbc-time-content{overflow-x:auto}.calendar-container .calendar-container{display:flex;position:relative}.calendar-container .calendar-container .rbc-time-gutter{z-index:1;background-color:#fff;border-right:1px solid #ddd;flex:none;width:80px;position:sticky;left:0}.calendar-container .calendar-container .rbc-time-content{flex:1;overflow-x:auto}.calendar-container .time-column{z-index:1;background-color:#fff;border-right:1px solid #ddd;padding-top:50px;position:sticky;left:0}.calendar-container .time-slot{border-bottom:1px solid #eee;justify-content:flex-end;align-items:center;height:50px;padding-right:5px;display:flex}.calendar-container .weekdays-container{flex:1;display:flex;overflow-x:auto}.calendar-container .weekday-column{border-left:1px solid #ddd;flex:0 0 150px;position:relative}.calendar-container .weekday-header{text-align:center;background-color:var(--white);height:50px;color:var(--main-color);border-bottom:1px solid #ddd;padding:10px 0;font-weight:700}.calendar-container .fc .fc-col-header-cell{background-color:var(--white)}.calendar-container .fc .fc-col-header-cell-cushion{color:var(--main-color);font-weight:700}.calendar-container .fc .fc-list-day-cushion{background-color:var(--white);color:var(--main-color)}.calendar-container .fc .fc-list-day-cushion a{color:var(--main-color);font-weight:700}.calendar-container.calendar-container--general .fc{--fc-today-bg-color:transparent}.calendar-container .event{color:#fff;background-color:#4285f4;box-shadow:0 2px 4px #0000001a}.calendar-container .event-title{margin-bottom:5px;font-weight:700}.calendar-container .fc-timegrid-event .fc-event-main{padding:2px 4px}.calendar-container .fc .fc-timegrid-event,.calendar-container .fc .fc-list-event{cursor:pointer}.calendar-container .fc .fc-timegrid-event:hover{filter:brightness(.96)}.calendar-container .fc .fc-list-event--pastel td{background-color:var(--fc-list-pastel);color:#2f3a2f}.calendar-container .fc .fc-list-event--pastel .fc-list-event-dot{display:none}.calendar-container .fc .fc-list-event--pastel a{color:#2f3a2f}.calendar-container .fc .fc-list-event--pastel:hover td{filter:brightness(.97)}.calendar-container .fc-event-content{flex-direction:column;gap:2px;line-height:1.15;display:flex}.calendar-container .fc-event-time,.calendar-container .fc-event-title,.calendar-container .fc-event-instructor{white-space:normal;overflow-wrap:anywhere}.calendar-container .fc-event-time{font-size:.72rem;font-weight:600}.calendar-container .fc-event-title{font-size:.78rem;font-weight:700}.calendar-container .fc-event-instructor{font-size:.72rem}.calendar-container .event-details{color:#555;margin-bottom:5px;font-size:.9rem}.calendar-container .event-instructor{color:#777;margin-bottom:10px;font-size:.9rem}.calendar-container .event-link{color:#4285f4;cursor:pointer;font-size:.9rem;text-decoration:underline}.calendar-container .calendar-container{flex-direction:column;width:100%;display:flex}.calendar-container .grid{border:1px solid #ccc;grid-template-columns:100px repeat(7,1fr);grid-auto-rows:minmax(50px,auto);display:grid}.calendar-container .grid-row{display:contents}.calendar-container .grid-cell{text-align:center;border:1px solid #ddd;padding:5px;position:relative}.calendar-container .grid-cell.timeslot{grid-column:1}.calendar-container .event{color:#fff;z-index:1;background-color:#007bff;border-radius:4px;width:100%;height:100%;padding:5px;font-size:.9em;position:relative}.calendar-container .fc .fc-button{color:#fff;border:none;background-color:var(--main-color)!important}.calendar-container .fc .fc-button:hover{background-color:var(--main-highlight-color)!important}
