.table-of-contents {
  position: sticky;
  top: 0;
  z-index: 9;
  background: #fff;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.15);
  font-size: 0.85rem;
}

.table-of-contents__container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.75rem;
  max-width: var(--global-content-width, 1640px);
  margin-inline: auto;
  padding-inline: var(--global-content-edge-padding);
  padding-block: 1rem;
}

.table-of-contents__title {
  font-size: inherit;
  color: var(--global-palette2);
  margin-bottom: 0.25rem !important;
}

.table-of-contents__list {
  position: relative;
  list-style: none;
  padding-left: 0 !important;
  display: flex;
  flex-wrap: wrap;
  overflow-y: hidden;
  gap: 0.75rem;
  max-height: 1.6em;
}

.table-of-contents__item {
  margin-bottom: 0 !important;
}

.table-of-contents__ellipsis {
  font-size: 1.5em;
  line-height: 0;
  margin-left: 0.5rem;
}

.table-of-contents__link {
  text-decoration: none;
  color: var(--global-palette1);
  font-weight: bold;
  white-space: nowrap;
}

.table-of-contents__link:hover,
.table-of-contents__link:focus {
  text-decoration: underline;
}

.table-of-contents__toggles--hidden {
  display: none;
}

.table-of-contents__toggle {
  --toggle-color: var(--global-palette2);
  padding: 0.25rem !important;
  line-height: 0;
  background: transparent;
}

.table-of-contents__toggle:hover,
.table-of-contents__toggle:focus {
  --toggle-color: var(--global-palette1);
  background: transparent;
}

.table-of-contents__toggle--hidden {
  display: none;
}

.table-of-contents__toggle-icon {
  pointer-events: none;
  width: var(--toggle-size);
  height: var(--toggle-size);
}

.table-of-contents__toggle-icon--expand {
  --toggle-size: 1.5rem;
  fill: var(--toggle-color);
}

.table-of-contents__toggle-icon--condense {
  --toggle-size: 1.4rem;
  stroke: var(--toggle-color);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scroll-margin-top-1 {
  scroll-margin-top: 1rem;
}
.scroll-margin-top-2 {
  scroll-margin-top: 2rem;
}
.scroll-margin-top-3 {
  scroll-margin-top: 3rem;
}
.scroll-margin-top-4 {
  scroll-margin-top: 4rem;
}
.scroll-margin-top-5 {
  scroll-margin-top: 5rem;
}
.scroll-margin-top-6 {
  scroll-margin-top: 6rem;
}
.scroll-margin-top-7 {
  scroll-margin-top: 7rem;
}
.scroll-margin-top-8 {
  scroll-margin-top: 8rem;
}
.scroll-margin-top-9 {
  scroll-margin-top: 9rem;
}
.scroll-margin-top-10 {
  scroll-margin-top: 10rem;
}
