html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.headerSubpage:after,.headerSubpage:before{content:"";display:table}.headerSubpage:after{clear:both}html{font-size:100%}:root{--color-bg: #fdfdfd;--color-surface: #fdfdfd;--color-surface-alt: #f6f4f0;--color-text: #444444;--color-heading: #333333;--color-muted: #666666;--color-subtle: #999999;--color-meta: #757575;--color-border: #dddddd;--color-border-strong: #bbbbbb;--color-accent: #14b8a6;--color-accent-contrast: #fdfdfd;--color-selection-bg: #dddddd;--color-selection-text: #000000;--color-code-inline-bg: #efefef;--color-card-overlay: rgba(253, 253, 253, 0.84);--color-avatar-outline: rgba(51, 51, 51, 0.22);--color-avatar-highlight: rgba(253, 253, 253, 0.1);--color-nav-transparent: #fdfdfd;--color-banner-title: rgba(253, 253, 253, 0.5);--color-banner-bg: #543640;--color-icon-filter: none;--color-icon-opacity: 0.95}:root[data-theme=dark]{--color-bg: #161718;--color-surface: #161718;--color-surface-alt: #23262a;--color-text: #f0e9df;--color-heading: #fffaf2;--color-muted: #d8d0c4;--color-subtle: #b7aea2;--color-meta: #cfc6ba;--color-border: #3a3d42;--color-border-strong: #4b4f55;--color-accent: #14b8a6;--color-accent-contrast: #161718;--color-selection-bg: #373b41;--color-selection-text: #f5efe6;--color-code-inline-bg: #2a2d31;--color-card-overlay: rgba(19, 21, 23, 0.66);--color-avatar-outline: rgba(255, 250, 242, 0.16);--color-avatar-highlight: rgba(255, 250, 242, 0.12);--color-nav-transparent: #fffaf2;--color-banner-title: rgba(255, 250, 242, 0.56);--color-banner-bg: #2a201d;--color-icon-filter: invert(1) brightness(1.15);--color-icon-opacity: 0.88}body{background:var(--color-bg);font-family:"Merriweather",serif;font-weight:300;font-size:18px;font-size:1.125rem;line-height:1.8;color:var(--color-text);text-size-adjust:none;transition:background-color .25s ease,color .25s ease}body.default{padding-top:72px}h1,h2,h3,h4,h5,h6{font-family:"Inter",sans-serif;color:var(--color-heading);font-weight:700;line-height:1.25;margin:.125rem 0 1.125rem;padding:0}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{border:0}h1{font-size:40px;font-size:2.5rem}h1 a{color:inherit}h2{font-size:32px;font-size:2rem}h3{font-size:28px;font-size:1.75rem}h4{font-size:22px;font-size:1.375rem}p{margin:0 0 1.75rem}a{color:inherit;border-bottom:1px solid var(--color-border-strong);text-decoration:none;cursor:pointer;transition:all .2s ease-in-out}a:hover,a:active{color:var(--color-accent);border-bottom-color:var(--color-accent)}ul,ol{margin:0 0 30px;padding-left:30px}ul{list-style-type:disc}ol{list-style-type:decimal}ol ul,ul ol,ul ul,ol ol{margin:0}ul ul,ol ul{list-style-type:circle}em,i{font-style:italic}strong,b{font-weight:bold}img{max-width:100%;height:auto}.twitter-tweet{margin-bottom:1.625rem !important}.gmnoprint img{max-width:none}::-moz-selection{color:var(--color-selection-text);background:var(--color-selection-bg)}::selection{color:var(--color-selection-text);background:var(--color-selection-bg)}.container{*zoom:1;width:auto;max-width:740px;float:none;display:block;margin-right:auto;margin-left:auto;padding-left:1rem;padding-right:1rem}.container:before,.container:after{content:"";display:table}.container:after{clear:both}.containerWide{*zoom:1;width:auto;max-width:1200px;float:none;display:block;margin-right:auto;margin-left:auto;padding-left:1rem;padding-right:1rem}.containerWide:before,.containerWide:after{content:"";display:table}.containerWide:after{clear:both}@media(min-width: 40.063em){.col-2{*zoom:1;float:left;clear:none;text-align:inherit;width:47.5%;margin-left:0%;margin-right:5%}.col-2:before,.col-2:after{content:"";display:table}.col-2:after{clear:both}.col-2:nth-of-type(2n){margin-right:0%;float:right}.col-2:nth-of-type(2n + 1){clear:both}}.main{padding:3.5rem 0}@media(min-width: 40.063em){.main{padding:5.5rem 0}}.center{text-align:center}.align-left{text-align:left}.align-right{text-align:right}body.homepage{min-height:100vh}.home{min-height:100vh}@media(min-width: 64.063em){.home{display:flex}}.homeRail{border-bottom:1px solid var(--color-border)}@media(min-width: 64.063em){.homeRail{flex:0 0 285px;border-right:1px solid var(--color-border);border-bottom:0;display:flex;align-items:center}}.homeRail__inner{display:flex;flex-direction:column;padding:2.5rem 1.75rem;width:100%}@media(min-width: 64.063em){.homeRail__inner{position:relative;min-height:60vh;padding:4.75rem 3.5rem}}@media(min-width: 64.063em){.homeRail__content{position:absolute;top:42%;left:3.5rem;right:3.5rem;transform:translateY(-50%)}}.homeRail__brand{position:relative;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border:0;line-height:0;align-self:flex-start;color:var(--color-text);isolation:isolate}.homeRail__brand::before{content:"";position:absolute;inset:1px;border:1px solid currentColor;border-radius:50%;pointer-events:none}.homeRail__brand svg{position:relative;z-index:1;width:24px;height:auto;overflow:visible}.homeRail__brand .logo path{fill:currentColor}.homeRail__nav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1rem}@media(min-width: 64.063em){.homeRail__nav{flex-direction:column;align-items:flex-start;gap:.8rem;margin-top:0}}.homeRail__link{border:0;font-family:"Inter",sans-serif;font-weight:400;color:var(--color-muted);font-size:14px;font-size:0.875rem}.homeRail__link-active{color:var(--color-heading)}@media(min-width: 64.063em){.homeRail__theme{margin-bottom:.85rem}}.homeRail__footer{margin-top:1rem}@media(min-width: 64.063em){.homeRail__footer{margin-top:auto;position:absolute;right:3.5rem;bottom:9rem;left:3.5rem}}.homeRail__meta{font-family:"Inter",sans-serif;color:var(--color-meta);font-size:13px;font-size:0.8125rem;line-height:1.8}.homeRail__meta p{margin:0}.homePanel{display:flex;align-items:center;padding:2.5rem 1.75rem 3rem}@media(min-width: 64.063em){.homePanel{flex:1;justify-content:center;padding:4rem 5vw}}.homePanel__inner{width:100%}@media(min-width: 64.063em){.homePanel__inner{width:min(100%, 820px);margin-left:2vw}}.homeIntro{display:flex;flex-direction:column;align-items:flex-start;gap:2rem}@media(min-width: 90.063em){.homeIntro{flex-direction:row;align-items:center;gap:3.5rem}}.homeIntro__avatarWrap{flex:0 0 auto;position:relative;width:190px;height:190px;padding:0;border-radius:36% 64% 57% 43%/45% 40% 60% 55%;overflow:hidden;animation:homeAvatarBlob 8s ease-in-out infinite}.homeIntro__avatarWrap::before{content:"";position:absolute;inset:0;border:8px solid var(--color-avatar-outline);border-radius:inherit;mix-blend-mode:multiply;pointer-events:none;z-index:2}.homeIntro__avatarWrap::after{content:"";position:absolute;inset:8px;border:1px solid var(--color-avatar-highlight);border-radius:inherit;pointer-events:none;z-index:3}@media(min-width: 64.063em){.homeIntro__avatarWrap{width:250px;height:250px}}.homeIntro__avatar{position:relative;z-index:1;display:block;width:100%;height:100%;border:0;border-radius:inherit;object-fit:cover;object-position:center;background:var(--color-surface-alt)}@keyframes homeAvatarBlob{0%,100%{border-radius:36% 64% 57% 43%/45% 40% 60% 55%}33%{border-radius:42% 58% 41% 59%/52% 37% 63% 48%}66%{border-radius:58% 42% 52% 48%/38% 56% 44% 62%}}.homeIntro__content{min-width:0;max-width:470px}.homeIntro__title{margin:0 0 1rem;font-weight:700;text-transform:uppercase;color:var(--color-heading);font-size:40px;font-size:2.5rem}@media(min-width: 40.063em){.homeIntro__title{font-size:52px;font-size:3.25rem}}.homeIntro__lede{margin:0 0 1.5rem;color:var(--color-muted);font-size:18px;font-size:1.125rem}@media(min-width: 40.063em){.homeIntro__lede{font-size:19px;font-size:1.1875rem}}.homeIntro__contacts{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:0;padding:0;list-style:none}.homeIntro__contacts a{position:relative;display:inline-block;padding-bottom:.12rem;border:0;font-family:"Inter",sans-serif;font-weight:400;color:var(--color-muted);letter-spacing:.5px;transform:translateY(0);transition:color .18s ease,transform .22s cubic-bezier(0.2, 0.8, 0.2, 1);font-size:13px;font-size:0.8125rem}.homeIntro__contacts a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left center;transition:transform .22s cubic-bezier(0.2, 0.8, 0.2, 1),opacity .18s ease;opacity:0}.homeIntro__contacts a:hover,.homeIntro__contacts a:focus-visible{color:var(--color-accent);transform:translateY(-2px)}.homeIntro__contacts a:hover::after,.homeIntro__contacts a:focus-visible::after{transform:scaleX(1);opacity:1}.homeIntro__contacts a:active{transform:translateY(-1px)}@media(prefers-reduced-motion: reduce){.homeIntro__contacts a{transition:color .18s ease}.homeIntro__contacts a::after{transition:opacity .18s ease}.homeIntro__contacts a:hover,.homeIntro__contacts a:focus-visible,.homeIntro__contacts a:active{transform:none}.homeIntro__contacts a:hover::after,.homeIntro__contacts a:focus-visible::after{transform:scaleX(1);opacity:1}}.headerSubpage{height:72px;width:100%;position:fixed;top:0;display:flex;align-items:center;padding:0 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);transition:all .2s ease-in-out;z-index:99;will-change:transform}@media(min-width: 40.063em){.headerSubpage{padding:0 1.25rem}}.headerSubpage-transparent{background:transparent;border-bottom:0}.headerSubpage__actions{display:flex;align-items:center;justify-content:flex-end;gap:.9rem;flex:1 1 auto;min-width:0}.header--container{position:absolute;left:50%;top:50%;transform:translate(-50%, -75%);width:100%}.header--title{margin:3vh 0 1vh;text-transform:uppercase;font-weight:400;letter-spacing:4px;color:var(--color-banner-title);font-size:26px;font-size:1.625rem}.header--title-subpage{margin:1rem 0;text-transform:none;font-size:32px;font-size:2rem}@media(min-width: 64.063em){.header--title-subpage{font-size:40px;font-size:2.5rem}}.header--subTitle{margin:0;color:var(--color-muted);font-family:"Merriweather",serif;text-transform:lowercase;opacity:.8;font-size:24px;font-size:1.5rem}@media(min-width: 40.063em){.header--subTitle{font-size:36px;font-size:2.25rem}}.header--logo{display:inline-block;border:0;line-height:0;width:160px;height:160px}@media(min-width: 64.063em){.header--logo{width:200px;height:200px}}.header--logo-subpage{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:var(--color-text);isolation:isolate;transition:color .2s ease-in-out}.header--logo-subpage::before{content:"";position:absolute;inset:1px;border:1px solid currentColor;border-radius:50%;pointer-events:none}.header--logo-subpage svg{position:relative;z-index:1;width:20px;height:auto;overflow:visible}.header--logo-subpage .logo path{fill:currentColor}.headerSubpage-transparent .header--logo-subpage{color:var(--color-nav-transparent)}.header--logo-subpage:hover,.header--logo-subpage:focus-visible{color:var(--color-accent)}.themeToggle{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:0;background:transparent;color:var(--color-muted);line-height:1;cursor:pointer;transition:color .2s ease-in-out}.themeToggle:hover,.themeToggle:focus-visible{color:var(--color-accent)}.themeToggle__icon{width:100%;height:100%;overflow:visible}.themeToggle__iconHalf{fill:currentColor}.themeToggle__iconRing{fill:none;stroke:currentColor;stroke-width:1.75}.themeToggle__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.themeToggle--rail{align-self:flex-start}.headerSubpage-transparent .themeToggle--nav{color:var(--color-nav-transparent)}.headerSubpage-transparent .themeToggle--nav:hover,.headerSubpage-transparent .themeToggle--nav:focus-visible{color:var(--color-accent)}.banner{height:64vh;background:var(--color-banner-bg) url(/images/header-about.jpg) no-repeat;background-size:cover}.nav{display:flex;flex-wrap:wrap;align-items:center}@media(min-width: 40.063em){.nav{justify-content:flex-end}}.nav--item{display:inline-block;margin:0 0 0 1.125rem;border:0;font-family:"Inter",sans-serif;font-weight:400;font-size:14px;font-size:0.875rem;text-transform:uppercase;letter-spacing:1px;color:var(--color-heading);transition:color .2s ease-in-out}.nav--item:hover,.nav--item:focus-visible{color:var(--color-accent)}.headerSubpage-transparent .nav--item{color:var(--color-nav-transparent)}.headerSubpage-transparent .nav--item:hover,.headerSubpage-transparent .nav--item:focus-visible{color:var(--color-accent)}.work .nav--item-work,.selectedwork .nav--item-work,.blog .nav--item-blog,.alittleaboutme .nav--item-about{color:var(--color-accent)}.iconNav{margin:0 auto;padding:2rem 0;border-bottom:1px solid var(--color-border);text-align:center}@media(min-width: 40.063em){.iconNav{padding:2.75rem 0}}.iconNav ul{margin:0;padding:0;list-style:none}.iconNav li{display:inline-block;margin:0 2.5%}@media(min-width: 40.063em){.iconNav li{margin:0 3rem}}.iconNav--item{display:block;width:80px;margin:0;border-bottom:0;font-family:"Inter",sans-serif;font-weight:400;text-transform:uppercase;text-align:center;letter-spacing:1px;font-size:16px;font-size:1rem}.iconNav--item--icon{margin:0 auto .5rem;opacity:.85;transition:transform .2s ease-in-out}.iconNav--item:hover .iconNav--item--icon{transform:scale(1.2)}.footer{padding:2rem 0;border-top:1px solid var(--color-border);text-align:center;font-family:"Inter",sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:var(--color-meta);font-size:13px;font-size:0.8125rem}@media(min-width: 64.063em){.footer{padding:3rem 0}}.socialNav{list-style:none;margin:0 auto 1rem;padding:0}.socialNav .icon-social{filter:var(--color-icon-filter);opacity:var(--color-icon-opacity);transition:filter .2s ease-in-out,opacity .2s ease-in-out}.socialNav li{display:inline-block;margin:0 .5rem;transition:250ms}.socialNav li:hover{transform:translate(0, -0.25rem)}.posts>.post{padding-bottom:4rem}.posts>.post:last-child{padding-bottom:1em;border-bottom:none}.post--title{margin-bottom:1rem;font-weight:700}.post--date{color:var(--color-muted);margin-bottom:1.75rem;font-size:16px;font-size:1rem}.post--image{margin:1rem 0}.post--content h2{font-weight:400}blockquote{margin:1.8em .8em;border-left:2px solid var(--color-border-strong);padding:.1em 1em;font-style:italic}blockquote p{margin:0;color:var(--color-muted)}.button{color:var(--color-text);display:inline-block;padding:.5rem 1.875rem;border:1px solid var(--color-border-strong);border-radius:100em;margin:.875rem .875rem .875rem 0;font-size:14px;font-size:0.875rem;transition:color .2s ease-in-out,border-color .2s ease-in-out}.button:hover{color:var(--color-accent);border-color:var(--color-accent)}.pageTitle{margin:0 0 2rem;text-transform:uppercase;color:var(--color-muted);font-size:18px;font-size:1.125rem}@media(min-width: 40.063em){.pageTitle{margin:0 0 2rem}}.projectTitle{margin-bottom:2rem;text-align:center}.selectedWork{margin:0 auto 4rem}@media(min-width: 40.063em){.selectedWork{margin-bottom:5rem}}.selectedWork__section{margin-bottom:3.5rem}.selectedWork__section:last-child{margin-bottom:0}.selectedWork__title{margin-bottom:1.5rem;font-family:"Inter",sans-serif;font-weight:700;line-height:1.2;color:var(--color-heading);font-size:32px;font-size:2rem}@media(min-width: 40.063em){.selectedWork__title{font-size:38px;font-size:2.375rem}}.selectedWork__eyebrow{margin:2rem 0 1rem;font-family:"Inter",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-heading);font-size:14px;font-size:0.875rem}.selectedWork__list{margin:0;padding-left:1.25rem}.selectedWork__list li{margin-bottom:.75rem}.selectedWork__see,.selectedWork__intro{margin-bottom:0}.selectedWork__section--earlier{padding-top:2rem;border-top:1px solid var(--color-border)}@media(min-width: 40.063em){.selectedWork__section--earlier{padding-top:2.5rem}}.item{margin:1rem 0 4rem;text-align:center}.item--hero{display:block;position:relative;margin-bottom:2rem;border:0;overflow:hidden}.item--hero img{display:block}.item--hero:hover .item--hero--overlay{background-color:var(--color-card-overlay)}.item--hero:hover .item--hero--overlay--cta{opacity:1}.item--hero--overlay{position:absolute;width:100%;height:100%;top:0;left:0;background-color:rgba(255,255,255,0);transition:background-color .3s ease-in-out}.item--hero--overlay--cta{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);opacity:0;transition:opacity .3s ease-in-out;display:inline-block;padding:.25rem .75rem;background-color:var(--color-heading);color:var(--color-bg);font-family:"Inter",sans-serif;font-weight:400;text-transform:uppercase;z-index:1;font-size:20px;font-size:1.25rem}.item--title{margin-bottom:.75rem;font-size:26px;font-size:1.625rem}.item--description{font-size:16px;font-size:1rem;color:var(--color-muted)}.mockup,.screenshot{margin:2rem 0 3.5rem;border:1px solid transparent !important}.screenshot{box-shadow:0 0 20px rgba(0,0,0,.2)}.videoEmbed{position:relative;height:0;padding-bottom:60%;overflow:hidden;margin-bottom:1.5rem}.videoEmbed iframe{position:absolute;left:0;top:0;height:100%;width:100%}.is-navUp{top:-72px}.icon-social{width:40px;height:40px;background-size:40px 40px}.icon-slurpee{width:29px;height:51px}.icon-coffee{width:32px;height:42px}.icon-drink{width:30px;height:38px}.highlight:not(div){line-height:1.625;padding:7px 7px 7px 10px;margin:.25rem 0 2rem 0;overflow-x:auto;font-size:14px;font-size:0.875rem}.highlight:not(div) .lineno{margin-right:.75rem;padding-right:.5rem;border-right:1px solid var(--color-border-strong);color:var(--color-muted)}code{font-family:"Source Code Pro",monospace;-webkit-text-size-adjust:none}p code{background-color:var(--color-code-inline-bg);padding:0rem .375rem}.highlight,pre.highlight{background:#282c34;color:#abb2bf}.highlight pre{background:#282c34}.highlight .hll{background:#282c34}.highlight .c{color:#5c6370;font-style:italic}.highlight .err{color:#960050;background-color:#1e0010}.highlight .k{color:#c678dd}.highlight .l{color:#98c379}.highlight .n{color:#abb2bf}.highlight .o{color:#abb2bf}.highlight .p{color:#abb2bf}.highlight .cm{color:#5c6370;font-style:italic}.highlight .cp{color:#5c6370;font-style:italic}.highlight .c1{color:#5c6370;font-style:italic}.highlight .cs{color:#5c6370;font-style:italic}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc{color:#c678dd}.highlight .kd{color:#c678dd}.highlight .kn{color:#c678dd}.highlight .kp{color:#c678dd}.highlight .kr{color:#c678dd}.highlight .kt{color:#c678dd}.highlight .ld{color:#98c379}.highlight .m{color:#d19a66}.highlight .s{color:#98c379}.highlight .na{color:#d19a66}.highlight .nb{color:#e5c07b}.highlight .nc{color:#e5c07b}.highlight .no{color:#e5c07b}.highlight .nd{color:#e5c07b}.highlight .ni{color:#e5c07b}.highlight .ne{color:#e5c07b}.highlight .nf{color:#abb2bf}.highlight .nl{color:#abb2bf}.highlight .nn{color:#abb2bf}.highlight .nx{color:#abb2bf}.highlight .py{color:#e5c07b}.highlight .nt{color:#e06c75}.highlight .nv{color:#e5c07b}.highlight .ow{font-weight:700}.highlight .w{color:#f8f8f2}.highlight .mf{color:#d19a66}.highlight .mh{color:#d19a66}.highlight .mi{color:#d19a66}.highlight .mo{color:#d19a66}.highlight .sb{color:#98c379}.highlight .sc{color:#98c379}.highlight .sd{color:#98c379}.highlight .s2{color:#98c379}.highlight .se{color:#98c379}.highlight .sh{color:#98c379}.highlight .si{color:#98c379}.highlight .sx{color:#98c379}.highlight .sr{color:#56b6c2}.highlight .s1{color:#98c379}.highlight .ss{color:#56b6c2}.highlight .bp{color:#e5c07b}.highlight .vc{color:#e5c07b}.highlight .vg{color:#e5c07b}.highlight .vi{color:#e06c75}.highlight .il{color:#d19a66}.highlight .gu{color:#75715e}.highlight .gd{color:#f92672}.highlight .gi{color:#a6e22e}
