html, body {
    min-height: 100vh;
}
body {
    display: flex;
    flex-direction: column;
}
#content {
    flex: 1;
}
h2 {
    font-weight: normal;
    font-size: 30px;
}
h4 {
    font-weight: normal;
    font-size: 20px;
}
.font-size-875 {
    font-size: .875rem;
}
.title-info-icon {
    width: 13px;
    height: 14px;
}
.tooltip-inner {
    max-width: 660px;
}
.search-filter label {
    margin-bottom: 0;
}
.explanation-text {
    color: rgb(128, 128, 128);
    font-size: 0.9em;
}

/* Header */
#hw-navbar {
    background-color: #012959;
    padding-top: 0;
    padding-bottom: 0;
}
#hw-navbar .navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
    height: 56px;
    line-height: 56px;
}
#hw-logo {
    max-width: 100%;
    max-height: 100%;
    padding-top: 6px;
    padding-bottom: 10px;
}
#hw-navbar .nav-link {
    padding: 0 1rem;
    height: 56px;
    line-height: 56px;
    color: #fff;
}
#hw-navbar .nav-link:hover {
    background-color: #014da3;
}
#hw-navbar .nav-link.active {
    background-color: #01808e;
}
#hw-navbar .dropdown-menu {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    background-color: #012959;
    border: none;
    border-top: 1px solid #fff;
    max-height: calc(100vh - 60px);
    overflow-y: auto;
}
#hw-navbar .dropdown-item {
    border-bottom: 1px solid #fff;
    color: #fff;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
#hw-navbar .dropdown-item:hover {
    background-color: #014da3;
}
#hw-navbar .dropdown-item.active {
    background-color: #01808e;
}
#hw-navbar .navbar-toggler {
    border-color: #fff;
}
#hw-navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Footer */
#page-footer {
    background-color: #012959;
}
#back-to-top-btn {
    font-size: 12px;
}

/* Login */
.login-box {
    padding: 40px;
    border: 2px solid rgb(222, 252, 248);
    background-color: rgba(222, 252, 248, 0.7);
    max-width: 400px;
}
.mvp-entry-box {
    padding: 40px;
    background-color: white;
    max-width: 800px;
}
.mvp-entry-button {
    background-color: #012959;
    border: 0;
}
.mvp-entry-button {
    background-color: #014da3;
}
.large-checkbox {
    height: 20px;
    width: 20px;
}
.hw-img-bg {
    background-image: url("../images/building.jpg");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.signin-btn-container a {
    text-decoration: none;
}
.signin-btn {
    background-color: #fff;
    height: 41px;
    width: 184px;
    font-family: 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: rgb(117, 117, 117);
}
.signin-btn:hover {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
}
.signin-logo {
    margin-right: 12px;
    width: 21px;
    height: 21px;
}

#login-or {
    overflow: hidden;
    text-align: center;
    font-weight: bold;
}
#login-or:before,
#login-or:after {
    background-color: #000;
    content: "";
    display: inline-block;
    height: 1px;
    position: relative;
    vertical-align: middle;
    width: 50%;
}
#login-or:before {
    right: 0.5em;
    margin-left: -50%;
}
#login-or:after {
    left: 0.5em;
    margin-right: -50%;
}

/* Add and change record forms */
.record-form {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}
.btn-container-top {
    margin-top: 20px;
    margin-bottom: 20px;
}
.btn-container-bottom {
    margin-bottom: 20px;
}
.add-btn-container a {
    margin-right: 4px;
}

/* DataTables controls: pagination, filters, info, etc. */
div.dataTables_wrapper div.dataTables_filter,
div.dataTables_wrapper div.dataTables_length,
div.dataTables_wrapper div.dataTables_info {
    text-align: inherit;
}
div.dataTables_wrapper div.dataTables_length label {
    margin-top: 10px;
    margin-bottom: 0;
}
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
    justify-content: flex-start;
}
@media (min-width: 992px) {
    div.dataTables_wrapper div.dataTables_paginate ul.pagination {
        justify-content: flex-end;
    }
}
/* End - DataTables controls

/* Multi-select widget on user side */
.record-form .selector h2 {
    font-size: 1em;
    font-weight: 400;
    margin-bottom: 0;
}
.record-form .selector .selector-available input {
    font-size: 16px;
    padding-left: 10px;
}
.record-form .selector .help-icon {
    display: none;
}
@media (max-width: 767px) {
    .record-form .selector ul.selector-chooser {
        width: 56px;
    }
}

