html, body { width: 100%; height: 100%; }
h1 a { color: inherit; }
h1 a:hover { text-decoration: inherit; color: inherit; }
/*body { font-size: 1.3em; }*/

.main-container { margin: 0; padding: 0; display: table; min-height: 100%; width: 100%; }
.main-container>.row { display: table-row; margin: 0; }
.main-container>.row>* { display: table-cell; vertical-align: top; }

.side-menu { background-color: #2c3e50; width: 10%; min-width: 12em; }
.side-menu .navbar-header { float: none; border-bottom: solid 1px #6F869B; }
.side-menu .navbar-header h1 { margin: 0; }
.side-menu .navbar-header img { margin-right: 0.5em; }
.side-menu .navbar-brand { float: none; height: auto; }
.side-menu .navbar-brand a { color: white; }
.side-menu .navbar { border: none; border-radius: 0; }
.side-menu .navbar-nav { float: none; }
.side-menu .navbar-nav>li { float: none; }
.side-menu .navbar-nav>li>a { padding-top: 0.5em; padding-bottom: 0.5em; }
.side-menu .navbar-collapse { border-top: none; padding: 0; }
.side-menu .divider { border-bottom: solid 1px #6F869B; }

.main-content { padding: 1em; padding-top: 0; overflow: auto; width: 90%; max-width: calc(100% - 12em); }
.main-content h1:first-of-type, .main-content h2:first-of-type { margin-top: 0; }

.top-panel { background-color: #ecf0f1; margin-bottom: 1em; position: relative; }
.top-panel .breadcrumb { margin-bottom: 0; }

.user-panel { padding: 8px 15px; }
.user-panel a { margin-left: 1em; }

.td-shrink { width: 1px; white-space: nowrap; }

.panel-heading h2 { margin-bottom: 0; }

.login { width: 100%; height: 100%; background: #D4D4D4; display: flex; justify-content: center; box-shadow: 0 3px 12px rgba(0, 0, 0, 0.23), 0 3px 12px rgba(0, 0, 0, 0.16); }
.login .panel { width: 100%; max-width: 30em; margin: auto; }
.login .panel h1 { margin: 0; text-align: center; }
.login .panel button { width: 100%; }

.form-group.required>label:after { content: " *"; font-weight: bold; color: #D11D1D; }
.form-group .help-text.required .required-mark { font-weight: bold; color: #D11D1D; }

.form-control.checkbox { border: none; padding: 0; height: auto; }

.input-group.filepicker .input-group-addon { cursor: pointer; }
.input-group.datetimepicker, .input-group.datepicker, .input-group.timepicker { max-width: 15em; }

@media (max-width: 990px) {
    .side-menu { width: 2em; min-width: unset; }
    .main-content { width: auto; }
    .side-menu .navbar-brand { padding: 8px 0; text-align: center; }
    .side-menu .navbar-brand img { margin-right: 0; }
}

@media (max-width: 767px) {
    .main-container { display: block; }
    .main-container>.row { display: block; }
    .main-container>.row>* { display: block; }
    .side-menu { width: auto; max-width: none; min-width: none; }
    .side-menu .navbar-nav { margin: 0; }
    .side-menu .navbar-brand { padding: 19.5px 15px; text-align: left; }
    .main-content { max-width: none; }
}

@media (min-width: 990px) {
    #main-menu .tooltip { display: none !important; }
}

@media (max-width: 767px) {
    #main-menu .tooltip { display: none !important; }
}

a.sorted { display: block; position: relative; padding-right: 1em; color: #2c3e50; text-decoration: none !important; }
a.sorted:active, a.sorted:hover, th a.sorted.sort:active, th a.sorted.sort:hover { background-color: #2c3e50; color: #ffffff; cursor: pointer; }
a.sorted .fa.fa-sort, a.sorted .fa.fa-sort-asc, a.sorted .fa.fa-sort-desc { position: absolute; right: 8px; top: calc(8px + 0.2em); }
a.sorted .fa.fa-sort { color: #b4bcc2; }
th a.sorted { margin: -8px; padding: 8px; padding-right: calc(1em + 8px); }
th a.sorted.sort { background-color: #ecf0f1; }

.text-monospace { font-family: monospace; }

.form-filter { background: #ecf0f1; margin-top: -15px; margin-left: -15px; margin-right: -15px; padding-left: 15px; padding-right: 15px; border-radius: 0; }

#flashed-messages { list-style-type: none; margin: 0; padding: 0.2em 1em 0.5em 1em; background: #ecf0f1; position: absolute; top: 100%; left: 0; right: 0; z-index: 999; box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.2); }
#flashed-messages>li:last-child { margin-bottom: 0; }

@media (min-width: 767px) {
    .form-filter .form-group { margin-right: 2em; }
    .form-filter .form-group:last-of-type { margin-right: 0; }
}

@media print {
    a[href]:after {
        content: none !important;
    }
}

textarea { font-family: monospace; }