@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css";/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}.container{width:100%}.flex{display:flex}.min-h-screen{min-height:100vh}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-col{flex-direction:column}.underline{text-decoration-line:underline}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--bg-color:#1d1d1d;--container-bg:#292828;--text-primary:#f5f5f5;--text-secondary:#d1cbcb;--card-shadow:#0006;--border-color:#675d5d;--hr-color:#444;--main-color:#4da3ff;--main-dark-color:#7ea9d4;--nav-bg:#141419d9}@media (prefers-color-scheme:light){:root{--bg-color:#f9f9f9;--container-bg:#fff;--text-primary:#333;--text-secondary:#978e8e;--card-shadow:#0000000d;--border-color:#ccc;--hr-color:#ccc;--main-color:#007acc;--main-dark-color:#005a9e;--nav-bg:#367ab3}}html{scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background-color:var(--bg-color);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;transition:background-color .3s,color .3s}h2,nav,header,i,.button,.github-icon,.link-icon,.download-icon,.pdf-link,.intro{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:700}#root,.app-container{flex-direction:column;min-height:100vh;display:flex}.container{width:95%;max-width:900px;margin:20px auto}section{margin-bottom:20px}.hero-description{text-align:center}@media (max-width:768px){.container{width:90vw;padding:0 3vw}.class{margin-right:0;padding:12px}h2,h3{word-break:overflow-word}h2{width:250px}h3{width:220px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.header{position:relative;height:230px;overflow:hidden;text-align:center;color:#fff}.header-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1}.header-content{position:relative;z-index:1;padding:40px 0 20px}.header-content h1{font-size:2.5rem;margin-top:10px}.header-content p{margin-bottom:10px}.header-content nav a{font-size:1.1rem;color:#9be1ff;margin:0 10px;text-decoration:none;font-weight:700}.header-content nav a:hover{text-decoration:underline}@media (max-width: 768px){.header{text-align:right;height:180px}.header-content h1{font-size:2rem;margin-top:30px;margin-bottom:10px}.header-content{padding:0}header nav{margin-top:10px;margin-right:-10px}.header-content nav{background-color:#212121cc}.header-content nav a{font-size:1.2rem}header p{font-size:.9rem}}.footer{margin-top:40px;width:100%;padding:20px 40px;display:flex;justify-content:space-between;align-items:flex-start;background-color:inherit;color:var(--main-dark-color);font-size:14px;flex-shrink:0}.footer-col{display:flex;flex-direction:column;align-items:flex-start}.footer-heading{color:#888;font-size:12px;margin-bottom:4px}.social-links{display:flex;gap:10px}.social-links a{color:inherit;text-decoration:none;font-size:18px;transition:color .2s ease}.social-links a:hover{color:#d1d1d1}@media (max-width: 768px){.footer{flex-direction:column;align-items:flex-start;margin-top:0;gap:10px}}.flag{border-radius:0!important;box-shadow:none!important;width:1.1em;vertical-align:middle}h2 .flag,.schools-nav.navbar .flag,.hero-description .flag{margin-bottom:.2em}.region-col .flag,.description-col .flag{width:1.3em;vertical-align:middle;background:none;object-fit:initial;border:none;position:relative;top:-1px}.projects .project{border-radius:10px;position:relative;background:var(--container-bg);padding:20px;border-left:5px solid var(--main-color);box-shadow:0 4px 10px var(--card-shadow);transition:background .3s}.projects:not(.resources) .project:not(.resource){margin-bottom:40px}.project h3{color:var(--main-color);margin-bottom:10px}.project hr{border:none;border-top:1px solid var(--hr-color)}.project img,.youtube-container{width:100%;max-height:400px;margin:.5rem 0;background-color:#000;border-radius:12px;border:1px solid var(--border-color);object-fit:contain}.youtube-container{position:relative;margin-top:10px;padding-bottom:56.25%;overflow:hidden}.youtube-iframe{position:absolute;width:100%;height:100%;border:none;left:0;top:0}.project a{display:inline-block;color:var(--main-color);text-decoration:none;font-weight:500}.project a:hover{text-decoration:underline}.tech-inline{background-color:#3e3e00;color:#fff89a;padding:0 4px;border-radius:3px}@media (prefers-color-scheme: light){.tech-inline{background-color:#fbff0026;color:#222221;padding:2px 6px;border-radius:4px;font-weight:500}}.class a.github-icon,.class a.link-icon,.class a.download-icon{display:inline-block;color:#b22222;text-decoration:none;font-weight:700;background-color:#d800001a;padding:4px 8px;border-radius:8px}.github-icon,.link-icon,.download-icon{position:absolute;top:.7em;transition:transform .2s;z-index:1}.github-icon i,.link-icon i,.download-icon i{display:block;line-height:1}.github-icon:after,.link-icon:after,.download-icon:after{position:absolute;bottom:125%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:5px 8px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;font-size:.75rem;z-index:1}.github-icon:after{content:"GitHub repository"}.youtube-icon:after{content:"YouTube video"}.link-icon:after{content:"Website link"}.pdf-file-icon:after{content:"Report (PDF)"}.download-icon:after{content:"Download file"}.icon-group a:last-child{right:.7em}.icon-group a:nth-last-child(2){right:2.4em}.icon-group a:nth-last-child(3){right:4em}.github-icon:hover:after,.link-icon:hover:after,.download-icon:hover:after,.class a.github-icon:hover:after{opacity:1}.project a.github-icon:hover,.project a.link-icon:hover,.project a.download-icon:hover{background-color:transparent!important;text-decoration:none}.project a.github-icon:hover{color:#1b2024}.project a.link-icon:hover,.project a.download-icon:hover{color:#71b4eb}.project a.github-icon{font-size:30px;top:.5em}.project a.link-icon,.project a.download-icon{font-size:24px}.github-icon,.youtube-icon,.pdf-file-icon{position:absolute;top:.4em;right:.7em;font-size:24px;color:#000;transition:transform .2s;z-index:1}.icon-group a{font-weight:700}.github-icon:hover,.onu-classes .class a.github-icon:hover,.class a.github-icon:hover,.icon-group a:hover{transform:scale(1.1);color:#fff;text-decoration:none!important}.github-icon:hover{background-color:#1b2024!important}.youtube-icon:hover{background-color:#ed3838!important}@media (prefers-color-scheme: dark){.project a.github-icon,.project a.link-icon,.project a.download-icon{color:#ccc}.github-icon:after,.link-icon:after,.download-icon:after{background-color:#b7b7b8;color:#222223}.project a.github-icon:hover,.project a.link-icon:hover,.project a.download-icon:hover{color:#fff!important}.class a.github-icon,.class a.youtube-icon{background-color:#fff;color:#000}.class a.github-icon:hover{background-color:#000!important;color:#fff!important}.class a.youtube-icon:hover{background-color:red!important;color:#fff!important}}.table-wrapper{width:100%;overflow-x:auto;color:var(--text-primary)}table{width:100%;border-collapse:separate;border-spacing:0;margin-top:12px}th{background-color:var(--main-color);color:#000;padding:.75rem}td{padding:.75rem;border:1px solid var(--border-color);background-color:var(--container-bg)}tr:nth-child(2n) td{background-color:#ffffff12}@media (prefers-color-scheme: light){tr:nth-child(2n) td{background-color:#fafafa}th{color:#fff}}#onu,#sinclair,#wrightstate{scroll-margin-top:100px}.classes{margin-right:120px;border-radius:12px;max-width:850px;position:relative;z-index:1}.class{border-radius:12px;position:relative;padding:1rem;margin-bottom:1.5rem;background-color:var(--container-bg);box-shadow:0 4px 12px var(--card-shadow);transition:transform .2s ease,box-shadow .2s ease;border-left:5px solid var(--main-color)}.class h3{margin-bottom:.5rem}.timeline{margin-left:50px;position:relative;padding-left:120px;margin-top:20px;overflow:visible}.timeline:before{content:"";position:absolute;left:82px;top:0;bottom:0;width:2px;background:var(--hr-color);z-index:2;opacity:.6}.timeline-item{position:relative;margin-bottom:40px}.timeline img:not(.flag){margin-bottom:-5px}.timeline-item:before{content:"";position:absolute;left:-47px;top:10px;width:14px;height:14px;border-radius:50%;background:var(--main-color);border:3px solid var(--bg-color);z-index:3}.timeline-date{position:absolute;left:-115px;width:60px;top:8px;text-align:right;font-weight:800;color:var(--main-color);z-index:3}@media (max-width: 768px){.classes{max-width:100%;padding:0;margin-right:0}.timeline{margin-left:0;margin-right:0;padding-left:20px}.timeline:before{left:0}.timeline-date{position:relative;left:0;top:0;width:auto;text-align:left;display:block;margin-bottom:5px;font-size:.85rem}.timeline-item:before{left:-29px;top:0}}.onu-classes{--onu-color: #4dc9ff;--onu-bg: #1a1f24;background-color:var(--onu-bg);transition:background-color .3s ease;border-radius:12px}@media (prefers-color-scheme: light){.onu-classes{--onu-color: #00b4d8;--onu-bg: #e6f7ff;background-color:var(--onu-bg)}}.onu-classes h2{color:var(--onu-color);border-bottom:2px solid var(--onu-color);margin-bottom:1.5rem}.onu-classes .class{border-left:4px solid var(--onu-color);box-shadow:0 2px 4px var(--card-shadow);background-color:var(--container-bg)}.onu-classes .class h3{color:var(--onu-color)}@media (prefers-color-scheme: light){.onu-classes .class h3{color:#0077b6}}.onu-classes .class a:not(.doc-icon){color:var(--onu-color);background-color:#0194b226;padding:4px 8px;border-radius:6px;text-decoration:none;font-weight:700}@media (prefers-color-scheme: dark){.onu-classes .class a:hover:not(.doc-icon){background-color:var(--onu-color)!important;color:#fff!important}}@media (prefers-color-scheme: light){.onu-classes .class a:hover:not(.doc-icon){background-color:var(--onu-color);color:#fff!important}}.onu-logo{margin-right:5px;transition:filter .3s ease,transform .3s ease;filter:drop-shadow(0 0 5px rgba(77,163,255,.6))}@media (prefers-color-scheme: light){.onu-logo{filter:drop-shadow(2px 2px 4px rgba(0,60,60,.3))}}.sinclair-classes{--sinclair-color: #ff6b6b;background-color:#241a1a;transition:background-color .3s ease;border-radius:12px}@media (prefers-color-scheme: light){.sinclair-classes{--sinclair-color: #b22222;background-color:#fff5f5}}.sinclair-classes h2{color:var(--sinclair-color);border-bottom:2px solid var(--sinclair-color);margin-bottom:1.5rem}.sinclair-classes .class{border-left:4px solid var(--sinclair-color);box-shadow:0 2px 4px #d8000033;background-color:var(--container-bg)}.sinclair-classes .class h3{color:var(--sinclair-color)}.sinclair-classes .class a:not(.doc-icon){color:var(--sinclair-color);background-color:#d8000026;padding:4px 8px;border-radius:6px;text-decoration:none;font-weight:700}@media (prefers-color-scheme: dark){.sinclair-classes .class a:hover:not(.doc-icon){background-color:var(--sinclair-color)!important;color:#fff!important}}@media (prefers-color-scheme: light){.sinclair-classes .class a:hover:not(.doc-icon){background-color:var(--sinclair-color);color:#fff!important}}.sinclair-logo{margin-right:5px;transition:filter .3s ease,transform .3s ease;filter:drop-shadow(0 0 4px rgba(255,107,107,.6))}@media (prefers-color-scheme: light){.sinclair-logo{filter:drop-shadow(2px 2px 4px rgba(178,34,34,.4))}}.wsu-classes{--wsu-color: #81c784;background-color:#1a241a;transition:background-color .3s ease;border-radius:12px;margin-bottom:2rem}@media (prefers-color-scheme: light){.wsu-classes{--wsu-color: #3e693c;background-color:#e6ffe6}}.wsu-classes h2{color:var(--wsu-color);border-bottom:2px solid #d6b46a;margin-bottom:1.5rem}.wsu-classes .class{border-left:4px solid var(--wsu-color);box-shadow:0 2px 4px #0064001a;background-color:var(--container-bg)}.wsu-classes .class h3{color:var(--wsu-color)}.wsu-classes .timeline-item:before{background-color:var(--wsu-color)!important}.wsu-classes .timeline-date{color:var(--wsu-color)!important}.wsu-logo{margin-right:6px;transition:filter .3s ease,transform .3s ease;filter:drop-shadow(0 0 5px rgba(129,199,132,.6))}@media (prefers-color-scheme: light){.wsu-logo{filter:drop-shadow(2px 2px 4px rgba(175,166,37,.4))}}.projects .resources{display:flex;flex-direction:column;padding:0;max-width:800px}.project.resource{margin-left:60px;margin-bottom:15px;border-radius:12px}.project.resource .pdf-link{margin-top:10px}.project.resource>a{font-size:1.1rem;font-weight:700;color:var(--main-dark-color);text-underline-offset:2px;display:inline-block;margin:0}.project.resource p{margin:.5rem 0 0}.project.resource a:hover{text-decoration:underline}.project.resource p strong{display:inline-block;font-size:1.05rem;color:#333;border-left:4px solid var(--main-color);padding-left:8px}.project.resource ul{padding-left:1.2rem;margin-top:.5rem}.project.resource ul li{margin-bottom:.3rem;list-style-type:disc;font-size:.95rem;line-height:1.4;color:#444}.project.resource hr{margin:1rem 0;border:none;border-top:1px solid #ccc}.project.resource strong{color:var(--main-dark-color)}@media (prefers-color-scheme: dark){.project.resource p strong,.project.resource ul li{color:#fff!important}.project.resource hr{border-top:1px solid #444}}@media (max-width: 768px){.project.resource{margin-left:0}}.project ul{margin-left:20px}.project.experience{margin-top:15px;margin-right:100px}@media (max-width: 768px){.timeline-content h2{padding-top:20px}.project.experience{margin-top:15px;margin-right:0}}:root{--link-color: #4da3ff;--link-hover: #99ccff;font-size:.92rem}@media (prefers-color-scheme: light){:root{--link-color: #007acc;--link-hover: #16a0d7}}.intro{font-weight:500}p i{color:var(--text-secondary)}a{color:var(--link-color);text-decoration:none;transition:all .2s ease}a:hover,a h3:hover{color:var(--link-hover);text-decoration:underline}h2{color:var(--main-dark-color);transition:color .3s ease}a h2,h2 a{text-decoration:underline;color:var(--main-dark-color)}.navbar{position:sticky;top:0;z-index:1000;display:flex;justify-content:center;align-items:center;height:60px;padding:0 1rem;margin:0!important;gap:1rem;transition:background-color .3s ease;transform:translateZ(0);will-change:background-color,backdrop-filter;box-sizing:border-box}.navbar.scrolled{box-shadow:0 2px 10px #0000004d}.schools-nav{top:60px!important;z-index:999;height:60px;margin-top:-1px!important}.nav-button{all:unset;cursor:pointer;padding:.5rem 1.2rem;background-color:#52a8ee;color:#fff!important;border-radius:8px;transition:transform .2s ease-out,background-color .2s ease-out,box-shadow .2s ease-out;font-weight:700;box-shadow:0 2px 10px #0003;text-decoration:none!important;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.3);box-sizing:border-box}.nav-button:hover{background-color:#a5cef0;color:#003c3c!important;box-shadow:0 4px 14px #0000004d;transform:translateY(-2px);text-shadow:none!important}.nav-button.active{background-color:#a5cef0!important;color:#003c3c!important;transform:translateY(0);box-shadow:0 2px 5px #0003;text-shadow:none!important}.navbar.schools-nav .nav-button{background-color:#818182}#sinclair-link:hover,#sinclair-link.active{background-color:#982e29!important;color:#fff!important;text-shadow:none!important}#onu-link:hover,#onu-link.active{background-color:#7ea9d4!important;color:#fff!important;text-shadow:none!important}#wsu-link:hover,#wsu-link.active{background-color:#3e693c!important;color:#d6b46a!important;text-shadow:none!important}footer{margin-top:auto;color:var(--text-secondary);font-size:.8rem}.hero{font-size:4vw}
