@import url(../node_modules/normalize.css/normalize.css);
@import url("https://fonts.googleapis.com/css?family=Open+Sans");
/* Import ET Book styles
   adapted from https://github.com/edwardtufte/et-book/blob/gh-pages/et-book.css */
@font-face {
  font-family: "et-book";
  src: url("./fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot");
  src: url("./fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot?#iefix") format("embedded-opentype"), url("./fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff") format("woff"), url("./fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf") format("truetype"), url("./fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg#etbookromanosf") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "et-book";
  src: url("./fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot");
  src: url("./fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot?#iefix") format("embedded-opentype"), url("./fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff") format("woff"), url("./fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf") format("truetype"), url("./fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg#etbookromanosf") format("svg");
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: "et-book";
  src: url("./fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot");
  src: url("./fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot?#iefix") format("embedded-opentype"), url("./fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff") format("woff"), url("./fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf") format("truetype"), url("./fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg#etbookromanosf") format("svg");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "et-book-roman-old-style";
  src: url("./fonts/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot");
  src: url("./fonts/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot?#iefix") format("embedded-opentype"), url("./fonts/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff") format("woff"), url("./fonts/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf") format("truetype"), url("./fonts/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg#etbookromanosf") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 200;
  font-style: normal;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-ExtraLight.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-ExtraLight.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-ExtraLight.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-ExtraLight.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-ExtraLight.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 200;
  font-style: italic;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-ExtraLightIt.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-ExtraLightIt.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-ExtraLightIt.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-ExtraLightIt.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-ExtraLightIt.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 300;
  font-style: normal;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-Light.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Light.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-Light.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-Light.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-Light.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 300;
  font-style: italic;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-LightIt.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-LightIt.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-LightIt.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-LightIt.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-LightIt.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 400;
  font-style: normal;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-Regular.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-Regular.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-Regular.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-Regular.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 400;
  font-style: italic;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-It.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-It.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-It.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-It.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-It.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 500;
  font-style: normal;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-Medium.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Medium.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-Medium.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-Medium.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-Medium.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 500;
  font-style: italic;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-MediumIt.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-MediumIt.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-MediumIt.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-MediumIt.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-MediumIt.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 600;
  font-style: normal;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-Semibold.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Semibold.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-Semibold.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-Semibold.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-Semibold.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 600;
  font-style: italic;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-SemiboldIt.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-SemiboldIt.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-SemiboldIt.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-SemiboldIt.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-SemiboldIt.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-Bold.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-Bold.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-Bold.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-Bold.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 700;
  font-style: italic;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-BoldIt.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-BoldIt.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-BoldIt.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-BoldIt.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-BoldIt.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 900;
  font-style: normal;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-Black.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Black.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-Black.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-Black.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-Black.ttf") format("truetype");
}

@font-face {
  font-family: 'Source Code Pro';
  font-weight: 900;
  font-style: italic;
  font-stretch: normal;
  src: url("./fonts/source-code-pro/EOT/SourceCodePro-BlackIt.eot") format("embedded-opentype"), url("./fonts/source-code-pro/WOFF2/TTF/SourceCodePro-BlackIt.ttf.woff2") format("woff2"), url("./fonts/source-code-pro/WOFF/OTF/SourceCodePro-BlackIt.otf.woff") format("woff"), url("./fonts/source-code-pro/OTF/SourceCodePro-BlackIt.otf") format("opentype"), url("./fonts/source-code-pro/TTF/SourceCodePro-BlackIt.ttf") format("truetype");
}

body {
  color: #222;
  font-size: 18px;
  font-family: 'Open Sans', sans-serif;
  background-color: #fffff8;
  line-height: 1.5em;
}

html, body {
  padding: 0;
  margin: 0;
}

h1 {
  font-size: 2.6em;
  font-weight: normal;
}

h2 {
  font-size: 2em;
}

h3 {
  font-size: 1.5em;
}

a {
  color: inherit;
}

pre {
  font-size: .9em;
  padding: .4em;
  background: #fdf6e3;
  overflow-x: scroll;
}

code {
  font-family: Source Code Pro, Consolas, Menlo, Courier, monospace;
}

table {
  border-collapse: collapse;
  display: block;
  overflow-x: scroll;
}

table th, table td {
  border: 1px solid #efefef;
  padding: .3em .5em;
}

table tbody tr:nth-child(odd) {
  background: #f9f9f9;
}

.header-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5em;
  background: #670b0b;
  color: #fff;
  font-family: et-book, Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
  text-align: center;
}

.header-logo .title-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  width: 12em;
  height: 12em;
}

.header-logo h1 {
  font-weight: normal;
  font-size: 4.2em;
}

.header-logo p {
  font-size: 1.3em;
}

.container {
  display: flex;
  justify-content: center;
}

.content {
  padding: 1em;
  max-width: 44em;
  flex: 1;
}

