body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.NavBar_navbar__he3Bk{background-color:var(--bg-color);border-bottom:.1rem solid var(--accent-color);display:flex;flex-direction:row;padding-left:.5rem;padding-right:.5rem}.NavBar_left__bjM8I{display:flex;flex-direction:row;gap:.5rem;justify-self:center;margin-right:auto;padding:.25rem;text-decoration:none}.NavBar_logo__NRwKm{border-radius:.5rem;height:2.5rem}.NavBar_name__dtnaN{color:#fff;display:flex;flex-direction:column;text-align:left}.NavBar_firstName__wfQlR{font-size:.9rem;font-weight:600}.NavBar_lastName__OH0k8{font-size:1.1rem;font-weight:600}.NavBar_right__Iqq6k{align-items:stretch;display:flex;flex-direction:row;justify-content:left;margin-left:auto}.NavBar_link__7INTd{align-items:center;border-radius:0;color:#fff;display:flex;flex-direction:row;padding:.5rem;text-decoration:none}.NavBar_link__7INTd:hover{background-color:var(--obj-color)}@media (prefers-reduced-motion:no-preference){.SlideFadeIn_anim__ikyEx{animation:SlideFadeIn_slideFadeIn__kfmqo .75s ease-out normal forwards}.SlideFadeIn_toBeAnimated__W3YMI{opacity:0}}@keyframes SlideFadeIn_slideFadeIn__kfmqo{0%{opacity:0;transform:translate(-2rem)}to{opacity:1;transform:translate(0)}}.AboutMe_row__Mt-2h{gap:2rem;margin:auto;max-width:37.5rem;padding:1rem;text-align:left}.AboutMe_picContainerContainer__JteD2{float:right;padding:3rem 1rem 1rem;width:35%}.AboutMe_picContainer__0B4nb{aspect-ratio:3/4;border-radius:1.5rem;position:relative}.AboutMe_cutout__m2pNB,.AboutMe_pic__cAPA0{border-radius:1.5rem;width:100%}.AboutMe_cutout__m2pNB{bottom:3px;left:0;position:absolute}.AboutMe_firstName__3lKph{font-style:italic;left:-14.75rem;position:absolute;top:-3rem}.AboutMe_firstNameSvg__0XxCE{height:3rem}.AboutMe_lastName__PpabT{left:-21rem;position:absolute;top:-1rem}.AboutMe_lastNameSvg__rS6\+r{height:7.5rem}.AboutMe_picClear__zYyZD{clear:both}.AboutMe_text__Wf3QR{line-height:120%;padding:9rem 1rem 0}.DevIcon_container__3O-zK{align-items:center;display:flex;flex-direction:column;gap:.7rem;height:2rem;text-align:center;width:2rem}.DevIcon_tooltip__6HSPT{text-wrap:nowrap;background-color:var(--tooltip-color);border-radius:.25rem;font-size:.9rem;opacity:0;padding:.25rem;pointer-events:none;z-index:15}@media (prefers-reduced-motion:no-preference){.DevIcon_tooltip__6HSPT{transition:opacity .15s ease-out,transform .15s ease-out}}.DevIcon_container__3O-zK:hover .DevIcon_icon__BrMXT{filter:brightness(80%)}.DevIcon_container__3O-zK:hover .DevIcon_tooltip__6HSPT{opacity:1;transform:translateY(-.5rem)}.PlaceholderImage_placeholder__yLxgf{animation:PlaceholderImage_bgPan__Zaomb 2s linear infinite;background:linear-gradient(-80deg,#ffffff1a 20%,#ffffff80 50%,#ffffff1a 80%);background-size:300% 300%;height:100%;max-height:100%;max-width:100%;width:100%}@keyframes PlaceholderImage_bgPan__Zaomb{0%{background-position:0 50%}to{background-position:150% 50%}}.ProjectGrid_projects__KMcs9{grid-gap:1rem;color:#fff;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:auto;max-width:100rem;padding:1rem}@media only screen and (max-width:80rem){.ProjectGrid_projects__KMcs9{grid-template-columns:repeat(2,1fr)}}@media only screen and (max-width:60rem){.ProjectGrid_projects__KMcs9{grid-template-columns:1fr}}.ProjectGrid_project__36er5{background-color:var(--obj-color);border-radius:.75rem;box-shadow:0 0 .25rem .25rem var(--obj-shadow-color);box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-direction:row;gap:1rem;justify-content:center;margin-bottom:.5rem;padding:1rem;position:relative;text-decoration:none}.ProjectGrid_project__36er5:hover{background-color:var(--obj-highlight-color)}.ProjectGrid_project__36er5:focus{outline:none}.ProjectGrid_outline__Jh5eA{border-radius:.75rem;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.ProjectGrid_project__36er5:focus .ProjectGrid_outline__Jh5eA{outline-style:solid}.ProjectGrid_logoContainer__mUzz7{aspect-ratio:1;border-radius:.5rem;box-sizing:border-box;overflow:hidden;width:10rem}.ProjectGrid_logo__p2i9d{width:100%}.ProjectGrid_text__xKAxX{align-content:top;align-self:right;box-sizing:border-box;display:flex;flex-direction:column;text-align:left;width:100%}.ProjectGrid_title__ANrBw{font-size:1.5rem;font-weight:600}.ProjectGrid_subtitle__2fLyr{color:#d3d3d3;font-size:.95rem}.ProjectGrid_tech__QDjUz{display:flex;flex-direction:row;gap:.5rem;justify-content:right;margin-top:auto}.ProjectGrid_tags__Jqk7K{bottom:0;display:flex;font-size:.8rem;gap:.5rem;left:50%;position:absolute;transform:translate(-50%,50%)}.ProjectGrid_tag__c3S5z{text-wrap:nowrap;border-radius:1rem;padding:.25rem .5rem}.Experience_jobs__xeCZn{display:flex;flex-direction:column;gap:1rem;justify-content:center;margin:auto;max-width:50rem;padding:.5rem 1rem}.Experience_job__IyuCM{color:#fff;display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem;position:relative}.Experience_logoContainer__RxAXr{border-radius:.75rem;box-sizing:border-box;height:5rem;overflow:hidden;width:5rem}.Experience_logo__FMrLs{width:100%}.Experience_content__N-qeh{display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;text-align:left}.Experience_tooltipOverlap__VF8j6{position:relative;z-index:1}.Experience_titleBar__e15Ju{display:flex;flex-direction:row;gap:.25rem}.Experience_title__WokbL{font-size:1.5rem;font-weight:600}.Experience_subtitle__xAIan{color:#d3d3d3;font-size:1rem;font-weight:400}.Experience_tech__t762e{align-items:flex-end;display:flex;flex:1 1;flex-direction:row;gap:.5rem;justify-content:right}.Experience_divider__8gFLP{border:none;border-top:1px solid gray;width:100%}.Experience_bullets__qopWd{display:flex;flex-direction:column;gap:.25rem}@media only screen and (max-width:55rem){.Experience_jobs__xeCZn{max-width:100%!important}}.TechStack_stack__Wqj3T{display:flex;flex-direction:column;margin:auto;max-width:30rem}.TechStack_groupName__zvgPH{margin-top:0}.TechStack_icons__ya9NK{column-gap:.5rem;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;padding-bottom:1.5rem;row-gap:1rem}.EmailCopy_copy__IMIYd{color:#fff;cursor:pointer;font-size:.9rem;position:relative;text-decoration:none}.EmailCopy_copy__IMIYd:hover{color:var(--accent-color)}.EmailCopy_tooltip__TYq5M{text-wrap:nowrap;background-color:var(--tooltip-color);border-radius:.25rem;color:#fff;font-size:.9rem;left:50%;opacity:0;padding:.25rem;pointer-events:none;position:absolute;transform:translate(-50%,.5rem);z-index:15}@media (prefers-reduced-motion:no-preference){.EmailCopy_tooltip__TYq5M{transition:opacity .15s ease-out,transform .15s ease-out}}.EmailCopy_copy__IMIYd:hover .EmailCopy_icon__GU5X5{filter:brightness(80%)}.EmailCopy_copy__IMIYd:hover .EmailCopy_tooltip__TYq5M{opacity:1;transform:translate(-50%,.25rem)}.Contact_contact__TLMW-{padding-bottom:1.5rem}.Contact_col__h5sOE{align-items:center;display:flex;flex-direction:column;justify-content:center}.Contact_emailHeader__cGFm9{margin-top:0}.Contact_linkButton__AP\+im{align-items:center;background-color:var(--obj-highlight-color);border-radius:.5rem;color:#fff;display:flex;flex-direction:row;justify-content:center;padding:.5rem;text-decoration:none;transition:background-color .1s}.Contact_linkButton__AP\+im:hover{background-color:var(--accent-color)}.Contact_or__bj27I{color:gray;display:flex;flex-direction:row;font-size:.75rem;padding-top:.25rem}.Contact_lineLeft__POKro{margin:auto .5rem auto auto}.Contact_lineLeft__POKro,.Contact_lineRight__JrqXE{background-color:gray;border:none;height:1px;width:100%}.Contact_lineRight__JrqXE{margin:auto auto auto .5rem}.Home_section__ejtmr{border-bottom:.1rem solid var(--accent-color)}.Home_sectionTitle__UiIOL{color:var(--accent-color);margin-bottom:.75rem}.Home_footer__JlTvt{background-color:var(--bg-color);color:gray;padding:1rem}.ImageModal_modalTrigger__BxbE-{background-color:initial;border:none;cursor:zoom-in;height:100%;left:0;padding:0;position:absolute;width:100%}.ImageModal_modalOverlay__TTAbi{background-color:#00000080;cursor:zoom-out;height:100%;left:0;position:fixed;top:0;width:100%}.ImageModal_modalBody__MtscB{background-color:var(--obj-color);border-radius:1rem;cursor:default;display:flex;flex-direction:column;gap:.5rem;left:50%;max-height:90vh;max-width:min(90vw,70rem);padding:1rem;position:fixed;top:50%;transform:translate(-50%,-50%)}.ImageModal_modalBody__MtscB:focus{outline:none}.ImageModal_header__woqQ8{align-items:center;color:#fff;display:flex;font-size:1.3rem;font-weight:600;justify-content:space-between;padding:0 .75rem}.ImageModal_imageNumber__Bslnx{color:gray;text-align:center}.ImageModal_xButton__VkA4O{background-color:initial;border:none;cursor:pointer;padding:0}.ImageModal_xButton__VkA4O:hover{filter:brightness(150%)}.ImageModal_xButton__VkA4O:active{filter:brightness(80%)}.ImageModal_imageRow__R9Y3F{align-items:center;display:flex;flex-direction:row;gap:.5rem}.ImageModal_image__WFISF{aspect-ratio:16/9;height:auto;max-height:70vh;max-width:calc(min(90vw, 70rem) - 5rem)}.ImageModal_chevronButton__uOIUc{background-color:initial;border:none;cursor:pointer;padding:0}.ImageModal_chevronButton__uOIUc:hover{filter:brightness(150%)}.ImageModal_chevronButton__uOIUc:active{filter:brightness(80%)}.HomeButton_button__OKTLj{align-items:center;color:gray;display:flex;flex-direction:row;font-size:.9rem;margin:1.5rem auto;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;text-decoration:none}.HomeButton_button__OKTLj:hover{color:var(--accent-color)}.HomeButton_button__OKTLj:hover .HomeButton_arrow__LivEs{transform:translateX(-.35rem)}.HomeButton_arrow__LivEs{height:1.25rem}@media (prefers-reduced-motion:no-preference){.HomeButton_arrow__LivEs{transition:transform .1s ease-out}}.ProjectPage_section__5xFCv{margin:auto;max-width:65rem;padding-top:1rem}.ProjectPage_titleBar__wW4nb{display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem;padding-left:1rem;padding-right:1rem}.ProjectPage_logoContainer__71jff{border-radius:.5rem;height:4.75rem;overflow:hidden}.ProjectPage_logo__rP9YS{height:100%}.ProjectPage_titleBarLeft__oHbKP{align-items:left;display:flex;flex-direction:column;margin-right:auto}.ProjectPage_titleBarRight__J0nSn{align-items:right;display:flex;flex-direction:column;margin-left:auto;text-align:right}.ProjectPage_title__vLHo-{color:var(--accent-color);font-size:2.5rem;height:3rem;margin-bottom:.5rem;margin-top:0;text-align:left}.ProjectPage_links__1U3mB{align-items:center;display:flex;flex-direction:row;gap:.5rem}.ProjectPage_link__pvxKO{align-items:center;color:#fff;display:flex;flex-direction:row;text-decoration:none}.ProjectPage_link__pvxKO:hover{color:var(--accent-color)}.ProjectPage_date__LAfFf{color:#d3d3d3;text-align:right}.ProjectPage_tech__SwND-{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.ProjectPage_content__\+YE5N{display:flex;flex-direction:row;gap:1.5rem;padding:1rem}.ProjectPage_text__y945X{flex:2 1;line-height:125%;text-align:left}.ProjectPage_previewContainer__01yPO{flex:3 1;position:relative}@media only screen and (max-width:55rem){.ProjectPage_content__\+YE5N{flex-direction:column}.ProjectPage_preview1__3mJIj{left:-5%!important;rotate:unset!important;width:90%!important}.ProjectPage_preview2__NJJ-y{right:0!important;rotate:unset!important;width:90%!important}}.ProjectPage_previewContainer__01yPO:hover .ProjectPage_preview1__3mJIj{filter:brightness(50%);left:-5%;rotate:-1.5deg}.ProjectPage_previewContainer__01yPO:hover .ProjectPage_preview2__NJJ-y{filter:brightness(50%);right:2.5%;rotate:1.5deg}@media (prefers-reduced-motion:no-preference){.ProjectPage_preview1__3mJIj{transition:left .15s ease-out,filter 75ms ease-out,rotate .15s ease-out}.ProjectPage_preview2__NJJ-y{transition:right .15s ease-out,filter 75ms ease-out,rotate .15s ease-out}.ProjectPage_previewHover__G-52P{transition:opacity 75ms ease-out}}.ProjectPage_preview1__3mJIj{box-shadow:.2rem 0 .2rem 0 var(--obj-shadow-color);left:-2.5%;position:relative}.ProjectPage_preview1__3mJIj,.ProjectPage_preview2__NJJ-y{border:1px solid gray;border-radius:.75rem;overflow:hidden;pointer-events:none;width:85%}.ProjectPage_preview2__NJJ-y{position:absolute;right:5%}.ProjectPage_previewContainer__01yPO:hover .ProjectPage_previewHover__G-52P{opacity:1}.ProjectPage_previewHover__G-52P{align-content:center;font-size:1.25rem;font-weight:600;height:100%;opacity:0;pointer-events:none;position:absolute;text-shadow:0 0 1rem #000;width:100%;z-index:10}.ProjectPage_iframe__pFWBe{aspect-ratio:16/9;border:1px solid gray;border-radius:.75rem;box-shadow:.2rem 0 .2rem 0 var(--obj-shadow-color);margin-bottom:-56%;transform:scale(.5);transform-origin:top left;width:200%}.Commit_commit__pdLrS{background-color:var(--obj-color);border-radius:.75rem;box-shadow:0 0 .25rem .25rem var(--obj-shadow-color);color:#fff;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;text-decoration:none}.Commit_commit__pdLrS:hover{background-color:var(--obj-highlight-color)}.Commit_mainRow__3Vrv6{display:flex;flex-direction:row;gap:1rem}.Commit_footerRow__H0-14{color:#d3d3d3;display:flex;flex-direction:row;font-size:.9rem;justify-content:space-between}.Commit_avatar__q-tTs{align-items:center;background-color:var(--avatar-bg-color);border-radius:.5rem;display:flex;height:3.5rem;justify-content:center;width:3.5rem}.Commit_content__7GhJY{display:flex;flex-direction:column;min-width:0;width:100%}.Commit_titleLine__l4QJB{display:flex;flex-direction:row;gap:.5rem;margin-bottom:.1rem}.Commit_titleLeft__HcEf5{align-items:center;display:flex;font-weight:700;gap:.25rem;min-width:0}.Commit_summary__X0dui{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Commit_linesChanged__TqBW1{display:flex;flex-direction:row;font-size:.9rem;gap:.5rem;margin-left:auto}.Commit_additions__Ubl\+H{color:#3fb950;font-weight:700}.Commit_deletions__6rL8v{color:#f85149;font-weight:700}.Commit_message__HK5Hz{color:gray;font-size:.9rem;font-style:italic;line-height:1.2em;text-align:start}.Commit_timeAgo__-m54W{color:gray}.CommitList_commitList__Ea-xZ{display:flex;flex-direction:column;gap:.75rem;margin:0 auto 1rem;max-width:50rem;padding:0 1rem}.CommitList_commitListTitle__sAeWG{margin-bottom:0}.CommitList_subtext__1IkTJ{color:gray}:root{--bg-color:#121212;--obj-color:#1e1e1e;--obj-highlight-color:#383838;--obj-shadow-color:#101010;--tooltip-color:#080808;--accent-color:#4c92fc}.App_main__nhgh3{background-color:#121212;background-color:var(--bg-color);color:#fff;margin:0;padding:0;text-align:center}@media only screen and (max-width:40rem){html{font-size:62.5%}}
/*# sourceMappingURL=main.bb92f5aa.css.map*/