:root {
  --sidenav-text-base: 1rem;
  --sidenav-text-lg: 1.125rem;
  --sidenav-text-scale: 0.8765;
  --sidenav-text-color: var(--text-color);
  --sidenav-link-color: var(--link-color);
  --sidenav-link-alpha: 0.75;
  --sidenav-font-weight-bold: 600;
}

.sidenav {
  display: block;
}

.sidenav summary::-webkit-details-marker {
  display: none;
}

.sidenav__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;

  font-weight: var(--sidenav-font-weight-bold);

  border-top: var(--border-width) solid var(--border-color);
  border-bottom: var(--border-width) solid var(--border-color);

  touch-action: manipulation;
}

.sidenav__toggle svg {
  align-items: center;
  width: 1rem;
  height: 1rem;
}

.sidenav summary {
  position: relative;

  list-style: none;
  cursor: pointer;
  color: rgba(9, 64, 84, 1);
}

.sidenav__content {
  padding-top: 0.5rem;
  padding-left: 1.5rem;
}

.sidenav__list {
  margin: 0;
  padding-left: 0;

  list-style: none;
}

.sidenav__list > * + *,
.sidenav__list + .sidenav__articles {
  margin-top: 0.5rem;
}

.sidenav__label {
  font-weight: var(--sidenav-font-weight-bold);
}

.sidenav__articles {
  display: block;
}

.sidenav__article-name {
  color: var(--sidenav-link-color);

  opacity: var(--sidenav-link-alpha);
}

.sidenav__article-name[aria-current="page"] {
  --sidenav-link-alpha: 1;
  /* text-decoration: underline; */
}

.sidenav__has-sections > sidenav-details > details > summary {
  padding-left: 20px;
  &::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 14px;
    height: 14px;
    vertical-align: middle;
    transition: all 0.3s ease;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1em' viewBox='0 0 448 512'%3E%3Cpath fill='%23999' d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E");
  }
}

.sidenav__has-sections > sidenav-details > details[open] > summary {
  &::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1em' viewBox='0 0 448 512'%3E%3Cpath fill='%23999' d='M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E");
  }
}