/* Fix field error message not being displayed */
.form-group.is-invalid .invalid-feedback {
    display: block;
}

/* Model detail and edit pages */
.model-container div {
    line-height: 1.5em;
}
.model-container section:not(:last-child) {
    border-bottom: 1px solid #eee;
    margin-bottom: 1em;
}

/* Client pages */
#linkages-id-container {
    display: none;
    margin-bottom: 14px;
}
.linkages-id-field {
    margin-bottom: 0;
}

/* Reports */
@media (max-width: 575px) {
    #financial-report-filter-form .bootstrap-select,
    #financial-report-filter-form #report-btn,
    #rent-register-filter-form .bootstrap-select,
    #rent-register-filter-form #report-btn {
        width: 100%;
    }
}

/* Certification Report */
.status-badge {
    padding: 4px 10px;
    border-radius: 4px;
}

/* Utilities */
.max-width-800 {
    max-width: 800px;
}
.max-width-1000 {
    max-width: 1000px;
}
@media (min-width: 576px) {
    .text-sm-nowrap {
        white-space: nowrap;
    }
}
.form-attachments {
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(0,0,0,0.04);
    border-radius: 10px;
}
.badge-12 {
    font-size: 12px;
}
.badge-11 {
    font-size: 11px;
}
.detail-page-container {
    margin-left: auto;
    margin-right: auto;
    border-radius: 10px;
}
#switch-menu-btn {
    padding: 0 1rem;
    height: 56px;
    line-height: 56px;
    white-space: nowrap;
    color: white;
    background-color: transparent;
    border: none;
}
#switch-menu-btn:hover {
    background-color: #014da3;
}

/* ImageField custom widget */
.client-avatar {
    display: block;
    max-width: 300px;
    margin-bottom: 1em;
}

/* Homepage reports */
@media (min-width: 1200px) {
    #homepage-report-container .col-xl {
        width: 50%;
    }
}

/* Other */
.file-table th,
.file-table td {
    vertical-align: middle;
    white-space: nowrap;
    padding-right: 1em;
}
.status-badge {
    white-space: nowrap;
}
dt {
    display: inline-block;
    font-weight: normal;
    margin-right: 4px;
    vertical-align: top;
}
dt::after {
    content: ":";
}
dd {
    display: inline-block;
    margin-bottom: 0;
}
.locking-form input[type=date] {
    margin-right: 10px;
}
.thead-primary {
    color: white;
    background-color: rgb(1, 41, 89);
}
.snap-table td {
    text-align: center;
}

/* Chevrons */
.chevron-link {
    display: inline-block;
    width: auto;
}
.chevron {
    height: 50px;
}
.chevron-active {
    height: 50px;
    background-position: 0 -50px;
}
.chevron:hover {
    background-position: 0 -50px;
}
#chevron-1 {
    width: 167px;
    background-image: url("../images/chevron-1.png");
    background-size: 167px 100px;
}
#chevron-2 {
    width: 141px;
    background-image: url("../images/chevron-2.png");
    background-size: 141px 100px;
}
#chevron-3 {
    width: 141px;
    background-image: url("../images/chevron-3.png");
    background-size: 141px 100px;
}
#chevron-4 {
    width: 130px;
    background-image: url("../images/chevron-4.png");
    background-size: 130px 100px;
}
#chevron-5 {
    width: 140px;
    background-image: url("../images/chevron-5.png");
    background-size: 140px 100px;
}
#chevron-6 {
    width: 140px;
    background-image: url("../images/chevron-6.png");
    background-size: 140px 100px;
}
#chevron-7 {
    width: 139px;
    background-image: url("../images/chevron-7.png");
    background-size: 139px 100px;
}
#chevron-8 {
    width: 142px;
    background-image: url("../images/chevron-8.png");
    background-size: 142px 100px;
}

/* Multi-Family Utility Allowance */
#mfua-table .form-group {
    margin-bottom: 0;
}

/* Snap poverty guidelines */
.low-income-fields {
    margin: 2.2rem 0;
}
