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-size: 100%; font: inherit; vertical-align: baseline; }

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

body { background: url(data:image/jpeg;charset=utf-8;base64,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); color: #666; font-family: 'lucida grande', sans-serif; font-size: 10.5pt; line-height: 1.6; }

a { text-decoration: none; color: #51667a; }

a:visited { color: #718eaa; }

a:hover { color: #485b6d; }

.content h1 { font-size: 2.5em; }
.content h2 { font-size: 1.2em; }
.content h3 { font-size: 1.1em; }
.content h4 { font-size: 1.2em; }
.content h5 { font-size: 0.9em; }
.content h6 { font-size: 0.8em; }
.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 { font-weight: bold; }
.content h1, .content h2, .content h3, .content h4, .content h5, .content h6, .content p, .content ul, .content blockquote { margin: 20px 0; }
.content blockquote { padding: 10px; border-left: solid 2px #aaa; }
.content strong { font-weight: bold; }
.content em { font-style: italic; }
.content ul { margin-left: 2em; }
.content ul li { list-style-type: disc; }
.content > :first-child, .content > :first-child :first-child { margin-top: 0; }
.content > :last-child, .content > :last-child :last-child { margin-bottom: 0; }
.content code, .content pre { font-style: normal; color: #456; text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7); background: #eef6ff; font-family: monaco, monospace; font-size: 0.9em; }
.content code { padding: 1px 5px; -webkit-border-radius: 2px; -moz-border-radius: 2px; -ms-border-radius: 2px; -o-border-radius: 2px; border-radius: 2px; font-size: 0.8em; margin: 0 2px; -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1); -moz-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1); box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1); }
.content pre code { font-size: 1em; margin: 0; padding: 0; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
.content pre { overflow: auto; padding: 20px; font-size: 9pt; white-space: pre; -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1), inset 2px 2px 4px rgba(0, 0, 0, 0.1); -moz-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1), inset 2px 2px 4px rgba(0, 0, 0, 0.1); box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1), inset 2px 2px 4px rgba(0, 0, 0, 0.1); }
.content span.context { color: #888; font-size: 0.9em; }

/* ============================================================================ Top nav ============================================================================ */
#top { background: rgba(0, 0, 0, 0.1); padding: 5px; color: #ddd; text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1); zoom: 1; line-height: 30px; }
#top:after { content: ''; clear: both; display: block; line-height: 0; height: 0; visibility: hidden; zoom: 1; }

#logo { float: left; width: 200px; padding: 0 10px; color: white; text-decoration: none; font-weight: bold; }

/* ============================================================================ Tabs ============================================================================ */
#crumbs { position: absolute; top: -26px; left: 0; margin: 0; padding: 0; }
#crumbs a, #crumbs strong { display: inline-block; height: 26px; line-height: 26px; font-size: 8pt; padding: 0 45px 0 8px; }
#crumbs a { text-decoration: none; color: #ddd; text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2); background: rgba(0, 0, 0, 0.2); }
#crumbs a:hover { color: #ddd; background: rgba(0, 0, 0, 0.3); }
#crumbs strong { font-weight: bold; text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2); background: white; color: #666; }

#area { padding-left: 200px; width: 90%; max-width: 1100px; min-width: 800px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; margin: 0 auto; }

#content { -moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; -ms-border-top-left-radius: 2px; -o-border-top-left-radius: 2px; border-top-left-radius: 2px; -moz-border-radius-topright: 2px; -webkit-border-top-right-radius: 2px; -ms-border-top-right-radius: 2px; -o-border-top-right-radius: 2px; border-top-right-radius: 2px; background: white; padding: 40px; padding-bottom: 140px; position: relative; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; zoom: 1; -webkit-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.1); box-shadow: 0 3px 4px rgba(0, 0, 0, 0.1); }
#content:after { content: ''; clear: both; display: block; line-height: 0; height: 0; visibility: hidden; zoom: 1; }

/* ============================================================================ Top heading ============================================================================ */
#content hgroup { background: white; margin: -40px; margin-bottom: 40px; border-bottom: dotted 1px #ddd; padding: 40px 40px; }
#content hgroup h1, #content hgroup p { margin: 0; padding: 0; }
#content hgroup h1 { font-size: 30pt; font-weight: normal; color: #aaa; text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.04); font-family: "HelveticaNeue-UltraLight", "Helvetica Neue UltraLight", "Helvetica Neue", Arial, Helvetica, sans-serif; line-height: 40pt; }
#content hgroup h5 { color: #abc; font-size: 1.5em; }
#content hgroup p.type { line-height: 40pt; padding: 0 30px; margin: 0 20px 0 -10px; background: rgba(0, 0, 0, 0.1); -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; float: left; }

#content a.github { position: absolute; right: 0; top: 0; z-index: 0; opacity: 0.3; -webkit-transition: opacity 200ms linear; -moz-transition: opacity 200ms linear; -ms-transition: opacity 200ms linear; -o-transition: opacity 200ms linear; transition: opacity 200ms linear; }
#content a.github:hover { opacity: 1.0; }
#content a.github img { border: 0; }

#content > div { float: left; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; margin-right: -200px; min-height: 500px; }

.content { line-height: 1.7; }
.content p.brief { font-family: georgia, serif; font-style: italic; margin-bottom: 25px; font-size: 1.2em; color: #abc; line-height: 1.7; }
.content > h2, .content > h3 { font-size: 2em; font-weight: normal; font-family: "HelveticaNeue-UltraLight", "Helvetica Neue UltraLight", "Helvetica Neue", Arial, Helvetica, sans-serif; text-shadow: 1px 1px 0 white; border-left: 0; border-right: 0; padding: 5px 40px; padding-top: 30px; margin: 40px -40px -10px -40px; color: #aaa; border-top: dotted 1px #dee3e6; }

/* ============================================================================ Sidebar ============================================================================ */
#nav { float: left; width: 200px; overflow: hidden; position: relative; top: -5px; left: -40px; margin-left: -100%; }
#nav { font-size: 9pt; }
#nav .logo { text-align: center; margin-left: -10px; padding-bottom: 10px; }
#nav .logo a:hover { background: transparent; }
#nav a { position: relative; line-height: 24px; -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -ms-border-top-left-radius: 4px; -o-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -ms-border-bottom-left-radius: 4px; -o-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; color: #888; text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2); padding: 1px 5px; display: block; text-decoration: none; }
#nav a:hover { background: rgba(255, 255, 255, 0.2); }
#nav nav.parents a.active, #nav a.active { background: rgba(0, 0, 0, 0.1); color: #fff; font-weight: bold; -webkit-box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2); -moz-box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2); box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2); text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2); }
#nav ul a { padding-left: 10px; }
#nav ul ul a { padding-left: 20px; }
#nav ul ul ul a { padding-left: 30px; }
#nav ul ul ul ul a { padding-left: 40px; }
#nav ul + ul { margin-top: 10px; border-top: solid 1px #bbb; padding-top: 10px; }
#nav nav { padding: 10px 0; }
#nav a.more:after { display: block; content: '\203a'; position: relative; top: -2px; font-size: 1.4em; padding-right: 10px; float: right; }
#nav a em { font-size: 0.8em; line-height: 16px; font-weight: normal; opacity: 0.5; float: right; }
#nav nav a em { display: none; }
#nav nav.parents a em { opacity: 0.5; position: relative; top: 4px; display: block; padding: 0 8px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border-radius: 10px; background: rgba(0, 0, 0, 0.3); }
#nav h4 { font-size: 8pt; padding: 2px 5px; -moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; -ms-border-top-left-radius: 2px; -o-border-top-left-radius: 2px; border-top-left-radius: 2px; -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; -ms-border-bottom-left-radius: 2px; -o-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px; margin-bottom: 10px; border-bottom: solid 1px rgba(0, 0, 0, 0.1); }
#nav nav.parents a { margin-bottom: 1px; background: rgba(255, 255, 255, 0.3); }
#nav nav.parents a.more:after { display: none; }
#nav nav.parents span.back { display: none; }
#nav nav.parents a:not(.active):before { content: '\2039'; display: inline-block; text-align: center; font-size: 1.3em; width: 20px; }
#nav nav.parents a.active { padding-left: 32px; }
#nav nav.parents a.active span.back { display: none; }

ul.section { margin-top: 30px !important; font-size: 0.9em; }
ul.section, ul.section li { margin: 0; padding: 0; display: block; list-style-type: none; }
ul.section li { margin: 0 -40px; padding: 3px 40px; }
ul.section li:nth-child(odd) { background: #eee; }
ul.section li:nth-child(even) { background: #fafafa; }
ul.section li a { display: inline-block; width: 200px; font-size: 1em; font-weight: bold; }

/* ============================================================================ Pre block: has-caption (with h5) ============================================================================ */
pre.has-caption { position: relative; }
pre.has-caption h5 { margin: 0; padding: 0; display: block; padding: 0 10px; color: #888; text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.6); font-size: 8pt; line-height: 18pt; font-weight: normal; font-family: sans-serif; background: rgba(0, 0, 0, 0.1); -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -ms-border-bottom-left-radius: 4px; -o-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; position: absolute; top: 0; right: 0; }

/* ============================================================================ Pre block: terminal ============================================================================ */
pre.terminal { background: #444; -webkit-box-shadow: inset 2px 2px 8px rgba(0, 0, 0, 0.4); -moz-box-shadow: inset 2px 2px 8px rgba(0, 0, 0, 0.4); box-shadow: inset 2px 2px 8px rgba(0, 0, 0, 0.4); }
pre.terminal, pre.terminal code { color: #ccc; text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3); }
pre.terminal code { background: transparent; }
pre.terminal strong { font-size: 1.1em; color: #8d8; font-weight: normal; }
pre.terminal em { font-style: normal; color: #777; }
pre.terminal strong em { color: #446e44; }

section.literate { overflow: hidden; padding: 20px 40px; border-top: solid 1px #eee; margin: 0 -40px; font-size: 9pt; }
section.literate pre + * { margin-top: 0; }
section.literate:first-of-type { margin-top: 30px; }
section.literate:last-of-type { margin-bottom: 30px; }
section.literate p { width: 33%; }
section.literate pre { float: right; width: 60%; }
section.literate pre + pre { margin-top: 20px; }
section.literate pre::after { clear: both; }
section.literate h4 { font-size: 1.2em; margin-bottom: 10px; color: #7390ad; }
section.literate h4 + * { margin-top: 0; }

a.github-link, a[title="Source code"] { position: absolute; top: 0; right: 0; display: block; background: url("https://d3nwyuy0nl342s.cloudfront.net/img/e6bef7a091f5f3138b8cd40bc3e114258dd68ddf/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67") top right no-repeat; text-indent: -9999px; width: 149px; height: 149px; z-index: 1; }

section.aux-links { position: absolute; top: 40px; right: 0px; }
section.aux-links ul, section.aux-links li { list-style-type: none; margin: 0; padding: 0; }
section.aux-links a { overflow: hidden; display: block; margin-bottom: 5px; font-size: 8pt; padding: 5px 10px; width: 140px; font-size: 8pt; line-height: 12pt; font-weight: bold; -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -ms-border-top-left-radius: 4px; -o-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -ms-border-bottom-left-radius: 4px; -o-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; background: #eee; }
section.aux-links a::after { content: '\203a'; color: #aaa; font-size: 1.5em; float: right; }
section.aux-links a:hover { background: #888; color: #ddd; text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1); }

section.footer { background: #eee; border-top: solid 1px #eee; position: absolute; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; bottom: 0; left: 0; width: 100%; padding: 20px; font-size: 0.75em; color: #aaa; text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5); -webkit-box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.1); text-align: left; }
section.footer a, section.footer strong { color: #888; }
section.footer strong { font-size: 1.1em; }
section.footer span.type { opacity: 0.7; font-weight: normal; font-size: 0.9em; }
section.footer span.type::before { content: '['; }
section.footer span.type::after { content: ']'; }
section.footer span.arrow { margin: 0 5px; }
section.footer .left strong { display: block; }
section.footer .line { font-style: normal; }
section.footer .view-source { background: rgba(0, 0, 0, 0.1); color: #888; padding: 1px 8px; font-size: 0.9em; font-weight: normal; margin-left: 5px; -webkit-border-radius: 7px; -moz-border-radius: 7px; -ms-border-radius: 7px; -o-border-radius: 7px; border-radius: 7px; font-style: normal; }

#search { position: absolute; right: 0; top: -32px; z-index: 10; float: right; }
#search form { display: inline; }
#search input { padding: 2px 10px; height: 18px; background: white; width: 130px; border: 0; background: #ddd; -webkit-border-radius: 13px; -moz-border-radius: 13px; -ms-border-radius: 13px; -o-border-radius: 13px; border-radius: 13px; -webkit-box-shadow: -1px -1px 0 rgba(0, 0, 0, 0.2), inset 0 0 2px rgba(0, 0, 0, 0.1); -moz-box-shadow: -1px -1px 0 rgba(0, 0, 0, 0.2), inset 0 0 2px rgba(0, 0, 0, 0.1); box-shadow: -1px -1px 0 rgba(0, 0, 0, 0.2), inset 0 0 2px rgba(0, 0, 0, 0.1); }
#search input:active, #search input:focus { -webkit-box-shadow: 0 0 4px #77bbdd, inset 0 0 4px rgba(119, 187, 221, 0.6); -moz-box-shadow: 0 0 4px #77bbdd, inset 0 0 4px rgba(119, 187, 221, 0.6); box-shadow: 0 0 4px #77bbdd, inset 0 0 4px rgba(119, 187, 221, 0.6); background: white; color: #333; outline: 0; }
#search .results { display: none; background: white; font-size: 7pt; width: 250px; position: absolute; top: 32px; right: 0; z-index: 20; -webkit-box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 2px rgba(0, 0, 0, 0.08); -moz-box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 2px rgba(0, 0, 0, 0.08); box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 2px rgba(0, 0, 0, 0.08); }
#search .results em.highlight { color: #a96; background: #fefee8; }
#search .results, #search .results li { list-style-type: none; margin: 0; padding: 0; }
#search .results li { border-bottom: solid 1px #eee; }
#search .results a { overflow: hidden; display: block; padding: 5px 10px; color: #999; }
#search .results a span { color: #aaa; }
#search .results li.active a { background: #eee; color: #444; }
#search .results strong { overflow: hidden; display: block; font-weight: bold; font-size: 8pt; color: #333; }
#search .results strong span { float: right; font-size: 7pt; margin-top: 1px; color: #999; font-weight: normal; }

/* Pretty printing styles. Used with prettify.js. */
.str { color: #080; }

.kwd { color: #008; }

.com { color: #607077; background: rgba(0, 0, 0, 0.05); padding: 1px 3px; -webkit-border-radius: 2px; -moz-border-radius: 2px; -ms-border-radius: 2px; -o-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1), -1px -1px 0 rgba(255, 255, 255, 0.1); -moz-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1), -1px -1px 0 rgba(255, 255, 255, 0.1); box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1), -1px -1px 0 rgba(255, 255, 255, 0.1); }

.typ { color: #606; }

.lit { color: #066; }

.pun { color: #660; }

.pln { color: #000; }

.tag { color: #008; }

.atn { color: #606; }

.atv { color: #080; }

.dec { color: #606; }

/* Specify class=linenums on a pre to get line numbering */
ol.linenums { margin-top: 0; margin-bottom: 0; }

/* IE indents via margin-left */
li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 { list-style-type: none; }

/* Alternate shading for lines */
li.L1, li.L3, li.L5, li.L7, li.L9 { background: #eee; }

.content h2, .content h3, .content p { clear: left; }
.content p { clear: left; float: left; width: 40%; }
.content ul p { width: 100%; float: none; }
.content h2, .content h3 { clear: both; }
.content p:first-child + pre { margin-top: 0; }
.content pre { margin: 20px 0 20px 20px; width: 50%; float: right; }
