/*
 * 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%;
  position: sticky;
  top: 4.5rem;
}
a.UnitOutline-accordian {
  align-items: center;
  color: var(--gray-2);
  display: flex;
  font-size: 1.125rem;
  font-weight: 500;
  height: 2.5rem;
  padding: 1rem;
}
a.UnitOutline-accordian--active {
  background-color: var(--gray-9);
}
.UnitOutline-panel {
  padding: 0 18px;
  background-color: white;
  display: block;
  overflow-y: auto;
}
.UnitOutline-jumpTo {
  display: flex;
  margin-bottom: 0.5625rem;
}
.UnitOutline-jumpTo button {
  background-color: white;
  border: 0.0625rem solid var(--gray-8);
  color: var(--gray-4);
  cursor: pointer;
  height: 2rem;
  padding-left: 1.5rem;
  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;
}
.UnitOutline-jumpTo::before {
  align-self: center;
  border-radius: 0.5rem;
  color: var(--gray-6);
  content: url('/static/img/pkg-icon-jumpTo_16x16.svg');
  font-size: 0.75rem;
  left: 0.4rem;
  position: absolute;
  text-align: center;
  top: 0.5rem;
}
