html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

/* Reset margins and paddings on most elements */
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
p,
pre,
blockquote,
figure,
hr {
  margin: 0;
  padding: 0;
}

body {
  font-family: Roboto;
  padding: 10px;
  background: linear-gradient(45deg, #8bc2f1, #908e92f0);
  display: flex;
  flex-direction: column;
  position: relative;
}

.title {
  text-align: center;
  color: #ffffff;
  margin-bottom: 30px;
}

.form {
  display: flex;
  flex-direction: column;
  max-width: 358px;
  margin: auto;
  min-width: 358px;
  color: white;
}

.form .hidden {
  display: none;
}

label {
  margin-bottom: 6px;
  text-align: center;
}

input {
  margin-bottom: 20px;
  padding: 10px;
  border: transparent;
  border-bottom: 1px solid #0000007d;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}

input[type="submit"] {
  background-color: #55608f;
  color: white;
  border: none;
  border-radius: 3px;
  font-weight: bold;
  font-size: 16px;
  padding: 10px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}

input[type="submit"]:hover {
  transform: scale(1.04);
}

.error {
  color: red;
}

.box__wrapper {
  display: flex;
  justify-content: space-around;
  margin-bottom: 75px;
}

.box {
  min-width: 290px;
  height: 130px;
  padding: 10px;
  border-radius: 4px;
  background-color: rgba(255, 255, 255, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 27px;
  box-shadow: 0 0 20px 3px rgba(0, 0, 0, 0.1);
}

.box p {
  font-size: 16px;
  color: #55608f;
}

.table {
  flex: 1;
}

.grid__wrapper {
  max-width: 1300px;
  margin: 0 auto;
  color: #ffffff;
}

.grid > span:not(.head__acw) {
  padding: 15px;
}

.grid > span:nth-child(3n) {
  border-right: 1px solid white;
}

.grid > span:nth-child(9n) {
  border-right: none;
}

.grid__main-header > span,
.head {
  background-color: #55608f;
}

.head__acw {
  padding: 15px 4px;
  text-align: center;
}
.grid > .data {
  background-color: rgba(255, 255, 255, 0.2);
}

.grid {
  display: grid;
  grid-template-columns: 1fr 0.5fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  overflow: hidden;
}

table {
  max-width: 1300px;
  border-collapse: collapse;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  margin: 0 auto;
}

th,
td {
  background-color: rgba(255, 255, 255, 0.2);
  padding: 15px;
  color: #fff;
}
th {
  text-align: left;
}
thead th {
  background-color: #55608f;
}
tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
tbody td {
  position: relative;
}
tbody td:hover:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -9999px;
  bottom: -9999px;
  background-color: rgba(255, 255, 255, 0.2);
  z-index: -1;
}

/* Loading indicator */

.hidden {
  display: none;
}

.lds-roller {
  display: none;
  position: relative;
  width: 64px;
  height: 64px;
  position: absolute;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
}
.lds-roller div {
  animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 32px 32px;
}
.lds-roller div:after {
  content: " ";
  display: block;
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffffff;
  margin: -3px 0 0 -3px;
}
.lds-roller div:nth-child(1) {
  animation-delay: -0.036s;
}
.lds-roller div:nth-child(1):after {
  top: 50px;
  left: 50px;
}
.lds-roller div:nth-child(2) {
  animation-delay: -0.072s;
}
.lds-roller div:nth-child(2):after {
  top: 54px;
  left: 45px;
}
.lds-roller div:nth-child(3) {
  animation-delay: -0.108s;
}
.lds-roller div:nth-child(3):after {
  top: 57px;
  left: 39px;
}
.lds-roller div:nth-child(4) {
  animation-delay: -0.144s;
}
.lds-roller div:nth-child(4):after {
  top: 58px;
  left: 32px;
}
.lds-roller div:nth-child(5) {
  animation-delay: -0.18s;
}
.lds-roller div:nth-child(5):after {
  top: 57px;
  left: 25px;
}
.lds-roller div:nth-child(6) {
  animation-delay: -0.216s;
}
.lds-roller div:nth-child(6):after {
  top: 54px;
  left: 19px;
}
.lds-roller div:nth-child(7) {
  animation-delay: -0.252s;
}
.lds-roller div:nth-child(7):after {
  top: 50px;
  left: 14px;
}
.lds-roller div:nth-child(8) {
  animation-delay: -0.288s;
}
.lds-roller div:nth-child(8):after {
  top: 45px;
  left: 10px;
}
@keyframes lds-roller {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.loader {
  display: block;
}
