@font-face{font-family:Grotesque;src:url(/_next/static/media/DMSans-Regular.323a9053.ttf);font-weight:400}@font-face{font-family:Grotesque;src:url(/_next/static/media/DMSans-Medium.0e2d83d9.ttf);font-weight:500}@font-face{font-family:Grotesque;src:url(/_next/static/media/DMSans-Bold.f67a25ea.ttf);font-weight:700}a{color:var(--colour-sosy-green-500)}a:hover{opacity:.75}h1,h2,h3,h4,h5,h6,p{color:var(--colour-neutral-000)}.page{min-height:91vh;justify-content:flex-start}.page,.page .main-content{display:flex;flex-direction:column}.page .main-content{gap:1rem}@keyframes pop-up{0%{transform:translateY(120%)}8%{transform:translateY(16rem)}13%{transform:translateY(4rem)}25%{transform:translateY(8rem)}75%{transform:translateY(8rem)}85%{transform:translateY(4rem)}95%{transform:translateY(22rem)}to{transform:translateY(120%)}}.landing-page .hero.container{position:relative;max-width:unset;text-align:center;background:linear-gradient(180deg,#141515,rgba(20,21,21,.75)),url(https://images.unsplash.com/photo-1621290444502-b1d7dfcb202f?q=80&w=2003&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D);background-position:50%;background-size:cover;padding-top:12rem;overflow:hidden}.landing-page .hero.container img{transform:translateY(100%);width:20rem;margin:3rem auto auto;left:50%;animation:pop-up 10s cubic-bezier(.175,.885,.32,1.275) .5s infinite}.landing-page .discover-ssss{padding-bottom:4rem}.landing-page .discover-ssss h3{font-size:1.75rem}.landing-page .discover-ssss p{font-weight:500;margin-top:.25rem}.landing-page .discover-ssss header{margin-bottom:1rem}.landing-page .discover-ssss header button{margin-top:1rem}.landing-page .discover-ssss .discover-ssss__link-item,.landing-page .discover-ssss .discover-ssss__main-link-item{text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;height:14rem;border-radius:12px;padding:1rem;background:linear-gradient(180deg,rgba(20,21,21,0),#141515),url(/_next/static/media/explore-sfu.e9cde9a5.webp);background-size:cover;background-position:50%;cursor:pointer}.landing-page .discover-ssss .discover-ssss__link-items,.landing-page .discover-ssss .discover-ssss__link-items>*+*{margin-top:2rem}.landing-page .discover-ssss .discover-ssss__link-items .discover-ssss__link-item:first-child{background:linear-gradient(180deg,rgba(20,21,21,0),#141515),url(/_next/static/media/schedule.29182e8a.webp);background-size:cover;background-position:50%}@media only screen and (min-width:768px){.landing-page .discover-ssss{display:grid;grid-template-areas:"header header" "main items";grid-gap:1rem;gap:1rem;grid-template-columns:1fr 50%}.landing-page .discover-ssss header{grid-area:header;display:flex;width:100%;justify-content:space-between;align-items:center;margin-bottom:0}.landing-page .discover-ssss header button{margin-top:0}.landing-page .discover-ssss .discover-ssss__main-link-item{grid-area:main;height:100%;padding:2rem}.landing-page .discover-ssss .discover-ssss__link-items{grid-area:items;margin-top:0}.landing-page .discover-ssss .discover-ssss__link-items>.discover-ssss__link-item:first-child,.landing-page .discover-ssss .discover-ssss__link-items>.discover-ssss__link-item:nth-child(2),.landing-page .discover-ssss .discover-ssss__link-items>.discover-ssss__link-item:nth-child(3){height:20rem;justify-content:center;overflow:hidden;position:relative;padding-left:1.5rem;padding-right:1.5rem;margin:0 0 1rem;background:var(--colour-neutral-1100)}.landing-page .discover-ssss .discover-ssss__link-items>.discover-ssss__link-item:first-child:before,.landing-page .discover-ssss .discover-ssss__link-items>.discover-ssss__link-item:nth-child(2):before,.landing-page .discover-ssss .discover-ssss__link-items>.discover-ssss__link-item:nth-child(3):before{content:"";background-size:cover;background-position:50%;display:block;-webkit-clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);position:absolute;right:0;width:50%;height:100%}.landing-page .discover-ssss .discover-ssss__link-items .discover-ssss__link-item:first-child:before{background-image:url(/_next/static/media/schedule.29182e8a.webp)}}.landing-page .schedule-preview-section{padding-top:4rem;padding-bottom:4rem}.landing-page .schedule-preview-section h2{text-align:center;margin-bottom:2rem}.landing-page .schedule-preview-section .schedule-preview-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.landing-page .schedule-preview-section .schedule-preview-tabs .tab-button{background-color:var(--colour-neutral-1000);color:var(--colour-neutral-100);border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-weight:500}.landing-page .schedule-preview-section .schedule-preview-tabs .tab-button:hover{background-color:var(--colour-neutral-900)}.landing-page .schedule-preview-section .schedule-preview-tabs .tab-button.active{background-color:var(--colour-sosy-green-800);color:var(--colour-neutral-000)}.landing-page .schedule-preview-section .schedule-preview-content{display:flex;flex-direction:column;gap:1.5rem}@media only screen and (min-width:1025px){.landing-page .schedule-preview-section .schedule-preview-content{flex-direction:row}}.landing-page .schedule-preview-section .schedule-preview-content .selected-courses-preview{flex:1 1;background-color:var(--colour-neutral-1100);border-radius:.75rem;padding:1.5rem}.landing-page .schedule-preview-section .schedule-preview-content .selected-courses-preview h3{margin-bottom:1rem;color:var(--colour-sosy-green-500)}.landing-page .schedule-preview-section .schedule-preview-content .selected-courses-preview .selected-courses-badges{display:flex;flex-wrap:wrap;gap:.5rem}.landing-page .schedule-preview-section .schedule-preview-content .selected-courses-preview .no-courses{color:var(--colour-neutral-500);text-align:center;padding:2rem 0}.landing-page .schedule-preview-section .schedule-preview-content .weekly-schedule-preview{flex:2 1;background-color:var(--colour-neutral-1100);border-radius:.75rem;padding:1.5rem;min-height:400px}.landing-page .schedule-preview-section .schedule-preview-content .weekly-schedule-preview .empty-schedule-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px}.landing-page .schedule-preview-section .schedule-preview-content .weekly-schedule-preview .empty-schedule-message p{color:var(--colour-neutral-500);margin-bottom:1.5rem}.landing-page .schedule-preview-section .schedule-preview-content .weekly-schedule-preview .empty-schedule-message .create-schedule-link{background-color:var(--colour-sosy-green-700);color:var(--colour-neutral-000);padding:.75rem 1.5rem;border-radius:.5rem;text-decoration:none;transition:all .2s ease}.landing-page .schedule-preview-section .schedule-preview-content .weekly-schedule-preview .empty-schedule-message .create-schedule-link:hover{background-color:var(--colour-sosy-green-600);transform:translateY(-2px)}.landing-page .schedule-preview-section .no-default-schedules{text-align:center;padding:3rem 0}.landing-page .schedule-preview-section .no-default-schedules p{color:var(--colour-neutral-400);margin-bottom:1.5rem}.landing-page .schedule-preview-section .no-default-schedules .create-schedule-button{display:inline-block;background-color:var(--colour-sosy-green-700);color:var(--colour-neutral-000);padding:.75rem 1.5rem;border-radius:.5rem;text-decoration:none;transition:all .2s ease}.landing-page .schedule-preview-section .no-default-schedules .create-schedule-button:hover{background-color:var(--colour-sosy-green-600);transform:translateY(-2px)}.resources-page .hero{position:relative;max-width:unset;text-align:center;background:linear-gradient(180deg,#141515,rgba(20,21,21,.75)),url(/_next/static/media/hero-laptop.99092d58.jpeg);background-position:50%;background-size:cover;padding-top:6rem;overflow:hidden;padding-bottom:6rem}.resources-page ul.resources-links li+li{margin-top:.5rem}.resources-page ul.resources-links li{margin-left:2em;color:var(--colour-sosy-green-500);font-size:1.25em}#explore-container{display:flex;max-width:100%;width:75rem;gap:1rem}#explore-container .courses-section{display:flex;flex-direction:column;width:50rem;max-width:100%;gap:.5em;flex:1 1}#explore-container .courses-section__explore-header{display:flex;align-items:center;gap:.5rem;height:3rem}#explore-container .courses-section__explore-header div{height:100%}#explore-container .courses-section__explore-header .courses-container{padding:.5rem}#explore-container .filter-section{margin-top:3.4rem;max-width:100%;display:flex;flex-direction:column;gap:1rem}#explore-container .schedule-section{margin-top:2rem;flex:1 1;flex-direction:column;gap:1rem}.courses-container{display:flex;flex-wrap:wrap;flex-direction:column;gap:.75em;margin:.5em 0}@media only screen and (max-width:767px){#explore-container{flex-direction:column-reverse}.filter-section{margin-top:0}}.container.course-container{max-width:1200px;display:flex;flex-direction:column;gap:2rem}.container.course-container .course-top-container{display:flex;gap:2rem}.container.course-container .course-top-container .course-left-section{flex:2 1;display:flex;flex-direction:column;gap:2rem;max-width:30rem}.container.course-container .course-top-container .prerequisites-visualization{flex:3 1}.container.course-container .course-offerings{display:flex;align-items:flex-start;gap:1rem}@media only screen and (max-width:767px){.container.course-container .course-top-container{flex-direction:column}}.course-page-card{max-width:100%;width:60rem;height:-moz-fit-content;height:fit-content;border-radius:.5rem;transition:transform .15s,opacity .15s;text-decoration:none;font-size:1.1rem}.course-page-card .course-title{margin-bottom:.5rem;font-weight:700}.course-page-card .course-description{margin-top:.5rem;color:var(--colour-neutral-500)}.course-review-summary{margin-bottom:1rem}.review-stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.75rem;background:var(--colour-neutral-1000);border-radius:.375rem;transition:background-color .2s ease}.stat-item:hover{background:var(--colour-neutral-900)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--colour-sosy-green-500);margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--colour-neutral-400);text-transform:uppercase;letter-spacing:.025em}.course-charts-section{margin-bottom:1rem}.course-charts{display:flex;gap:1rem;width:100%}@media(max-width:768px){.course-charts{flex-direction:column;gap:1rem}}.chart-container{flex:1 1}#schedule-container{display:flex;max-width:100%;width:100rem;gap:1rem;position:relative}#schedule-container .courses-section{display:flex;flex-direction:column;max-width:100%;width:22.5rem;flex:0 0 auto}#schedule-container .courses-section__header{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}#schedule-container .courses-section__header .big.explore{margin-top:0}#schedule-container .courses-section .courses-container{display:flex;flex-direction:column;gap:.75rem}#schedule-container .courses-section .search-filter-row{display:flex;align-items:center;margin-bottom:.5rem}#schedule-container .courses-section .search-filter-row .search-bar{flex:1 1}@media screen and (max-width:600px){#schedule-container .courses-section .search-filter-row{flex-direction:column;align-items:stretch}}#schedule-container .courses-section .term-filter-row{display:flex;align-items:center;gap:.5rem;width:100%;margin-bottom:.75rem}#schedule-container .courses-section .section-details-container{cursor:pointer}#schedule-container .courses-section .section-details-container:hover{opacity:.9;transform:translateY(-.1rem)}#schedule-container .courses-section .section-details-container:active{transform:scale(.99)}#schedule-container .campus-filter{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;width:-moz-fit-content;width:fit-content}#schedule-container .campus-filter .campus-select{flex:1 1;background-color:var(--colour-neutral-1000);border:1px solid var(--colour-neutral-800);border-radius:.25rem;color:var(--colour-neutral-100);padding:.5rem;font-size:.9rem;width:6rem}#schedule-container .campus-filter .campus-select:focus{outline:none;border-color:var(--colour-sosy-green-600)}#schedule-container .campus-filter .campus-select option{background-color:var(--colour-neutral-1100);color:var(--colour-neutral-000)}#schedule-container .term-toggle-button{display:flex;align-items:center;gap:.5rem;padding:.4rem;width:-moz-fit-content;width:fit-content;background-color:var(--colour-neutral-1000);border:1px solid var(--colour-neutral-800);color:var(--colour-neutral-000);border-radius:.5rem;font-size:.95rem;transition:all .2s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}#schedule-container .term-toggle-button svg{font-size:1.1rem}#schedule-container .term-toggle-button:hover{background-color:var(--colour-neutral-900)}#schedule-container .term-toggle-button.active{background-color:var(--colour-sosy-green-800);border-color:var(--colour-sosy-green-700)}#schedule-container .term-toggle-button.active:hover{background-color:var(--colour-sosy-green-700)}#schedule-container .term-toggle-group{display:flex}@media screen and (max-width:600px){#schedule-container .term-toggle-button{flex:1 1;justify-content:center;font-size:.85rem;padding:.35rem .6rem}#schedule-container .term-toggle-group{width:100%}}#schedule-container .search-filter-container{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.5rem}#schedule-container .schedule-section{margin-top:4.5rem;flex:1 1;width:100%;display:flex;flex-direction:column;gap:.5rem;position:-webkit-sticky;position:sticky;top:1rem;align-self:flex-start;z-index:20;height:auto;overflow:auto}#schedule-container .schedule-section__header{display:flex;justify-content:space-between;align-items:flex-end;gap:.5rem}#schedule-container .schedule-section__content{width:100%;display:flex;gap:1rem;padding:1rem;border:1px dashed gray;border-radius:.5rem;flex:1 1;height:auto;overflow:visible}#schedule-container .schedule-section .selected-courses{flex:1 1;width:100%;max-width:22.5rem;display:flex;flex-direction:column;gap:1rem;overflow:auto}#schedule-container .schedule-section .selected-courses__items{display:flex;flex-direction:column;gap:1rem}#schedule-container .schedule-section .schedule-container{flex:1 1;width:100%;display:flex;flex-direction:column;gap:1rem;height:auto}#schedule-container.two-column{width:75rem}#schedule-container.two-column .schedule-section__content{flex-direction:column-reverse}@media(max-width:1024px){#schedule-container{flex-direction:column-reverse}#schedule-container .schedule-section{position:static}}@media(max-width:768px){#schedule-container{flex-direction:column-reverse}#schedule-container .courses-section .term-filter-row{justify-content:flex-end}#schedule-container .schedule-section{margin-top:1rem;flex-direction:column;position:static}#schedule-container .schedule-section__header{flex-direction:column}#schedule-container .schedule-section .view-column-button-group{display:none}#schedule-container .schedule-section__content{flex-direction:column-reverse;padding:.75rem}#schedule-container .schedule-section .schedule-container,#schedule-container .schedule-section .selected-courses{max-width:100%}#schedule-container .search-filter-container .campus-filter{flex-direction:column;align-items:flex-start}#schedule-container .search-filter-container .campus-filter label{margin-bottom:.25rem}#schedule-container .search-filter-container .campus-filter .campus-select{width:100%}}.empty-message{text-align:center;padding:2rem 0;font-style:italic}.section-title{background-color:var(--colour-neutral-1200);padding:.5rem 0;margin-top:0;margin-bottom:.5rem}.weekly-schedule .schedule-grid{height:auto}.schedule-container:empty:after{content:"Select courses to see your schedule";display:block;text-align:center;color:var(--colour-neutral-500);padding:2rem;font-style:italic}.text-badge.explore{background:var(--colour-neutral-1100) 100%;color:var(--colour-sosy-green-500);width:-moz-fit-content;width:fit-content}.campus-filter-select{display:flex;align-items:center;padding:.4rem .2rem;width:-moz-fit-content;width:fit-content;background-color:var(--colour-neutral-1000);border:1px solid var(--colour-neutral-800);color:var(--colour-neutral-000);border-radius:.5rem;font-size:.95rem;transition:all .2s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.campus-filter-select:hover{background-color:var(--colour-neutral-900)}.campus-filter-select:focus{outline:2px solid var(--colour-sosy-green-600);outline-offset:1px}.campus-filter-select option{background-color:var(--colour-neutral-1000)}.filter-with-icon{position:relative;display:inline-flex;align-items:center}.filter-with-icon svg{position:absolute;left:.5rem;color:var(--colour-sosy-green-500);font-size:1.1rem}.filter-with-icon select{padding-left:2rem}@media screen and (max-width:600px){.campus-filter-select{font-size:.85rem;padding:.35rem .6rem .35rem 1.8rem}.filter-with-icon svg{font-size:1rem;left:.4rem}}.instructor-details-container{display:flex;flex-direction:column;gap:1.5rem}.instructor-header{margin-bottom:2rem}.instructor-main-section{display:flex;gap:2rem;align-items:flex-start}@media(max-width:768px){.instructor-main-section{flex-direction:column;gap:1.5rem}}.instructor-info-container{flex:2 1;display:flex;flex-direction:column;gap:1.5rem}.instructor-info-container h1{font-size:2.5rem;font-weight:700;color:var(--colour-neutral-100);margin:0;text-align:left}@media(max-width:768px){.instructor-info-container h1{font-size:2rem;text-align:center}}.instructor-charts-container{flex:3 1;display:flex;gap:1rem;min-width:0;width:100%}@media(max-width:768px){.instructor-charts-container{flex-direction:column;gap:1rem}}.chart-container{width:100%;background:var(--colour-neutral-1100);border-radius:.75rem;padding:1rem;border:1px solid var(--colour-neutral-1000)}.chart-container h3{font-size:1rem;font-weight:600;color:var(--colour-neutral-200);margin-bottom:.75rem;text-align:center}.instructor-offerings-list{display:flex;flex-direction:column;gap:1rem}.btn{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:.3rem .6rem;background-color:var(--colour-sosy-green-800);border:none;color:var(--colour-neutral-000);border-radius:.75rem;font-size:1rem;transition:all .2s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}.btn:hover{opacity:.9;transform:translateY(-.1rem)}.btn:active{transform:scale(.99)}.btn.secondary{background-color:var(--colour-neutral-1000)}.btn.section-btn{background:transparent;border:1px solid var(--colour-neutral-500);border-radius:.25rem;width:-moz-fit-content;width:fit-content;overflow:hidden}.btn.section-btn:hover{background-color:var(--colour-neutral-900);transform:none}.btn.section-btn:active{background-color:var(--colour-neutral-800)}.course-card{max-width:50rem;width:100%;border-radius:.5rem;background:var(--colour-neutral-1100) 100%;padding:.8rem;display:flex;flex-direction:column;align-content:center;text-decoration:none}.course-card.is-link{transition:transform .15s,opacity .15s}.course-card.is-link:hover{opacity:.8;transform:translateY(-.1rem)}.course-card.is-link:active{transform:scale(.99)}.course-card .course-title{margin-bottom:.5rem;font-weight:700}.course-card .course-terms{margin-top:.5rem}.course-card .course-description{margin-top:.5rem;color:var(--colour-neutral-500)}.course-card__content{display:flex;flex-direction:column;gap:.5rem}.course-card__row{display:flex;flex-wrap:wrap;max-width:100%;gap:.5rem}.course-card.instructor-card .course-title{margin-bottom:1rem}.course-details-inline{background:var(--colour-neutral-1100) 100%;margin-top:.5rem;padding:.5rem .5rem 1rem;border-radius:.5rem;display:flex;flex-direction:column;line-height:1.25em;margin-bottom:1rem}.course-details-inline .back-arrow{cursor:pointer;display:flex;align-items:center;justify-content:flex-start;width:100%;padding:.5rem;border-radius:.5rem;transition:all .2s ease;margin-bottom:.25rem}.course-details-inline .back-arrow svg{width:1.25rem;height:1.25rem;color:var(--colour-neutral-300);transition:color .2s ease}.course-details-inline .back-arrow .back-arrow-icon{font-size:1.5rem}.course-details-inline .back-arrow:hover{background-color:var(--colour-neutral-1000)}.course-details-inline .back-arrow:hover svg{color:var(--colour-neutral-100)}.course-details-inline .course-info-header{padding:.5rem 0 0 .5rem;display:flex;justify-content:flex-start;align-items:center;text-decoration:none;transition:all .2s ease;border-radius:.25rem;font-size:1.5rem;color:var(--colour-sosy-green-500)}.course-details-inline .course-info{padding:.5rem 0 0 .5rem;display:flex;flex-direction:column;gap:.75rem}.course-details-inline .reddit-section{padding-left:.5rem;border-top:1px solid var(--colour-neutral-1000);margin-top:1rem}.course-details-inline .course-review-summary{margin:1rem 0;padding:.75rem;border-radius:.5rem}.course-details-inline .review-stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.5rem;gap:.5rem}.course-details-inline .stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.5rem;border-radius:.375rem;transition:background-color .2s ease}.course-details-inline .stat-item,.course-details-inline .stat-item:hover{background:var(--colour-neutral-1000)}.course-details-inline .stat-value{font-size:1.25rem;font-weight:700;color:var(--colour-sosy-green-500);margin-bottom:.25rem}.course-details-inline .stat-label{font-size:.75rem;color:var(--colour-neutral-400);text-transform:uppercase;letter-spacing:.025em}.course-details-inline .course-charts-section{flex-direction:column;margin:1rem 0}.course-details-inline .course-charts{display:flex;flex-direction:column;gap:.75rem;width:90%;margin:auto}.course-details-inline .chart-container{flex:1 1;background:var(--colour-neutral-1000);border-radius:.5rem;padding:.75rem;border:1px solid var(--colour-neutral-900)}.course-details-inline .chart-container h3{font-size:.875rem;font-weight:600;color:var(--colour-neutral-200);margin-bottom:.5rem;text-align:center}.instructor-header{display:flex;flex-direction:column;gap:.75rem}.instructor-name-section{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.instructor-review-badges{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.review-badge{font-size:.75rem!important;padding:.25rem .5rem!important;background:var(--colour-neutral-1000)!important;color:var(--colour-neutral-300)!important}.review-badge:hover{background:var(--colour-neutral-900)!important;border-color:var(--colour-neutral-700)!important}.reviews-section{width:95%;margin:auto}.reviews-section .filter-controls{justify-content:flex-start;flex-direction:column;flex-wrap:wrap}.explore-filter{position:-webkit-sticky;position:sticky;top:1rem;display:flex;flex-direction:column;gap:1.25rem;width:22.5rem;justify-self:center;max-width:100%;border-radius:.5rem;background:var(--colour-neutral-1100) 100%;padding:2rem}.explore-filter__top{display:flex;flex-direction:row;justify-content:space-between}.explore-filter__reset{margin-top:-1rem;margin-right:-1rem;font-size:1.3rem}.explore-filter__section{display:flex;flex-direction:column;gap:.5rem}.explore-filter__section__row{display:flex;gap:.5rem;flex-wrap:wrap}.explore-filter__subject-select{max-width:100%;width:15em}.explore-filter .checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1.5rem;height:1.5rem;border:2px solid hsla(0,0%,100%,.3);border-radius:4px;background-color:hsla(0,0%,100%,.05);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease-in-out}.explore-filter .checkbox:hover{border-color:hsla(0,0%,100%,.5);background-color:hsla(0,0%,100%,.1)}.explore-filter .checkbox:checked{background-color:hsla(0,0%,100%,.9);border-color:hsla(0,0%,100%,.9)}.explore-filter .checkbox:checked:after{content:"";width:9px;height:9px;background-color:var(--colour-neutral-1000);border-radius:1px}.explore-filter .checkbox:checked:hover{background-color:var(--colour-neutral-800)}@media screen and (max-width:1250px){.explore-filter{top:auto;position:relative}}.header-nav .container>a{cursor:pointer;z-index:20}.header-nav .container input[type=checkbox]{display:none}@media screen and (max-width:869px){.header-nav .container input[type=checkbox]:checked~label .menu-icon .line:first-child{transform:rotate(225deg) translate(-3px,-4px)}.header-nav .container input[type=checkbox]:checked~label .menu-icon .line:last-child{transform:rotate(-225deg) translate(-3px,4px)}.header-nav .container input[type=checkbox]:checked~.content{position:absolute;display:flex;flex-direction:column;background-color:var(--colour-neutral-1100);inset:0;height:100vh;width:100vw;justify-content:center;visibility:visible;opacity:1}.header-nav .container input[type=checkbox]:checked~.content .pages{font-size:2rem;flex-direction:column;align-items:center}.header-nav .container input[type=checkbox]:checked~.content .pages>*{opacity:0;animation:fade-up .5s cubic-bezier(.4,0,.2,1) forwards}.header-nav .container input[type=checkbox]:checked~.content .pages>:nth-child(2){animation-delay:.1s}.header-nav .container input[type=checkbox]:checked~.content .pages>:nth-child(3){animation-delay:.2s}.header-nav .container input[type=checkbox]:checked~.content .pages>:nth-child(4),.header-nav .container input[type=checkbox]:checked~.content .pages>:nth-child(5){animation-delay:.3s}.header-nav .container input[type=checkbox]:checked~.content .pages>:nth-child(6){animation-delay:.4s}.header-nav .container input[type=checkbox]:checked~.content .socials{opacity:0;animation:fade-up .5s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.4s}}.header-nav .container label{z-index:20}.header-nav .container label .menu-icon{display:flex;flex-direction:column;justify-content:space-between;width:2rem;height:.75rem;cursor:pointer}.header-nav .container label .menu-icon .line{width:100%;height:20%;background-color:var(--colour-neutral-000);transition:all .3s cubic-bezier(.4,0,.2,1)}@media screen and (min-width:869px){.header-nav .container label .menu-icon{display:none}}.header-nav .container .page-link{color:var(--colour-neutral-000);padding:10px;text-decoration:none}.header-nav .container .content{display:flex;align-items:center;transition:opacity .3s cubic-bezier(.4,0,.2,1);font-size:1.25rem}@media screen and (max-width:869px){.header-nav .container .content{opacity:0;visibility:hidden;display:none}}.header-nav .container .content .pages{display:flex;justify-content:space-evenly}.header-nav .container .content .socials{display:flex;align-items:center;justify-content:center;padding:10px}.header-nav .container .content .socials a{margin:1px;padding-right:10px}.header-nav{background:transparent;transition:transform .3s ease,background-color .3s ease;position:fixed;width:100%;top:0;z-index:100}.header-nav.header-hidden{transform:translateY(-100%)}.header-nav.header-scrolled{background-color:rgba(20,21,21,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 10px rgba(0,0,0,.2)}.header-nav__primary{display:flex;gap:.5rem;align-items:center}.header-nav .container{color:var(--colour-neutral-000);display:flex;align-items:center;justify-content:space-between;width:100%;top:0;z-index:10;left:0;right:0}.header-nav .container h2{font-size:2rem}.header-nav .container.container{padding-top:1rem;padding-bottom:1rem}.header-nav .desktop-nav{display:flex;gap:1.5rem}@media screen and (max-width:869px){.header-nav .desktop-nav{display:none}}.header-nav .desktop-nav .page-link{color:var(--colour-neutral-000);font-size:1.3rem;text-decoration:none;transition:color .2s ease}.header-nav .desktop-nav .page-link:hover{color:var(--colour-sosy-green-500)}.mobile-bottom-nav{display:none}@media screen and (max-width:869px){.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:60px;background-color:rgba(25,26,26,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 -2px 10px rgba(0,0,0,.2);z-index:101}.mobile-bottom-nav .mobile-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--colour-neutral-300);text-decoration:none;padding:8px 0;transition:all .2s ease;position:relative}.mobile-bottom-nav .mobile-nav-item span{font-size:.7rem;margin-top:4px}.mobile-bottom-nav .mobile-nav-item:hover{color:var(--colour-sosy-green-500)}.mobile-bottom-nav .mobile-nav-item:hover svg{stroke:var(--colour-sosy-green-500)}.mobile-bottom-nav .mobile-nav-item.active{color:var(--colour-sosy-green-500)}.mobile-bottom-nav .mobile-nav-item.active svg{stroke:var(--colour-sosy-green-500)}.mobile-bottom-nav .mobile-nav-item.active:after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:25px;height:3px;background-color:var(--colour-sosy-green-500);border-radius:0 0 3px 3px}.footer,.page{padding-bottom:70px}.header-nav .container{padding-left:1rem;padding-right:1rem}.header-nav__primary{width:100%;display:flex;justify-content:space-between;align-items:center}.header-nav__primary .page-link{flex:0 0 auto}}.footer{background-color:var(--colour-neutral-1100);background-image:url(/_next/static/media/code-snippet.78088102.svg);background-repeat:no-repeat;background-position:100% 100%}.footer>.container{flex-direction:column;overflow:hidden;bottom:0;width:100%;padding-bottom:8rem;position:relative}.footer>.container,.footer>.container .footer-socials{display:flex;gap:1rem}.footer>.container .icon-container{display:flex;flex-direction:column;gap:.5rem}.footer>.container .icon-container h4{margin-bottom:.25rem}.footer>.container .icon-container address{font-style:normal}.footer>.container .icon-container address a{text-decoration:none;color:var(--colour-neutral-000)}@media only screen and (min-width:1025px){.footer>.container{padding-top:2.5rem;padding-bottom:4rem}.footer>.container .icon-container{flex-direction:row;gap:1.25rem}.footer>.container .icon-container h4{margin-bottom:1rem}}.accordion{border-radius:.75rem;background-color:var(--colour-neutral-1100)}.accordion button{display:block;width:100%;text-align:initial;font-size:1rem;cursor:pointer}.accordion .card{display:flex;flex-direction:column}.accordion .card li+li{margin-top:1rem}.accordion .card li{list-style-image:url(/_next/static/media/list-style-check.feef6291.svg);margin-left:1.5rem}.accordion .card button{padding:1rem}.accordion .card:not(:last-child){border-bottom:1px solid var(--colour-neutral-1000)}.accordion .card-body[data-opened]{padding:0 .5rem 1rem}.accordion .card-body{box-sizing:content-box;padding:0 .5rem;border-radius:10px;overflow-y:hidden;max-height:0;transition:max-height .25s ease-in-out,padding .25s ease-in-out}.hero.container{position:relative;max-width:unset;text-align:center;background-position:50%;background-size:cover;background-repeat:no-repeat;padding-top:5rem;overflow:hidden;padding-bottom:3rem}.hero.container h1,.hero.container p{color:var(--colour-neutral-000)}.hero.container p{font-weight:500}.faq-item{position:relative;background:var(--colour-neutral-1100) 100%;margin:1.5rem 0;padding:1.5rem;border-radius:.75rem;height:-moz-fit-content;height:fit-content}.faq-item input{display:none}.faq-item label{font-size:1.25rem;cursor:pointer;display:flex;gap:1rem;align-items:center;justify-content:space-between;font-weight:700;transition:color .25s}.faq-item label img{filter:saturate(0) brightness(2);transition:all .25s}.faq-item .content{font-size:1.1rem;overflow:hidden;max-height:0;transition:max-height .25s;margin-top:.5rem}.faq-item input:checked~label{color:var(--colour-sosy-green-500)}.faq-item input:checked~label img{filter:invert(50%) sepia(84%) saturate(391%) hue-rotate(116deg) brightness(93%) contrast(85%);transform:rotate(-180deg)}.faq-item input:checked~.content{max-height:100vh}.search-bar{position:relative;background:var(--colour-neutral-1100) 100%;width:100%;height:3rem;border-radius:.75rem;display:flex;align-items:center}.search-bar__icon-wrapper{position:absolute;inset-block:0;left:0;display:flex;align-items:center;padding-left:.75rem}.search-bar__icon{transition:stroke .2s ease;stroke:#9ca3af}.search-bar__icon--selected{stroke:var(--colour-sosy-green-500)}.search-bar__input-wrapper{width:100%}.search-bar.disabled{background:#000 100%}.search-bar input{width:100%;padding-left:2.5rem;background:var(--colour-neutral-1100) 100%;border:0;outline:none;font-size:1.25rem}.search-bar input:active{border:0}.search-bar input:disabled{cursor:not-allowed;color:gray}.secondary.search-bar{background:var(--colour-neutral-1000) 100%;height:2.5rem;width:20rem;max-width:100%;border-radius:.25rem}.secondary.search-bar input{font-size:1.15rem;background:var(--colour-neutral-1000) 100%}.text-badge{display:flex;align-items:center;justify-content:center;background:var(--colour-neutral-1100) 100%;background-color:var(--colour-neutral-1000);color:var(--colour-sosy-green-500);border:none;padding:.5rem;height:1.75rem;color:var(--colour-neutral-000);min-width:-moz-fit-content;min-width:fit-content;border-radius:.75rem;width:-moz-fit-content;width:fit-content}.text-badge.big{padding:.5rem;height:3rem}.course-tab-container{width:100%;max-width:400px;border-radius:8px;background:var(--colour-neutral-1100) 100%}.course-tab-container .tabs{display:flex;background:var(--colour-neutral-1100) 100%;border-bottom:2px solid var(--colour-neutral-900);font-size:.95rem}.course-tab-container .tabs .tab{flex:1 1;padding:.75rem;cursor:pointer;border:none;background:none;font-size:1em;color:var(--colour-neutral-400);transition:all .3s ease;position:relative}.course-tab-container .tabs .tab thead{background:var(--colour-neutral-1100) 100%}.course-tab-container .tabs .tab.active{color:var(--colour-neutral-000);border-bottom:2px solid var(--colour-sosy-green-800);font-weight:700}.course-tab-container .tabs .tab:hover{color:var(--colour-neutral-000);background-color:var(--colour-neutral-900)}.course-tab-container .tab-content{padding:1rem;display:flex;flex-direction:column;align-items:center;background-color:var(--colour-neutral-1100);border-top:none;border-radius:0 0 8px 8px;color:var(--colour-neutral-400)}.reddit-posts-container{margin-top:20px;max-width:100%}.reddit-posts-container .reddit-posts{margin-top:1em;display:flex;flex-direction:row;flex-wrap:wrap;gap:2rem}.reddit-posts-container h3{margin-bottom:15px;color:var(--colour-neutral-000)}.reddit-posts-container .reddit-post-link{text-decoration:none;color:inherit;max-width:100%;flex-basis:30em;flex-grow:0;flex-shrink:0}.reddit-posts-container .reddit-post{display:flex;gap:1rem;background-color:var(--colour-neutral-1000);padding:1rem;border-radius:5px;transition:background-color .3s ease}.reddit-posts-container .reddit-post .upvote-container{display:flex;flex-direction:column;gap:.2rem;align-items:center;justify-content:center}.reddit-posts-container .reddit-post:hover{background-color:var(--colour-neutral-900);cursor:pointer}.reddit-posts-container .reddit-post h4{margin:0;color:var(--colour-neutral-000)}.reddit-posts-container .reddit-post p{margin:5px 0;color:var(--colour-neutral-400)}.reddit-posts-container .error,.reddit-posts-container .loading{color:var(--colour-neutral-000)}.weekly-schedule{height:auto}.weekly-schedule .schedule-header{margin-bottom:15px}.weekly-schedule .schedule-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.weekly-schedule .schedule-navigation button{padding:.3rem .6rem}.weekly-schedule .schedule-navigation .date-range-header{font-weight:700;display:flex;align-items:center;gap:10px}.weekly-schedule .schedule-navigation .date-range-header button{padding:.2rem .4rem}.weekly-schedule .schedule-grid{display:grid;grid-template-columns:3rem repeat(5,1fr);grid-gap:1px;gap:1px;background-color:var(--colour-neutral-1000);border:1px solid var(--colour-neutral-800);border-radius:8px;overflow:visible;position:relative}.weekly-schedule .grid-header{display:contents}.weekly-schedule .day-header{color:var(--colour-neutral-000);padding:6px 4px;text-align:center;font-weight:700}.weekly-schedule .day-header .day-date{color:var(--colour-neutral-400)}.weekly-schedule .time-column{display:flex;flex-direction:column;position:relative}.weekly-schedule .time-label{color:var(--colour-neutral-000);height:17.5px;position:relative}.weekly-schedule .time-text{position:absolute;right:1px;top:-10px;font-size:.8rem;background-color:var(--colour-neutral-1000);padding:0 2px;font-family:monospace}.weekly-schedule .time-label--half{color:var(--colour-neutral-400)}.weekly-schedule .day-column{position:relative;background-color:var(--colour-neutral-1100)}.weekly-schedule .time-slot{height:17.5px;border-bottom:1px dashed var(--colour-neutral-900)}.weekly-schedule .time-slot--half{border-bottom-style:solid}.weekly-schedule .course-block{position:absolute;left:2px;right:2px;color:var(--colour-neutral-000);padding:2px 3px;border-radius:2px;font-size:.75rem;overflow:hidden;white-space:normal;z-index:1}.weekly-schedule .course-block:hover{overflow:visible;z-index:2;box-shadow:0 0 5px rgba(0,0,0,.3)}@media only screen and (max-width:767px){.weekly-schedule .date-range-header{flex-direction:column;align-items:center}.weekly-schedule .schedule-grid{width:100%;overflow-x:auto}.weekly-schedule .time-text{font-size:.7rem}.weekly-schedule .course-block{font-size:.7rem;padding:1px 2px}}.weekly-schedule .time-blocking-hint{text-align:center;color:var(--colour-neutral-400);margin-bottom:10px;font-size:.9rem}.weekly-schedule .schedule-grid{cursor:default}.weekly-schedule .schedule-grid .day-column{position:relative}.weekly-schedule .schedule-grid .day-column .time-slot{cursor:cell;transition:background-color .1s ease}.weekly-schedule .course-block.time-block{border:1px dashed hsla(0,0%,100%,.5);background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 10px,rgba(0,0,0,.2) 0,rgba(0,0,0,.2) 20px)}.weekly-schedule .course-block.time-block .time-block-label{font-weight:700;font-size:.85rem;margin-bottom:4px}.weekly-schedule .course-block.time-block .time-block-time{font-size:.75rem;opacity:.9}.weekly-schedule .course-block.time-block:hover{opacity:.8;border:1px solid #fff}.weekly-schedule .course-block.time-block.preview{animation:pulse 1.5s infinite;pointer-events:none}@keyframes pulse{0%{opacity:.7}50%{opacity:.9}to{opacity:.7}}@media(max-width:768px){.weekly-schedule .time-blocking-hint{font-size:.8rem}.weekly-schedule .course-block.time-block .time-block-label{font-size:.7rem}.weekly-schedule .course-block.time-block .time-block-time{font-size:.65rem}}@keyframes merge-pulse{0%{box-shadow:0 0 0 0 hsla(0,0%,100%,.7)}70%{box-shadow:0 0 0 10px hsla(0,0%,100%,0)}to{box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}.course-block.time-block.merged{border:2px solid #fff;animation:merge-pulse 1.5s ease-out;background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.2),rgba(0,0,0,.2) 10px,rgba(0,0,0,.3) 0,rgba(0,0,0,.3) 20px)}.merge-indicator{position:absolute;right:5px;top:5px;background-color:hsla(0,0%,100%,.9);color:#dc4c64;font-size:.7rem;padding:2px 4px;border-radius:4px;font-weight:700;opacity:.8;pointer-events:none}.time-block-toggle-container{display:flex;justify-content:center;margin-bottom:10px}.time-block-toggle-button{padding:8px 12px;background-color:var(--colour-neutral-900);color:var(--colour-neutral-100);border:none;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.time-block-toggle-button.active{background-color:rgba(220,76,100,.9);color:#fff;box-shadow:0 0 8px rgba(220,76,100,.6)}.time-block-toggle-button:hover{opacity:.9}.schedule-grid.time-block-mode .day-column .time-slot{cursor:pointer}.schedule-grid.time-block-mode .day-column .time-slot:hover{background-color:rgba(220,76,100,.2)}@media(max-width:768px){.weekly-schedule .course-block{min-height:30px}.weekly-schedule .course-block.time-block{padding:3px}.weekly-schedule .course-block.time-block .time-block-label{font-size:.7rem;font-weight:700}.weekly-schedule .course-block.time-block .time-block-time{font-size:.65rem}.weekly-schedule .time-slot{height:17.5px}.mobile-instruction-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:100;padding:20px;text-align:center}.mobile-instruction-overlay p{margin-bottom:15px}.mobile-instruction-overlay .instruction-btn{padding:8px 15px;background-color:var(--colour-sosy-green-800);border:none;border-radius:20px;color:#fff;font-weight:700}}@media(max-width:480px){.weekly-schedule .course-block{font-size:.7rem;padding:2px;font-weight:700}.weekly-schedule .course-block.time-block .time-block-label{font-size:.65rem}.weekly-schedule .day-header{font-size:.8rem}.weekly-schedule .day-header .day-date{font-size:.7rem}}.weekly-schedule .schedule-grid .day-column .time-slot{cursor:pointer;transition:background-color .15s ease;position:relative}.weekly-schedule .schedule-grid .day-column .time-slot:hover{background-color:var(--colour-neutral-900)}.weekly-schedule .schedule-grid .day-column .time-slot.selected{background-color:rgba(220,76,100,.3)}.weekly-schedule .schedule-grid .day-column .time-slot.selected:hover{background-color:rgba(220,76,100,.4)}.weekly-schedule .schedule-grid.time-block-mode .day-column .time-slot:hover{background-color:rgba(220,76,100,.2)}.weekly-schedule .schedule-grid.time-block-mode .day-column .time-slot.selected{background-color:rgba(220,76,100,.4)}.weekly-schedule .schedule-grid.time-block-mode .day-column .time-slot.selected:hover{background-color:rgba(220,76,100,.5)}.weekly-schedule .course-block.time-block.preview{z-index:10;border:2px dashed #fff;box-shadow:0 0 5px rgba(0,0,0,.3)}.weekly-schedule .time-block-toggle-button{padding:8px 16px;border-radius:20px;font-size:.95rem;transition:all .2s ease}.weekly-schedule .time-block-toggle-button.active{background-color:rgba(220,76,100,.9);color:#fff;box-shadow:0 0 8px rgba(220,76,100,.5)}.weekly-schedule .course-block.time-block{cursor:pointer}.weekly-schedule .course-block.time-block:hover{opacity:.9;border:1px solid hsla(0,0%,100%,.8)}.weekly-schedule .course-block.time-block.new{animation:pulse-highlight 1s ease-in-out}@keyframes pulse-highlight{0%{box-shadow:0 0 0 0 hsla(0,0%,100%,.7)}50%{box-shadow:0 0 0 10px hsla(0,0%,100%,0)}to{box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}@media(max-width:768px){.weekly-schedule .time-block-toggle-button{width:100%;padding:10px;font-size:.9rem}.weekly-schedule .time-blocking-hint{font-size:.8rem;padding:0 5px}}.schedule-insights-compact{margin-top:16px;padding:12px;background-color:var(--colour-neutral-1100);border-radius:8px;border:2px solid var(--colour-neutral-800);box-shadow:0 2px 4px rgba(0,0,0,.1)}.schedule-insights-compact .insights-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--colour-neutral-900)}.schedule-insights-compact .insights-header .insights-title{color:var(--colour-neutral-000);font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:4px}.schedule-insights-compact .insights-header .insights-title .info-icon{font-size:1.2rem;color:var(--colour-neutral-400);cursor:pointer}.schedule-insights-compact .insights-header .schedule-quality-badge{font-size:.8rem;padding:2px 8px;border-radius:12px;font-weight:500}.schedule-insights-compact .insights-header .schedule-quality-badge.quality-excellent{background-color:rgba(34,197,94,.2);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.schedule-insights-compact .insights-header .schedule-quality-badge.quality-good{background-color:rgba(59,130,246,.2);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.schedule-insights-compact .insights-header .schedule-quality-badge.quality-fair{background-color:rgba(245,158,11,.2);color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.schedule-insights-compact .insights-header .schedule-quality-badge.quality-poor{background-color:rgba(239,68,68,.2);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.schedule-insights-compact .insights-header .schedule-quality-badge.quality-very-poor{background-color:rgba(220,38,38,.2);color:#dc2626;border:1px solid rgba(220,38,38,.3)}.schedule-insights-compact .insights-list{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;grid-gap:6px 12px;gap:6px 12px;grid-auto-flow:row}.schedule-insights-compact .insight-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;border:1px solid var(--colour-neutral-900);background-color:var(--colour-neutral-1000)}.schedule-insights-compact .insight-row .insight-icon{font-size:1rem;width:20px;color:var(--colour-neutral-300);flex-shrink:0}.schedule-insights-compact .insight-row .insight-text{color:var(--colour-neutral-300);font-size:.85rem;flex:1 1}.schedule-insights-compact .insight-row .insight-value{color:var(--colour-neutral-000);font-size:.85rem;font-weight:600;font-family:monospace;min-width:40px;text-align:right}@media(max-width:768px){.schedule-insights-compact .insights-list{grid-template-columns:1fr;gap:4px}.schedule-insights-compact .insight-row{padding:5px 6px}.schedule-insights-compact .insight-row .insight-icon{font-size:.9rem;width:18px}.schedule-insights-compact .insight-row .insight-text{font-size:.8rem}.schedule-insights-compact .insight-row .insight-value{font-size:.8rem;min-width:35px}}.button-group{display:flex;overflow:hidden;height:100%}.button-group button:hover{opacity:.9;transform:none}.button-group button:active{transform:none}.button-group button:first-child{border-radius:.75rem 0 0 .75rem}.button-group button:nth-child(2){border-radius:0 .75rem .75rem 0}.offering{flex-direction:row;flex-wrap:wrap;gap:rem;margin:0;max-width:22rem;height:100%;background-color:var(--colour-neutral-1100)}.offering,.offering .section-container{width:100%;display:flex;flex-direction:column}.offering .section-container{border-radius:.5rem;margin:.25rem 0;background-color:var(--colour-neutral-1000)}.offering .section-container .section-header{padding:.5rem 1rem;display:flex;flex-direction:column;width:100%;justify-content:space-between;border-bottom:1px solid var(--colour-neutral-1100);align-items:center}.offering .section-container .section-header__first,.offering .section-container .section-header__second{width:100%;display:flex;justify-content:space-between;gap:.75rem}.offering .section-container .section-schedule-container{font-size:.9rem;max-width:100%;padding:.5rem 1rem;display:flex;flex-direction:column}.offering .section-container .section-schedule-container .section-schedule-row{display:flex;flex:1 1;flex-shrink:0;justify-content:space-between;align-items:baseline}.offering .section-container.selected-course-section{background-color:var(--colour-neutral-1000)}.offering .section-container.selected-course-section .section-header{padding:.4rem .75rem}.offering .section-container.selected-course-section .section-header__first{margin-bottom:.1rem}.offering .section-container.selected-course-section .section-schedule-container{padding:.3rem .75rem .5rem}.offering .section-container.selected-course-section .section-schedule-container .section-schedule-row{justify-content:flex-start;gap:1rem}.offering .toggle-row{margin-top:1rem}.offering.selected-courses-offering .section-container{margin:.15rem 0}.offering.selected-courses-offering .toggle-row{margin-top:.5rem;font-size:.9rem;padding:.3rem}.utility-button{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;background-color:var(--colour-sosy-green-800);color:#fff;padding:.5rem;border-radius:4px;border:none;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center}.utility-button:hover{background-color:var(--colour-sosy-green-500)}.utility-button:disabled{background-color:var(--colour-neutral-600);cursor:not-allowed}.utility-button:focus{outline:2px solid var(--colour-sosy-green-500);outline-offset:2px}.global-search-button{display:flex;align-items:center;gap:.5rem;background-color:var(--colour-neutral-1000);border-radius:.5rem;padding:.5rem .75rem;cursor:pointer;transition:background-color .2s ease}.global-search-button:hover{background-color:var(--colour-neutral-900)}.global-search-button .search-label{margin-right:.25rem}@media only screen and (min-width:1025px){.global-search-button .search-label{display:inline}}.global-search-button .search-shortcut{display:flex;align-items:center;gap:.25rem}.global-search-button .search-shortcut kbd{background-color:var(--colour-neutral-900);border-radius:.25rem;padding:.1rem .25rem;font-size:.75rem;font-family:monospace;color:var(--colour-neutral-300);border:1px solid var(--colour-neutral-800)}.global-search-button .search-shortcut span{color:var(--colour-neutral-600);font-size:.75rem}.global-search-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.75);z-index:1000;display:flex;justify-content:center;align-items:center;padding:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:modalFadeIn .2s ease-out;overflow:auto;width:100vw;height:100vh}.global-search-modal-content{width:90%;max-width:600px;max-height:70vh;background-color:var(--colour-neutral-1100);border-radius:.75rem;box-shadow:0 10px 25px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden;margin:auto;position:relative;animation:modalSlideIn .3s ease-out;top:0;left:0;right:0;bottom:0}.global-search-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--colour-neutral-1000)}.global-search-header h3{margin:0;font-size:1.25rem;color:var(--colour-sosy-green-500)}.global-search-header .close-btn{padding:.3rem .75rem;font-size:.9rem}.global-search-input{padding:1rem 1.5rem}.global-search-input .modal-search{height:3rem;background:var(--colour-neutral-1000)}.global-search-input .modal-search input{background:var(--colour-neutral-1000);font-size:1.1rem;width:100%}.global-search-results{flex:1 1;overflow-y:auto;padding:0 1.5rem;max-height:calc(50vh - 120px);scrollbar-width:thin;scrollbar-color:var(--colour-neutral-800) var(--colour-neutral-1000)}.global-search-results::-webkit-scrollbar{width:8px}.global-search-results::-webkit-scrollbar-track{background:var(--colour-neutral-1000);border-radius:4px}.global-search-results::-webkit-scrollbar-thumb{background-color:var(--colour-neutral-800);border-radius:4px;border:2px solid var(--colour-neutral-1000)}.global-search-results .no-results,.global-search-results .search-hint,.global-search-results .search-loading{padding:1.5rem 0;color:var(--colour-neutral-500);text-align:center}.global-search-results .search-hint p{margin-bottom:1.5rem}.global-search-results .search-hint .search-instructions{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.global-search-results .search-hint .search-instructions .instruction{display:flex;align-items:center;gap:.5rem}.global-search-results .search-hint .search-instructions .instruction kbd{background-color:var(--colour-neutral-900);border-radius:.25rem;padding:.25rem .5rem;font-size:.85rem;font-family:monospace;color:var(--colour-neutral-300);border:1px solid var(--colour-neutral-800);box-shadow:0 2px 0 var(--colour-neutral-800)}.global-search-results .search-hint .search-instructions .instruction span{color:var(--colour-neutral-600)}.global-search-results .search-results-list{list-style:none;padding:0;margin:0 0 1rem}.global-search-results .search-results-list li{margin-bottom:.5rem}.global-search-results .search-results-list li.selected .search-result-item{background-color:var(--colour-sosy-green-900);border-color:var(--colour-sosy-green-700)}.global-search-results .search-results-list li .search-result-item{width:100%;text-align:left;background-color:var(--colour-neutral-1000);border:1px solid var(--colour-neutral-900);border-radius:.5rem;padding:1rem;cursor:pointer;transition:all .2s ease}.global-search-results .search-results-list li .search-result-item:hover{background-color:var(--colour-neutral-900);border-color:var(--colour-neutral-800)}.global-search-results .search-results-list li .search-result-item p{font-size:1rem}.global-search-results .search-results-list li .search-result-item .course-code{font-weight:700;margin-bottom:.25rem;color:var(--colour-sosy-green-500)}.global-search-results .search-results-list li .search-result-item .course-title{color:var(--colour-neutral-300)}.global-search-footer{padding:1rem 1.5rem;border-top:1px solid var(--colour-neutral-1000);display:flex;justify-content:center}.global-search-footer .browse-all-link{color:var(--colour-sosy-green-500);text-decoration:none}.global-search-footer .browse-all-link:hover{text-decoration:underline}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width:869px){.header-nav .container,.header-nav__primary{justify-content:space-between}.header-nav__primary{width:100%}.global-search-button{margin-left:auto;height:2.5rem;width:-moz-fit-content;width:fit-content;display:flex;align-items:center;justify-content:center;padding:0 1rem}.global-search-button .search-shortcut{display:none}.global-search-button svg{margin:0}.global-search-modal .global-search-modal-content{width:95%;max-height:80vh}}body.modal-open{overflow:hidden!important;position:fixed;width:100%;height:100%}.schedule-manager{position:relative}.schedule-manager .schedule-manager-buttons{display:flex;gap:.5rem}.schedule-manager .schedule-manager-buttons .schedule-btn{border-radius:4px;padding:.5rem;font-size:.9rem;display:flex;align-items:center;gap:.4rem}.schedule-manager .schedule-dialog{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);z-index:2;display:flex;align-items:center;justify-content:center}.schedule-manager .schedule-dialog .schedule-dialog-content{background-color:var(--colour-neutral-1100);border-radius:.75rem;padding:1.5rem;width:90%;max-width:400px;box-shadow:0 4px 20px rgba(0,0,0,.3)}.schedule-manager .schedule-dialog .schedule-dialog-content h3{margin-top:0;margin-bottom:1.25rem;font-size:1.3rem;color:var(--colour-sosy-green-500)}.schedule-manager .schedule-dialog .schedule-dialog-content h4{margin-top:0;margin-bottom:.75rem;font-size:1.1rem}.schedule-manager .schedule-dialog .schedule-dialog-content input{width:100%;padding:.75rem;margin-bottom:1.25rem;background-color:var(--colour-neutral-1000);border:1px solid var(--colour-neutral-800);border-radius:.5rem;color:var(--colour-neutral-000);font-size:1rem}.schedule-manager .schedule-dialog .schedule-dialog-content input:focus{outline:none;border-color:var(--colour-sosy-green-600)}.schedule-manager .schedule-dialog .schedule-dialog-content input .schedule-summary{margin-bottom:1rem;color:var(--colour-neutral-400);font-size:.9rem;padding:.5rem;background-color:var(--colour-neutral-1000);border-radius:.5rem;text-align:center}.schedule-manager .schedule-dialog .schedule-dialog-content input .saved-schedule-item .schedule-contents{display:flex;align-items:center;gap:.5rem;color:var(--colour-neutral-500);font-size:.85rem}.schedule-manager .schedule-dialog .schedule-dialog-content input .saved-schedule-item .time-block-indicator{display:inline-flex;align-items:center;gap:.25rem;color:var(--colour-neutral-400)}.schedule-manager .schedule-dialog .schedule-dialog-content input .saved-schedule-item .time-block-indicator svg{color:#dc4c64}.schedule-manager .schedule-dialog .schedule-dialog-content .schedule-dialog-buttons{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list{max-height:300px;overflow-y:auto;margin-bottom:1rem}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list .saved-schedule-item{background-color:var(--colour-neutral-1000);border-radius:.5rem;padding:.75rem 1rem;margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list .saved-schedule-item:last-child{margin-bottom:0}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list .saved-schedule-item .saved-schedule-info{display:flex;align-items:center;gap:.5rem}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list .saved-schedule-item .saved-schedule-info .star-button{background:none;border:none;cursor:pointer;padding:0;line-height:1}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list .saved-schedule-item .saved-schedule-info .star-button .star-icon{font-size:1.3rem;color:var(--colour-neutral-600)}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list .saved-schedule-item .saved-schedule-info .star-button .star-icon.filled{color:var(--colour-cyber-500)}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list .saved-schedule-item .saved-schedule-info .schedule-name{font-weight:600;font-size:1rem}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list .saved-schedule-item .saved-schedule-info .course-count{color:var(--colour-neutral-500);font-size:.85rem}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list .saved-schedule-item .saved-schedule-actions{display:flex;gap:.5rem}.schedule-manager .schedule-dialog .schedule-dialog-content .saved-schedules-list .saved-schedule-item .saved-schedule-actions .small-btn{padding:.35rem .5rem;font-size:.85rem}.schedule-manager .schedule-dialog .schedule-dialog-content .no-schedules{color:var(--colour-neutral-500);text-align:center;padding:1.5rem 0}.schedule-manager .schedule-dialog .schedule-dialog-content .settings-section{background-color:var(--colour-neutral-1000);border-radius:.5rem;padding:1rem;margin-bottom:1rem}.schedule-manager .schedule-dialog .schedule-dialog-content .settings-section .settings-description{color:var(--colour-neutral-500);font-size:.9rem;margin-bottom:1rem}.schedule-manager .schedule-dialog .schedule-dialog-content .settings-section .term-options{display:flex;flex-direction:column;gap:.75rem}.schedule-manager .schedule-dialog .schedule-dialog-content .settings-section .term-options .term-option .term-button{width:100%;padding:.75rem 1rem;background-color:var(--colour-neutral-900);border:1px solid var(--colour-neutral-800);border-radius:.5rem;color:var(--colour-neutral-000);font-size:1rem;cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center}.schedule-manager .schedule-dialog .schedule-dialog-content .settings-section .term-options .term-option .term-button:hover{background-color:var(--colour-neutral-800)}.schedule-manager .schedule-dialog .schedule-dialog-content .settings-section .term-options .term-option .term-button.selected{background-color:var(--colour-sosy-green-900);border-color:var(--colour-sosy-green-700)}.schedule-manager .schedule-dialog .schedule-dialog-content .settings-section .term-options .term-option .term-button .default-star{color:var(--colour-cyber-500);font-size:1.2rem}.compact-course-card{background-color:var(--colour-neutral-1100);border-radius:.35rem;overflow:hidden;margin-bottom:.5rem}.compact-course-card .compact-course-header{background-color:var(--colour-neutral-1000);padding:.3rem .5rem;border-bottom:1px solid var(--colour-neutral-900)}.compact-course-card .compact-course-header .course-code{font-weight:600;color:var(--colour-sosy-green-500)}.compact-course-card .compact-section-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem .5rem;border-bottom:1px solid var(--colour-neutral-1000)}.compact-course-card .compact-section-row:last-child{border-bottom:none}.compact-course-card .compact-section-row .compact-section-info{display:flex;align-items:center;gap:.5rem;width:100%}.compact-course-card .compact-section-row .compact-section-info .section-code{font-weight:500;min-width:2.5rem}.compact-course-card .compact-section-row .compact-section-info .class-number{color:var(--colour-neutral-400);min-width:3rem}.compact-course-card .compact-section-row .compact-section-info .section-details{display:flex;align-items:center;gap:.75rem;color:var(--colour-neutral-300)}.compact-course-card .compact-section-row .compact-section-info .section-details .instructor,.compact-course-card .compact-section-row .compact-section-info .section-details .location{display:flex;align-items:center;gap:.25rem}.compact-course-card .compact-section-row .compact-section-info .section-details .instructor svg,.compact-course-card .compact-section-row .compact-section-info .section-details .location svg{color:var(--colour-sosy-green-600)}.compact-course-card .compact-section-row .remove-btn{background:none;border:none;color:var(--colour-neutral-600);cursor:pointer;padding:.15rem;font-size:1rem;display:flex;align-items:center;border-radius:50%}.compact-course-card .compact-section-row .remove-btn:hover{color:var(--colour-neutral-000);background-color:var(--colour-neutral-900)}.schedule-section .selected-courses .section-title{margin-bottom:.5rem;font-size:1rem}.schedule-section .selected-courses__items{display:flex;flex-direction:column;gap:.5rem}.conflict-filter-button{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background-color:var(--colour-neutral-1000);border:1px solid var(--colour-neutral-800);color:var(--colour-neutral-000);border-radius:.5rem;font-size:.9rem;transition:all .2s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}.conflict-filter-button svg{font-size:1.1rem}.conflict-filter-button:hover{background-color:var(--colour-neutral-900)}.conflict-filter-button.active{background-color:var(--colour-sosy-green-800);border-color:var(--colour-sosy-green-700)}.conflict-filter-button.active:hover{background-color:var(--colour-sosy-green-700)}@media screen and (max-width:600px){.conflict-filter-button{font-size:.8rem;padding:.3rem .6rem}}.filter-dialog-container{position:relative}.filter-dialog-container .utility-button.active{background-color:var(--colour-sosy-green-500);color:var(--colour-neutral-1100)}.filter-dialog-container .utility-button.active .filter-count{margin-left:.25rem;font-weight:700}.schedule-dialog{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:100;background-color:rgba(0,0,0,.7)}.filter-dialog-content{background-color:var(--colour-neutral-1100);border-radius:.75rem;padding:1.5rem;width:90%;max-width:400px;box-shadow:0 4px 20px rgba(0,0,0,.3)}.filter-dialog-content .filter-indicators{margin-bottom:1.5rem;padding:1rem;background-color:var(--colour-neutral-1000);border-radius:.5rem;border:1px solid var(--colour-neutral-800)}.filter-dialog-content .filter-indicators .filter-description{font-size:.85rem;color:var(--colour-neutral-300);margin:.25rem 0;font-style:italic}.filter-dialog-content .filter-indicators .filter-description:first-child{margin-top:0}.filter-dialog-content .filter-indicators .filter-description:last-child{margin-bottom:0}.filter-dialog-content .filter-indicators:empty{display:none}.filter-dialog-content .filter-section{margin-bottom:1.5rem}.filter-dialog-content .filter-section h4{margin-bottom:.75rem;font-size:1rem;color:var(--colour-neutral-200)}.filter-dialog-content .filter-section .filter-subject-select{margin-bottom:.5rem}.filter-dialog-content .filter-section .filter-subject-select .css-13cymwt-control,.filter-dialog-content .filter-section .filter-subject-select .css-1pahdxg-control{min-height:38px;border-radius:4px}.filter-dialog-content .filter-section .level-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.filter-dialog-content .filter-section .level-filter .level-button{padding:.5rem .75rem;border:1px solid var(--colour-neutral-700);background-color:var(--colour-neutral-900);color:var(--colour-neutral-200);border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:.9rem;min-width:3rem}.filter-dialog-content .filter-section .level-filter .level-button:hover{border-color:var(--colour-sosy-green-500);background-color:var(--colour-neutral-800)}.filter-dialog-content .filter-section .level-filter .level-button.selected{background-color:var(--colour-sosy-green-800);border-color:var(--colour-sosy-green-800);color:#fff}.filter-dialog-content .filter-section .campus-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.filter-dialog-content .filter-section .campus-filter .campus-button{padding:.5rem .75rem;border:1px solid var(--colour-neutral-700);background-color:var(--colour-neutral-900);color:var(--colour-neutral-200);border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.filter-dialog-content .filter-section .campus-filter .campus-button:hover{border-color:var(--colour-sosy-green-500);background-color:var(--colour-neutral-800)}.filter-dialog-content .filter-section .campus-filter .campus-button.selected{background-color:var(--colour-sosy-green-800);border-color:var(--colour-sosy-green-800);color:#fff}.filter-dialog-content .filter-section .days-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.filter-dialog-content .filter-section .days-filter .day-button{padding:.5rem .75rem;border:1px solid var(--colour-neutral-700);background-color:var(--colour-neutral-900);color:var(--colour-neutral-200);border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:.9rem;min-width:2.5rem}.filter-dialog-content .filter-section .days-filter .day-button:hover{border-color:var(--colour-sosy-green-500);background-color:var(--colour-neutral-800)}.filter-dialog-content .filter-section .days-filter .day-button.selected{background-color:var(--colour-sosy-green-800);border-color:var(--colour-sosy-green-800);color:#fff}.filter-dialog-content .filter-section .time-filter{display:flex;gap:1rem;flex-wrap:wrap}.filter-dialog-content .filter-section .time-filter .time-input-group{display:flex;flex-direction:column;gap:.25rem;flex:1 1;min-width:120px}.filter-dialog-content .filter-section .time-filter .time-input-group label{font-size:.9rem;color:var(--colour-neutral-300)}.filter-dialog-content .filter-section .time-filter .time-input-group input[type=text]{padding:.5rem;border:1px solid var(--colour-neutral-700);background-color:var(--colour-neutral-900);color:var(--colour-neutral-200);border-radius:4px;font-size:.9rem}.filter-dialog-content .filter-section .time-filter .time-input-group input[type=text]:focus{outline:none;border-color:var(--colour-sosy-green-500);box-shadow:0 0 0 2px rgba(var(--colour-sosy-green-500-rgb),.2)}.filter-dialog-content .filter-section .time-filter .time-input-group input[type=text]::placeholder{color:var(--colour-neutral-500)}.filter-dialog-content .filter-section .filter-description{font-size:.85rem;color:var(--colour-neutral-400);margin-top:.5rem;margin-bottom:0;font-style:italic}.filter-dialog-content .schedule-dialog-buttons{margin-top:2rem;display:flex;gap:.75rem;justify-content:flex-end}@media(max-width:768px){.filter-dialog-content .filter-section .time-filter{flex-direction:column;gap:.75rem}.filter-dialog-content .filter-section .time-filter .time-input-group{min-width:unset}.filter-dialog-content .filter-section .campus-filter,.filter-dialog-content .filter-section .days-filter,.filter-dialog-content .filter-section .level-filter{justify-content:center}}@keyframes fade-up{0%{opacity:0;transform:translateY(3rem)}to{opacity:1;transform:translateY(0)}}.container{max-width:1440px;padding:2rem clamp(1rem,4vw,6rem);margin:0 auto;width:100%}@media only screen and (min-width:768px){.container{padding-top:4rem;padding-bottom:4rem}}.container.no-gutter-padding{padding-left:0;padding-right:0}.flex-row{display:flex;gap:.5rem}.text-underline{text-decoration:underline}.no-underline{text-decoration:none}.green-text{color:var(--colour-sosy-green-500)}.green-text:hover{color:var(--colour-sosy-green-600)}.white-text{color:var(--colour-neutral-100)!important}.white-text:hover{color:var(--colour-neutral-200)}.gray-text{color:var(--colour-neutral-500)!important}.right-align{text-align:right}.icon-text-container{display:flex;align-items:center;gap:.25rem}.icon-text-container.instructor{overflow:hidden}.center{width:100%;height:15vw}.loading-spinner-container{display:flex;align-items:center;justify-content:center;width:100%;height:75%}@media only screen and (max-width:767px){.mobile-hide{display:none}}:root,html{background-color:var(--colour-neutral-1200)}main{flex:1 1}.help-dialog-trigger{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:999;background-color:var(--colour-sosy-green-800);color:#fff;border:none;border-radius:2rem 0 0 2rem;width:2rem;height:4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;padding-left:.25rem;transition:all .3s ease;box-shadow:-4px 0 12px rgba(0,0,0,.3)}.help-dialog-trigger:hover{background-color:var(--colour-sosy-green-500);width:2.5rem;padding-left:.5rem}.help-dialog-trigger:focus{outline:2px solid var(--colour-sosy-green-500);outline-offset:-2px}.help-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:1000;opacity:0;animation:fadeIn .3s ease forwards}.help-dialog{position:fixed;top:50%;right:1rem;transform:translateY(-50%) translateX(105%);width:400px;max-width:90vw;max-height:80vh;background-color:var(--colour-neutral-1100);border-radius:12px;z-index:1001;transition:transform .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px rgba(0,0,0,.4);display:flex;flex-direction:column}.help-dialog.open{transform:translateY(-50%) translateX(0)}.help-dialog-content{flex:1 1;overflow-y:auto;padding:1.5rem}.page-shortcuts-container{display:flex;gap:1.5rem;margin-bottom:1.25rem}.page-shortcuts-container:last-child{margin-bottom:0}.page-shortcuts-container .shortcut-section{flex:1 1;margin-bottom:0}.shortcut-section{margin-bottom:1.25rem}.shortcut-section:last-child{margin-bottom:0}.shortcut-section h4{margin:0 0 .5rem;color:var(--colour-sosy-green-600);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.shortcut-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--colour-neutral-900)}.shortcut-item:last-child{border-bottom:none}.shortcut-key{background-color:var(--colour-neutral-900);color:var(--colour-neutral-100);padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.875rem;font-weight:600;min-width:3rem;text-align:center;border:1px solid var(--colour-neutral-700);box-shadow:0 1px 3px rgba(0,0,0,.3)}.shortcut-description{color:var(--colour-neutral-300);font-size:.9rem;flex:1 1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:1024px){.help-dialog,.help-dialog-trigger{display:none}}.reviews-posts-tabs-section{margin-top:2rem}.tab-navigation{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--colour-neutral-1000)}.tab-button{background:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:var(--colour-neutral-400);cursor:pointer;border:none;border-bottom:2px solid transparent;transition:all .2s ease}.tab-button:hover{color:var(--colour-neutral-200)}.tab-button.active{color:var(--colour-sosy-green-500);border-bottom-color:var(--colour-sosy-green-500)}.tab-content{min-height:200px}.reviews-section .reviews-list{display:flex;flex-direction:column;gap:1rem}.reviews-section .reviews-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}@media(max-width:768px){.reviews-section .reviews-header{flex-direction:column;gap:1rem}}.reviews-section .filter-controls{display:flex;gap:1rem;align-items:flex-start;justify-content:flex-end}@media(max-width:768px){.reviews-section .filter-controls{gap:.5rem;flex-direction:column;align-items:flex-start}}.reviews-section .course-filter{display:flex;align-items:center}.reviews-section .filter-dropdowns{display:flex;gap:.5rem;align-items:center;justify-content:flex-start;width:100%;flex-wrap:wrap}.reviews-section .filter-dropdowns .course-filter-dropdown{background:var(--colour-neutral-1100);border:1px solid var(--colour-neutral-1000);border-radius:.5rem;padding:.5rem 2rem .5rem .75rem;color:var(--colour-neutral-200);cursor:pointer;min-width:150px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.reviews-section .filter-dropdowns .course-filter-dropdown:focus{outline:none;border-color:var(--colour-sosy-green-500)}.reviews-section .filter-dropdowns .course-filter-dropdown option,.reviews-section .filter-dropdowns .review-sorter-dropdown{background:var(--colour-neutral-1100);color:var(--colour-neutral-200)}.reviews-section .filter-dropdowns .review-sorter-dropdown{border:1px solid var(--colour-neutral-1000);border-radius:.5rem;padding:.5rem 2rem .5rem .75rem;cursor:pointer;min-width:150px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.reviews-section .filter-dropdowns .review-sorter-dropdown:focus{outline:none;border-color:var(--colour-sosy-green-500)}.reviews-section .filter-dropdowns .review-sorter-dropdown option{background:var(--colour-neutral-1100);color:var(--colour-neutral-200)}.reviews-section .filter-stats{display:flex;gap:1rem;align-items:center}@media(max-width:768px){.reviews-section .filter-stats{gap:.5rem;align-items:flex-start}}.reviews-section .filter-stat-item{display:flex;align-items:center;gap:.25rem;background:var(--colour-neutral-1000);padding:.375rem .75rem;border-radius:.375rem;border:1px solid var(--colour-neutral-900);position:relative}.reviews-section .hoverable-stat{cursor:pointer;transition:all .2s ease}.reviews-section .hoverable-stat:hover{background:var(--colour-neutral-900);border-color:var(--colour-sosy-green-500)}.reviews-section .chart-tooltip{position:absolute;top:100%;left:50%;transform:translateX(-50%);z-index:1000;margin-top:.5rem;pointer-events:auto}.reviews-section .chart-container{background:var(--colour-neutral-1100);border:1px solid var(--colour-neutral-900);border-radius:.5rem;padding:1rem;box-shadow:0 4px 12px rgba(0,0,0,.3);min-width:300px}.reviews-section .chart-container h4{margin:0 0 1rem;color:var(--colour-neutral-200);font-size:.875rem;font-weight:600;text-align:center}.reviews-section .filter-stat-label{color:var(--colour-neutral-400);font-weight:500}.reviews-section .filter-stat-value{color:var(--colour-sosy-green-500);font-weight:700}.review-card{background:var(--colour-neutral-1100);border-radius:.75rem;padding:1.5rem;border:1px solid var(--colour-neutral-1000);transition:border-color .2s ease}.review-card:hover{border-color:var(--colour-neutral-900)}.review-header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}@media(max-width:768px){.review-header{flex-direction:column;gap:.75rem}.review-metadata{justify-content:flex-start;gap:.5rem}.metadata-item{font-size:.8rem}.chart-tooltip{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;margin:0;width:90vw;max-width:400px}.chart-container{min-width:unset;width:100%;padding:.75rem}}.course-instructor-info,.review-rating{display:flex;flex-direction:column;gap:.25rem}.review-rating .course-code{font-weight:700;color:var(--colour-neutral-200);font-size:1.2rem;margin-bottom:.25rem}.review-rating .course-code.link{text-decoration:none;color:var(--colour-sosy-green-500);transition:color .2s ease}.review-rating .course-code.link:hover{color:var(--colour-sosy-green-400);text-decoration:underline}.instructor-name{color:var(--colour-neutral-400);font-style:italic}.rating-line{display:flex;gap:1rem;align-items:center}.rating-value{font-weight:700;color:var(--colour-sosy-green-500)}.rating-difficulty{color:var(--colour-neutral-500);font-weight:500}.review-meta{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:.5rem}@media(max-width:768px){.review-meta{align-items:flex-start}}.sidebar .review-meta{align-items:flex-start}.review-metadata{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start;margin-bottom:.25rem}.metadata-item{font-size:.875rem;color:var(--colour-neutral-300)}.metadata-item strong{color:var(--colour-neutral-200);font-weight:600}.review-metadata-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.metadata-tag{background:var(--colour-sosy-green-900);color:var(--colour-sosy-green-300);padding:.25rem .5rem;border-radius:.25rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.review-date{color:var(--colour-neutral-400)}.review-content{margin-bottom:1rem}.review-content p{line-height:1.6;color:var(--colour-neutral-200);margin:0}.review-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{background:var(--colour-neutral-1000);color:var(--colour-neutral-300);padding:.25rem .5rem;border-radius:.25rem;font-weight:500}.review-footer{display:flex;justify-content:flex-end;align-items:center;padding-top:1rem;border-top:1px solid var(--colour-neutral-1000)}.helpful-count,.no-reviews-message{color:var(--colour-neutral-400)}.no-reviews-message{text-align:center;padding:2rem}.reddit-posts-section .reddit-posts{display:flex;flex-direction:column;gap:1rem}.reddit-post-link{text-decoration:none;color:inherit}.reddit-post{background:var(--colour-neutral-1100);border-radius:.75rem;padding:1.5rem;border:1px solid var(--colour-neutral-1000);display:flex;gap:1rem;transition:border-color .2s ease}.reddit-post:hover{border-color:var(--colour-neutral-900)}.upvote-container{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:40px}.upvote-container svg{font-size:1.25rem}.upvote-container p{color:var(--colour-neutral-400);margin:0}.reddit-post>div:last-child{flex:1 1}.reddit-post>div:last-child h4{font-size:1rem;font-weight:600;color:var(--colour-neutral-100);margin:0 0 .5rem;line-height:1.4}.reddit-post>div:last-child p{color:var(--colour-neutral-400);margin:0}.no-reddit-message{text-align:center;padding:2rem;color:var(--colour-neutral-400)}.load-more-trigger{height:20px;margin:1rem 0}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.loading-spinner-container p{margin:0}.loading-spinner-container p,.text-muted{color:var(--colour-neutral-400)}:root{--colour-sosy-green-900:#07221c;--colour-sosy-green-800:#0e4438;--colour-sosy-green-700:#166553;--colour-sosy-green-600:#1d876f;--colour-sosy-green-500:#24a98b;--colour-sosy-green-500-rgb:36,169,139;--colour-sosy-green-400:#50baa2;--colour-sosy-green-300:#7ccbb9;--colour-sosy-green-200:#a7ddd1;--colour-sosy-green-100:#d3eee8;--colour-cyber-900:#332d00;--colour-cyber-800:#665900;--colour-cyber-700:#998600;--colour-cyber-600:#ccb200;--colour-cyber-500:#ffdf00;--colour-cyber-400:#ffe533;--colour-cyber-300:#fff18c;--colour-cyber-200:#fff299;--colour-cyber-100:#fff9cc;--colour-neutral-1200:#141515;--colour-neutral-1100:#191a1a;--colour-neutral-1000:#323434;--colour-neutral-900:#4b4e4d;--colour-neutral-800:#646867;--colour-neutral-700:#7d8281;--colour-neutral-600:#979b9a;--colour-neutral-500:#b0b5b4;--colour-neutral-400:#cacecd;--colour-neutral-300:#e5e6e6;--colour-neutral-200:#eff0f0;--colour-neutral-100:#f7f8f7;--colour-neutral-000:#fff}*,:after,:before{box-sizing:border-box;padding:0;margin:0;font-family:Grotesque;-webkit-font-smoothing:antialiased;color:var(--colour-neutral-000)}