.absol-table-scroller .absol-table-scroller-viewport {
    width: calc(100% + var(--scrollbar-width));
    height: calc(100% + var(--scrollbar-width));
}

.absol-table-scroller .absol-table-scroller-header-hscroller-viewport {
    margin-bottom: calc(0px - var(--scrollbar-width))
}


.absol-table-scroller {
    --scrollbar-width: 15px;
    --new-pos-y: 0;
    position: relative;
    padding-right: 15px;
    padding-bottom: 15px;
    --tvs-scroll-padding-bottom: 0px;
    overflow: hidden;
}

.absol-table-scroller:not(.as-scroll-vertical) {
    padding-right: 0;
}


.absol-table-scroller:not(.as-scroll-horizontal) {
    padding-bottom: 0;
}

.as-table-scroller-origin-table-ctn {
    padding-bottom: var(--tvs-scroll-padding-bottom);

}


.as-table-scroller-vertical-scroller {
    overflow-y: scroll;
    height: 100%;
    box-sizing: border-box;
    margin-right: calc(0px - var(--scrollbar-width));
}

.as-table-scroller-fixed-y-header-ctn {
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    right: 0;
    overflow: hidden;
}

.as-table-scroller-fixed-y-header,
.as-table-scroller-fixed-xy-header {
    table-layout: fixed;
}

.as-table-scroller-fixed-y-header td,
.as-table-scroller-fixed-y-header tr,
.as-table-scroller-fixed-y-header th,
.as-table-scroller-fixed-xy-header td,
.as-table-scroller-fixed-xy-header tr,
.as-table-scroller-fixed-xy-header th {
    box-sizing: border-box;
}


.as-table-scroller-fixed-x-col-ctn {
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;
    overflow: hidden;
}

.as-table-scroller-fixed-xy-header-ctn {
    position: absolute;
    z-index: 12;
    top: 0;
    left: 0;
    overflow: hidden;
}

.as-table-scroller-fixed-y-header-scroller {
    overflow-x: scroll;
    margin-bottom: calc(var(--scrollbar-width) * -1);
}

.as-mobile-theme .as-table-scroller-fixed-y-header-scroller::-webkit-scrollbar,
.as-mobile-theme .absol-table-scroller-header-hscroller-viewport::-webkit-scrollbar {
    display: none;
}


.as-table-scroller-horizontal-scroller-viewport {
    overflow: hidden;
    position: relative;
}

.as-table-scroller-horizontal-scroller {
    overflow-x: scroll;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: calc(var(--scrollbar-width) * -1);
}

.absol-table-scroller-content {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    max-height: var(--content-height);
    max-width: calc(max(var(--content-width), var(--outer-width) - 15px));
}

.absol-table-scroller:not(.as-scroll-vertical) .absol-table-scroller-content {
    max-width: calc(max(var(--content-width), var(--outer-width)));
}

.absol-table-scroller-render-space {
    position: fixed;
    overflow: scroll;
    left: 0;
    top: 0;
    max-width: calc(99vw - 30px);
    max-height: calc(99vh - 30px);
    opacity: 0;
    z-index: -1000;
    visibility: hidden;
}


.absol-table-scroller-viewport {
    box-sizing: border-box;
    overflow: scroll;
    width: calc(100% + 15px);
    height: calc(100% + 15px);
    background-color: white;
}

.absol-table-scroller-fixed-viewport {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    overflow: hidden;
    background-color: white;
    /*pointer-events: none;*/
}

.absol-table-scroller-fixed-viewport > table > thead,
.absol-table-scroller-fixed-viewport > table {
    /*border-top-color: transparent !important;*/
}

.absol-table-scroller-fixed-hidden {
    visibility: hidden !important;
    opacity: 0 !important;
    border-color: transparent !important;

}

.absol-table-scroller-header-hscroller {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    z-index: 9;
    overflow: hidden;
    /*pointer-events: none;*/
}

.absol-table-scroller-header-hscroller-viewport {
    max-width: 100%;
    overflow-x: scroll;
    margin-bottom: -15px; /*default*/
    background-color: white;
}

