:root {
  --raisin: rgb(35, 31, 32);
  --raisin_ligtest: #d1d0d0;
  --blue_picton: rgb(68, 178, 229);
}

body,
div,
form,
img,
input,
p {
 box-sizing: border-box;
}

body {
	background-color: #3D5966;
	font-family: Verdana, Arial, sans-serif;
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
}

#logo {
 display: block;
 padding: 10px;
 box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
 width: 100%;
 max-width: 300px;
 background-color: #fff;
 border-radius: 5px;
}

#login-form,
#password-reset-form {
  padding: 50px;
  background-color: var(--raisin_ligtest);
  border-radius: 5px;
  text-align: center;
  width: 100%;
  max-width: 400px;
  margin: 10px auto;
  box-shadow:
    0 1px 5px rgba(0, 0, 0, .75),
    0 0 100px 250px rgba(255, 255, 255, .05);
}

#login-form input,
#login-form .submit,
#password-reset-form input {
 display: block;
 width: 100%;
 font-size: 15pt;
 letter-spacing: .1em;
 padding: 10px 20px;
}

#login-form input:focus,
#password-reset-form input:focus {
  outline: solid 1px var(--blue_picton);
}

.submit {
 color: #fff;
 text-shadow: 0 1px 2px rgba(0, 0, 0, .5);
 background-color: var(--blue_picton);
 border: solid 1px var(--blue_picton);
 border-radius: 3px;
 box-shadow: 0 -25px 25px rgba(0, 0, 0, .2) inset;
 text-decoration:none;
}

.message {
  max-width: 400px;
  margin: 20px auto;
  padding: 10px;
  border: solid 1px #fff;
  border-radius: 5px;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .5);
  box-shadow:
    0 -5px 25px rgba(0, 0, 0, .2) inset,
    0 1px 5px rgba(0, 0, 0, .5);
}

.info {
  background-color: var(--raisin);
}

.alert, .warning {
  background-color: #c8a23a;
 }

.failure, .error {
 background-color: #ab1c1c;
}

.hidden {
  visibility: hidden;
}

.forgot-password {
  padding: 5px 0px 0px 0px;
}

#field-login input,
#field-password input,
#field-password1 input,
#field-password2 input,
#field-email input {
	color: #666;
	border-radius: 5px;
	border: solid 1px #ccc;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .2) inset;
}

#field-login,
#field-email {
	margin: 20px 0 5px 0;
}

.error-message {
	color: #ab1c1c;
	font-size: 12px;
	margin-top: 5px;
	text-align: left;
	padding: 5px;
	background-color: rgba(171, 28, 28, 0.1);
	border-radius: 3px;
}

.field.error input {
	border-color: #ab1c1c;
	border-width: 2px;
}

.divider {
  display: flex;
  align-items: center;
  text-align: center;
  margin: 16px 0;
  color: #6b7280; /* neutral gray */
  font-size: 14px;
  font-weight: 500;
}

.divider::before,
.divider::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid #e5e7eb; /* light gray line */
}

.divider::before {
  margin-right: 12px;
}

.divider::after {
  margin-left: 12px;
}
