html, body {
  height: 100%;
}

body {
  background-size: cover;
  display:flex;
  flex-direction:column;
}

main {
  flex-grow: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 40px;
  padding-bottom: 40px;
}

.form-signin {
  width: 100%;
  max-width: 330px;
  padding: 15px;
  margin: auto;

  a { 
    color: inherit; 
    text-decoration: none;
  } 

  .checkbox { font-weight: 400; }
  
  .form-control {
    position: relative;
    box-sizing: border-box;
    height: auto;
    padding: 10px;
    font-size: 16px;
    margin-bottom: -1px;
  }

  .form-control:focus { z-index: 2; }
  .form-control.middle { border-radius: 0; }
  
  .form-control.top {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  
  .form-control.bottom{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}