.redirect-page {
  margin: 2em;
}
.alert {
  max-width: 750px;
  text-align: center;
  margin: 0 auto 20px;
}

.footer {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

body {
  display: flex;
  min-height: 100vh;
  justify-content: center;
  align-items: flex-start;
}

#site-container {
  display: flex;
  width: 100%;
  margin-top: 5vh;
}

.popover-title {
  color: #0187c5;
  font-weight: bold;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1010;
  max-width: 400px;
  padding: 1px;
  text-align: left;
  white-space: normal;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}

.popover .popover-header {
  background-color: transparent;
  font-weight: bold;
  border-bottom: none;
  color: #0f4beb;
  font-size: 1.3rem;
}

input.btn-submit {
  width: 50%;
  font-size: 1.5em;
  height: 1.8em;
  display: inline-block;
  cursor: pointer;
  margin: 0 2px;
  text-align: center;
  box-sizing: content-box;
  line-height: 24px;
}
.redirect-page input.btn-submit {
  font-size: 1.2em;
}

.input-wrap {
  position: relative;
  margin-bottom: 1.9rem;
  left: 0;
  top: 0;
}

.username-tip {
  position: absolute;
  right: 1rem;
  line-height: 5rem;
  font-size: 1.735rem;
  text-decoration: none !important;
  font-weight: bold;
  cursor: help;
  display: block;
  width: 2rem;
}

.alt-account {
  display: block;
  color: #8f8f8f;
  font-weight: normal;
  text-align: center;
}

.textbox-label {
  color: #999;
}

.lib-logo {
  display: block;
}

.header-logo {
  margin: auto;
  padding: 20px 0;
  display: block;
  text-align: center;
}

.header-logo a img {
  width: 240px;
  height: 58px;
}

.header-logo h3 {
  color: #999;
  margin-bottom: 0;
  font-size: 2.35rem;
}

.nudge-down {
  margin-top: 3px;
}

.form-element-margin {
  margin-top: 20px;
  margin-bottom: 20px;
}

.row.btn-row {
  text-align: center;
}

input.checkbox {
  margin-top: 4px;
  margin-bottom: 4px;
}

.remember-me-label {
  color: #999;
}

.alternate-login {
  margin-top: 10px;
  text-align: center;
}

.horizontal-logos {
  display: inline-block;
  text-align: center;
  margin-left: 15px;
  margin-right: 15px;
  opacity: 0.8;
}

.horizontal-logos:hover {
  opacity: 1;
}

.inline-centered {
  display: inline-block;
  text-align: center;
}

input.btn-submit {
  width: 100%;
  padding: 0px;
  margin: 0px;
}

.hidden {
  display: none;
}

.login-box {
  margin: 0 auto 30px;
  max-width: 450px;
}

.login-box .form-control {
  border: 2px solid #ddd;
  padding: 0 3rem 0 0.5625rem;
  height: 5rem;
  text-indent: 0.5625rem;
  max-width: 100%;
  font-size: 1.735rem;
}

.navbar-inner {
  padding: 0px 20px;
}

.line {
  border-top: 2px solid lightgrey;
  width: 33%;
  position: absolute;
  top: 12px;
}

.split {
  text-align: center;
  position: relative;
  width: 100%;
  overflow: hidden;
  float: none;
  line-height: 20px;
  font-size: 20px;
  margin-top: 18px;
  margin-bottom: 18px;
}

.flush-left {
  left: 0;
}

.flush-right {
  right: 0;
}

.checkbox {
  position: relative;
}

.checkbox label {
  line-height: 1.5rem;
  display: inline-flex;
  position: relative;
  top: -0.2rem;
  padding-left: 0.5rem;
  color: #ddd;
}

.checkbox [type="checkbox"] {
  font-size: 1rem;
  line-height: 1.5rem;
  border: 2px solid #ddd;
  width: 1.4rem;
  height: 1.4rem;
  min-width: 1.4rem;
  min-height: 1.4rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.checkbox [type="checkbox"]:focus {
  border: 2px solid #767676;
  outline: none;
}

.checkbox [type="checkbox"]:checked,
.checkbox [type="checkbox"]:active {
  background: #fff
    url("data:image/svg+xml;charset=utf8,%3Csvg width%3D'10' height%3D'10' viewBox%3D'0 0 10 10' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Ctitle%3Echeckmark%3C%2Ftitle%3E%3Cpath d%3D'M8.319 2.628l-.427-.323-.37-.28-.008-.005a.125.125 0 0 0-.167.028l-.125.165-.48.632-.006.012L4.324 6.06a.087.087 0 0 1-.051.02.087.087 0 0 1-.061-.025l-.587-.779-.305-.405-.297-.393a.125.125 0 0 0-.175-.025l-.798.602a.126.126 0 0 0-.025.175l.305.404.008.01.013.018.018.024.022.03.027.035.03.041.036.047.038.05.042.056.044.06.048.062.05.067.053.07.054.072.057.075.058.077.06.08.06.08.06.08.063.083.063.083.062.083.125.165.06.082.06.08.06.08.115.152c.02.024.037.048.056.072l.052.07.05.067.048.063.045.06.042.055.038.05.035.047.058.077.022.03.018.024c.012.015.022.033.038.045a.083.083 0 0 0 .096.007c.017-.01.026-.027.038-.042l3.867-5.135s.124-.163.125-.166a.125.125 0 0 0-.025-.172' fill%3D'%232040EB'%2F%3E%3C%2Fsvg%3E")
    no-repeat center;
  background-size: contain;
}

.btn.login {
  height: 5rem;
  font-size: 2rem;
}

.tc {
  font-size: 0.9rem;
}

@media only screen and (max-device-width: 480px) {
  .inner-box {
    margin: 10px 15px !important;
  }

  .header-logo {
    margin: 5px auto !important;
  }

  .header-logo a img {
    width: 167px;
    height: 65px;
  }

  .login-box {
    margin-bottom: 5px !important;
  }

  .username-tip {
    display: none !important;
  }

  .split {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
}
