.daylight,body{background:#fafafa}body{color:#181818}a,a:hover,a:visited{color:#895a9d}.header-nav a.header-nav__link--active{border-bottom:3px solid #181818}body{font-family:Source Sans\ 3,Arial,sans-serif;font-size:1.2rem;line-height:1.625rem}body,h1,h2,h3{font-weight:300}h1,h2,h3{font-family:"Source Serif 4",serif}h1{font-size:2.5rem;line-height:3.5rem}h2{font-size:2rem;line-height:3rem;margin-top:3rem;margin-bottom:-.5rem}h3{font-size:1.5rem;line-height:2rem;margin-top:2rem}h4{line-height:1.625rem;font-weight:600;margin-top:2rem;margin-bottom:-.7rem}h4,p{font-family:Source Sans\ 3,Arial,sans-serif;font-size:1.2rem}p{max-width:980px;line-height:1.8rem;margin-bottom:2rem}a,a:visited{text-decoration:none}a:hover,a:visited:hover{text-decoration:underline;color:#895a9d;cursor:pointer}a.button,a:visited.button{color:#895a9d;border:2px solid #895a9d;padding:10px 20px;margin-right:15px;border-radius:4px}a.button:hover,a:visited.button:hover{text-decoration:none;background:#e6dcea}a.external{text-decoration:underline}ul{font-family:Source Sans\ 3,Arial,sans-serif;margin-left:-40px;list-style-position:outside}ul li:not(last-child){margin-bottom:10px}ul.two-col-list{column-count:2;-webkit-columns:2;-moz-columns:2}@media only screen and (max-width:720px){ul.two-col-list{column-count:1;-webkit-columns:1;-moz-columns:1}}ul.no-list-style{list-style:none;margin-left:0;padding-left:0}ul.no-list-style li{margin-bottom:0}ol,ul.num-margin{margin-left:-20px}ol{list-style-position:outside}ol li{margin-bottom:10px}strong{font-weight:600}sup{vertical-align:top;position:relative;top:-.5em;font-size:.6em}.caption{font-size:1rem;line-height:1.25rem;color:#8f8f8f}body{margin:0;overflow-x:hidden;box-sizing:border-box}body,footer,header{position:relative;width:100%}.container{margin:0 auto;max-width:1000px;padding:0 30px}.container .section{margin:40px 0}.flex-container{display:flex;flex-direction:row}.flex-container.flex-reverse{flex-direction:row-reverse}@media only screen and (max-width:720px){.flex-container,.flex-container.flex-reverse{flex-direction:column}}.flex-container .one-col{vertical-align:top;width:48%;padding-right:20px}.flex-container .one-col.col-center{display:flex;align-items:center;justify-content:center}.flex-container .one-col.col-center img{justify-content:center;align-items:center;text-align:center;margin:0 auto}@media only screen and (max-width:720px){.flex-container .one-col{width:100%;padding-right:0}}.flex-container .one-3-col{width:30%;padding-right:20px}header{position:fixed;top:0;left:0;margin:0 auto;height:50px;width:100%;z-index:2;background:#fafafa;opacity:90%}header .header-wrapper{display:flex;justify-content:space-between}header .header-nav,header .name{display:inline-block}header .name{padding-top:10px}header .name a{color:#8f8f8f}header .header-nav{padding:10px 0 10px 18px;text-align:right}header .header-nav a{padding:9px 0;margin-left:25px;text-decoration:none;font-weight:600}footer{margin-top:80px;margin-bottom:0;height:50px;color:#8f8f8f}footer p{margin:0;text-align:right;font-size:1rem}footer .copyright{padding:5px 0}hr{border:1px solid #c4c4c4}.button-group{margin:40px 0}.whatdo{margin:15vh 0;font-size:4rem}.contactBox{text-align:center;background:#f4f4f4;padding:1px 0 50px;margin-top:40px}.backProjects{text-align:center;margin:80px 0}.margin-top--none{margin-top:0}.icon{display:inline-block;object-fit:contain}.icon.linkedin{background-image:url(/_next/static/media/linkedin.23ad448b.svg)}.icon.github{background-image:url(/_next/static/media/github.426afc68.svg)}.projectList{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}@media only screen and (max-width:720px){.projectList{flex-direction:column;justify-content:center;align-items:center}}.projectList .projectCardWrapper{width:48%;margin:25px 0}@media only screen and (max-width:720px){.projectList .projectCardWrapper{width:100%}}.projectList .projectCard .projectHero{margin-bottom:15px}.projectList .projectCard h2,.projectList .projectCard p{margin:0;padding:0}.projectList .projectCard p{padding:5px 0 10px}.projectList .projectHero{box-shadow:0 6px 6px 0 rgba(24,24,24,.15);border-radius:5px;transition:box-shadow .5s ease;aspect-ratio:4/3;overflow:hidden;object-fit:cover;display:flex;justify-content:center;align-items:center}.projectList .projectHero:hover{box-shadow:0 8px 8px 0 rgba(24,24,24,.25);transition:box-shadow .5s ease}.projectList .projectHero .heroImage{height:100%;width:auto}.projectList.cards .project-card-wrapper{width:30%;padding:4px}.projectList.cards .project-card-wrapper .project-card{border-radius:10px}.projectList.cards .project-card-wrapper .project-card h2,.projectList.cards .project-card-wrapper .project-card p{padding:0 12px}.projectList img{border-radius:10px}.projectPage .projectHero{position:relative;max-height:450px;overflow:hidden;margin-top:50px;display:flex;justify-content:center;align-items:center}.projectPage .projectHero .heroImage{width:100%;height:auto}.projectPage .projectTitle h1.title{margin-bottom:0;padding-bottom:0}.projectPage .projectTitle .client,.projectPage .projectTitle .projectDate{color:#8f8f8f;font-size:1rem;line-height:1.25rem;margin:5px 0 5px 1px}.projectPage img{width:100%;height:auto}.projectPage img.max-ht{max-height:450px;width:auto}.projectPage .projectStats{display:flex;border-top:1px solid #c4c4c4;margin-top:20px;padding-top:20px}.projectPage .projectStats .stat{margin-right:20px}.projectPage .projectStats .stat .statLabel,.projectPage .projectStats .stat .statValue{font-size:1rem;margin:5px 0;line-height:1.25rem}.projectPage .projectStats .stat .statLabel{color:#8f8f8f}.projectPage .frame-container{margin:0 auto}.projectPage .frame-container.lhl-frame{max-width:412px}.projectPage #references{margin-top:50px}.projectPage #references a{color:#895a9d;text-decoration:underline}.whoami{margin-top:80px}.section h2{margin-bottom:20px;margin-top:0;line-height:3rem}.section ul{margin-left:0;padding-left:0}.section ul li{list-style:none}.pub .pub-item h4{margin-bottom:0}.pub .pub-item p{margin-top:0}.contact-socials .icon{width:24px;height:24px;margin-right:10px;margin-bottom:-5px}.not-found-page{margin-top:80px}.not-found-page .image-container{max-width:100%}.not-found-page .not-found-image{width:100%;margin:0 auto;object-fit:contain;height:auto}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/692c5412c7c077f9-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/6f51bd087744144e-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/6991ff46d90fc8f5-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/548889ae31a30f45-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/2055a3bc9372cf01-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/f1f13f4234669585-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/a4a78f32e6d6bdeb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/692c5412c7c077f9-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/6f51bd087744144e-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/6991ff46d90fc8f5-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/548889ae31a30f45-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/2055a3bc9372cf01-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/f1f13f4234669585-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Source Sans\ 3;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/a4a78f32e6d6bdeb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_f4b807{font-family:Source Sans\ 3,Source Sans\ 3 Fallback}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f634fb55d26f5aa3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/575e25e7e54092df-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f8e99d3abeeb4028-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/08236e99e6a858d4-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/edd904a92d723b7e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/9f7cd842229077d7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Source Serif 4 Fallback";src:local("Times New Roman");ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.00%;size-adjust:117.91%}.__className_abb0aa{font-family:"Source Serif 4","Source Serif 4 Fallback";font-weight:300;font-style:normal}