body,html{max-width:100%}.container-fluid,body,html{overflow-x:hidden}.classtime-table{max-width:100%;overflow-x:auto;padding:.5rem}.classtime-table table{table-layout:fixed}.classtime-table table thead tr th{font-size:14px!important;padding:15px 5px!important}.classtime-table table tbody tr td{padding:18px 8px 20px!important;width:120px!important}.classtime-table table tbody tr{height:40px}.classtime-table table tbody tr td{border-bottom-width:0;border-top-width:0}.classtime-table table tbody tr.schedule-hour-row td{border-top:1px solid hsla(0,0%,100%,.2)}.classtime-table table tbody td[data-tsmeta]{border-bottom:1px solid hsla(0,0%,100%,.18);border-top:1px solid hsla(0,0%,100%,.18)}.classtime-table .class-start-time{color:hsla(0,0%,100%,.65);display:block;font-size:.72rem;font-weight:600;line-height:1;margin-bottom:.2rem}.hybrid-fullcalendar{--fc-classic-primary:#ffb700;--fc-classic-event:transparent;--fc-classic-event-contrast:#fff;--fc-classic-background:#16181c;--fc-classic-faint:hsla(0,0%,100%,.018);--fc-classic-muted:hsla(0,0%,100%,.045);--fc-classic-strong:hsla(0,0%,100%,.09);--fc-classic-foreground:#fff;--fc-classic-faint-foreground:#707680;--fc-classic-muted-foreground:#aeb3bc;--fc-classic-border:#30343b;--fc-classic-strong-border:#484e58;--fc-classic-today:rgba(255,183,0,.025);background:#151515;border:1px solid #343434;border-radius:4px;color:#fff;font-family:Oswald,sans-serif;max-width:100%;overflow:hidden;width:100%}.hybrid-fullcalendar [role=columnheader]{background:#151515;border-bottom:2px solid #ffb700;color:#fff;font-size:13px;font-weight:600;letter-spacing:.035em;padding:17px 4px;text-transform:uppercase}.hybrid-fullcalendar [role=rowheader]{background:#151515;color:#bdbdbd;font-size:12px;font-weight:600}.hybrid-fullcalendar [role=gridcell]{background-color:#1f1f1f}.hybrid-fullcalendar .hybrid-event-content{align-items:flex-start;background:#2d2d2d;border:1px solid hsla(0,0%,100%,.16);border-left:2px solid #ffb700;border-radius:4px;color:#fff;container-type:inline-size;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto auto;height:100%;min-width:0;overflow:hidden;padding:8px 8px 8px 10px;row-gap:5px;text-align:left;transition:border-color .16s ease,background-color .16s ease;width:100%}.hybrid-fullcalendar .hybrid-event-content.booking-link{cursor:pointer}.hybrid-fullcalendar .hybrid-event-content.booking-link:hover{background-color:#3a3a3a;border-color:hsla(0,0%,100%,.75) hsla(0,0%,100%,.75) hsla(0,0%,100%,.75) #fff;color:#fff}.hybrid-fullcalendar .class-start-time{background:#ffb700;border-radius:2px;color:#151515;display:block;font-size:10px;font-weight:700;grid-column:1;grid-row:1;letter-spacing:.025em;line-height:1;padding:2px 5px;width:fit-content}.hybrid-fullcalendar .event-course-duration{border:1px solid hsla(0,0%,100%,.2);border-radius:2px;color:#fff;display:block;font-size:10px;font-weight:600;grid-column:3;grid-row:1;line-height:1;padding:2px 5px}.hybrid-fullcalendar .event-course-title{align-self:center;color:inherit;display:block;font-size:13px;font-weight:600;grid-column:1/-1;grid-row:2;line-height:1.2;margin:0;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis}.hybrid-fullcalendar .event-course-status{display:flex;flex-wrap:wrap;font-family:Nunito Sans,sans-serif;gap:3px;grid-column:1/-1;grid-row:3;justify-content:center;min-width:0}.hybrid-fullcalendar .badge{border-radius:2px;display:inline-block;font-family:inherit;font-size:10px;line-height:1.15;margin:0;max-width:100%;overflow:hidden;padding:2px 6px;text-overflow:ellipsis}.hybrid-fullcalendar .event-course-type{color:#ffb700;font-size:10px;font-weight:700;grid-column:1/-1;grid-row:4;letter-spacing:.045em;line-height:1.2;margin:0;text-align:center;text-transform:uppercase}.hybrid-fullcalendar .hybrid-event-content.has-no-title .event-course-type{align-self:center;grid-row:2}.hybrid-fullcalendar .hybrid-event-content:hover .event-course-type{color:#fff}.hybrid-fullcalendar .hybrid-event-content:hover .class-start-time{background:#fff;color:#151515}.hybrid-fullcalendar .special-mark{color:#ff4d4d;margin-left:1px}.hybrid-fullcalendar .badge.bg-secondary,.hybrid-fullcalendar .badge.bg-success{background:transparent!important;border:1px solid hsla(0,0%,100%,.16);color:#e2e2e2!important}.hybrid-fullcalendar .badge.bg-primary{background:#28a745!important;color:#fff!important}.hybrid-fullcalendar .badge.bg-danger{background:#dc3545!important;border-color:#dc3545;color:#fff!important}@container (max-width: 90px){.hybrid-fullcalendar .event-course-duration{display:none}}@container (max-width: 60px){.hybrid-fullcalendar .event-course-title{display:-webkit-box;font-size:11px;-webkit-box-orient:vertical;-webkit-line-clamp:4}.hybrid-fullcalendar .event-course-status{gap:2px}.hybrid-fullcalendar .event-course-status .badge{display:none}.hybrid-fullcalendar .event-course-status .badge.bg-danger,.hybrid-fullcalendar .event-course-status .badge[data-compact-text]{display:inline-block;font-size:9px;padding-inline:3px}.hybrid-fullcalendar .event-course-status .badge[data-compact-text]{font-size:0}.hybrid-fullcalendar .event-course-status .badge[data-compact-text]:after{content:attr(data-compact-text);font-size:9px}.hybrid-fullcalendar .event-course-type{font-size:9px;letter-spacing:0}}.classtime-table table tbody tr td span,.classtime-table table tbody tr td.workout-time{font-size:14px!important}@media (max-width:1200px){.classtime-table{padding:.25rem!important}.classtime-section .container-fluid{padding-left:8px!important;padding-right:8px!important}.classtime-table table thead tr th{font-size:13px!important;padding:12px 3px!important}.classtime-table table tbody tr td{padding:15px 5px 17px!important;width:100px!important}.classtime-table table tbody tr td span,.classtime-table table tbody tr td.workout-time{font-size:13px!important}}.classtime-table .table-light,.classtime-table .table-secondary,.classtime-table .table-success{background-color:#212121!important;border-color:#171717!important}.classtime-table .table-dark{background-color:#212121!important;border-color:#1f1f1f!important}.classtime-table .badge.bg-primary{background-color:#28a745!important;color:#fff!important}.classtime-table .badge.bg-success{background-color:transparent!important;border:1px solid #171717;color:#fff!important}.classtime-table .badge.bg-danger{background-color:#dc3545!important;border:1px solid #dc3545!important;color:#fff!important;font-weight:600!important}.classtime-table .badge.bg-secondary{background-color:transparent!important;border:1px solid #171717;color:#fff!important}.classtime-table td a{color:inherit!important}.classtime-table td span{color:#fff!important}.classtime-table td h6{color:#ffb700!important;font-size:.85rem!important;line-height:1.1!important;margin-bottom:.2rem!important}.booking-modal .info-row:hover strong,.classtime-table .booking-link:hover h6,.classtime-table .hover-bg:hover .class-type,.classtime-table .hover-bg:hover .fw-bold,.classtime-table .hover-bg:hover h6,.classtime-table td:hover .class-type,.classtime-table td:hover h6,.hover-bg:hover .class-type,.hover-bg:hover h6,.ts-item:hover .class-type{color:#fff!important}.classtime-table td .fw-bold,.classtime-table td span.d-block{color:#fff!important;font-family:Oswald,sans-serif}.classtime-table .booking-link{cursor:pointer;display:block;text-decoration:none;transition:opacity .2s ease}.classtime-table .booking-link:hover{opacity:.8}.classtime-table .coaching-slot,.coaching-slot,.mobile-class-item.coaching-slot{cursor:default;opacity:.7}.classtime-table .coaching-slot:hover,.coaching-slot:hover{opacity:.7!important}.classtime-section .alert-info{background:rgba(255,183,0,.1);border-color:#ffb700;color:#111}.classtime-table table{min-width:0;width:100%}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (min-width:1200px){.classtime-table table{min-width:1200px}}.hover-bg:hover{background-color:rgba(0,123,255,.1)!important;transform:scale(1.02);transition:all .2s ease}.workout-time{background-color:#212121!important;color:#fff!important;font-weight:700;min-width:80px}.timetable-controls ul li{background:none!important;border:none!important;color:#fff;cursor:pointer;display:inline-block;font-family:Oswald,sans-serif;font-size:16px;font-weight:600;list-style:none;margin:0 8px;padding:8px 16px;position:relative;text-transform:uppercase;transition:all .3s}.timetable-controls ul li:hover{color:#ffb700;transform:translateY(-2px)}.timetable-controls ul li.active{background:none!important;color:#ffb700!important}.timetable-controls ul li.active:after{opacity:1}.timetable-controls ul li:after{background:#ffb700;bottom:-7px;content:"";height:2px;left:0;opacity:0;position:absolute;transition:opacity .3s;width:100%}.mobile-day-card{background:#212121;border:1px solid #1f1f1f;margin-bottom:.5rem}.mobile-day-header{background:#ffb700;border-bottom:1px solid #171717;color:#fff;cursor:pointer;padding:.3rem .5rem;transition:background-color .3s ease}.mobile-day-header:hover{background:#e89f00}.day-header-text{color:#fff!important;font-family:Oswald,sans-serif;font-size:1rem;font-weight:600}.collapse-icon{color:#fff!important;flex-shrink:0;font-size:.9rem;transition:transform .3s ease}.mobile-day-header[aria-expanded=true] .collapse-icon{transform:rotate(90deg)}.mobile-class-item,.mobile-day-body{background:#212121;padding:.3rem}.mobile-class-item{border:1px solid #171717;margin-bottom:.2rem;position:relative;transition:all .3s ease;z-index:1}.mobile-class-item:after{background:#ffb700;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%;z-index:-1}.mobile-class-item.available:hover:after{opacity:1}.mobile-class-item.available:hover .class-title,.mobile-class-item.available:hover .class-type{color:#fff}.class-time-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:.15rem}.time-badge{font-family:Oswald,sans-serif;font-size:.7rem}.duration-info,.time-badge{border:1px solid #171717;color:#fff;font-weight:500;padding:.05rem .2rem}.duration-info{font-size:.65rem}.class-link{color:inherit;display:block;text-decoration:none}.class-content{text-align:center}.class-title{color:#fff;font-family:Oswald,sans-serif;font-size:.75rem;font-weight:500;line-height:1;margin-bottom:.05rem}.class-status{line-height:1.1;margin-bottom:.1rem}.status-badge{display:inline;font-size:.75rem;font-weight:500;margin-right:.5rem}.status-badge.reserved{border-radius:3px;font-size:.7rem;font-weight:600;padding:.1rem .3rem}.mobile-day-body .badge.bg-primary,.status-badge.reserved{background-color:#28a745!important;color:#fff!important}.mobile-day-body .badge.bg-success{background-color:transparent!important;border:1px solid #171717;color:#fff!important}.mobile-day-body .badge.bg-danger{background-color:#dc3545!important;border:1px solid #dc3545!important;color:#fff!important;font-weight:600!important}.mobile-day-body .badge.bg-secondary{background-color:transparent!important;border:1px solid #171717;color:#fff!important}.status-badge.available-spots,.status-badge.unavailable-spots{color:#fff}.status-badge.full{background-color:#dc3545;border:1px solid #dc3545;border-radius:3px;color:#fff;font-size:.7rem;font-weight:600;padding:.1rem .3rem}.status-badge.coaching-info{background-color:#6c757d;border:1px solid #6c757d;border-radius:3px;color:#fff;font-size:.7rem;font-weight:500;opacity:.8;padding:.1rem .3rem}.class-type{color:#ffb700;font-family:Oswald,sans-serif;font-size:.8rem;font-weight:500;line-height:1.1;margin:0;text-transform:uppercase;transition:color .3s}.booking-link:hover .class-type,.class-link:hover .class-type,.class-link:hover h6,.mobile-class-item:hover .class-title,.mobile-class-item:hover .class-type,.mobile-class-item:hover .status-badge.coaching-info,.mobile-class-item:hover h6{color:#fff!important}.class-content.disabled .class-type{color:#ffb700}.special-mark{color:#dc3545;font-weight:700}.no-classes{color:#b6b6b9;font-size:.8rem;font-style:italic;padding:.5rem;text-align:center}.ts-item{transition:opacity .4s ease}.mobile-day-card.filtering .ts-item{display:none}.mobile-day-card.filtering .ts-item.show{display:block}.classtime-table.filtering .ts-item{opacity:0}.classtime-table.filtering .ts-item.show{opacity:1}@media (max-width:991.98px){.hybrid-fullcalendar{border-color:#343434;border-radius:4px}.hybrid-fullcalendar [role=rowheader]{border-bottom:1px solid #343434;border-top:1px solid #343434;color:#fff;font-size:14px;letter-spacing:.035em;padding:10px 12px;text-transform:uppercase}.hybrid-fullcalendar .hybrid-list-day-header{align-items:center;cursor:pointer;display:grid;gap:12px;grid-template-columns:1fr auto 1fr;user-select:none}.hybrid-fullcalendar .hybrid-list-day{margin-bottom:6px}.hybrid-fullcalendar .hybrid-list-day-header>:first-child{grid-column:2;text-align:center}.hybrid-fullcalendar .hybrid-list-day-header:after{color:#ffb700;content:"\203A";flex:0 0 auto;font-size:22px;grid-column:3;justify-self:end;line-height:1;margin-right:4px;transform:rotate(90deg);transition:color .16s ease,transform .16s ease}.hybrid-fullcalendar .hybrid-list-day-header:focus-visible:after,.hybrid-fullcalendar .hybrid-list-day-header:hover:after{color:#fff}.hybrid-fullcalendar .hybrid-list-day-header:focus-visible{outline:2px solid #fff;outline-offset:-2px}.hybrid-fullcalendar .hybrid-list-day.is-collapsed .hybrid-list-day-header:after{transform:rotate(0deg)}.hybrid-fullcalendar .hybrid-list-day-body[hidden]{display:none!important}.hybrid-fullcalendar [data-date]>:last-child:not(:first-child),.hybrid-fullcalendar [role=rowheader]>:last-child:not(:first-child){display:none}.hybrid-fullcalendar .hybrid-event-content{min-height:76px;padding:8px 10px}.hybrid-fullcalendar .hybrid-list-event{align-items:stretch}.hybrid-fullcalendar .hybrid-list-event-marker{display:none}.hybrid-fullcalendar .hybrid-list-event>.hybrid-event-content{flex:1 1 auto;min-width:0}.hybrid-fullcalendar .event-course-title{font-size:14px}.timetable-controls ul li{font-size:14px;margin:0 4px;padding:6px 12px}}@media (max-width:767.98px){.mobile-day-header{padding:.4rem .6rem}.day-header-text{font-size:.9rem}.collapse-icon{color:#fff!important;font-size:.8rem}.mobile-day-body{padding:.25rem}.mobile-class-item{margin-bottom:.15rem;padding:.25rem}.class-title{font-size:.7rem;line-height:.95;margin-bottom:.03rem}.class-type{font-size:.75rem}.duration-info,.status-badge.coaching-info,.status-badge.full,.time-badge{font-size:.65rem;padding:.05rem .2rem}.class-time-info{margin-bottom:.1rem}.timetable-controls ul li{font-size:12px;margin:2px;padding:4px 8px}}.booking-modal{background-color:#1f1f1f;border:1px solid #3b3b3b;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.5);overflow:hidden}#bookingModal:focus{outline:none}.booking-modal .modal-header{align-items:center;background:#151515;border-bottom:2px solid #ffb700;border-radius:0;color:#fff;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.booking-modal .modal-title{align-items:center;color:#fff;display:flex;font-family:Oswald,sans-serif;font-size:1.1rem;font-weight:600;margin:0;min-width:0}.booking-modal .modal-title i{color:#ffb700;font-size:1rem;margin-right:.5rem}.booking-modal .btn-close,.booking-modal .btn-close-white{background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='m.235 1.027 4.61 4.61 4.61-4.61a.75.75 0 1 1 1.06 1.06l-4.61 4.61 4.61 4.61a.75.75 0 1 1-1.06 1.06l-4.61-4.61-4.61 4.61a.75.75 0 1 1-1.06-1.06l4.61-4.61-4.61-4.61a.75.75 0 1 1 1.06-1.06'/%3E%3C/svg%3E") 50%/1em auto no-repeat;border:0;border-radius:0;box-sizing:content-box;color:#fff;height:1em;opacity:.8;padding:.25em;width:1em}.booking-modal .btn-close-white:hover,.booking-modal .btn-close:hover{background-color:hsla(0,0%,100%,.1);opacity:1;transform:none}.booking-modal .modal-body{background-color:#1f1f1f;color:#fff;padding:1.5rem}.booking-details .class-info{background-color:#272727;border:1px solid #3b3b3b;border-radius:4px;padding:1rem}.booking-details .info-row{align-items:start;border-bottom:1px solid hsla(0,0%,100%,.08);display:grid;font-size:.9rem;gap:.75rem;grid-template-columns:24px 1fr;line-height:1.4;margin-bottom:.75rem;overflow:hidden;padding-bottom:.75rem;width:100%}.booking-details .info-row:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.booking-details .info-row i{align-items:flex-start;color:#ffb700;display:flex;flex-shrink:0;font-size:1rem;justify-content:center;margin-top:.1rem;text-align:center;width:24px}.booking-details .info-content{align-items:baseline;display:flex;flex-direction:row;gap:.25rem;min-width:0;overflow:hidden}.booking-details .info-row strong{color:#ffb700;flex-shrink:0;font-family:Oswald,sans-serif;font-size:.85rem;letter-spacing:.5px;line-height:1.2;text-transform:uppercase;white-space:nowrap}.booking-details .info-row span{color:#fff;font-size:.95rem;font-weight:500;line-height:1.3;word-wrap:break-word;flex:1;hyphens:auto;overflow-wrap:break-word}.booking-modal .alert-warning{align-items:flex-start;background-color:rgba(255,183,0,.15);border:1px solid rgba(255,183,0,.3);border-radius:4px;color:#fff;display:flex;font-size:.85rem;gap:.5rem;line-height:1.4;margin-top:.75rem;padding:.75rem}.booking-modal .alert-warning i{color:#ffb700;flex-shrink:0;font-size:1rem;margin-top:.1rem}.booking-modal .alert-danger{align-items:flex-start;background-color:rgba(220,53,69,.15);border:1px solid rgba(220,53,69,.3);border-radius:4px;color:#fff;display:flex;font-size:.85rem;gap:.5rem;line-height:1.4;margin-top:.75rem;padding:.75rem}.booking-modal .alert-danger i{color:#dc3545;flex-shrink:0;font-size:1rem;margin-top:.1rem}#specialSubscriptionWarning{align-items:flex-start;background-color:rgba(255,183,0,.15);border:1px solid rgba(255,183,0,.3);border-radius:4px;color:#fff;display:flex;font-size:.85rem;gap:.5rem;line-height:1.4;margin-top:.75rem;padding:.75rem}#specialSubscriptionWarning i{color:#ffb700;flex-shrink:0;font-size:1rem;margin-top:.1rem}.booking-modal .modal-footer{align-items:center;background-color:#151515;border-radius:0;border-top:1px solid #343434;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.booking-modal .btn{align-items:center;border:1px solid transparent;border-radius:4px;display:flex;font-family:Oswald,sans-serif;font-size:.85rem;font-weight:600;justify-content:center;letter-spacing:.3px;min-width:120px;padding:.6rem 1.25rem;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}.booking-modal .btn-secondary{background-color:transparent;border-color:#626262;color:#fff}.booking-modal .btn-secondary:hover{background-color:#2d2d2d;border-color:#fff;transform:none}.booking-modal .btn-success{background-color:#ffb700;border-color:#ffb700;color:#151515}.booking-modal .btn-success:hover{background-color:#fff;border-color:#fff;box-shadow:none;color:#151515;transform:none}.booking-modal .btn-danger{background-color:transparent;border-color:#dc3545;color:#ff6b78}.booking-modal .btn-danger:hover{background-color:#dc3545;border-color:#dc3545;box-shadow:none;color:#fff;transform:none}@media (max-width:768px){.booking-modal .modal-dialog{margin:.5rem;max-width:calc(100vw - 1rem)}.booking-modal .modal-header{padding:.75rem 1rem}.booking-modal .modal-title{font-size:1rem}.booking-modal .modal-title i{font-size:.9rem;margin-right:.4rem}.booking-modal .modal-body{padding:1rem}.booking-details .class-info{border:1px solid #171717;padding:.75rem}.booking-details .info-row{font-size:.85rem;gap:.5rem;grid-template-columns:20px 1fr;margin-bottom:.6rem}.booking-details .info-row i{font-size:.9rem;width:20px}.booking-details .info-row strong{font-size:.75rem;max-width:calc(100vw - 120px);white-space:nowrap}.booking-details .info-row span{font-size:.9rem}.booking-modal .modal-footer{flex-direction:column-reverse;gap:.5rem;padding:.75rem 1rem}.booking-modal .btn{font-size:.8rem;min-width:auto;padding:.7rem 1rem;width:100%}#specialSubscriptionWarning{font-size:.8rem;margin-top:.5rem;padding:.6rem}#specialSubscriptionWarning i{font-size:.9rem}}@media (max-width:480px){.booking-modal .modal-dialog{margin:.25rem;max-width:calc(100vw - .5rem)}.booking-modal .modal-header{padding:.6rem .8rem}.booking-modal .modal-body{padding:.8rem}.booking-details .class-info{border:1px solid #171717;padding:.6rem}.booking-details .info-row{gap:.4rem;grid-template-columns:18px 1fr;margin-bottom:.5rem}.booking-details .info-row i{font-size:.85rem;width:18px}.booking-details .info-row strong{font-size:.7rem;max-width:calc(100vw - 80px);white-space:nowrap}.booking-modal .modal-footer{padding:.6rem .8rem}#specialSubscriptionWarning{font-size:.75rem;margin-top:.4rem;padding:.5rem}}