/**
 * AvalynxDataTable
 *
 * A simple, lightweight, and customizable data table for the web. Based on Bootstrap >=5.3 without any framework dependencies.
 *
 * @version 1.0.7
 * @license MIT
 * @author https://github.com/avalynx/avalynx-datatable/graphs/contributors
 * @website https://github.com/avalynx/
 * @repository https://github.com/avalynx/avalynx-datatable.git
 * @bugs https://github.com/avalynx/avalynx-datatable/issues
 */

.avalynx-datatable-table th.avalynx-datatable-sorting,
.avalynx-datatable-table td.avalynx-datatable-sorting,
.avalynx-datatable-table th.avalynx-datatable-sorting-asc,
.avalynx-datatable-table td.avalynx-datatable-sorting-asc,
.avalynx-datatable-table th.avalynx-datatable-sorting-desc,
.avalynx-datatable-table td.avalynx-datatable-sorting-desc,
.avalynx-datatable-table th.avalynx-datatable-sorting-asc_disabled,
.avalynx-datatable-table td.avalynx-datatable-sorting-asc_disabled,
.avalynx-datatable-table th.avalynx-datatable-sorting-desc_disabled,
.avalynx-datatable-table td.avalynx-datatable-sorting-desc_disabled {
    cursor: pointer;
    padding-right: 1.625rem;
    position: relative;
}

.avalynx-datatable-table th.avalynx-datatable-sorting:before,
.avalynx-datatable-table th.avalynx-datatable-sorting:after,
.avalynx-datatable-table td.avalynx-datatable-sorting:before,
.avalynx-datatable-table td.avalynx-datatable-sorting:after {
    font-size: 0.8em;
    line-height: 0.5625rem;
    opacity: .125;
    position: absolute;
    right: 0.625rem;
}

.avalynx-datatable-table th.avalynx-datatable-sorting:before,
.avalynx-datatable-table td.avalynx-datatable-sorting:before,
.avalynx-datatable-table th.avalynx-datatable-sorting-asc:before,
.avalynx-datatable-table td.avalynx-datatable-sorting-asc:before,
.avalynx-datatable-table th.avalynx-datatable-sorting-desc:before,
.avalynx-datatable-table td.avalynx-datatable-sorting-desc:before {
    bottom: 50%;
    content: "▲";
}

.avalynx-datatable-table th.avalynx-datatable-sorting:after,
.avalynx-datatable-table td.avalynx-datatable-sorting:after,
.avalynx-datatable-table th.avalynx-datatable-sorting-asc:after,
.avalynx-datatable-table td.avalynx-datatable-sorting-asc:after,
.avalynx-datatable-table th.avalynx-datatable-sorting-desc:after,
.avalynx-datatable-table td.avalynx-datatable-sorting-desc:after {
    top: 50%;
    content: "▼";
}

.avalynx-datatable-table th.avalynx-datatable-sorting-asc:before,
.avalynx-datatable-table th.avalynx-datatable-sorting-desc:after,
.avalynx-datatable-table td.avalynx-datatable-sorting-asc:before,
.avalynx-datatable-table td.avalynx-datatable-sorting-desc:after {
    opacity: .7;
}

.avalynx-datatable-table th.avalynx-datatable-options,
.avalynx-datatable-table td.avalynx-datatable-options {
    text-align: center;
    white-space: nowrap;
}
.avalynx-datatable-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1rem;
}

.avalynx-datatable-responsive > .avalynx-datatable-table {
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
}

.avalynx-datatable-responsive > .avalynx-datatable-table > :not(caption) > * {
    border-width: 0;
}

.avalynx-datatable-responsive > .avalynx-datatable-table > :not(caption) > * > * {
    border-bottom-width: var(--bs-border-width, 1px);
    border-inline-end-width: 0;
}

.avalynx-datatable-responsive > .avalynx-datatable-table.table-bordered > :not(caption) > * > *:last-child {
    border-inline-end-width: var(--bs-border-width, 1px);
}

.avalynx-datatable-responsive > .avalynx-datatable-table.table-bordered > thead:first-child > tr:first-child > *,
.avalynx-datatable-responsive > .avalynx-datatable-table.table-bordered > tbody:first-child > tr:first-child > *,
.avalynx-datatable-responsive > .avalynx-datatable-table.table-bordered > tfoot:first-child > tr:first-child > * {
    border-top-width: var(--bs-border-width, 1px);
}

.avalynx-datatable-responsive > .avalynx-datatable-table > :not(caption) > * > *.avalynx-datatable-fixed-start {
    border-inline-end-width: var(--bs-border-width, 1px);
}

.avalynx-datatable-responsive > .avalynx-datatable-table > :not(caption) > * > th.avalynx-datatable-fixed-start + th,
.avalynx-datatable-responsive > .avalynx-datatable-table > :not(caption) > * > td.avalynx-datatable-fixed-start + td {
    border-inline-start-width: 0;
}

.avalynx-datatable-table th.avalynx-datatable-fixed-start,
.avalynx-datatable-table td.avalynx-datatable-fixed-start {
    position: sticky;
    inset-inline-start: 0;
    z-index: 1;
    background-color: var(--bs-table-bg, var(--bs-body-bg, #fff));
    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}

.avalynx-datatable-table th.avalynx-datatable-fixed-end,
.avalynx-datatable-table td.avalynx-datatable-fixed-end {
    position: sticky;
    inset-inline-end: 0;
    z-index: 1;
    background-color: var(--bs-table-bg, var(--bs-body-bg, #fff));
    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}

.avalynx-datatable-table:not(.table-bordered) th.avalynx-datatable-fixed-start,
.avalynx-datatable-table:not(.table-bordered) td.avalynx-datatable-fixed-start,
.avalynx-datatable-table:not(.table-bordered) th.avalynx-datatable-fixed-end,
.avalynx-datatable-table:not(.table-bordered) td.avalynx-datatable-fixed-end {
    border-inline: var(--bs-border-width, 1px) solid var(--bs-border-color, #dee2e6);
}
