.on-this-page-wrapper {
  font-size: var(--font-size-sm);
  max-height: calc(100vh - var(--spacing-4));
  overflow-y: auto;
  position: sticky;
  top: var(--spacing-4);
  scrollbar-width: thin;
}

.on-this-page-wrapper ul {
  list-style: none;
  padding: 0;
  margin-top: var(--spacing-2);
  border-left: 2px solid var(--color-gray-300);
}

.on-this-page-wrapper-header {
  color: var(--color-gray-600);
  font-weight: var(--font-weight-3);
}

.on-this-page-wrapper hr {
  margin-top: 0;
  display: none;
}

main .on-this-page-wrapper a {
  position: relative;
  text-decoration: none;
  color: var(--color-gray-600);
  background: none;
  padding-top: 2px;
  padding-bottom: 2px;
  display: block;
  transition: color 0.2s ease;
  padding-left: var(--spacing-2);
}

main .on-this-page-wrapper .in-viewport a::before {
  position: absolute;
  top: 0;
  left: -2px;
  bottom: 0;
  width: 4px;
  content: '';
  background-color: var(--color-brand);
}

main .on-this-page-wrapper .in-viewport ~ .in-viewport a::before {
  content: unset;
}

main .on-this-page-wrapper .in-viewport a {
  color: var(--color-gray-800);
}

main .on-this-page-wrapper .in-viewport ~ .in-viewport a {
  color: var(--color-gray-600);
}

main .on-this-page-wrapper a:hover {
  color: var(--color-gray-800);
}

main .on-this-page-wrapper a.on-this-page-depth-3 {
  padding-left: var(--spacing-4);
}
