.sticky-table {
    max-width: 100%;
    max-height: 80vh;
    overflow: auto;
    /* border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd; */
    padding: 0 !important;
    transition: width 2s;
}

.sticky-table, .sticky-table * {
    -webkit-transition: all 0s;
    -moz-transition: all 0s;
    -o-transition: all 0s;
    transition: all 0s;
}

.sticky-table table {
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
    border-spacing: 0;
    padding: 0 !important;
    border-collapse: collapse;
}

.sticky-table table tr {
    height: 30px;
}

.sticky-table table tr.sticky-header th, .sticky-table table tr.sticky-header td,
.sticky-table table tr.sticky-footer th, .sticky-table table tr.sticky-footer td {
    background-color: #fff;
    border-top: 0;
    position: relative;
    position: -webkit-sticky;
    position: -ms-sticky;
    position: sticky;
    /* outline: 2px solid #ddd;
    outline-offset: -1px; */
    z-index: 5;
}

.sticky-table table tr.sticky-header th, .sticky-table table tr.sticky-header td {
    top: 0;
}
.sticky-table table tr.sticky-footer th, .sticky-table table tr.sticky-footer td {
    bottom: 0;
}

.sticky-table table td.sticky-cell, .sticky-table table th.sticky-cell,
.sticky-table table td.sticky-cell-opposite, .sticky-table table th.sticky-cell-opposite {
    background-color: #fff;
    /*outline: 1px solid #ddd;*/
    position: relative;
    position: -webkit-sticky;
    position: -ms-sticky;
    position: sticky;
    z-index: 4;
}

.sticky-table table tr.sticky-header th::before, .sticky-table table tr.sticky-header td::before,
.sticky-table table tr.sticky-footer th::before, .sticky-table table tr.sticky-footer td::before,
.sticky-table table td.sticky-cell::before, .sticky-table table th.sticky-cell::before,
.sticky-table table td.sticky-cell-opposite::before, .sticky-table table th.sticky-cell-opposite::before {
    content: ""; 
    position: absolute; 
    width: calc(100% + 1.5px); 
    height: calc(100% + 2px); 
    top: -1px; 
    left: -0.75px; 
    border-top: 1px solid #ddd; 
    border-bottom: 1px solid #ddd;
    z-index: -1;
}

.sticky-table table td.sticky-cell::before, .sticky-table table th.sticky-cell::before,
.sticky-table table td.sticky-cell-opposite::before, .sticky-table table th.sticky-cell-opposite::before {
    border-left: 0.5px solid #ddd; 
    border-right: 0.5px solid #ddd;
}
.sticky-table.sticky-ltr-cells table td.sticky-cell, .sticky-table.sticky-ltr-cells table th.sticky-cell,
.sticky-table.sticky-rtl-cells table td.sticky-cell-opposite, .sticky-table.sticky-rtl-cells table th.sticky-cell-opposite {
    left: 0
}
.sticky-table.sticky-rtl-cells table td.sticky-cell, .sticky-table.sticky-rtl-cells table th.sticky-cell,
.sticky-table.sticky-ltr-cells table td.sticky-cell-opposite, .sticky-table.sticky-ltr-cells table th.sticky-cell-opposite {
    right: 0
}

.sticky-table table tr.sticky-header td.sticky-cell, .sticky-table table tr.sticky-header th.sticky-cell,
.sticky-table table tr.sticky-header td.sticky-cell-opposite, .sticky-table table tr.sticky-header th.sticky-cell-opposite,
.sticky-table table tr.sticky-footer td.sticky-cell, .sticky-table table tr.sticky-footer th.sticky-cell,
.sticky-table table tr.sticky-footer td.sticky-cell-opposite, .sticky-table table tr.sticky-footer th.sticky-cell-opposite {
    z-index: 6;
}

.table-striped tbody tr:nth-of-type(odd) {background-color: #f2f5f9;}
