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, main, menu, nav, section, summary {
    display:block
}

@font-face {
    font-family: "glyphs";
    src: url(/fonts/glyphs-d5c381f9.eot);
    src: url(/fonts/glyphs-d5c381f9.eot?#iefix) format("embedded-opentype"), url(/fonts/glyphs-dc7bcd46.woff) format("woff"), url(/fonts/glyphs-f129375d.ttf) format("truetype"), url(/fonts/glyphs-16ce438c.svg#glyphs) format("svg");
    font-weight: normal;
    font-style:normal
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "glyphs";
        src: url(/fonts/glyphs-16ce438c.svg#glyphs) format("svg")
    }
}

[data-icon]:before {
    content:attr(data-icon)
}

[data-icon]:before, .icon-github:before, .icon-presentation:before, .icon-twitter:before, .icon-video:before {
    display: inline-block;
    font-family: "glyphs";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-decoration: inherit;
    text-rendering: optimizeLegibility;
    text-transform: none;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-smoothing:antialiased
}

.icon-github:before {
    content: "\f100"
}

.icon-presentation:before {
    content: "\f101"
}

.icon-twitter:before {
    content: "\f102"
}

.icon-video:before {
    content: "\f103"
}

body {
    font-size: 11pt;
    line-height: 1.75em;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing:border-box
}

.vertical-rhythm > *, ul > *, ol > *, .container > * {
    margin-top: 1em;
    margin-bottom:1em
}

.container {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin:1em auto
}

.container:after {
    content: " ";
    display: block;
    clear:both
}

.container h1, .container h2 {
    margin-top: 1.5em;
    margin-bottom:1.5em
}

@media (min-width: 36em) {
    .container {
        max-width: 36em;
        margin-left: auto;
        margin-right: auto;
        margin:2em auto
    }

    .container:after {
        content: " ";
        display: block;
        clear:both
    }

    .container h1 {
        text-align:center
    }
}

body {
    font-family: Merriweather, Georgia, serif;
    background-color: #fff;
    color:#474747
}

a {
    color: #477b9d;
    text-decoration:none
}

a:hover {
    color:#6095b7
}

a:hover {
    text-decoration:underline
}

pre, code, blockquote {
    background-color:#f7f7f7
}

pre, code {
    font-size: 0.9em;
    line-height: 1.5;
    font-family: Menlo, monospace;
    overflow-y:auto
}

blockquote, pre {
    padding: 1em;
    border-left:3px solid #dedede
}

blockquote > p, pre > p {
    color:#646464
}

code {
    padding:0.05em
}

em {
    font-style:italic
}

h1, h2, h3, h4, h5, h6 {
    color: black;
    font-weight:600
}

h1 {
    font-size: 1.33333em;
    line-height:1.75em
}

@media (min-width: 36em) {
    h1 {
        font-size:1.77778em
    }
}

img {
    max-width:100%
}

img.centered {
    margin-left: auto;
    margin-right: auto;
    display: block
}

iframe[src * ='player.vimeo.com'], iframe[src * ='youtube.com'] {
    max-width:100%
}

.light, blockquote > p, pre > p, ul.toc li .subtitle {
    font-weight:100
}

.heavy, strong {
    font-weight:700
}

.weak, ul.toc li .subtitle {
    opacity:0.75
}

.article p {
    text-align:justify
}

.article ol li {
    list-style-type:decimal
}

.article p img {
    margin: inherit auto;
    display:block
}

.article p code {
    padding:0.25em
}

.article table {
    margin: auto -10em;
    font-size: 0.86603em;
    border-top: 1px solid #dedede;
    border-bottom:1px solid #dedede
}

.article table th, .article table td {
    padding: 0.5rem 0.25rem;
    text-align: left;
    vertical-align:top
}

.article table thead {
    border-bottom:1px solid #dedede
}

.article table thead th, .article table thead td {
    vertical-align:bottom
}

.article table thead th {
    font-weight:bold
}

.focused-links {
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom:2em
}

.focused-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin: 1rem;
}

