/*
 * Copyright 2020 The Go Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style
 * license that can be found in the LICENSE file.
 */

.Documentation-index,
.DocNav,
.DocNav-index {
  display: block;
}
.DocNav {
  max-height: calc(100vh - var(--header-height));
  overflow-x: unset;
  overflow-y: unset;
  padding-top: 0.5rem;
  padding-left: unset;
  position: unset;
  top: unset;
}
@media only screen and (min-width: 52rem) {
  .DocNav [role='tree'],
  .DocNav [role='group'] {
    padding: 0;
  }
}

.UnitOutline {
  display: flex;
  flex-direction: column;
  max-height: 100%;
}
a.UnitOutline-accordian {
  align-items: center;
  color: var(--gray-2);
  display: flex;
  font-size: 1.125rem;
  font-weight: 500;
  height: 2.5rem;
  padding: 1rem;
}
.UnitOutline-panel {
  padding: 0 18px;
  background-color: white;
  display: block;
  overflow-y: auto;
}
.UnitOutline-jumpTo {
  display: flex;
  margin-bottom: 0.5rem;
}
.UnitOutline-jumpTo button {
  background-color: white;
  border: 0.0625rem solid var(--gray-8);
  cursor: pointer;
  height: 2rem;
  padding-left: 1rem;
  text-align: left;
  width: 100%;
}
.UnitOutline-jumpTo::after {
  align-self: center;
  background-color: var(--gray-9);
  border-radius: 0.5rem;
  color: var(--gray-6);
  content: 'f';
  font-size: 0.75rem;
  padding: 0.0625rem 0;
  position: absolute;
  right: 0.75rem;
  text-align: center;
  width: 1.5rem;
}
