table tr th.vertical-text span {
    max-height: 15rem;
    text-align: left;
    transform: rotate(180deg);
    writing-mode: vertical-rl;
}

table.table thead td,
table.table thead th {
    border-bottom: 3px solid #dee2e6;
}

table.table tfoot td,
table.table tfoot th {
    border-top: 3px solid #dee2e6;
}

table.table-borderless,
table.table-borderless tr th,
table.table-borderless tr td {
    border: 0;
}

table.table-hover tbody tr:hover {
    background-color: #eeeeee;
}

table.table-not-striped > tbody > tr {
    background-color: transparent !important;
}

table.table-overflow {
    min-width: 100%;
    width: auto;
}

table.table-pointer tbody tr {
    cursor: pointer;
}

table.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.02);
}

table.table-summary tbody tr * {
    text-align: right;
}

@media (min-width: 992px) {
    div.table-responsive-overflow-visible {
        overflow: visible;
    }
}
