/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}html,body,div,input,textarea,article,header,footer,section,nav,ul,li,h1,h2,h3,h4,h5,h6{box-sizing:border-box}body{margin:0}main{display:block}h1{font-size:2em;margin:0}h1,h2,h3,h4,h5,h6{margin:0}p{margin:15px 0 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{background:#f7f7f7;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:14px}body{background:#fff;padding:24px 30px 60px;min-height:100vh}main{margin-top:60px}a{text-decoration:none}p,ul,ol,li{line-height:150%}li ul,li ol{margin-top:15px}button{cursor:pointer}html img.dark,html.dark img.light{display:none}html.dark img.dark,html img.light{display:block}#entry{font-size:18px;margin:0 auto;max-width:680px}#entry header h1{padding-bottom:10px}#entry h2,#entry h4,#entry h5,#entry h6{letter-spacing:.5px}#entry p,#entry ul,#entry li,#entry ol{line-height:1.75}#entry li,#entry ol{margin:15px 0 0}#entry img{margin-top:25px}#entry .article-content h2,#entry .article-content h3,#entry .article-content h4,#entry .article-content h5,#entry .article-content h6{margin-top:25px}#entry .article-content pre+h4{margin-top:60px}#entry .article-content h4+pre{margin-top:15px}.wrap{max-width:1216px;margin:0 auto;box-sizing:border-box}#site-footer{padding-top:60px;margin-top:80px;text-align:center}#site-footer nav{justify-content:center;display:flex;font-size:16px;gap:40px}#site-footer div{margin-top:40px}#site-header{display:flex;justify-content:space-between;align-items:center}#site-header #header-photo{width:36px;height:36px;margin-left:0}#site-header #header-photo img{width:36px;height:36px;border-radius:50%}#site-header nav{display:flex;gap:20px;justify-content:center;width:240px;padding:5px 5px;box-shadow:0 5px 5px -4px rgba(0,0,0,.1),0 2px 2px -1px rgba(0,0,0,.05);backdrop-filter:blur(40px);border-radius:20px;font-weight:500}#site-header nav a{text-decoration:none;padding:5px 5px;transition:color .3s ease}#site-header svg{cursor:pointer;width:36px;height:36px;margin-right:0}.pipe{margin-right:10px;font-weight:700}.justin-photo{width:64px;height:64px;border-radius:50%}#bio h1{margin-top:15px;max-width:675px;font-size:34px;font-weight:700;letter-spacing:-1px;line-height:1.25;margin-bottom:10px}#bio p{font-size:16px;max-width:675px;line-height:1.75;margin-bottom:0}#home-photos{display:flex;gap:30px;margin-top:60px}#home-photos img{width:50%;margin-left:-10px;max-width:none;border-radius:40px;margin-bottom:0;transform:rotate(-1deg)}#home-photos img:nth-child(even){transform:rotate(1deg)}#home-photos img:last-child{display:none}.work-section{border-radius:20px;padding:30px 20px 0}.work-section h2{display:flex;gap:10px;margin-bottom:30px}.work-section h2 svg,.work-section h2 span{display:block}.work-section h2 svg{width:24px}.work-section .company-img-wrapper{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}.work-section img,.work-section .company-img-placeholder{width:32px;height:32px;border-radius:50%;background-color:#db97d1}.work-section .work-list-item{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:25px}.work-section .work-list-item .company-name{font-weight:600;margin-bottom:3px}.work-section .work-list-item .company-info{flex-grow:1}.socials a{margin-top:24px;display:inline-block;margin-left:24px}.socials a:first-child{margin-left:0}.socials svg{width:24px;height:24px;fill:#6f6f6f;transition:fill .3s ease}.socials svg:hover{fill:#000}.sidebar{margin-top:60px}.article{max-width:600px;margin-top:80px;font-size:16px}.article .time{display:flex;flex-direction:row;gap:5px}.article h1{margin-top:22px;font-size:16px}.article .excerpt{margin-top:17px;line-height:1.65}.article .excerpt-link{margin-top:17px}.about#entry{max-width:800px}.about .parent{display:flex;flex-wrap:wrap}.about .child-1,.about .child-2{flex:0 0 100%;padding-right:0}.about img{width:100%;border-radius:20px}.about .child-2 .justin{transform:rotate(1deg)}.about .social-icons{display:flex;flex-direction:column;gap:10px;margin-top:40px}.about .social-icon{display:flex;align-items:center}.about .social-icon a{display:flex;align-items:center;gap:20px;margin-top:20px}.about .social-icon a:hover{opacity:.8}.about .social-icon svg{width:24px;height:24px}.about .social-icon span{margin-left:30px}.about .child-2 svg{fill:#000}.about .showcase{margin-top:60px}.about #entry .showcase img{margin-top:20px}.about .showcase a:hover{opacity:.8}@media(min-width: 1000px){.about .child-1{flex:0 0 60%;padding-right:40px;box-sizing:border-box}.about .child-2{flex:0 0 40%}.about header h1{margin-top:40px}}#articles{max-width:600px;margin:0 auto}#articles .article:first-child{margin-top:60px}.show-animate{display:block !important;animation:fadeIn .5s ease-in-out}.comments{margin:60px auto 0;font-size:15px;max-width:680px}.comments .comments-header{margin-bottom:40px}.comments .comments-header .disclaimer{display:block;line-height:1.75}.comments .comments-header h4{display:block;font-size:18px;line-height:1;margin:0;padding:0}.comments .new-comment{display:flex;align-items:center;gap:10px;margin-top:20px}.comments .new-comment svg{width:24px;height:24px}.comments .new-comment a{color:#404040}.comments #verify-email{display:none;margin-top:60px}.comments #verify-email h4{margin-top:0;margin-bottom:5px}.comments #verify-email p{margin-bottom:0;margin-top:15}.comments #verify-email #verify-email-form{margin-top:0px}.comments #verify-email #verify-email-form input{width:280px}.comments #verify-email #verify-email-form button{margin-top:20px;display:block;padding:8px 12px;font-size:14px}.comments #verify-email #verify-email-form p{margin-top:20px}.comments #verify-email #verify-email-form .success,.comments #verify-email #verify-email-form .error{margin-top:15px}.comments #verify-email .success{color:green}.comments #verify-email .error{color:#c00}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.comments .comments-list{margin-top:40px}.comments .comment{padding-top:15px;padding-bottom:25px;position:relative}.comments .comment time{display:block;font-size:14px;color:#666;margin-top:15px}.comments .comment:nth-child(10n+1) .author-img{background:#66f}.comments .comment:nth-child(10n+2) .author-img{background:#00e600}.comments .comment:nth-child(10n+3) .author-img{background:#f66}.comments .comment:nth-child(10n+4) .author-img{background:#e6e600}.comments .comment:nth-child(10n+5) .author-img{background:#e600e6}.comments .comment:nth-child(10n+6) .author-img{background:#ffc966}.comments .comment:nth-child(10n+7) .author-img{background:#ffdae0}.comments .comment:nth-child(10n+8) .author-img{background:#00e6e6}.comments .comment:nth-child(10n+9) .author-img{background:#d65f5f}.comments .comment:nth-child(10n+10) .author-img{background:#b3b3b3}.comments .comment .comment-author{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500;color:#1a1a1a}.comments .comment .author-img{width:14px;height:14px;border-radius:50%}.comments .comment .comment-content{color:#999;padding-top:15px;padding-bottom:15px;line-height:1.75}.comments .comment .reply-button svg{width:18px;height:18px;fill:#4d4d4d}.comments .comment .reply-button:hover svg{fill:#a6a6a6}.comments .comment .replies .comment:first-child{padding-top:40px}.comments .comment .replies .comment:last-child{padding-bottom:10px}@keyframes popIn{0%{opacity:0;transform:scale(0.9)}100%{opacity:1;transform:scale(1)}}.comments .comment .comment-animate{animation:popIn 4s}.comments .comment .comment{margin-left:35px}.comments .comment .comment:nth-child(10n+1) .author-img{background:#66f}.comments .comment .comment:nth-child(10n+2) .author-img{background:#00e600}.comments .comment .comment:nth-child(10n+3) .author-img{background:#f66}.comments .comment .comment:nth-child(10n+4) .author-img{background:#e6e600}.comments .comment .comment:nth-child(10n+5) .author-img{background:#e600e6}.comments .comment .comment:nth-child(10n+6) .author-img{background:#ffc966}.comments .comment .comment:nth-child(10n+7) .author-img{background:#ffdae0}.comments .comment .comment:nth-child(10n+8) .author-img{background:#00e6e6}.comments .comment .comment:nth-child(10n+9) .author-img{background:#d65f5f}.comments .comment .comment:nth-child(10n+10) .author-img{background:#b3b3b3}.comments form{margin-top:30px;margin-bottom:60px}.comments form label{margin-top:25px;display:block}.comments form input{width:200px}.comments form textarea{width:100%}.comments form input,.comments form textarea{margin-top:10px;border-radius:5px;padding:10px;border:1px solid #b3b3b3;background:#fff}.comments form input:active,.comments form input:focus,.comments form input:focus-visible,.comments form textarea:active,.comments form textarea:focus,.comments form textarea:focus-visible{border:1px solid #4d4d4d;outline:none}.comments form .char-count{margin-top:7px;color:#666;font-size:12px}.comments form button{margin-top:25px;background:rgba(0,0,0,0);border-radius:5px;padding:10px 20px;border:1px solid #b3b3b3;color:#666}.comments form button:hover{background:#333;color:#d9d9d9}.email-verification{max-width:500px}.email-verification h1{margin-bottom:25px}.email-verification .ev-data{display:flex;align-items:center;margin-bottom:15px}.email-verification .ev-data svg{width:18px;height:18px;stroke:green}.email-verification .ev-data span{color:gray;font-size:16px;margin-left:10px}.email-verification .ev-message{margin-top:20px;max-width:400px;line-height:1.75}.email-verification .ev-button{display:inline-block;margin-top:20px;margin-left:auto;margin-right:auto;padding:10px 20px;border-radius:5px;background:#1f1f1f;color:#d9d9d9;border:1px solid #000}.email-verification .ev-button:hover{background:#292929}html,p{color:#595959}a{color:#57cccc}.article header a,nav a,h1,h2,h3,h4,h5,h6{color:#333}footer nav a:hover{color:#57cccc}#site-header svg{stroke:#57cccc}#site-header svg:hover{stroke:#3a8888;transition:stroke .3s ease}#site-header nav{background:#fff;border:1px solid #eee}#site-header nav a:hover{color:#57cccc}#site-header nav a.active{color:#57cccc}#site-footer{color:#9999a1;border-top:1px solid #eee}.work-section{border:1px solid #eee}.work-section svg{stroke:#c1c1c1;fill:#eee}.company-img-wrapper{border:1px solid #eee}time,.company-role,.company-dates{color:#9999a1}.pipe{color:#dbdbde}.article a{color:#57cccc}.article a:hover{color:#38b8b8}.socials svg{fill:#6f6f6f}.socials:hover{fill:#000}#entry h2,#entry h4,#entry h5,#entry h6{color:#333}code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:10px;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;padding-top:5px;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8292a2}.token.punctuation{color:#f8f8f2}.token.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a6e22e}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#e6db74}.token.keyword{color:#66d9ef}.token.important,.token.regex{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:rgba(153,122,102,.08);background:linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:rgba(153,122,102,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,.2)}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}html.dark{background:#000}html.dark html,html.dark p,html.dark #entry{color:#999}html.dark body{color:#595959;background:#1a1a1a;border-left:1px solid #313131;border-right:1px solid #313131}html.dark a{color:#dc6616}html.dark input,html.dark textarea,html.dark .article header a,html.dark nav a,html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark h5,html.dark h6{color:#e6e6e6}html.dark footer nav a:hover{color:#dc6616}html.dark #site-header svg{stroke:#dc6616}html.dark #site-header svg:hover{transition:stroke .3s ease;stroke:#96460f}html.dark #site-header nav{border:1px solid #000;background:#1a1a1a}html.dark #site-header nav a:hover{color:#dc6616}html.dark #site-header nav a.active{color:#dc6616}html.dark #site-footer{color:#4d4d4d;border-top:1px solid #000}html.dark .work-section{border:1px solid #000}html.dark .work-section svg{stroke:#000;fill:#4d4d4d}html.dark .company-img-wrapper{border:1px solid #000}html.dark time,html.dark .company-role,html.dark .company-dates{color:#4d4d4d}html.dark .pipe{color:#4d4d4d}html.dark .article a{color:#dc6616}html.dark .article a:hover{color:#ae5111}html.dark .socials svg{fill:#6f6f6f}html.dark .socials svg:hover{fill:#dc6616}html.dark #entry h2,html.dark #entry h4,html.dark #entry h5,html.dark #entry h6{color:#bfbfbf}html.dark .comments .comments-header svg{fill:#8c8c8c}html.dark .comments .new-comment a{color:#bfbfbf}html.dark .comments .comment-author{color:#a6a6a6}html.dark .comments form input,html.dark .comments form textarea{border:1px solid #404040;background:#262626}html.dark .comments form input:active,html.dark .comments form input:focus,html.dark .comments form input:focus-visible,html.dark .comments form textarea:active,html.dark .comments form textarea:focus,html.dark .comments form textarea:focus-visible{border:1px solid #666}html.dark .comments form .char-count{color:#666}html.dark .comments form button{border:1px solid #666;color:#ccc}html.dark .comments form button:hover{background:#262626}html.dark .about .child-2 svg{fill:#fff}@media(min-width: 780px){body{padding-left:90px;padding-right:90px}#home #bio h1{font-size:46px}.work-list .work-list-item{gap:20px}code[class*=language-],pre[class*=language-]{font-size:12px}}@media(min-width: 1040px){#home-bottom{display:flex;flex-wrap:wrap}#home-bottom .articles{flex:2 1 60%;box-sizing:border-box;padding-right:40px}#home-bottom .sidebar{flex:1 1 40%}#home-bottom .work-section .work-list-item{gap:15px}#home-bottom .work-section .company-info{font-size:12px}#home-bottom .work-section .company-dates{font-size:12px}#site-footer{display:flex;justify-content:space-between;align-items:center}#site-footer div{margin-top:0px}}@media(min-width: 1400px){#home-photos{margin-top:60px;max-width:100vw;display:flex;justify-content:center;gap:30px;box-sizing:border-box}#home-photos img{max-width:450px;max-height:290px;width:100%}#home-photos img:last-child{display:block}}/*# sourceMappingURL=output.css.map */
