/* Login geometry from the supplied saved HTML. Framework styles and artwork
   are the original static assets; no original scripts or remote requests run. */
html, body { height: 100%; }
body { color: #999; background-color: #f1f4fd; background-size: cover; font-size: 14px; line-height: 1.5715; }
a { color: #444; }
.login-screen { max-width: 430px; padding: 0; margin: 100px auto 0 auto; }
.login-screen .well { border-radius: 3px; box-shadow: 0 0 30px rgba(0,0,0,.1); background: #fff; border: none; padding: 0; }
.profile-img-card { width: 100px; height: 100px; display: block; border-radius: 50%; margin: -93px auto 30px; border: 5px solid #fff; }
.profile-name-card { text-align: center; }
.login-head { background: #899fe1; border-radius: 3px 3px 0 0; }
.login-head img { width: 100%; }
.login-form { padding: 40px 30px; position: relative; z-index: 99; }
#login-form { margin-top: 20px; }
#login-form .input-group { margin-bottom: 15px; }
#login-form .form-control { font-size: 13px; }
.checkbox > label { margin-right: 10px; }
.checkbox > label > input { margin-top: 5px; }
#submit, #logout { background: #708eea; }
#submit:hover, #logout:hover { background: #6483df; }
button:focus-visible, input:focus-visible { outline: 2px solid #708eea; outline-offset: 2px; }
[hidden] { display: none !important; }
#error-message { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 1000; max-width: calc(100vw - 40px); padding: 12px 20px; background: #bd362f; color: #fff; border-radius: 3px; box-shadow: 0 0 12px #999; }
#signed-in { text-align: center; margin-top: 20px; min-height: 172px; }
.success-title { font-size: 18px; color: #3c763d; }
#signed-in #logout { margin-top: 26px; }
@media (max-width: 767px) { .login-screen { padding: 0 20px; } }
@media (max-width: 430px) { .container { padding: 0; } .login-screen { margin-top: 60px; } }
