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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{-webkit-animation:App-logo-spin 20s linear infinite;animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@-webkit-keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.App{overflow-y:hidden}#bg,.App{overflow-x:hidden}#bg{align-items:center;background-color:initial;display:flex;flex-direction:row;justify-content:center}@media (max-width:1000px){#bg{flex-direction:column}.div-left{order:1!important}.div-right{order:2!important}.jakob{order:3!important}}@media (max-width:800px){#bg{flex-direction:column}.div-left{order:1}.div-right{order:2}.jakob{order:3}}@media (max-width:700px){#bg{flex-direction:column}.div-left{order:1}.div-right{order:2}.jakob{order:3;-webkit-transform:translateY(25%);transform:translateY(25%)}#mouth{-webkit-transform:scale(2%);transform:scale(2%)}}.App header{background-color:initial;font-family:Lucida Console,Courier New,monospace;padding-top:2px;position:-webkit-sticky;position:sticky;text-align:center;text-shadow:-1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;top:0;width:100%;z-index:5}.portrait-stage{inset:0;overflow:hidden;position:fixed}.jakob{-webkit-tap-highlight-color:transparent;align-items:center;bottom:0;display:flex;flex-direction:column;justify-content:center;order:2;overflow-x:hidden;overflow-y:hidden;position:absolute;width:100%}.portrait-jaw,.portrait-top{display:grid;width:1160px}.portrait-top{height:515px}.portrait-jaw{height:358px;margin-bottom:-5px;margin-top:-5px}.jaw-frame,.portrait-top img{-webkit-tap-highlight-color:transparent;display:block;grid-area:1/1}.portrait-blink{-webkit-animation:portrait-blink 4s step-end infinite;animation:portrait-blink 4s step-end infinite;opacity:0;pointer-events:none}.jaw-frame{opacity:0}.jaw-rest{-webkit-animation:jaw-rest 3s step-end infinite;animation:jaw-rest 3s step-end infinite;opacity:1}.jaw-middle{-webkit-animation:jaw-middle 3s step-end infinite;animation:jaw-middle 3s step-end infinite}.jaw-deep{-webkit-animation:jaw-deep 3s step-end infinite;animation:jaw-deep 3s step-end infinite}@-webkit-keyframes portrait-blink{0%,to{opacity:0}95%{opacity:1}}@keyframes portrait-blink{0%,to{opacity:0}95%{opacity:1}}@-webkit-keyframes jaw-rest{0%,95%,to{opacity:1}25%{opacity:0}}@keyframes jaw-rest{0%,95%,to{opacity:1}25%{opacity:0}}@-webkit-keyframes jaw-middle{0%,45%,95%,to{opacity:0}25%,75%{opacity:1}}@keyframes jaw-middle{0%,45%,95%,to{opacity:0}25%,75%{opacity:1}}@-webkit-keyframes jaw-deep{0%,75%,to{opacity:0}45%{opacity:1}}@keyframes jaw-deep{0%,75%,to{opacity:0}45%{opacity:1}}@media (prefers-reduced-motion:reduce){.jaw-frame,.portrait-blink{-webkit-animation:none;animation:none}}#mouth{-webkit-tap-highlight-color:transparent;display:none;margin-bottom:-80px;margin-top:-100px;-webkit-transform:scale(50%);transform:scale(50%)}.div-right{margin:auto;order:3;z-index:5}.App .mid{-webkit-tap-highlight-color:transparent;background-color:initial;border:none;color:#d3d3d3;cursor:pointer;font-size:170%;margin:auto;position:relative;text-shadow:-1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;z-index:4}.div-left{background-color:#fff;border-radius:6px;margin:auto;order:1;z-index:5}.App .mid:hover{text-shadow:1px 1px 2px;transition:.2s}#eye{background:#fff;box-shadow:0 0 30px 1px #222236ad;height:50px;overflow:hidden;-webkit-transform:translate(990%,660%);transform:translate(990%,660%);width:50px}#eye,#eyeBall{border-radius:50%;position:absolute;z-index:-1}#eyeBall{background:#add8e6;height:25px;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:0;width:25px}#eye2{background:#fff;box-shadow:0 0 30px 1px #222236ad;height:50px;overflow:hidden;-webkit-transform:translate(1272%,655%);transform:translate(1272%,655%);width:50px}#eye2,#eyeBall2{border-radius:50%;position:absolute;z-index:-1}#eyeBall2{background:#add8e6;height:25px;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:0;width:25px}.App .mid{text-decoration:none}.Projects{overflow-x:clip}@media (max-width:820px){.container{flex-direction:column!important}}@media (max-width:420px){.container{flex-direction:column!important}.item{padding:6px}.item,.item img{max-height:300px!important;max-width:300px!important}.item img{border-radius:12px}.item p{font-size:30px;position:relative;right:-12px!important;text-shadow:-1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;top:-330px!important}}.Projects header{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 3px 12px rgb(0 0 0/5%);box-sizing:border-box;font-family:Lucida Console,Courier New,monospace;padding:16px 12px;position:-webkit-sticky;position:sticky;text-align:center;top:0;width:100%;z-index:10}.Projects header h1,.Projects header h3{margin:0 0 8px}.mid{font-size:170%}.back,.mid{background-color:initial;border:none;color:#d3d3d3;cursor:pointer;margin:auto}.back:hover,.mid:hover{text-shadow:1px 1px 2px;transition:.2s}.container{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.item{max-height:400px;max-width:400px;padding:6px;transition:all .2s ease-in-out}.item:hover{-webkit-transform:scale(1.01);transform:scale(1.01)}.item img{border-radius:12px;max-height:400px;max-width:400px}.item p{font-size:30px;position:relative;right:-15px;text-shadow:-1px 0 #fff,0 1px #fff,1px 0 #fff,0 -1px #fff;top:-420px}.Projects .item{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;position:relative}.Projects .item p{left:20px;position:absolute;right:12px!important;text-align:left;top:0!important}.Projects .mid{text-decoration:none}.last-updated{box-sizing:border-box;color:#b0b0b0;font-size:12px;line-height:1.5;padding:24px 16px;text-align:left}body.project-modal-open{overflow:hidden}.project-modal-overlay{align-items:center;-webkit-animation:project-overlay-in .18s ease-out;animation:project-overlay-in .18s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(17,24,39,.65);display:flex;inset:0;justify-content:center;padding:32px;position:fixed;z-index:20}.project-modal{-webkit-animation:project-modal-in .22s ease-out;animation:project-modal-in .22s ease-out;background:#fff;border:1px solid hsla(0,0%,100%,.6);border-radius:24px;box-shadow:0 32px 100px rgba(0,0,0,.3);color:#182124;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);max-width:1000px;outline:none;overflow-y:auto;overscroll-behavior:contain;position:relative;width:100%}.project-modal-close{background:hsla(0,0%,100%,.95);border:1px solid #dfe5e5;border-radius:50%;color:#253436;cursor:pointer;display:grid;flex-shrink:0;grid-column:1/-1;height:40px;justify-self:end;margin:16px 16px -56px 0;place-items:center;position:-webkit-sticky;position:sticky;top:16px;transition:background .15s,-webkit-transform .15s;transition:background .15s,transform .15s;transition:background .15s,transform .15s,-webkit-transform .15s;width:40px;z-index:1}.project-modal-close:hover{background:#edf2f1;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.project-modal-media{align-items:center;background:#f0f3f2;display:flex;justify-content:center;min-height:360px;padding:32px}.project-modal-media img{border-radius:12px;display:block;height:auto;max-height:520px;object-fit:contain;width:100%}.project-modal-details{align-self:center;padding:64px 40px 40px}.project-modal-eyebrow{color:#536b68;font-family:Lucida Console,Courier New,monospace;font-size:11px;letter-spacing:.08em;line-height:1.8;margin:0 0 16px}.project-modal-eyebrow span{color:#a1afad;margin:0 8px}.project-modal-details h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.035em;line-height:1.15;margin:0 0 22px;overflow-wrap:anywhere}.project-modal-description{color:#52605f;font-size:15px;line-height:1.8;margin:0}.project-modal-link{align-items:center;background:#214c44;border-radius:10px;color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:16px;margin-top:28px;padding:13px 20px;text-decoration:none;transition:background .15s}.project-modal-link:hover{background:#15382f}.project-modal-close:focus-visible,.project-modal-link:focus-visible{outline:3px solid #48a18b;outline-offset:4px}@-webkit-keyframes project-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes project-overlay-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes project-modal-in{0%{opacity:0;-webkit-transform:translateY(12px) scale(.98);transform:translateY(12px) scale(.98)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes project-modal-in{0%{opacity:0;-webkit-transform:translateY(12px) scale(.98);transform:translateY(12px) scale(.98)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@media (max-width:720px){.project-modal-overlay{padding:16px}.project-modal{border-radius:18px;grid-template-columns:minmax(0,1fr);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}.project-modal-media{min-height:0;padding:24px}.project-modal-media img{max-height:280px}.project-modal-details{padding:28px 24px 32px}}@media (prefers-reduced-motion:reduce){.project-modal,.project-modal-overlay{-webkit-animation:none;animation:none}.project-modal-close,.project-modal-link{transition:none}}
/*# sourceMappingURL=main.8f69476a.css.map*/