body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1.1rem!important}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace!important;font-size:1rem!important}.main-container{background-color:#0d1116;position:relative}a{text-decoration:none}a:hover{color:#5000ca;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}p,a,h1,h2,h3,h4,h5,label,button,figcaption{color:#fff;font-family:Lato,sans-serif}.header-bar{background-color:#0000;justify-content:space-between}.header-bar button{text-transform:initial;padding:6px 10px;font-family:Lato,sans-serif;font-size:1.1rem}.header-bar svg{cursor:pointer}.header-bar-responsive.dark-theme span,.header-bar-responsive.dark-theme p{color:#fff;font-family:Lato,sans-serif}.header-bar-responsive.light-theme span,.header-bar-responsive.light-theme p{color:#0d1116;font-family:Lato,sans-serif}.container{flex-direction:column;justify-content:center;align-items:center;width:100%;margin-top:64px;display:flex}.header-image{width:100%;height:450px}.header-image img{object-fit:cover;width:100%;height:450px}.mobile-menu-top{justify-content:center;align-items:center;gap:5px;margin:0;padding:16px 0;font-weight:700;display:flex}.items-container{text-align:left;flex-direction:column;justify-content:center;padding:5% 10%;display:flex}.light-mode{background-color:#f8f9fa}.light-mode .header-bar{background-color:#0000}.light-mode p,.light-mode a,.light-mode h1,.light-mode h2,.light-mode h3,.light-mode h4,.light-mode h5,.light-mode label,.light-mode button,.light-mode figcaption{color:#0d1116}.light-mode a:hover{color:#5000ca;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.light-mode .header-bar svg{color:#0d1116}.light-mode .about-section{background-image:url(/images/bg-light.png)}.light-mode .skills-container svg{color:#0d1116}.light-mode .chip{background-color:#00000014;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.light-mode .vertical-timeline:before{background-color:#00000014}.light-mode .vertical-timeline--animate .vertical-timeline-element-content.bounce-in{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.light-mode .vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{color:gray}.light-mode .vertical-timeline-element-content-arrow{border-right:7px solid #00000014!important}.light-mode .flex-chips .chip-title{color:#0d1116}@media screen and (width<=768px){.items-container{padding:5%}}.pp-page{flex-direction:column;min-height:100vh;display:flex}.pp-page .pp-topbar{z-index:100;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.pp-page .pp-content{box-sizing:border-box;flex:1;width:100%;max-width:760px;margin:0 auto;padding:48px 24px 80px}.pp-page .pp-hero{border-bottom:1px solid #ffffff1a;margin-bottom:48px;padding-bottom:32px}.pp-page .pp-hero .pp-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#5000ca;margin-bottom:10px;font-size:.7rem;font-weight:700;display:inline-block}.pp-page .pp-hero .pp-title{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:800;line-height:1.1}.pp-page .pp-hero .pp-subtitle{opacity:.55;margin:0;font-size:.875rem}.pp-page .pp-body{flex-direction:column;display:flex}.pp-page .pp-section{border-bottom:1px solid #ffffff12;padding:28px 0}.pp-page .pp-section h2{letter-spacing:-.01em;margin:0 0 14px;font-size:1.05rem;font-weight:700}.pp-page .pp-section p{opacity:.85;margin:0 0 12px;font-size:.925rem;line-height:1.75}.pp-page .pp-section p:last-child{margin-bottom:0}.pp-page .pp-section ul{flex-direction:column;gap:6px;margin:10px 0 12px;padding-left:1.4em;display:flex}.pp-page .pp-section ul li{opacity:.85;padding-left:4px;font-size:.925rem;line-height:1.7;list-style:outside}.pp-page .pp-section a{color:#7c3aed;text-underline-offset:3px;-webkit-text-decoration:underline #7c3aed59;text-decoration:underline #7c3aed59;transition:color .15s,text-decoration-color .15s}.pp-page .pp-section a:hover{color:#a78bfa;text-decoration-color:#a78bfa99}.pp-page .pp-footer{padding:32px 0 0}.pp-page .pp-footer .pp-divider{border:none;border-top:1px solid #ffffff1a;margin:0 0 24px}.pp-page .pp-footer p{opacity:.45;margin:0;font-size:.8rem}.pp-page .pp-footer a{color:inherit;text-underline-offset:3px;text-decoration:underline}.pp-page .pp-actions{justify-content:center;padding:0 24px 40px;display:flex}.pp-page .pp-back-btn{cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;padding:8px 18px;font-family:Lato,sans-serif;font-size:.875rem;transition:border-color .15s,background .15s}.pp-page .pp-back-btn:hover{color:#fff;background:#7c3aed14;border-color:#7c3aed}.pp-page .pp-email-mask{color:#a78bfa;cursor:pointer;vertical-align:middle;background:#7c3aed1f;border:1px dashed #7c3aed73;border-radius:5px;align-items:center;gap:4px;padding:2px 10px;font-family:Lato,sans-serif;font-size:.875rem;transition:background .15s,border-color .15s;display:inline-flex}.pp-page .pp-email-mask:hover{color:#a78bfa;background:#7c3aed38;border-color:#7c3aedbf}.pp-page .pp-email-link{color:#a78bfa;text-underline-offset:3px;vertical-align:middle;font-size:.875rem;-webkit-text-decoration:underline #a78bfa66;text-decoration:underline #a78bfa66}.pp-page .pp-email-link:hover{color:#c4b5fd}.pp-page.light-mode .pp-topbar{border-bottom-color:#00000014}.pp-page.light-mode .pp-hero{border-bottom-color:#0000001a}.pp-page.light-mode .pp-section{border-bottom-color:#00000012}.pp-page.light-mode .pp-section p,.pp-page.light-mode .pp-section li{opacity:1}.pp-page.light-mode .pp-footer .pp-divider{border-top-color:#0000001a}.pp-page.light-mode .pp-footer p{opacity:.5}.pp-page.light-mode .pp-back-btn{border-color:#0003}.pp-page.light-mode .pp-back-btn:hover{color:#0d1116;background:#5000ca0f;border-color:#5000ca}.pp-page.light-mode .pp-email-mask{color:#5000ca;background:#5000ca12;border-color:#5000ca59}.pp-page.light-mode .pp-email-mask:hover{color:#5000ca;background:#5000ca24}.pp-page.light-mode .pp-email-link{color:#5000ca}.pp-page.light-mode .pp-email-link:hover{color:#7c3aed}.pp-page .clone2048-figure{flex-direction:column;align-items:center;gap:12px;margin:0 0 24px;display:flex}.pp-page .clone2048-img{border:1px solid #ffffff14;border-radius:12px;width:100%;max-width:360px;display:block}.pp-page .clone2048-caption{opacity:.5;text-align:center;max-width:360px;font-size:.825rem;line-height:1.6}.pp-page.light-mode .clone2048-img{border-color:#00000014}@media (width<=600px){.pp-page .pp-content{padding:32px 16px 64px}.pp-page .pp-topbar{padding:12px 16px}}.dark-mode .about-section{background-color:#0003}.about-section{background-image:url(/images/bg-dark.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;justify-content:flex-start;align-items:center;gap:30px;width:100%;min-height:700px;padding:0 15%;display:flex}.about-section .content{text-align:left;z-index:2}.about-section .content .social_icons{color:#fff;flex-direction:row;gap:10px;display:flex}.about-section .content .social_icons svg{font-size:1.8em}.about-section .content .mobile_social_icons{display:none}.about-section .content p{margin-block:0;font-size:1.5em}.about-section .content h1{margin-block:0;font-size:5em}.about-section .image-wrapper{z-index:2}.about-section .image-wrapper img{border-radius:50%;width:150px}.about p{text-align:center;padding-top:30%;padding-bottom:30%}@media screen and (width<=567px){.nav-left{float:left;padding-top:20px}.nav-left img{height:35px}.nav-right{float:right}.nav-right li{color:#fff;width:10%;padding:10px 15px;font-size:13px;list-style:none}.nav-right ul{margin:0;padding:0;list-style-type:none}body{width:100%}.about{padding-left:5%;padding-right:5%;font-size:12px}}@media screen and (width<=768px){.about-section h1{text-align:left;font-size:4em!important}.about-section p{text-align:left}.container{display:initial}.social_icons{display:none!important}.mobile_social_icons{color:#fff;flex-direction:row;gap:10px;padding-top:10px;display:flex!important}.mobile_social_icons svg{font-size:1.8em}.about-section{padding-top:150px;padding-left:0;padding-right:0;display:block}.about-section .content{width:90%;padding-bottom:5%;padding-left:5%;padding-right:5%}.about-section .image-wrapper{width:100%;padding-left:5%}}.projects-container{text-align:left;flex-direction:column;padding:5% 10%;display:flex}.projects-container .projects-grid{grid-gap:50px;grid-template-columns:repeat(3,1fr);display:grid}.projects-container .projects-grid .project{text-align:left}.project h2:hover{text-decoration:underline;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.zoom{border-radius:5px;margin:0 auto;transition:transform .2s}.zoom:hover{transform:scale(1.05)}@media screen and (width<=700px){.projects-container{padding-left:5%;padding-right:5%;display:block}.projects-container .projects-grid{display:block}.projects-container .projects-grid .project{padding-bottom:5%}}.skills-container{text-align:left;flex-direction:column;padding:5% 10%;display:flex}.skills-container svg{color:#fff}.skills-container .skills-grid{grid-gap:50px;grid-template-columns:repeat(4,1fr);display:grid}.skills-container .skills-grid .skill{text-align:left;align-items:center}.chip{color:#272822!important;background-color:#fff!important;height:25px!important;font-size:.8rem!important}.chip span{color:#272822;font-family:Courier Prime,monospace}.chip svg{height:15px!important}.flex-chips{margin:.5px;line-height:2}.flex-chips .chip-title{color:#fff;padding-right:10px}.flex-chips .MuiChip-root{margin-right:.5em}.flex-chips .MuiChip-outlined{background-color:#e0e0e0;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.flex-chips .MuiChip-outlined span{color:#272822}@media screen and (width<=768px){.skills-container{padding-left:5%;padding-right:5%;display:block}.skills-container .skills-grid{display:initial}.skills-container .skills-grid .skill{padding-bottom:5%}}@media screen and (width<=567px){.skills{font-size:12px}}.vertical-timeline *{box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;padding:2em 0;position:relative}.vertical-timeline:after{content:"";clear:both;display:table}.vertical-timeline:before{content:"";background:var(--line-color);width:4px;height:100%;position:absolute;top:0;left:18px}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (width>=1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{margin-left:-2px;left:50%}}.vertical-timeline-element{margin:2em 0;position:relative}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";clear:both;display:table}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (width>=1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{border-radius:50%;width:40px;height:40px;position:absolute;top:0;left:0;box-shadow:0 0 0 4px #fff,inset 0 2px #00000014,0 3px 0 4px #0000000d}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{width:24px;height:24px;margin-top:-12px;margin-left:-12px;display:block;position:relative;top:50%;left:50%}@media only screen and (width>=1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;margin-left:-30px;left:50%}}.vertical-timeline-element-icon{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0)}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;animation:.6s cd-bounce-1}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@-moz-keyframes cd-bounce-1{0%{opacity:0;-moz-transform:scale(.5)}60%{opacity:1;-moz-transform:scale(1.2)}to{-moz-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.2)}to{transform:scale(1)}}.vertical-timeline-element-content{background:#fff;border-radius:.25em;margin-left:60px;padding:1em;position:relative;box-shadow:0 3px #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{box-shadow:none;background:0 0}.vertical-timeline-element-content:after{content:"";clear:both;display:table}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;opacity:.7;padding:.8em 0}.vertical-timeline-element-content-arrow{content:"";border:7px solid #0000;border-right-color:#fff;width:0;height:0;position:absolute;top:16px;right:100%}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";top:16px;right:unset;border:7px solid #0000;border-left-color:#fff;width:0;height:0;position:absolute;left:100%}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{border-left:7px solid #fff;border-right:unset;left:100%}.vertical-timeline-element--no-children .vertical-timeline-element-content:before,.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow{display:none}@media only screen and (width>=768px){.vertical-timeline-element-content h2{font-size:1.25rem}.vertical-timeline-element-content p{font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:.875rem}}@media only screen and (width>=1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{width:44%;margin-left:0;padding:1.5em}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{width:100%;font-size:1rem;position:absolute;top:6px;left:124%}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{text-align:right;left:auto;right:124%}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;animation:.6s cd-bounce-2}@media only screen and (width>=1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{animation:.6s cd-bounce-2-inverse}}@media only screen and (width<=1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;animation:.6s cd-bounce-2-inverse}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translate(-100px)}60%{opacity:1;-webkit-transform:translate(20px)}to{-webkit-transform:translate(0)}}@-moz-keyframes cd-bounce-2{0%{opacity:0;-moz-transform:translate(-100px)}60%{opacity:1;-moz-transform:translate(20px)}to{-moz-transform:translate(0)}}@keyframes cd-bounce-2{0%{opacity:0;transform:translate(-100px)}60%{opacity:1;transform:translate(20px)}to{transform:translate(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translate(100px)}60%{opacity:1;-webkit-transform:translate(-20px)}to{-webkit-transform:translate(0)}}@-moz-keyframes cd-bounce-2-inverse{0%{opacity:0;-moz-transform:translate(100px)}60%{opacity:1;-moz-transform:translate(-20px)}to{-moz-transform:translate(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;transform:translate(100px)}60%{opacity:1;transform:translate(-20px)}to{transform:translate(0)}}.vertical-timeline span{color:#fff;font-family:Courier Prime,monospace}.vertical-timeline p,.vertical-timeline-element p,.vertical-timeline-element h3,.vertical-timeline-element h4,.vertical-timeline-element span{color:#272822}.vertical-timeline-element .vertical-timeline-element-date,.svg-inline--fa{color:#fff}@media screen and (width<=1170px){.vertical-timeline-element .vertical-timeline-element-date{color:#272822}}footer{text-align:center;padding-top:50px;padding-bottom:50px}footer svg{margin-right:10px;width:1.1em!important;height:1.1em!important}footer p{font-size:.8em}.pagenotfound-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex;position:relative}.pagenotfound-title{margin-bottom:.25rem;font-size:2.5rem}.pagenotfound-subtitle{margin-bottom:2.5rem;font-size:2rem}.pagenotfound-button{cursor:pointer;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;transition:all .3s}.dark-mode .pagenotfound-container{color:#fff;background-color:#0d1116}.dark-mode .pagenotfound-title,.dark-mode .pagenotfound-subtitle{color:#fff}.dark-mode .pagenotfound-button{color:#fff;background-color:#5000ca}.dark-mode .pagenotfound-button:hover{background-color:#6b2dd8}.light-mode .pagenotfound-container{color:#0d1116;background-color:#f8f9fa}.light-mode .pagenotfound-title,.light-mode .pagenotfound-subtitle{color:#0d1116}.light-mode .pagenotfound-button{color:#fff;background-color:#5000ca}.light-mode .pagenotfound-button:hover{background-color:#6b2dd8}.wip-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex;position:relative}.wip-title{margin-bottom:1.5rem;font-size:2.5rem}.wip-button{cursor:pointer;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;transition:all .3s}.dark-mode .wip-container{color:#fff;background-color:#0d1116}.dark-mode .wip-title{color:#fff}.dark-mode .wip-button{color:#fff;background-color:#5000ca}.dark-mode .wip-button:hover{background-color:#6b2dd8}.light-mode .wip-container{color:#0d1116;background-color:#f8f9fa}.light-mode .wip-title{color:#0d1116}.light-mode .wip-button{color:#fff;background-color:#5000ca}.light-mode .wip-button:hover{background-color:#6b2dd8}.project-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex;position:relative}.project-title{margin-bottom:1.5rem;font-size:2.5rem}.project-button{cursor:pointer;border:none;border-radius:5px;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;transition:all .3s}.dark-mode .project-container{color:#fff;background-color:#0d1116}.dark-mode .project-title{color:#fff}.dark-mode .project-button{color:#fff;background-color:#5000ca}.dark-mode .project-button:hover{background-color:#6b2dd8}.light-mode .project-container{color:#0d1116;background-color:#f8f9fa}.light-mode .project-title{color:#0d1116}.light-mode .project-button{color:#fff;background-color:#5000ca}.light-mode .project-button:hover{background-color:#6b2dd8}
