/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,footer,header,main,nav,section{display:block}video{display:inline-block;vertical-align:baseline}a{background-color:transparent}a:active,a:hover{outline:0}strong{font-weight:700}h1{font-size:2em;margin:.67em 0}img{border:0}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,pre{font-family:monospace;font-size:1em}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.hljs-comment,.hljs-title{color:#969896}.css .hljs-class,.css .hljs-id,.css .hljs-pseudo,.hljs-attribute,.hljs-regexp,.hljs-tag,.hljs-variable,.html .hljs-doctype,.ruby .hljs-constant,.xml .hljs-doctype,.xml .hljs-pi,.xml .hljs-tag .hljs-title{color:#d54e53}.hljs-built_in,.hljs-constant,.hljs-literal,.hljs-number,.hljs-params,.hljs-pragma,.hljs-preprocessor{color:#e78c45}.css .hljs-rules .hljs-attribute,.ruby .hljs-class .hljs-title{color:#e7c547}.hljs-header,.hljs-inheritance,.hljs-string,.hljs-value,.ruby .hljs-symbol,.xml .hljs-cdata{color:#b9ca4a}.css .hljs-hexcolor{color:#70c0b1}.coffeescript .hljs-title,.hljs-function,.javascript .hljs-title,.perl .hljs-sub,.python .hljs-decorator,.python .hljs-title,.ruby .hljs-function .hljs-title,.ruby .hljs-title .hljs-keyword{color:#7aa6da}.hljs-keyword,.javascript .hljs-function{color:#c397d8}.hljs{display:block;background:#000;color:#eaeaea;padding:.5em}.tex .hljs-formula,.xml .hljs-cdata{opacity:.5}@font-face{font-family:Anonymous Pro;src:url(../fonts/anonymous-pro.eot);src:url(../fonts/anonymous-pro.eot?#iefix) format("embedded-opentype"),url(../fonts/anonymous-pro.woff) format("woff"),url(../fonts/anonymous-pro.ttf) format("truetype"),url(../fonts/anonymous-pro.svg#anonymous_pro_minusregular) format("svg");font-weight:400;font-style:normal}@font-face{font-family:Anonymous Pro;src:url(../fonts/anonymous-pro-italic.eot);src:url(../fonts/anonymous-pro-italic.eot?#iefix) format("embedded-opentype"),url(../fonts/anonymous-pro-italic.woff) format("woff"),url(../fonts/anonymous-pro-italic.ttf) format("truetype"),url(../fonts/anonymous-pro-italic.svg#anonymous_pro_minusitalic) format("svg");font-weight:400;font-style:italic}@font-face{font-family:Anonymous Pro;src:url(../fonts/anonymous-pro-bold.eot);src:url(../fonts/anonymous-pro-bold.eot?#iefix) format("embedded-opentype"),url(../fonts/anonymous-pro-bold.woff) format("woff"),url(../fonts/anonymous-pro-bold.ttf) format("truetype"),url(../fonts/anonymous-pro-bold.svg#anonymous_pro_minusbold) format("svg");font-weight:700;font-style:normal}@font-face{font-family:Source Sans Pro;src:url(../fonts/sourcesanspro.eot);src:url(../fonts/sourcesanspro.eot?#iefix) format("embedded-opentype"),url(../fonts/sourcesanspro.woff2) format("woff2"),url(../fonts/sourcesanspro.woff) format("woff"),url(../fonts/sourcesanspro.ttf) format("truetype"),url(../fonts/sourcesanspro.svg#anonymous_pro_minusregular) format("svg");font-weight:400;font-style:normal}@font-face{font-family:Source Sans Pro;src:url(../fonts/sourcesanspro-italic.eot);src:url(../fonts/sourcesanspro-italic.eot?#iefix) format("embedded-opentype"),url(../fonts/sourcesanspro-italic.woff2) format("woff2"),url(../fonts/sourcesanspro-italic.woff) format("woff"),url(../fonts/sourcesanspro-italic.ttf) format("truetype"),url(../fonts/sourcesanspro-italic.svg#anonymous_pro_minusitalic) format("svg");font-weight:400;font-style:italic}@font-face{font-family:Source Sans Pro;src:url(../fonts/sourcesanspro-bold.eot);src:url(../fonts/sourcesanspro-bold.eot?#iefix) format("embedded-opentype"),url(../fonts/sourcesanspro-bold.woff2) format("woff2"),url(../fonts/sourcesanspro-bold.woff) format("woff"),url(../fonts/sourcesanspro-bold.ttf) format("truetype"),url(../fonts/sourcesanspro-bold.svg#anonymous_pro_minusbold) format("svg");font-weight:700;font-style:normal}body{background:#fff;color:#111;font:1.2em Source Sans Pro,Helvetica,Arial,sans-serif}p{line-height:150%}a{color:#e64c66}a:hover{text-decoration:none}hr{border:0;border-top:1px solid #ccc;height:0;margin-left:-1em;margin-right:-1em}code{display:inline-block}code,pre{font:.9em Anonymous Pro,Courier New,Courier,monospace}pre{overflow:initial}pre code{display:block;overflow:auto}img,video{max-width:100%}blockquote{font-size:1.5em;text-align:center}.content,.footer,.header{margin:0 auto;max-width:640px}.content{margin-bottom:3em}.main{position:relative;z-index:1}.main p{margin-left:10px;margin-right:10px}@media screen and (min-width:480px){.main p{margin-left:20px;margin-right:20px}}.main p:first-child{margin-top:0}.main h2{margin-left:10px;margin-right:10px}@media screen and (min-width:480px){.main h2{margin-left:20px;margin-right:20px}}.main h2:first-child{margin-top:0}.main h3{margin-left:.85em;margin-right:.85em}.header{margin-bottom:2em;margin-top:2em}@media screen and (min-width:480px){.header{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}}.header__logo{padding:0 10px;text-align:center}@media screen and (min-width:480px){.header__logo{padding-left:20px;padding-right:20px}}.navigation ul{display:flex;justify-content:center;list-style:none;margin:0 .5em;padding-left:0}@media screen and (min-width:480px){.navigation ul{margin-left:1em;margin-right:1em}}.navigation__item a{font-size:.85em;font-weight:700;margin:-3px .1em 0;text-decoration:none;text-transform:uppercase}.navigation__item a:active,.navigation__item a:link,.navigation__item a:visited{border-bottom:3px solid #e64c66;color:#e64c66;padding:0 5px}.navigation__item a:hover{background:#e64c66;color:#fff}.navigation__item.selected a{background:#111;border-bottom-color:#111;color:#fff}.footer{font-family:Source Sans Pro,Helvetica,Arial,sans-serif}.footer p{font-size:.8em;color:#999}.footer .heart{color:#ff3669}.footer__padder{padding:0 10px}@media screen and (min-width:480px){.footer__padder{padding-left:20px;padding-right:20px}}.articles{list-style:none;margin-left:0;margin-top:0;padding-left:0;width:100%}.articles__article{margin-bottom:2em}.article{margin-top:1em;margin-bottom:2.5em}.article table{border:1px solid #ccc;border-collapse:collapse;border-radius:3px}.article table tr{border:0}.article table tr:nth-child(2n){background:#f8f8f8}.article table th{text-align:center}.article table td{border:0;padding:.3em}.article__header{margin-bottom:1em;margin-left:10px;margin-right:10px}@media screen and (min-width:480px){.article__header{margin-left:20px;margin-right:20px}}.article__header h2{margin:0}.article__header__title:active,.article__header__title:link,.article__header__title:visited{text-decoration:none}.article__header__date{color:#666;float:left;margin-right:.5em}.article__tags{color:#666;display:inline;font-size:.75em;line-height:1em;list-style:none;margin:0;padding:0}.article__tags li{background:#efefef;border-radius:3px;display:inline-block;padding:.3em}.article__feedback{background:#fafafa;border-radius:3px;font-size:.85em;margin-top:20px;padding:10px}@media screen and (min-width:480px){.article__feedback{padding-left:20px;padding-right:20px}}.article__feedback p{margin:0}.article__note{border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1.5em -1em;padding:1em}.article__note :last-child{margin-bottom:0}.cv-list{list-style:none;margin-left:1em;margin-right:1em;padding-left:0}.cv-list__item{margin-bottom:1em}.cv-list__item strong{font-style:normal}.cv-list__item li{margin-bottom:0;padding:0}.projects,.projects--highlights{list-style:none;margin-left:10px;margin-right:10px;padding-left:0}@media screen and (min-width:480px){.projects,.projects--highlights{margin-left:20px;margin-right:20px}}.projects--highlights img{box-shadow:0 0 20px #616161}.projects__project{color:#999;margin-bottom:.5em}.projects--highlights__project h3{font-size:1.5em;margin:1em 0 .3em}.projects--highlights__project h3 a:active,.projects--highlights__project h3 a:link,.projects--highlights__project h3 a:visited{font-size:.7em;font-weight:400}.project__screenshots{list-style:none;margin-left:0;padding-left:0}.project__screenshots img{max-width:100%}.project__url{border:1px solid #ccc;border-radius:3px;display:block;font:.9em Inconsolata,Courier New,monospace;line-height:100%;padding:5px;text-decoration:none}.project__url:hover{border-color:#e64c66}.pagination:after{content:"";display:table;clear:both}.pagination__newer,.pagination__older{width:50%}.pagination__newer{float:left}.pagination__older{float:right;text-align:right}#highlighted-articles{margin-bottom:0}.frontpage__articles{list-style:none;margin-left:1em;margin-right:1em;margin-top:0;padding-left:0}.frontpage__articles li:after{content:"";display:table;clear:both}.page-header h1{font-size:3em;text-align:center}.button_github{display:inline-block;padding:1em;border:1px solid #ccc;border-radius:5px;background-color:#efefef;padding-left:3em;background-image:url(/img/icons/github-logo.png);background-repeat:no-repeat;background-position:1em;color:#000;font-size:1.2em}@media only screen and (-webkit-min-device-pixel-ratio:1.3),only screen and (min--moz-device-pixel-ratio:1.3),only screen and (min-resolution:1.3dppx),only screen and (min-resolution:125dpi){.button_github{background-image:url(@2x.png);background-size:32px 32px}}.button_github:active,.button_github:link,.button_github:visited{text-decoration:none}.button_github:hover{box-shadow:inset 0 0 15px #ccc}.button_download{display:inline-block;padding:1em;border:1px solid #ccc;border-radius:5px;background-color:#efefef;padding-left:3em;background-image:url(/img/icons/download.png);background-repeat:no-repeat;background-position:1em;color:#000;font-size:1.2em}@media only screen and (-webkit-min-device-pixel-ratio:1.3),only screen and (min--moz-device-pixel-ratio:1.3),only screen and (min-resolution:1.3dppx),only screen and (min-resolution:125dpi){.button_download{background-image:url(@2x.png);background-size:32px 32px}}.button_download:active,.button_download:link,.button_download:visited{text-decoration:none}.button_download:hover{box-shadow:inset 0 0 15px #ccc}.button-box{text-align:center}.button-box__button{margin-right:.5em}.button-box__button:last-child{margin-right:0}.bucket-list{font:1em Anonymous Pro,Courier New,Courier,monospace;list-style:none;padding-left:0}.bucket-list:after{content:"";display:table;clear:both}@media screen and (min-width:480px){.bucket-list__item{float:left;padding:.3em 0;width:50%}}.bucket-list__item__strike-through{display:inline-block;margin-top:-23px}.bucket-list__item__strike-through:before{background:rgba(255,0,0,.5);content:'';display:inline-block;height:3px;left:-4%;position:relative;top:16px;width:108%}#map{bottom:0;position:absolute;top:0;width:100%}.layout_map{margin:0;padding:0}