/* Floating boxes styling */

[class*="main-floating-box"] {
  background-color: var(--grey-95);
  border-radius: 5px;
  box-shadow: 0px 11px 35px 2px var(--box-shadow-black-60);
  font-family: var(--font-primary);
  left: 50%;
  max-width: 450px;
  min-width: 235px;
  overflow: hidden;
  padding: 24px;
  position: fixed;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 85vw;
}

[class*="main-floating-box"] div,
[class*="main-floating-box"] aside {
  margin-bottom: 12px;
}

[class*="main-floating-box"] #login_form div,
[class*="main-floating-box"] #login_form aside {
  margin-bottom: 4px;
}

[class*="main-floating-box"].red {
  box-shadow: 0px 0px 35px 2px var(--box-shadow-red-60);
}

[class*="main-floating-box"] header {
  border: none;
  background: none;
}

[class*="main-floating-box"] h1 {
  border: none;
  color: #000;
  font-family: var(--font-main-title);
  font-style: italic;
  text-shadow: 1px 1px 4px var(--grey-70);
}

[class*="main-floating-box"] h1 span:last-child {
  color: var(--blue-standard);
}

[class*="main-floating-box"] form {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.main-floating-box--login form::after {
  border-bottom: 1px solid var(--grey-70);
  content: "";
  height: 1px;
  margin: 10px;
  width: 50%;
}

[class*="main-floating-box"] form input {
  border: 1px solid var(--grey-70);
  border-radius: 4px;
  font-family: var(--font-secondary);
  font-size: 1rem;
  margin: 2px;
  padding: 8px 12px;
}

[class*="main-floating-box"] input:focus-visible {
  border: 1px solid var(--blue-standard);
  outline: none;
  box-shadow: 0 0 0 2px var(--box-shadow-blue-15);
}

[class*="main-floating-box"] input[type="checkbox"]:focus-visible {
  box-shadow: 0 0 1px 1px var(--blue-standard);
}

[class*="main-floating-box"] .centered-link {
  text-align: center;
}

[class*="main-floating-box"] .floating-box-title {
  font-size: 2rem;
  margin: 1.2rem 0;
  text-shadow: 1px 1px var(--grey-80);
}

[class*="main-floating-box"] .button,
[class*="main-floating-box"] form .button {
  background-color: var(--grey-90);
  border: solid 1px var(--grey-70);
  box-shadow: 0 2px 7px 2px var(--box-shadow-black-20);
  border-radius: 20px / 50%;
  cursor: pointer;
  display: inline-block;
  font-family: var(--font-primary);
  font-size: 1rem;
  margin: 8px;
  max-width: 260px;
  padding: 4px 12px;
  width: 50vw;
}
[class*="main-floating-box"] .button:hover,
[class*="main-floating-box"] .button:focus,
[class*="main-floating-box"] .button:focus-visible {
  border-color: var(--grey-40);
  box-shadow: 0 0 2px 2px var(--white), 0 2px 7px 2px var(--box-shadow-black-20);
  outline: none;
}

[class*="main-floating-box"] .forgot-password-link {
  color: var(--blue-standard);
  font-size: 0.8rem;
}

/* for small screen login */
@media screen and (max-width: 400px) {
  [class*="main-floating-box"] {
    padding: 8px;
  }

  [class*="main-floating-box"] form input,
  [class*="main-floating-box"] form label {
    padding: 6px;
  }
}

/* for desktop/large screens - floating boxes */
@media screen and (min-width: 500px) {
  [class*="main-floating-box"] {
    border-radius: 20px;
  }
}

/* specific to login/out boxes */
[class*="main-floating-box"] #logout_message {
  margin: 20px auto 0px;
  text-align: center;
}
