.docutils.container {
  padding: 0;
}

.docutils.container,
.highlight pre {
  margin: 0;
}

li p {
  margin-bottom: 0.4rem;
}

cite {
  font-weight: 600;
}

summary::after {
  content: "Click to expand";
  color: var(--specs-caption-color);
  font-size: var(--specs-text-small);
  font-style: italic;
}

.accordion {
  --bs-accordion-active-color: var(--bs-link-hover-color);
  --bs-accordion-active-bg: #ebf9ff;
}

.specs-layout {
  grid-template-areas: "sidebar main";
  grid-template-columns: 200px minmax(auto, 800px);
  gap: 2rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.specs-sidebar {
  grid-area: sidebar;
  position: sticky;
  top: 3rem;
  height: calc(100vh - 4rem);
  padding-left: 0.25rem;
  margin-left: -0.25rem;
  overflow-y: auto;
}

.specs-main {
  grid-area: main;
  grid-template-areas:
    "content"
    "content";
  grid-template-rows: auto auto;
  grid-template-columns: 100%;
  gap: inherit;
}

.specs-content {
  grid-area: content;
}

.specs-content > section:first-child > h1:first-child {
  font-weight: 300;
  font-size: 3rem;
}

.specs-content > section:first-child > h1:first-child + p {
  font-weight: 300;
  font-size: 1.5rem;
}

.specs-content section {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.specs-content h2 + section {
  margin-top: 1rem;
}

.specs-resources {
  grid-area: toc;
}

.headerlink {
  padding: 0 0.175rem;
  font-weight: 400;
  color: rgba(var(--bs-primary-rgb), 0.5);
  text-decoration: none;
  opacity: 0;
}

h2 {
  padding-top: 2rem;
  font-weight: 600;
}

h1:hover .headerlink,
h2:hover .headerlink,
h3:hover .headerlink,
h4:hover .headerlink {
  color: var(--bs-primary);
  text-decoration: none;
  opacity: 1;
}

.headerlink:hover {
  color: var(--bs-link-hover-color) !important;
}

.specscontent-link .card,
.specscontent-link .specscontent-body-title,
.specscontent-icon,
.headerlink,
a,
a span {
  transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out,
    opacity 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

.specscontent-link:hover .specscontent-body-title {
  color: var(--bs-primary) !important;
}

.specscontent-body-title:hover {
  color: var(--bs-link-hover-color) !important;
}

.specscontent-link:hover .card {
  border-color: var(--bs-primary) !important;
}

.specscontent-link:hover .specscontent-icon {
  background-color: var(--bs-primary) !important;
}

.objectivesindex-item {
  display: grid;
  grid-template-columns: 1fr 2fr;
}

.objectivesindex dd ul,
.objectivesindex dd ul li:last-child p {
  margin-bottom: 0;
}

a {
  text-decoration: none;
}

.bi {
  padding: 20px;
}

.specssteps-list {
  counter-reset: step;
}

.specssteps-list .accordion-item {
  counter-increment: step;
}

.specssteps-list .accordion-button {
  font-weight: 500;
}

.specssteps-list .accordion-button::before {
  content: counter(step) ".";
  padding-right: 0.5rem;
  font-weight: 700;
}

.specssteps-list.hide-step-nums .accordion-button::before {
  content: none;
  padding-right: 0;
  font-weight: unset;
}

.highlight .hll {
  background: var(--specs-hll-color) !important;
}

.highlight,
pre.console {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.highlight,
pre.console,
.admonition {
  margin-bottom: 1rem;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}

.admonition {
  background-color: inherit;
  border-left-width: 0.25rem !important;
  font-size: 0.9em;
}

.admonition p {
  line-height: 1.3;
  margin-bottom: 0.5rem;
}

.attention {
  --admonition-name: "Attention";
}

.caution {
  --admonition-name: "Caution";
}
.danger {
  --admonition-name: "Danger";
}
.error {
  --admonition-name: "Error";
}
.important {
  --admonition-name: "Important";
}
.note {
  --admonition-name: "Note";
}
.tip {
  --admonition-name: "Tip";
}
.warning {
  --admonition-name: "Warning";
}
.hint {
  --admonition-name: "Hint";
}

.note,
.important {
  --admonition-color: hsl(190deg 90% 43%);
  --admonition-background-color: hsl(191deg 68% 96%);
}

.warning,
.caution {
  --admonition-color: var(--bs-warning);
  --admonition-background-color: hsl(45deg 100% 96%);
}

.hint,
.tip {
  --admonition-color: var(--bs-success);
  --admonition-background-color: hsl(152deg 69% 96%);
}

.attention,
.danger,
.error {
  --admonition-color: var(--bs-danger);
  --admonition-background-color: hsl(354deg 70% 96%);
}

.attention,
.caution,
.danger,
.error,
.important,
.note,
.tip,
.warning,
.hint {
  border-left-color: var(--admonition-color) !important;
  background: var(--admonition-background-color) !important;
}

.admonition:before {
  color: var(--admonition-color);
  content: var(--admonition-name);
  display: block;
  line-height: 1;
  font-size: 1rem;
  text-transform: lowercase;
  font-variant: small-caps;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.admonition > p:not(.admonition-title) {
  margin-top: 0.5rem;
}

.admonition .admonition-title {
  color: var(--admonition-color) !important;
}

.highlight > pre,
pre.console,
.admonition-body,
.admonition-body.docutils.container {
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
}

.admonition-body > *:last-child {
  margin-bottom: 0 !important;
}
