@media (max-width: 600px) {
    .bpmto_ms table {
        table-layout: fixed;
        width: 100%;
    }

    .bpmto_ms table td {
        word-wrap: break-word;
    }

    .bpmto_ms .record td.record__cell__key {
        width: 100px;
        border-top: solid 1px #DDD;
        border-bottom: solid 1px #DDD;
    }
}

.bpmto_ms .maintable td {
    width:12.5%;
    white-space: nowrap;
}

.zci--answer .bpmto_ms .zci__more-at {
    padding-top: 0;
}

.bpmto_ms .record > td {
    padding: 0.4em;
    padding-left: 0;
    border-top: solid 1px #DDD;
    border-bottom: 0;
}

.zci.zci--answer {
    padding-bottom: 0.5em;
}

.bpmto_ms .record .numbers {
    text-align: right;
}

.bpmto_ms .record .record__cell__key {
    text-transform: capitalize;
    width: 150px;
}
@media (max-width: 300px) {    
    .bpmto_ms table td {
        word-wrap: break-word;
    }
}

@media (min-width: 400px) {
    .bpmto_ms table {
        table-layout: fixed;
        width: 100%;
    }

    .bpmto_ms table td {
        word-wrap: break-word;
    }
}

.bpmto_ms .maintable td {
    width:12.5%;
    white-space: nowrap;
}

.zci--answer .bpmto_ms .zci__more-at {
    padding-top: 0;
}

.bpmto_ms .record > td {
    padding: 0.4em;
    padding-left: 0;
    border-top: solid 1px #DDD;
    border-bottom: 0;
}

.zci.zci--answer {
    padding-bottom: 0.5em;
}

.bpmto_ms .record .numbers {
    text-align: right;
}

.bpmto_ms .record .record__cell__key {
    text-transform: capitalize;
    width: 150px;
}

Improve Table CSS for mobile displays
Improve Table CSS for mobile displays