html,
body {
    height: 100%;
}

.wrap {
    min-height: 100%;
    height: auto;
    margin: 0 auto -60px;
    padding: 0 0 60px;
}

.wrap > .container {
    padding: 70px 15px 20px;
}

.footer {
    height: 60px;
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    padding-top: 20px;
}

.jumbotron {
    text-align: center;
    background-color: transparent;
}

.jumbotron .btn {
    font-size: 21px;
    padding: 14px 24px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    padding-left: 5px;
}

a.asc:after {
    content: /*"\e113"*/ "\e151";
}

a.desc:after {
    content: /*"\e114"*/ "\e152";
}

.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

#header, #header.sticky #nav-wrap {
    background-color: #071f2d;
    background: linear-gradient(top, #071f2d, #030508);
    background: -ms-linear-gradient(top, #071f2d, #030508);
    background: -webkit-gradient(linear, left top, left bottom, from(#071f2d), to(#030508));
    background: -moz-linear-gradient(top, #071f2d, #030508);
}

#header #nav-wrap #nav > li > a {
    border-color: transparent;
}

#header #nav-wrap #nav > li > a:hover {
    border-color: #030508;
}

.p-1 {
    padding: .25rem !important;
}

.p-2 {
    padding: .5rem !important;
}

.p-3 {
    padding: 1rem !important;
}

.p-4 {
    padding: 1.5rem !important;
}

.p-5 {
    padding: 3rem !important;
}

a, a:visited {
    color: #e84c3d;
    text-decoration: none;
}

.card {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: .25rem;
}

.card-header:first-child {
    border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0;
}

.card-header {
    padding: .75rem 1.25rem;
    margin-bottom: 0;
    background-color: rgba(0,0,0,.03);
    border-bottom: 1px solid rgba(0,0,0,.125);
}

.card-body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 1px;
    padding: 1.25rem;
}

.card-title {
    margin-bottom: .75rem;
}

.card-subtitle {
    margin-top: -.375rem;
    margin-bottom: 0;
}

.card-footer:last-child {
    border-radius: 0 0 calc(.25rem - 1px) calc(.25rem - 1px);
}

.card-footer {
    padding: .75rem 1.25rem;
    background-color: rgba(0,0,0,.03);
    border-top: 1px solid rgba(0,0,0,.125);
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-1 {
    margin-bottom: .25rem !important;
}

.mb-2 {
    margin-bottom: .5rem !important;
}

.mb-3 {
    margin-bottom: 1rem !important;
}

.mb-4 {
    margin-bottom: 1.5rem !important;
}

.mb-5 {
    margin-bottom: 3rem !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-1 {
    margin-top: .25rem !important;
}

.mt-2 {
    margin-top: .5rem !important;
}

.mt-3 {
    margin-top: 1rem !important;
}

.mt-4 {
    margin-top: 1.5rem !important;
}

.mt-5 {
    margin-top: 3rem !important;
}

.ml-0 {
    margin-left: 0 !important;
}

.ml-1 {
    margin-left: .25rem !important;
}

.ml-2 {
    margin-left: .5rem !important;
}

.ml-3 {
    margin-left: 1rem !important;
}

.ml-4 {
    margin-left: 1.5rem !important;
}

.ml-5 {
    margin-left: 3rem !important;
}

.mr-0 {
    margin-right: 0 !important;
}

.mr-1 {
    margin-right: .25rem !important;
}

.mr-2 {
    margin-right: .5rem !important;
}

.mr-3 {
    margin-right: 1rem !important;
}

.mr-4 {
    margin-right: 1.5rem !important;
}

.mr-5 {
    margin-right: 3rem !important;
}

.text-white {
    color: white !important;
}

.badge-success {
    color: #fff;
    background-color: #0abb87;
}

.badge-secondary {
    color: #fff;
    background-color: #6c757d;
}

.badge-danger {
    color: #fff;
    background-color: #dc3545;
}

.badge-info {
    color: #fff;
    background-color: #17a2b8;
}

.badge-warning {
    color: #212529 !important;
    background-color: #ffc107;
}

.badge-light {
    color: #212529 !important;
    background-color: #f8f9fa;
}

.badge-dark {
    color: #fff;
    background-color: #343a40;
}

.badge-primary {
    color: #fff;
    background-color: #007bff;
}

.badge-purple {
    color: #fff;
    background-color: #7952b3
}

.badge-orange {
    color: #fff;
    background-color: #fb5607
}

.qf-quest_ribbon {
    padding: 1rem 1.25rem;
    background-color: transparent;
}

.qf-quest_ribbon.qf-quest_ribbon--img {
    padding: 0 !important;
}

.qf-ribbon--success .qf-ribbon__target {
    background-color: #0abb87 !important;
    color: #fff;
}

.qf-ribbon--orange .qf-ribbon__target {
    background-color: #fb5607 !important;
    color: #fff;
}

.qf-ribbon--purple .qf-ribbon__target {
    background-color: #7952b3 !important;
    color: #fff;
}

.qf-ribbon--primary .qf-ribbon__target {
    background-color: #007bff !important;
    color: #fff;
}

.qf-ribbon--info .qf-ribbon__target {
    background-color: #17a2b8 !important;
    color: #fff;
}

.qf-ribbon--danger .qf-ribbon__target {
    background-color: #dc3545 !important;
    color: #fff;
}

.qf-ribbon--light .qf-ribbon__target {
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

.qf-ribbon--secondary .qf-ribbon__target {
    background-color: #6c757d !important;
    color: #fff;
}

.qf-ribbon--warning .qf-ribbon__target {
    background-color: #ffc107 !important;
    color: #212529 !important;
}

.qf-ribbon .qf-ribbon__target {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px 10px;
    position: absolute;
    z-index: 1;
    background-color: #6f42c1;
    color: #fff;
}

.d-flex {
    display: -ms-flexbox !important;
    display: flex !important;
}

.flex-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
}

.justify-content-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
}

.justify-content-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

.justify-content-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
}

.justify-content-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}