.focused-link--icon {
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
}

.focused-link--text {}

ul.toc li {
    max-width: 100%;
    margin-left: auto;
    margin-right:auto
}

ul.toc li:after {
    content: " ";
    display: block;
    clear:both
}

ul.toc li span.title {
    width: 100%;
    float: right;
    margin-right:0
}

ul.toc li span.subtitle {
    width: 100%;
    float: right;
    margin-right:0
}

@media (min-width: 36em) {
    ul.toc li span.title {
        width: 65.95745%;
        float: left;
        margin-right:2.12766%
    }

    ul.toc li span.subtitle {
        width: 31.91489%;
        float: right;
        margin-right: 0;
        text-align: right;
        white-space:nowrap
    }
}

.highlight table td {
    padding:5px
}

.highlight table pre {
    margin:0
}

.highlight .cm {
    color: #999988;
    font-style:italic
}

.highlight .cp {
    color: #999999;
    font-weight:bold
}

.highlight .c1 {
    color: #999988;
    font-style:italic
}

.highlight .cs {
    color: #999999;
    font-weight: bold;
    font-style:italic
}

.highlight .c, .highlight .cd {
    color: #999988;
    font-style:italic
}

.highlight .err {
    color: #a61717;
    background-color:#e3d2d2
}

.highlight .gd {
    color: #000000;
    background-color:#ffdddd
}

.highlight .ge {
    color: #000000;
    font-style:italic
}

.highlight .gr {
    color:#aa0000
}

.highlight .gh {
    color:#999999
}

.highlight .gi {
    color: #000000;
    background-color:#ddffdd
}

.highlight .go {
    color:#888888
}

.highlight .gp {
    color:#555555
}

.highlight .gs {
    font-weight:bold
}

.highlight .gu {
    color:#aaaaaa
}

.highlight .gt {
    color:#aa0000
}

.highlight .kc {
    color: #000000;
    font-weight:bold
}

.highlight .kd {
    color: #000000;
    font-weight:bold
}

.highlight .kn {
    color: #000000;
    font-weight:bold
}

.highlight .kp {
    color: #000000;
    font-weight:bold
}

.highlight .kr {
    color: #000000;
    font-weight:bold
}

.highlight .kt {
    color: #445588;
    font-weight:bold
}

.highlight .k, .highlight .kv {
    color: #000000;
    font-weight:bold
}

.highlight .mf {
    color:#009999
}

.highlight .mh {
    color:#009999
}

.highlight .il {
    color:#009999
}

.highlight .mi {
    color:#009999
}

.highlight .mo {
    color:#009999
}

.highlight .m, .highlight .mb, .highlight .mx {
    color:#009999
}

.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 .s {
    color:#d14
}

.highlight .na {
    color:#008080
}

.highlight .bp {
    color:#999999
}

.highlight .nb {
    color:#0086B3
}

.highlight .nc {
    color: #445588;
    font-weight:bold
}

.highlight .no {
    color:#008080
}

.highlight .nd {
    color: #3c5d5d;
    font-weight:bold
}

.highlight .ni {
    color:#800080
}

.highlight .ne {
    color: #990000;
    font-weight:bold
}

.highlight .nf {
    color: #990000;
    font-weight:bold
}

.highlight .nl {
    color: #990000;
    font-weight:bold
}

.highlight .nn {
    color:#555555
}

.highlight .nt {
    color:#000080
}

.highlight .vc {
    color:#008080
}

.highlight .vg {
    color:#008080
}

.highlight .vi {
    color:#008080
}

.highlight .nv {
    color:#008080
}

.highlight .ow {
    color: #000000;
    font-weight:bold
}

.highlight .o {
    color: #000000;
    font-weight:bold
}

.highlight .w {
    color:#bbbbbb
}

.highlight {
    background-color: #f8f8f8
}
