@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css";html{scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f9f9f9;color:#333;line-height:1.6}#root,.app-container{min-height:100vh;display:flex;flex-direction:column}.container{width:90%;max-width:900px;margin:0 auto;padding:20px}section{margin-bottom:40px}@media (max-width: 768px){.container{width:90vw;max-width:90vw;padding:20px 10px 10px}}.projects .project{position:relative;background:#fff;padding:20px;margin-bottom:20px;border-left:5px solid #007acc;box-shadow:0 0 10px #0000000d}.project h3{color:#007acc;margin-bottom:10px}.project hr{border:1px solid #007acc}.project img{width:100%;max-height:400px;margin:.5rem 0;background-color:#eaeaea;border-radius:4px;border:1px solid #ccc;object-fit:contain}.project a{display:inline-block;color:#007acc;text-decoration:none;font-weight:500}.project a.link,.project h3{margin-top:-5px}.project a:hover{text-decoration:underline}.projects h2{text-align:center}.tech-inline{background-color:#fff89a;padding:0 4px;border-radius:3px}@media (max-width: 768px){.project img{max-height:300px}.project h3{max-width:70%;word-break:break-word}.project a{font-size:.9rem}.project a h3{max-width:100%;font-size:1.1rem}}.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:4px}.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"}.link-icon:after{content:"Website link"}.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:#1d5685}.project a.github-icon{font-size:30px;top:.5em}.project a.link-icon,.project a.download-icon{font-size:24px}.github-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;background-color:#1b2024!important;text-decoration:none!important}.table-wrapper{padding:0;margin:0;width:100%;overflow-x:auto;font-family:sans-serif}table{width:100%;border-collapse:collapse;margin:0 0 10px;table-layout:auto}th{background-color:#f2f2f2;text-align:center;padding:.75rem;font-size:.9rem}td{padding:.75rem;border:1px solid #ccc;text-align:left;vertical-align:top;font-size:.9rem}tr:nth-child(2n){background-color:#fafafa}.region-col{min-width:190px;white-space:normal;word-break:break-word}.description-col{white-space:normal;word-break:break-word}.table-wrapper h3{text-align:center;margin:1rem 0;font-size:1.2rem}@media (max-width: 600px){th,td{padding:.5rem;font-size:.8rem}.region-col{min-width:100px;width:20%}.description-col{width:50%}.table-wrapper h3{font-size:1rem;margin:.5rem 0}}#onu,#sinclair,#wrightstate{scroll-margin-top:100px}.schools-nav.navbar{position:sticky}img{vertical-align:sub}.classes{background-color:#fff5f5;margin-top:-1em}.classes h2{color:#b22222;border-bottom:2px solid #b22222;padding:.5em;margin-bottom:1em;text-align:center;width:100%}.class{position:relative;border-left:4px solid #b22222;padding:1em;margin-bottom:1.3em;background-color:#fff;box-shadow:0 2px 4px #0000001a}.class h3{color:#b22222;margin-top:0}.class p{margin:.3em 0}.class a.doc-icon{color:#000!important;background-color:transparent!important;text-decoration:none!important}.class a.doc-icon:hover{color:#00f!important;background-color:transparent!important;text-decoration:underline!important}.timeline{position:relative;padding-left:50px}.timeline:before{content:"";position:absolute;left:50px;top:0;bottom:0;width:1.5px;background:#1f1f1e}.timeline-item{position:relative;margin-bottom:30px}.timeline-item:before{content:"";position:absolute;left:-4.4px;top:14px;width:10px;height:10px;border-radius:50%;background:#1f1f1e;z-index:1}.timeline-date{position:absolute;left:-100px;width:80px;top:7px;text-align:right;font-weight:700;color:#007acc}.timeline-content{padding-left:30px}.timeline-content h3{margin:0 0 5px;font-size:18px}@media (max-width: 768px){.schools-nav.navbar a{padding:8px}#onu .intro,#sinclair .intro,#wrightstate .intro{padding-top:20px}.class{margin-left:0;margin-right:0;border-radius:0}.class h3{max-width:60vw;word-break:break-word}.classes h2{font-size:20px}.timeline{padding-left:.5em}.timeline:before{left:-10px}.timeline-item{position:relative;padding-left:12px;margin-bottom:24px}.timeline-item:before{top:-10px;left:-22px;width:10px;height:10px;background:#1f1f1e;border-radius:50%;content:"";position:absolute}.timeline-date{display:block;color:#007acc;font-weight:600;margin-top:-1.5em;margin-left:3.5em}.timeline-content{padding-left:0}}.onu-classes{background-color:#e6f7ff;border-radius:8px}.onu-classes h2{color:#0077b6;border-bottom:2px solid #00b4d8}.onu-classes .class{border-left:4px solid #0096c7;box-shadow:0 2px 4px #00b4d81a}.onu-classes .class h3{color:#0077b6}.onu-classes .class a{color:#00b4d8;background-color:#00b4d81a}.wsu-classes{background-color:#e6ffe6;border-radius:8px}.wsu-classes h2{color:#3e693c;border-bottom:2px solid #d6b46a}.wsu-classes .class{border-left:4px solid #3e693c;box-shadow:0 2px 4px #00b4d81a}.wsu-classes .class h3{color:#3e693c}.wsu-classes .class a{color:#3e693c;background-color:#00b4d81a}.projects.resources{display:flex;flex-direction:column;padding:0;margin:0 auto;max-width:800px}.project.resource{border-radius:6px}.project.resource .pdf-link{margin-top:10px}.project.resource>a{font-size:1.1rem;font-weight:700;color:#005a9e;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;margin-top:1rem;font-size:1.05rem;color:#333;border-left:4px solid #007acc;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 ul li:after{content:"";display:inline-block;margin-left:5px}.project.resource ul li:has(>span.grade-A){color:#2e7d32}.project.resource ul li:has(>span.grade-B){color:#1565c0}.project.resource ul li:has(>span.grade-C),.project.resource ul li:has(>span.grade-D){color:#ef6c00}.project.resource hr{margin:1rem 0;border:none;border-top:1px solid #ccc}summary{cursor:pointer;font-size:1.1rem;color:#005a9e;list-style:none}summary::marker{display:none}details[open] summary{color:#007acc}.project.resource summary{cursor:pointer;font-size:1.05rem;color:#005a9e;position:relative;list-style:none;padding-left:1.5em}.project.resource summary:before{content:"▶";position:absolute;left:0;transition:transform .2s ease}.project.resource details[open]>summary:before{transform:rotate(90deg)}.project.resource summary a{font-weight:400;font-size:.95rem;margin-left:8px}.grade-a{color:#2e8b57;font-weight:700}.grade-b{color:#4682b4}.grade-c{color:#d4a017}.grade-d{color:#cd5c5c}.grade-f{color:#b22222}header{background-image:url(/images/background.png);background-size:cover;background-repeat:no-repeat;background-position:center;min-height:200px;color:#fff;padding:40px 0 20px;text-align:center}header h1{font-size:2.5rem;margin-bottom:10px}header nav a{color:#9be1ff;margin:0 10px;text-decoration:none;font-weight:700}header nav a:hover{text-decoration:underline}p i{color:gray}.navbar{position:sticky;top:0;z-index:200;display:flex;justify-content:center;background-color:#367ab3;padding:1rem;gap:1rem;box-shadow:0 2px 5px #0000001a}.nav-button{all:unset;cursor:pointer;text-decoration:none;padding:.5rem 1.2rem;background-color:#52a8ee;color:#fff;border-radius:8px;transition:background-color .3s,transform .2s;font-weight:700}.nav-button:hover,.nav-button.active{background-color:#a5cef0;color:#003c3c}.nav-button:hover{transform:translateY(-2px)}.navbar.schools-nav{background-color:#1e1e1e}.navbar.schools-nav .nav-button{background-color:#818182}#sinclair-link:hover,#sinclair-link.active{color:#fff;background-color:#982e29}#onu-link:hover,#onu-link.active{color:#fff;background-color:#7ea9d4}#wsu-link:hover,#wsu-link.active{color:#d6b46a;background-color:#3e693c}footer{margin-top:auto;background-color:#1e1e2f;color:#ccc;text-align:center;padding:15px 0;font-size:.9rem}.hero{font-size:4vw}@media (max-width: 768px){.nav-button{padding:.5rem .9rem}header{padding:0 10px 10px;background-position:right}header h1{margin-top:20px;font-size:2.1rem}header nav{margin-top:15px;font-size:1.2rem}header p{font-size:.9rem}footer{padding:0}}
