.calendar-container{white-space:nowrap;--fc-neutral-bg-color:transparent;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-timegrid-axis,.calendar-container .fc .fc-timegrid-slot-label{border-left:none!important;border-right:none!important;width:0!important;min-width:0!important;padding:0!important;font-size:0!important;overflow:hidden!important}.calendar-container .fc .fc-list-table{border:none;padding:0 .75rem;display:block}.calendar-container .fc .fc-list-table tbody{display:block}.calendar-container .fc .fc-list{border:none}.calendar-container .fc .fc-list-day{--fc-border-color:transparent;display:block;border:none!important}.calendar-container .fc .fc-list-day td{padding:.6rem 0 .5rem;display:block;background:0 0!important;border:none!important}.calendar-container .fc .fc-list-event~.fc-list-day td{padding-top:1.75rem}.calendar-container .fc .fc-list-day-cushion{padding:0!important}.calendar-container.calendar-container--general .fc{--fc-today-bg-color:transparent}.calendar-container .fc .fc-list-event--pastel{border-radius:12px;margin-bottom:.55rem;transition:filter .15s,box-shadow .15s;display:block;overflow:hidden;box-shadow:0 2px 10px #0000001c}.calendar-container .fc .fc-list-event--pastel .fc-list-event-time,.calendar-container .fc .fc-list-event--pastel .fc-list-event-graphic{display:none}.calendar-container .fc .fc-list-event--pastel .fc-list-event-title{color:#2f3a2f;padding:0;display:block;background-color:var(--fc-list-pastel)!important}.calendar-container .fc .fc-list-event--pastel .fc-list-event-dot{display:none}.calendar-container .fc .fc-list-event--pastel a{color:#2f3a2f;text-decoration:none;display:block}.calendar-container .fc .fc-list-event--pastel:hover{filter:brightness(.9);cursor:pointer;box-shadow:0 5px 18px #0000002e}.calendar-container .fc-list-card{align-items:center;gap:.9rem;padding:.9rem 1rem;display:flex}.calendar-container .fc-list-card .fc-list-card__time{font-variant-numeric:tabular-nums;color:#2f3a2fd9;text-align:center;flex-direction:column;flex:0 0 2.9rem;align-items:center;font-size:.7rem;font-weight:700;line-height:1.6;display:flex}.calendar-container .fc-list-card .fc-list-card__time-sep{opacity:.45;margin:-.1rem 0;font-size:.6rem;font-weight:400;line-height:1}.calendar-container .fc-list-card .fc-list-card__divider{background:#2f3a2f29;flex-shrink:0;align-self:stretch;width:1px}.calendar-container .fc-list-card .fc-list-card__body{flex:1;min-width:0}.calendar-container .fc-list-card .fc-list-card__week-badge{opacity:.75;text-transform:uppercase;letter-spacing:.04em;color:#2f3a2fd9;margin-bottom:.15rem;font-size:.65rem;font-weight:700}.calendar-container .fc-list-card .fc-list-card__title{color:#2f3a2f;font-size:.9rem;font-weight:700;line-height:1.3}.calendar-container .fc-list-card .fc-list-card__instructor{color:#2f3a2f9e;margin-top:.15rem;font-size:.73rem}.calendar-container .fc-list-card .fc-list-card__arrow{color:#2f3a2f40;flex-shrink:0;font-size:1.3rem;line-height:1}.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{transition:filter .15s,box-shadow .15s,transform .15s}.calendar-container .fc .fc-timegrid-event:hover{filter:brightness(.86);z-index:5;transform:translateY(-1px)scaleX(1.01);box-shadow:0 4px 12px #00000038}.calendar-container .fc-event-content{flex-direction:row;align-items:center;gap:4px;height:100%;display:flex;overflow:hidden}.calendar-container .fc-event-text{flex-direction:column;flex:1;gap:2px;min-width:0;line-height:1.15;display:flex;overflow:hidden}.calendar-container .fc-event-cta{opacity:.35;pointer-events:none;flex-shrink:0;padding-right:2px;font-size:1.3rem}.calendar-container .fc-event-title{text-underline-offset:2px;-webkit-text-decoration:underline #2f3a2f59;text-decoration:underline #2f3a2f59}.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}.calendar-print-btn{color:var(--text-color,#555);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin-bottom:1.5rem;padding:0;font-size:.85rem;-webkit-text-decoration:underline #00000040;text-decoration:underline #00000040;display:inline-block}.calendar-print-btn:hover{color:var(--main-color);-webkit-text-decoration-color:var(--main-color);text-decoration-color:var(--main-color)}.print-calendar{flex-direction:column;gap:1rem;width:100%;display:flex}.print-calendar .print-calendar__header{display:none}.print-calendar .print-calendar__grid{align-items:start;gap:.75rem;display:grid}.print-calendar .print-calendar__day-header{text-align:center;color:var(--main-color,#bbc274);border-bottom:2px solid var(--main-color,#bbc274);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;padding-bottom:.4rem;font-size:.8rem;font-weight:700}.print-calendar .print-calendar__event{color:#2f3a2f;border-radius:6px;flex-direction:row;align-items:center;gap:4px;margin-bottom:.4rem;padding:.4rem .6rem;display:flex}.print-calendar .print-calendar__event-body{flex:1;min-width:0}.print-calendar .print-calendar__event-cta{opacity:.35;pointer-events:none;flex-shrink:0;font-size:1.1rem}.print-calendar .print-calendar__event--clickable{cursor:pointer;transition:filter .15s,box-shadow .15s}.print-calendar .print-calendar__event--clickable:hover{filter:brightness(.88);box-shadow:0 4px 12px #00000026}.print-calendar .print-calendar__event-week-badge{opacity:.75;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem;font-size:.65rem;font-weight:700}.print-calendar .print-calendar__event-time{opacity:.8;font-size:.72rem;font-weight:600}.print-calendar .print-calendar__event-title{font-size:.82rem;font-weight:700;line-height:1.2}.print-calendar .print-calendar__event-instructor{opacity:.75;font-size:.72rem}.print-calendar .print-calendar__time-divider{height:1rem;margin:.1rem 0}@media screen and (max-width:699px){.print-calendar{display:none}}@media screen and (min-width:700px){.calendar-container--hidden-on-desktop{display:none!important}}@media print{@page{size:A4 landscape;margin:8mm 10mm}html,body{height:auto;margin:0;padding:0}.calendar-print-btn,.calendar-click-hint,.calendar-container,.navbar,.breadcrumps,.description,.site-footer{display:none!important}main,main>section{margin:0;padding:0}.print-calendar{flex-direction:column;gap:5mm;font-family:sans-serif;display:flex}.print-calendar .print-calendar__header{border-bottom:2px solid #bbc274;justify-content:space-between;align-items:center;padding-bottom:3mm;display:flex}.print-calendar .print-calendar__header>.print-calendar__logo{object-fit:contain;width:auto;height:10mm}.print-calendar .print-calendar__header>h1{color:#333;margin:0;font-size:14pt;font-weight:600}.print-calendar .print-calendar__header>.print-calendar__url{color:#888;font-size:8pt}.print-calendar .print-calendar__grid{gap:3mm}.print-calendar .print-calendar__day-header{color:#bbc274;border-bottom-width:1.5px;margin-bottom:2mm;padding-bottom:1.5mm;font-size:9pt}.print-calendar .print-calendar__event{break-inside:avoid;cursor:default;border-radius:1.5mm;margin-bottom:1.5mm;padding:1.5mm 2mm;transition:none;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;box-shadow:none!important;filter:none!important}.print-calendar .print-calendar__event-cta{display:none}.print-calendar .print-calendar__event-week-badge{margin-bottom:0;font-size:6pt}.print-calendar .print-calendar__event-time{font-size:7pt}.print-calendar .print-calendar__event-title{font-size:8pt}.print-calendar .print-calendar__event-instructor{font-size:7pt}.print-calendar .print-calendar__time-divider{border-top:.5pt dashed #2f3a2f33;height:2mm;margin:.5mm 0}}