.sidebar {
  align-self: flex-start;
  width: 12em;
  padding: 1em;
}

.sidebar .fixed {
  position: fixed;
  top: 0;
  bottom: 0;
  padding-top: 1em;
}

.sidebar .sidebar-follow {
  width: 12em;
  overflow-y: scroll;
}

#menu a {
  color: #222;
  text-decoration: none;
}

#menu a:hover {
  color: #000;
}

#menu ul {
  line-height: 1.4em;
  list-style: none;
  margin: .3em 0;
  margin-left: .5em;
  padding-left: .5em;
}

#menu > ul > li > ul {
  font-size: 0.9em;
  margin: .2em;
  padding: 0;
}

#menu > ul > li > ul > li > ul {
  border-left: 1px solid #eee;
  margin-left: .2em;
  padding-left: .5em;
  border-left: 1px solid #eee;
}

#menu > ul > li > ul > li > ul a {
  color: #555;
  text-decoration: none;
}

#menu > ul > li > ul > li > ul li.active {
  border-left: 2px solid #670b0b;
  padding-left: 8px;
  margin-left: -10px;
}

#menu li.active > a {
  font-weight: bold;
}

.section-anchor {
  color: #888888;
  text-decoration: none;
  font-weight: normal;
  position: absolute;
  padding: 0 .3em;
  margin-left: -1.1em;
  opacity: 0;
}

.section-anchor:hover {
  color: #555555;
}

h3:hover > .section-anchor,
.signature:hover .section-anchor {
  opacity: 1;
}

.fn {
  border-top: 4px solid #f5f5f0;
  padding: .2em 0;
}

.signature {
  font-family: Source Code Pro, Consolas, Menlo, Courier, monospace;
  background-color: #efefef;
  padding: .4em 0;
  margin: 1em 0;
  overflow-x: scroll;
}

.signature .name {
  font-weight: bold;
  font-size: 1.2em;
}

.signature .type {
  margin-left: .5em;
  font-size: .9em;
}

.signature span {
  display: inline-block;
  vertical-align: middle;
}

.method {
  font-family: Source Code Pro, Consolas, Menlo, Courier, monospace;
  background-color: #efefef;
}

.method .name {
  font-weight: bold;
}

.spec-table {
  overflow-x: scroll;
  border-spacing: 1em;
}

.spec-table td {
  vertical-align: top;
}

.spec-table td > :first-child {
  margin-top: 0;
}

.spec-table tr td:nth-child(1) {
  font-weight: bold;
  width: 6em;
  text-align: right;
}

.b {
  border: 1px solid black;
}

@media (max-width: 1000px) {
  .container {
    flex-direction: column;
    align-items: center;
  }
  .sidebar .fixed {
    position: relative;
  }
}

@media (max-width: 850px) {
  .container {
    align-items: stretch;
  }
}

/* http://prismjs.com/download.html?themes=prism-solarizedlight&languages=markup+css+clike+javascript */
/*
 Solarized Color Schemes originally by Ethan Schoonover
 http://ethanschoonover.com/solarized
 Ported for PrismJS by Hector Matos
 Website: https://krakendev.io
 Twitter Handle: https://twitter.com/allonsykraken)
*/
/*
SOLARIZED HEX
--------- -------
base03    #002b36
base02    #073642
base01    #586e75
base00    #657b83
base0     #839496
base1     #93a1a1
base2     #eee8d5
base3     #fdf6e3
yellow    #b58900
orange    #cb4b16
red       #dc322f
magenta   #d33682
violet    #6c71c4
blue      #268bd2
cyan      #2aa198
green     #859900
*/
code[class*="language-"],
pre[class*="language-"] {
  color: #657b83;
  /* base00 */
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.3;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
  background: #073642;
  /* base02 */
}

pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
  background: #073642;
  /* base02 */
}

/* Code blocks */
pre[class*="language-"] {
  padding: 1em;
  margin: .5em 0;
  overflow: auto;
  border-radius: 0.3em;
}

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
  background-color: #fdf6e3;
  /* base3 */
}

/* Inline code */
:not(pre) > code {
  background: #efefef;
  padding: 0 .2em;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #93a1a1;
  /* base1 */
}

.token.punctuation {
  color: #586e75;
  /* base01 */
}

.namespace {
  opacity: .7;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
  color: #268bd2;
  /* blue */
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.url,
.token.inserted {
  color: #2aa198;
  /* cyan */
}

.token.entity {
  color: #657b83;
  /* base00 */
  background: #eee8d5;
  /* base2 */
}

.token.atrule,
.token.attr-value,
.token.keyword {
  color: #859900;
  /* green */
}

.token.function {
  color: #b58900;
  /* yellow */
}

.token.regex,
.token.important,
.token.variable {
  color: #cb4b16;
  /* orange */
}

.token.important,
.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}

.token.entity {
  cursor: help;
}
