body {
    padding-top: 90px;
}

body.page-login, body.page-recover {
    padding-top: 0;
}

.login-logo {
    max-width: 290px;
    margin-bottom: 40px;
}
    
.vertical-center {
    min-height: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.progress {
    height: 21px !important;
    margin-bottom: 0;
    margin-top: 5px;
    position: relative;
    background: #FFFFFF;
    border: 1px solid #ccc;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.progress-bar {
    color: #333333;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.progress-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    color: #333333;
    font-size: 12px;
    line-height: 20px;
}

.bright-text {
    color: #FFFFFF !important;
}

.vertical-align {
    display: flex;
    align-items: center;
}

.navbar-brand,
.navbar-nav li a,
.navbar-nav li span.loginuser,
.navbar-nav li form {
    line-height: 70px;
    height: 70px;
    padding-top: 0;
}

.navbar-brand img {
    height: 45px;
}

.pagination-container {
    margin-bottom: 20px;
}

span.loginuser {
    display: inline-block;
}

.navbar-nav li span {
    display: inline-block;
    padding-top: 15px;
    padding-bottom: 15px;
    line-height: 20px;
}

.headerbar, .nocontent {
    border: 1px solid #E4E3E4;
    background-color: #F7F7F7;
    padding: 10px;
    text-align: center;
}

.m-b-20 {
    margin-bottom: 20px;
}

label em {
    font-weight: normal;
}

.nocontent {
    margin-top: 20px;
    padding: 50px 10px 50px 10px;
}

.table-nowrap {
    table-layout:fixed;
}

.table-nowrap td {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

td.nowrap {
    white-space: nowrap;
}

.table > tbody > tr > td {
    vertical-align: middle;
}

.form-signin {
  max-width: 330px;
  padding: 15px;
  margin: 0 auto;
}

.form-signin .form-signin-heading,
.form-signin .checkbox {
  margin-bottom: 10px;
}

.form-signin .checkbox {
  font-weight: normal;
}

.form-signin .form-control {
  position: relative;
  height: auto;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px;
  font-size: 16px;
}

.form-signin .form-control:focus {
  z-index: 2;
}

.form-signin input:first-of-type {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input:last-of-type {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.form-signin input:not(:first-of-type):not(:last-of-type) {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.breadcrumb>li+li:before {
    /*content: "/";*/
    content: "\00BB";
}

.tooltip-inner {
    white-space:pre-wrap;
}

.span-danger, .span-primary, .span-default {
    padding: 5px;
    margin-left: 5px;
    border-radius: 3px;
}

.span-danger {
    background: #AD0008;
    color: #FFFFFF;
}

.span-primary {
    background: #FDB114;
    color: #FFFFFF;
}

.login-container {
    background-color: #F6F6F6;
}

code {
    color: #333333 !important;
    background: none !important;
    padding: 0 !important;
}

@-moz-document url-prefix() {
  .form-control {
    padding-left: 3px;
  }
}

.alert-danger a,
.alert-danger a:active,
.alert-danger a:visited,
.alert-danger a:hover,
.alert-danger a:focus {
    color: inherit;
    text-decoration: underline;
}

.glyphicon-refresh-animate {
    -animation: spin .7s infinite linear;
    -webkit-animation: spin2 .7s infinite linear;
}

@-webkit-keyframes spin2 {
    from { -webkit-transform: rotate(0deg);}
    to { -webkit-transform: rotate(360deg);}
}

@keyframes spin {
    from { transform: scale(1) rotate(0deg);}
    to { transform: scale(1) rotate(360deg);}
}

.is-flex {
    display: flex;
}

.flex-justify-content-center {
    justify-content: center;
}

@media (max-width: 767px) {
    .headerbar {
        padding: 20px;
    }
    #navbar ul.nav li a, #navbar ul.nav li span.loginuser {
        line-height: 40px;
        height: 40px;
    }
}

@media (min-width: 768px) {
    .text-left-sm {
        text-align: left;
    }
    .text-right-sm {
        text-align: right;
    }
    .flex-justify-content-flex-end-sm {
        justify-content: flex-end;
    }
}
