* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: "Josefin Sans", "Segoe UI", Arial, sans-serif;
  font-size: 80%;
  font-weight: 150;
  line-height: 1.5;
  color: #ffffff;
  background-color: #fffffff;
  min-height: 100%;
  min-height: 100vh;
  position: relative;
}

h4 {
  position: relative;
  padding: 0.5rem 1rem calc(0.5rem + 10px);
  background: #014e9f;
  top: 1.5rem;
  width: 90%;
  margin: auto;
}

h4:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 90%;
  content: '';
  border: 2px solid #464c59;
}
.table-container {
  position: relative;
  top: 4rem;
  width: 100%;
  max-width: 400px;
  min-width: 300px;
  margin: 0 auto 3em;
}
.table-container .inner {
  background-color:  #0161cb;
  border-radius: 0.6em;
  overflow: hidden;
  box-shadow: 1px 2px 2px rgba(0,0,0,0.2);
}
.table-container table {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  background-color: #0161cb;
  overflow: hidden;
}
.table-container table tbody,
.table-container table thead {
  padding: 0 1em;
}
.table-container table tr:not(:last-child) {
  border-bottom: 1px solid #464c59;
}
.table-container tbody tr:hover {
  background-color: rgba(255,255,255,0.1);
}
.table-container thead tr {
  border-bottom: 1px solid #464c59;
}
.table-container thead th {
  padding: 4em 1em 1em;
}
.table-container th,
.table-container td {
  padding: 0.6em 1em;
  word-break: break-all;
}
.table-container.one tr:not(:last-child) {
  border-bottom: 1px solid rgba(255,255,255,0.15);
}
.table-container.one thead tr {
  border-bottom: 1px solid rgba(255,255,255,0.15);
}
.table__caption {
  position: absolute;
  top: -2em;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  margin: 0 auto;
  max-width: 95%;
  margin: 0 auto;
  padding: 0.6em 1em;
  border-radius: 0.6em;
  background-color: #014e9f;
  box-shadow: 0 5px 13px rgba(0,0,0,0.4);
}
.table__header {
  font-family: inherit;
  font-size: 1.25em;
  font-weight: 200;
}
