* { box-sizing: border-box; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }

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 { margin: 0; padding: 0; border: 0; font: inherit; font-size: 100%; vertical-align: baseline; }

html { line-height: 1; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

caption, th, td { text-align: left; font-weight: normal; 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; }

.clear { clear: both; }

strong, b { font-weight: bold; }

i, em { font-style: italic; }

a { color: #99cf50; transition: color 250ms; }
a:hover, a:focus { color: #72a52d; }
a:visited { color: #8dca3c; }

html { background: #fefefe; }

.heading, h1, h2, h3, h4, h5, h6 { font-family: "Source Sans Pro", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif; }

.sans, body, body > header h1 { font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif; }

.mono, pre, code { font-family: "Source Code Pro", Monaco, "Andale Mono", "Lucida Console", "Courier New", monospace; }

body { color: #222; font-size: 110%; line-height: 1.45em; }
body > header h1 { font-size: 1.6em; font-family: "Source Sans Pro", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif; font-weight: normal; line-height: 1; }

h1, h2, h3, h4, h5, h6 { text-rendering: optimizelegibility; font-weight: bold; }

h1 { font-size: 2.2em; line-height: 1.2em; }

h2 { font-size: 1.4em; }

h3 { font-size: 1.3em; }

h4 { font-size: 1.2em; }

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; }

a[rev='footnote'] { font-size: .75em; padding: 0 .3em; line-height: 1; }

article blockquote { font-style: italic; position: relative; font-size: 1.2em; line-height: 1.5em; padding-left: 1em; border-left: 4px solid rgba(170, 170, 170, 0.5); }
article blockquote cite { font-style: italic; color: #aaa; }
article blockquote cite a { color: #aaa !important; word-wrap: break-word; }
article blockquote cite:before { content: '\2014'; padding-right: .3em; padding-left: .3em; }
@media only screen and (min-width: 992px) { article blockquote { padding-left: 1.5em; border-left-width: 4px; } }

.pullquote-right:before, .pullquote-left:before { /* Reset metrics. */ padding: 0; border: none; /* Content */ content: attr(data-pullquote); /* Pull out to the right, modular scale based margins. */ float: right; width: 45%; margin: .5em 0 1em 1.5em; /* Baseline correction */ position: relative; top: 7px; font-size: 1.4em; line-height: 1.45em; }

.pullquote-left:before { /* Make left pullquotes align properly. */ float: left; margin: .5em 1.5em 1em 0; }

/* @extend this to force long lines of continuous text to wrap */
.force-wrap { white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word; }

figure.code .highlight { background: #000; color: #ddd; border-radius: .5em; overflow-x: auto; }
figure.code .highlight .gutter { text-align: right; }
figure.code .highlight .gutter pre { padding: .5em; background: #444; border-top-left-radius: .5em; border-bottom-left-radius: .5em; }
figure.code .highlight .code { overflow: auto; }
figure.code .highlight .code pre { padding-top: .5em; padding-right: .5em; padding-bottom: .5em; padding-left: .6em; }

body { padding-top: 54px; }
body > header > hgroup, body > nav > .container, body > #main, body > footer { padding: .8em; margin: 0 auto; max-width: 1000px; }
body > nav > .container { padding-top: 0; }

img { max-width: 100%; }

ul { list-style-position: inside; }

.left { float: left; clear: left; }

.right { float: right; clear: right; }

body > header, body > nav { background: #8fd630; color: #fff; }
body > header a, body > header a:hover, body > header a:focus, body > header a:visited, body > nav a, body > nav a:hover, body > nav a:focus, body > nav a:visited { color: #fff; text-decoration: none; }

.js body > header, body > nav { box-shadow: 1px 1px 8px rgba(40, 40, 40, 0.5); }

body > header { height: 54px; }
body > header h1 { margin-bottom: 0; }
body > header h1 a { padding: .3em; margin: -.3em; }

body > header, .js body > nav { position: fixed; top: 0; left: 0; z-index: 2; width: 100%; }

body > nav { -webkit-transition: opacity 150ms ease-out; -moz-transition: opacity 150ms ease-out; -ms-transition: opacity 150ms ease-out; -o-transition: opacity 150ms ease-out; transition: opacity 150ms ease-out; }
body > nav ul { list-style: none; float: left; }
body > nav ul li { display: inline-block; margin: 0 0 0 .5em; }
body > nav ul.main-navigation { float: right; margin: 0 .5em 0 0; line-height: 1.75em; }
body > nav form { float: left; }
body > nav form .search { display: block; padding: 0 3px; font-family: inherit; font-size: .9em; width: 200px; }

#js-navbutton { display: none; font-size: 2.3em; float: right; margin-top: -.6em; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; }

.js body > nav { top: 0; z-index: 1; height: 0; overflow: hidden; opacity: 0; }
.js body.nav-showing > header { box-shadow: 1px 1px 8px transparent; -webkit-transition-duration: 0s; -moz-transition-duration: 0s; -ms-transition-duration: 0s; -o-transition-duration: 0s; transition-duration: 0s; }
.js body.nav-showing > nav { top: 54px; height: auto; opacity: 1; }
.js #js-navbutton { display: block; }

body > footer { clear: both; text-align: center; color: #aeaeae; font-size: .8em; }

.entry-title a { display: block; text-decoration: none; }

.hentry .entry-title { font-size: 3em; }

article { margin-top: 2em; }

.meta { margin: .5em 0; font-size: .8em; color: #aeaeae; }

.entry-content p, .entry-content figure.code { margin: 1em 0; }

.pagination { text-align: center; padding: .2em 0; font-size: .9em; font-weight: bold; }

.comments { clear: both; padding-top: 2em; }

.comments h1 { display: none; }

.highlight { background: #fff; }
.highlight .c { color: #998; font-style: italic; }
.highlight .err { color: #a61717; background-color: #e3d2d2; }
.highlight .k { font-weight: bold; }
.highlight .o { font-weight: bold; }
.highlight .cm { color: #998; font-style: italic; }
.highlight .cp { color: #999; font-weight: bold; }
.highlight .c1 { color: #998; font-style: italic; }
.highlight .cs { color: #999; font-weight: bold; font-style: italic; }
.highlight .gd { color: #000; background-color: #fdd; }
.highlight .gd .x { color: #000; background-color: #faa; }
.highlight .ge { font-style: italic; }
.highlight .gr { color: #a00; }
.highlight .gh { color: #999; }
.highlight .gi { color: #000; background-color: #dfd; }
.highlight .gi .x { color: #000; background-color: #afa; }
.highlight .go { color: #888; }
.highlight .gp { color: #555; }
.highlight .gs { font-weight: bold; }
.highlight .gu { color: #aaa; }
.highlight .gt { color: #a00; }
.highlight .kc { font-weight: bold; }
.highlight .kd { font-weight: bold; }
.highlight .kp { font-weight: bold; }
.highlight .kr { font-weight: bold; }
.highlight .kt { color: #458; font-weight: bold; }
.highlight .m { color: #099; }
.highlight .s { color: #d14; }
.highlight .na { color: #008080; }
.highlight .nb { color: #0086B3; }
.highlight .nc { color: #458; font-weight: bold; }
.highlight .no { color: #008080; }
.highlight .ni { color: #800080; }
.highlight .ne { color: #900; font-weight: bold; }
.highlight .nf { color: #900; font-weight: bold; }
.highlight .nn { color: #555; }
.highlight .nt { color: #000080; }
.highlight .nv { color: #008080; }
.highlight .ow { font-weight: bold; }
.highlight .w { color: #bbb; }
.highlight .mf { color: #099; }
.highlight .mh { color: #099; }
.highlight .mi { color: #099; }
.highlight .mo { color: #099; }
.highlight .sb { color: #d14; }
.highlight .sc { color: #d14; }
.highlight .sd { color: #d14; }
.highlight .s2 { color: #d14; }
.highlight .se { color: #d14; }
.highlight .sh { color: #d14; }
.highlight .si { color: #d14; }
.highlight .sx { color: #d14; }
.highlight .sr { color: #009926; }
.highlight .s1 { color: #d14; }
.highlight .ss { color: #990073; }
.highlight .bp { color: #999; }
.highlight .vc { color: #008080; }
.highlight .vg { color: #008080; }
.highlight .vi { color: #008080; }
.highlight .il { color: #099; }
