/*! normalize.css v1.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}/*! normalize-opentype.css v0.2.4 | MIT License | kennethormandy.com/journal/normalize-opentype-css */::-moz-selection{color:inherit;text-shadow:inherit;background-color:#ACCEF7}::selection{color:inherit;text-shadow:inherit;background-color:#ACCEF7}html,body,table{-webkit-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0;-moz-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0}h1,h2,h3{-webkit-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 1;-moz-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 1;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 1}abbr{text-transform:uppercase;-webkit-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"smcp" 1,"c2sc" 1;-moz-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"smcp" 1,"c2sc" 1;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"smcp" 1,"c2sc" 1}time{-webkit-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0;-moz-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0}pre,kbd,samp,code{-webkit-font-feature-settings:"kern" 0,"liga" 0,"calt" 1,"dlig" 0,"pnum" 0,"tnum" 1,"onum" 0,"lnum" 1,"zero" 1;-moz-font-feature-settings:"kern" 0,"liga" 0,"calt" 1,"dlig" 0,"pnum" 0,"tnum" 1,"onum" 0,"lnum" 1,"zero" 1;font-feature-settings:"kern" 0,"liga" 0,"calt" 1,"dlig" 0,"pnum" 0,"tnum" 1,"onum" 0,"lnum" 1,"zero" 1}sup{-webkit-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0,"sups" 1;-moz-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0,"sups" 1;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0,"sups" 1}sub{-webkit-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0,"subs" 1;-moz-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0,"subs" 1;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0,"subs" 1}input[type="color"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="number"],input[type="range"],input[type="tel"],input[type="week"]{-webkit-font-feature-settings:"kern" 0,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 0,"lnum" 1,"zero" 0;-moz-font-feature-settings:"kern" 0,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 0,"lnum" 1,"zero" 0;font-feature-settings:"kern" 0,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 0,"lnum" 1,"zero" 0}tbody,caption{-webkit-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 0,"tnum" 1,"onum" 0,"lnum" 1,"zero" 1;-moz-font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 0,"tnum" 1,"onum" 0,"lnum" 1,"zero" 1;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 0,"tnum" 1,"onum" 0,"lnum" 1,"zero" 1}@font-face{font-family:'Knewave';font-style:normal;font-variant:normal;font-weight:normal;src:local('Knewave'),local('Knewave-Regular'),url('fonts/knewave.ttf') format('truetype')}@font-face{font-family:'Source Code Pro';font-style:normal;font-variant:normal;font-weight:normal;src:url('fonts/SourceCodePro-Regular.eot');src:local('Source Code Pro'),local('SourceCodePro-Regular'),url('fonts/SourceCodePro-Regular.eot?#iefix') format('embedded-opentype'),url('fonts/SourceCodePro-Regular.ttf.woff2') format('woff2'),url('fonts/SourceCodePro-Regular.otf.woff') format('woff'),url('fonts/SourceCodePro-Regular.ttf') format('truetype'),url('fonts/SourceCodePro-Regular.otf') format('opentype')}@font-face{font-family:'Source Code Pro';font-style:italic;font-variant:normal;font-weight:normal;src:url('fonts/SourceCodePro-It.eot');src:local('Source Code Pro Italic'),local('SourceCodePro-Italic'),url('fonts/SourceCodePro-It.eot?#iefix') format('embedded-opentype'),url('fonts/SourceCodePro-It.ttf.woff2') format('woff2'),url('fonts/SourceCodePro-It.otf.woff') format('woff'),url('fonts/SourceCodePro-It.ttf') format('truetype'),url('fonts/SourceCodePro-It.otf') format('opentype')}@font-face{font-family:'Source Code Pro';font-style:normal;font-variant:normal;font-weight:bold;src:url('fonts/SourceCodePro-Bold.eot');src:local('Source Code Pro Bold'),local('SourceCodePro-Bold'),url('fonts/SourceCodePro-Bold.eot?#iefix') format('embedded-opentype'),url('fonts/SourceCodePro-Bold.ttf.woff2') format('woff2'),url('fonts/SourceCodePro-Bold.otf.woff') format('woff'),url('fonts/SourceCodePro-Bold.ttf') format('truetype'),url('fonts/SourceCodePro-Bold.otf') format('opentype')}@font-face{font-family:'Source Code Pro';font-style:italic;font-variant:normal;font-weight:bold;src:url('fonts/SourceCodePro-BoldIt.eot');src:local('Source Code Pro Bold Italic'),local('SourceCodePro-BoldItalic'),url('fonts/SourceCodePro-BoldIt.eot?#iefix') format('embedded-opentype'),url('fonts/SourceCodePro-BoldIt.ttf.woff2') format('woff2'),url('fonts/SourceCodePro-BoldIt.otf.woff') format('woff'),url('fonts/SourceCodePro-BoldIt.ttf') format('truetype'),url('fonts/SourceCodePro-BoldIt.otf') format('opentype')}@font-face{font-family:'Work Sans';font-weight:normal;font-variant:normal;font-style:normal;src:local('Work Sans'),local('WorkSans-Regular'),url('fonts/WorkSans-Regular.woff2') format('woff2'),url('fonts/WorkSans-Regular.woff') format('woff'),url('fonts/WorkSans-Regular.ttf') format('truetype'),url('fonts/WorkSans-Regular.otf') format('opentype')}@font-face{font-family:'Work Sans';font-style:italic;font-variant:normal;font-weight:normal;src:local('Work Sans Italic'),local('WorkSans-Italic'),url('fonts/WorkSans-Italic.woff2') format('woff2'),url('fonts/WorkSans-Italic.woff') format('woff'),url('fonts/WorkSans-Italic.ttf') format('truetype'),url('fonts/WorkSans-Italic.otf') format('opentype')}@font-face{font-family:'Work Sans';font-style:normal;font-variant:normal;font-weight:bold;src:local('Work Sans Bold'),local('WorkSans-Bold'),url('fonts/WorkSans-Bold.woff2') format('woff2'),url('fonts/WorkSans-Bold.woff') format('woff'),url('fonts/WorkSans-Bold.ttf') format('truetype'),url('fonts/WorkSans-Bold.otf') format('opentype')}@font-face{font-family:'Work Sans';font-style:italic;font-variant:normal;font-weight:bold;src:local('Work Sans Bold Italic'),local('WorkSans-BoldItalic'),url('fonts/WorkSans-BoldItalic.woff2') format('woff2'),url('fonts/WorkSans-BoldItalic.woff') format('woff'),url('fonts/WorkSans-BoldItalic.ttf') format('truetype'),url('fonts/WorkSans-BoldItalic.otf') format('opentype')}.hljs{display:block;padding:0.5em;background:#fff;color:black}.hljs-comment,.hljs-template_comment,.hljs-javadoc{color:#006a00}.hljs-keyword,.hljs-literal,.nginx .hljs-title{color:#aa0d91}.method,.hljs-list .hljs-title,.hljs-tag .hljs-title,.setting .hljs-value,.hljs-winutils,.tex .hljs-command,.http .hljs-title,.hljs-request,.hljs-status{color:#008}.hljs-envvar,.tex .hljs-special{color:#660}.hljs-string{color:#c41a16}.hljs-tag .hljs-value,.hljs-cdata,.hljs-filter .hljs-argument,.hljs-attr_selector,.apache .hljs-cbracket,.hljs-date,.hljs-regexp{color:#080}.hljs-sub .hljs-identifier,.hljs-pi,.hljs-tag,.hljs-tag .hljs-keyword,.hljs-decorator,.ini .hljs-title,.hljs-shebang,.hljs-prompt,.hljs-hexcolor,.hljs-rules .hljs-value,.hljs-symbol,.hljs-symbol .hljs-string,.hljs-number,.css .hljs-function,.clojure .hljs-title,.clojure .hljs-built_in,.hljs-function .hljs-title,.coffeescript .hljs-attribute{color:#1c00cf}.hljs-class .hljs-title,.haskell .hljs-type,.smalltalk .hljs-class,.hljs-javadoctag,.hljs-yardoctag,.hljs-phpdoc,.hljs-typename,.hljs-tag .hljs-attribute,.hljs-doctype,.hljs-class .hljs-id,.hljs-built_in,.setting,.hljs-params,.clojure .hljs-attribute{color:#5c2699}.hljs-variable{color:#3f6e74}.css .hljs-tag,.hljs-rules .hljs-property,.hljs-pseudo,.hljs-subst{color:#000}.css .hljs-class,.css .hljs-id{color:#9b703f}.hljs-value .hljs-important{color:#ff7700;font-weight:bold}.hljs-rules .hljs-keyword{color:#c5af75}.hljs-annotation,.apache .hljs-sqbracket,.nginx .hljs-built_in{color:#9b859d}.hljs-preprocessor,.hljs-preprocessor *,.hljs-pragma{color:#643820}.tex .hljs-formula{background-color:#eee;font-style:italic}.diff .hljs-header,.hljs-chunk{color:#808080;font-weight:bold}.diff .hljs-change{background-color:#bccff9}.hljs-addition{background-color:#baeeba}.hljs-deletion{background-color:#ffc8bd}.hljs-comment .hljs-yardoctag{font-weight:bold}.method .hljs-id{color:#000}html,button,input,select,textarea{color:#222}body{font-size:1em;line-height:1.4;text-rendering:optimizeLegibility}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:0.2em 0;background:#ccc;color:#000;padding:0.2em 0}body{font:16px/26px "Work Sans",sans-serif}p,li,dd{text-align:justify}code,pre{font-family:"Source Code Pro",monospace;background:#f8f8fa;border:1px solid #e4e4f8;padding-left:0.25em;padding-right:0.25em;border-radius:5px;line-height:110%}pre code{border:none;padding-left:0;padding-right:0;font-size:90%}code{font-size:92%}pre{padding-bottom:0.25em}.wrapper{width:90%;margin:0 5%}.header-container{padding-bottom:3px;border-bottom:1px solid #aaf}.footer-container,.main aside{border-top:1px solid #aaf}.header-container,.footer-container,.main aside{background:#f8f8fa}h1.title{font-family:Knewave,serif;font-weight:normal;color:#66c;margin-bottom:0}nav ul{margin:0;padding:0}nav ul li{display:inline}nav a{padding:10px 10px 4px 10px;border-bottom:4px solid #aaf;text-transform:lowercase}nav a:hover{color:#006;border-bottom-color:#00a}nav ul li.back{display:block;margin-bottom:0.8em}p.image,figure.image,figure.table{text-align:center;margin:1.5em 0}p.image a,figure.image a{border-bottom:none}p.image img,figure.image img,p.image video,figure.image video,figure.table table{border-radius:5px;-webkit-box-shadow:0 4px 8px #aaa;-moz-box-shadow:0 4px 8px #aaa;box-shadow:0 4px 8px #aaa}figure.image.padded img{padding:5px}figure figcaption{margin-top:0.5em;font-size:80%;color:#666}figure.rollover img{display:none}figure.rollover img:first-child{display:inline}figure.rollover:hover img{display:inline}figure.rollover:hover img:first-child{display:none}article table{padding:0;margin:1em auto 2em auto;-webkit-box-shadow:0 4px 8px #aaa;-moz-box-shadow:0 4px 8px #aaa;box-shadow:0 4px 8px #aaa}article table th,article table td{padding:0.25em 1.25em}article table th{text-align:center!important;color:#efefff;background:#334}article table tr:nth-child(even){background:#efefff}.main{padding:30px 0}.main article h1{font-size:2em}.main aside{font-size:90%;color:#66c;padding:0px 5% 10px;border:1px solid #aaf;border-radius:5px}.footer-container footer{padding:20px 0}.ie7 .title{padding-top:20px}a{color:#008;text-decoration:none;border-bottom:1px solid #aaf}a:hover{color:#080;border-bottom-color:#8a8}p.article-date{color:#888;font-size:90%;margin-top:-1em}table#article-list{-webkit-box-shadow:none;-moz-box-shadow:none;-box-shadow:none}table#article-list td{display:block}table#article-list tr{background:none}table#article-list tr:hover{background:#f8f8ff}table#article-list tr:hover td.date{color:#555}table#article-list td.date{color:#888;font-weight:lighter;font-size:small;margin-top:1.5em;vertical-align:top}table#article-list span.category{display:none}@media only screen and (min-width:480px){#header-avatar{margin-top:1.25em;width:72px;height:72px;display:block;float:left;background:url(avatar.png) 50% 50%;background-image:image-set(url(avatar.png) 1x,url(avatar@2x.png) 2x,url(avatar@3x.png) 3x);background-image:-webkit-image-set(url(avatar.png) 1x,url(avatar@2x.png) 2x,url(avatar@3x.png) 3x);border-radius:36px;border:1px solid #66c;-webkit-box-shadow:0 2px 4px #ccc;-moz-box-shadow:0 2px 4px #ccc;box-shadow:0 2px 4px #ccc}.header-container{-webkit-box-shadow:0 2px 4px #ddd;-moz-box-shadow:0 2px 4px #ddd;box-shadow:0 2px 4px #ddd}.main aside{margin-bottom:2em;-webkit-box-shadow:0 4px 8px #ccc;-moz-box-shadow:0 4px 8px #ccc;box-shadow:0 4px 8px #ccc}nav,div.header-container header>h1,div.header-container header>p{margin-left:90px}nav li:first-child a{margin-left:-10px}nav li:last-child a{margin-right:-10px}nav ul li.back{display:inline;margin-bottom:0.8em}table#article-list td{display:table-cell}table#article-list td.date{width:10em;text-align:right;color:#aaa;padding-right:0.2em;font-weight:lighter;padding-right:1em}table#article-list span.category{color:#aaa;padding-left:0.5em;display:inline}table#article-list span.category:before{content:"→";padding-right:0.5em}p>img{display:block;float:right;border-radius:5px;margin:0.5em 0 0.5em 1.5em;-webkit-box-shadow:0 4px 8px #aaa;-moz-box-shadow:0 4px 8px #aaa;box-shadow:0 4px 8px #aaa}.oldie nav a{margin:0 0.7%}}@media only screen and (min-width:768px){.main aside{border:none;border-radius:0;border-top:1px solid #aaf;padding:0.5em 2em;float:right;top:2em;left:800px;width:10em;margin:2em}}@media only screen and (min-width:1140px){#disqus_thread{margin-top:2em;padding-top:2em;border-top:1px solid #aaf;width:700px}.main article{width:700px}.wrapper{width:1026px;margin:0 auto}}img,video{max-width:93%!important;height:auto}.ir{background-color:transparent;border:0;overflow:hidden;*text-indent:-9999px}.ir:before{content:"";display:block;width:0;height:150%}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.clearfix{*zoom:1}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #aaf;page-break-inside:avoid}thead{display:table-header-group}tr,img,video{page-break-inside:avoid}img,video{max-width:100%!important;height:auto}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}ol.toc{padding:1rem 3rem;background:#f8f8fa;border:1px solid #aaf;border-radius:5px}ol.toc li{padding:0;text-align:left}ol.toc ul,ol.toc ol{padding:0;margin:0.2rem 0.2rem 0.2rem 1.2rem}