html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,button,input{margin:0;padding:0;border:0;font-size:inherit;font:inherit;text-transform:inherit;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}input[type=text],input[type=email],button{width:100%;vertical-align:top;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.clear:before{content:'';display:table}.clear:after{content:'';display:table;clear:both}.no-clear:before{content:normal;display:inherit}.no-clear:after{content:normal;display:inherit;clear:none}.clearfix:before,.clearfix:after{content:'';display:table}.clearfix:after{clear:both}@font-face{font-family:'Sans Web';src:url(fonts/sans/sans-Bold.eot);src:url(fonts/sans/sans-Bold.eot?#iefix) format('embedded-opentype'),url(fonts/sans/sans-Bold.woff) format('woff'),url(fonts/sans/sans-Bold.ttf) format('truetype'),url(fonts/sans/sans-Bold.svg#bb7c3ad89c64bf73526de283c45aaba2) format('svg');font-style:normal;font-weight:600}@font-face{font-family:'Sans Web';src:url(fonts/sans/sans-Medium.eot);src:url(fonts/sans/sans-Medium.eot?#iefix) format('embedded-opentype'),url(fonts/sans/sans-Medium.woff) format('woff'),url(fonts/sans/sans-Medium.ttf) format('truetype'),url(fonts/sans/sans-Medium.svg#b6a3efd3072a792dbf1d86fe638a7544) format('svg');font-style:normal;font-weight:400}@font-face{font-family:'Sans Web';src:url(fonts/sans/sans-Semibold.eot);src:url(fonts/sans/sans-Semibold.eot?#iefix) format('embedded-opentype'),url(fonts/sans/sans-Semibold.woff) format('woff'),url(fonts/sans/sans-Semibold.ttf) format('truetype'),url(fonts/sans/sans-Semibold.svg#af0dd9430def16473f07c76c477b3387) format('svg');font-style:normal;font-weight:500}@font-face{font-family:'Mono Web';src:url(fonts/mono/mono-wf.eot);src:url(fonts/mono/mono-wf.eot?#iefix) format('embedded-opentype'),url(fonts/mono/mono-wf.woff2) format('woff2'),url(fonts/mono/mono-wf.woff) format('woff'),url(fonts/mono/mono-wf.ttf) format('truetype');font-weight:400;font-style:normal}.mono{font-family:'Mono Web',Courier,Courier New,monospace}.sans{font-family:'Sans Web',Futura,Helvetica,sans-serif;font-weight:400}.sans .normal{font-weight:400}.sans .medium{font-weight:500}.sans .bold{font-weight:600}.sans .italic{font-style:italic}strong{font-weight:600}em{font-style:italic}body{font-family:'Sans Web',Futura,Helvetica,sans-serif;font-weight:400;font-size:12px;line-height:16px;color:#000;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body .normal{font-weight:400}body .medium{font-weight:500}body .bold{font-weight:600}body .italic{font-style:italic}body.invert{background:#00f;color:#fff}a{cursor:pointer;text-decoration:none}.container{margin:0 25px 25px}@media screen and (max-width:720px){.container{margin:0}}.vcenter-outer{display:table;width:100%;height:100%;vertical-align:middle;border-collapse:collapse}.vcenter-outer .vcenter-inner{display:table-cell;width:100%;height:100%;vertical-align:middle;border-collapse:collapse}::-moz-selection{color:#fff;background:#fff}::selection{color:#fff;background:#fff}header,footer{display:block;text-align:center;line-height:1;letter-spacing:.01em;font-weight:600}header{font-size:36px;margin:200px 0;font-weight:600}@media screen and (max-width:720px){header{margin:100px 0}}footer{font-size:18px;margin:50px 0;font-weight:500}nav{font-weight:500}nav a{color:rgba(0,0,0,.3)}nav a:hover{color:#00f;border-bottom:2px solid #00f}nav .sep{color:rgba(0,0,0,.1);margin:0 10px}h1 a{color:#000;text-decoration:none}h1 a:hover{color:#00f;border-bottom:3px solid #00f}body.invert h1 a:hover{color:#fff;border-bottom-color:#fff}h2{font-family:'Mono Web',Courier,Courier New,monospace;font-size:13px;line-height:1;font-weight:400}.proj{display:block;height:600px;background:#eee;margin-bottom:0;position:relative;cursor:pointer}@media screen and (max-width:720px){.proj{height:250px}}.proj h2{position:relative;z-index:9;color:#fff;text-align:center}.proj h2>span{position:relative}.proj h2>span:after{content:'';position:absolute;left:100%;white-space:nowrap;opacity:.5;display:inline}.proj:hover{background:#00f!important}body.invert .proj{background-color:#fff!important}body.invert .proj h2{color:#00f!important}.proj.typecode{background-color:#000}.proj.typecode:hover h2{color:#fff}.proj.typecode:hover h2>span:after{content:': all work 2010+'}.proj.kpf{background-color:red}.proj.kpf:hover h2{color:#fff}.proj.kpf:hover h2>span:after{content:': a website'}.proj.thesis{background-color:#ff0}.proj.thesis h2{color:#000}.proj.thesis:hover h2{color:#fff}.proj.thesis:hover h2>span:after{content:': a bit dry'}.proj.oldwork{background-color:#0ff}.proj.oldwork:hover h2{color:#fff}.proj.oldwork:hover h2>span:after{content:': pre-2010'}.proj.oldother{background-color:purple}.proj.oldother:hover h2{color:#fff}.proj.oldother:hover h2>span:after{content:': prehistoric'}@-webkit-keyframes bluebgcycle{0%{background:#00f}1%{background:#fff}50%{background:#fff}51%{background:#00f}100%{background:#00f}}@-moz-keyframes bluebgcycle{0%{background:#00f}1%{background:#fff}50%{background:#fff}51%{background:#00f}100%{background:#00f}}@-ms-keyframes bluebgcycle{0%{background:#00f}1%{background:#fff}50%{background:#fff}51%{background:#00f}100%{background:#00f}}@-o-keyframes bluebgcycle{0%{background:#00f}1%{background:#fff}50%{background:#fff}51%{background:#00f}100%{background:#00f}}@keyframes bluebgcycle{0%{background:#00f}1%{background:#fff}50%{background:#fff}51%{background:#00f}100%{background:#00f}}@-webkit-keyframes bluecolorcycle{0%{color:#00f}1%{color:#fff}50%{color:#fff}51%{color:#00f}100%{color:#00f}}@-moz-keyframes bluecolorcycle{0%{color:#00f}1%{color:#fff}50%{color:#fff}51%{color:#00f}100%{color:#00f}}@-ms-keyframes bluecolorcycle{0%{color:#00f}1%{color:#fff}50%{color:#fff}51%{color:#00f}100%{color:#00f}}@-o-keyframes bluecolorcycle{0%{color:#00f}1%{color:#fff}50%{color:#fff}51%{color:#00f}100%{color:#00f}}@keyframes bluecolorcycle{0%{color:#00f}1%{color:#fff}50%{color:#fff}51%{color:#00f}100%{color:#00f}}@media screen and (max-width:720px){.hide-on-phone{display:none!important}}.only-on-phone{display:none!important}@media screen and (max-width:720px){.only-on-phone{display:block!important}}@media screen and (max-width:1023px){.hide-on-mobile{display:none!important}}.only-on-mobile{display:none!important}@media screen and (max-width:1023px){.only-on-mobile{display:block!important}}@media screen and (max-width:1023px) and (min-width:721px){.hide-on-tablet{display:none!important}}.only-on-tablet{display:none!important}@media screen and (max-width:1023px) and (min-width:721px){.only-on-tablet{display:block!important}}