html, body  {
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: #B5B5B5;
  font-family: Tahoma, Geneva, sans-serif;
  font-size: 1em;
  color: rgb(30,30,30);
  text-align: center;
}

form {
  margin: 0;
  padding: 0;
}

table {
  empty-cells: show;
}

a:link, a:visited, a:focus, a:hover, a:active  {
  color: #666c78;
  text-decoration: none;
}
a:focus, a:hover, a:active {
  color: #818998;
}

.pwdfrgtn {
  margin-top: 20px;
  font-size: 0.9em;
  display: inline-block;
}

h1 {
  font-size: 1.2em;
  margin: 0 0 0.4em 0;
  padding: 0;
}

div.login-window   {
  position: relative;
  width: calc( 100% - 20px );
  min-height: calc( 100% - 20px );
  margin: 0;
  padding: 10px;
  background: white;
  text-align: left;
}

input.submit-button, input.submit-button-hover {
  font-family: Tahoma, Geneva, sans-serif;
  width: 100%;
  margin: 0;
  padding: 7px 20px;
  border: 0;
  border-radius: 3px;
  background-color: #3E526D;
  font-size: 16px;
  line-height: 25px;
  color: white;
  vertical-align: middle;
  cursor: pointer;
  box-shadow: 0 2px 1px rgba(0,0,0,0.25);
  outline: none;
}
input.submit-button-hover {
  background-color: #4B6179;
}
input.submit-button-hover:focus, input.submit-button-hover:active, input.submit-button:focus, input.submit-button:active {
  background-color: #3E526D !important;
  box-shadow: 0 0 1px rgba(0,0,0,0.25);
  transform: translate(0,1px);
}

input.text  {
  width: calc( 100% - 22px );
  font-size: 1em;
  line-height: 35px;
  padding: 4px 10px;
  margin-bottom: 7px;
  font-family: Tahoma, Geneva, sans-serif;
  border: 1px solid #CCC;
  border-radius: 3px;
  box-shadow: inset 0 2px 1px rgba(0,0,0,0.05);
  outline: none;
  color: #666;
}
input.text-readonly  {
  width: 215px;
  padding: 2px;
  border-top: 1px solid black;
  border-left: 1px solid black;
  border-right: 1px solid #BCCCCD;
  border-bottom: 1px solid #BCCCCD;
  background-color: #F7F7F7;
}
input::placeholder {
  color: #AAA;
}
input.text::-webkit-input-placeholder {
  color: #AAA;
}
input.text::-ms-input-placeholder {
  color: #AAA;
}

img {
  margin: 0;
}
a img {
  margin: 0;
}

div.login-desc {
  position: relative;
  font-size: 0.9em;
  padding: 0 0 45px 0;
}
div.error {
  position: relative;
  padding: 15px 0 0 0;
  color: red;
}
div.error2 {
  position: relative;
  padding: 0;
  color: red;
}

@media only screen and (min-width: 400px) {
  div.login-window   {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 380px;
    max-width: calc( 100% - 40px );
    min-height: 220px;
    transform: translate( -50%, -50% );
    -webkit-transform: translate( -50%, -50% );
    padding: 20px;
    background: white;
    border-radius: 3px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
    text-align: left;
  }
}
