html{--main-bg-color:#151515;--text-colour:#fff;--highlight-colour:#fff500;--secondary-bg-color:#222;width:100%}body,html{background-color:#151515;background-color:var(--main-bg-color);height:100%;margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;color:var(--text-colour);font-family:Zilla Slab,serif}#root{height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media only screen and (max-width:991px){html{font-size:small}}@media only screen and (max-width:767px){html{font-size:x-small}}.App{background-color:#151515;height:100%;text-align:center}.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}.title-section{max-width:880px}.title-section h3{color:#f0f0f0d1;font-size:1.35rem;font-weight:400;line-height:1.35;margin-top:12px;width:min(700px,92%)}.router-section{bottom:17%;font-size:4rem;font-weight:300;position:absolute;text-align:left;width:95%;z-index:3}.router-section div{display:flex;margin-bottom:-.6rem;transition:.25s ease-in-out;width:100%}.router-section-div{align-items:center;justify-content:space-between}.route-btn{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:inherit;font:inherit;letter-spacing:.03em;padding:0;transition:color .2s ease,transform .2s ease}.route-btn:focus-visible,.route-btn:hover{color:var(--highlight-colour);outline:none;transform:translateX(7px)}.router-section a{color:inherit;text-decoration:none}.link-icon{margin-top:13px;transition:color .2s ease,transform .2s ease}.link-icon:focus-visible,.link-icon:hover{color:var(--highlight-colour);transform:scale(1.08)}.bg-section{opacity:.9;z-index:1}@media only screen and (max-height:620px){.router-section{bottom:8%}}@media only screen and (max-width:992px){.title-section h2{font-size:4.2rem}.title-section h3{font-size:1.1rem;width:90%}.router-section{bottom:12%;font-size:3.3rem}}@media only screen and (max-width:768px){.router-section{font-size:2.8rem}.bg-section{opacity:.6}.bg-section h1{font-size:5.4rem}}@media only screen and (max-width:575px){.router-section{bottom:8%;width:90%}.title-section h2{font-size:3rem}.title-section h3{font-size:.95rem}.link-icon{margin-top:7px}}.body-container{height:100%;padding-top:25px;position:relative;width:100%}@media only screen and (max-width:575px){.body-container{padding:10px 20px 0}}.title-section{margin-top:5%;position:relative;text-align:left;z-index:2}.title-section div{align-items:center;color:var(--highlight-colour);display:flex}.title-section div.clickable{position:relative;transition:transform .2s ease,color .2s ease;width:-webkit-fit-content;width:fit-content}.title-section div.clickable:after{background:var(--highlight-colour);bottom:-2px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .25s ease;width:100%}.title-section div.clickable:focus-visible,.title-section div.clickable:hover{transform:translateX(-4px)}.title-section div.clickable:focus-visible:after,.title-section div.clickable:hover:after{transform:scaleX(1)}.title-section div svg{height:3rem;transition:transform .2s ease;width:4rem}.title-section div.clickable:focus-visible svg,.title-section div.clickable:hover svg{transform:translateX(-4px)}.title-section p{color:var(--highlight-colour);font-size:2.5rem;margin-bottom:0}.title-section h2{text-wrap:balance;font-size:5rem;letter-spacing:.02em}.about-me-container,.career-container,.content-container,.projects-container,.resume-container{animation:page-content-enter .42s ease-out both}.bg-section{color:#222;display:flex;margin-top:5%;position:absolute;right:0;text-align:left;top:0;z-index:0}.bg-section h1{font-size:7rem;font-weight:700;margin:-10px 0 -10px -10px;text-orientation:sideways;writing-mode:vertical-rl}.unselectable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.clickable{cursor:pointer}.page-transition{height:200%;pointer-events:none;position:fixed;width:0}.pt-1t{transition:.5s ease-in-out}.pt-2t{transition:.45s ease-in-out}.pt-3t{transition:.4s ease-in-out}.pt-1{background-color:#444;z-index:10}.pt-2{background-color:var(--highlight-colour);z-index:11}.pt-3{background-color:var(--main-bg-color);z-index:12}.transition-active{width:100%}@keyframes page-content-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.about-me-container{display:flex;margin:2rem 0;position:relative;text-align:left;z-index:1}.about-me-desc{display:flex;flex-direction:column;justify-content:space-between;width:50%}.me-img-container{display:inline-block;margin:0 2rem 0 0;position:relative}.me,.me-img-container{height:20rem;width:20rem}.me{cursor:zoom-in;display:block;filter:grayscale(1);-webkit-user-select:none;user-select:none}.me-flashlight-canvas{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.degree-container{background-color:var(--secondary-bg-color);display:flex;padding:1rem}.degree-container img{height:7rem}.degree-container h3{margin-bottom:5px}.degree-container div{padding:0 1rem}.career-container{padding-bottom:5rem;text-align:left}@media only screen and (max-width:1399px){.about-me-desc{width:100%}}@media only screen and (max-width:768px){.about-me-container{flex-direction:column}.me-img-container{margin:0 auto 2rem}.me,.me-img-container{height:25rem;width:25rem}.me{margin:0}.about-me-desc div:first-child{background-color:var(--secondary-bg-color);padding:1rem}.about-me-desc div:first-child h3{text-align:center}.degree-container{margin-top:2rem}}.job-container{width:100%}.job-header{align-items:center;background-color:var(--secondary-bg-color);border:0;border-left:3px solid #0000;border-top:4px solid var(--main-bg-color);display:flex;justify-content:space-between;margin:0;padding:.4rem 1rem;transition:background-color .2s ease,border-left-color .2s ease;width:100%}.job-header:hover{background-color:color-mix(in srgb,var(--secondary-bg-color) 82%,var(--highlight-colour));border-left-color:var(--highlight-colour)}.job-header div{align-items:center;display:flex}.job-header div h2{margin-bottom:0}.job-title-left h2:first-child{color:var(--highlight-colour);margin-right:1rem}.job-title-left h2:nth-child(2){font-weight:300}.job-title-right{text-align:right}.job-title-right h2{font-weight:300;margin-right:1rem;position:relative;top:-3px}.job-title-right svg{height:100%;transition:.5s;width:2rem}.job-chevron-selected{transform:rotateX(180deg)}.job-dropdown-container{background:linear-gradient(135deg,#2a2a2a,#272727);border-left:3px solid #0000;display:flex;gap:1.5rem;margin:0;max-height:0;opacity:0;overflow:hidden;padding:0 1.5rem;transition:max-height .4s ease-in-out,padding .4s ease-in-out,opacity .3s ease-in-out;width:100%}.job-dropdown-container-selected{border-left:3px solid var(--highlight-colour);max-height:800px;opacity:1;padding:1.5rem}.job-dropdown-left{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;min-width:200px}.job-dropdown-right{display:flex;flex:1 1;flex-direction:column;gap:1rem}.job-desc-container{padding:0}.job-desc-li{color:#e0e0e0;line-height:1.6;margin:.5rem 0;padding:0}.job-image{background:#ffffff0d;border-radius:12px;box-shadow:0 4px 12px #0003;filter:grayscale(.3) brightness(.9);height:8rem;max-width:180px;object-fit:contain;padding:.75rem;transition:all .3s ease;width:auto}.job-image:hover{box-shadow:0 6px 20px #0000004d;filter:none;transform:scale(1.05)}.job-metadata{display:flex;flex-direction:column;gap:.75rem;width:100%}.job-metadata-item{align-items:center;color:#b0b0b0;display:flex;font-size:.9rem;gap:.5rem}.job-metadata-item svg{color:var(--highlight-colour);font-size:1.1rem}.job-skills-section{margin-top:0}.job-skills-section h4{color:var(--highlight-colour);font-size:1rem;font-weight:500;margin:0 0 .6rem}.job-skills-container{display:flex;flex-wrap:wrap;gap:.5rem}.job-skill-badge{background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;color:#e0e0e0;font-size:.85rem;padding:.4rem .9rem;transition:all .2s ease;white-space:nowrap}.job-skill-badge:hover{background:#ffffff1f;border-color:var(--highlight-colour);box-shadow:0 2px 8px #0003;transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.job-dropdown-container,.job-header,.job-image,.job-skill-badge,.job-title-right svg{transition:none}}@media only screen and (max-width:768px){.job-dropdown-container{flex-direction:column;gap:1.5rem}.job-dropdown-left{align-items:center;min-width:0;min-width:auto;width:100%}.job-image{height:6rem;max-width:150px}.job-dropdown-container-selected{padding:1.5rem 1rem}.job-metadata{flex-direction:row;flex-wrap:wrap;justify-content:center}}@media only screen and (max-width:1200px){.job-title-left{align-items:flex-start!important;flex-direction:column}}.career-timeline-container{margin-bottom:2rem;padding:2rem 0;width:100%}.timeline-track{padding:0 1rem;position:relative;width:100%}.timeline-line{background:linear-gradient(90deg,var(--highlight-colour) 0,#fff3 50%,var(--highlight-colour) 100%)}.timeline-line,.timeline-secondary-line{height:2px;left:1rem;position:absolute;right:1rem;z-index:0}.timeline-secondary-line{background:linear-gradient(90deg,#ffffff26,#ffffff40 50%,#ffffff26)}.timeline-year-marker{position:absolute;top:0;transform:translateX(-50%);z-index:0}.timeline-year-gridline{background:#8080804d;height:100%;margin:0 auto;width:1px}.timeline-year-label{bottom:0;color:grey;font-size:.75rem;font-weight:500;left:50%;padding-top:4px;position:absolute;transform:translateX(-50%);white-space:nowrap}.timeline-job{min-width:100px;position:absolute;z-index:1}.timeline-job-narrow{min-width:80px}.timeline-job-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff26,#ffffff14);border:2px solid var(--highlight-colour);border-radius:8px;box-shadow:0 4px 12px #0000004d;height:80px;padding:.75rem;transition:all .3s ease}.timeline-job-bar:hover{background:linear-gradient(135deg,#fff3,#ffffff1f);border-color:var(--highlight-colour);box-shadow:0 8px 24px #0006;transform:translateY(-8px) scale(1.02)}.timeline-job-content{align-items:center;display:flex;gap:.75rem;height:100%}.timeline-job-narrow .timeline-job-content{gap:0;justify-content:center}.timeline-logo{filter:brightness(.95);height:50px;max-width:60px;object-fit:contain;transition:filter .3s ease;width:auto}.timeline-job-bar:hover .timeline-logo{filter:brightness(1.1)}.timeline-job-info{display:flex;flex:1 1;flex-direction:column;gap:.2rem;min-width:0}.timeline-job-title{color:var(--highlight-colour);font-size:.9rem;font-weight:600}.timeline-job-role,.timeline-job-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-job-role{color:#b0b0b0;font-size:.75rem;line-height:1.2}@media only screen and (max-width:1200px){.timeline-job-info{display:none}.timeline-job-content{justify-content:center}.timeline-logo{height:45px;max-width:50px}.timeline-job-bar{height:70px;padding:.5rem}}@media only screen and (max-width:768px){.career-timeline-container{padding:1.5rem 0}.timeline-year-label{font-size:.7rem}.timeline-job{min-width:50px}.timeline-job-narrow{min-width:45px}.timeline-logo{height:35px;max-width:40px}.timeline-job-bar{height:60px;padding:.3rem}}.certification-container{transition:transform .2s ease;width:100%}.certification-container:hover{transform:translateX(4px)}.certification-header{background-color:var(--secondary-bg-color);border:0;border-left:3px solid #0000;border-top:4px solid var(--main-bg-color);justify-content:space-between;margin:0;padding:.4rem 1rem;transition:background-color .2s ease,border-left .2s ease;width:100%}.certification-header,.certification-header div{align-items:center;display:flex}.certification-header div h2{margin-bottom:0}.certification-title-left h2:first-child{color:var(--highlight-colour);margin-right:1rem}.certification-title-left h2:nth-child(2){font-weight:300}.certification-title-right{text-align:right}.certification-title-right h2{font-weight:300;margin-right:1rem;position:relative;top:-3px}.certification-title-right svg{height:100%;transition:transform .2s ease,color .2s ease;width:2rem}.certification-link-placeholder{display:inline-block;height:100%;width:2rem}.certification-header.clickable:hover{background-color:color-mix(in srgb,var(--secondary-bg-color) 82%,var(--highlight-colour));border-left-color:var(--highlight-colour)}.certification-header.clickable:hover .certification-title-right svg{color:var(--highlight-colour);transform:translateX(2px)}@media only screen and (max-width:768px){.certification-image{height:7rem}}.projects-container{background-color:var(--secondary-bg-color);display:grid;grid-template-columns:1fr 1fr;margin:4rem 0;position:relative;width:100%;z-index:2}@media only screen and (max-width:1200px){.content-container{grid-template-columns:1fr}}.project-container{background-color:var(--main-bg-color);border:1px solid #ffffff0f;display:flex;height:10rem;margin:1rem;text-align:left;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.project-container:hover{border-color:color-mix(in srgb,var(--highlight-colour) 48%,#0000);box-shadow:0 10px 26px #00000042;transform:translateY(-4px)}.project-container img{filter:grayscale(100%);height:10rem;transition:filter .2s ease,transform .2s ease;width:10rem}.project-container img:hover{filter:none;transform:scale(1.03)}.project-container div:nth-child(2){margin:.5rem 1rem;width:100%}.project-header{display:flex;justify-content:space-between;margin:0}.project-link{-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .2s ease,-webkit-text-decoration-color .2s ease;transition:color .2s ease,text-decoration-color .2s ease;transition:color .2s ease,text-decoration-color .2s ease,-webkit-text-decoration-color .2s ease}.project-link h3{color:#fff!important;letter-spacing:.03em}.project-link h3:hover{color:var(--highlight-colour)!important}.project-container:hover .project-link{-webkit-text-decoration-color:var(--highlight-colour);text-decoration-color:var(--highlight-colour)}.project-header h3{color:var(--highlight-colour);margin:0}.project-sub{font-style:italic;font-weight:300;margin:0}.project-desc{margin:0}@media only screen and (max-width:768px){.project-container{height:auto;min-height:10rem}}.resume-container{display:inline;display:initial;height:auto;justify-content:center;position:relative;text-align:center;z-index:5}
/*# sourceMappingURL=main.4063f649.css.map*/