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}.header-container{align-items:center;background-color:#1e1e1e;color:#fff;display:flex;font-family:RobotoMono,sans-serif;justify-content:space-between;padding:20px 40px;position:relative;z-index:1000}.logo{color:#e1e1e1;font-size:24px;font-weight:700;letter-spacing:2px;text-decoration:none}.logo:hover{color:#9b59b6}.nav{align-items:center;display:flex}@media(max-width:768px){.nav{background-color:#1e1e1e;flex-direction:column;height:100%;justify-content:center;position:fixed;right:-100%;top:0;transition:right .3s ease-in-out;width:100%;z-index:999}}.nav.open{right:0}.nav-link{align-items:center;color:#d3d3d3;display:flex;font-family:RobotoMono,sans-serif;font-size:18px;margin-left:40px;text-decoration:none;transition:color .3s}.nav-link:hover{color:#9b59b6}.nav-link svg{margin-right:8px}@media(max-width:768px){.nav-link{font-size:24px;margin-bottom:20px;margin-left:0}}.hamburger{cursor:pointer;display:none}@media(max-width:768px){.hamburger{display:block;position:absolute;right:20px;top:20px;z-index:1001}}.button{align-items:center;border:2px solid #9b59b6;border-radius:5px;color:#9b59b6;display:flex;font-family:RobotoMono,sans-serif;font-size:18px;margin-left:40px;padding:8px 16px;text-decoration:none;transition:all .3s}.button:hover{background-color:#9b59b6;color:#fff}.button svg{margin-right:8px}@media(max-width:768px){.button{font-size:24px;margin-bottom:20px;margin-left:0}}.close-icon{display:block;z-index:1002}.resume-container{align-items:center;color:#fff;display:flex;flex-direction:column;font-family:RobotoMono,sans-serif;margin:0 auto;padding:0;width:80%}.resume-container .resume-title{font-size:2.5em;margin:0;padding:0;text-align:left;width:100%}.resume-container .content-wrapper{display:flex;flex-direction:column;width:100%}@media(min-width:1025px){.resume-container .content-wrapper{flex-direction:row;justify-content:center}}.left-column{flex:1 1;margin-bottom:20px}@media(max-width:1024px){.left-column{margin-right:0;width:100%}}.right-column{align-items:center;display:flex;flex:1 1;justify-content:center;width:100%}.right-column iframe{border:none;height:115vh;width:100%}@media(max-width:1200px){.right-column iframe{height:60vh}}.section-container,.section-title{position:relative}.section-title{font-size:2.5em;margin-bottom:20px}.line-container{position:relative}.line-container:before{background:#d3d3d3;bottom:0;content:"";position:absolute;top:0;width:2px}.job-container{margin-bottom:20px;padding-left:40px;position:relative}.job-container:before{background:#d3d3d3;content:"";height:2px;left:0;position:absolute;top:1em;width:20px}.job-title{font-size:1.5em;margin:10px 0;position:relative}.company{color:#8a2be2}.job-dates{color:#d3d3d3;font-size:1em;margin:5px 0 10px}.bullet-point{font-size:1em;list-style-type:none;padding-left:20px;position:relative}.bullet-point:before{color:#8a2be2;content:">";left:0;position:absolute}.projects-container{align-items:center;color:#fff;display:flex;flex-direction:column;font-family:RobotoMono,sans-serif;margin:0 auto;overflow-x:hidden;padding:0 10px;width:80%}.projects-container .section-title{box-sizing:border-box;font-size:2.5em;margin-bottom:20px;text-align:left;width:100%}.projects-container .projects-controls{display:flex;flex-direction:column;gap:20px;margin-bottom:30px;width:100%}.projects-container .projects-controls .search-section{display:flex;flex-direction:column;gap:15px}@media(min-width:768px){.projects-container .projects-controls .search-section{align-items:center;flex-direction:row;justify-content:space-between}}.projects-container .projects-controls .search-section .search-bar{align-items:center;background:#2a2a2acc;border:2px solid #0000;border-radius:10px;display:flex;flex:1 1;padding:12px 16px;transition:border-color .3s ease}.projects-container .projects-controls .search-section .search-bar:focus-within{border-color:#9b59b6}.projects-container .projects-controls .search-section .search-bar input{background:none;border:none;color:#fff;flex:1 1;font-family:RobotoMono,sans-serif;font-size:1em;outline:none}.projects-container .projects-controls .search-section .search-bar input::placeholder{color:#d3d3d3}.projects-container .projects-controls .search-section .search-bar .search-icon{color:#9b59b6;font-size:1.2em;margin-right:10px}.projects-container .projects-controls .search-section .show-all-button{background:#9b59b633;border:2px solid #9b59b6;border-radius:10px;color:#9b59b6;cursor:pointer;font-family:RobotoMono,sans-serif;font-size:1em;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.projects-container .projects-controls .search-section .show-all-button.active,.projects-container .projects-controls .search-section .show-all-button:hover{background:#9b59b6;color:#fff}.projects-container .projects-controls .filter-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}@media(min-width:768px){.projects-container .projects-controls .filter-tags{justify-content:flex-start}}.projects-container .projects-controls .filter-tags .tag-filter{background:#2a2a2a99;border:2px solid #2a2a2a;border-radius:20px;color:#d3d3d3;cursor:pointer;font-family:RobotoMono,sans-serif;font-size:.9em;padding:8px 16px;transition:all .3s ease}.projects-container .projects-controls .filter-tags .tag-filter:hover{border-color:#9b59b6;color:#9b59b6}.projects-container .projects-controls .filter-tags .tag-filter.active{background:#9b59b6;border-color:#9b59b6;color:#fff}.projects-container .projects-display{width:100%}.projects-container .projects-display .no-results{color:#d3d3d3;font-size:1.2em;margin:40px 0;text-align:center}.projects-container .projects-display .big-projects-container{align-items:center;display:flex;flex-direction:column;margin-bottom:40px;width:100%}.projects-container .projects-display .small-projects-container{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;width:100%}@media(max-width:768px){.projects-container .projects-display .small-projects-container{justify-content:center}}.project-container{border-radius:15px;box-shadow:0 4px 15px #8a2be24d;margin-bottom:40px;min-height:250px;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:100%}.project-container:hover{box-shadow:0 8px 25px #8a2be280;transform:translateY(-5px)}.project-container img,.project-container video{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%;z-index:1}.project-container .project-content{background:#1e1e1ed9;display:flex;flex-direction:column;height:100%;padding:20px;position:relative;z-index:2}.project-container .project-content .project-header{margin-bottom:12px;text-align:center}.project-container .project-content .project-header h3{color:#fff;font-size:2em;margin-bottom:6px}.project-container .project-content .project-header .project-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:0}.project-container .project-content .project-header .project-tags .tag{background:#9b59b633;border-radius:12px;color:#d4a1ff;font-size:.8em;font-weight:500;padding:4px 10px}.project-container .project-content .project-description{color:#d3d3d3;font-size:1.2em;line-height:1.4;margin-bottom:12px;text-align:center}.project-container .project-content .project-technologies{margin-bottom:12px;text-align:center}.project-container .project-content .project-technologies .tech-uses{color:#9b59b6;font-size:.9em;font-weight:600;margin-right:8px}.project-container .project-content .project-technologies .tech-items{display:inline-flex;flex-wrap:wrap;gap:6px}.project-container .project-content .project-technologies .tech-items .tech-item{background:#2a2a2acc;border:1px solid #9b59b64d;border-radius:8px;color:#fff;font-size:.85em;padding:3px 8px}.project-container .project-content .project-links{display:flex;gap:20px;justify-content:center;margin-top:auto}.project-container .project-content .project-links a{align-items:center;color:#9b59b6;display:flex;font-size:1.2em;gap:8px;text-decoration:none;text-shadow:1px 1px 2px #000000b3;transition:color .3s ease}.project-container .project-content .project-links a:hover{color:#d4a1ff}@media(max-width:768px){.project-container{margin-bottom:20px;padding:15px;width:100%}.project-container .project-content .project-header h3{font-size:1.5em}.project-container .project-content .project-description{font-size:1em}.project-container .project-content .project-technologies{text-align:center}}.small-project{border-radius:15px;box-shadow:0 4px 15px #8a2be24d;margin-bottom:20px;min-height:300px;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:45%}.small-project:hover{box-shadow:0 8px 25px #8a2be280;transform:translateY(-5px)}.small-project img,.small-project video{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%;z-index:1}.small-project .project-content{background:#1e1e1ed9;display:flex;flex-direction:column;height:100%;padding:15px;position:relative;text-align:center;z-index:2}.small-project .project-content .project-header{margin-bottom:2px;text-align:center}.small-project .project-content .project-header h3{color:#fff;font-size:1.4em;margin-bottom:2px}.small-project .project-content .project-header .project-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-bottom:2px}.small-project .project-content .project-header .project-tags .tag{background:#9b59b633;border-radius:10px;color:#d4a1ff;font-size:.75em;font-weight:500;padding:3px 8px}.small-project .project-content .project-description{color:#d3d3d3;font-size:.95em;line-height:1.4;margin-bottom:2px;text-align:center}.small-project .project-content .project-technologies{margin-bottom:2px;margin-top:5px;text-align:center}.small-project .project-content .project-technologies .tech-uses{color:#9b59b6;display:inline;font-size:.8em;font-weight:600;margin-right:6px}.small-project .project-content .project-technologies .tech-items{display:inline-flex;flex-wrap:wrap;gap:4px;justify-content:center}.small-project .project-content .project-technologies .tech-items .tech-item{background:#2a2a2acc;border:1px solid #9b59b64d;border-radius:6px;color:#fff;font-size:.75em;padding:2px 6px}.small-project .project-content .project-links{display:flex;gap:15px;justify-content:center;margin-top:15px}.small-project .project-content .project-links a{align-items:center;color:#9b59b6;display:flex;font-size:1em;gap:6px;text-decoration:none;text-shadow:1px 1px 2px #000000b3;transition:color .3s ease}.small-project .project-content .project-links a:hover{color:#d4a1ff}@media(max-width:1250px){.small-project{width:45%}}@media(max-width:968px){.small-project{width:43%}}@media(max-width:768px){.small-project{margin:0 auto 16px;min-height:260px;width:100%}.small-project .project-content{padding:12px}.small-project .project-content .project-header h3{font-size:1.2em}.small-project .project-content .project-description{font-size:.9em;line-height:1.3}.small-project .project-content .project-technologies .tech-uses{font-size:.75em}.small-project .project-content .project-technologies .tech-items .tech-item{font-size:.7em;padding:1px 4px}.small-project .project-content .project-links a{font-size:.9em;gap:4px}}@media(max-width:480px){.small-project{min-height:240px}.small-project .project-content{padding:10px}.small-project .project-content .project-header h3{font-size:1.1em}.small-project .project-content .project-description{font-size:.85em}.small-project .project-content .project-technologies .tech-uses{font-size:.7em}.small-project .project-content .project-technologies .tech-items .tech-item{font-size:.65em}.small-project .project-content .project-links{gap:10px}.small-project .project-content .project-links a{font-size:.85em}}.coming-soon-project{background:#2a2a2a;border:2px dashed #9b59b6;border-radius:15px;box-shadow:0 4px 15px #8a2be233;display:flex;flex-direction:column;margin-bottom:40px;min-height:220px;transition:transform .3s ease,box-shadow .3s ease;width:45%}.coming-soon-project:hover{background:#9b59b61a;box-shadow:0 6px 20px #8a2be266;transform:translateY(-3px)}.coming-soon-project .project-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:20px;text-align:center}.coming-soon-project .project-content h3{color:#9b59b6;font-size:1.4em;margin-bottom:15px}.coming-soon-project .project-content p{color:#d3d3d3;font-size:.95em;line-height:1.4;margin-bottom:20px}.coming-soon-project .project-content .project-links{display:flex;gap:20px;justify-content:center}.coming-soon-project .project-content .project-links a{align-items:center;color:#9b59b6;display:flex;font-size:1em;gap:8px;text-decoration:none;transition:color .3s ease}.coming-soon-project .project-content .project-links a:hover{color:#d4a1ff}@media(max-width:768px){.coming-soon-project{margin:0 auto 20px;width:100%}}.about-container{margin:0 auto;width:80%}.about-container,.about-container h2{color:#fff;font-family:RobotoMono,sans-serif}.about-container h2{font-size:2em;margin:0;padding-top:10px;text-align:left}.about-container .about-intro{align-items:flex-start;display:flex;flex-direction:row;margin-bottom:40px}@media(min-width:769px){.about-container .about-intro{align-items:center}}@media(max-width:768px){.about-container .about-intro{flex-direction:column;text-align:center}}.about-container .about-intro .about-text{flex:1 1;padding-right:0;text-align:left}@media(max-width:768px){.about-container .about-intro .about-text{padding-right:0;text-align:center}}.about-container .about-intro .about-text p{font-size:1.2em;margin-bottom:20px}.about-container .about-intro .about-text .purple-text{color:#9b30ff}.about-container .about-intro .about-text a{color:#9b30ff;text-decoration:underline}.about-container .about-intro .about-text a:visited{color:#9b30ff}.about-container .about-intro .about-text a:hover{color:#8a2be2}.about-container .about-intro .about-photo{align-items:center;display:flex;flex:0 0 30%;justify-content:flex-end;padding-left:5%}.about-container .about-intro .about-photo img{border:3px solid #8a2be2;border-radius:10px;height:auto;width:100%}@media(max-width:768px){.about-container .about-intro .about-photo{align-items:center;justify-content:center;margin-left:auto;margin-right:auto;margin-top:20px;padding-left:0;width:70%}}.about-container .about-contact,.about-container .about-technologies{margin-bottom:40px}.about-container .about-contact form{display:flex;flex-direction:column}.about-container .about-contact form label{font-family:RobotoMono,sans-serif;margin-bottom:10px}.about-container .about-contact form input,.about-container .about-contact form textarea{border:1px solid #ccc;border-radius:5px;font-family:RobotoMono,sans-serif;font-size:1em;margin-bottom:20px;padding:10px}.about-container .about-contact form button{background-color:#8a2be2;border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:RobotoMono,sans-serif;font-size:1.2em;padding:10px 20px;transition:background-color .3s}.about-container .about-contact form button:hover{background-color:#7a23d1}.about-technologies-container{color:#fff;font-family:RobotoMono,sans-serif;margin:0 auto;padding:20px 0;width:70%}.about-technologies-container .about-technologies h2{color:#fff;font-family:RobotoMono,sans-serif;font-size:2em;margin-bottom:20px;text-align:center}.about-technologies-container .about-technologies .technology-categories{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media(max-width:500px){.about-technologies-container .about-technologies .technology-categories{grid-template-columns:1fr}}.about-technologies-container .about-technologies .technology-categories .technology-category{background-color:#2a2a2a;border-radius:10px;color:#fff;padding:20px}.about-technologies-container .about-technologies .technology-categories .technology-category h3{color:#fff;font-size:1.5em;margin-bottom:30px;text-align:center}.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}@media(max-width:500px){.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items{grid-template-columns:repeat(2,1fr)!important}}.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items .technology-item{align-items:center;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:1.2em}.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items .technology-item i{color:#fff;font-size:3em;margin-bottom:10px}.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items .technology-item p{color:#fff;font-family:Inter,sans-serif;margin:0;text-align:center}.about-technologies-container .about-technologies .technology-categories .technology-category .technology-items .technology-item:hover{color:#8a2be2}.footer-container{align-items:center;background-color:#1e1e1e;color:#fff;display:grid;font-family:RobotoMono,sans-serif;grid-template-columns:repeat(3,1fr);padding:20px 40px;text-align:center}@media(max-width:768px){.footer-container{display:flex;flex-direction:column;gap:10px;text-align:center}}.footer-container .footer-content{align-items:center;display:flex;flex-direction:column}@media(max-width:768px){.footer-container .footer-content{align-items:center;text-align:center}}.footer-container .purple-heart{color:#8a2be2}.footer-container .footer-link{color:#8a2be2;margin-left:5px;text-decoration:underline}.footer-container .social-icons{display:flex;gap:20px;justify-content:flex-end}@media(max-width:768px){.footer-container .social-icons{justify-content:center}}.footer-container .social-icons a{color:#d3d3d3;font-size:1.5em;transition:color .3s}.footer-container .social-icons a:hover{color:#8a2be2}.footer-container p{margin:0}.footer-container .left-align{text-align:left}@media(max-width:768px){.footer-container .left-align{padding-bottom:5px;text-align:center}}.footer-container .center-align{text-align:center}.footer-container .right-align{text-align:right}@media(max-width:768px){.footer-container .right-align{padding-top:5px;text-align:center}}@font-face{font-family:RobotoMono;font-weight:500;src:url(/static/media/RobotoMono-Medium.275e41b58d96111c1152.ttf) format("truetype")}@font-face{font-family:RobotoMono;font-weight:400;src:url(/static/media/RobotoMono-Regular.94ffabb10cbc81ee42ba.ttf) format("truetype")}@font-face{font-family:Inter;font-weight:400;src:url(/static/media/Inter-Regular.9ca9ba81e9dcaa12b3a1.ttf) format("truetype")}.contribution-map-container{color:#fff;font-family:RobotoMono,sans-serif;margin:0 auto;padding:20px 0;width:80%}.contribution-map-container .contribution-map{align-items:center;color:#fff;display:flex;flex-direction:column;margin-top:40px}.contribution-map-container .contribution-map h2{align-self:flex-start;color:#fff;font-family:RobotoMono,sans-serif;font-size:2em;margin-bottom:20px;text-align:left;width:100%}.contribution-map-container .contribution-map .react-github-calendar{display:flex;justify-content:center;overflow-x:auto;width:100%}.contribution-map-container .contribution-map .calendar-wrapper{display:flex;justify-content:center;width:100%}
/*# sourceMappingURL=main.6568d9ba.css.map*/