#sidebar {
  background-color: #fff;
  border-left: 5px solid black;
  font-family: "IBM Plex Mono", monospace;
  color: black;
  height: auto !important;
  left: auto !important;
  box-shadow: none !important;
  z-index: auto !important;
}

@media screen and (min-width: 1281px) {
  #sidebar {
    position: sticky !important;
    top: 0 !important;
    align-self: flex-start;
    max-height: 100vh;
    overflow-y: auto;
  }
}

@media screen and (max-width: 1280px) {
  #sidebar {
    position: relative !important;
    top: auto !important;
  }
}

#sidebar > .inner {
  position: relative !important;
  height: auto !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
}

#sidebar .toggle:before {
  font-family: inherit !important;
  content: '☰' !important;
  color: black;
}

#sidebar .toggle {
  background: #eaeaea;
  border: 3px solid black;
  border-left: none;
  color: black;
}

#sidebar.inactive .toggle {
  position: fixed !important;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3em;
  height: 3em;
  line-height: 3em;
  text-indent: 0 !important;
  text-align: center;
  z-index: 10000;
}

#sidebar > .inner {
  padding: 1.5em;
  width: 26em;
}

#sidebar > .inner > * {
  border-bottom: 3px solid black;
  margin: 0 0 1.5em 0;
  padding: 0 0 1.5em 0;
}

#sidebar > .inner > *:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

#menu ul {
  color: black;
  letter-spacing: 0.05em;
}

#menu ul a,
#menu ul span {
  font-size: 1.1em;
  padding: 0.4em 0;
  color: black;
  border-bottom: none;
}

#menu ul a:hover,
#menu ul span:hover {
  color: black !important;
  background: yellow;
  padding-left: 4px;
}

#menu ul span.opener {
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: 2px solid black;
  padding-bottom: 0.3em;
  margin-bottom: 0.2em;
}

#menu ul span.opener:before {
  color: black !important;
}

#menu ul span.opener:hover:before {
  color: black !important;
}

#menu > ul > li {
  border-top: 2px solid black;
  margin: 0.6em 0 0 0;
  padding: 0.6em 0 0 0;
}

#menu > ul > li:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

#menu > ul > li > ul {
  color: #333;
  margin: 0.4em 0 0.8em 0;
  padding-left: 0.8em;
  border-left: 3px solid black;
}

#menu > ul > li > ul a {
  font-size: 0.9em;
}
