table.dataTable thead tr > .dtfc-fixed-start,
table.dataTable thead tr > .dtfc-fixed-end,
table.dataTable tfoot tr > .dtfc-fixed-start,
table.dataTable tfoot tr > .dtfc-fixed-end {
    top: 0;
    bottom: 0;
    z-index: 3;
    background-color: white;
}

table.dataTable tbody tr > .dtfc-fixed-start,
table.dataTable tbody tr > .dtfc-fixed-end {
    z-index: 1;
    background-color: white;
}

table.dataTable tr > .dtfc-fixed-left::after,
table.dataTable tr > .dtfc-fixed-right::after {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 10px;
    transition: box-shadow 0.3s;
    content: "";
    pointer-events: none;
}

table.dataTable tr > .dtfc-fixed-left::after {
    right: 0;
    transform: translateX(100%);
}

table.dataTable tr > .dtfc-fixed-right::after {
    left: 0;
    transform: translateX(-80%);
}

table.dataTable.dtfc-scrolling-left tr > .dtfc-fixed-left::after {
    box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.2);
}

table.dataTable.dtfc-scrolling-right tr > .dtfc-fixed-right::after {
    box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.2);
}

table.dataTable.dtfc-scrolling-right tr > .dtfc-fixed-right + .dtfc-fixed-right::after {
    box-shadow: none;
}

div.dt-scroll,
div.dtfh-floatingparent {
    position: relative;
}

    div.dt-scroll div.dtfc-top-blocker,
    div.dt-scroll div.dtfc-bottom-blocker,
    div.dtfh-floatingparent div.dtfc-top-blocker,
    div.dtfh-floatingparent div.dtfc-bottom-blocker {
        position: absolute;
        background-color: white;
    }

html.dark table.dataTable thead tr > .dtfc-fixed-start,
html.dark table.dataTable thead tr > .dtfc-fixed-end,
html.dark table.dataTable tfoot tr > .dtfc-fixed-start,
html.dark table.dataTable tfoot tr > .dtfc-fixed-end {
    background-color: var(--dt-html-background);
}

html.dark table.dataTable tbody tr > .dtfc-fixed-start,
html.dark table.dataTable tbody tr > .dtfc-fixed-end {
    background-color: var(--dt-html-background);
}

html.dark table.dataTable.dtfc-scrolling-left tbody > tr > .dtfc-fixed-left::after {
    box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.3);
}

html.dark table.dataTable.dtfc-scrolling-right tbody > tr > .dtfc-fixed-right::after {
    box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.3);
}

html.dark table.dataTable.dtfc-scrolling-right tbody > tr > .dtfc-fixed-right + .dtfc-fixed-right::after {
    box-shadow: none;
}

html.dark div.dtfc-top-blocker,
html.dark div.dtfc-bottom-blocker {
    background-color: var(--dt-html-background);
}

div.dtfc-top-blocker,
div.dtfc-top-blocker {
    border-bottom: 0px solid #ddd !important;
}

table.dataTable {
    border-collapse: separate;
}

    table.dataTable.table-bordered {
        border-left-width: 0;
        border-right-width: 0;
    }

        table.dataTable.table-bordered th,
        table.dataTable.table-bordered td {
            border-right-width: 0;
            border-top-width: 0;
        }

            table.dataTable.table-bordered th:last-child,
            table.dataTable.table-bordered td:last-child {
                border-right: 1px solid #dee2e6;
            }

        table.dataTable.table-bordered tr:last-child th,
        table.dataTable.table-bordered tr:last-child td {
            border-bottom-width: 0;
        }

    table.dataTable thead tr > .dtfc-fixed-start,
    table.dataTable thead tr > .dtfc-fixed-end,
    table.dataTable tfoot tr > .dtfc-fixed-start,
    table.dataTable tfoot tr > .dtfc-fixed-end {
        background-color: var(--bs-table-bg);
    }

    table.dataTable tbody tr > .dtfc-fixed-start,
    table.dataTable tbody tr > .dtfc-fixed-end {
        background-color: var(--bs-table-bg);
    }

div.dtfc-top-blocker,
div.dtfc-bottom-blocker {
    background-color: var(--bs-body-bg);
}

div.dt-scroll-body {
    border-left-color: var(--bs-table-color) !important;
}

div.dt-scroll-headInner table.table-bordered tr th:first-child,
div.dt-scroll-footInner table.table-bordered tr th:first-child {
    border-left-color: var(--bs-border-color) !important;
}
