
/* Group header styles */
table.sm-table-2 tr.sm-table-group-header {
    cursor: initial;
    font-weight: 600;
}

    table.sm-table-2 tr.sm-table-group-header.sm-table-collapsible {
        cursor: pointer;
    }

    table.sm-table-2 tr.sm-table-group-header.sm-table-group-header-default {
        height: 31px;
        border-top: 1px solid #C9C9C9;
    }

        table.sm-table-2 tr.sm-table-group-header.sm-table-group-header-default > td {
            /*background-color: #E4E4E4;*/
            background-color: #EDEDED;
            border-left: none;
            border-right: none;
            vertical-align: middle;
        }

        table.sm-table-2 tr.sm-table-group-header.sm-table-group-header-default.sm-table-collapsible:hover > td {
            /*background-color: #DDDDDD;*/
            background-color: #E4E4E4 !important;
        }

    table.sm-table-2 tr.sm-table-group-header > td.sm-table-group-title {
        text-align: left !important;
        /*vertical-align: middle;*/
    }

        table.sm-table-2 tr.sm-table-group-header > td.sm-table-group-title > span.sm-table-group-toggle {
            margin-left: 3px;
            margin-right: 3px;
        }

        table.sm-table-2 tr.sm-table-group-header > td.sm-table-group-title > span.sm-table-group-title {
            margin-left: 3px;
            margin-right: 5px;
        }

        table.sm-table-2 tr.sm-table-group-header > td.sm-table-group-title > span.sm-table-group-item-count {
            margin-right: 5px;
        }

/* Table header/footer & group footer styles */
table.sm-table-2 tr.sm-table-header.sm-table-header-default,
table.sm-table-2 tr.sm-table-group-footer.sm-table-group-footer-default,
table.sm-table-2 tr.sm-table-footer.sm-table-footer-default {
    height: 31px;
    font-weight: 600;
}

    table.sm-table-2 tr.sm-table-header.sm-table-header-default > td {
        /*border-bottom: 3px #7E7E7E double;*/
        border-bottom: 2px solid #ddd;
        /*background-color: initial;*/
    }

    table.sm-table-2 tr.sm-table-group-footer.sm-table-group-footer-default > td {
        border-top: 1px #7E7E7E solid;
        /*background-color: initial;*/
    }

    table.sm-table-2 tr.sm-table-footer.sm-table-footer-default > td {
        border-top: 3px #7E7E7E double;
        /*background-color: initial;*/
    }

/* Description styles*/
table.sm-table-2 tr.sm-table-header span.sm-table-header-description,
table.sm-table-2 tr.sm-table-group-footer span.sm-table-group-footer-description,
table.sm-table-2 tr.sm-table-footer span.sm-table-footer-description {
    margin-right: 5px;
}

table.sm-table-2 tr.sm-table-header,
table.sm-table-2 tr.sm-table-group-footer,
table.sm-table-2 tr.sm-table-group-divider,
table.sm-table-2 tr.sm-table-group-level-divider,
table.sm-table-2 tr.sm-table-footer {
    cursor: initial;
    background-color: initial !important;
}

table.sm-table-2 tr.sm-table-header > td,
table.sm-table-2 tr.sm-table-group-footer > td,
table.sm-table-2 tr.sm-table-group-divider > td,
table.sm-table-2 tr.sm-table-group-level-divider > td,
table.sm-table-2 tr.sm-table-footer > td {
    cursor: initial;
    background-color: initial !important;
}

/* Group dividers */
table.sm-table-2 tr.sm-table-group-divider {
    height: 10px;
    border: none;
    /*background-color: initial !important;*/
}

    table.sm-table-2 tr.sm-table-group-divider > td {
        padding: 0px;
        border: none;
    }

/* Group level dividers */
table.sm-table-2 tr.sm-table-group-level-divider {
    height: 2px;
    border: none;
    /*background-color: initial;*/
}

    table.sm-table-2 tr.sm-table-group-level-divider > td {
        padding: 0px;
        border: none;
    }

/* Override Boostrap .table-bordered styles */
table.sm-table-2.table-bordered {
    border-left: 0px;
    border-right: 0px;
}

    table.sm-table-2.table-bordered > thead > tr,
    table.sm-table-2.table-bordered > tbody > tr:not(.sm-table-group-divider),
    table.sm-table-2.table-bordered > tfoot > tr {
        border-left: 1px solid #dddddd;
        border-right: 1px solid #dddddd;
        border-bottom: 1px solid #dddddd;
    }

/* Collapse/Expand All Buttons */
div.sm-table-2-toggle-all {
    display: inline-block;
    /*padding: 4px 15px 14px;*/
    padding: 0px 11px 10px;
    font-size: 11px;
}

    div.sm-table-2-toggle-all span.sm-table-toggle-separator {
        padding: 0 5px;
    }

/* Table group level horizontal spacers */
table.sm-table-2 tr[sm-table-group-level="1"] > td:first-of-type {
    position: relative;
}

    table.sm-table-2 tr[sm-table-group-level="1"] > td:first-of-type::before {
        content: '';
        background-color: white;
        width: 30px;
        height: calc(100% + 2px);
        display: inline-block;
        position: absolute;
        left: 0px;
        top: -1px;
    }

table.sm-table-2 tr[sm-table-group-level="2"] > td:first-of-type {
    position: relative;
}

    table.sm-table-2 tr[sm-table-group-level="2"] > td:first-of-type::before {
        content: '';
        background-color: white;
        width: 60px;
        height: calc(100% + 2px);
        display: inline-block;
        position: absolute;
        left: 0px;
        top: -1px;
    }

table.sm-table-2 tr[sm-table-group-level="3"] > td:first-of-type {
    position: relative;
}

    table.sm-table-2 tr[sm-table-group-level="3"] > td:first-of-type::before {
        content: '';
        background-color: white;
        width: 90px;
        height: calc(100% + 2px);
        display: inline-block;
        position: absolute;
        left: 0px;
        top: -1px;
    }

table.sm-table-2 tr[sm-table-group-level="4"] > td:first-of-type {
    position: relative;
}

    table.sm-table-2 tr[sm-table-group-level="4"] > td:first-of-type::before {
        content: '';
        background-color: white;
        width: 120px;
        height: calc(100% + 2px);
        display: inline-block;
        position: absolute;
        left: 0px;
        top: -1px;
    }

table.sm-table-2 tr[sm-table-group-level="5"] > td:first-of-type {
    position: relative;
}

    table.sm-table-2 tr[sm-table-group-level="5"] > td:first-of-type::before {
        content: '';
        background-color: white;
        width: 150px;
        height: calc(100% + 2px);
        display: inline-block;
        position: absolute;
        left: 0px;
        top: -1px;
    }
