body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{animation:fadeIn 1.5s forwards;color:#333;font-family:Arial,sans-serif;opacity:0;padding:20px;text-align:center}@keyframes fadeIn{to{opacity:1}}h2{color:#444;margin-top:20px}.container{align-items:center;background-image:url(/portfolio/static/media/background.cb262597a06646e0293a.png);background-position:50%;background-size:cover;color:#333;display:flex;flex-direction:column;font-family:Open Sans,sans-serif;height:94vh;justify-content:center;width:95vw}.name{font-family:Lora,serif;font-size:2.5em;margin:0}.subtitle{font-style:italic;margin-bottom:1em}.typewriter{animation:blink-caret .75s step-end infinite;border-right:2px solid #00000080;display:inline}@keyframes blink-caret{0%,to{border-color:#0000}50%{border-color:#00000080}}.icons{margin:0}.icons img{cursor:pointer;height:40px;margin:0 10px;transition:filter .3s;width:40px}.icons img:hover{filter:invert(55%)}.links{align-items:center;display:flex;flex-direction:column;margin:10px 0}.link-button{color:#333;cursor:pointer;font-size:1.1em;margin:5px 0;padding:6px 0;position:relative;text-align:center;text-decoration:none;width:200px}.link-button span{display:inline-block;position:relative}.link-button span:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.link-button:hover span:after{width:100%}.about-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title{margin-bottom:20px}.projects-container{font-family:Open Sans,sans-serif;margin:0 auto;max-width:1200px;padding:65px 20px}h2{font-size:2em}.projects-grid{display:flex;flex-wrap:wrap;gap:25px;justify-content:center}.project-card{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;text-align:left;width:300px}.project-image-1{background-image:url(/portfolio/static/media/dog.817b415a641a4332d0b1.png);background-size:cover;height:180px}.project-image-2{background-image:url(/portfolio/static/media/resume.f64e752c09ad4e414fb0.png)}.project-image-2,.project-image-3{background-position:50%;background-size:cover;height:180px}.project-image-3{background-image:url(/portfolio/static/media/portfolio.660c80241313e695cc93.png)}.project-content{padding:20px}.project-content h3{font-size:1.5em;margin:0}.project-content p{margin:10px 0}.project-links{display:flex;justify-content:center;padding:10px 0}.button{background-color:#000;border-radius:4px;color:#fff;padding:5px 10px;text-decoration:none;transition:.3s}.button:hover{background:#444}.project-tags{display:flex;gap:5px;justify-content:center;padding:10px 0}.tag{background:#e0e0e0;border-radius:4px;font-size:.9em;padding:5px 10px}.course-notes-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title{font-family:Lora,serif;font-size:1.5em}.semester,h3{font-size:1.1em}.semester{cursor:pointer;margin:20px 0 10px;position:relative;width:109px}.semester:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.semester:hover:after{width:100%}ul{list-style-type:disc;margin-bottom:20px;padding-left:20px}li{margin-bottom:10px}.course-link{color:inherit;font-size:.9em;font-style:italic;position:relative;text-decoration:none}.course-link:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.course-link:hover:after{width:100%}.contact-container{margin:0 auto;max-width:600px;padding:150px;text-align:left}h2{font-family:Lora,serif;text-align:center}.form-group,h2{margin-bottom:15px}label{display:block;font-family:Open Sans,sans-serif;font-style:italic;margin-bottom:5px}input[type=text],textarea{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:8px;width:100%}textarea{height:100px;resize:vertical}.submit{background-color:#000;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-family:Open Sans,sans-serif;font-size:16px;padding:10px;transition:.3s;width:100%}.submit:hover{background-color:#444}.hamburger-menu{left:20px;position:fixed;top:20px;z-index:2}.hamburger-icon{background:none;border:none;cursor:pointer;padding:0;position:relative;z-index:1}.hamburger-icon img{height:35px;width:35px}.menu{background-color:#f0f0f0;box-shadow:2px 0 5px #0000001a;display:flex;flex-direction:column;height:100%;left:-350px;padding-top:75px;position:fixed;top:0;transition:.3s;width:200px}.menu.open{left:0}.menu a{color:#333;font-family:Open Sans,sans-serif;padding:15px 20px;text-decoration:none;transition:background .3s}.menu a:hover{background-color:#e0e0e0}.aps100-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.titleaps100{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:452px}.titleaps100 a{color:inherit;position:relative;text-decoration:none}.titleaps100 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.titleaps100 a:hover:after{width:100%}.aps111-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title111{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:540px}.title111 a{color:inherit;position:relative;text-decoration:none}.title111 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.title111 a:hover:after{width:100%}.civ100-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title100{width:241px}.aps164-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title164{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:680px}.title164 a{color:inherit;position:relative;text-decoration:none}.title164 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.title164 a:hover:after{width:100%}.mat188-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title188{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:299px}.title188 a{color:inherit;position:relative;text-decoration:none}.title188 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.title188 a:hover:after{width:100%}.mat186-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title186{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:222px}.title186 a{color:inherit;position:relative;text-decoration:none}.title186 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.title186 a:hover:after{width:100%}.aps191-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.titleaps191{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:361px}.titleaps191 a{color:inherit;position:relative;text-decoration:none}.titleaps191 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.titleaps191 a:hover:after{width:100%}.aps112-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title112{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:554px}.title112 a{color:inherit;position:relative;text-decoration:none}.title112 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.title112 a:hover:after{width:100%}.aps105-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title105{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:419px}.title105 a{color:inherit;position:relative;text-decoration:none}.title105 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.title105 a:hover:after{width:100%}.mat187-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title187{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:246px}.title187 a{color:inherit;position:relative;text-decoration:none}.title187 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.title187 a:hover:after{width:100%}.mie100-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title100{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:235px}.title100 a{color:inherit;position:relative;text-decoration:none}.title100 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.title100 a:hover:after{width:100%}.ece110-container{color:#333;font-family:Open Sans,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:80px 20px;text-align:left}.title110{font-family:Lora,serif;font-size:1.5em;margin-bottom:20px;position:relative;width:409px}.title110 a{color:inherit;position:relative;text-decoration:none}.title110 a:after{background:#333;bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;transition:width .3s;width:0}.title110 a:hover:after{width:100%}p{font-size:1.1em;margin-bottom:20px}.notes-button{background-color:#000;border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:Open Sans,sans-serif;padding:10px 20px;transition:background-color .3s}.notes-button:hover{background-color:#444}
/*# sourceMappingURL=main.49aee516.css.map*/