/*!
 * 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 {
  opacity: 1;
}
.UnitDirectories-title {
  border-bottom: 0.0625rem solid var(--gray-8);
  font-size: 1.375rem;
  margin: 0.5rem 0 0 0;
  padding-bottom: 1rem;
}
.UnitDirectories-title img {
  height: 1rem;
  margin: auto 1rem auto 0;
  width: auto;
}
.UnitDirectories-table {
  border-collapse: collapse;
  height: 0;
  table-layout: auto;
  width: 100%;
}
.UnitDirectories-table--tree {
  margin-top: -2rem;
}
.UnitDirectories-tableHeader {
  background-color: var(--gray-9);
}
.UnitDirectories-tableHeader--tree {
  visibility: hidden;
}
.UnitDirectories td {
  border-bottom: 0.0625rem solid var(--gray-8);
  max-width: 32rem;
  min-width: 12rem;
  padding: 0.25rem 1rem;
  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(--gray-10);
}
.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(--white);
  border: var(--white);
  max-width: 0.625rem;
  padding: 0;
  width: 0.625rem;
}
.UnitDirectories-toggleButton {
  background-color: transparent;
  border: none;
  left: -0.75rem;
  margin: 0 0 -1rem -0.875rem;
  padding: 0;
  position: absolute;
  vertical-align: top;
}
.UnitDirectories-subSpacer {
  border-right: 0.0625rem solid var(--gray-8);
  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: 0.0625rem solid var(--gray-8);
  display: flex;
  flex-direction: column;
  margin-left: 0.375rem;
  padding: 0.5rem 1rem;
}
.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-expandButton {
  position: relative;
}
.UnitDirectories-expandButton button {
  background-color: transparent;
  border: none;
  bottom: 1rem;
  color: var(--turq-dark);
  cursor: pointer;
  display: none;
  font-size: 0.875rem;
  position: absolute;
  right: 0;
  text-decoration: none;
}
.UnitDirectories-badge {
  border: 0.0625rem solid var(--gray-4);
  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;
}
