@media screen and (max-width: 768px) {
  .table-responsive-stack,
  .table-responsive-stack thead,
  .table-responsive-stack tbody,
  .table-responsive-stack tfoot,
  .table-responsive-stack caption {
    display: block;
  }

  .table-responsive-stack thead {
    display: none;
  }

  .table-responsive-stack tr {
    display: flex;
    flex-direction: column;
  }
  .table-responsive-stack th,
  .table-responsive-stack td {
    width: 100% !important;
    border-color: inherit !important;
  }
  .table-responsive-stack th[data-header]:before,
  .table-responsive-stack td[data-header]:before {
    display: block;
    content: attr(data-header);
    font-weight: bold;
    background: #333;
    color: #fff;
    width: fit-content;
    padding: 3px 0.5rem;
    margin: -0.5rem 0 0.5rem -0.5rem;
  }
}

.required:after {
  content: "*";
  color: rgb(202, 54, 54);
}
