@media only screen and (max-width: 800px) {
  .table-responsive table,
  .table-responsive thead,
  .table-responsive tbody,
  .table-responsive th,
  .table-responsive td,
  .table-responsive tr {
    display: block;
  }

  .table-responsive thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .table-responsive tr {
    border: 1px solid #ccc;
  }

  .table-responsive td {
    position: relative;
    padding-left: 50%;
    text-align: left;
    white-space: normal;
  }

  .table-responsive td::before {
    position: absolute;
    top: 6px;
    left: 6px;
    width: 45%;
    padding-right: 10px;
    text-align: left;
    white-space: nowrap;
    font-weight: bold;
  }

  label.visually-hidden {
    display: inline-block;
    overflow: initial !important;
    width: auto !important;
    height: auto !important;
    margin: initial !important;
    margin-bottom: 0 !important;
    padding-top: 0.375rem !important;
    padding-bottom: 0.375rem !important;
    font-size: inherit;
    font-weight: bold;
    line-height: 1.5;
  }

  label.visually-hidden-focusable:not(:focus, :focus-within, caption),
  label.visually-hidden:not(caption) {
    position: initial !important;
  }
}
