/*!
 * 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: 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-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(--color-brand-primary);
  cursor: pointer;
  display: none;
  font-size: 0.875rem;
  position: absolute;
  right: 0;
  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;
}
