/*! 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:rgba(0,0,0,0)}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:-0.25em}sup{top:-0.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}.green--text{color:#95b08c}.yellow--text{color:#cdcf9a}.blue--text{color:#82cff0}.small{font-size:.7rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;white-space:nowrap;clip-path:inset(100%);clip:rect(0 0 0 0);overflow:hidden}html,body{height:100%;width:100%;font-size:16px}@media screen and (max-width: 768px){html,body{height:auto}}body{font-family:"Press Start 2P",Verdana,sans-serif;font-weight:bolder;text-transform:uppercase;color:#ccc;background:#1f1f1f;overflow:hidden;position:fixed}@media screen and (max-width: 768px){body{overflow:visible;position:static}}a{color:#ccc;text-decoration:none;border-bottom:1px solid}a:hover{color:#bfa266}[tabindex]:focus{outline:#ffc513 solid 2px}a:focus,input:focus,button:focus,textarea:focus{outline:#ffc513 solid 2px}img[tabindex]:focus,ul[tabindex]:focus{border:1px solid #ffc513;box-sizing:border-box}.footer{position:fixed;bottom:0;left:0;display:flex;justify-content:space-between;width:calc(100% - 4rem);margin:1rem 2rem;z-index:2}@media screen and (max-width: 768px){.footer{position:relative;width:calc(100% - 0.5rem);margin:.25rem;justify-content:center}}.footer__menu{position:relative;height:1rem;line-height:1rem}@media screen and (max-width: 768px){.footer__menu{display:none}}.footer__menu-wrapper{display:flex;list-style:none;margin:0;padding:0}.footer__menu-item{transition:background .2s;position:relative;cursor:pointer;font-size:.6rem;margin-right:12.5rem;padding:0 .25rem;z-index:2;height:1rem;background:rgba(0,0,0,0);border:none;color:inherit;font-family:inherit;display:inline-block;text-transform:uppercase}@media screen and (max-width: 992px){.footer__menu-item{margin-right:8.5rem}}@media screen and (max-width: 768px){.footer__menu-item{margin-right:0}}.footer__menu-item::before{content:"";position:absolute;display:block;background:#1f1f1f;height:2px;width:100%;top:50%;z-index:-1;left:0}@media screen and (max-width: 768px){.footer__menu-item::before{content:none}}.footer__menu-item:last-child{margin-right:0}.footer__menu-item.current{color:#be77b2}@media screen and (max-width: 768px){.footer__menu-item.current{color:#fff}}.footer__menu-item:hover{color:#bfa266}.footer__percent-bar{position:absolute;height:2px;top:50%;background:#fff;overflow:hidden;left:0;right:0}.footer__percent-bar-wrapper{position:relative;display:flex;justify-content:space-between}@media screen and (max-width: 768px){.footer__percent-bar-wrapper{display:none}}.footer__percent-bar-offset{font-size:.6rem;padding:0 .25rem;opacity:0;height:2px}.footer__percent-bar-track{transform:scaleX(0);transform-origin:left;background:#be77b2;height:2px;flex:1}@media screen and (max-width: 768px){.footer__percent-bar-track{transform:none !important}}@media not all and (min-resolution: 0.001dpcm){@supports(-webkit-appearance: none){.footer__percent-bar-track{transition:none}}}.social{display:flex}.social__link{display:block;margin-right:10px;text-decoration:none;position:relative;border-bottom:none}.social__link:last-child{margin-right:0}.social__link-text{position:absolute;color:#1f1f1f;text-shadow:0 0 3px #ccc;bottom:-0.25rem;right:-0.5rem;font-size:.75rem}.social__separator{border-right:1px solid #ccc;margin-right:10px}.social__icon{width:28px;height:28px}.mouse .footer__percent-bar-track{transition:transform .1s}@font-face{font-family:"Press Start 2P";src:url(assets/fonts/897835c0142d3d5c5760.eot?#iefix) format("embedded-opentype"),url(assets/fonts/7066302b11e4859ed574.woff) format("woff"),url(assets/fonts/a68242c92c37abeac923.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}.content{height:100%;width:100%;position:relative;display:flex;overflow:hidden}@media screen and (max-width: 768px){.content{display:block;transform:none !important}}.content__page{height:100%;width:100vw;min-width:100vw;background:#1f1f1f;position:relative}@media screen and (max-width: 768px){.content__page{position:relative;left:0 !important}.content__page:first-child{height:auto;min-height:100vh;min-height:calc(var(--vh, 1vh)*100);display:flex;justify-content:center;flex-direction:column;min-width:auto}}.content__page--dark{background:#121212}.content__page:first-child{z-index:1}.content__page-title{display:inline-block}@media screen and (max-width: 768px){.content__page-title{font-size:.9rem;margin:.3rem 0 1.25rem}}.content__page-wrapper{height:100%;padding:.3rem 2rem;position:relative;z-index:2}@media screen and (max-width: 768px){.content__page-wrapper{padding:.3rem}}.content__page-wrapper--grid{display:grid;height:calc(100% - 0.3rem);grid-template-columns:1fr 280px 1fr;grid-template-rows:auto auto;padding:.3rem 2rem}@media screen and (max-width: 768px){.content__page-wrapper--grid{grid-template-columns:50% 50%;grid-template-rows:auto auto auto auto;padding:.3rem}}.content__music-box{position:absolute;top:0;bottom:0;right:0;left:0}.emoji{font-size:.5rem;vertical-align:top}.cat-game{position:fixed;top:0;left:0;z-index:2;opacity:0;transition:opacity .2s ease-in-out}.cat-game--show{opacity:1}@media screen and (max-width: 768px){.cat-game{display:none}}.contact-form{width:500px}@media screen and (max-width: 768px){.contact-form{width:100%}}.contact-form__row{display:flex}@media screen and (max-width: 768px){.contact-form__row{flex-direction:column}}.contact-form__group{margin:0 .75rem .75rem 0}@media screen and (max-width: 768px){.contact-form__group{margin:.25rem 0}}.contact-form__label{display:block;margin-bottom:.25rem}.contact-form__input{width:300px}.contact-form__input--error{outline:2px solid #721c24}.contact-form__textarea{width:630px}.contact-form__input,.contact-form__textarea{background:#383838;padding:.75rem;color:#ccc;border:1px solid #383838}@media screen and (max-width: 768px){.contact-form__input,.contact-form__textarea{width:calc(100% - 1.5rem)}}.contact-form__recaptcha-description{font-size:.5rem;margin-bottom:.5rem;text-transform:none}.contact-form__recaptcha-description-link{color:#cdcf9a}.contact-form__button{background:#12394e;color:#ccc;border:none;padding:.75rem 1.25rem;cursor:pointer}.contact-form__button:hover{background:#1c5777}.grecaptcha-badge{visibility:hidden}.works-modal{position:fixed;margin:0 .3rem;max-width:100%;width:"992px";transition:transform .4s;transform:scale(0);z-index:1001;background:#1f1f1f;border:1px solid #000;text-transform:none;will-change:transform;box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.works-modal:focus{outline:none}@media screen and (max-width: 576px){.works-modal{width:100%;height:100%;top:0;left:0;overflow:hidden;margin:0}}.works-modal__header{padding:1.25rem;height:1.125rem}@media screen and (max-width: 576px){.works-modal__header{position:absolute;width:calc(100% - 2.5rem);background-color:#1f1f1f;z-index:1}}.works-modal__title{font-size:1rem;font-weight:bold;margin:0}@media screen and (max-width: 576px){.works-modal__title{font-size:.7rem}}.works-modal__close{position:absolute;right:1.25rem;top:1.25rem;cursor:pointer;border:none;background:rgba(0,0,0,0);font-family:inherit;color:inherit}@media screen and (max-width: 576px){.works-modal__close{font-size:.7rem}}.works-modal--show{transform:scale(1)}.works-modal__content{padding:0 1.25rem 1.25rem;white-space:nowrap}@media screen and (max-width: 576px){.works-modal__content{flex-direction:column;padding:3.75rem 1.25rem 1.25rem;overflow:scroll;height:calc(100% - 5rem)}}.works-modal__media{position:relative;display:inline-block;width:850px;height:calc(850px / 1.824)}@media screen and (max-width: 1440px){.works-modal__media{width:700px;height:calc(700px / 1.824)}}@media screen and (max-width: 992px){.works-modal__media{width:450px;height:calc(450px / 1.824)}}@media screen and (max-width: 768px){.works-modal__media{margin-bottom:1.875rem;max-width:100%;min-width:100%;width:100%;height:auto;padding-right:0;display:block}}.works-modal__info{max-width:16.75rem;margin-left:1.25rem;display:inline-block;vertical-align:top;white-space:break-spaces}@media screen and (max-width: 992px){.works-modal__info{max-width:12.75rem}}@media screen and (max-width: 768px){.works-modal__info{max-width:none;display:block;width:100%;margin-left:0}}.works-modal__gallery-wrapper{width:100%;height:100%;overflow:hidden;margin-bottom:.75rem;background-color:#252526;background-image:url(assets/images/df3da3ebd45548cb0cd2.png);background-position:50% 50%;background-repeat:no-repeat}@media screen and (max-width: 576px){.works-modal__gallery-wrapper{display:none}}.works-modal__slideshow{width:100%;height:100%}.works-modal__mobile-3d-wrapper{perspective:900px;position:absolute;width:25%;height:84%;bottom:-1.5rem;right:.3rem}@media screen and (max-width: 576px){.works-modal__mobile-3d-wrapper{position:relative;top:0;right:0;width:100%;height:auto}}.works-modal__mobile-wrapper{width:calc(100% - 1rem);height:calc(100% - 2.375rem);overflow:hidden;border-color:#252526;border-style:solid;border-width:.5rem .5rem 1.875rem;border-radius:1rem;box-shadow:0 3px 3px -2px rgba(255,255,255,.2),0 3px 4px 0 rgba(255,255,255,.14),0 1px 8px 0 rgba(255,255,255,.12);background-color:#252526;background-image:url(assets/images/df3da3ebd45548cb0cd2.png);background-position:50% 50%;background-repeat:no-repeat;transform-origin:50% 50% 0}@media screen and (max-width: 576px){.works-modal__mobile-wrapper{width:100%;border:1px solid #252526;border-radius:0;box-shadow:none}}.works-modal__work-mobile{width:100%}.works-modal__work-row{padding-bottom:.75rem}.works-modal__work-title{color:#cdcf9a;font-size:.8rem}@media screen and (max-width: 992px){.works-modal__work-title{font-size:.6rem}}@media screen and (max-width: 768px){.works-modal__work-title{font-size:.5rem}}.works-modal__work-value{font-size:.8rem}@media screen and (max-width: 992px){.works-modal__work-value{font-size:.6rem}}@media screen and (max-width: 768px){.works-modal__work-value{font-size:.7rem}}@media screen and (max-width: 992px){.works-modal__work-link{font-size:.6rem}}@media screen and (max-width: 768px){.works-modal__work-link{font-size:.7rem}}.works-modal__work-link-icon{width:1rem;height:calc(1rem - 2px);margin-bottom:2px;margin-left:1rem}.modal-shadow{transition:opacity .5s;position:fixed;background-color:rgba(31,31,31,.7);display:flex;align-items:center;justify-content:center;width:100%;height:100%;opacity:0;z-index:1000;top:0;left:0}.modal-shadow--show{opacity:1}.notification-box{transition:transform .2s,opacity .2s;transform:translateY(200px);box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12);border-radius:.0125rem;font-size:.6rem;position:fixed;top:1rem;opacity:0;right:1rem;width:280px;height:50px;overflow:hidden;z-index:1001;cursor:pointer;backdrop-filter:blur(2px)}.notification-box--show{transform:translateY(0px);opacity:.9}.notification-box--show:hover{opacity:1}.notification-box--error{background-color:#f8d7da;color:#721c24}.notification-box--success{background-color:#d4edda;color:#155724}.notification-box__message{overflow:hidden;margin:.75rem 1.25rem}.works{margin:0 -0.375rem;padding:0;list-style:none;display:flex;flex-wrap:wrap;width:100%}@media screen and (max-width: 768px){.works{flex-direction:column}}.works__item{position:relative;transition:background .2s,border-color 1s,box-shadow 1s;width:calc(100% / 5 - 2.5rem - 0.75rem - 2px);height:110px;background:#1a1a1a;border:1px solid #1a1a1a;cursor:pointer;padding:1.25rem;text-align:center;margin:0 .375rem .75rem .375rem;border-radius:.3rem;box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12);overflow:hidden;backdrop-filter:blur(2px);opacity:.9}@media screen and (max-width: 1440px){.works__item{width:calc(100% / 4 - 2.5rem - 0.75rem - 2px)}}@media screen and (max-width: 992px){.works__item{width:calc(100% / 3 - 2.5rem - 0.75rem - 2px)}}@media screen and (max-width: 768px){.works__item{width:calc(100% - 2.5rem - 2px)}}.works__item:focus,.works__item:hover{background:#1c1c1c}.works__item:focus .works__item-image,.works__item:hover .works__item-image{transform:scale(0.9)}.works__item:focus .works__item-tech,.works__item:hover .works__item-tech{opacity:1;transform:translateY(0)}.works__item.highlight{border-color:#ff8d00;box-shadow:0 0 20px #f70}.works__item.hidden .works__item-image{opacity:0}.works__item--nda{pointer-events:none;color:#313131;display:flex;justify-content:center;align-items:center}.works__item--nda:after{content:"Confidental";position:fixed;bottom:52px;transform:rotate(-5deg);font-size:.6rem}.works__item--nda:before{content:"NDA";font-size:2rem;margin-top:-1rem}.works__item-image{opacity:1;transition:transform .4s,opacity 1s;transform:translateY(calc(55px - 2.5rem));width:180px;height:auto}.works__item-tech{position:absolute;transition:transform .4s,opacity .4s;font-family:Arial,sans-serif;bottom:.75rem;left:0;right:0;text-transform:none;font-weight:300;opacity:0;transform:translateY(0.75rem)}.keyboard-mode .works__item:focus{background:#1c1c1c}.keyboard-mode .works__item:focus .works__item-image{transform:scale(0.9)}.keyboard-mode .works__item:focus .works__item-tech{opacity:1;transform:translateY(0)}.portrait{grid-column:2;grid-row:1/span 2;justify-self:center;align-self:center;position:relative;width:200px;height:300px;overflow:hidden;border-radius:.25rem;box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12);margin:0 3rem}@media screen and (max-width: 768px){.portrait{grid-column:1/span 2;grid-row:2;margin:1rem 0;width:185px;height:200px;flex:none}}.portrait__background{width:100%;height:100%;opacity:.8}.portrait__image{position:absolute;left:calc(50% - 76px);top:24px;width:152px;border:1px solid #383838;border-radius:50%;z-index:2}.portrait__text{position:absolute;bottom:5px;right:5px;color:rgba(56,56,56,.8);font-size:.5rem}.about{font-size:1rem;grid-column:1;grid-row:1;justify-self:left;align-self:end}.about__title{font-size:1rem;font-weight:bold;margin:0}.about__subtitle{margin:0}@media screen and (max-width: 768px){.about{margin-top:.75rem;grid-column:1/span 2;grid-row:1;height:auto;justify-self:center;text-align:center;min-height:6rem;display:grid;align-content:center}}.skills{grid-column:3;grid-row:1/span 2;justify-self:left;align-self:center;font-size:1rem;height:300px}@media screen and (max-width: 768px){.skills{margin-top:1.5rem;grid-column:1/span 2;grid-row:4;align-self:start;justify-self:center;height:auto;text-align:center}}.skills__section-title{font-size:.7rem;margin-top:1.5rem;color:#95b08c;min-height:.7rem}@media screen and (max-width: 768px){.skills__section-title{margin-top:.75rem}}.skills__section-title:first-child{margin-top:0}.skills__list{margin:1rem 0 0;padding:0;list-style:none;font-size:.6rem}@media screen and (max-width: 768px){.skills__list{margin:.75rem 0 0}}.skills__item{margin:.125rem 0}.skills__item:nth-child(even){color:#999}.skills__extra{font-size:.4rem;color:#95b08c}.bio{margin-top:3rem;font-size:.6rem;grid-column:1;grid-row:2;justify-self:left;align-self:start}@media screen and (max-width: 768px){.bio{grid-column:1/span 2;grid-row:3;margin-top:0;justify-self:center;text-align:center}}.bio__section{margin-top:1.5rem}.bio__section:first-child{margin-top:0}.bio__section-title{color:#95b08c;font-size:.7rem;margin:0 0 1rem;min-height:.7rem}@media screen and (max-width: 768px){.bio__section-title{margin:0 0 .75rem}}.bio__list{list-style:none;padding:0;margin:0}.bio__item{display:grid;align-content:center;margin-bottom:.3rem}@media screen and (max-width: 768px){.bio__item{min-height:2rem}}.bio__item-title{margin-bottom:.125rem;min-height:.6rem;line-height:.9rem}.bio__item-date{font-size:.5rem;color:#bb9c6f;min-height:.5rem}.bio__item-link{width:10px;height:9px;margin-bottom:1px}.gallery{width:100%;height:100%;position:relative}.gallery__controls{display:flex;position:absolute;bottom:.5rem;left:.5rem;z-index:1}.gallery__button{cursor:pointer;border:none;background:none;outline:none;color:#ffc513;padding:.25rem;filter:drop-shadow(0px 0px 1px black)}.gallery__button:hover{color:#721c24}.gallery__item-button{display:flex;align-items:center;cursor:pointer;border:none;background:none;outline:none;filter:drop-shadow(0px 0px 1px black)}.gallery__item-button::after{display:inline-block;content:"";width:4px;height:4px;background-color:#ffc513;border-radius:50%;transition:transform .2s}.gallery__item-button:hover::after,.gallery__item-button--active::after{background-color:#721c24;transform:scale(2)}.gallery__items-wrapper{list-style:none;margin:0;padding:0;width:100%;height:100%;display:flex;transition:transform .4s}.gallery__item{margin:0;min-width:100%;width:100%;height:100%}.gallery__image{width:100%;height:100%}.active-object{color:#ffc513 !important}
