.table-filterable-sortable .controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0;
}
.table-filterable-sortable #searchInput {
    padding: 5px;
    width: 100%;
}
.table-filterable-sortable .loading {
    text-align: center;
    padding: 20px;
}

.table-filterable-sortable table th {
    cursor: pointer;
    user-select: none;
    position: relative;
}
.table-filterable-sortable table th.sortable::after {
    font-family: "Glyphicons Halflings", sans-serif !important;
    content: " \e150";
    opacity: 0.25;
    position: absolute;
    right: 6px;
    top: 50%;
    margin-top: -7px;
    transition: opacity .3s ease-in;
}
.table-filterable-sortable table th.sortable:hover::after {
    opacity: 1;
}
.table-filterable-sortable table th.sorted-asc::after {
    font-family: "Glyphicons Halflings", sans-serif !important;
    content: " \e155";
    opacity: 1;
}
.table-filterable-sortable table th.sorted-desc::after {
    font-family: "Glyphicons Halflings", sans-serif !important;
    content: " \e156";
    opacity: 1;
}

.table-filterable-sortable table th,
.table-filterable-sortable table td {
    border: 1px solid black;
    padding: 2px;
}

.table-filterable-sortable table tbody tr.hidden {
    display: none;
}

.table-filterable-sortable table tbody input {
    max-width: 50px;
}