/* ==========================================================================
   Table Styles
   ========================================================================== */

.table tbody tr {
    border-color: #333 !important;
}

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

table.table td {
    vertical-align: middle;
}

table.table thead tr th {
    text-transform: uppercase;
    letter-spacing: 1px;
    background: linear-gradient(136deg, #222 0%, #333 100%) !important;
    color: white;
    border-radius: 255px 0 217px 0px/25px 225px 0px 249px;
    border-bottom: none;
    line-height: 20px;
}

/* Sort Headers */
th.sort-header {
    cursor: pointer;
    white-space: nowrap;
}

th.sort-header:before {
    content: "▶";
    display: inline-block;
    opacity: 0.5;
    transition: transform 0.5s ease-in-out;
}

th.sort-header.asc:before {
    content: "▶";
    display: inline-block;
    transform: rotate(-90deg);
    opacity: 1.0;
}

th.sort-header.desc:before {
    content: "▶";
    display: inline-block;
    transform: rotate(90deg);
    opacity: 1.0;
}

/* Table Divider Text */
td small.table-divider-text {
    display: block;
    margin: 1rem 0 -0.75rem 0;
    opacity: 0.75;
}

/* Responsive Tables */
@media screen and (max-width: 768px) {
    ul.list-group,
    table.table {
        margin: 0 -2rem 4rem -2rem;
        width: calc(100% + 4rem);
    }

    li.list-group-item {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
