/* Sotable table */

.sortable-table {
    border-collapse: separate;
    border-spacing: 2px 0;
}

.sortable-table thead.sticky  {
    position: sticky ;
    top: 20px
}

.sortable-table th {
   /*white-space:nowrap;*/
}

.sortable-table th,
.sortable-table td { padding: 0.5em }

.sortable-table th.sortable {
    cursor: pointer;
    user-select: none;
}

.sortable-table th.sortable:hover {
    filter: brightness(0.95);
}

.sortable-table th.sorted-asc,
.sortable-table th.sorted-desc {
    background-color: #ccc
}

.sortable-table th:after {
    padding: 0 0.3em;
}

.sortable-table th.sorted-asc::after {
    content: "▴";
}
.sortable-table th.sorted-desc::after {
    content: "▾";
}
.sortable-table tfoot td { font-weight: bold }

.sortable-table.loading {
    background-color: #ccc;
    opacity: 0.75;
    animation: sortabletableload 0.5s ease alternate infinite
}         

@keyframes sortabletableload {
    from { opacity: 0.75 }
    to { opacity: 0.25 }
}