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

.Versions table {
  border-spacing: 0;
}

.Versions th {
  text-align: left;
}

.Versions td {
  padding-bottom: 1rem;
}

.Versions td:nth-child(1) {
  padding-right: 3rem;
  vertical-align: top;
}

.Versions td:nth-child(2) {
  border-right: var(--border);
  padding-right: 1rem;
  text-align: right;
  vertical-align: top;
  white-space: nowrap;
}

.Versions td:nth-child(3) {
  padding-left: 1rem;
}

.Versions-commitTime {
  font-size: 1rem;
  font-weight: 400;
}

.Versions-major {
  font-weight: 600;
}

.Versions-symbols {
  margin-left: 2rem;
}

.Versions-vulns {
  margin: 0.25rem 2rem;
  max-width: 60rem;
}

.Versions-symbolBulletNew {
  color: var(--color-text-subtle);
  padding-right: 0.5rem;
}

.Versions-symbolBuilds,
.Versions-symbolBuildsDash,
.Versions-symbolOld {
  color: var(--color-text-subtle);
}

.Versions-symbolChild {
  padding-left: 2rem;
}

.Versions-symbolSection,
.Versions-symbolType {
  margin-bottom: 0.625rem;
}

.Versions-symbolsHeader {
  margin: 0.625rem 0;
}

.Versions-title {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.5rem;
  margin-bottom: 1rem;
}

.Versions-titleButtonGroup {
  display: none;
}

.Versions-titleButtonGroup button {
  font-size: 0.875rem;
}

.Versions-modulesTitle {
  font-size: 1rem;
  margin: 1rem 0;
}

.Versions-list {
  gap: 0 1rem;
  line-height: 2.25rem;
}
@media only screen and (min-width: 37.5rem) {
  .Versions-list {
    display: grid;
    grid-template-columns: fit-content(8rem) fit-content(20rem) min-content auto;
  }
}

.Version-major {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  min-width: 4rem;
}
@media only screen and (min-width: 37.5rem) {
  .Version-major {
    margin-bottom: 0;
  }
}

.Version-tag {
  text-align: left;
}
@media only screen and (min-width: 37.5rem) {
  .Version-tag {
    text-align: right;
  }
}

.Version-dot {
  border: var(--border);
  color: var(--gray-7);
  display: none;
  font-size: 2.75rem;
  justify-content: center;
  line-height: 1.75rem;
  -webkit-text-stroke: 0.125rem var(--color-background);
  width: 0;
}

.Version-dot::before {
  content: '•';
}
@media only screen and (min-width: 37.5rem) {
  .Version-dot {
    display: flex;
  }
}

.Version-dot--minor {
  color: var(--color-brand-primary);
}

.Version-commitTime {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  margin-left: 1rem;
  white-space: nowrap;
}

.Version-details {
  line-height: 1.25rem;
}

.Version-summary {
  align-items: center;
  cursor: pointer;
  line-height: 2.25rem;
  padding-right: 0.5rem;
  white-space: nowrap;
  width: min-content;
}

.Version-summary .go-Chip {
  margin-left: 0.5rem;
}
