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{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{color:#fff}.blur{filter:blur(10px)}.unblur{filter:blur(0)}#background{animation:gradient-shift 6s ease-in-out infinite alternate;background-image:linear-gradient(75deg,#0097a7,#7fac8b);bottom:0;left:-50%;right:-50%;z-index:-1}#background,#navbar{position:fixed;top:0}#navbar{background-image:linear-gradient(0deg,#2220,#222 10%);height:50px;width:100%;z-index:999}#navbar ul{align-items:center;display:flex;float:left;justify-content:flex-start;list-style:none}#navbar li{height:50px}#navbar a,#navbar svg{align-items:center;color:#fff;display:flex;height:100%;padding:0 30px;text-decoration:none}#navbar a:hover,#navbar svg:hover{background-color:#555}#navbar img{float:right;height:48px;margin-left:auto;padding:0 30px;width:48px}#inner-nav{background-color:#222;height:100%;width:100%}.menu{align-items:flex-start;animation:fade-in .5s forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#2229;box-shadow:10px 0 -10px #00000026;display:flex;flex-direction:column;height:100vh;justify-content:flex-start;left:0;position:fixed;text-align:left;top:0;width:250px;z-index:1000}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.menu li{width:100%}@media (max-width:750px){.hideNavbar{display:none}#backdrop{margin-left:0;margin-right:0;width:100%}}#content{display:flex;flex-direction:column;justify-content:stretch;left:0;margin-top:50px;position:absolute;right:0}#backdrop,#content{min-height:calc(100vh - 50px)}#backdrop{background-color:#fff6;box-sizing:border-box;color:#222;height:auto;margin-left:10vw;margin-right:10vw;padding-top:20px;width:80%}.fade1{animation:open-fade 1s forwards;opacity:0}.fade2{animation-delay:.5s}.fade3{animation-delay:1s}@keyframes open-fade{0%{opacity:0}to{opacity:1}}.openingImage{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;justify-content:center;margin:auto;max-width:100vw;padding:10px;width:fit-content}.openingImage h1{background-color:#55555580;border:5px solid #222;border-radius:50px;box-sizing:border-box;display:block;font-size:7vw;margin-left:auto;margin-right:auto;max-width:90vw;padding-bottom:10px;padding-left:3vw;padding-right:3vw;text-align:left;width:auto;word-break:break-word}.openingImage img{box-sizing:border-box;flex-shrink:0;height:6vw;margin-left:2vw;max-height:180px;max-width:25vw;min-height:60px;object-fit:cover;padding-right:6vw;transform:translateX(-6%);width:auto}.yellow-text{color:#ffab40;font-size:.86em;font-style:italic}.about{align-items:center;font-size:15px;font-weight:500;justify-content:center;margin:auto;max-width:50%;padding-bottom:10px;width:auto}.about p{background-color:#55555580;border:3px solid #222;border-radius:30px;padding:15px}@media (max-width:1000px){.openingImage{display:block;margin:0;padding:0;width:100%}.openingImage h1{display:block;margin-left:auto;margin-right:auto;padding:0;text-align:center}.openingImage img{margin-left:0;padding:0}.about{padding-top:2%}}@media (max-width:900px){.openingImage h1{display:block;font-size:9vw;margin-left:auto;margin-right:auto;padding-left:2vw;padding-right:2vw}.openingImage img{height:9vw;margin-left:1vw;max-height:120px;max-width:30vw;min-height:48px;padding-right:3vw;transform:translateX(-3%)}}@media (max-width:700px){.openingImage{align-items:center;flex-direction:column;gap:.7rem;padding:0}.openingImage img{height:18vw;margin-bottom:.2rem;margin-left:0;max-height:80px;max-width:40vw;min-height:40px;padding-right:0}.openingImage h1{display:block;font-size:10vw;max-width:67.5vw;padding:0 2vw;text-align:center}}@media (max-width:400px){.openingImage h1{display:block;padding:0 1vw;text-align:center}.openingImage img{height:22vw;max-height:50px;max-width:60vw;min-height:28px}}#title{border:4px solid #222;border-radius:40px;box-sizing:border-box;color:#fff;font-size:2.8rem;margin:0 auto 1.5rem;max-width:90vw;padding:1rem 2vw;text-align:center;width:60%}#title,.about-section{background-color:#55555580}.about-section{border:1.5px solid #555;border-radius:18px;box-shadow:0 2px 12px #00000012;margin:1.5rem auto;padding:1rem 2rem;width:70%}.about-section h2{color:#ffab40;font-size:1.4em;letter-spacing:.5px;margin-bottom:.5em}.about-section p{color:#fff;font-size:1.05em;margin:0;text-align:left;text-indent:3em}.resume-link{background:#ffab40;border:2px solid #222;border-radius:8px;box-shadow:0 2px 8px #00000014;color:#222;display:block;font-size:20px;font-weight:700;margin:auto;padding:.7em 1.6em;text-decoration:none;transition:.2s,color .2s,transform .15s;width:fit-content}.resume-link:hover{transform:translateY(-2px) scale(1.03)}.about-section a{color:#ffab40;font-weight:700;text-decoration:none}#project-table-container{background-color:#55555580;border:3px solid #222;border-radius:20px;box-sizing:border-box;color:#fff;margin:2rem auto;min-height:200px;padding:15px;width:90%}#project-search-bar{align-items:center;display:flex;flex-wrap:nowrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.project-search-input{flex:1 1 200px;min-width:80px}.project-search-input,.project-sort-select{border:1px solid #888;border-radius:8px;padding:.5em}.project-table-empty{color:#fff;font-size:1.1em;margin:2em 0;text-align:center}.pagination-controls{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1rem}.pagination-controls button{background-color:#ffab40;border:1.6px solid #222;border-radius:6px;color:#222;cursor:pointer;padding:.5em 1em;transition:transform .15s}.pagination-controls button:disabled{background-color:#ccc;border-color:#bbb;color:#888;cursor:not-allowed;transform:none}.pagination-controls button:hover:not(:disabled){transform:translateY(-3px) scale(1.03)}.popup-overlay{align-items:center;animation:fadeIn .2s;background:#0000008c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.popup-content{animation:popupIn .2s;background:#fff;border-radius:18px;box-shadow:0 4px 32px #0000002e;color:#222;max-width:90vw;min-width:320px;padding:2.5rem 2.5rem 2rem;position:relative;text-align:left}@keyframes popupIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.popup-close{background:none;border:none;color:#888;cursor:pointer;font-size:2rem;position:absolute;right:1.2rem;top:1rem;transition:color .15s}.popup-close:hover{color:#ffab40}.popup-content h1{font-size:2em;margin-bottom:.5em;margin-top:0}.popup-content h3,.popup-content h4{font-weight:400;margin:.2em 0}.popup-content p{color:#444;font-size:1.1em;margin-top:1em}@media (max-width:1100px){#project-table-container{max-width:99vw;min-width:0}.table-items-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.table-items-grid{grid-template-columns:1fr}#project-table-container{max-width:99vw;min-width:0;padding:5px}}.card{background:#fff;border-color:#222;border-radius:6px;border-width:1.6px;box-shadow:0 2px 12px #00000014;box-sizing:border-box;color:#222;cursor:pointer;display:flex;flex-direction:column;height:220px;justify-content:space-between;padding:1em;transition:transform .15s;width:220px}.card:hover{transform:translateY(-6px) scale(1.03)}.project-head{align-items:center;display:flex;font-size:1.1em;font-weight:700}.project-desc{color:#555;font-size:.85em}.project-footer{align-items:center;color:#888;display:flex;font-size:.75em;gap:.5em;justify-content:space-between;padding-top:.5em}#icon{background-color:#999;border-radius:50%;height:.6em;margin-right:.2em;margin-top:.1em;width:.6em}.project-language{align-items:center;display:flex}.project-time{margin-left:auto;margin-right:auto;max-width:4em}.table-items-grid{grid-gap:2rem;align-items:stretch;display:grid;gap:2rem;grid-template-columns:repeat(4,1fr);justify-items:center;margin:2rem 0;width:100%}@media (max-width:1500px){.table-items-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1100px){.table-items-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.table-items-grid{grid-template-columns:1fr}}h4{width:80%}#contact-form,h4{margin-left:auto;margin-right:auto}#contact-form{background-color:#55555580;border:3px solid #222;border-radius:30px;color:#fff;padding:15px;width:70%}form{margin-left:auto;margin-right:auto;text-align:left;width:80%}form .input{margin-top:20px}form .field,form .message{background:#fff;border-color:#222;border-radius:6px;border-width:1.6px;color:#222;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding-left:5px;padding-right:5px;width:100%}form .field{height:30px}form .message{height:150px;resize:none}form .buttonarea{align-items:center;display:flex;justify-content:center}form button{background-color:#ffab40;border-color:#222;border-radius:6px;border-width:1.6px;color:#222;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:30px;margin-left:auto;margin-right:auto;margin-top:10px;min-width:100px;transition:transform .15s;width:50%}form button:hover{transform:translateY(-3px) scale(1.03)}#platforms{margin-top:20px}#platforms ul{display:flex;flex-wrap:wrap;justify-content:center;margin-left:auto;margin-right:auto;width:90%}#platforms li{align-items:center;display:flex;height:50px;padding:15px 30px;text-decoration:none}#platforms a{transition:transform .15s}#platforms a:hover{transform:translateY(-6px) scale(1.06)}#platforms svg{color:#222;height:48px;width:48px}*{margin:0;padding:0}body{min-height:200px;min-width:100px}#err-background{animation:gradient-shift 6s ease-in-out infinite alternate;background-image:linear-gradient(75deg,#ffab40,#b5a76f);bottom:0;left:-50%;position:fixed;right:-50%;top:0;z-index:-1}@keyframes gradient-shift{0%{transform:translateX(-25%)}to{transform:translateX(25%)}}#err-content{color:#fff;padding-left:10vw;padding-right:10vw;padding-top:10vh;text-align:left}#err-content h1{font-size:65px}#err-content p{font-size:20px;padding-top:3vh}#err-content a{color:#0097a7;font-weight:700;text-decoration:none}
/*# sourceMappingURL=main.8859769f.css.map*/