main {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 100%;
}

main > section {
  width: 100%;
  padding: 10px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.header-logo-container {
  display: none;
}

.logo-container {
  max-width: 375px;
}

.logo {
  width: 330px;
  height: auto;
}

.cat-container {
  width: 80%;
}

.login {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 80%;
}

.login h1 {
  font-size: clamp(3.2rem, 3vw, 4.8rem);
  margin: 10px 0;
}

.login > p {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 14px 0 0px;
}

.login label {
  font-size: var(--font-reg);
  margin-bottom: 6px;
}

.login input {
  font-size: var(--font-l);
  padding: 2px 4px;
}

.login .btn {
  align-self: flex-end;
  margin-right: 0;
  margin-top: 16px;
}

@media only screen and (min-width: 768px) {
  main {
    justify-content: space-around;
  }

  main > section {
    width: 40%;
  }

  .login {
    border: var(--borders);
    padding: 20px;
    border-radius: var(--card-border-radius);
    box-shadow: var(--card-box-shadow);
    width: 100%;
  }

  .logo-container {
    max-width: 520px;
  }
}