@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Raleway:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap";/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}#root{display:flex;flex-direction:column;min-height:100vh}.container{margin:0 auto;width:100%;max-width:1600px;height:auto;min-height:70vh}header,footer{width:100vw;min-width:100%;left:0;right:0;position:relative;box-sizing:border-box}.search-bar{display:grid;grid-template-columns:350px 350px;grid-template-rows:auto auto;gap:24px;justify-content:center;align-items:center;padding:20px;margin:20px 0;font-family:Raleway,sans-serif;width:100%;position:relative}.search-input{grid-column:1/2;grid-row:1/2;padding:10px;font-size:16px;border:1px solid #dfefff;border-radius:4px;width:100%;max-width:350px;font-family:Inter,sans-serif}.location-select{grid-column:2/3;grid-row:1/2;padding:10px;font-size:16px;border:1px solid #dfefff;border-radius:4px;width:100%;max-width:350px;font-family:Inter,sans-serif}.btn-container{display:flex;justify-content:center;align-items:center;margin-bottom:2rem}.search-button{grid-column:1/3;grid-row:2/3;justify-self:center;padding:10px 15px;width:120px;background-color:#2472c5;color:#fff;border:none;border-radius:20px;cursor:pointer;transition:background-color .3s,transform .2s cubic-bezier(.4,0,.2,1);font-family:Raleway,sans-serif}.search-button:hover{background-color:#184d84;transform:scale(1.08)}.clear-button{grid-column:1/3;grid-row:3/4;justify-self:center;margin-top:8px;background:transparent;color:#2472c5;border:none;font-size:1rem;cursor:pointer;opacity:.7;padding:0 10px;transition:opacity .2s,transform .2s cubic-bezier(.4,0,.2,1)}.clear-button:hover{opacity:1;text-decoration:underline;transform:scale(1.08)}h1{text-align:center;font-family:Raleway,sans-serif}@media (max-width: 768px){.search-bar{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:16px;padding:0}.search-input,.location-select{grid-column:1/2;width:100%!important;max-width:none!important;box-sizing:border-box}.search-input{grid-row:1/2}.location-select{grid-row:2/3}.search-button{grid-column:1/2;grid-row:3/4;max-width:100%;width:100%}.clear-button{grid-column:1/2;grid-row:4/5;max-width:100%;width:100%}}@media (max-width: 1024px){.search-bar{padding:0}}.btnGo{width:50px;height:50px;padding:10px;border:2px solid #000;border-radius:50%;background-color:#fff;color:#000;cursor:pointer;font-size:18px;font-weight:700;transition:transform .1s ease,box-shadow .1s ease;box-shadow:2px 2px #000}.btnGo:active{transform:translate(2px,2px);box-shadow:2px 2px #000}.status-badge{display:inline-block;width:180px;padding:.5rem 1.5rem;border-radius:9999px;font-size:.875rem;font-weight:400;color:#000;text-align:center;font-family:Rubik,sans-serif;border:none}.status-badge--open{background-color:#40d859}.status-badge--closed{background-color:#ec3b3e}.status-badge--late{background-color:#f0ec00}.course-card{display:grid;grid-template-columns:1fr auto;align-items:center;padding:10px;width:755px;height:180px;gap:16px;border-radius:45px;border:2px solid #000000;box-shadow:1px 5px #000;overflow:auto}.course-content{margin:0 20px;display:flex;flex-direction:column;gap:10px}.course-content .course-title{font-size:1.5rem;font-weight:600;color:#000;margin:0 0 5px}.course-content .course-info-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.course-content .course-info{display:flex;margin:0;flex-wrap:wrap;gap:20px;color:#6b7280;font-size:14px;align-items:center}.course-content .course-status{display:flex;justify-content:flex-end;flex:1}.course-action{margin-bottom:80px}.course-card.visited{opacity:.7;background-color:#cce6ff}.visited-dot{color:green;font-size:1rem;margin-left:4px}@media screen and (max-width: 767px){.course-card{display:grid;width:380px;height:260px}.course-content{margin:0 10px;gap:5px}.course-content .course-info-row{flex-direction:column;align-items:flex-start;gap:8px}.course-content .course-info{display:flex;margin:0;flex-wrap:wrap;gap:10px;color:#6b7280;font-size:12px;align-items:center}.course-content .course-status{width:100%;display:flex;justify-content:center;margin-top:8px}.course-action{margin-bottom:50px}}.course-card.highlighted{z-index:10;border:2px solid #2472c5;box-shadow:0 0 16px 2px #2472c5;position:relative;animation:highlight-fade 1s}@keyframes highlight-fade{0%{box-shadow:0 0 32px 8px #2472c5}to{box-shadow:0 0 16px 2px #2472c5}}.sidebar{color:#fff;width:250px;min-height:100vh;font-family:Arial,sans-serif;background:#2472c5;display:flex;flex-direction:column;padding-left:.5rem}.sidebar h2{margin-bottom:20px}.sidebar .filters-panel{background:#ffffff2e;border-radius:18px;box-shadow:0 8px 32px #1f26871f;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.22);padding:.6rem;margin-top:0;margin-bottom:1.5rem}.sidebar .filter-group{margin-bottom:20px}.sidebar .filter-group h4{margin-bottom:10px}.sidebar .filter-group label{display:block;margin-bottom:5px;cursor:pointer}.sidebar .filter-group input[type=checkbox]{margin-right:8px}.sidebar-more-filters{margin-top:20px;padding:16px 12px;background:#2472c5;border-radius:12px;box-shadow:0 2px 8px #00000012;border:1px solid rgba(255,255,255,.12)}.sidebar-more-filters h2{margin-top:0;font-size:1.1rem;letter-spacing:1px}.school-info{color:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;font-family:Raleway,sans-serif;margin-bottom:1.5rem;padding-left:2rem}.school-info img{width:150px;margin:10px auto;display:block}.select-side-filters{width:100%;padding:.5rem;margin-top:.5rem;border-radius:8px;border:1px solid #ccc;font-size:1rem}.reset-filters{display:flex;justify-content:center;align-items:center;flex-direction:row;gap:1rem;margin-top:1rem}.reset-filters-btn,.apply-filters-btn{margin:1rem 0;padding:.5rem 1.5rem;background:#dfefff;color:#2472c5;border:none;border-radius:999px;cursor:pointer;font-weight:600;font-family:Inter,sans-serif;font-size:1rem;transition:background .3s ease}.reset-filters-btn:hover,.apply-filters-btn:hover{background:#1e5ea3;color:#dfefff}.info-section{display:flex;justify-content:center;gap:2rem;margin:4rem 0;flex-wrap:wrap;font-family:Rubik,sans-serif}.info-box{padding:2rem;border-radius:20px;box-shadow:0 0 10px #0000001a;width:300px;max-width:100%}.school{background-color:#2472c5;color:#fff}.school button{background-color:#fff;color:#2472c5;border:none;padding:.5rem 1rem;margin-top:1rem;border-radius:20px;cursor:pointer}.school button:hover{background-color:#2472c5;color:#ccc;border:1px solid #ccc}.help{background-color:#fff;color:#000;border:1px solid #ccc}.help button{background-color:transparent;color:#2472c5;border:1px solid #2472c5;padding:.5rem 1rem;margin-top:1rem;border-radius:20px;cursor:pointer;transition:.3s}.help button:hover{background-color:#2472c5;color:#ccc}.load-more-container{display:flex;justify-content:center;margin:20px 0}.load-more-button{padding:10px 30px;font-family:Inter,sans-serif;font-size:16px;background-color:#2472c5;color:#fff;border:none;border-radius:20px;cursor:pointer;transition:background-color .3s ease,transform .2s cubic-bezier(.4,0,.2,1)}.load-more-button:hover{background-color:#2472c5;transform:scale(1.13)}.mobile-filters{margin:1rem;font-family:Inter,sans-serif}.mobile-filters .toggle-button{background-color:#dfefff;border:none;padding:1rem;font-weight:700;width:100%;margin-bottom:1rem}.mobile-filters .filters-panel.mobile{background:#ffffffd9;border-radius:14px;box-shadow:0 2px 12px #1f268714;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border:1px solid rgba(255,255,255,.18);padding:.7rem .5rem;margin-top:.5rem;margin-bottom:1rem}.mobile-filters .filters-panel.mobile .filter-section{background:#fff;border-radius:10px;padding:.7rem .5rem;margin-bottom:.7rem;box-shadow:0 1px 4px #2472c50a}.mobile-filters .filters-panel.mobile .filter-section h3{font-size:1.1rem;margin-bottom:.5rem;color:#2472c5;font-family:Raleway,sans-serif}.mobile-filters .filters-panel.mobile .filter-section .filter-group{display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1.2rem;margin-bottom:.5rem}.mobile-filters .filters-panel.mobile .filter-section .filter-group label{font-size:1rem;color:#222;display:flex;align-items:center;gap:.4em;cursor:pointer}.mobile-filters .filters-panel.mobile .filter-section select{width:100%;margin-bottom:.5rem;padding:.5rem;border-radius:8px;border:1px solid #ccc;font-size:1rem;font-family:Inter,sans-serif;background-color:#fff;color:#333;transition:border .2s;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg fill='gray' height='16' viewBox='0 0 24 24' width='16' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.mobile-filters .filters-panel.mobile .filter-section select:hover{border-color:#2472c5}.mobile-filters .filters-panel.mobile .filter-section select:focus{outline:none;border-color:#2472c5;box-shadow:0 0 0 3px #07c3}.mobile-filters .reset-filters{margin-top:.5rem;display:flex;justify-content:center}.mobile-filters .reset-filters .reset-filters-btn,.mobile-filters .reset-filters .apply-filters-btn{margin:1rem 0;padding:.5rem 1.5rem;background:#2472c5;color:#fff;border:none;border-radius:999px;cursor:pointer;font-weight:600;font-family:Inter,sans-serif;font-size:1rem;transition:background .2s}.mobile-filters .reset-filters .reset-filters-btn:hover,.mobile-filters .reset-filters .apply-filters-btn:hover{background:#1e5ea3}.spinner-root{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;width:100%}.spinner-text{margin-top:16px;font-size:18px;color:#2472c5;font-family:Inter,sans-serif}.home-page-container{display:grid;grid-template-columns:300px 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"navbar navbar" "sidebar main" "footer footer"}nav{grid-area:navbar;background-color:#dfefff;height:80px}aside{grid-area:sidebar;background-color:#2472c5}main{grid-area:main;position:sticky;padding:10px}footer{grid-area:footer;background-color:#dfefff}.results-container{display:grid;justify-content:center;gap:25px}.course-card-wrapper{transition:all .5s ease;opacity:1;transform:translateY(0)}.course-card-wrapper.fade-in{animation:fadeInSlide .6s ease forwards}.no-results-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#2472c5;font-family:Inter,sans-serif;font-size:1.25rem}.no-results-message p{margin:.3em 0}.results-for-message{display:flex;justify-content:center;align-items:center;padding:.5em 1em;gap:.5em;margin:1.5rem 0 .5rem;font-family:Inter,sans-serif;font-size:1.15rem;color:#2472c5}.results-for-message strong{font-family:Raleway,sans-serif;color:#111;font-weight:600;margin-left:.2em}aside{grid-area:sidebar}aside .sidebar{display:block}aside .mobile-filters{display:none}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media screen and (min-width: 768px) and (max-width: 1024px){.home-page-container{grid-template-columns:1fr;grid-template-areas:"navbar" "sidebar" "main" "footer"}}@media screen and (min-width: 768px) and (max-width: 1024px) and (max-width: 1024px){aside .sidebar{display:none}aside .mobile-filters{display:block}}@media screen and (max-width: 767px){.home-page-container{grid-template-columns:1fr;grid-template-areas:"navbar" "sidebar" "main" "footer"}}@media screen and (min-width: 300px) and (max-width: 767px){aside .sidebar{display:none}aside .mobile-filters{display:block}}header.navbar{width:100%;background:#dfefff;padding:1rem;box-sizing:border-box}header.navbar .navbar-container{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}header.navbar .logo{font-family:Inter,sans-serif;color:#000}header.navbar .nav-links{display:flex;align-items:center;gap:1rem;font-family:Inter,sans-serif}header.navbar .nav-links a{text-decoration:none;color:#000;font-weight:500;font-size:1rem}header.navbar .nav-links .auth-btn{padding:10px 15px;width:100px;background-color:#2472c5;color:#fff;border:none;border-radius:20px;cursor:pointer;transition:background-color .3s,transform .2s cubic-bezier(.4,0,.2,1);font-family:Raleway,sans-serif}header.navbar .nav-links .auth-btn:hover{background:#dfefff;color:#2472c5;border:2px solid #2472c5}header.navbar .nav-links .nav-close-btn{display:none}header.navbar .nav-btn{background:none;border:none;color:#000;font-size:1.8rem;cursor:pointer;display:none}@media (max-width: 768px){header.navbar .nav-links{position:fixed;top:0;right:-100%;flex-direction:column;background:#dfefff;height:100vh;width:70%;padding:2rem;transition:right .3s ease-in-out;z-index:999;box-shadow:-2px 0 8px #0003}header.navbar .nav-links a{font-size:1.2rem}header.navbar .nav-links .nav-close-btn{position:absolute;top:1.5rem;right:1.5rem;display:block;background:none;border:none;font-size:2rem;color:#000;cursor:pointer}header.navbar .nav-links.responsive_nav{right:0}header.navbar .nav-btn{display:block}}.footer{width:100vw;min-width:100%;left:0;right:0;position:relative;box-sizing:border-box;background:#dfefff}.footer .footer-top,.footer .footer-bottom{margin:0 auto;max-width:1600px;width:100%;padding:0 2rem}.footer{background-color:#dfefff;padding:40px 20px;font-family:Arial,sans-serif;font-size:14px;color:#111}.footer-top{display:flex;justify-content:space-evenly;flex-wrap:wrap;margin-bottom:30px}.footer-column{min-width:150px;margin-bottom:20px}.footer-title{font-weight:700;margin-bottom:10px}.footer-divider{border:none;border-top:1px solid #333;margin:20px 0}.footer-bottom{display:flex;justify-content:space-evenly;align-items:center;flex-wrap:wrap}.footer-left{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.footer-left a{color:#111;text-decoration:none}.footer-left a:hover{text-decoration:underline}.footer-right a{margin-left:10px;color:#111;font-size:18px}.footer-right a:hover{color:#2472c5}@media screen and (max-width: 767px){.footer{padding:20px 0;width:100vw;min-width:0}.footer-top,.footer-bottom{max-width:100%;width:100%;padding:0 10px;box-sizing:border-box}.footer-top{display:flex;flex-direction:row;align-items:center;gap:10px}.footer-column{text-align:center;margin-bottom:10px}.footer-left{flex-direction:column;align-items:center}.footer-right{margin-top:10px}.footer-bottom{flex-direction:column;align-items:center}}@media screen and (max-width: 1024px){.footer{padding:20px 0;width:100vw;min-width:0}.footer-top,.footer-bottom{max-width:100%;width:100%;padding:0 10px;box-sizing:border-box}.footer-top{flex-direction:column;align-items:center;gap:10px}.footer-column{text-align:center;margin-bottom:10px}.footer-left{flex-direction:column;align-items:center}.footer-right{margin-top:10px}.footer-bottom{flex-direction:column;align-items:center}}@media screen and (max-width: 1024px) and (min-width: 768px){.footer-top{flex-direction:row;align-items:flex-start;justify-content:center;gap:32px}.footer-column{text-align:center;margin-bottom:10px}}h1,h2{font-family:Raleway,sans-serif}p,span,button{font-family:Inter,sans-serif}select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.course-page-container{display:flex;flex-direction:column;min-height:100vh;background-color:#f7f8fa;color:#333}.course-page-container .hero{padding:3rem 2rem}.course-page-container .hero .course-hero-grid{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:center}.course-page-container .hero .course-hero-grid .course-image{position:relative}.course-page-container .hero .course-hero-grid .course-image img{width:100%;height:auto;object-fit:cover;border-radius:20px;box-shadow:0 4px 12px #0000001a}.course-page-container .hero .course-hero-grid .course-image .back-button{margin-bottom:1.5rem;background-color:#fff;color:#000;padding:.75rem 1.5rem;border:2px solid #000;border-radius:999px;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 5px #0000001a}.course-page-container .hero .course-hero-grid .course-image .back-button:hover{background-color:#e0f0ff}.course-page-container .hero .course-hero-grid .course-info h1{font-size:2.5rem;margin-bottom:1rem;color:#2472c5}.course-page-container .hero .course-hero-grid .course-info .course-description{font-size:1.2rem;color:#444;text-align:center}@media (max-width: 768px){.course-page-container .hero .course-hero-grid{grid-template-columns:1fr}}.course-page-container .course-main{display:flex;flex-wrap:wrap;padding:3rem 2rem;gap:2rem;background-color:#fff;font-family:Inter,sans-serif}.course-page-container .course-main .course-left{flex:1 1 300px;background:#2472c5;color:#fff;padding:2rem;border-radius:30px;box-shadow:0 4px 12px #0000001a;font-family:Segoe UI,sans-serif}.course-page-container .course-main .course-left h2{font-size:1.8rem;font-weight:700;margin-bottom:1.5rem}.course-page-container .course-main .course-left ul{list-style:none;padding:0;margin:0 0 1rem}.course-page-container .course-main .course-left li{margin-bottom:.6rem;font-size:1rem;line-height:1.5}.course-page-container .course-main .course-left strong{font-weight:700}.course-page-container .course-main .course-left em{font-style:normal;font-weight:600;display:block;margin-top:1rem}.course-page-container .course-main .course-left .tuition-section ul ul{list-style-type:disc;padding-left:1.5rem;margin-top:.3rem}.course-page-container .course-main .course-left .apply-button{margin-top:2rem;background-color:#fff;color:#000;padding:.75rem 1.5rem;border:2px solid #000;border-radius:999px;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 5px #0000001a}.course-page-container .course-main .course-left .apply-button:hover{background-color:#2472c5;color:#dfefff;border:2px solid #fff}.course-page-container .course-main .course-right{flex:2 1 600px;background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 5px #0000001a}.course-page-container .course-main .course-right section{margin-bottom:2rem}.course-page-container .course-main .course-right section h2{margin-bottom:1rem;font-size:1.5rem;color:#2472c5}.course-page-container .course-main .course-right section p,.course-page-container .course-main .course-right section ul{font-size:1rem;line-height:1.6}.course-page-container .course-main .course-right section ul{padding-left:1.2rem;list-style:disc}.course-page-container .course-main .course-right .coordinator{background:#eef3f8;padding:1rem;border-radius:8px}.course-page-container .course-main .course-right .coordinator h3{margin-bottom:.5rem;color:#333}.course-page-container .course-main .course-right .coordinator p{margin:.2rem 0}.course-page-container .testimonials{padding:4rem 2rem;text-align:center}.course-page-container .testimonials h2{margin-bottom:2rem;font-size:2.5rem;color:#111;font-weight:700;font-family:Raleway,sans-serif}.course-page-container .testimonials .testimonial-cards{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.course-page-container .testimonials .testimonial-cards .testimonial-card{background:#fff;width:340px;min-height:260px;border:2px solid #111;border-radius:56px;box-shadow:8px 8px #111;padding:1.5rem 1.2rem 1.2rem;display:flex;flex-direction:column;align-items:flex-start;position:relative;transition:transform .3s;font-family:Inter,sans-serif}.course-page-container .testimonials .testimonial-cards .testimonial-card:hover{transform:translateY(-5px)}.course-page-container .testimonials .testimonial-cards .testimonial-card .testimonial-header{display:flex;align-items:center;width:100%;margin-bottom:1rem}.course-page-container .testimonials .testimonial-cards .testimonial-card .testimonial-header .testimonial-avatar{width:80px;height:80px;border-radius:50%;background:#2472c5;margin-right:1rem;flex-shrink:0}.course-page-container .testimonials .testimonial-cards .testimonial-card .testimonial-header .testimonial-name-year{text-align:left;font-size:1.2rem;font-weight:700;color:#111;line-height:1.1;font-family:Raleway,sans-serif}.course-page-container .testimonials .testimonial-cards .testimonial-card hr{width:100%;border:none;border-top:2px solid #444;margin:.8rem 0}.course-page-container .testimonials .testimonial-cards .testimonial-card .testimonial-text{color:#111;font-size:1rem;font-style:normal;text-align:left;line-height:1.5;font-family:Inter,sans-serif}@media (max-width: 900px){.course-page-container .testimonials .testimonial-cards{flex-direction:column;align-items:center;gap:1.5rem}.course-page-container .testimonials .testimonial-card{width:95vw;min-width:0;max-width:340px}}
