*, *:after, *:before {
  box-sizing: border-box;
}

html {
  font-family: Roboto;
  height: 100%;
}

body {
  display: flex;
  flex-flow: column;
  height: 100%;
  margin: 0;
  overflow-x: hidden;
}

body > * {
  position: relative;
}

body > :not(nav):not(footer) {
  flex-grow: 1;
}

body > * > .background {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

body > * > :not(.background) {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  position: relative;
}

body > nav .background {
  background-color: #FFCA28;
}

body > nav > div, body > footer > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 1.5em;
}

body > header {
  padding: 2em 0;
}

body > header .background {
  bottom: 0;
  font-size: 6px;
  left: 0;
  line-height: normal;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
}

body > header .background pre {
  background-color: #f0f0f0;
  display: flex;
  font-family: monospace;
  margin: 0;
  white-space: pre;
}

@media (min-width: 1640px) {
  aside {
    left: 100%;
    position: absolute;
    top: 0;
    width: 20em;
  }
}

section {
  padding: 0.1em 1.5em;
  background: white;
}

section h2 {
  background-color: #333333;
  color: white;
  display: inline-block;
  font-weight: bold;
  margin-bottom: 0;
  padding: 0.5em 1em;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, .5);
}

section header {
  border-bottom: 1px solid #333333;
}

body > footer {
  color: white;
  margin-top: 2em;
}

body > footer .background {
  background-color: #111111;
}

.table-container {
  max-width: 100%;
  overflow-x: auto;
}

table {
  border-collapse: collapse;
  width: 100%;
}

thead {
  color: #333333;
  background: #FFCA28;
}

tbody th {
  border-right: 1px solid #333;
}

tbody tr {
  border-bottom: 1px solid #333;
}

table td, table th {
  padding: 0.5em;
}

blockquote {
  border-left: 3px solid #333;
  font-size: inherit;
  padding-left: 1em;
}

fieldset {
  border: 3px solid #333;
}

pre {
  max-width: 100%;
  overflow-x: auto;
}

a {
  border-bottom: 1px solid currentColor;
  color: inherit;
  text-decoration: none;
}

a.badge, h2 a, .chip a {
  border-bottom: none;
}

a:hover {
  opacity: 0.8;
}

.chip {
  background-color: #eee;
  border-radius: 2em;
  display: inline-block;
  height: 2em;
  line-height: 2em;
  padding: 0 0.5em;
}

.chip img:first-child {
  margin-left: -0.5em;
  margin-right: 0;
  height: 2em;
  border-radius: 100%;
}

.chip * {
  margin: 0 0.5em;
  vertical-align: middle;
}

.material-icons {
  vertical-align: middle;
}

/* BEGIN Highlight */
span.default { font-weight: normal; color: #000000; }
span.important { text-decoration: underline}
span.key { font-weight: normal; color: #0057ae; }
span.function { font-weight: normal; color: #644a9b; }
span.native { font-weight: bold; color: #000; }
span.object { font-weight: normal; color: #006e28; }
span.comment,
span.comment span { font-weight: normal; color: #888; }
span.comment span.jsdoc,
span.comment span.jsdoc span { font-weight: bold; color: #CA60CA; }
span.comment span.jsdoc-unknown { font-weight: bold; color: #458C61; }
span.comment span.jsdoc-object { font-weight: bold; color: #0095FF; }
span.string ,
span.string span { font-weight: normal; color: #bf0303; }
span.digit { font-weight: normal; color: #b08000; }
span.normal { font-weight: normal; color: #000; }
span.delimiter:after,
span.delimiter:before { content: ' '}
/* END */
