.table-container {
  background-color: #FFF;
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 12px 1px rgba(0, 0, 0, 0.3);
  color: #333;
  padding: 1rem 1.5rem;
  width: 90%;
}
@media only screen and (min-width: 801px) {
  .table-container {
    width: auto;
  }
}

h1 {
  font-weight: 100;
}

table {
  border: 1px solid #333;
  border-collapse: collapse;
}

thead {
  border-bottom: 1px solid #CCC;
}

thead tr {
  background-color: #F2F2F2;
}

th,
td {
  border: 1px solid #F2F2F2;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0.5rem 1rem;
}

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

  thead tr {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  tr + tr {
    margin-top: 2rem;
  }
  tr::after {
    clear: both;
    content: "";
    display: table;
  }

  td {
    border: none;
    border-bottom: 1px solid #DDD;
    float: right;
    width: 100%;
  }
  td::before {
    content: attr(data-column-label);
    display: inline-block;
    font-weight: 600;
    padding-right: 10px;
    width: calc(50% - 10px);
  }
  td span {
    display: block;
    float: right;
    width: 50%;
  }
}
