#root{--color-navy-blue: #121826;--color-navy-blue-desaturated: rgb(32, 57, 67);--color-navy-blue-light: rgb(99, 204, 247);--color-navy-blue-dark: rgb(2, 27, 38);--color-navy-blue-semiTransparent: rgb(5, 68, 94, .55);--color-blue-grotto: #82b4df;--color-coral: #e27d60;--color-coral-desaturated: #bb9387;--color-mustard-yellow: #f4d35e;--color-black: rgb(0, 0, 0);--color-white: #fffafa;--color-background: var(--color-navy-blue);--color-primary: var(--color-navy-blue);--color-secondary: var(--color-blue-grotto);--color-accent: var(--color-coral);--color-accent-desaturated: var(--color-coral-desaturated);--color-highlight: var(--color-mustard-yellow);--color-text-light: var(--color-coral);--color-text-dark: var(--color-navy-blue);--font-size-title: clamp(3.5rem, 8vw, 9rem);--font-size-heading: clamp(2.5rem, 5vw, 5rem);--font-size-subheading: clamp(1.8rem, 3.5vw, 3rem);--font-size-body: clamp(1rem, 2vw, 1.6rem);--font-size-small: clamp(.8rem, 1.5vw, 1.2rem);--font-base: "Open Sans", "Arial", sans-serif;--font-title: 700 var(--font-size-title) var(--font-base);--font-heading: 600 var(--font-size-heading) var(--font-base);--font-subheading: 500 var(--font-size-subheading) var(--font-base);--font-body: 500 var(--font-size-body) var(--font-base);--font-small: 400 var(--font-size-small) var(--font-base);--font-button: 600 var(--font-size-small) var(--font-base);--font-button-header: 600 var(--font-size-body) var(--font-base);--line-height-large: 1.4;--line-height-default: 1.2;--line-height-small: 1;--line-height-smaller: .9;--line-height-smallest: .8;--gap-largest: 96px;--gap-larger: 48px;--gap-large: 24px;--gap-default: 16px;--gap-small: 8px;--gap-smaller: 6px;--gap-smallest: 4px;--border-radius-default: 32px;--shadow-title: 2px 2px 0 var(--color-accent);--padding-header: 45px;--padding-page: var(--gap-larger)}button{all:unset;display:inline-block;cursor:pointer}.page{background-color:var(--color-navy-blue);min-height:100vh;padding:0;overflow:auto;margin:0 auto}.page__content{max-width:1440px;padding:calc(var(--padding-header) + var(--padding-page)) var(--padding-page) 40px;margin:0 auto;display:grid;grid-template-columns:1fr;grid-template-rows:max-content 1fr max-content}@media screen and (max-width: 500px){#root{--padding-page: var(--gap-default)}.page__content{padding:75px var(--padding-page) 40px}}.header-link{font:var(--font-button-header);color:var(--color-secondary);text-decoration:none;width:max-content;position:relative}.header-link__text{position:relative;z-index:3;transition:color .15s ease-in}.header-link__desktop-text{margin:0;padding:0}.header-link__mobile-text,.header-link__mobile-icon{margin:0;padding:0;display:none}.header-link__text:hover{color:var(--color-navy-blue-dark)}.header-link__active{color:var(--color-highlight)}.header-link__underline{background-color:var(--color-accent);height:2px;position:absolute;width:105%;bottom:1px;left:-2px;z-index:2;transition:height .15s ease-in}.header-link__accent-underline{background-color:var(--color-highlight);height:6px;position:absolute;width:10%;bottom:-1px;z-index:1;transition:width .15s ease-in;visibility:hidden}.header-link:hover .header-link__accent-underline{visibility:visible;width:105%}.header-link:hover .header-link__underline{height:32px}@media screen and (max-width: 500px){.header-link{width:100%;height:100%}.header-link__accent-underline{height:2px;width:0%;visibility:hidden;transition:width .15s ease-in}.header-link__text{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%}.header-link__mobile-icon{display:block}.header-link__desktop-text{display:none}.header-link__accent-underline.header-link__active{width:100%;visibility:visible}.header-link__mobile-text{display:block;color:var(--color-text-dark)}.header-link__underline{display:none}}.buttonCTA{color:var(--color-text-dark);font:var(--font-button);background-color:var(--color-accent);padding:8px 42px;border-radius:32px;display:inline-block;width:max-content}.buttonCTA:hover{box-shadow:2px 2px 0 var(--color-secondary);transform:translate(-2px,-2px);text-shadow:1px 1px 0 var(--color-secondary)}.buttonCTA_disabled{background-color:var(--color-accent-desaturated);cursor:default}.buttonCTA_disabled:hover{box-shadow:none;transform:none;text-shadow:none}@media screen and (max-width: 500px){.buttonCTA{padding:8px 24px;font-size:var(--font-size-default)}}.header{position:fixed;top:0;right:0;left:0;height:45px;max-width:1440px;margin:0 auto;background-color:var(--color-background);padding:24px 32px;z-index:2;display:flex;flex-direction:row;align-items:center;justify-content:space-between;transition:background-color .3s ease-in-out,height .3s ease-in-out}.header__left{display:flex;flex-direction:row;column-gap:24px}.header__right{display:flex;flex-direction:row;column-gap:24px;align-items:center}.header__right-links{display:flex;flex-direction:row;column-gap:24px}@media screen and (max-width: 500px){.header{padding:0;margin:0;display:grid;grid-template-columns:1fr 2fr;background-color:var(--color-secondary);height:48px;width:100%}.header__cta{display:none}.header__left{display:grid;margin:0;padding:0;height:100%}.header__right{display:block;height:100%}.header__right-links{height:100%;column-gap:0;display:grid;grid-template-columns:1fr 1fr}}.home{padding:72px 24px 24px;display:flex;flex-direction:column;row-gap:30px;position:relative;align-items:center;height:max-content;overflow:hidden;justify-content:center}@media screen and (max-width: 500px){.home{padding:0;margin:0;overflow:visible;row-gap:0}}.intro-section{display:flex;flex-direction:row;column-gap:40px;position:relative;align-items:center;padding:0 48px;width:100%}.intro-section__image-mobile{display:none}.intro-section__text-container{display:flex;flex-direction:column;width:max-content;align-items:left;align-self:last baseline;row-gap:var(--gap-large)}.intro-section__text{display:flex;margin:0;padding:0;text-align:left;font:var(--font-body);line-height:var(--line-height-large);color:var(--color-accent)}.intro-section__button-bar_desktop{display:flex;flex-direction:row;column-gap:24px}.intro-section__button-bar_mobile{display:none}@media screen and (max-width: 1000px){.intro-section__text-container{row-gap:var(--gap-default)}.intro-section__text{line-height:var(--line-height-default)}}@media screen and (max-width: 500px){.intro-section{flex-direction:column;padding:0;margin:0;justify-content:center;align-items:center}.intro-section__image-desktop{display:none}.intro-section__image-mobile{display:block}.intro-section__text{width:100%}.intro-section__text-container{row-gap:12px;padding:24px 0 0}.intro-section__button-bar_desktop{display:none}.intro-section__button-bar_mobile{padding:12px 0;display:flex;justify-content:center}}.main__text{display:flex;margin:0;padding:0;text-align:left;font:var(--font-heading-large);color:var(--color-accent)}.layered-image{position:relative;width:40vw;height:40vw;min-width:360px;min-height:360px;border-radius:var(--border-radius-default);max-width:750px;max-height:750px}.layered-image__title-text{position:absolute;font:var(--font-title);line-height:0;color:var(--color-secondary);text-shadow:2px 2px 0 var(--color-accent);bottom:83%;margin:0;text-align:center;padding:0;width:max-content;left:50%;transform:translate(-50%)}.layered-image__subtitle-text{position:absolute;left:50%;transform:translate(-50%);font:var(--font-title);line-height:0;color:var(--color-secondary);text-shadow:2px 2px 0 var(--color-accent);text-align:center;width:100%;bottom:13%;height:min-content;width:max-content;margin:0;padding:0}.layered-image__background-container{width:max-content;position:absolute;overflow:hidden;border-radius:var(--border-radius-default);height:100%;bottom:0;left:50%;transform:translate(-50%)}.layered-image__background{object-fit:contain;width:100%;height:100%}.layered-image__foreground{position:absolute;border-radius:var(--border-radius-default);object-fit:contain;bottom:0;width:100%;height:77.4%}@media screen and (max-width: 500px){.layered-image{min-width:300px;min-height:300px}}.parse-text{margin:0;padding:0;display:flex;flex-direction:column;row-gap:var(--gap-small)}.parse-text__text{margin:0;padding:0;font:var(--font-body);align-self:last baseline;max-height:100%;color:var(--color-accent)}.resume{padding:40px 0;display:grid;grid-template-columns:max-content min-content 1fr;column-gap:48px;position:relative;font:var(--font-heading);color:var(--color-text-dark)}.resume__about-image_mobile{display:none}.resume__button-column{display:flex;flex-direction:column;row-gap:17px;justify-content:center}.resume__information-section{display:grid;min-height:450px;grid-template-rows:1fr min-content}.resume__text-section{display:flex;flex-direction:column;justify-content:center}.resume__text{font:var(--font-paragraph);color:var(--color-accent)}@media screen and (max-width: 500px){.resume{padding:0;display:flex;justify-content:center;flex-direction:column;align-items:center;row-gap:16px}.resume__about-image_desktop{display:none}.resume__about-image_mobile{display:inline-block}.resume__button-column{padding:32px 0 0;display:flex;flex-direction:row;flex-wrap:wrap;row-gap:8px;column-gap:8px;max-width:300px}.resume__information-section{padding:0;min-height:0;display:flex;flex-direction:column;justify-content:center;row-gap:16px}}.button-primary{color:var(--color-accent);text-align:center;font:var(--font-button);border:2px solid var(--color-accent);padding:8px 24px;border-radius:32px;display:inline-block}.button-primary:hover{box-shadow:2px 2px 0 var(--color-secondary);transform:translate(-2px,-2px);text-shadow:1px 1px 0 var(--color-secondary)}.button-primary_active{background-color:var(--color-highlight);color:var(--color-primary);border:none}@media screen and (max-width: 500px){.button-primary{padding:8px 12px}}.button-download{color:var(--color-text-dark);font:var(--font-button);background-color:var(--color-accent);padding:8px 42px;border-radius:32px;display:inline-block;width:max-content;text-decoration:none}.button-download:hover{box-shadow:2px 2px 0 var(--color-secondary);transform:translate(-2px,-2px);text-shadow:1px 1px 0 var(--color-secondary)}@media screen and (max-width: 500px){.button-download{padding:4px 24px}}.portfolio-dev__title{font:var(--font-title);color:var(--color-secondary);line-height:var(--line-height-smaller);text-shadow:2px 2px 0 var(--color-accent);margin:0;padding:0}.portfolio-dev__items{display:flex;flex-direction:column;row-gap:var(--gap-default)}@media screen and (max-width: 500px){.portfolio-dev{display:flex;flex-direction:column}.portfolio-dev__title{line-height:var(--line-height-small)}}.loom-embed{aspect-ratio:4 / 3;width:100%}.loom-embed__loading{display:flex;justify-content:center;align-items:center;height:100%;border-radius:32px;font:var(--font-subheading);color:var(--color-accent);background-color:#0006;transition:opacity .15s ease,visibility .15s ease .15s}.loom-embed__hidden{opacity:0;visibility:hidden;display:none}.loom-embed__container{position:relative;width:100%;height:100%;max-width:800px}.loom-embed__container iframe{position:absolute;width:100%;height:100%;border:none;border-radius:32px;overflow:hidden}.portfolio-item{display:flex;flex-direction:column}.portfolio-item__title{font:var(--font-heading);color:var(--color-secondary);line-height:var(--line-height-smallest)}.portfolio-item__content_left{display:grid;grid-template-columns:min-content 1fr;column-gap:48px}.portfolio-item__content_right{display:grid;grid-template-columns:1fr min-content;column-gap:48px}.portfolio-item__video{width:55vw;height:max-content}.portfolio-item__info{display:flex;flex-direction:column;row-gap:var(--gap-default)}.portfolio-item__button-bar{display:flex;column-gap:var(--gap-default)}.portfolio-item__text{font:var(--font-paragraph);color:var(--color-accent)}.portfolio-item__video-file{border:0;width:640px;height:500px}@media screen and (max-width: 500px){.portfolio-item__title{color:var(--color-secondary);line-height:var(--line-height-small)}.portfolio-item__content_left,.portfolio-item__content_right{display:flex;flex-direction:column;align-items:center;row-gap:var(--gap-larger)}.portfolio-item__video{width:89vw;object-fit:fill;border-radius:var(--border-radius-default)}.portfolio-item__text{padding:0 var(--gap-small)}.portfolio-item__info{row-gap:var(--gap-small)}}.footer{padding:12px 48px;display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;background-color:var(--color-background);color:var(--color-secondary)}.footer__author,.footer__year{font:var(--font-small)}.modal-connect__title{font:var(--font-title);line-height:var(--line-height-small);color:var(--color-text-dark);text-shadow:var(--shadow-title);margin:0}.modal{top:0;left:0;right:0;bottom:0;background-color:#0000004d;position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.modal__wrapper{padding:42px 24px;box-sizing:border-box;height:min-content;width:clamp(45ch,50%,300ch);border-radius:32px;position:relative;background-color:var(--color-secondary);max-width:90vw;max-height:90vh;overflow:hidden}.modal__close-button{border:none;background-color:var(--color-styleWhite);border-radius:50%;height:32px;width:32px;border:2px outset black;display:flex;align-items:center;justify-content:center;position:absolute;top:16px;right:16px;cursor:pointer}.modal__close-button_header-image{top:20.79px}.modal__close-icon{width:18px;height:18px}.modal__title{margin:0 0 32px;font:var(--font-title);font-size:64px;color:var(--color-primary);text-shadow:2px 2px 0 var(--color-accent)}.modal__button:hover{background-color:var(--color-accent)}.modal__label{font:var(--font-subheading);display:flex;flex-direction:column;row-gap:4px}.modal__input{background-color:#fff;font:var(--font-darkParagraph);padding:4px 18px;border-radius:32px}.modal__button-container{display:flex;flex-direction:row;align-items:top;justify-content:end;column-gap:16px;padding:12px 0 0}.modal__form{display:flex;flex-direction:column;row-gap:12px}.modal__label-container{display:flex;flex:row;column-gap:12px;align-items:baseline;justify-content:space-between;height:29px}.modal__error-placeholder{display:flex;justify-content:right;width:100%}.modal-with-form__form{display:flex;flex-direction:column;row-gap:var(--gap-default)}.modal-with-form__label{font:var(--font-subheading);display:block}.modal-with-form__input{border:none;border-bottom:1px solid rgba(0,0,0,1);width:100%;display:block;margin-top:8px}.modal-with-form__radio-buttons{border:none;margin:0;padding:0}.modal-with-form__button-container{display:flex;flex-direction:row;align-items:top}.modal-with-form__legend{display:flex;flex-direction:column;row-gap:8px;justify-content:left}.modal-with-form__radio-input{margin-right:15px;color:#00000080}.modal-with-form__label_type_radio{color:#00000080}.modal-with-form__radio-input:checked+span{color:#000}.modal-with-form__submit{width:100%;border:none;height:44px;padding:12px 0;border-radius:4px 0 0;opacity:0px;margin:30px 0 0;background-color:#0000004d;color:#fff;font-family:Cabinet Grotesk;font-size:16px;font-weight:700;line-height:20px}.modal-with-form__error-placeholder{height:12px;width:100%;display:flex;justify-content:right}.modal-with-form__submit:hover{background-color:#0009}@media screen and (max-width: 500px){.modal{width:100%}}.form-error-message{font:var(--font-small);line-height:var(--line-height-default);color:var(--color-highlight)}.form-input__label{font:var(--font-subheading);color:var(--color-text-dark);display:flex;flex-direction:column;row-gap:var(--gap-default);margin:0;padding:0}.form-input__input{background-color:#fff;font:var(--font-small);padding:var(--gap-small) var(--gap-default);border-radius:var(--border-radius-default)}.form-input__button-container{display:flex;flex-direction:row;align-items:top;justify-content:end;column-gap:var(--gap-default);padding:var(--gap-small) 0 0}.form-input__label-container{display:flex;flex:row;align-items:baseline;justify-content:space-between;height:var(--gap-larger);width:100%}@media screen and (max-width: 500px){.form-input__label-container{height:var(--gap-large)}}/*! 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}@font-face{font-family:Open Sans;src:url(/assets/OpenSans-Regular-DxJTClRG.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Open Sans;src:url(/assets/OpenSans-SemiBold-D3TTYgdB.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Open Sans;src:url(/assets/OpenSans-Bold-DGvYQtcs.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Open Sans;src:url(/assets/OpenSans-ExtraBold-JgqSG6ty.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Open Sans;src:url(/assets/OpenSans-Italic-C_AuCsze.ttf) format("truetype");font-weight:400;font-style:italic}
