/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}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:0.35em 0.75em 0.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{height:100%}body{display:grid;grid-template-columns:1fr [primary] fit-content(120ch) 1fr;grid-template-rows:[nav] 60px [primary] 1fr [footer] 40px;background:url("/assets/images/new-zealand-lake-mountains-road-4-1080p.jpg"),linear-gradient(90deg, #3290cd, #133771);background-size:cover;background-position:top;background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,"Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;line-height:1.5;height:100vh;position:relative}body::after{background:linear-gradient(90deg, #fdf9f2, #737171, #1a3459);position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;content:"";opacity:0;animation-iteration-count:1;animation-fill-mode:forwards}@keyframes fadeInAnimation{0%{opacity:1}20%{opacity:1}100%{opacity:0}}.content{grid-row:primary;grid-column:primary;display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));grid-auto-rows:minmax(100px, auto);grid-gap:2ch;grid-auto-flow:dense;margin-top:2ch;margin-bottom:2ch}@media only screen and (max-width: 700px){.content{grid-template-columns:1fr;grid-auto-rows:auto}}body p a:hover{color:#ffb110}a{text-decoration:none;color:inherit}h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1 span,h2 span,h3 span,h4 span,h5 span,h6 span{font-weight:normal;font-size:0.85rem}h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:#ffb110}h1,h2,h3,h4,h5,h6,p{color:#222831}p{font-size:0.9rem}hr{border:0.1px solid #222831;line-height:0.5}img{object-fit:contain;width:100%;max-height:100%}.win-primary{background:rgba(7,61,117,0.95) !important;color:#f5f5ff}.window{background:rgba(238,238,238,0.95);backdrop-filter:blur(6px);border:0 solid #073d75;border-radius:1px;overflow:hidden;padding:2ch}.window img{max-height:500px}.win-big{grid-column:span 3;grid-row:span 3}@media only screen and (max-width: 700px){.win-big{grid-column:span 1}}.win-normal{grid-column:span 1;grid-row:span 1}.win-wide-2{grid-column:span 2;grid-row:span 1}@media only screen and (max-width: 700px){.win-wide-2{grid-column:span 1}}.win-wide-3{grid-column:span 3;grid-row:span 1}@media only screen and (max-width: 700px){.win-wide-3{grid-column:span 1}}.win-vertical{grid-column:span 1;grid-row:span 2}.win-single{max-width:80ch}.centered{display:grid;justify-content:center;align-items:center}.page__hero-image{width:100%}p>a{color:#1a9aff;text-decoration:none;flex:1 0 auto}.article h2,.article h3{margin-top:0.5em;margin-bottom:-0.5em}blockquote{font-style:italic;border-left:4px solid #073d75;padding-left:2ch;margin-left:0}.align-right{width:30%;min-width:100px;margin-left:2ch;margin-top:2ch;margin-bottom:2ch;border:1px solid #010b15;float:right}code,kbd,pre,samp,tt{font-family:"Source Code Pro",Monaco,Consolas,"Lucida Console",monospace}pre{overflow-x:auto}.highlighter-rouge{width:98%;margin:auto}a>code,figcaption>code,li>code,p>code,td>code{padding-top:0.1rem;padding-bottom:0.1rem;font-size:1em;background:#fafafa;border-radius:2px}a>code:after,a>code:before,figcaption>code:after,figcaption>code:before,li>code:after,li>code:before,p>code:after,p>code:before,td>code:after,td>code:before{letter-spacing:-0.2em;content:"\00a0"}footer{grid-column:1 / end;grid-row:footer;display:grid;padding:0 !important;justify-content:center;align-items:center;color:inherit}footer .copyright{color:inherit}footer .copyright p{color:inherit;font-size:10px;text-align:center}footer .social{color:inherit;float:clear;display:inline-block}footer .social p{color:inherit;font-size:0.8em;text-align:left;float:left;margin-bottom:0}footer .social-link{margin-left:2ch;font-weight:bold}footer a:hover{text-decoration:underline}nav{grid-row:nav;grid-column:1/end;display:flex;flex:1;padding:0 !important}nav img{width:50px;margin-right:1ch}nav .inner-nav{color:inherit;max-width:120ch;margin-left:auto;margin-right:auto;justify-content:right;padding-left:1ch;padding-right:1ch}@media (max-width: 450px){nav .inner-nav{justify-content:center}}nav .nav-item{max-width:120px;min-width:60px;flex-grow:1;display:flex;justify-content:center;align-items:center;font-size:1.1em;color:inherit;text-decoration:none;transition:background-color .3s,color .3s}nav .nav-item:hover{background-color:#f5f5ff;color:#073d75}nav .nav-item-left{margin-right:auto;display:flex;justify-content:center;align-items:center;padding:0;font-size:1.1em;font-weight:bold;color:inherit;text-decoration:none}nav .nav-item-left p{color:inherit}@media (max-width: 350px){nav .nav-item-left{display:none}}@media (max-width: 550px){nav .nav-item-left p{display:none}}.projects-content{display:grid;grid-template-columns:100%;grid-template-rows:150px auto;grid-row-gap:2ch}.projects-title{grid-column:1 / end;text-align:center}.projects-board{display:grid;grid-template-columns:repeat(3, minmax(100px, 1fr));grid-gap:2ch}@media only screen and (max-width: 1100px){.projects-board{grid-template-columns:1fr 1fr;grid-auto-rows:auto}}@media only screen and (max-width: 700px){.projects-board{grid-template-columns:1fr;grid-auto-rows:auto}}.project-card{max-width:40ch;justify-self:center;box-shadow:0 0 0 #888;z-index:0;overflow:hidden;backface-visibility:hidden;transition:transform .3s,box-shadow .3s;background-color:#eee;border:1px solid black}.project-card:hover{z-index:1;transform:scale(1.048) translateY(-5px) translateX(0px)}.project-card .thumbnail{max-width:100%;margin:0 0 -1ch;border-bottom:1px solid #010b15}.project-card .card-content{padding:1ch 1.5ch 1.5ch}.project-card h2{margin:0;padding:0}.blog-list{display:grid;gap:2ch;max-width:80ch}.blog-list .window{max-height:20ch}.blog-list-small{grid-template-columns:1fr;grid-template-rows:40px repeat(auto-fit, minmax(50px, 1fr))}div.highlighter-rouge,figure.highlight{position:relative;margin-bottom:1em;background:#263238;color:#eff;font-family:"Source Code Pro",Monaco,Consolas,"Lucida Console",monospace;font-size:.75em;line-height:1.8;border-radius:4px}div.highlighter-rouge>pre,div.highlighter-rouge pre.highlight,figure.highlight>pre,figure.highlight pre.highlight{margin:0;padding:1em}.highlight table{margin-bottom:0;font-size:1em;border:0}.highlight table td{padding:0;width:calc(100% - 1em);border:0}.highlight table td.gutter,.highlight table td.rouge-gutter{padding-right:1em;width:1em;color:#b2ccd6;border-right:1px solid #b2ccd6;text-align:right}.highlight table td.code,.highlight table td.rouge-code{padding-left:1em}.highlight table pre{margin:0}.highlight pre{width:100%}.highlight .hll{background-color:#eff}.highlight .c{color:#b2ccd6}.highlight .err{color:#f07178}.highlight .k{color:#c792ea}.highlight .l{color:#f78c6c}.highlight .n{color:#eff}.highlight .o{color:#89ddff}.highlight .p{color:#eff}.highlight .cm{color:#b2ccd6}.highlight .cp{color:#b2ccd6}.highlight .c1{color:#b2ccd6}.highlight .cs{color:#b2ccd6}.highlight .gd{color:#f07178}.highlight .ge{font-style:italic}.highlight .gh{color:#eff;font-weight:bold}.highlight .gi{color:#c3e88d}.highlight .gp{color:#b2ccd6;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#89ddff;font-weight:bold}.highlight .kc{color:#c792ea}.highlight .kd{color:#c792ea}.highlight .kn{color:#89ddff}.highlight .kp{color:#c792ea}.highlight .kr{color:#c792ea}.highlight .kt{color:#ffcb6b}.highlight .ld{color:#c3e88d}.highlight .m{color:#f78c6c}.highlight .s{color:#c3e88d}.highlight .na{color:#82aaff}.highlight .nb{color:#eff}.highlight .nc{color:#ffcb6b}.highlight .no{color:#f07178}.highlight .nd{color:#89ddff}.highlight .ni{color:#eff}.highlight .ne{color:#f07178}.highlight .nf{color:#82aaff}.highlight .nl{color:#eff}.highlight .nn{color:#ffcb6b}.highlight .nx{color:#82aaff}.highlight .py{color:#eff}.highlight .nt{color:#89ddff}.highlight .nv{color:#f07178}.highlight .ow{color:#89ddff}.highlight .w{color:#eff}.highlight .mf{color:#f78c6c}.highlight .mh{color:#f78c6c}.highlight .mi{color:#f78c6c}.highlight .mo{color:#f78c6c}.highlight .sb{color:#c3e88d}.highlight .sc{color:#eff}.highlight .sd{color:#b2ccd6}.highlight .s2{color:#c3e88d}.highlight .se{color:#f78c6c}.highlight .sh{color:#c3e88d}.highlight .si{color:#f78c6c}.highlight .sx{color:#c3e88d}.highlight .sr{color:#c3e88d}.highlight .s1{color:#c3e88d}.highlight .ss{color:#c3e88d}.highlight .bp{color:#eff}.highlight .vc{color:#f07178}.highlight .vg{color:#f07178}.highlight .vi{color:#f07178}.highlight .il{color:#f78c6c}.gist th,.gist td{border-bottom:0}.slider{width:100%;height:400px;overflow:hidden;border:1px solid black;position:relative;margin-left:auto;margin-right:auto;margin-bottom:1em}@media (min-width: 0){.slider{height:200px}}@media (min-width: 500px){.slider{height:400px}}.slider .photo{position:absolute;animation:round 16s infinite;opacity:0;width:100%;height:100%;object-fit:cover;overflow:hidden}@keyframes round{0%{opacity:0}10%{opacity:1}30%{opacity:1}40%{opacity:0}}.slider img:nth-child(1){animation-delay:0s}.slider img:nth-child(2){animation-delay:4s}.slider img:nth-child(3){animation-delay:8s}.slider img:nth-child(4){animation-delay:12s}
