/* html elements */
html, body { 
  margin: 0;
  padding: 0;
}
html {
  position: relative;
  min-height: 100%;
}
body { 
  font: normal normal 300 16px/1.7 'Source Sans Pro', sans-serif;
  font-style: normal;
  font-weight: 300;
  color: #333;
}
a,
a:active,
a:visited {
  color: #333;
}
a:hover {
  color: rgb(85, 65, 109);
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border: 0;
}
p { margin: 0 0 1.313em; }
label { font-weight: 300; }

/* Structure */
.container { margin: 0 auto; }
.container.max { max-width: 1200px; }
.container.width { width: 88%; }

/* Navbar */
.navbar {
  border-bottom: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 0.15em 0.35em 0 rgba(0,0,0,0.135);
}
.navbar .container { position: relative; }
.navbar-inner { min-height: 80px; }
.brand { 
  display: inline-block;
  margin-top: 10px;
}
.brand img { width: 150px; }

/* Form */
.form-row { 
  margin-top: 10%;
  margin-bottom: 10%;
}
.alert + .form-row { margin-top: 5%; }
h1.h1-xs { 
  font-size: 18px;
  margin-top: 10px;
  margin-bottom: 20px;
  text-align: center;
}
a.btn-primary { color: #fff; }
.btn-primary { 
  background-color: rgb(110,90,133);
  border-color: rgb(110,90,133);
}
.btn-primary:hover {
  background-color: rgb(85, 65, 109);
  border-color: rgb(85, 65, 109);
}

/* Links */
.reset-password { text-align: right; }
.reset-password a {
  color: rgb(110,90,133);
  font-size: 14px;
  line-height: 1.42857143;
}
.reset-password a:hover { color: rgb(85, 65, 109); }

/* Sticky footer */
.colophon {
  position: absolute;
  bottom: 0;
  width: 100%;  
  background-color: #fff;
  border-top: 1px solid #d4d4d4;
  box-shadow: 0 -0.15em 0.35em 0 rgba(0,0,0,0.135);
  padding: 20px 0;
}
.colophon p:last-child { margin-bottom: 0; }
.colophon .social-icons { text-align: left; }
.colophon a:hover { text-decoration: none; }
.colophon a.facebook { color: #3b5998; font-size: 36px; }
.colophon a.twitter { color: #00aced; font-size: 36px; }
.colophon a.linkedin { color: #517fa4; font-size: 36px; }

/* Helpers */
.visually-hidden {
  overflow: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
}

/* Mobile Sticky footer */
body { margin-bottom: 210px; }
.colophon { height: 210px; }

/* Mobile devices with 320px width screen */
@media (max-width: 320px) {
  #form_login { margin-top: initial; }
}

@media (min-width: 768px) {
  #form_login { margin: 0 auto; }
  h1.h1-md { 
    font-size: 24px;
    margin-bottom: 30px;
  }

  /* Desktop sticky footer */
  body { margin-bottom: 100px; }
  .colophon { height: 100px; }
}
