/*!
 * 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.
 */

.UnitDirectories {
  margin-bottom: 2rem;
}

.UnitDirectories h2 a.UnitDirectories-idLink,
.UnitDirectories summary a {
  opacity: 0;
}

.UnitDirectories h2:hover a,
.UnitDirectories summary:focus a,
.UnitDirectories h2 a.UnitDirectories-idLink:focus {
  opacity: 1;
}

.UnitDirectories-title {
  border-bottom: var(--border);
  font-size: 1.375rem;
  margin: 0.5rem 0 0;
  padding-bottom: 1rem;
}

.UnitDirectories-title img {
  margin: auto 1rem auto 0;
}

.UnitDirectories-table {
  border-collapse: collapse;
  height: 0;
  table-layout: auto;
  width: 100%;
}

.UnitDirectories-table--tree {
  margin-top: -2rem;
}

.UnitDirectories-tableHeader {
  background-color: var(--color-background-accented);
}

.UnitDirectories-tableHeader--tree {
  visibility: hidden;
}

.UnitDirectories td {
  border-bottom: var(--border);
  max-width: 32rem;
  min-width: 12rem;
  padding: 0.25rem 1rem;
  vertical-align: middle;
  word-break: break-word;
}

.UnitDirectories th {
  padding: 0.5rem 1rem;
  text-align: left;
}

.UnitDirectories tr.hidden {
  display: none;
}

.UnitDirectories tr[aria-controls] {
  cursor: pointer;
}

.UnitDirectories tr[aria-controls]:hover {
  background-color: var(--color-background-accented);
}

.UnitDirectories th.UnitDirectories-toggleHead {
  font-size: 0;
  max-width: 0.625rem;
  padding: 0;
  width: 0.625rem;
}

.UnitDirectories td.UnitDirectories-toggleCell,
th.UnitDirectories-toggleCell {
  background-color: var(--background);
  border: var(--white);
  max-width: 0.625rem;
  padding: 0;
  width: 0.625rem;
}

.UnitDirectories-toggleButton {
  font-size: 1.25rem;
  left: -0.75rem;
  margin: 0 0 -1rem -0.875rem;
  padding: 0;
  position: absolute;
  vertical-align: top;
}

.UnitDirectories-subSpacer {
  border-right: var(--border);
  display: inline;
  margin-right: 0.875rem;
  width: 0.0625rem;
}

.UnitDirectories-toggleButton[aria-expanded='true'] img {
  transform: rotate(90deg);
}

.UnitDirectories-pathCell {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  line-height: 1.75rem;
  word-break: break-all;
}

.UnitDirectories-pathCell > div {
  position: relative;
}

.UnitDirectories-subdirectory {
  border-left: var(--border);
  display: flex;
  flex-direction: column;
  margin-left: 0.375rem;
  padding: 0.5rem 1rem;
}

.UnitDirectories-internal {
  display: none;
}

.UnitDirectories-showInternal .UnitDirectories-internal {
  display: table-row;
}

.UnitDirectories-mobileSynopsis {
  display: none;
  line-height: 1.25rem;
  margin-top: 0.25rem;
  word-break: keep-all;
}
@media only screen and (max-width: 52rem) {
  .UnitDirectories-mobileSynopsis {
    display: initial;
  }

  .UnitDirectories-table th.UnitDirectories-desktopSynopsis,
  .UnitDirectories-table td.UnitDirectories-desktopSynopsis {
    display: none;
  }
}

.UnitDirectories-toggles {
  position: relative;
}

.UnitDirectories-toggleButtons {
  bottom: 1rem;
  display: flex;
  gap: 1rem;
  position: absolute;
  right: 0;
}

.UnitDirectories-toggleButtons button {
  background-color: transparent;
  border: none;
  color: var(--color-brand-primary);
  cursor: pointer;
  display: none;
  font-size: 0.875rem;
  text-decoration: none;
}

.UnitDirectories-badge {
  border: 0.0625rem solid var(--color-text-subtle);
  border-radius: 0.125rem;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1rem;
  margin-left: 0.5rem;
  margin-top: 0.125rem;
  padding: 0 0.35rem;
  text-align: center;
}
