@media (max-width: 767.98px) {

    .resp-table,
    .resp-table thead,
    .resp-table tbody,
    .resp-table tfoot,
    .resp-table th,
    .resp-table td,
    .resp-table tr {
        display: block;
    }

    .resp-table thead {
        display: none;
    }

    .resp-table tr {
        margin-bottom: 10px;
        border: 1px solid #dee2e6;
        border-radius: 2px;
        background-color: #fff;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
        display: flex;
        flex-wrap: wrap;
    }

    .resp-table td.first-col {
        flex: 0 0 100%;
        display: block;
        text-align: left !important;
        background-color: #f8f9fa;
        padding: 5px 10px !important;
        border-bottom: 1px solid #dee2e6 !important;
    }

    .resp-table td.first-col .badge {
        display: block;
        width: auto;
        margin-left: 0 !important;
        margin-bottom: 6px;
        margin-top: 2px;
    }

    .resp-table td:not(.first-col) {
        display: flex;
        align-items: center;
        border: none !important;
        padding: 5px !important;
        background: #fff !important;
    }


    @media (min-width: 500px) {
        .resp-table td:not(.first-col) {
            flex: 0 0 33.33%;
            flex-direction: column;
            justify-content: center;
            text-align: center !important;
            border-right: 1px solid #eee !important;
            border-bottom: none !important;
        }

        .resp-table td:last-child {
            border-right: none !important;
        }

        .resp-table td[data-label]::before {
            margin-right: 0;
            margin-bottom: 0;
            font-size: 0.7rem;
            text-align: center;
        }

        .resp-table td>div {

            width: 100%;
        }
    }

    @media (max-width: 549.98px) {
        .resp-table td:not(.first-col) {
            flex: 0 0 100%;
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            padding: 5px 10px !important;
            border-bottom: 1px dotted #e5e5e5 !important;
        }

        .resp-table td:last-child {
            border-bottom: none !important;
        }

        .resp-table td[data-label]::before {
            margin-right: 1rem;
            text-align: left;
        }

        .resp-table td>div {
            text-align: right !important;
        }

        .resp-table td.first-col>div>div {
            text-align: left !important;
        }
    }

    body .di-table tfoot.subtotal td {
        border: none !important;
    }

    .resp-table td.first-col>div {
        text-align: left;
        width: 100%;
    }

    .resp-table td[data-label]::before {
        content: attr(data-label);
        font-weight: 600;
        color: #6c757d;
        font-size: 13px;
    }
}