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{overflow-x:hidden;overflow-y:scroll;position:relative;text-align:center;width:100%}.route-container{height:100%;width:100%}.route-container>*{left:0;position:absolute;top:0;width:100%}.main-content-area.menu-open .home-container{display:none;z-index:-2}.App-logo{height:40vmin;pointer-events:none}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity 2.5s ease-in-out}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity 2.5s ease-in-out}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.forceGraph{position:absolute;top:0}.App-header{align-items:flex-start;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);height:100vh;justify-content:flex-start;overflow-x:hidden;overflow-y:hidden}*{-webkit-tap-highlight-color:transparent}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animated-vis{max-height:100%;max-width:100%}.circle-hover{transition:fill 1s}.stats{position:absolute}.navbar{align-items:center;display:flex;height:7rem;justify-content:space-between;margin:1rem auto 0;position:sticky;top:0;width:100%;z-index:7}.menuItem{font-size:calc(5px + 2vmin);padding-bottom:calc(20px + 2vw);padding-left:calc(20px + 2vw);padding-right:calc(20px + 2vw);z-index:10}.menuItem a:hover{cursor:pointer}.logo-container{align-items:center;display:flex;font-size:calc(20px + 2vmin);padding-left:1rem}.logo{height:50px}.desktopMenu{display:flex;margin-top:80px}.menuButton{background-color:#0e53df;color:#522222;padding:.5rem 1rem}.menuButton,.mobileMenuButton{border:none;cursor:pointer;display:none}.mobileMenuButton{background-color:#fff0;color:#ca1313;padding:.5rem 2rem}@media (max-width:800px){.desktopMenu{display:flex;flex-direction:column;height:100vh}.menuButton{display:none}.mobileMenuButton{display:block;font-size:3rem;height:100px;width:100px}.mobileMenuButton .btn-line{background:#000;height:3px;margin:0 0 5px;transition:all .5s ease-out;width:28px}.line1{transform:rotate(45deg) translate(5px,5px)}.line2{opacity:0}.line3{transform:rotate(-45deg) translate(5px,-5px)}.menu{align-items:center;flex-direction:column;left:0;max-height:0;overflow:auto;position:absolute;top:9rem;transition:max-height .3s ease-out}.menu,.menu.open{display:flex;width:100%}.menu.open{max-height:100vh}.menu div{padding:1rem 0;text-align:center;width:100%}}circle.outer.connected-circle{fill:#5a82b4e6}circle.outer.unconnected-circle{pointer-events:none}.home-container{align-items:center;display:flex;height:100vh;justify-content:center;position:absolute;width:100%;z-index:5}.inner-container-home{flex-direction:column;height:500px;max-width:1000px;width:100%}.visualization-selector{display:flex;flex-direction:row;gap:10px}.vis-square{background-color:#000;border:1px solid #000;cursor:pointer;height:15px;transition:background-color .3s;width:15px}.vis-square.active{background-color:red}.visualization-container{align-items:center;display:flex;justify-content:center}#my_dataviz svg{width:80%;z-index:5}@media (max-width:768px){.home-container{align-items:center;display:flex;flex-direction:column;justify-content:center;position:fixed}.visualization-selector{display:flex;flex-direction:row;gap:10px}}.p5-background-container{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:-1}.sleek-button{align-items:center;background-color:#f0f0f0;border-radius:6px;box-shadow:0 2px 5px #0000001a;color:#333;display:flex;font-size:1rem;justify-content:center;padding:10px 15px;transition:background-color .2s ease-in-out,box-shadow .2s ease-in-out,transform .1s ease-in-out}.sleek-button:hover{background-color:#e0e0e0;box-shadow:0 4px 8px #00000026}.sleek-button:active{box-shadow:0 1px 3px #0000001a;transform:scale(.98)}.info-text{color:#555;font-family:Arial,sans-serif;font-size:.6rem;margin-left:12px;text-shadow:0 1px 1px #ffffffb3}.modal-overlay{align-items:center;animation:fadeIn .3s forwards;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:fixed;right:0;top:0;z-index:1050}.modal-content{animation:scaleUp .3s forwards;background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;color:#333;max-width:450px;padding:25px 30px;text-align:center;transform:scale(.9);width:90%}.modal-content p{font-size:1rem;line-height:1.6;margin-bottom:20px;margin-top:0}.modal-close-button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 25px;transition:background-color .2s ease-in-out}.modal-close-button:hover{background-color:#0056b3}@keyframes fadeIn{to{opacity:1}}@keyframes scaleUp{to{transform:scale(1)}}.portfolio-container{align-items:center;align-items:flex-start;box-sizing:border-box;display:flex;flex-direction:row;justify-content:center;margin:0 auto;min-height:100vh;padding:25rem 5rem 5rem}.portfolio-sub-menu{background-color:#fff;display:flex;flex-direction:column;padding:50px;position:sticky;text-align:left;top:50px;width:300px;z-index:10}.portfolio-sub-menu h3{color:#333;font-size:2.8rem;font-weight:900;margin-bottom:12px;margin-top:1rem;text-align:left;text-transform:uppercase}.portfolio-nav{color:#2d3386;display:flex;flex-direction:column;font-family:Fira Code,monospace;font-size:1.2rem;font-weight:500;justify-content:space-between;letter-spacing:.5px;list-style:none;margin-bottom:.5rem;padding:0;position:relative;z-index:10}.portfolio-nav a{border-left:2px solid #0000;color:#64748b;display:block;font-weight:500;padding:.2rem 0 .2rem .5rem;text-decoration:none;transition:all .3s ease}.portfolio-nav a:hover{border-left-color:#a855f7;color:#2d3386}.portfolio-inner{align-items:center;display:flex;flex-direction:column;padding:1rem;width:1200px}.portfolio-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,250px));width:100%}.portfolio-item{align-items:center;aspect-ratio:1/1;background:#fff;box-shadow:0 2px 6px #0000001a;break-inside:avoid;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:0;page-break-inside:avoid;position:relative;transition:box-shadow .3s ease,transform .3s ease}.portfolio-item a{color:inherit;display:block;height:100%;text-decoration:none;width:100%}.portfolio-item img{display:block;height:100%;object-fit:contain;transition:transform .3s ease;width:100%}.portfolio-item:hover img{transform:scale(.91)}.portfolio-item:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.project-title-overlay{align-items:center;background:#00000080;box-sizing:border-box;color:#fff;display:flex;height:100%;justify-content:center;left:0;opacity:0;padding:10px;position:absolute;text-align:center;top:0;transition:opacity .3s ease;width:100%}.project-title-overlay h4{font-size:1em;margin:0;width:100%}.portfolio-item:hover .project-title-overlay{opacity:1}.portfolio-category{align-items:left;display:flex;flex-direction:column;margin:0 auto;max-width:1200px;padding-top:3.5rem;text-align:left;width:100%}.category-main-title{color:#333;font-size:1.8rem;font-weight:900;margin-bottom:12px;text-align:left;text-transform:uppercase}.category-summary{color:#555;font-size:1rem;line-height:1.6;margin-bottom:30px;max-width:700px;text-align:left}@media (max-width:1024px){.portfolio-nav{font-size:.8rem}}@media (max-width:768px){.portfolio-sub-menu{padding:10px;position:sticky;top:0;width:100%}.portfolio-nav{display:flex;flex-direction:row;font-size:.7rem}.portfolio-container{align-items:center;flex-direction:column;padding:15rem 5rem 5rem}.portfolio-inner{width:100%}.portfolio-grid{gap:15px;grid-template-columns:repeat(2,1fr);padding-bottom:200px}.category-main-title{font-size:1.6rem}.category-summary{font-size:.95rem}}@media (max-width:480px){.portfolio-grid{gap:10px;grid-template-columns:repeat(2,1fr);padding-bottom:200px}.portfolio-nav{display:flex;flex-direction:row;font-size:.6rem;margin-right:10px}.portfolio-container{align-items:center;padding:10rem 15px 15px}.category-main-title{font-size:1.4rem}.category-summary{font-size:.9rem}.interactive-title-container{font-size:1.5rem;padding-bottom:100px;padding-left:15px}}.about-page{min-height:100vh;padding-top:20rem}.about-content{align-items:flex-start;display:grid;flex-direction:row;justify-content:center;padding:5rem;position:relative}.about-sidebar,.sidebar-wrapper{position:sticky;top:0}.about-sidebar{align-items:flex-start;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background-color:#fff;border-radius:25px;display:flex;flex-direction:column;padding:50px;text-align:left;width:300px;z-index:2}.about-title{color:#333;font-size:2.8rem;font-weight:900;margin-bottom:12px;margin-top:1rem;text-align:left;text-transform:uppercase}.container{max-width:1200px;padding:1rem;position:relative;z-index:1}.hero{grid-gap:4rem;display:grid;gap:4rem;grid-template-columns:1fr auto;margin-bottom:.5rem;padding-right:5rem;padding-top:6rem}.hero-content{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:24px;overflow:hidden;padding:1rem;position:relative;text-align:left}.hero h1{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.hero .subtitle{color:#2d3386;font-family:Fira Code,monospace;font-size:1rem;font-weight:500;letter-spacing:.5px;margin-bottom:2rem;position:relative}.hero .subtitle:after{background:linear-gradient(90deg,#a855f7,#ec4899);border-radius:1px;bottom:-8px;content:"";height:2px;left:0;position:absolute;width:60px}.hero .description{color:#e2e8f0;font-size:1.2rem;font-style:italic;font-weight:400;line-height:1.6;margin-bottom:1.5rem}.hero .bio{color:#cbd5e1;font-size:1.25rem;font-weight:500;line-height:1.3;text-align:left}.profile-section{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.profile-card{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid #ffffff1a;border-radius:24px;overflow:hidden;padding:2rem;position:relative;width:300px}.profile-card:before{animation:gradientShift 6s ease infinite;background-size:400% 400%;border-radius:24px;bottom:-2px;content:"";left:-2px;opacity:.7;position:absolute;right:-2px;top:-2px;z-index:-1}.profile-image{align-items:center;background:linear-gradient(135deg,#fff,#fff3);border:1px solid #fff3;border-radius:16px;display:flex;height:280px;justify-content:center;overflow:hidden;position:relative;width:100%}.profile-image:after{color:#ffffff1a;content:"PORTFOLIO";font-size:2rem;font-weight:800;letter-spacing:4px;position:absolute;transform:rotate(-45deg)}.stats-grid{display:flex;justify-content:space-around;width:100%}.stat-item{background:#0f0f19cc;border:1px solid #ffffff1a;border-radius:12px;padding:1rem;text-align:center}.stat-number{color:#2d3386;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.stat-label{color:#94a3b8;font-size:.8rem;letter-spacing:1px;text-transform:uppercase}.about-section{align-items:start;display:flex;gap:4rem;grid-template-columns:1fr 2fr;padding-bottom:5rem}.about-sidebar ul{width:100%}.side-element{position:sticky;top:10rem}.about-nav{color:#2d3386;font-family:Fira Code,monospace;font-size:1.2rem;font-weight:500;justify-content:space-between;letter-spacing:.5px;list-style:none;margin-bottom:.5rem;padding:0;position:relative}.about-nav a{border-left:2px solid #0000;color:#64748b;display:block;font-weight:500;padding:.2rem 0 .2rem .5rem;text-decoration:none;transition:all .3s ease}.about-nav a:hover{border-left-color:#a855f7;color:#2d3386}.about-content2{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f0f19cc;border-radius:24px;overflow:hidden;padding:0 10rem 0 0;position:relative;text-align:left}.about-content:before{border-radius:50%;content:"";height:100px;position:absolute;right:0;top:0;width:100px}.content-section{font-weight:400;margin-bottom:3rem}.content-section:last-child{margin-bottom:0}.section-title{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1rem;padding-left:1rem;position:relative;text-align:left}.section-title:before{background:linear-gradient(180deg,#a855f7,#ec4899);border-radius:2px;content:"";height:100%;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.content-section p{color:#cbd5e1;font-size:1rem;line-height:1.8;margin-bottom:1rem;padding:1rem}.skills-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:1.5rem}.skill-tag{background:#0e1a271a;border:1px solid #a855f74d;border-radius:8px;color:#2d3386;font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-align:center;transition:all .3s ease}.skill-tag:hover{background:#a855f733;transform:translateY(-2px)}.floating-element{animation:float 6s ease-in-out infinite;border-radius:50%;height:100px;position:absolute;width:100px;z-index:-1}.floating-element:first-child{animation-delay:0s;right:10%;top:10%}.floating-element:nth-child(2){animation-delay:2s;bottom:20%;left:10%}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(10deg)}}@media (prefers-reduced-motion:reduce){.floating-element,.profile-card:before,body:before{animation:none}}@media (max-width:1024px){.about-nav{display:flex;flex-direction:column;font-size:.8rem}.about-content2,.hero{padding-right:0}.hero{gap:3rem;grid-template-columns:1fr;text-align:center}.about-page{padding-top:20rem}.about-section{gap:3rem;grid-template-columns:1fr}.about-title{font-size:2rem;text-align:center}}@media (max-width:768px){.hero h1{font-size:2rem}.hero-content{padding:1rem}.about-content{flex-direction:row;padding-top:5rem}.about-content2{padding:0}.profile-card{max-width:350px;width:100%}.stats-grid{grid-template-columns:1fr 1fr}.about-title{font-size:2.8rem}.about-sidebar{padding-left:0;padding-right:0;padding-top:10px;position:sticky;top:0;width:100%}.container{padding:0}.about-page{padding-top:10rem}.about-nav{flex-direction:row;font-size:.6rem}.about-content{flex-direction:column;padding:5rem}}@media (max-width:480px){.hero{padding-top:3rem}.about-sidebar{padding:0;position:sticky;top:0;width:100%}.about-page{padding-top:10rem}.about-nav{display:flex;flex-direction:row;font-size:.6rem;margin-right:10px}.about-content{padding-left:15px;padding-right:15px;padding-top:10px}}body,html{height:100%;margin:0}.footer{background-color:#333;bottom:0;color:#fff;padding:20px 0;position:relative;text-align:center;width:100%;z-index:5}.footer-content{align-items:center;display:flex;font-size:.5em;justify-content:center;margin:0 auto}.footer-links{display:flex;gap:15px;list-style:none;padding:0 0 0 2rem}.footer-links a{color:#fff;text-decoration:none}.footer-links a:hover{text-decoration:underline}body{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1}.resume-container{align-items:flex-start;display:flex;flex-direction:row;font-size:calc(5px + 1vmin);justify-content:space-between;margin:50px auto;max-width:800px;padding:100px 20px 20px}.resume-details{flex:2 1}.contact-container{align-items:center;display:flex;flex-direction:row;font-size:calc(5px + 1vmin);height:100%;justify-content:space-between}.contact-details{flex:2 1}.project-page-container{align-items:center;display:flex;flex-direction:column;margin:0 auto;padding-top:20vh;text-align:left}.project-page-image{border-radius:8px;height:auto;margin-bottom:20px;max-height:30rem;width:100%}.project-details{display:flex;gap:5vw;grid-template-columns:1fr;max-width:1600px;padding-bottom:25vh}.project-detail-item{background-color:#fff0;border:1px solid #fff0;border-radius:8px;padding:15px;width:100%}.project-detail-item h3{font-size:1.2rem;text-align:center}.project-detail-item p{font-size:.8rem;text-align:center}.title{align-items:center;display:flex;font-size:2rem;font-weight:500;justify-content:space-between;margin-bottom:10px;width:100%}.project-close-button{color:#333;font-size:1em;font-weight:700;line-height:1;padding:5px 10px;text-decoration:none}.project-close-button:hover{color:#000}.description{word-wrap:break-word;font-size:calc(10px + 1vmin);font-weight:400;margin:0 auto;max-width:1000px;padding:40px;text-indent:20px;white-space:pre-line}.link img{height:34px;width:34px}.link{font-size:calc(3px + 2vmin);font-weight:300}.link a{text-decoration:none}.project-page-container-innerflex{align-items:center;display:flex;flex-direction:column;padding-top:100px;width:100%}.title-link-wrapper{align-items:flex-start;display:flex;flex-direction:column;gap:10px;justify-content:flex-start;width:100%}.project-page-container-innerflex2{max-width:1200px;padding:20px 20px 100px}.project-page-container-innerflex3{align-items:flex-start;display:flex;flex-direction:column;max-width:1000px;padding:100px 1rem}.video-class{height:auto;max-width:1640px}@media (max-width:768px){.project-details{display:flex;flex-direction:column;gap:5vw;grid-template-columns:1fr;max-width:1600px;padding-bottom:25vh}.project-detail-item{width:fit-content}.project-detail-item h3{font-size:1.2rem;text-align:center}.project-detail-item p{font-size:.8rem;text-align:center}.description{padding-bottom:50px;padding-left:10%;padding-right:10%}}.subtitle{font-size:1.2rem;font-style:italic}.tech-section h4{font-size:1.1em;margin-bottom:10px}.tech-grid-container{display:flex;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.tech-grid-item{font-size:.7rem;font-weight:500;text-align:center;text-indent:0}.scrollToTopButton{background-color:#555;border:none;border-radius:5px;bottom:30px;color:#fff;cursor:pointer;font-size:18px;height:40px;opacity:.8;padding:10px 15px;position:fixed;right:30px;transition:opacity .2s ease-in-out;width:40px;z-index:100}.scrollToTopButton:hover{opacity:1}.controls-wrapper{align-items:center;background:#00000080;background:#000000a6;border-radius:5px;border-radius:8px;bottom:25px;display:flex;overflow:hidden;padding:10px;padding:5px;position:fixed;transition:width .35s ease-in-out,background-color .35s ease-in-out;z-index:10}.expand-toggle-button{align-self:stretch;background:#333;border:1px solid #555;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:18px;height:35px;line-height:1;margin-right:0;padding:6px 10px;transition:background-color .2s ease,margin-right .35s ease-in-out;width:35px}.expand-toggle-button:hover{background:#4e4e4e}.controls-wrapper.expanded .expand-toggle-button{margin-right:10px}.actual-controls-content{align-items:center;display:flex;opacity:0;overflow:hidden;transform:translateX(-20px);transition:opacity .3s ease-in-out .1s,visibility 0s linear .4s,width .35s ease-in-out,transform .35s ease-in-out;visibility:hidden;white-space:nowrap;width:0}.controls-wrapper.expanded .actual-controls-content{opacity:1;transform:translateX(0);transition-delay:0s,0s,0s,0s;visibility:visible;width:auto}.sleek-button{background:#2c2c2c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.35em;margin-right:10px;padding:8px 12px;white-space:nowrap}.sleek-button:hover{background:#404040}.info-text{color:#fff;font-size:.25em;white-space:nowrap}.copyright-text{display:inline-block;font-size:.9em;margin-top:2px;opacity:.75}
/*# sourceMappingURL=main.20266843.css.map*/