.absol-table-scroller-header-hscroller-viewport table {
    table-layout: fixed;
}


.absol-table-scroller-left-vscroller {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 7;
    /* width: 200px; */
    overflow-x: hidden;
    /*pointer-events: none;*/
}

.absol-table-scroller-left-vscroller-viewport {
    max-height: 100%;
    overflow-y: scroll;
    min-width: calc(100% + 19px);
    overflow-x: hidden;
    background-color: white;
}


.absol-table-scroller-head-line,
.absol-table-scroller-left-line {
    z-index: 30;
    /*pointer-events: none;*/
    position: absolute;
}

.absol-table-scroller-head-line {
    left: 0;
    border-bottom: solid 2px rgb(169, 169, 170);
    width: 100%;
}

.absol-table-scroller-left-line {
    top: 0;
    border-right: solid 2px rgb(169, 169, 170);
    height: 100%;
}


.absol-table-scroller.as-scroll-vertical .absol-table-scroller-head-line {
    width: 100%;
}

.absol-table-scroller.as-scroll-horizontal .absol-table-scroller-left-line {
    height: 100%;
}


.absol-table-scroller:not(.as-scroll-vertical) .absol-table-scroller-head-line {
    display: none;
}

.absol-table-scroller:not(.as-scroll-horizontal) .absol-table-scroller-left-line {
    display: none;
}


.absol-table-scroller-vscrollbar-container {
    position: absolute;
    top: 0;
    right: 0px;
    width: 15px;
    bottom: 0;
    z-index: 31;
}

.absol-table-scroller-vscrollbar-container .absol-scrollbar-button {
    left: 2px;
    right: 2px;
    width: unset;
    border-radius: 5px;
}


.absol-table-scroller-vscrollbar-container > div,
.absol-table-scroller-hscrollbar-container > div {
    width: 100%;
    height: 100%;
}

.absol-table-scroller-hscrollbar-container {
    position: absolute;
    left: 0;
    right: 0;
    height: 15px;
    bottom: 0;
    z-index: 31;
}


.absol-table-scroller-hscrollbar-container .absol-scrollbar-button {
    top: 2px;
    bottom: 2px;
    border-radius: 5px;
    height: unset;
}


.absol-table-scroller:not(.as-scroll-vertical) .absol-table-scroller-vscrollbar-container {
    display: none;
}

.absol-table-scroller:not(.as-scroll-horizontal) .absol-table-scroller-hscrollbar-container {
    display: none;
}


.absol-table-scroller.as-scroll-horizontal .absol-table-scroller-vscrollbar-container {
    bottom: 15px;
}

.absol-table-scroller.as-scroll-vertical .absol-table-scroller-hscrollbar-container {
    right: 15px;
}

.absol-table-scroller-fixed-table {
    table-layout: fixed;
    box-sizing: border-box;

}

.absol-table-scroller-fixed-table *,
.absol-table-scroller-header-hscroller * {
    box-sizing: border-box;
}

.absol-table-scroller .as-drag-zone {
    cursor: move;
}


.absol-table-scroller tr.as-dragging {
    position: relative;
    z-index: 1;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
    opacity: 0.8;
}

.absol-table-scroller td.as-transparent-fix {
    visibility: hidden;
    opacity: 0;
}

.absol-table-scroller.as-dragging tbody tr:not(.as-dragging) {
    transition: transform 0.1s;
}


.absol-table-scroller-viewport thead .as-rotated-text-anchor,
.absol-table-scroller-fixed-viewport thead .as-rotated-text-anchor,
.absol-table-scroller-left-vscroller thead .as-rotated-text-anchor {
    display: none;
}

.absol-table-scroller .as-rotated-text-anchor {
    white-space: nowrap;
}


.as-table-scroller-row-index::before {
    content: attr(data-idx);
}

/*.absol-table-scroller.as-has-new-pos.as-dragging::before {*/
/*    content: "";*/
/*    position: absolute;*/
/*    left: 0;*/
/*    top: var(--new-pos-y);*/
/*    right: 0;*/
/*    border-top: 2px solid blue;*/
/*    z-index: 8;*/
/*    transition: top 0.1s;*/
/*}*/

