
.table-wrap {
    overflow: auto;
}

.table-dense .table th { padding: 20px 28px; }
.table-dense .table td { padding: 8px 16px; }

.table-sm .table th,
.table-sm .table td { font-size: .9rem; }
.table-xs .table td { font-size: .85rem; }

.table-btn {
    padding: 4px;
    font-size: medium;
}

.table-header {
/*    display: flex;
    align-items: center;
    white-space: nowrap;
*/}

.table-header span {
    flex: 1 0 auto;
}

.table-header .table-sort-btn {
    position: absolute;
    top: 50%;
    right: 4px;
    margin-top: -12px;
    padding: 4px;
}

.table-header .table-sort-btn * {
    opacity: .25;
}

.table-header .table-sort-asc * {
    opacity: 1;
}

.table-header .table-sort-desc * {
    opacity: 1;
    rotate: 180deg;
}

.table-summary {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0;
    padding: 20px 0;
    border-top: 2px #f0f0f0 solid;
}

.table-pager {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1;
    font-size: medium;
}

.table-pager .table-page-prev,
.table-pager .table-page-next {
    border: none;
    background: transparent;
    cursor: pointer;
}

.table-pager .table-page-prev:disabled,
.table-pager .table-page-next:disabled {
    opacity: .3;
}

.table-pager .table-page-prev img {
    margin-right: 8px;
}

.table-pager .table-page-next img {
    margin-left: 8px;
}

.table-pager .table-pages {
    margin: 0 40px;
}

.table-pager .table-page-btn {
    min-width: 32px;
    padding: 4px;
    height: 32px;
    margin: 0 1px;
    border: 2px #fff solid;
    border-radius: 50%;
}

.table-pager .table-page-btn:hover {
    border-color: #ddd;
}

.table-pager .table-page-btn.active {
    border-color: #305882;
}
