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

.UnitReadme {
  margin-bottom: 2rem;
}

.UnitReadme ul,
.UnitReadme ol {
  list-style: circle;
}

.UnitReadme h2 a.UnitReadme-idLink,
.UnitReadme summary a {
  opacity: 0;
}

.UnitReadme h2:hover a,
.UnitReadme summary:focus a {
  opacity: 1;
}

.UnitReadme-title {
  border-bottom: var(--border);
  font-size: 1.375rem;
  padding-bottom: 1rem;
}

.UnitReadme-title img {
  margin: auto 1rem auto 0;
}

.UnitReadme-content {
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-mask-image: linear-gradient(to bottom, black 75%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 75%, transparent 100%);
  max-height: 20rem;
  overflow: hidden;
  position: relative;
}

.UnitReadme-content ul {
  line-height: 1.5rem;
}

.UnitReadme-expandLink {
  background: none;
  border: none;
  color: var(--color-brand-primary);
  cursor: pointer;
  padding: 0;
}

.UnitReadme-collapseLink {
  background: none;
  border: none;
  color: var(--color-brand-primary);
  cursor: pointer;
  display: none;
  padding: 0;
}

.UnitReadme--expanded .UnitReadme-content {
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-mask-image: none;
  mask-image: none;
  max-height: initial;
  overflow: initial;
}

.UnitReadme--toggle .UnitReadme-expandLink {
  display: block;
}

.UnitReadme--expanded .UnitReadme-expandLink {
  display: none;
}

.UnitReadme--expanded.UnitReadme--toggle .UnitReadme-collapseLink {
  display: block;
}

.Overview-readmeContent {
  overflow-wrap: break-word;
}
