article h1 {
  padding: 0.25em;
}

article h2 {
  font-size: 1.5em;
  line-height: 1.4;
  padding-bottom: 4px;
  padding-left: 10px;
  margin-top: 56px;
  margin-bottom: 16px;
  border-left: 4px solid var(--bs-primary);
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)
}

article h3 {
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 28px;
  margin-bottom: 16px;
}

article h4 {
  font-size: 1.15em;
  line-height: 1.6;
  margin-top: 28px;
  margin-bottom: 16px;
}

article div.footnotes {
  margin-top: 56px;
}

.last-modified-date {
  font-size: 0.8em;
  color: var(--bs-body-color);
  text-align: right;
  flex: 1;
  margin-right: 1.5em;
}

#logo {
  height: calc(var(--bs-navbar-brand-font-size) * 1.5);
  margin-right: 5px;
}

#autocollapse a.nav-link:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

#affix h5 {
  color: var(--bs-primary-text-emphasis);
  font-weight: bold;
}

#affix li {
  padding-left: 4px;
}

#affix li:has(a.link-secondary) {
  margin-left: 10px;
}

#affix li a.link-secondary {
  color: rgba(var(--bs-primary-rgb), ) !important;
  text-decoration-color: rgba(var(--bs-primary-rgb), ) !important;
}

#affix li:has(a.active) {
  border-left: 2px solid var(--bs-primary);
}

.adcontainer-sidebar {
  bottom: 0;
  width: 100%;
}

.book-cover {
  height: auto;
  max-width: 180px;
}

nav li:has(a.active) {
  background-color: var(--bs-secondary-bg);
}

nav li.active:not(.expander) {
  background-color: var(--bs-secondary-bg);
}