.main-table {
    box-shadow: 0 0 0 2px #333;
}
.main-table > thead > tr:first-child > th {
    border-top : 3px solid #333;
}
.main-table > tbody > tr:last-child > td {
    border-bottom : 3px solid #333;
}
.main-table > tbody > tr:last-child > th {
    border-bottom : 3px solid #333;
}

.table-scroll {
    position  : relative;
    max-width : 1280px;
    width     : 100%;
    margin    : auto;
    display   : table;
}

.table-wrap {
    width       : 100%;
    display     : block;
    overflow-x  : unset;
    overflow-y  : auto;
    position    : relative;
    z-index     : 1;
}

.table-wrap.fixedON,
.table-wrap.fixedON table,
.faux-table table {
    height : 600px;/* match heights*/
}

.table-scroll table {
    margin : auto 5px;
}

.table-scroll th, .table-scroll td {
    padding : 5px 10px;
}

.faux-table table {
    top            : 0;
    left           : 0;
    pointer-events : none;
}

.faux-table table tbody {
    visibility : hidden;
}
/* shrink cells in cloned table so that the table height is exactly 300px so that the header and footer appear fixed */
.faux-table table tbody th, .faux-table table tbody td {
    padding-top    : 0;
    padding-bottom : 0;
    border-top     : none;
    border-bottom  : none;
    line-height    : 0.1;
}
.faux-table table tbody tr + tr th, .faux-table tbody tr + tr td {
    line-height : 0;
}
.faux-table {
    position:absolute;
    top        : 0;
    right      : 0;
    left       : 0;
    bottom     : 0;
    overflow-x : unset; /*Aggiunta mia*/
    overflow-y : scroll;
}
.faux-table thead, .faux-table tfoot, .faux-table thead th, .faux-table tfoot th, .faux-table tfoot td {
    position : relative;
    z-index  : 2;
}
/* ie bug */
.table-scroll table tfoot  tr,
.table-scroll table tfoot  tr td,
.table-scroll table tfoot  tr th{height : 20px;}
.faux-table table,
.table-scroll table thead tr,
.table-scroll table thead tr th{height : 30px;}