.justify-content-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
}

.align-items-center {
    -ms-flex-align: center !important;
    align-items: center !important;
}

.flex-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
}

.mr-1 {
    margin-right: .25rem !important;
}

.ml-1 {
    margin-left: .25rem !important;
}

.mr-2 {
    margin-right: .5rem !important;
}

.ml-2 {
    margin-left: .5rem !important;
}

.card-action {
    position: absolute;
    right: 0;
    margin-right: 5px;
    margin-top: 5px;
}

.card-action.text-danger i {
    color: #e84c3d !important;
}

.card-action i {
    display: inline-block;
    border-radius: 50%;
    box-shadow: 0px 0px 2px #888;
    padding: 0.5em 0.6em;
    color: #666666;
}

.border-top {
    border-top: 1px solid rgba(0,0,0,.125);
}

.bootstrap-touchspin input {
    border: 1px solid #ccc;
    min-height: 34px;
    box-shadow: none;
}

.bootstrap-touchspin input:focus {
    box-shadow: none;
}

.btn.btn-danger {
    background-color: #d9534f;
    color: white !important;
    border-color: #d43f3a;
}

.btn.btn-primary {
    background-color: #337ab7;
    color: white !important;
    border-color: #2e6da4;
}

.viewer img:hover {
    cursor: zoom-in;
}

.viewer-backdrop {
    z-index: 800000000 !important;
}

@media only screen and (max-width: 959px) {
    #nav {
        z-index: 20000;
        padding-left: 0;
    }

    #nav li {
        margin-left: 0;
    }

    #header #nav-wrap #nav > li > a:hover, #header #nav-wrap #nav > li > a:focus {
        background-color: #07689f;
        color: #fff !important;
        box-shadow: none;
        padding-left: 10px;
    }

    #header #nav-wrap #nav > li > a {
        padding-left: 10px;
    }
}

.table-bordered > thead > tr > th, .table-bordered > thead > tr > td {
    border-bottom-width: 1px;
}

.table.table-blue-gradients thead tr:not(.filters) {
    color: white;
    background: #396afc;  /* fallback for old browsers */
    background: -webkit-linear-gradient(to left, #2948ff, #396afc);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to left, #2948ff, #396afc); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.table.table-blue-gradients thead tr:not(.filters) th a {
    color: white;
}

.form-control {
    box-shadow: none;
}

.grid-view .pagination {
    margin-top: 0;
}

.pagination > .active > a {
    background-color: #396afc;
    border-color: #396afc;
}

.pagination > .active > a:hover {
    background-color: #2948ff;
    border-color: #2948ff;
}

@media only screen and (max-width: 767px) {
    .table-responsive {
        border: 0;
    }
}

.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
    background-color: #e9ecef;
    border-color: #ced4da;
}

input[type="text"]:hover, input[type="password"]:hover, input[type="email"]:hover, textarea:hover {
    border-color: #ccc;
}

.border-0 {
    border: 0 !important;
}

a.asc::after, a.desc::after {
    content: "";
}

.table a {
    text-decoration: none;
}