body {
  background-color: #fff !important;
}

[data-url] .clickable {
  cursor: pointer;
}

a, a:hover, a:visited {
  color: unset;
}

a.btn, a.btn:visited {
  color: var(--bs-btn-color, unset);
}

a.btn:hover {
  color: var(--bs-btn-hover-color, var(--bs-btn-color, unset));
}

img.media, video.media {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: center;
  background-color: #00000020;
}

img.media.square, video.media.square {
  aspect-ratio: 1;
}

.scalable-html {
  --cols: 1;
  font-size: calc(16px / var(--cols));
  --bs-spacer: calc(1rem / var(--cols)) !important;
}
.scalable-html h1 {
  font-size: 2.5em !important;
}
.scalable-html h2 {
  font-size: 2em !important;
}
.scalable-html h3 {
  font-size: 1.75em !important;
}
.scalable-html h4 {
  font-size: 1.5em !important;
}
.scalable-html h5 {
  font-size: 1.25em !important;
}
.scalable-html h6 {
  font-size: 1em !important;
}

.scalable-html .display-1 {
  font-size: 5em !important;
}
.scalable-html .display-2 {
  font-size: 4.5em !important;
}
.scalable-html .display-3 {
  font-size: 4em !important;
}
.scalable-html .display-4 {
  font-size: 3.5em !important;
}
.scalable-html .display-5 {
  font-size: 3em !important;
}
.scalable-html .display-6 {
  font-size: 2.5em !important;
}


.scalable-html.col-6, .scalable-html.col-md-6, .scalable-html.col-lg-6 {
    --cols: 2;
}

.scalable-html.col-4, .scalable-html.col-md-4, .scalable-html.col-lg-4 {
    --cols: 3;
}

.scalable-html.col-3, .scalable-html.col-md-3, .scalable-html.col-lg-3 {
    --cols: 4;
}

.scalable-html.col-2, .scalable-html.col-md-2, .scalable-html.col-lg-2 {
    --cols: 6;
}

.tabular-nums {
  font-variant-numeric: tabular-nums;
}

.legal a:hover {
  background-color: yellow;
}

.legal {
  line-height: 1.5;
  text-align: justify;
  font-size: 0.875rem;
}

.legal .level-1 {
  padding: 0.5rem 1rem;
  margin: 0.5rem -1rem;
  counter-increment: count 1;
  border: 1px solid transparent;
}

.legal .level-1:hover {
  background-color: #00000010;
  border: 1px solid #00000040;
  border-radius: 0.5rem;
}

.legal .level-1 .heading {
  font-weight: 700;
}

.legal .level-1 ul {
  padding-inline-start: 1em;
  list-style-type: square;
}

.legal .level-2 {
  padding: 0;
  margin-top: 0.5rem;
}

.legal .level-2:not(:last-child) {
  margin-bottom: 0.5rem;
}

.legal .level-2:last-child {
  margin-bottom: 0;
}

.section-tools {
  opacity: 0;
  transition: opacity 0.15s;
}

section:hover .section-tools {
  opacity: 1;
}

@media (hover: none) {
  .section-tools {
    opacity: 1;
  }
}

.tree-chevron {
  transition: transform 0.2s ease;
}

[aria-expanded="true"] .tree-chevron {
  transform: rotate(-180deg);
}

/* Vertical Classes */
.text-vertical  { writing-mode: sideways-lr; white-space: nowrap; }
@media (min-width: 576px)  { .text-vertical-sm  { writing-mode: sideways-lr; white-space: nowrap; } }
@media (min-width: 768px)  { .text-vertical-md  { writing-mode: sideways-lr; white-space: nowrap; } }
@media (min-width: 992px)  { .text-vertical-lg  { writing-mode: sideways-lr; white-space: nowrap; } }
@media (min-width: 1200px) { .text-vertical-xl  { writing-mode: sideways-lr; white-space: nowrap; } }
@media (min-width: 1400px) { .text-vertical-xxl { writing-mode: sideways-lr; white-space: nowrap; } }

/* Horizontal "Undo" Classes */
.text-horizontal  { writing-mode: horizontal-tb; }
@media (min-width: 576px)  { .text-horizontal-sm  { writing-mode: horizontal-tb; } }
@media (min-width: 768px)  { .text-horizontal-md  { writing-mode: horizontal-tb; } }
@media (min-width: 992px)  { .text-horizontal-lg  { writing-mode: horizontal-tb; } }
@media (min-width: 1200px) { .text-horizontal-xl  { writing-mode: horizontal-tb; } }
@media (min-width: 1400px) { .text-horizontal-xxl { writing-mode: horizontal-tb; } }