/*
 * 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: 0.75rem;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}

.UnitMetaDetails-header {
  border-bottom: 0.0625rem solid var(--gray-8);
  display: flex;
  font-size: 0.75rem;
  justify-content: space-between;
  line-height: 1rem;
  margin-bottom: 0.5rem;
  margin-top: 1.85rem;
  padding-bottom: 0.5rem;
  text-transform: uppercase;
}
.UnitMetaDetails ul {
  list-style: none;
  padding-inline-start: 0;
}
.UnitMetaDetails li {
  font-size: 0.875rem;
  margin-bottom: 0.75rem;
  white-space: nowrap;
}
.UnitMetaDetails a {
  font-size: 0.8125rem;
  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;
  }
}
