/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*{box-sizing:border-box}:root{font-size:10px;scroll-behavior:smooth}body{font-family:Lato,sans-serif}.container{width:100%}b{font-weight:700}section{position:relative;padding:4rem;display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap}section.grey{background-color:#f0f0f0}section.blue{background:linear-gradient(to bottom,#09122c,#2d365f)}h2{font-size:2.2rem;color:#09122c;font-weight:700}h3{font-size:1.6rem;color:#872341;font-weight:300}p{font-weight:300;font-size:1.8rem;line-height:1.8}.divider{border-bottom:2px solid #09122C;width:30%}.divider-vertical{height:100%;border-right:2px solid #09122C}a{text-decoration:none}.hidden{visibility:hidden}.pill{padding:.8rem 1.4rem;color:#fff;background-color:#171717e6;border-radius:2rem;margin-right:1rem;font-size:1.2rem;font-weight:700}.pill.gradient-pill{background:linear-gradient(to bottom,#09122c,#2d365f)}section{transition:background .5s ease}.glass{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}label{font-weight:300;font-size:1.6rem}input,textarea{width:100%;outline:none;margin-top:.5rem;border-radius:.6rem;font-size:1.8rem;border:1px solid rgba(68,68,68,.3);padding:1rem;color:#171717;font-weight:300}input:focus,textarea:focus{border:1px solid transparent;box-shadow:#09122c 0 0 4px}input+.error-message,textarea+.error-message{margin-bottom:2rem;font-size:1.4rem;margin-top:0;color:#f03}form{margin-top:1.5rem;width:100%;display:flex;flex-direction:column;max-width:50rem}iframe{border:none}@media only screen and (max-width: 480px){:root{font-size:8px}form button{margin-left:initial}}@media only screen and (min-width: 2000px){section{padding-left:20vw;padding-right:20vw}}.navbar{position:absolute;width:100%;z-index:100;background-color:Transparent;opacity:.9;color:#fff;font-size:1.8rem;font-weight:700;display:flex;align-items:center;padding:1.5rem;justify-content:space-between}.navbar ul{margin:0;padding:0;display:flex;list-style:none}.navbar ul li{cursor:pointer;margin-right:1.5rem}.navbar ul li a:hover,.navbar ul li a.active{color:#fff;border-bottom:1px solid #fff}.navbar ul li:last-child{margin-right:0}.navbar.scroll-down{color:#fff;position:fixed;background-color:#09122c;animation:slide-in .7s ease-out;box-shadow:0 2px 4px -1px #00000080}.navbar.scroll-down ul{background-color:#09122c}.navbar.scroll-down.active,.navbar.scroll-down li:hover{color:#171717}.navbar.scroll-up{display:none}.brand{display:flex;align-items:stretch;color:#fff;font-size:3rem}.brand svg{animation:flicker 5s infinite alternate}.brand :first-child{align-self:middle;margin-right:1rem}.toggle{margin-left:auto;display:none;transform-origin:50% 40%;transition:transform .5s ease-out;cursor:pointer}.toggle:hover{color:#fff}.toggle.active{transform:rotate(90deg);color:#fff}.skiplink{position:absolute;transition:transform ease-in .35s;border-bottom-left-radius:.6rem;border-bottom-right-radius:.6rem;padding:1.5rem;color:#872341;background:#000;transform:translateY(-120%);top:0;outline:0}.skiplink:focus{transform:translateY(0)}.skiplink:hover{color:#fff}@keyframes slide-in{0%{top:-60px}to{top:0}}@media only screen and (max-width: 480px){.navbar ul{flex-direction:column;position:absolute;left:0;top:-100rem;width:100%;padding:1.5rem;transition:top 1s ease-out;z-index:-1}.navbar ul li{margin-bottom:1rem;margin-left:auto;margin-right:0}.navbar ul.open{top:5.2rem}.toggle{display:block;font-size:3rem}}@keyframes flicker{0%,18%,22%,25%,53%,57%,to{filter:drop-shadow(0px 0px 6px #fff)}20%,24%{filter:none}}.header{position:relative;width:100%;height:50rem}.header img{position:absolute;height:50rem;width:100%;object-fit:cover}.header .overlay{background-color:#000;opacity:.75;z-index:2;width:inherit;position:absolute;height:inherit}.title{z-index:3;letter-spacing:.15em;position:absolute;color:#f0f0f0;font-size:3.4rem;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:700}.title div:first-child{margin-bottom:1rem}.title div:last-child{color:#f0f0f0}.typewriter{overflow:hidden;border-right:.15em solid;white-space:nowrap;animation:typing 3.5s steps(50,end) 0s infinite alternate,blink-caret .75s step-end infinite}@keyframes typing{0%{width:0%}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:#f0f0f0}}@media only screen and (max-width: 768px){.header{height:40rem}.header img{object-position:-50px}}.video{width:100%;max-width:42rem;border-radius:1.2rem;box-shadow:0 4px 30px #0000001a}.about{flex:.7;display:flex;align-items:center;flex-direction:column}.about h2{margin-bottom:0;align-self:flex-start}@media only screen and (max-width: 1000px){.about{width:100%;flex:initial}}@media only screen and (max-width: 480px){.about h2{align-self:center}}.social-links{display:flex;justify-content:center;padding-top:2rem;padding-bottom:2rem}.social-links a{display:inline-block;font-size:4rem;color:#fff;padding:1rem 2rem;margin:0 1rem}@media only screen and (max-width: 480px){.social-links a{font-size:3rem;margin:0 .5rem}}.experiences-container{display:grid;grid-template-columns:4fr 2fr 4fr;grid-gap:0 2rem;width:100%}.experiences-title{text-align:center;width:100%;margin-top:0}.experiences .experience-toggle{width:100%;display:flex;justify-content:center;margin:1rem 0 2rem}.experiences .experience-toggle .toggle{margin-inline:auto;display:inline-flex;align-items:center;gap:.8rem;background:transparent;border:0;cursor:pointer;padding:0}.experiences .experience-toggle .toggle-label{font-size:1.4rem;color:#444}.experiences .experience-toggle .toggle-track{position:relative;width:52px;height:28px;border-radius:9999px;background:#f0f0f0;transition:background-color .2s ease;box-shadow:inset 0 0 0 2px #0000000d}.experiences .experience-toggle .toggle-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:transform .2s ease}.experiences .experience-toggle .toggle.checked .toggle-track{background:#09122c}.experiences .experience-toggle .toggle.checked .toggle-thumb{transform:translate(24px)}.experiences .experience-toggle .toggle.checked .toggle-label{color:#09122c}@media only screen and (max-width: 768px){.experience-toggle-row{display:none}}.experience-timeline{position:relative;display:flex;flex-direction:column;align-items:center;grid-column-start:2;grid-column-end:3;grid-row-start:var(--row);grid-row-end:calc(var(--row) + 1)}.experience-timeline.show .experience-line{height:100%}.experience-timeline.show .experience-period{opacity:1}.experience-timeline:hover .experience-line{background-color:#09122c}.experience-timeline:hover+.experience-card{scale:1.05;box-shadow:0 0 20px #0000001a}.experience-line{transition:height .8s ease-out}.experience-dot{width:1.5rem;height:1.5rem;border-radius:50%;background-color:#09122c}.experience-dot.present{background-color:#fff;border:2px solid #09122C}.experience-line{height:0%;width:3px;background-color:#f0f0f0;margin:.3rem 0;transition:height .5s linear}.experience-card{background-color:#f0f0f0;border-radius:.6rem;margin-bottom:2rem;padding:1.5rem;grid-column-start:var(--column);grid-column-end:calc(var(--column) + 1);grid-row-start:var(--row);grid-row-end:calc(var(--row) + 1);opacity:0;transition:.3s ease-in-out .2s}.experience-card.glass{background:#f0f0f0cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.1)}.experience-card.show{opacity:1}.experience-period{position:absolute;top:50%;transform:translateY(-50%);font-size:1.4rem;color:#444;background-color:#fff;padding:1px 0;text-align:center;opacity:0;transition:opacity .3s ease-in-out .2s}.experience-company{margin:.2rem 0 1rem;color:#872341}.experience-position{color:#09122c;font-size:2.4rem;margin:0}.experience-tasks{margin:0;font-size:1.6rem;padding-left:2rem}.experience-tasks li{line-height:1.8;font-weight:300}.experience-skills{padding:0;list-style:none;display:none;margin:0;flex-wrap:wrap}.experience-skills li{margin-top:1rem}.experience-mobile-message{font-size:1.2rem;color:#444;text-align:center;margin-top:1rem}@media only screen and (max-width: 480px){.experience-tasks{display:none}.experience-skills{display:flex}.experience-company{font-size:1.4rem;font-weight:400}}@media only screen and (max-width: 768px){.experiences-container{grid-template-columns:1fr 9fr;grid-gap:0 4rem}.experience-timeline{grid-column-start:1;grid-column-end:2}.experience-card{grid-column-start:2;grid-column-end:3}}.career-quest{width:100%;display:flex;flex-direction:column;align-items:center}.career-quest-iframe{aspect-ratio:11/6;height:600px}@media only screen and (max-width: 1200px){.career-quest-iframe{height:500px}}@media only screen and (max-width: 1000px){.career-quest-iframe{height:450px}}@media only screen and (max-width: 900px){.career-quest-iframe{height:400px}}@media only screen and (max-width: 800px){.career-quest-iframe{display:none}.career-quest:after{content:"This feature is not available on small screens";font-size:1.2rem;color:#444;text-align:center;margin-top:1rem}}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:2rem}.projects-title{grid-column-start:1;grid-column-end:4;grid-row-start:1;grid-row-end:2;display:flex;flex-direction:column;align-items:center;width:100%}.projects-title h2{margin-bottom:.4rem}.projects-title h3{margin-top:0}.project-card{background-color:transparent;height:28rem;transition:all .3s ease}.project-card-inner{height:100%;position:relative}.project-card-front{background-color:#171717e6;height:100%;position:relative;width:100%;border-radius:.6rem;padding:1.5rem;display:flex;flex-direction:column}.project-card-front.glass{background:#000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1.2rem}.project-card-back{background-color:#171717e6;height:100%;position:absolute;width:100%;border-radius:.6rem;top:0;left:0;opacity:0;transition:opacity .3s}.project-overlay{border-radius:.6rem;width:100%;height:100%;background-color:#000;opacity:.3;z-index:2;position:absolute}.project-screenshot{border-radius:.6rem;position:absolute;width:100%;height:28rem;object-fit:cover}.project-technology{width:4rem;height:4rem;margin-right:1rem}.project-title{text-align:center;color:#fff;text-transform:uppercase}.project-description{margin-top:0;color:#f0f0f0;font-weight:300;font-size:1.8rem;line-height:1.4;text-align:center}.project-technologies{margin-bottom:2rem;padding:0;align-self:center;margin-top:auto;list-style:none;display:flex}.project-link{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;color:#fff;font-size:2rem;border:1px solid #f0f0f0;align-self:center;padding:.4rem .8rem;border-radius:.2rem}.project-link:hover{background-color:#fff;color:#171717}@media only screen and (max-width: 960px){.projects{grid-template-columns:1fr 1fr}.projects-title{grid-column-end:3}}@media only screen and (max-width: 660px){.projects{grid-template-columns:1fr}.projects-title{grid-column-end:2}.project-technology{width:3.5rem;height:3.5rem}.project-card,.project-screenshot{height:25rem}}.donate{display:flex;justify-content:center;align-items:center;padding:1rem}.donate button{position:relative;cursor:pointer;background:transparent;border:none}.donate button:hover img:last-child{animation:wobble 1s ease-in-out 1s}.donate button:hover img:first-child{animation:slide-down 1s ease-out}.donate img:last-child{height:6rem;width:6rem}.donate img:first-child{top:-3rem;left:50%;transform:translate(-50%);position:absolute;height:2.4rem;width:2.4rem;visibility:hidden;z-index:1}@media only screen and (max-width: 480px){.donate img:last-child{height:5rem;width:5rem}.donate img:first-child{height:1.8rem;width:1.8rem}}@keyframes wobble{16.65%{transform:rotate(15deg)}33.3%{transform:rotate(-10deg)}49.95%{transform:rotate(8deg)}66.6%{transform:rotate(-4deg)}83.25%{transform:rotate(7deg)}to{transform:rotate(0)}}@keyframes slide-down{0%{top:-3rem;visibility:visible}to{top:-1rem;visibility:hidden}}.button{cursor:pointer;border:none;outline:none;border-radius:2.5rem;background-color:#09122c;color:#fff;padding:1rem 4rem;font-size:1.8rem;margin-left:auto}.button:hover,.button:disabled{background-color:#2d365f}.button:disabled{cursor:not-allowed}.contact-section{padding:4rem 2rem;min-height:60rem;display:flex;flex-direction:column;align-items:center;opacity:0;transition:opacity .8s ease-in-out}.contact-section.animate-in{opacity:1}.contact-title{text-align:center;width:100%;margin-bottom:3rem}.contact-title .section-title{margin-bottom:.5rem;opacity:0;transform:translateY(20px);transition:opacity .8s ease-in-out,transform .8s ease-in-out}.contact-section.animate-in .contact-title .section-title{opacity:1;transform:translateY(0)}.contact-title .section-subtitle{margin:0;opacity:0;transform:translateY(20px);transition:opacity .8s ease-in-out .2s,transform .8s ease-in-out .2s}.contact-section.animate-in .contact-title .section-subtitle{opacity:1;transform:translateY(0)}.contact-form{max-width:600px;width:100%;display:flex;flex-direction:column;gap:1.5rem;opacity:0;transform:translateY(20px);transition:opacity .8s ease-in-out .4s,transform .8s ease-in-out .4s}.contact-section.animate-in .contact-form{opacity:1;transform:translateY(0)}.contact-form .input-field{background-color:#fff;border-radius:.6rem;padding:1rem;border:1px solid #d1d5db;font-size:1.1rem;transition:border-color .3s ease,box-shadow .3s ease}.contact-form .input-field:focus{box-shadow:0 0 5px #3b82f680;outline:none}.contact-form .submit-button{color:#fff;padding:.8rem 2rem;border-radius:.6rem;font-size:1.2rem;font-weight:700;border:none;cursor:pointer;transition:background-color .3s ease,transform .3s ease;align-self:center}.contact-form .submit-button:disabled{background-color:#9ca3af;cursor:not-allowed}.ohnohoney{opacity:0;position:absolute;top:0;left:0;height:0;width:0;z-index:-1}.ohnohoney+.error-message{display:none}.error-message{color:#f03;font-size:1.8rem;margin-top:.5rem}@media only screen and (max-width: 768px){.contact-section{padding:3rem 4rem;min-height:50rem}.contact-form .input-field{font-size:1rem}.contact-form .submit-button{font-size:1.1rem;padding:.7rem 1.8rem}}@media only screen and (max-width: 480px){.contact-section{min-height:40rem}.error-message{font-size:1.4rem}.submit-button{margin-inline:auto}}.footer{border-top:1px solid #f0f0f0}.copyright{font-size:1.4rem;color:#444;font-weight:300;text-align:center}.chat-button{z-index:1000;width:6rem;height:6rem;border-radius:50%;background-color:#09122c;position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:3.5rem;cursor:pointer;box-shadow:0 0 6px -1px #444;transition:all .3s ease}.chat-button:hover{background-color:#2d365f;transform:scale(1.05)}.chat-button.hidden{display:none}.chat-button svg{width:2.4rem;height:2.4rem}.chat-window-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;display:flex;align-items:flex-end;justify-content:flex-end;padding:2rem}@media only screen and (max-width: 480px){.chat-window-overlay{padding:0;align-items:stretch;justify-content:stretch}}.chat-window{background-color:#fff;border-radius:1.2rem;box-shadow:0 10px 30px #0000004d;width:500px;height:600px;display:flex;flex-direction:column;overflow:hidden}@media only screen and (max-width: 768px){.chat-window{width:400px;height:500px}}@media only screen and (max-width: 480px){.chat-window{width:100%;height:100%;border-radius:0}}.chat-header{background-color:#09122c;color:#fff;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;border-top-left-radius:1.2rem;border-top-right-radius:1.2rem}@media only screen and (max-width: 480px){.chat-header{border-radius:0}}.chat-header h3{color:#fff;margin:0;font-size:1.8rem;font-weight:700}.chat-header .close-button{background:none;border:none;color:#fff;font-size:2.4rem;cursor:pointer;padding:0;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s ease}.chat-header .close-button:hover{background-color:#ffffff1a}.chat-messages{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.chat-messages .welcome-message{text-align:center;color:#444;font-style:italic;padding:1.5rem}.chat-messages .message{display:flex;margin-bottom:1.5rem}.chat-messages .message.user{justify-content:flex-end}.chat-messages .message.user .message-content{background-color:#09122c;color:#fff;border-radius:.6rem .6rem 0;max-width:80%}.chat-messages .message.system{justify-content:flex-start}.chat-messages .message.system .message-content{background-color:#f0f0f0;color:#171717;border-radius:.6rem .6rem .6rem 0;max-width:80%}.chat-messages .message .message-content{padding:1.5rem;word-wrap:break-word}.chat-messages .message .message-content p{margin:0 0 .5rem}.chat-messages .message .message-content p:last-child{margin-bottom:0}.chat-messages .message .message-content code{background-color:#0000001a;padding:.2rem .4rem;border-radius:.3rem;font-family:Courier New,monospace;font-size:.9em}.chat-messages .message .message-content pre{background-color:#0000001a;padding:1.5rem;border-radius:.6rem;overflow-x:auto;margin:.5rem 0}.chat-messages .message .message-content pre code{background:none;padding:0}.chat-messages .message .message-content ul,.chat-messages .message .message-content ol{margin:.5rem 0;padding-left:1.5rem}.chat-messages .message .message-content blockquote{border-left:3px solid #09122C;margin:.5rem 0;padding-left:1.5rem;color:#444}.chat-messages .typing-indicator{display:flex;gap:.3rem;padding:1.5rem}.chat-messages .typing-indicator span{width:.8rem;height:.8rem;border-radius:50%;background-color:#444;animation:chat-typing 1.4s infinite ease-in-out}.chat-messages .typing-indicator span:nth-child(1){animation-delay:-.32s}.chat-messages .typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes chat-typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.chat-input-form{max-width:unset;padding:1.5rem;border-top:1px solid #f0f0f0}.chat-input-form .input-container{display:flex;gap:1.5rem;align-items:flex-end}.chat-input-form .input-container textarea{flex:1;border:1px solid #f0f0f0;border-radius:.6rem;padding:1.5rem;font-family:inherit;font-size:1.4rem;resize:none;min-height:4rem;max-height:12rem;outline:none;transition:border-color .3s ease}.chat-input-form .input-container textarea:focus{border-color:#09122c}.chat-input-form .input-container textarea:disabled{background-color:#f0f0f0;cursor:not-allowed}.chat-input-form .input-container .send-button{background-color:#09122c;color:#fff;border:none;border-radius:.6rem;padding:1.5rem 2rem;font-size:1.4rem;font-weight:700;cursor:pointer;transition:background-color .3s ease;white-space:nowrap}.chat-input-form .input-container .send-button:hover:not(:disabled){background-color:#2d365f}.chat-input-form .input-container .send-button:disabled{background-color:#444;cursor:not-allowed}
