/*
 * Documentative Styling
 * (c) 2020 dragonwocky <thedragonring.bod@gmail.com>
 * (https://dragonwocky.me/) under the MIT license
 */
:root {
  --primary: #4b85d1;
  --absolute: #000;
  --contrast: #fff;
  --text: rgba(0, 0, 0, 0.84);
  --link: var(--primary);
  --grey: #6f6f6f;
  --bg: #fbfcfc;
  --box: #f2f3f4;
  --code: #f7f9f9;
  --button: #eee;
  --border: #e5e7e9;
  --shadow: #eee;
  --glow: transparent;
  --scroll: #e9e9e9;
  --hover: #dedede;
  --code-lang: #555;
  --hljs-html: #000080;
  --hljs-attr: #008080;
  --hljs-obj: #2c426b;
  --hljs-string: #d14;
  --hljs-builtin: #0086b3;
  --hljs-keyword: rgba(0, 0, 0, 0.84);
  --hljs-selector: #900;
  --hljs-type: #458;
  --hljs-regex: #009926;
  --hljs-symbol: #990073;
  --hljs-meta: #999;
  --hljs-comment: #707070;
  --hljs-deletion: #e8b9b8;
  --hljs-deletion-text: #4c232d;
  --hljs-addition: #b9e0d3;
  --hljs-addition-text: #1e4839;
}
@media (prefers-color-scheme: dark) {
  :root {
    --absolute: #fff;
    --contrast: #000;
    --text: #ddd;
    --link: #a6c3e8;
    --grey: #52555c;
    --bg: #0e0f0f;
    --box: #050505;
    --code: #000;
    --button: #2d2d2d;
    --border: #2d2e2f;
    --shadow: #070707;
    --glow: var(--primary);
    --scroll: #202225;
    --hover: #36393f;
    --code-lang: #ccc;
    --hljs-html: #46db8c;
    --hljs-attr: #dd1111;
    --hljs-obj: #c6cbda;
    --hljs-string: #abcdef;
    --hljs-builtin: #b8528d;
    /* bd1a79, 926956 */
    --hljs-keyword: #2d8b59;
    --hljs-comment: #a0a0a0;
    --hljs-deletion: #4c232d;
    --hljs-deletion-text: #e8b9b8;
    --hljs-addition: #1e4839;
    --hljs-addition-text: #b9e0d3;
  }
}
* {
  box-sizing: border-box;
  word-break: break-word;
  text-decoration: none;
  text-size-adjust: 100%;
}
html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
body {
  color: var(--text);
  background-color: var(--bg);
  font-family: 'Nunito Sans', sans-serif;
}
::-webkit-scrollbar {
  width: 2px;
  height: 2px;
}
::-webkit-scrollbar-corner,
::-webkit-scrollbar-track {
  background-color: transparent;
}
::-webkit-scrollbar-thumb {
  background-color: var(--scroll);
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--hover);
}
aside {
  display: flex;
  flex-direction: column;
  background-color: var(--box);
  overflow-x: auto;
}
aside .title {
  display: flex;
  flex-direction: row;
}
aside .title h1 {
  font: 1.8em 'Source Code Pro', monospace;
  margin: 0 0 1em 1.5rem;
  padding: 1em 8px 2.5px 0;
  letter-spacing: -2px;
  border-bottom: 5px solid var(--primary);
  color: var(--absolute);
}
aside .title .icon {
  margin: auto 0.5em;
}
aside .title .icon img {
  width: 2.5em;
  margin: auto 0.5em;
}
aside > ul:first-child > li:first-child {
  padding-top: 1em;
}
aside ul {
  list-style-type: none;
  padding-inline-start: 0;
  margin: 0;
}
aside ul li p {
  font-weight: bold;
  letter-spacing: -0.5px;
  margin-bottom: 0;
  padding: 2px 1.3em;
  font-size: 1.1em;
  color: var(--hljs-comment);
}
aside ul li a {
  color: var(--text);
  padding-bottom: 0.1em 5em;
  display: block;
  padding: 2px 1.5em;
}
aside ul li a:hover,
aside ul li a:active {
  background: var(--scroll);
}
aside ul li a.active {
  color: var(--link);
  font-weight: bold;
  text-shadow: 0 0 0.75em var(--glow);
}
aside ul li.entry > a {
  text-decoration: underline var(--border);
}
aside ul li.level-1 > a {
  padding-left: 1.75em;
}
aside ul li.level-2 > a {
  padding-left: calc(1.5em + calc(0.75em * 1));
}
aside ul li.level-3 > a {
  padding-left: calc(1.5em + calc(0.75em * 2));
}
aside ul li.level-4 > a {
  padding-left: calc(1.5em + calc(0.75em * 3));
}
aside ul li.level-5 > a {
  padding-left: calc(1.5em + calc(0.75em * 4));
}
aside ul li.level-6 > a {
  padding-left: calc(1.5em + calc(0.75em * 5));
}
aside .mark {
  text-align: right;
  margin-top: auto;
  padding: 1.5em 1.5em 2px 1.5em;
  font-size: 0.8em;
}
aside .mark a {
  color: var(--grey);
}
.wrapper {
  height: 100%;
  width: 100%;
  overflow-y: hidden;
}
.wrapper .documentative {
  height: 100%;
  overflow-y: auto;
  padding: 0 1.5em;
  padding-bottom: 4em;
  display: flex;
  flex-direction: column;
}
.wrapper .documentative .block {
  margin: 1.5em;
  word-wrap: break-word;
}
.wrapper .documentative .block:first-child {
  margin: 0 1.5em 1.5em 1.5em;
}
.wrapper .documentative .example {
  margin-top: 1em;
  padding: 1em;
  background-color: var(--box);
  box-shadow: 0.4em 0.4em 1em var(--shadow);
}
.wrapper .documentative .example p:first-child {
  margin-top: 0;
}
.wrapper .documentative .example p:last-child {
  margin-bottom: 0;
}
.wrapper .documentative nav {
  width: 75%;
  position: fixed;
  bottom: 1em;
  right: 0;
  pointer-events: none;
}
.wrapper .documentative nav .prev {
  float: left;
  padding-right: 0.13em;
}
.wrapper .documentative nav .next {
  float: right;
  padding-left: 0.13em;
}
.wrapper .documentative nav .prev,
.wrapper .documentative nav .next {
  opacity: 1;
  transition: opacity 200ms ease;
  pointer-events: all;
  border-radius: 50%;
  width: 1.75em;
  height: 1.75em;
  margin: 0 1em;
  font: 1.5em 'Source Code Pro', monospace;
  line-height: 1.75em;
  text-align: center;
  color: var(--text);
  text-shadow: none !important;
  background-color: var(--button);
}
.wrapper .documentative .footer {
  text-align: right;
  color: var(--grey);
  margin: auto 1.5em 0;
}
.wrapper .documentative .footer hr {
  border-color: var(--grey);
}
.wrapper .documentative .footer a {
  color: var(--grey);
  font-weight: bold;
  text-shadow: none;
  text-decoration: dotted underline;
}
.wrapper .documentative h1,
.wrapper .documentative h2,
.wrapper .documentative h3,
.wrapper .documentative h4,
.wrapper .documentative h5,
.wrapper .documentative h6 {
  margin: 0;
  padding-top: 1em;
}
.wrapper .documentative h1 a,
.wrapper .documentative h2 a,
.wrapper .documentative h3 a,
.wrapper .documentative h4 a,
.wrapper .documentative h5 a,
.wrapper .documentative h6 a {
  color: var(--text);
  text-shadow: none;
}
.wrapper .documentative h1 {
  padding-top: 1.5em;
}
.wrapper .documentative a {
  color: var(--link);
  text-shadow: 0 0 0.75em var(--glow);
}
.wrapper .documentative img {
  max-width: 100%;
}
.wrapper .documentative blockquote {
  margin-left: 0;
  padding-left: 1em;
  border-left: 0.25em solid var(--border);
}
.wrapper .documentative h1 + table,
.wrapper .documentative h2 + table,
.wrapper .documentative h3 + table,
.wrapper .documentative h4 + table,
.wrapper .documentative h5 + table,
.wrapper .documentative h6 + table {
  margin-top: 1em;
}
.wrapper .documentative table {
  width: 100%;
  border-collapse: collapse;
}
.wrapper .documentative table,
.wrapper .documentative th,
.wrapper .documentative td {
  padding: 0.2em 0.7em;
  border: 1px solid var(--border);
}
.wrapper .documentative code {
  font-size: 0.8em;
  background-color: var(--code);
  overflow-x: auto;
  position: relative;
  display: block;
  font-family: 'Source Code Pro', monospace;
}
.wrapper .documentative *:not(pre) > code {
  padding: 0.275em 0.35em;
  border-radius: 2px;
  display: inline;
}
.wrapper .documentative pre {
  position: relative;
}
.wrapper .documentative pre code {
  padding: 1.8em;
  border-radius: 5px;
  position: static;
}
.wrapper .documentative pre code::before {
  position: absolute;
  right: 0;
  top: 0;
  color: var(--code-lang);
  font-size: 0.65em;
  padding: 0.5em 0.8em;
}
@media (min-width: 769px) {
  body {
    display: grid;
    grid-template-columns: 25% 75%;
  }
  aside::-webkit-scrollbar-corner,
  aside::-webkit-scrollbar-track {
    background-color: var(--bg);
  }
  .toggle {
    display: none;
  }
}
@media (max-width: 768px) {
  aside {
    z-index: 1;
    height: 100%;
    display: flex;
    position: fixed;
    top: 0;
    left: calc(4.5em - 100%);
    width: calc(100% - 4.5em);
    transition: left 300ms ease;
  }
  .wrapper {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    transition: left 300ms ease;
  }
  .wrapper .documentative {
    flex-shrink: 1;
  }
  .wrapper .documentative nav {
    width: 100%;
  }
  .wrapper .toggle {
    display: flex;
    flex-direction: row;
    flex-shrink: 0;
    padding: 0.8em 0;
    background-color: var(--box);
  }
  .wrapper .toggle h1 {
    letter-spacing: -2px;
    font-size: 1.8em;
    padding-top: 1.5px;
    margin: auto 1.5rem auto 0;
  }
  .wrapper .toggle button {
    font-size: 1.8em;
    width: 2.5em;
    margin: auto 0.5em;
    color: var(--absolute);
    border: none;
    background: none;
    text-align: center;
    transition: transform 150ms ease;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  .wrapper .toggle button:hover,
  .wrapper .toggle button:focus {
    color: var(--text);
  }
  .wrapper .toggle button:active {
    transform: scale(0.95);
  }
  .mobilemenu aside {
    left: 0;
  }
  .mobilemenu .wrapper {
    left: calc(100% - 4.75em);
  }
  .mobilemenu .wrapper .prev,
  .mobilemenu .wrapper .next {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}
.hljs-subst {
  color: var(--text);
}
.hljs-comment,
.hljs-quote {
  color: var(--hljs-comment);
  font-style: italic;
}
.hljs-keyword,
.hljs-selector-tag {
  color: var(--hljs-keyword);
  font-weight: bold;
}
.hljs-attr {
  color: var(--hljs-obj);
}
.hljs-number,
.hljs-literal,
.hljs-variable,
.hljs-template-variable,
.hljs-tag .hljs-attr {
  color: var(--hljs-attr);
}
.hljs-string,
.hljs-doctag {
  color: var(--hljs-string);
}
.hljs-name,
.hljs-attribute {
  color: var(--hljs-html);
}
.hljs-built_in,
.hljs-builtin-name {
  color: var(--hljs-builtin);
}
.hljs-title,
.hljs-section,
.hljs-selector-id {
  color: var(--hljs-selector);
  font-weight: bold;
}
.hljs-type,
.hljs-class .hljs-title {
  color: var(--hljs-type);
  font-weight: bold;
}
.hljs-regexp,
.hljs-link {
  color: var(--hljs-regex);
}
.hljs-symbol,
.hljs-bullet {
  color: var(--hljs-symbol);
}
.hljs-meta {
  color: var(--hljs-meta);
  font-weight: bold;
}
.hljs-deletion {
  background: var(--hljs-deletion);
  color: var(--hljs-deletion-text);
}
.hljs-addition {
  background: var(--hljs-addition);
  color: var(--hljs-addition-text);
}
.hljs-emphasis {
  font-style: italic;
}
.hljs-strong {
  font-weight: bold;
}
.documentative pre .lang-css::before { content: 'CSS'; }