@media (min-width: 576px) {
  :root,
  :host {
    --pico-font-size: 87.50%;
  }
}
@media (min-width: 768px) {
  :root,
  :host {
    --pico-font-size: 93.75%;
  }
}
@media (min-width: 1024px) {
  :root,
  :host {
    --pico-font-size: 100%;
  }
}
@media (min-width: 1280px) {
  :root,
  :host {
    --pico-font-size: 106.25%;
  }
}
@media (min-width: 1536px) {
  :root,
  :host {
    --pico-font-size: 112.5%;
  }
}

a.back-to-top {
    opacity: 0;
    margin-left: 0.5rem;
    text-decoration: none;
    transition: opacity 0.2s ease-in-out;
}

h2:hover a.back-to-top {
  opacity: 1;
}

h3:hover a.back-to-top {
  opacity: 1;
}

table.sortable {
  th:not(.no-sort) {
    cursor: pointer;
    position: relative;
    padding-right: 1.5rem;
    white-space: nowrap;
  }

  th:not(.no-sort)::after {
    content: '';
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    border-bottom: none;
    border-width: 6px 6px 0;
    border-style: solid;
    border-color: #404040 transparent;
    visibility: hidden;
    opacity: 0;
    user-select: none;
  }

  th[aria-sort=ascending]:not(.no-sort)::after {
    border-width: 0 6px 6px;
  }

  th:not(.no-sort):focus::after,
  th:not(.no-sort):hover::after {
    visibility: visible;
    opacity: 1;
  }
}
