:root {
  --sidebar-width: 17rem;
}

body {
  background: #14161a;
  font-family: "Open Sans", sans-serif;
  padding-left: var(--sidebar-width);
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  overflow: auto;
  margin: 0;
  background: #292929;
  width: var(--sidebar-width);
}

@media screen and (width <= 768px) {
  body {
    padding-left: 0;
  }
  #header {
    display: none;
  }
}

#header h1 {
  font-family: "Bebas Neue", sans-serif;
  color: white;
  font-size: 56px;
  background-image: url(../logo.svg);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: 0 19px;
  margin: 0.3rem 0rem -0.8rem 1rem
}

#header h1 a {
  color: white;
  text-decoration: none;
  padding-left: 48px;
}

#header .details, #toctitle {
  display: none;
}

#header ul {
  padding: 0 1rem;
  margin: 0;
}

#header ul ul {
  padding-left: 1rem;
}

#header ul li {
  display: block;
  margin: 0.3rem 0;
}

#header ul a, .concise-index ul a {
  color: #ddd;
  text-decoration: none;
}

#header ul a:hover, .concise-index ul a:hover {
  color: #93dd56;
}

#content {
  margin: 0 auto;
  max-width: 55rem;
  padding: 0 2rem 0 2rem;
  font-size: 13pt;
  color: #bbc1cf;
}

#content h1 {
  font-size: 38pt;
  font-weight: 400;
  color: white;
  margin: 0.5rem 0 0 0;
  padding: 0;
}

#content h2 {
  font-size: 30pt;
  font-weight: 300;
  color: white;
  margin: 0 0 1rem 0;
  padding: 0;
}

#content h3 {
  font-size: 24pt;
  font-weight: 300;
  padding: 1.5rem 0 1rem 0;
  margin: 0;
  color: #eee;
}

#content .sect1 ~ .sect1 h2 {
  margin-top: 3.5rem;
}

#content .sect2 ~ .sect2 h3 {
  padding-top: 2.5rem;
}

code {
  font-family: JetBrains Mono, monospace;
  font-size: 12pt;
}

p code, .admonitionblock code, .hdlist code {
  color: white;
}

strong {
  color: #ccd1df;
}

.admonitionblock code {
  font-size: 90%;
}

pre.highlight {
  background: #292929;
  border-radius: 5px;
  border: 1px solid #555;
  padding: 0.5rem;
  margin: 2rem 0 2rem 0;
  overflow: scroll;
}

pre.highlight code.hljs {
  background: transparent;
}

.listingblock .title {
  font-size: 10pt;
  margin: 1rem 0 0 0;
  background: #555;
  color: #f2f2f2;
  display: inline-block;
  padding: 0.1rem 0.5rem;
  border-radius: 3px 3px 0 0;
}

.title + .content pre.highlight {
  margin-top: 0;
  border-radius: 0 5px 5px 5px;
}

p {
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  margin-bottom: 1rem;
}

a {
  color: #93dd56;
}

kbd {
  box-shadow: 2px 2px 0 #eeeeff;
  border: 1px solid #889;
  border-radius: 4px;
  box-shadow: 1px 1px 0 #889;
  padding: 1px 4px;
  margin: 0px 3px;
  color: #eee;
  font-size: 12pt;
}

.admonitionblock {
  margin: 1.5rem 0 1.5rem 0;
}

.admonitionblock .icon:before {
  font-family: FontAwesome;
  font-size: 24pt;
  display: block;
  vertical-align: center;
  text-align: center;
  width: 2rem;
}

.admonitionblock .icon {
  border-right: 1px solid #777;
  padding-right: 1rem;
}

.admonitionblock .icon .title {
  display: none;
}

.admonitionblock .content {
  padding-left: 1rem;
  font-size: 90%;
  color: #dde1ef;
}

.warning .icon:before, .important .icon:before {
  color: #ffdd55;
  content: '\f071';
}

.note .icon:before, .tip .icon:before {
  color: #33aaff;
  content: '\f05a';
}

.hdlist, .ulist {
  margin: 1.2rem 0 1.2rem 0.5em;
}

.hdlist td {
  padding-right: 1rem;
}

.hdlist p, .ulist p {
  margin: 0;
}

.ulist ul li {
  margin: 0.2em 0 0.2em 0;
}

.ulist ul li::marker {
  color: white;
}

.concise-index {
  width: 36em;
  margin-bottom: 1rem;
}

.concise-index .title {
  display: none;
}

.concise-index .ulist {
  margin: 0;
}

.concise-index ul {
  columns: 2;
  column-gap: 1rem;
  margin: 0;
  padding: 0;
  font-size: 11pt;
}

.concise-index li {
  display: block;
}

.concise-index li p {
  margin: 0;
}

#content .components h3 {
  margin: 2em 0 0 0;
  padding: 0;
}

#content .components h3 + .paragraph {
  color: #ccc;
  margin-top: -0.3em;
}

#content .components h3 + .paragraph code {
  color: #ccc;
  font-size: 10pt;
}
