.course-finder{--cf-bg:transparent;--cf-filter-bg:#011a43;--cf-accent:#ed3726;--cf-accent-hover:#d42f1f;--cf-discipline-bg:#ed3726;--cf-discipline-text:#fff;--cf-location-bg:#d6d8db;--cf-location-text:#363644;--cf-text-primary:#212529;--cf-text-secondary:#495057;--cf-text-dark:#363644;--cf-text-muted:#6c757d;--cf-white:#fff;--cf-gray-100:#f8f9fa;--cf-gray-200:#e9ecef;--cf-gray-300:#d6d8db;--cf-gray-400:#b5b5b5;--cf-border:#ddd;--cf-shadow:0 4px 20px rgba(0,0,0,.08);--cf-shadow-lg:0 6px 20px rgba(0,0,0,.15);--cf-radius:20px;--cf-radius-sm:10px;--cf-transition:0.2s ease;--cf-max-width:1280px;--cf-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.course-finder{background-color:var(--cf-bg);font-family:var(--cf-font-family)}.course-finder--left .course-finder__filters{margin-left:0;margin-right:0}.course-finder--left .course-finder__filters-container{margin-left:0;margin-right:auto}.course-finder--left .course-finder__main{margin-left:0;margin-right:auto;padding-left:0}.course-finder--left .course-finder__container,.course-finder--left .course-finder__results{margin-left:0;margin-right:auto}.course-finder__filters{background-color:var(--cf-gray-200);border-radius:var(--cf-radius);margin:0 20px;padding:24px}.course-finder__filters-container{margin:0 auto;max-width:var(--cf-max-width)}.course-finder__clear-filters{margin-top:16px}.course-finder button.course-finder__clear-btn,.course-finder button.course-finder__view-all-btn,.course-finder__clear-btn{align-items:center;background:none;background-color:transparent;border:none;border-radius:0;box-shadow:none;color:var(--cf-accent);cursor:pointer;display:inline-flex;font-family:var(--cf-font-family);font-size:16px;font-weight:500;gap:8px;padding:0;text-decoration:underline;transition:color var(--cf-transition)}.course-finder button.course-finder__clear-btn:focus,.course-finder button.course-finder__clear-btn:hover,.course-finder button.course-finder__view-all-btn:focus,.course-finder button.course-finder__view-all-btn:hover,.course-finder__clear-btn:focus,.course-finder__clear-btn:hover{background:none;background-color:transparent;color:var(--cf-accent-hover);outline:none}.course-finder__clear-btn:focus-visible{outline:none}.course-finder__filters-wrapper{display:flex;flex-direction:column;gap:20px!important}.course-finder__filter-field{display:flex;flex-direction:column;min-width:0;width:100%}.course-finder__filter-field label{color:var(--cf-text-primary);font-size:16px;font-weight:600;margin-bottom:8px}.course-finder__input{background-color:var(--cf-white);border:1px solid var(--cf-border);border-radius:var(--cf-radius);box-sizing:border-box;color:var(--cf-text-primary);font-family:var(--cf-font-family);font-size:14px;padding:12px 16px;transition:border-color var(--cf-transition);width:100%}.course-finder__input,.course-finder__input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.course-finder__input[type=search]{max-width:100%}.course-finder__input::placeholder{color:var(--cf-text-muted)}.course-finder__input:focus{border-color:var(--cf-border);outline:none}.course-finder__search-wrapper{position:relative;width:100%}.course-finder__search-wrapper .course-finder__input{padding-right:40px}.course-finder button.course-finder__search-clear,.course-finder__search-clear{align-items:center;background:transparent;background-color:transparent;border:none;border-radius:50%;box-shadow:none;color:var(--cf-text-muted);cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color var(--cf-transition),background-color var(--cf-transition);width:24px}.course-finder button.course-finder__search-clear:focus,.course-finder button.course-finder__search-clear:hover,.course-finder__search-clear:focus,.course-finder__search-clear:hover{background:transparent;background-color:transparent;color:var(--cf-accent)}.course-finder__dropdown-wrapper{position:relative;width:100%}.course-finder__dropdown-wrapper .course-finder__input{cursor:pointer;padding-right:40px}.course-finder__dropdown-list{background:var(--cf-white);border:1px solid var(--cf-border);border-radius:var(--cf-radius);box-shadow:var(--cf-shadow-lg);left:0;max-height:240px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.course-finder__dropdown-list[hidden]{display:none}.course-finder__dropdown-option{align-items:center;border-bottom:1px solid var(--cf-gray-100);color:var(--cf-text-primary);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 16px;transition:background-color var(--cf-transition)}.course-finder__dropdown-option:last-child{border-bottom:none}.course-finder__dropdown-option:focus,.course-finder__dropdown-option:hover,.course-finder__dropdown-option[aria-selected=true]{background-color:var(--cf-gray-100);outline:none}.course-finder__dropdown-option:focus-visible{outline:2px solid var(--cf-accent);outline-offset:-2px}.course-finder__flag,.course-finder__location-flag{border-radius:2px;display:inline-block;flex-shrink:0;height:16px;object-fit:cover;vertical-align:middle;width:24px}.course-finder button.course-finder__dropdown-clear,.course-finder__dropdown-clear{align-items:center;background:transparent;background-color:transparent;border:none;border-radius:50%;box-shadow:none;color:var(--cf-text-muted);cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color var(--cf-transition),background-color var(--cf-transition);width:24px;z-index:1}.course-finder button.course-finder__dropdown-clear:focus,.course-finder button.course-finder__dropdown-clear:hover,.course-finder__dropdown-clear:focus,.course-finder__dropdown-clear:hover{background:transparent;background-color:transparent;color:var(--cf-accent)}.course-finder__main{margin:0 auto;max-width:var(--cf-max-width);padding:24px 20px}.course-finder__header{margin:0 auto 24px;max-width:var(--cf-max-width);padding:0 20px;text-align:center}.course-finder__header--left{text-align:left}.course-finder__header--left .course-finder__subtitle,.course-finder__header--left .course-finder__title-underline{margin-left:0;margin-right:auto}.course-finder__header--center{text-align:center}.course-finder__header--right{text-align:right}.course-finder__header--right .course-finder__subtitle,.course-finder__header--right .course-finder__title-underline{margin-left:auto;margin-right:0}.course-finder__title{color:var(--cf-text-primary);font-size:28px;font-weight:600;margin:0 0 12px}.course-finder__title-underline{border-radius:2px;height:4px;margin:0 auto 16px;width:80px}.course-finder__subtitle{color:var(--cf-text-secondary);font-size:16px;line-height:1.5;margin-left:auto;margin-right:auto;max-width:800px}.course-finder__subtitle p{margin:0}.course-finder__results{background-color:var(--cf-white);border-radius:var(--cf-radius);box-shadow:var(--cf-shadow);overflow:hidden}.course-finder__loading{align-items:center;color:var(--cf-text-secondary);display:flex;font-size:16px;gap:12px;justify-content:center;padding:48px 20px}.course-finder__spinner{animation:cf-spin .8s linear infinite;border:3px solid var(--cf-gray-200);border-radius:50%;border-top-color:var(--cf-accent);height:24px;width:24px}@keyframes cf-spin{to{transform:rotate(1turn)}}.course-finder__no-results{color:var(--cf-text-secondary);padding:48px 20px;text-align:center}.course-finder__no-results h3{color:var(--cf-text-primary);margin:0 0 8px}.course-finder__no-results p{margin:0}.course-finder__load-more{border-top:1px solid var(--cf-gray-200);padding:20px;text-align:center}.course-finder__load-more:has(.course-finder__load-more-btn[style*="display: none"]){display:none}.course-finder__load-more-btn{background-color:var(--cf-accent);border:none;border-radius:var(--cf-radius);color:var(--cf-white);cursor:pointer;display:inline-block;font-family:var(--cf-font-family);font-size:14px;font-weight:600;padding:12px 32px;transition:background-color var(--cf-transition),transform var(--cf-transition)}.course-finder__load-more-btn:focus,.course-finder__load-more-btn:hover{background-color:var(--cf-accent-hover)}.course-finder__load-more-btn:focus-visible{outline:2px solid var(--cf-accent);outline-offset:2px}.course-finder__load-more-btn:disabled{background-color:var(--cf-text-secondary);cursor:not-allowed}.course-finder__discipline{border-bottom:1px solid var(--cf-gray-200)}.course-finder__discipline:last-child{border-bottom:none}.course-finder .course-finder__discipline-header{background-color:var(--cf-discipline-bg);color:var(--cf-discipline-text);font-size:22px;font-weight:600;letter-spacing:.5px;margin:0;padding:14px 16px;text-transform:uppercase}.course-finder__location{border-bottom:1px solid var(--cf-gray-100)}.course-finder__location:last-child{border-bottom:none}.course-finder .course-finder__location-header{align-items:center;background-color:var(--cf-location-bg);color:var(--cf-location-text);display:flex;font-size:18px;font-weight:600;gap:10px;margin:0;padding:10px 16px}.course-finder__table{width:100%}.course-finder__table-header{display:none}.course-finder__row{background-color:var(--cf-white);border-bottom:1px solid var(--cf-gray-200);display:block;padding:16px}.course-finder__row:nth-child(2n){background-color:var(--cf-gray-100)}.course-finder__row:last-child{border-bottom:none}.course-finder__row-meta{border-bottom:1px solid var(--cf-gray-200);color:var(--cf-text-secondary);font-size:12px;margin-bottom:8px;padding-bottom:8px}.course-finder__cell{display:block;font-size:14px}.course-finder__cell--city,.course-finder__cell--institution,.course-finder__cell--language,.course-finder__cell--term{display:none}.course-finder__cell--info{margin-bottom:12px}.course-finder__course-name{color:var(--cf-text-primary);font-size:16px;font-weight:600;line-height:1.3;margin-bottom:4px}.course-finder__course-desc{color:var(--cf-text-secondary);font-size:13px;line-height:1.4}.course-finder .course-finder__read-more{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--cf-accent);cursor:pointer;display:inline;font-family:inherit;font-size:13px;font-weight:500;margin-left:4px;padding:0;text-decoration:underline}.course-finder .course-finder__read-more:focus,.course-finder .course-finder__read-more:hover{color:var(--cf-accent-hover);outline:none;text-decoration:underline}.course-finder__cell--syllabus{margin-top:8px}.course-finder .course-finder__syllabus-link{background-color:transparent;border:2px solid var(--cf-accent);border-radius:var(--cf-radius);color:var(--cf-accent);display:inline-block;font-size:13px;font-weight:500;padding:8px 16px;text-decoration:none;transition:background-color var(--cf-transition),color var(--cf-transition)}.course-finder .course-finder__syllabus-link:focus,.course-finder .course-finder__syllabus-link:hover{background-color:var(--cf-accent);color:var(--cf-white)}.course-finder__syllabus-link:focus-visible{outline:2px solid var(--cf-accent);outline-offset:2px}.course-finder__back-to-top{align-items:center;background-color:var(--cf-accent);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px rgba(237,55,38,.3);color:var(--cf-white);cursor:pointer;display:flex;height:48px;justify-content:center;min-height:48px;min-width:48px;opacity:0;padding:0;position:fixed;right:20px;transform:translateY(10px);transition:opacity var(--cf-transition),visibility var(--cf-transition),transform var(--cf-transition),background-color var(--cf-transition);visibility:hidden;width:48px;z-index:1000}.course-finder__back-to-top svg{color:var(--cf-white);height:24px;stroke:var(--cf-white);width:24px}.course-finder__back-to-top.is-visible{opacity:1;transform:translateY(0);visibility:visible}.course-finder__back-to-top:focus,.course-finder__back-to-top:hover{background-color:var(--cf-accent-hover);transform:translateY(-2px)}.course-finder__back-to-top:focus-visible{outline:2px solid var(--cf-white);outline-offset:2px}@media (min-width:768px){.course-finder__filters{padding:24px}.course-finder__filters-wrapper{flex-direction:row;flex-wrap:wrap;gap:20px}.course-finder__filter-field{flex:1 1 calc(50% - 10px);min-width:200px}.course-finder__main{padding:32px 24px}.course-finder__title{font-size:36px}.course-finder__subtitle{font-size:18px}}@media (min-width:1024px){.course-finder__filters{padding:30px 20px}.course-finder__filters-wrapper{align-items:start;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));justify-items:stretch}.course-finder__filter-field{flex:unset;max-width:100%;min-width:0;width:100%}.course-finder__filter-field:first-child{max-width:100%}.course-finder__main{padding:40px 20px}.course-finder__title{font-size:42px}.course-finder__subtitle{font-size:20px}.course-finder__discipline-header{font-size:26px;padding:18px 20px}.course-finder__location-header{font-size:18px;padding:12px 20px}.course-finder__table-header{background-color:var(--cf-text-secondary);color:var(--cf-white);display:grid;font-size:12px;font-weight:600;grid-template-columns:120px 200px 1fr 120px 120px 120px;letter-spacing:.5px;text-transform:uppercase}.course-finder__table-header>div{border-right:1px solid hsla(0,0%,100%,.1);padding:10px 12px;text-align:center}.course-finder__table-header>div:last-child{border-right:none}.course-finder__row{align-items:center;border-bottom:1px solid var(--cf-gray-200);display:grid;grid-template-columns:120px 200px 1fr 120px 120px 120px;padding:0}.course-finder__row:hover{background-color:var(--cf-gray-200)}.course-finder__row-meta{display:none}.course-finder__cell{border-right:1px solid var(--cf-gray-200);padding:12px}.course-finder__cell:last-child{border-right:none}.course-finder__cell--city,.course-finder__cell--institution,.course-finder__cell--language,.course-finder__cell--term{color:var(--cf-text-secondary);display:flex;font-size:14px;font-weight:500;justify-content:center;text-align:center}.course-finder__cell--info{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:0}.course-finder__cell--syllabus{display:flex;justify-content:center;margin-top:0}.course-finder__syllabus-link{font-size:14px;padding:6px 12px}}@media (min-width:1280px){.course-finder__filters-wrapper{display:flex;flex-wrap:nowrap;gap:20px}.course-finder__filter-field{flex:1 1 0;max-width:none;min-width:0}.course-finder__title{font-size:48px}}.course-finder :focus{outline:none}.course-finder :focus-visible{outline:2px solid var(--cf-accent);outline-offset:2px}@media (prefers-contrast:high){.course-finder__input:focus{outline:3px solid currentColor;outline-offset:2px}.course-finder__dropdown-option:focus{outline:2px solid currentColor;outline-offset:-2px}}@media (prefers-reduced-motion:reduce){.course-finder,.course-finder *,.course-finder :after,.course-finder :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.course-finder__filter-prompt{background-color:rgba(237,55,38,.1);border-radius:var(--cf-radius-sm);margin:20px;padding:24px 20px;text-align:center}.course-finder__filter-prompt p{color:var(--cf-text-dark);font-size:.95rem;line-height:1.5;margin:0}.course-finder__view-all-btn{margin-left:12px}.course-finder__clear-btn:active,.course-finder__view-all-btn:active{box-shadow:none;outline:none}@media (min-width:768px){.course-finder__filter-prompt{margin:24px auto;max-width:650px;padding:32px 30px}.course-finder__filter-prompt p{font-size:1rem}}