body {
  font-family: sans-serif;
}

table {
  border-collapse: collapse;
  margin: 25px 0;
  font-size: 0.9em;
  min-width: 400px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

thead tr {
  background-color: #009879;
  color: #ffffff;
  text-align: left;
}

th, td {
  padding: 12px 15px;
}

tbody tr {
  border-bottom: 1px solid #dddddd;
}

tbody tr:nth-of-type(even) {
  background-color: #f3f3f3;
}

tbody tr:last-of-type {
  border-bottom: 2px solid #009879;
}

.sort:after {
  content: "▼▲";
  padding-left: 10px;
  opacity: 0.5;
}
.sort.desc:after {
  content: "▲";
  opacity: 1;
}
.sort.asc:after {
  content: "▼";
  opacity: 1;
}

dl {
  display: grid;
  grid-template-columns: max-content auto;
}

dt {
  grid-column-start: 1;
}

dt:after {
  content: ':';
}

dd {
  grid-column-start: 2;
  margin-left: 5;
}
