*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,dl,dd,ol,ul,figure,fieldset{margin:0;padding:0}html{line-height:1}body{font-family:pt serif,Georgia,Times,times new roman,serif}fieldset,img{border:0}button,input,select,textarea{font:inherit}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:400;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}a{color:#1863a1}a:visited{color:#751590}a:focus{color:#0181eb}a:hover{color:#0181eb}a:active{color:#01579f}aside.sidebar a{color:#222}aside.sidebar a:focus{color:#0181eb}aside.sidebar a:hover{color:#0181eb}aside.sidebar a:active{color:#01579f}a{transition:color .3s}html{background:#252525}body>div{background:#f2f2f2;border-bottom:1px solid #bfbfbf}body>div>div{background:#f8f8f8;border-right:1px solid #e0e0e0}.sans,body>header h2,article header p.meta,article>footer,#content .blog-index footer,#blog-archives a.category,#blog-archives time,aside.sidebar section,body>footer{font-family:pt sans,helvetica neue,Arial,sans-serif}.mono,pre,code,tt,p code,li code{font-family:Menlo,Monaco,andale mono,lucida console,courier new,monospace}body>header h1{font-size:2.2em;font-family:pt serif,georgia,helvetica neue,Arial,sans-serif;font-weight:400;line-height:1.2em;margin-bottom:.6667em}body>header h2{font-family:pt serif,georgia,helvetica neue,Arial,sans-serif}body{line-height:1.5em;color:#222}h1{font-size:2.2em;line-height:1.2em}h1,h2,h3,h4,h5,h6{text-rendering:optimizelegibility;margin-bottom:1em;font-weight:700;margin-top:1em}h2,section h1{font-size:1.5em}h3,section h2,section section h1{font-size:1.3em}h4,section h3,section section h2,section section section h1{font-size:1em}h5,section h4,section section h3{font-size:.9em}h6,section h5,section section h4,section section section h3{font-size:.8em}p,article blockquote,ul,ol{margin-bottom:.8em}ul{list-style-type:disc}ul ul{list-style-type:circle;margin-bottom:0}ul ul ul{list-style-type:square;margin-bottom:0}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha;margin-bottom:0}ol ol ol{list-style-type:lower-roman;margin-bottom:0}ul,ul ul,ul ol,ol,ol ul,ol ol{margin-left:1.3em}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}strong{font-weight:700}em{font-style:italic}sup,sub{font-size:.75em;position:relative;display:inline-block;padding:0 .2em;line-height:.8em}sup{top:-.5em}sub{bottom:-.5em}a[rev=footnote]{font-size:.75em;padding:0 .3em;line-height:1}q{font-style:italic}q:before{content:"\201C"}q:after{content:"\201D"}em,dfn{font-style:italic}strong,dfn{font-weight:700}del,s{text-decoration:line-through}abbr,acronym{border-bottom:1px dotted;cursor:help}hr{margin-bottom:.2em}small{font-size:.8em}big{font-size:1.2em}article blockquote{font-style:italic;position:relative;font-size:1em;line-height:1.5em;padding-left:1em;border-left:4px solid rgba(170,170,170,.5)}article blockquote cite{font-style:italic}article blockquote cite a{color:#aaa!important;word-wrap:break-word}article blockquote cite:before{content:'\2014';padding-right:.3em;padding-left:.3em;color:#aaa}@media only screen and (min-width:992px){article blockquote{padding-left:1.5em;border-left-width:4px}}.pullquote-right:before,.pullquote-left:before{padding:0;border:none;content:attr(data-pullquote);float:right;width:45%;margin:.5em 0 1em 1.5em;position:relative;top:7px;font-size:1.4em;line-height:1.45em}.pullquote-left:before{float:left;margin:.5em 1.5em 1em 0}.force-wrap,article a,aside.sidebar a{white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word}.group:after,body>header:after,body>nav:after,body>footer:after,body #content>article:after,body #content>div>section:after,body div.pagination:after,.sidebar:after{content:"";display:table;clear:both}body{-webkit-text-size-adjust:none;max-width:1200px;position:relative;margin:0 auto;font-size:110%}body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:18px;padding-right:18px}@media only screen and (min-width:480px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:25px;padding-right:25px}}@media only screen and (min-width:768px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:35px;padding-right:35px}}@media only screen and (min-width:992px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:40px;padding-right:40px}}body div.pagination{margin-left:18px;margin-right:18px}@media only screen and (min-width:480px){body div.pagination{margin-left:25px;margin-right:25px}}@media only screen and (min-width:768px){body div.pagination{margin-left:35px;margin-right:35px}}@media only screen and (min-width:992px){body div.pagination{margin-left:55px;margin-right:55px}}body>header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em}#content{overflow:hidden}#content>div,#content>article{width:100%}aside.sidebar{float:none;padding:0 18px 1px;background-color:#f7f7f7;border-top:1px solid #e0e0e0}.flex-content,article img,article video,article .flash-video,article .caption-wrapper,aside.sidebar img{max-width:100%;height:auto}.basic-alignment.left,article img.left,article video.left,article .left.flash-video,article .left.caption-wrapper,aside.sidebar img.left{float:left;margin-right:1.5em}.basic-alignment.right,article img.right,article video.right,article .right.flash-video,article .right.caption-wrapper,aside.sidebar img.right{float:right;margin-left:1.5em}.basic-alignment.center,article img.center,article video.center,article .center.flash-video,article .center.caption-wrapper,aside.sidebar img.center{display:block;margin:0 auto 1.5em}.basic-alignment.left,article img.left,article video.left,article .left.flash-video,article .left.caption-wrapper,aside.sidebar img.left,.basic-alignment.right,article img.right,article video.right,article .right.flash-video,article .right.caption-wrapper,aside.sidebar img.right{margin-bottom:.8em}@media only screen and (min-width:550px){body>header{font-size:1em}}@media only screen and (min-width:750px){aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}aside.sidebar section.odd,aside.sidebar section.even{float:left;width:48%}aside.sidebar section.odd{margin-left:0}aside.sidebar section.even{margin-left:4%}aside.sidebar.thirds section{width:30%;margin-left:5%}aside.sidebar.thirds section.first{margin-left:0;clear:both}}@media only screen and (min-width:768px){body{-webkit-text-size-adjust:auto}body>header{font-size:1.2em}#main{padding:0;margin:0 auto}#content{display:grid;grid-template-columns:minmax(0,1fr)240px;align-items:stretch;overflow:visible;position:relative;background:0 0;border-right:0}#content>div,#content>article{min-width:0;width:auto;padding-top:17.5px;padding-bottom:17.5px;background:#f8f8f8;border-right:1px solid #e0e0e0}aside.sidebar{width:auto;padding:0 15px 15px;background:0 0;clear:none;float:none;margin:0}aside.sidebar section{width:auto;margin-left:0}aside.sidebar section.odd,aside.sidebar section.even{float:none;width:auto;margin-left:0}}@media only screen and (min-width:992px){body>header{font-size:1.3em}#content{grid-template-columns:minmax(0,1fr)320px}#content>div,#content>article{padding-top:.5em;padding-bottom:.5em}aside.sidebar{padding:0 20px 20px}}body>header{background:#333}body>header h1{display:inline-block;margin:0}body>header h1 a,body>header h1 a:visited,body>header h1 a:hover{color:#f2f2f2;text-decoration:none}body>header h2{margin:.2em 0 0;font-size:1em;color:#aaa;font-weight:400}body>nav{position:relative;background-color:#ccc;background:linear-gradient(#e0e0e0,#cccccc,#b0b0b0);border-top:1px solid #f2f2f2;border-bottom:1px solid #8c8c8c;padding-top:.35em;padding-bottom:.35em}body>nav form{-webkit-background-clip:padding;-moz-background-clip:padding;background-clip:padding-box;margin:0;padding:0}body>nav form .search{padding:.3em .5em 0;font-size:.85em;font-family:pt sans,helvetica neue,Arial,sans-serif;line-height:1.1em;width:95%;border-radius:.5em;-webkit-background-clip:padding;-moz-background-clip:padding;background-clip:padding-box;box-shadow:#d1d1d1 0 1px;background-color:#f2f2f2;border:1px solid #b3b3b3;color:#888}body>nav form .search:focus{color:#444;border-color:#80b1df;box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;background-color:#fff;outline:none}body>nav fieldset[role=search]{float:right;width:48%}body>nav fieldset.mobile-nav{float:left;width:48%}body>nav fieldset.mobile-nav select{width:100%;font-size:.8em;border:1px solid #888}body>nav ul{display:none}@media only screen and (min-width:550px){body>nav{font-size:.9em}body>nav ul{margin:0;padding:0;border:0;overflow:hidden;float:left;display:block;padding-top:.15em}body>nav ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;display:inline;float:left;padding-left:0;padding-right:0}body>nav ul li:first-child,body>nav ul li.first{padding-left:0}body>nav ul li:last-child{padding-right:0}body>nav ul li.last{padding-right:0}body>nav ul.subscription{margin-left:.8em;float:right}body>nav ul.subscription li:last-child a{padding-right:0}body>nav ul li{margin:0}body>nav a{color:#6b6b6b;font-family:pt sans,helvetica neue,Arial,sans-serif;text-shadow:#ebebeb 0 1px;float:left;text-decoration:none;font-size:1.1em;padding:.1em 0;line-height:1.5em}body>nav a:visited{color:#6b6b6b}body>nav a:hover{color:#2b2b2b}body>nav li+li{border-left:1px solid #b0b0b0;margin-left:.8em}body>nav li+li a{padding-left:.8em;border-left:1px solid #dedede}body>nav form{float:right;text-align:left;padding-left:.8em;width:175px}body>nav form .search{width:93%;font-size:.95em;line-height:1.2em}body>nav ul[data-subscription$=email]+form{width:97px}body>nav ul[data-subscription$=email]+form .search{width:91%}body>nav fieldset.mobile-nav{display:none}body>nav fieldset[role=search]{width:99%}}@media only screen and (min-width:992px){body>nav form{width:215px}body>nav ul[data-subscription$=email]+form{width:147px}}.no-placeholder body>nav .search{background:#f2f2f2 .3em .25em no-repeat;text-indent:1.3em}article{padding-top:1em}article header{position:relative;padding-bottom:1em;margin-bottom:1em}article header h1{margin:0;margin-top:.15em}article header h1 a{text-decoration:none}article header h1 a:hover{text-decoration:underline}article header p{font-size:.9em;color:#aaa;margin:0}article header p.meta{text-transform:uppercase;top:0}@media only screen and (min-width:768px){article header{margin-bottom:1.5em;padding-bottom:1em}}.entry-content article h2:first-child,article header+h2{padding-top:0}article h2:first-child,article header+h2{background:0 0}article .feature{padding-top:.5em;margin-bottom:1em;padding-bottom:1em;font-size:2em;font-style:italic;line-height:1.3em}article img,article video,article .flash-video,article .caption-wrapper{border-radius:.3em;box-shadow:rgba(0,0,0,.15)0 1px 4px;box-sizing:border-box;border:#fff .5em solid}article img.caption,article video.caption,article .flash-video.caption,article .caption-wrapper.caption{border-radius:0;box-shadow:0;box-sizing:border-box;border:0}article .caption-wrapper{display:inline-block;margin-bottom:1em}article .caption-wrapper .caption-text{background:#fff;text-align:center;font-size:.8em;color:#666;display:block}article video,article .flash-video{margin:0 auto 1.5em}article video{display:block;width:100%}article .flash-video>div{position:relative;display:block;padding-bottom:56.25%;padding-top:1px;height:0;overflow:hidden}article .flash-video>div iframe,article .flash-video>div object,article .flash-video>div embed{position:absolute;top:0;left:0;width:100%;height:100%}article>footer{padding-bottom:.3em;margin-top:.3em}article>footer p.meta{margin-bottom:.8em;font-size:.85em;clear:both;overflow:hidden}#content .blog-index{padding-top:0;padding-bottom:0}#content .blog-index article{padding-top:2em;font-family:pt serif,Georgia,Times,times new roman,serif}#content .blog-index article header{background:0 0;padding-bottom:0}#content .blog-index article h1{font-size:2.2em}#content .blog-index article h1 a{color:inherit}#content .blog-index article h1 a:hover{color:#0181eb}#content .blog-index a[rel=full-article]{background:#ebebeb;display:inline-block;padding:.4em .8em;margin-right:.5em;text-decoration:none;color:#666;transition:background-color .5s}#content .blog-index a[rel=full-article]:hover{background:#0181eb;text-shadow:none;color:#f8f8f8}#content .blog-index footer{margin-top:1em}.separator,article>footer .byline+time:before,article>footer time+time:before,article>footer .comments:before,article>footer .byline~.categories:before{content:"\2022 ";padding:0 .4em 0 .2em;display:inline-block}#content div.pagination{text-align:center;font-size:.95em;position:relative;padding-top:1.5em;padding-bottom:1.5em}#content div.pagination a{text-decoration:none;color:#000;padding-left:.4em}#content div.pagination a:hover{color:#0181eb}p.meta+.sharing{padding-top:1em;padding-left:0}#fb-root{display:none}pre{background:#002b36;border-radius:0;line-height:1.45em;margin-bottom:.8em;padding:16px;color:#93a1a1;font-size:80%}h3.filename+pre{border-top-left-radius:0;border-top-right-radius:0}p code,li code{display:inline-block;white-space:no-wrap;background:#fff;font-size:.8em;line-height:1.5em;color:#555;border:1px solid #ddd;border-radius:.4em;padding:0 .3em;margin:-1px 0}p pre code,li pre code{font-size:1em!important;background:0 0;border:none;color:#93a1a1}div.highlight>pre>code,pre>code{overflow-y:hidden;display:block}td>div.highlight>pre>code,div.linenodiv>pre>code{overflow:scroll;overflow-y:hidden;display:inline}pre::-webkit-scrollbar,.highlighttable::-webkit-scrollbar,.gist-highlighttable::-webkit-scrollbar{height:.5em;background:rgba(255,255,255,.15)}pre::-webkit-scrollbar-thumb:horizontal,.highlighttable::-webkit-scrollbar-thumb:horizontal,.gist-highlighttable::-webkit-scrollbar-thumb:horizontal{background:rgba(255,255,255,.2);border-radius:4px}figure.code{background:0 0;padding:0;border:0;margin-bottom:.8em}figure.code pre{margin-bottom:0}figure.code figcaption{position:relative}figure.code .highlighttable{margin-bottom:0;table-layout:fixed;width:100%}.code-title,h3.filename,figure.code figcaption{text-align:center;line-height:2em;text-shadow:#cbcccc 0 1px 0;color:#474747;font-weight:400;margin-bottom:0;border-top-left-radius:5px;border-top-right-radius:5px;background:#aaa top repeat-x;border:1px solid #565656;border-top-color:#cbcbcb;border-left-color:#a5a5a5;border-right-color:#a5a5a5;border-bottom:0;font-size:90%}.download-source,figure.code figcaption a{position:absolute;right:.8em;text-decoration:none;color:#666!important;z-index:1;font-size:13px;text-shadow:#cbcccc 0 1px 0;padding-left:3em}.download-source:hover,figure.code figcaption a:hover{text-decoration:underline}#archive #content>div,#archive #content>div>article{padding-top:0}#blog-archives{color:#aaa}#blog-archives article{padding:1em 0;position:relative}#blog-archives article:last-child{background:0 0}#blog-archives article footer{padding:0;margin:0}#blog-archives h1{color:#222;margin-bottom:.3em}#blog-archives h2{display:none}#blog-archives h1{font-size:1.5em}#blog-archives h1 a{text-decoration:none;color:inherit;font-weight:400;display:inline-block}#blog-archives h1 a:hover{text-decoration:underline}#blog-archives h1 a:hover{color:#0181eb}#blog-archives a.category,#blog-archives time{color:#aaa}#blog-archives .entry-content{display:none}#blog-archives time{font-size:.9em;line-height:1.2em}#blog-archives time .month,#blog-archives time .day{display:inline-block}#blog-archives time .month{text-transform:uppercase}#blog-archives p{margin-bottom:1em}#blog-archives a,#blog-archives .entry-content a{color:inherit}#blog-archives a:hover,#blog-archives .entry-content a:hover{color:#0181eb}#blog-archives a:hover{color:#0181eb}@media only screen and (min-width:550px){#blog-archives article{margin-left:5em}#blog-archives h2{margin-bottom:.3em;font-weight:400;display:inline-block;position:relative;top:-1px;float:left;margin-top:1.7em}#blog-archives time{position:absolute;text-align:right;left:0;top:3em;font-family:pt sans,helvetica neue,Arial,sans-serif}#blog-archives article{padding-left:4.5em;padding-bottom:.7em}#blog-archives a.category{line-height:1.1em}}#content>.category article{margin-left:0;padding-left:6.8em}#content>.category .year{display:inline}.side-shadow-border,aside.sidebar section h1,aside.sidebar li{box-shadow:#fff 0 1px}aside.sidebar{overflow:hidden;color:#4b4b4b;text-shadow:#fff 0 1px}aside.sidebar section{font-size:.9em;line-height:1.4em;margin-bottom:.5em}aside.sidebar section h1{margin:.5em 0 0;padding-bottom:.2em;border-bottom:1px solid #e0e0e0}aside.sidebar section h1+p{padding-top:.4em}aside.sidebar img{border-radius:.3em;box-shadow:rgba(0,0,0,.15)0 1px 4px;box-sizing:border-box;border:#fff .3em solid}aside.sidebar ul{margin-bottom:.5em;margin-left:0}aside.sidebar li{list-style:none;padding:.5em 0;margin:0;border-bottom:1px solid #e0e0e0}aside.sidebar li p:last-child{margin-bottom:0}aside.sidebar a{color:inherit;transition:color .5s}aside.sidebar:hover a{color:#222}aside.sidebar:hover a:hover{color:#0181eb}body>footer{font-size:1em;color:#888;text-shadow:#d9d9d9 0 1px;background-color:#ccc;background:linear-gradient(#e0e0e0,#cccccc,#b0b0b0);border-top:1px solid #f2f2f2;position:relative;padding-top:1em;padding-bottom:1em;margin-bottom:3em;border-bottom-left-radius:.4em;border-bottom-right-radius:.4em;z-index:1}body>footer a{color:#6b6b6b}body>footer a:visited{color:#6b6b6b}body>footer a:hover{color:#484848}body>footer p:last-child{margin-bottom:0}table,th,td{border:1px solid #000;padding:3px}th{font-weight:700;text-align:center}.label{display:inline;padding:.2em .6em .3em;font-size:80%;font-weight:700;line-height:1;color:#fff;text-align:center;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}a.label:visited{color:#fff}.label{margin:0 .25em;background-color:#313131}.posts a.label,.post-date a.label{color:#fff;text-decoration:none;cursor:pointer}.linenodiv{background-color:#002b36!important}pre span{font-family:Menlo,Monaco,andale mono,lucida console,courier new,monospace}td.code{width:95%}div.codewrapper{overflow-x:auto;overflow-y:hidden;background-color:#002b36}div.entry-content>div.highlight{border-color:#002b36;overflow-x:auto;overflow-y:hidden;margin-bottom:.4em}div.entry-content>table{margin-bottom:1em}div.entry-content>h1{font-size:1.7em}div.entry-content>h2{font-size:1.5em}div.entry-content>h1,h2,h3,h4,h5,h6{margin-bottom:.5em;margin-top:.8em}.sidebar{padding:2rem 1rem;color:rgba(255,255,255,.5);background-color:#202020}@media(min-width:48em){.sidebar-sticky{position:absolute;right:1rem;bottom:1rem;left:1rem}}.gist .gist-meta{font-size:90%!important;color:#586069!important;background-color:#f7f7f7;border-radius:0 0 2px 2px;border:1px solid #a5a5a5!important;background:#aaa top repeat-x!important;border-bottom-left-radius:5px!important;border-bottom-right-radius:5px!important}.gist .blob-num{font-size:.938em!important}.gist .highlight,.gist .blob-code-inner{font-size:.938em!important;font-family:Menlo,Monaco,andale mono,lucida console,courier new,monospace!important;line-height:1.25em!important}.gist .pl-c1,.gist .pl-s .pl-v{color:#719e07!important}.gist .gist-meta{background-color:#073642!important;color:#93a1a1!important}.gist .gist-meta a{color:#268bd2!important}.gist .gist-data,.gist .highlight{background-color:#002b36!important;color:#93a1a1!important}.gist .pl-smi,.gist .pl-s .pl-s1,.gist .blob-code-inner,.gist .blob-num{color:#93a1a1!important}.gist .pl-k{color:#719e07!important}.gist .pl-e,.gist .pl-en{color:#cb4b16!important}.gist .pl-s,.gist .pl-pds,.gist .pl-s .pl-pse .pl-s1,.gist .pl-sr,.gist .pl-sr .pl-cce,.gist .pl-sr .pl-sre,.gist .pl-sr .pl-sra{color:#2aa198!important}.gist .pl-s,.gist .pl-pds,.gist .pl-s .pl-pse .pl-s1,.gist .pl-sr,.gist .pl-sr .pl-cce,.gist .pl-sr .pl-sre,.gist .pl-sr .pl-sra,.gist .pl-e,.gist .pl-en,.gist .pl-k,.gist .pl-smi,.gist .pl-s .pl-s1,.gist .blob-code-inner,.gist .blob-num,.gist .gist-data,.gist .highlight,.gist .pl-c1,.gist .pl-s .pl-v,.gist .pl-c{font-family:Menlo,Monaco,andale mono,lucida console,courier new,monospace!important}figure figcaption{background:#fff;text-align:center;font-size:1em;color:#666;display:block}figure{color:#666}figure a{color:#666;text-align:center;text-decoration:none;display:inline-block;white-space:nowrap}