.sortable-table {
  background:#fff;
  max-width:100%;
  border-spacing:0;
  width:100%;
  margin:0;
  padding: 0 !important;
  border:1px solid #ddd;
  border-collapse:separate;
  *border-collapse:collapsed;
  -webkit-box-shadow:0 0 4px rgba(0,0,0,0.10);
     -moz-box-shadow:0 0 4px rgba(0,0,0,0.10);
          box-shadow:0 0 4px rgba(0,0,0,0.10);
  }

.sortable-table th[role=columnheader]:not(.no-sort) {
  cursor: pointer;
}

.sortable-table th[role=columnheader]:not(.no-sort):after {
  content: '';
  float: right;
  margin-top: 7px;
  border-width: 0 4px 4px;
  border-style: solid;
  border-color: #404040 transparent;
  visibility: hidden;
  opacity: 0;
  -ms-user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.sortable-table th[aria-sort=ascending]:not(.no-sort):after {
  border-bottom: none;
  border-width: 4px 4px 0;
}

.sortable-table th[aria-sort]:not(.no-sort):after {
  visibility: visible;
  opacity: 0.4;
}

.sortable-table th[role=columnheader]:not(.no-sort):hover:after {
  visibility: visible;
  opacity: 1;
}

.sortable-table th,
.sortable-table td {
  padding:6px 8px;
  /*line-height:14px;*/
  border-top:1px solid #ddd;
  min-width: 45px;
  color: #333;
  }
.sortable-table th {
  background: #eee;
  font-weight: bold;
  font-size: 0.8em;
  vertical-align:bottom;
  }
.sortable-table td {
  vertical-align:top;
  }
.sortable-table td span[title] {
  border-bottom: 1px dotted grey;
  cursor: help;
}
.sortable-table thead:first-child tr th,
.sortable-table thead:first-child tr td {
  border-top:0;
  }
.sortable-table tbody + tbody {
  border-top:2px solid #ddd;
  }
.sortable-table th + th,
.sortable-table td + td,
.sortable-table th + td,
.sortable-table td + th {
  border-left:1px solid #ddd;
}
.sortable-table thead:first-child tr:first-child th,
.sortable-table tbody:first-child tr:first-child th,
.sortable-table tbody:first-child tr:first-child td {
  border-top:0;
}

.sortable-table tfoot {
  border-top: 1px solid #000;
  margin-top: 2px;
  padding-top: 5px;
}

.sortable-table tfoot tr td {
  border-top: 3px solid #000;
  font-weight: bold;
}

.sortable-table td.numbers {
  white-space: nowrap;
  text-align: right;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

.sortable-table__container {
  overflow: auto;
}
