@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}@font-face{font-family:Inter var;font-style:normal;font-weight:100 900;font-display:block;src:url(/fonts/Inter-roman.var.woff2) format("woff2")}@font-face{font-family:Inter var;font-style:italic;font-weight:100 900;font-display:block;src:url(/fonts/Inter-italic.latin.var.woff2) format("woff2");font-named-instance:"Italic"}body{font-family:Inter var,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;-webkit-font-smoothing:subpixel-antialiased;font-feature-settings:"case" 1,"cpsp" 1,"dlig" 1,"cv01" 1,"cv02","cv03" 1,"cv04" 1,"liga","clig","calt";font-variation-settings:"wght" 450;font-variant:common-ligatures contextual;letter-spacing:-.02em;background-color:#f8f8ff;padding:0;margin:0}b,h3,h4,h5,h6,strong{font-variation-settings:"wght" 650}h1{font-variation-settings:"wght" 850;line-height:2.5rem}h2{font-variation-settings:"wght" 750}blockquote{background:#f9f9f9;border-left:10px solid #ccc;margin:1.5em 10px;padding:.5em 10px;font-style:italic}table{border:3px solid #000;padding:1rem}@media screen and (-webkit-min-device-pixel-ratio:1.5),screen and (min-device-pixel-ratio:1.5),screen and (min-resolution:1.5dppx){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}details summary{cursor:pointer}img.next-image{margin:0}time{font-size:80%}.nav-line .nav-link{color:#69778c}.container{max-width:660px;padding:0 2rem}.prose{font-size:1rem;line-height:1.75}.prose a{color:#0074de}.profile-picture{border-radius:50%;max-width:200px;background-color:#eee;box-sizing:border-box}.profile-picture-border{border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 4px #ddd,0 0 0 9px #fff;max-width:200px;max-height:200px}.hero{min-height:300px;padding:3rem;width:var()}.hero,.hero-container{display:flex;justify-content:center}.hero-container{align-items:center;max-width:660px;flex-wrap:wrap-reverse}.hero-image{transform:skew(0,0);transition:transform .3s}.hero-image:hover{transform:rotate3d(-1,1,.3,30deg)}.hero-content{text-align:center}@media screen and (min-width:660px){.hero-container{justify-content:space-between}.hero-content{max-width:60%;text-align:left}}.title{margin:0;line-height:1.15;font-size:3rem}.main{max-width:660px;margin:0 auto}.post-create-date,.post-modified-date,.post-tags{font-size:.9rem;color:#718096}.post-item-more{text-transform:uppercase;font-size:75%}.alert{padding:10px}.alert-primary{border:1px solid #0074de;background-color:#9ec3eb;border-radius:5px}.tech-logos{position:relative;display:flex;flex-wrap:wrap}.tech-description{position:absolute;transform:translateY(-120%);margin:-10px 10px 10px;background:#000;color:#fff;line-height:1.5;padding:20px;border-radius:10px}.tech-tooltip svg{transition:transform .3s;margin:10px}.tech-tooltip svg:hover{transform:scale3d(1.5,1.5,1.5) rotate3d(1,1,.5,30deg);transition:transform .3s}.tech-tooltip:hover:before{opacity:1}.tech-tooltip:before{content:attr(data-text);position:absolute;transform:translateY(-130%);left:0;padding:20px;margin:10px;border-radius:10px;background:#000;color:#fff;text-align:left;line-height:1.5;opacity:0;transition:opacity .3s}.project-summary{columns:12rem 2}.company-name{margin-bottom:10px}.position-title{font-size:70%;font-weight:100;display:inline-block}.position-date-range{margin-top:0}.vertical-timeline-element-content details,.vertical-timeline-element-content li{padding:.2rem 0}.name{background-image:linear-gradient(176deg,#0700b8,#00ff88);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);-moz-text-fill-color:rgba(0,0,0,0)}.site-navigation{max-width:660px;margin:0 auto;display:flex;justify-content:flex-end;font-size:90%}.site-navigation ul li{list-style-type:none;display:inline-block}.site-navigation a{display:block;margin:.5rem;text-decoration:none;border-bottom:1px solid rgba(0,0,0,0);color:#444}.site-navigation a:hover{border-bottom:1px solid #000}.long-anchor{word-break:break-all}@media only screen and (max-width:600px){figure{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0;margin-inline-end:0}}code[class*=language-],pre[class*=language-]{color:#d6deeb;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:1em;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:rgba(29,59,83,.99)}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{color:white;background:#011627}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.prolog{color:rgb(99,119,119);font-style:italic}.token.punctuation{color:rgb(199,146,234)}.namespace{color:rgb(178,204,214)}.token.deleted{color:rgba(239,83,80,.56);font-style:italic}.token.property,.token.symbol{color:rgb(128,203,196)}.token.keyword,.token.operator,.token.tag{color:rgb(127,219,202)}.token.boolean{color:rgb(255,88,116)}.token.number{color:rgb(247,140,108)}.token.builtin,.token.char,.token.constant,.token.function{color:rgb(130,170,255)}.token.doctype,.token.selector{color:rgb(199,146,234);font-style:italic}.token.attr-name,.token.inserted{color:rgb(173,219,103);font-style:italic}.language-css .token.string,.style .token.string,.token.entity,.token.string,.token.url{color:rgb(173,219,103)}.token.atrule,.token.attr-value,.token.class-name{color:rgb(255,203,139)}.token.important,.token.regex,.token.variable{color:rgb(214,222,235)}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}