/*!
 * 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:hover a,
.UnitReadme summary:focus a,
.UnitReadme h2 a.UnitReadme-idLink {
  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 95%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 95%, 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;
}
