html {
  height: 100%;
}

body {
  height: 100%;
  box-sizing: border-box;
  padding: 40px 0;
  background-color: #1f1f21;
}

body, input, button, select, textarea {
  font-family: 'Open Sans', sans-serif;
}

.navbar .brand.link-back {
  padding: 12px 15px 10px 15px;
}

.navbar .brand {
  padding: 5px 15px 5px 10px;
  margin-left: 10px;
}

.navbar .brand + .brand {
  margin-left: 0;
}

.dashboard-logo {
  height: 32px;
}

.vertical-alignment-helper {
  display:table;
  height: 100%;
  width: 100%;
}

.vertical-align-center {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.page-content-wrapper {
  padding: 10px 0;
  max-width: 500px;
  width: 100%;
  text-align: center;
  display: inline-block;
  margin-bottom: 20px;
}

.page-content-wrapper .well {
  vertical-align: middle;
}

.page-content-wrapper form {
  margin-bottom: 0;
}

.page-content-wrapper form legend {
  text-align: center;
}

.firefox .page-content-wrapper form fieldset {
  display: table-column; /* FIX: Firefox */
}

.page-content-wrapper form legend img {
  margin-bottom: 20px;
}

.page-content-wrapper .panel-device .btn-group .btn {
  padding: 12px 10px 8px 10px;
  width: 100px;
}

.page-content-wrapper .panel-login {
  margin-top: 20px;
}

.page-content-wrapper .control-group {
  margin-top: 0;
}

.page-content-wrapper .control-group + .control-group {
  margin-top: 20px;
  margin-bottom: 0;
}

.page-content-wrapper .input-prepend.input-block-level > input {
  height: 40px;
}

.page-content-wrapper .control-group a:hover {
  text-decoration: none;
}

.page-content-wrapper .form-actions {
  margin-bottom: 0;
  padding: 20px 0 0 0;
}

.page-content-wrapper .btn-group .btn.active,
.page-content-wrapper .form-actions .btn-primary {
  color: #fff;
  background-color: #0088CC;
  background-image: none;
}

@media (max-width: 979px) {
  .page-content-wrapper {
    margin: 10px 0 30px 0;
    width: auto;
  }
}

@media (max-width: 797px) {
  .navbar .brand {
    margin-left: 20px;
  }
}

@media (orientation: landscape) and (max-height: 213px) {
  .visible-palm {
    display: block !important;
  }

  .hidden-palm-landscape {
    display: none !important;
  }
}

@media (min-width: 481px) {
  .hidden-tablet-landscape {
    display: none !important;
  }

  .hidden-phone-landscape {
    display: none !important;
  }

  .navbar-fixed-top .hidden-phone-landscape ~ .nav.pull-right {
    margin-right: 15px;
  }
}

@media (max-width: 480px) {
  .page-content-wrapper {
    display: block;
    padding: 10px;
    margin: 10px 0 30px 0;
  }

  .hidden-phone-landscape {
    display: none !important;
  }

  .navbar-fixed-top .hidden-phone-landscape ~ .nav.pull-right {
    margin-right: 15px;
  }

  .navbar-fixed-top .link-back ~ .nav.pull-right {
    margin: 0;
  }
}

@media (max-width: 384px) {
  .page-content-wrapper .panel-device .btn-group .btn {
    padding: 10px 8px 6px 8px;
    width: 75px;
  }

  .page-content-wrapper .panel-device .btn-group .btn .icon-4x {
    font-size: 3em;
  }

  .hidden-phone-portrait {
    display: none !important;
  }

  .visible-phone-portrait {
    display: block !important;
  }
}

@media (max-width: 320px) {
  .page-content-wrapper .panel-device .btn-group .btn {
    padding: 8px 6px 5px 6px;
    width: 50px;
  }

  .page-content-wrapper .panel-device .btn-group .btn .icon-4x {
    font-size: 2em;
  }

  .hidden-phone-portrait {
    display: none !important;
  }

  .hidden-palm-landscape {
    display: block !important;
  }

  .hidden-palm {
    display: none !important;
  }
}

@media (max-width: 213px) {
  .hidden-palm {
    display: none !important;
  }

  .page-content-wrapper .well {
    padding: 10px 5px;
  }

  .hidden-phone-portrait {
    display: none !important;
  }

  .navbar .brand {
    padding: 5px 8px;
  }
}
