.course-container{position:absolute;display:flex;flex-direction:column;padding:0 8px;border:1px solid #fff;border-radius:6px;background-color:var(--secondary-color, #fff);color:var(--primary-color, #000);cursor:pointer;transition:all .2s ease;min-height:56px;z-index:10;top:calc(var(--y-position, 0)*56px + 1px);height:calc(var(--container-height, 1)*56px - 3px);left:calc(var(--day-index, 0)*(100% - 83px)/7 + 83px + 1px);width:calc((100% - 83px)/7/3 - 2px)}@media(max-width: 991.98px){.course-container{padding-right:6px;padding-left:10px}}.course-container::before{content:"";position:absolute;top:1px;left:1px;width:6px;height:calc(100% - 2px);background-color:var(--primary-color, #000);border-top-left-radius:6px;border-bottom-left-radius:6px}.course-container:hover{background-color:var(--secondary-hover-color, #f8f9fa);box-shadow:0 4px 8px rgba(0,0,0,.1)}.course-container.-tutor-class-{--primary-color: #519768;--secondary-color: #e1f3e7;--secondary-hover-color: #c7e9d3;transform:translateX(200%)}.course-container.-group-class-{--primary-color: #005197;--secondary-color: #dbe3ed;--secondary-hover-color: #c0d1e2;transform:translateX(100%)}.course-container.-special-course-{--primary-color: #ed6c00;--secondary-color: #fdebdc;--secondary-hover-color: #fbd8ba}.course-container .container-content{display:flex;align-items:center;justify-content:center;height:100%}.course-container .container-content .course-time{font-size:0.75rem;line-height:120%;letter-spacing:.02em;font-weight:500;color:var(--primary-color, #000);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.course-container .container-content .course-time .separator{width:1px;height:4px;background-color:var(--primary-color, #000)}.course-container .container-content .course-count{font-size:0.75rem;line-height:160%;letter-spacing:.02em;font-weight:400;color:var(--primary-color, #000);display:flex;align-items:center;justify-content:center}.course-container .container-content .item-icon svg path{fill:var(--primary-color, #000)}.course-tooltip{position:fixed;left:var(--x-pos, -100%);top:var(--y-pos, 0);z-index:1000}.course-tooltip.-tutor-class-{--primary-color: #519768;--secondary-color: #e1f3e7;--secondary-hover-color: #c7e9d3}.course-tooltip.-group-class-{--primary-color: #005197;--secondary-color: #dbe3ed;--secondary-hover-color: #c0d1e2}.course-tooltip.-special-course-{--primary-color: #ed6c00;--secondary-color: #fdebdc;--secondary-hover-color: #fbd8ba}.course-tooltip .tooltip-container{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;max-width:216px;background:#fff;border-radius:12px;border:1px solid #d7d9dd;padding:24px;box-shadow:0 32px 48px 0 rgba(0,0,0,.08)}.course-tooltip .tooltip-header .tooltip-title{font-size:1rem;letter-spacing:.02em;line-height:150%;font-weight:700;color:#000;text-align:center}.course-tooltip .tooltip-body .course-type{font-size:0.875rem;line-height:160%;letter-spacing:.02em;font-weight:700;color:var(--primary-color, #000);margin-bottom:8px}.course-tooltip .tooltip-body .course-details{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:0}.course-tooltip .tooltip-body .course-details::-webkit-scrollbar{background-color:rgba(0,0,0,0);display:none}.course-tooltip .tooltip-body .course-details::-webkit-scrollbar-track{background-color:rgba(0,0,0,0)}.course-tooltip .tooltip-body .course-details::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0)}.course-tooltip .tooltip-body .course-details::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,0)}.course-tooltip .tooltip-body .course-details .course-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;padding-left:6px;border-radius:6px;border-left:6px solid var(--primary-color, #000);background:var(--secondary-color, #fff)}.course-tooltip .tooltip-body .course-details .course-item:hover{background:var(--secondary-hover-color, #f8f9fa)}.course-tooltip .tooltip-body .course-details .course-item .course-info{display:flex;flex-direction:column;gap:4px}.course-tooltip .tooltip-body .course-details .course-item .course-info .course-time{font-size:0.875rem;line-height:160%;letter-spacing:.02em;font-weight:700;color:#000}.course-tooltip .tooltip-body .course-details .course-item .course-info .course-instructors{font-size:0.875rem;line-height:160%;letter-spacing:.02em;font-weight:400;color:#555}.course-tooltip .tooltip-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.3);z-index:-1}course-week-view{position:relative;display:block;width:100%;height:100%;min-width:1200px}course-week-view .week-view-container{display:flex;flex-direction:column;height:100%}course-week-view .date-container{position:sticky;top:0;display:grid;grid-template-columns:83px repeat(7, 1fr)}course-week-view .date-container .month-column{display:flex;align-items:center;justify-content:center;padding:5px 13px}course-week-view .date-container .month-column .month-label{font-size:0.875rem;line-height:160%;letter-spacing:.02em;font-weight:700}course-week-view .date-container .date-headers-container{display:flex;flex:1}course-week-view .date-container .date-header{height:32px;display:flex;flex:1;gap:4px;align-items:center;justify-content:center;padding:5px;cursor:pointer;transition:background-color .2s}course-week-view .date-container .date-header .day-name{font-size:0.875rem;line-height:160%;letter-spacing:.02em;font-weight:400}course-week-view .date-container .date-header .date-number{padding:0 4px;font-size:0.875rem;line-height:160%;letter-spacing:.02em;font-weight:500;border-radius:6px}course-week-view .date-container .date-header.-today- .date-number{background:#fb2e12;color:#fff}course-week-view .calendar-table{position:relative;flex:1;display:grid;grid-template-columns:83px repeat(7, 1fr);overflow:auto}course-week-view .calendar-table .time-column{width:83px;border-right:1px solid #d7d9dd}course-week-view .calendar-table .time-column .time-label{font-size:0.875rem;line-height:160%;letter-spacing:.02em;font-weight:500;text-align:end;height:56px;padding-right:12px}course-week-view .calendar-table .time-column .time-label:first-child{margin-top:-11.2px;opacity:0}course-week-view .calendar-table .time-slot{display:flex;align-items:center;justify-content:center;height:56px;border-bottom:1px solid #d7d9dd;font-size:12px;color:#6c757d}course-week-view .calendar-table .day-column{position:relative;border-top:1px solid #d7d9dd;border-right:1px solid #d7d9dd}course-week-view .calendar-table .weekend-column{background:rgba(0,0,0,.05)}course-week-view .current-time-indicator{position:absolute;left:calc((100% - 83px)/7*var(--current-week-day) + 83px - 2.5px);width:calc((100% - 83px)/7 + 2.5px + 4px);height:1px;background-color:#fb2e12;z-index:20;pointer-events:none}course-week-view .current-time-indicator::before{content:"";position:absolute;left:0px;top:-6px;width:12px;height:12px;background-color:#fb2e12;border-radius:50%}.filter-controller .filter-section{display:flex;align-items:center;flex-wrap:wrap;column-gap:32px;row-gap:12px}@media(max-width: 991.98px){.filter-controller .filter-section{column-gap:16px}}@media(max-width: 575.98px){.filter-controller .filter-section{column-gap:4px}}.filter-controller .filter-section .item{display:flex;align-items:center}.filter-controller .filter-section .item .item-icon{margin-right:4px}.filter-controller .filter-section .item .item-title{font-size:0.875rem;line-height:160%;letter-spacing:.02em;font-weight:400;margin-right:8px}.filter-controller .filter-section .item .item-select{flex:1;min-width:120px;max-width:273px}@media(min-width: 992px){.filter-controller .filter-section .item .item-select{min-width:200px;max-width:400px}}@media(max-width: 991.98px){.filter-controller .filter-section .item .item-date{width:144px}}.filter-controller .filter-section .feature-group{display:flex;align-items:center;margin-left:24px}@media(max-width: 991.98px){.filter-controller .filter-section .feature-group{margin-left:12px}}@media(max-width: 575.98px){.filter-controller .filter-section .feature-group{margin-left:0}}.filter-controller .filter-section .feature-group .d-flex{margin-left:8px}@media(max-width: 575.98px){.filter-controller .filter-section .feature-group .d-flex{gap:0}}.filter-controller .filter-section .feature-group .c-btn{position:relative}.filter-controller .filter-section .feature-group .item-btn{position:relative;padding:6px}.filter-controller .filter-section .item-btn{position:relative}.filter-controller .filter-section .item-popup{position:fixed;z-index:1000;bottom:0;left:0;width:100%;padding:24px 16px;opacity:var(--popup-opacity, 0);transition:all ease 400ms;display:flex;flex-direction:column;gap:24px}.filter-controller .filter-section .item-popup:not(.-active-){pointer-events:none;transform:translateY(100%)}.filter-controller .filter-section .item-popup:not(.-active-) .item-popup__mask{top:0}.filter-controller .filter-section .item-popup.-active-{--popup-opacity: 1}.filter-controller .filter-section .item-popup__title{font-family:"Open Sans",sans-serif;font-size:1rem;line-height:160%;letter-spacing:.02em;font-weight:500;color:#000;text-align:center}.filter-controller .filter-section .item-popup__content{display:flex;flex-direction:column;gap:16px}.filter-controller .filter-section .item-popup__filter{display:flex;flex-wrap:wrap;gap:8px}.filter-controller .filter-section .item-popup__filter label{flex:1 0 100%;display:flex;align-items:center}.filter-controller .filter-section .item-popup__filter .item-select{flex:1 0 100%}.filter-controller .filter-section .item-popup__filter .item-select.-small-{flex:0 0 calc(50% - 4px)}.filter-controller .filter-section .item-popup__btn-group{display:flex;justify-content:center;gap:16px}.filter-controller .filter-section .item-popup__btn-group .item-btn{position:relative;width:100%;max-width:200px}.filter-controller .filter-section .item-popup__bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;border-top-left-radius:6px;border-top-right-radius:6px;background:#fff}.filter-controller .filter-section .item-popup__mask{position:absolute;top:100%;left:0;transform:translateY(-100%);width:100vw;height:100vh;z-index:-2;background:rgba(0,0,0,.3);transition:all ease 400ms}course-calendar{display:block;height:100%;font-family:inherit}course-calendar .course-calendar-container{height:100%}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:hsla(0,0%,100%,.8);display:flex;justify-content:center;align-items:center;z-index:1000}.calendar-content{position:relative;height:100%;display:flex;flex-direction:column}.calendar-content .filter-section{margin-bottom:16px}.calendar-section{position:relative;flex:1;min-height:0;overflow:auto}
