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

.UnitMeta {
  display: block;
}
.UnitMeta a {
  display: block;
  margin-bottom: 1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
.UnitMeta-header {
  font-weight: bold;
  margin: 1.125rem 0;
}
.UnitMeta-repo {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.UnitMetaDetails-header {
  border-bottom: 0.0625rem solid var(--gray-8);
  display: flex;
  font-size: 1rem;
  font-weight: bold;
  justify-content: space-between;
  line-height: 1rem;
  margin-bottom: 0.5rem;
  margin-top: 1.85rem;
  padding-bottom: 0.5rem;
}
.UnitMetaDetails ul {
  list-style: none;
  padding-inline-start: 0;
}
.UnitMetaDetails li {
  font-size: 1rem;
  margin-bottom: 0.75rem;
  white-space: nowrap;
}
.UnitMetaDetails a {
  font-size: 1rem;
  font-weight: normal;
  text-transform: none;
}
.UnitMetaDetails-icon {
  height: auto;
  margin-right: 0.25rem;
  position: relative;
  width: 0.875rem;
  top: 0.125rem;
  z-index: -1;
}
.UnitMetaDetails-toggletip button {
  background: none;
  border: none;
  cursor: pointer;
  width: 1.625rem;
}
.UnitMetaDetails [role='status'] {
  height: 0;
  position: absolute;
  width: 0;
}
.UnitMetaDetails-toggletipBubble {
  background: var(--white) 80%;
  border: 0.0625rem solid var(--gray-8);
  border-radius: 0.25rem;
  display: block;
  font-size: 0.75rem;
  left: -12rem;
  letter-spacing: 0.01875rem;
  line-height: 1rem;
  padding: 0.5rem;
  position: relative;
  top: 1.5rem;
  white-space: initial;
  width: 12rem;
}
@media only screen and (min-width: 65rem) {
  .UnitMetaDetails-toggletipBubble {
    left: -10rem;
  }
}
@media only screen and (min-width: 70rem) {
  .UnitMetaDetails-toggletipBubble {
    left: -8rem;
  }
}
@media only screen and (min-width: 82rem) {
  .UnitMetaDetails-toggletipBubble {
    left: -6rem;
  }
}
