
.sr-only {
  position: absolute;
  top: -30em;
}

table.sortable td,
table.sortable th {
  padding: 0.125em 0.25em;
}

table.sortable th {
  font-weight: bold;
  position: relative;
}

table.sortable th.no-sort {
  padding-top: 0.35em;
}

table.sortable th:nth-child(5) {
  width: 10em;
}

table.sortable th button {
  position: absolute;
  padding: 4px;
  margin: 0px;
  font-size: 1em;
  font-weight: bold;
  background: transparent;
  border: none;
  display: inline;
  width: 100%;
  text-align: left;
  outline: none;
  cursor: pointer;
  height: 100%;
}

table.sortable th button span {
  position: relative;
}

table.sortable th[aria-sort] span::after {
  color: inherit;
  font-size: 1em;
  top: 0.2em;
  font-size: .7em;
  display: inline;
  position: absolute;
  padding: 0 0 0 0.5em;
}

table.sortable th[aria-sort="descending"] span::after {
  content: "▼";
}

table.sortable th[aria-sort="ascending"] span::after {
  content: "▲";
}


table.show-unsorted-icon th:not([aria-sort]) button span::after {
  content: "♢";
  color: currentcolor;
  font-size: 100%;
  position: relative;
  top: -3px;
  left: -4px;
}

table.sortable td.num {
  text-align: right;
}


/* Focus and hover styling */

table.sortable th:not([aria-sort]) button:focus span::after,
table.sortable th:not([aria-sort]) button:hover span::after {
  content: "▼";
  color: inherit;
  font-size: 1em;
  top: 0.2em;
  font-size: .7em;
  display: inline;
  position: absolute;
  padding: 0 0 0 0.5em;
}