body {
  width: 100vw - 20px;
  min-height: 100vh;
}

.body-container {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.page-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
  position: relative;
}

.form-error {
  width: 100%;
  top: 10px;
  position: absolute !important;
}

.form-error-item {
  margin: 20px;
}

.form-container {
  max-width: 400px !important;
  min-height: 500px;
}

.title {
  margin-bottom: 20px;
}

.login-form .title {
  text-align: center;
  margin-bottom: 20px;
}

.login-form .form-label {
  margin-bottom: 0;
  margin-top: 10px;
}

.login-form .form-link {
  margin-top: 10px;
  text-align: right;
}

.form-button-link {
  width: 100px;
  display: block !important;
  margin: 0 auto;
}

.form-button {
  border-radius: 20px !important;
  background-color: var(--emata-color) !important;
  color: var(--emata-text-color-tertiary) !important;
  display: block !important;
  margin: 0 auto !important;
}

.form-button-secondary {
  border-radius: 20px !important;
  display: block !important;
  margin: 0 auto !important;
  color: var(--emata-color) !important;
  background-color: var(--emata-text-color-tertiary) !important;
  border: 1px solid var(--emata-text-color-secondary) !important;
}

.password-container {
  position: relative;
}

.toggle-password {
  position: absolute;
  right: 12px;
  top: 6px;
  cursor: pointer;
  color: var(--emata-text-color-secondary);
}

.page-header {
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.page-header .logo_image {
  height: 20px;
  margin: 0 10px;
}

.page-header .dropdown button {
  background-color: white;
  border: none;
  color: var(--emata-text-color-secondary);

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  border-radius: 20px;

  padding: 0 10px;
  margin: 0 10px;
}

.page-footer {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.page-footer .links {
  display: flex;
  gap: 10px;
  margin: 0 10px;
}

.page-footer .links .link {
  color: black;
  text-decoration: none;
  white-space: nowrap;
}

.page-footer .copyright {
  color: var(--emata-text-color-secondary);
  margin: 0 10px;
}

/* if mobile device .page-footer then display: block */
@media (max-width: 768px) {
  .page-footer {
    display: block;
  }
  .page-footer .links {
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;

    margin: 10px 10px;
  }
  .page-footer .links .link {
    min-width: 200px;
  }
  .page-footer .copyright {
    margin: 10px 10px;
  }
}
