table {
    border-collapse:collapse;
}

tr {
    border-bottom: 1pt solid var(--bs-table-border-color);
}

tr.dt-hasChild {
    border-bottom: 0;
}

tr:last-child {
    border-bottom: .5pt solid var(--medium-grey);
}

/* Add rounded border for table header hover */
table.dataTable thead > tr > th.dt-orderable-asc:hover,
table.dataTable thead > tr > th.dt-orderable-desc:hover,
table.dataTable thead > tr > td.dt-orderable-asc:hover,
table.dataTable thead > tr > td.dt-orderable-desc:hover {
    outline: 1.5px solid var(--bs-table-border-color);
    outline-offset: -5px;
    border-radius: 10px;
}

th.sorting, th.no-sort, th.nosort {
    color: var(--text-color);
    background: var(--background);
}

table.dataTable tfoot td {
    color: var(--text-color);
    background: var(--background);
    font-weight: bold;
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination {
    margin: 2px 4px 4px 0;
    white-space: nowrap;
    justify-content: flex-end;
}

/* Add color for search (filter) highlighting */
.highlight {
    background-color: var(--menu-selected-color);
    color: inherit;
}

div.dataTables_wrapper div.dt-row {
    padding-bottom: 0.85em;
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* DataTables Details                                                                                                  */
/* ------------------------------------------------------------------------------------------------------------------- */

div.details-control {
    position: relative;
    cursor: pointer;
}

.details-icon {
    height: 24px;
    width: 24px;
    margin-left: 12px;
    fill: #b4b4b4;
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Custom column widths for property tables                                                                            */
/* ------------------------------------------------------------------------------------------------------------------- */

.col-width-0 {
    width: 0;
}
.col-width-1 {
    width: 8.333333%;
}
.col-width-2 {
    width: 16.666667%;
}
.col-width-3 {
    width: 25%;
}
.col-width-5 {
    width: 41.66667%;
}
.col-width-6 {
    width: 50%;
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* Fix focus state of table form input elements (pagination select and search)                                         */
/* ------------------------------------------------------------------------------------------------------------------- */

.form-select-sm, .form-control-sm {
    margin: 0.2em;
}

/* ------------------------------------------------------------------------------------------------------------------- */
/* DataTables select                                                                                                  */
/* ------------------------------------------------------------------------------------------------------------------- */

table.dataTable.table-striped > tbody > tr.odd > * {
    box-shadow: inset 0 0 0 9999px var(--table-background);
    color: var(--text-color)
}

table.dataTable.table-striped > tbody > tr.even > * {
    box-shadow: inset 0 0 0 9999px var(--background);
    color: var(--text-color)
}

table.dataTable.table-striped > tbody > tr.odd.selected > * {
    box-shadow: inset 0 0 0 9999px var(--medium-grey);
    color: var(--text-color)
}

table.dataTable.table-striped > tbody > tr.even.selected > * {
    box-shadow: inset 0 0 0 9999px var(--medium-grey);
    color: var(--text-color)
}
