:root{--primary: #ba0c2f;--success: #00AC3F;--success-background: #CCEED9;--error: #ba0c2f;--error-background: #F3D3DA;--dark-gray: #202020;--gray: #DFDFDF;--light-gray: #F1F1F1;--horizontal-padding: 4rem;--vertical-padding: 2rem;--background: #FFFFFF;--text: #000000}@media (max-width: 450px){:root{--horizontal-padding: 1.5rem}}@media (min-width: 760px){:root{--horizontal-padding: 3rem}}*,*:before,*:after{font-family:inherit;margin:0;padding:0;line-height:1;box-sizing:border-box}body{font-family:open-sans,sans-serif;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column;color:var(--text);background:var(--background)}#app{min-height:100vh}button,label{-webkit-user-select:none;user-select:none}.button{background:#fff;color:#000;text-decoration:none;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50px;padding:.75rem 1.75rem;font-size:1.1rem;width:max-content;margin:1rem auto;display:block}@media (min-width: 760px){.button{text-transform:uppercase;background:var(--dark-gray);color:#fff;border-radius:5px;margin:1rem 0}}.section-label{text-transform:uppercase;font-weight:700;color:var(--dark-gray);font-size:.8rem;margin-bottom:.5em;display:block}h1{font-family:ivypresto-display,serif;letter-spacing:.05em}.page-header{color:#fff;display:flex;flex-wrap:wrap}.page-header .branding{padding:var(--vertical-padding) var(--horizontal-padding) 0;background:var(--primary);flex:0 0 100%}.page-header .branding h1{display:flex;flex-direction:column;text-align:center;padding-bottom:2rem;border-bottom:1px solid white}.page-header .branding h1 img{max-width:8rem;margin-bottom:.5rem}.page-header .branding h1 span{font-size:1.75rem}@media (min-width: 760px){.page-header .branding{border-radius:0 0 30px 30px}.page-header .branding h1{flex-direction:row;align-items:center;gap:1rem;border-bottom:none}.page-header .branding h1 span{font-size:clamp(2rem,4vw,4rem);border-left:1px solid white;padding:.5rem 0 .5rem 1rem}}@media (min-width: 760px){.desktop-wrapper{display:flex}}.intro{background:var(--primary);padding:2rem var(--horizontal-padding) 1rem;border-radius:0 0 30px 30px;margin-bottom:1rem;flex:1 1 auto;color:#fff}@media (min-width: 760px){.intro{flex:0 0 45%;background:none;color:#000}}.intro h2{font-style:italic;font-size:2rem;margin-bottom:.15em}.intro p{font-size:1rem;font-style:italic;font-weight:400;text-wrap:pretty;line-height:1.6;margin-bottom:2em}.intro p.email{font-style:normal;opacity:.7;margin-bottom:1em}.options{flex:0 0 45%}@media (min-width: 760px){.options{flex:1 1 auto}}.options .time{color:#000;font-weight:700;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;text-align:center;font-size:1.25rem;width:max-content;margin-bottom:2rem}.options .time span{background:var(--gray);border-radius:0 10px 10px;white-space:nowrap;padding:1rem .5rem}@media (max-width: 450px){.options .time span{font-size:.9rem}}main{display:flex;flex-direction:column;padding:var(--vertical-padding) var(--horizontal-padding)}@media (min-width: 760px){main{position:relative;max-width:1400px;flex-direction:row}}main .semesters .semester{border-radius:15px;overflow:hidden;background:var(--light-gray);margin-bottom:2rem}main .semesters .semester.opted-in .label{color:var(--success)}main .semesters .semester.opted-in .switch{background:var(--success-background);border-color:var(--success)}main .semesters .semester.opted-out .label{color:var(--error)}main .semesters .semester.opted-out .switch{background:var(--error-background);border-color:var(--error)}main .semesters .semester div{padding:1rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--dark-gray)}main .semesters .semester div .instructions{line-height:1.3;font-size:.8rem;margin-bottom:1em;font-style:italic}main .semesters .semester div .status{font-size:.8rem;text-wrap:pretty;line-height:1.3;font-weight:700}main .semesters .semester div label{margin:0 0 .5rem;cursor:pointer;display:flex;align-items:center;gap:1rem;width:100%;max-width:300px;-webkit-tap-highlight-color:transparent;padding:.5rem}main .semesters .semester div label:has(input:checked) .switch:after{left:95%;translate:-100% 0}main .semesters .semester div label .label{width:70%;white-space:nowrap;font-size:2rem;font-weight:700;text-align:right;transition:all .2s}main .semesters .semester div label .switch{position:relative;border:2px solid black;width:30%;max-width:65px;height:30px;border-radius:25px;transition:all .2s}main .semesters .semester div label .switch:after{content:"";position:absolute;top:10%;left:5%;height:80%;aspect-ratio:1;border-radius:50%;background:#fff;transition:all .2s;box-shadow:0 0 3px #0003}main .semesters .semester div label input{position:absolute;top:0;left:0;height:1px;width:1px;outline:none;opacity:.01;z-index:-1}main .semesters .semester header{background:var(--primary);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem}main .semesters .semester header h3{text-transform:uppercase;font-size:1.8rem}main .semesters .semester header time{font-size:.8rem;opacity:.8;text-transform:uppercase;line-height:1.1}main .semesters .semester header time .date{display:block;text-transform:none;font-weight:700}.bookstore-link{font-size:.8rem;text-align:center;margin-top:-1rem;margin-bottom:1rem}.bookstore-link.hidden{display:none}.bookstore-link a{color:var(--primary)}.notification{align-items:center;justify-content:center;gap:.5rem;border:2px solid black;border-radius:10px;padding:.5rem 1rem;font-size:.8rem;display:flex;position:fixed;bottom:1rem;left:calc(var(--horizontal-padding) / 2);z-index:1000;width:calc(100% - var(--horizontal-padding));translate:0 90%;opacity:0;pointer-events:none;transition:all .3s;box-shadow:0 0 10px #0003}@media (min-width: 760px){.notification{position:fixed;top:auto;right:1rem;bottom:1rem;left:auto;max-width:270px;box-shadow:0 0 5px #0003}}.notification img{height:28px;width:auto}.notification .message{display:block;color:#000}.notification.success,.notification.error{translate:0 0;opacity:1;pointer-events:all}.notification.success{color:var(--success);border-color:currentColor;background:var(--success-background)}.notification.success .error{display:none}.notification.error{color:var(--error);border-color:currentColor;background:var(--error-background)}.notification.error .success{display:none}.page-footer{padding:.75em 1.5em;font-size:.8rem;color:#fff;background:#000;margin-top:auto;text-align:center;position:sticky;top:100vh}.unavailable{background:var(--primary);display:grid;place-content:center;height:100vh;width:100vw;color:#fff;padding:1rem 2rem 40vh}.unavailable img{margin:1rem auto 2rem;-webkit-user-select:none;user-select:none}.unavailable img.loading{width:50px}.unavailable p{text-align:center;font-style:italic}.unavailable p+p{margin-top:1rem}.unavailable blockquote{margin-top:1.5rem;font-size:1.5rem;text-align:center;line-height:1.3}.unavailable small{display:block;margin-top:2rem;font-size:1rem;text-align:center}.unavailable a{color:#fff;text-decoration:underline}.unavailable code{font-family:monospace,serif;margin-top:2rem;display:block;text-align:center;font-size:.8rem;border:1px dashed white;padding:.5em}
