/* Application markup compatibility. Bootstrap 5 is the sole Bootstrap CSS. */
.form-group { margin-bottom: 1rem; }
.control-label { margin-bottom: .4rem; font-weight: 600; }
.help-block { display: block; margin: .35rem 0 .6rem; color: #6c757d; font-size: .875em; }
.has-error .help-block, .has-error .control-label, .has-error .form-control-feedback { color: #b02a37; }
.has-error .form-control, .has-error .input-group-addon { border-color: #dc3545; }
.has-success .help-block, .has-success .control-label { color: #146c43; }
.has-success .form-control { border-color: #198754; }
.has-feedback { position: relative; }
.has-feedback .form-control { padding-right: 2.5rem; }
.form-control-feedback { position: absolute; z-index: 2; top: 0; right: 0; display: block; width: 2.5rem; height: 2.5rem; text-align: center; line-height: 2.5rem; pointer-events: none; }
.has-feedback label ~ .form-control-feedback { top: 1.8rem; }
.form-control-static { min-height: 2.375rem; padding-top: .375rem; padding-bottom: .375rem; margin-bottom: 0; }
.form-control.input-sm { min-height: 1.9375rem; padding: .25rem .5rem; font-size: .875rem; }
.form-control.input-lg { min-height: 3rem; padding: .5rem 1rem; font-size: 1.25rem; }
.input-group-addon { display: flex; align-items: center; padding: .375rem .75rem; color: var(--bs-body-color, #212529); border: 1px solid var(--bs-border-color, #dee2e6); border-radius: var(--bs-border-radius, .375rem); background: var(--bs-tertiary-bg, #f8f9fa); font-size: 1rem; white-space: nowrap; }
.input-group > .input-group-addon:not(:last-child), .input-group > .input-group-btn:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > .input-group-addon:not(:first-child), .input-group > .input-group-btn:not(:first-child) > .btn { margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group-btn { position: relative; display: flex; }
.input-group-btn > .btn { position: relative; height: 100%; }
.checkbox, .radio { position: relative; display: block; margin: .6rem 0; }
.checkbox label, .radio label { margin-bottom: 0; cursor: pointer; font-weight: 400; }
.checkbox input, .radio input { margin-right: .3rem; }
.checkbox-inline, .radio-inline { display: inline-flex; align-items: center; gap: .3rem; margin-right: .75rem; font-weight: 400; }
.form-inline { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.form-inline .form-group { margin-bottom: 0; }
.form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; }
.form-horizontal .form-group { display: flex; flex-wrap: wrap; margin-right: -.75rem; margin-left: -.75rem; }
.form-horizontal .control-label { padding-top: .4rem; text-align: right; }
.form-horizontal .form-group > * { padding-right: .75rem; padding-left: .75rem; }

.btn-default { --bs-btn-color: #444; --bs-btn-bg: #f8f9fa; --bs-btn-border-color: #ccd1d6; --bs-btn-hover-color: #212529; --bs-btn-hover-bg: #e9ecef; --bs-btn-hover-border-color: #adb5bd; --bs-btn-active-color: #212529; --bs-btn-active-bg: #dee2e6; --bs-btn-active-border-color: #adb5bd; --bs-btn-disabled-color: #6c757d; --bs-btn-disabled-bg: #f8f9fa; --bs-btn-disabled-border-color: #ccd1d6; }
.btn-xs { --bs-btn-padding-y: .0625rem; --bs-btn-padding-x: .3125rem; --bs-btn-font-size: .75rem; --bs-btn-border-radius: .2rem; }
.btn-block { display: block; width: 100%; }
.btn-block + .btn-block { margin-top: .3rem; }
.btn-flat { border-radius: 0; }
.btn-box-tool { padding: .25rem .5rem; color: #6c757d; background: transparent; }
.close { float: right; padding: 0; color: inherit; border: 0; background: transparent; opacity: .6; font-size: 1.5rem; font-weight: 700; line-height: 1; text-shadow: 0 1px 0 #fff; }
.close:hover, .close:focus { opacity: 1; }
.modal-header > .close { order: 2; margin-left: auto; }
.modal-header > .modal-title { flex: 1; }
.modal-header > .close + .modal-title { order: 1; }
.alert > .close { margin-left: .75rem; }

.box, .panel { position: relative; min-width: 0; margin-bottom: 1.25rem; border: 1px solid #dce1e5; border-radius: .375rem; background: #fff; }
.box { border-top: 3px solid #adb5bd; }
.box-primary { border-top-color: #3c8dbc; }
.box-success { border-top-color: #198754; }
.box-info { border-top-color: #0dcaf0; }
.box-warning { border-top-color: #ffc107; }
.box-danger { border-top-color: #dc3545; }
.box-header, .panel-heading { position: relative; padding: .75rem 1rem; border-bottom: 1px solid #e9ecef; }
.box-header::after, .box-body::after, .panel-body::after { display: block; clear: both; content: ""; }
.box-title, .panel-title { display: inline-block; margin: 0; font-size: 1.125rem; line-height: 1.4; }
.box-header > .box-tools { position: absolute; top: .5rem; right: .75rem; }
.box-body, .panel-body { padding: 1rem; }
.box-footer, .panel-footer { padding: .75rem 1rem; border-top: 1px solid #e9ecef; background: #f8f9fa; }
.collapsed-box > .box-body, .collapsed-box > .box-footer { display: none; }
.panel-default > .panel-heading { background: #f5f5f5; }
.panel-primary { border-color: #3c8dbc; }
.panel-primary > .panel-heading { color: #fff; background: #3c8dbc; }
.panel-success > .panel-heading { color: #0f5132; background: #d1e7dd; }
.panel-info > .panel-heading { color: #055160; background: #cff4fc; }
.panel-warning > .panel-heading { color: #664d03; background: #fff3cd; }
.panel-danger > .panel-heading { color: #842029; background: #f8d7da; }
.panel > .table, .panel > .table-responsive > .table { margin-bottom: 0; }
.nav-tabs-custom { margin-bottom: 1.25rem; border: 1px solid #dee2e6; border-radius: .375rem; background: #fff; }
.nav-tabs-custom > .nav-tabs { padding: 0 .5rem; }
.nav-tabs-custom > .tab-content { padding: 1rem; }
.nav-tabs > li > a, .nav-pills > li > a { display: block; padding: .5rem 1rem; color: var(--bs-link-color, #0d6efd); text-decoration: none; }
.nav-tabs > li > a { margin-bottom: -1px; border: 1px solid transparent; border-radius: .375rem .375rem 0 0; }
.nav-tabs > li > a:hover { border-color: #e9ecef #e9ecef #dee2e6; }
.nav-tabs > li.active > a, .nav-tabs > li > a.active { color: #495057; border-color: #dee2e6 #dee2e6 #fff; background: #fff; }
.nav-pills > li.active > a, .nav-pills > li > a.active { color: #fff; border-radius: .375rem; background: var(--bs-primary, #0d6efd); }
.nav-stacked { flex-direction: column; }
.nav-stacked > li { width: 100%; }
.dropdown-menu > li > a:not(.dropdown-item) { display: block; width: 100%; padding: .25rem 1rem; clear: both; color: var(--bs-dropdown-link-color, #212529); text-decoration: none; white-space: nowrap; }
.dropdown-menu > li > a:not(.dropdown-item):hover, .dropdown-menu > li > a:not(.dropdown-item):focus { background: var(--bs-dropdown-link-hover-bg, #e9ecef); }
.dropdown-menu > .divider { height: 0; margin: .5rem 0; overflow: hidden; border-top: 1px solid #dee2e6; }
.dropdown-menu-right { right: 0; left: auto; }
.caret { display: inline-block; margin-left: .25em; vertical-align: .15em; border-top: .3em solid; border-right: .3em solid transparent; border-left: .3em solid transparent; }
.dropdown-toggle > .caret { display: none; }

.label { display: inline-block; padding: .2em .6em .3em; color: #fff; border-radius: .25em; font-size: 75%; font-weight: 700; line-height: 1; text-align: center; vertical-align: baseline; white-space: nowrap; }
.label:empty { display: none; }
.label-default, .badge-default { background-color: #6c757d; }
.label-primary, .badge-primary { background-color: #3c8dbc; }
.label-success, .badge-success { background-color: #198754; }
.label-info, .badge-info { background-color: #087990; }
.label-warning, .badge-warning { color: #212529; background-color: #ffc107; }
.label-danger, .badge-danger { background-color: #dc3545; }
.progress-bar-primary { background-color: #3c8dbc; }
.progress-bar-success { background-color: #198754; }
.progress-bar-warning { background-color: #ffc107; }
.progress-bar-danger { background-color: #dc3545; }
.progress-bar-info, .progress-bar-aqua { background-color: #0dcaf0; }
.progress.xs { height: .4375rem; }
.bg-blue, .bg-light-blue { color: #fff; background-color: #3c8dbc !important; }
.bg-gray-light { background-color: #f7f7f7 !important; }
.bg-light-blue-gradient { color: #fff; background: linear-gradient(135deg, #66b4e1, #3c8dbc) !important; }
.text-green { color: #198754 !important; }
.text-red { color: #dc3545 !important; }
.text-yellow { color: #ad7d00 !important; }
.text-aqua { color: #087990 !important; }
.text-light-blue { color: #3c8dbc !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-justify { text-align: justify !important; }
.pull-left { float: left !important; }
.pull-right { float: right !important; }
.center-block { display: block; margin-right: auto; margin-left: auto; }
.hidden, .hide { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.img-responsive { display: block; max-width: 100%; height: auto; }
.img-circle { border-radius: 50%; }
.img-rounded { border-radius: .375rem; }
.table-condensed > :not(caption) > * > * { padding: .25rem; }
.pagination > li > a:not(.page-link), .pagination > li > span:not(.page-link) { position: relative; display: block; padding: .375rem .75rem; color: var(--bs-link-color, #0d6efd); border: 1px solid #dee2e6; background: #fff; text-decoration: none; }
.pagination > li + li > a:not(.page-link), .pagination > li + li > span:not(.page-link) { margin-left: -1px; }
.pagination > li:first-child > a, .pagination > li:first-child > span { border-top-left-radius: .375rem; border-bottom-left-radius: .375rem; }
.pagination > li:last-child > a, .pagination > li:last-child > span { border-top-right-radius: .375rem; border-bottom-right-radius: .375rem; }
.pagination > .active > a:not(.page-link), .pagination > .active > span:not(.page-link) { z-index: 3; color: #fff; border-color: var(--bs-primary, #0d6efd); background: var(--bs-primary, #0d6efd); }
.pagination > .disabled > a:not(.page-link), .pagination > .disabled > span:not(.page-link) { color: #6c757d; pointer-events: none; background: #e9ecef; }
.breadcrumb > li + li::before { float: left; padding: 0 .5rem; color: #6c757d; content: "/"; }
.breadcrumb > li + .breadcrumb-item::before { padding-left: 0; }
.breadcrumb > .active { color: #6c757d; }
.page-header { margin: 1.25rem 0; padding-bottom: .6rem; border-bottom: 1px solid #dee2e6; }
.well { min-height: 1.25rem; margin-bottom: 1.25rem; padding: 1.2rem; border: 1px solid #e3e3e3; border-radius: .375rem; background: #f5f5f5; }
.callout { margin-bottom: 1.25rem; padding: 1rem; border: 1px solid #dee2e6; border-left: 5px solid #adb5bd; border-radius: .25rem; background: #fff; }
.callout-info { border-left-color: #0dcaf0; }
.callout-success { border-left-color: #198754; }
.callout-warning { border-left-color: #ffc107; }
.callout-danger { border-left-color: #dc3545; }

/* The JS bridge maps col-xs-* to native col-* so responsive widths still win. */
[class*="visible-xs"], [class*="visible-sm"], [class*="visible-md"], [class*="visible-lg"] { display: none !important; }
@media (max-width: 767.98px) {
    .hidden-xs { display: none !important; }
    .visible-xs, .visible-xs-block { display: block !important; }
    .visible-xs-inline { display: inline !important; }
    .visible-xs-inline-block { display: inline-block !important; }
    .form-inline .form-group, .form-inline .form-control { width: 100%; }
    .form-horizontal .control-label { text-align: left; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .hidden-sm { display: none !important; }
    .visible-sm, .visible-sm-block { display: block !important; }
    .visible-sm-inline { display: inline !important; }
    .visible-sm-inline-block { display: inline-block !important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .hidden-md { display: none !important; }
    .visible-md, .visible-md-block { display: block !important; }
    .visible-md-inline { display: inline !important; }
    .visible-md-inline-block { display: inline-block !important; }
}
@media (min-width: 1200px) {
    .hidden-lg { display: none !important; }
    .visible-lg, .visible-lg-block { display: block !important; }
    .visible-lg-inline { display: inline !important; }
    .visible-lg-inline-block { display: inline-block !important; }
}
@media (min-width: 768px) { .col-sm-offset-2 { margin-left: 16.66666667%; } }

/* Existing action columns and login fields use these Glyphicons class names.
 * The installed Font Awesome 4 font supplies their replacement glyphs. */
.glyphicon { position: relative; top: 1px; display: inline-block; font-family: FontAwesome !important; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.glyphicon.form-control-feedback { position: absolute; top: 0; }
.has-feedback label ~ .glyphicon.form-control-feedback { top: 1.8rem; }
.glyphicon-asterisk::before { content: "\f069"; }
.glyphicon-plus::before { content: "\f067"; }
.glyphicon-minus::before { content: "\f068"; }
.glyphicon-ok::before { content: "\f00c"; }
.glyphicon-remove::before { content: "\f00d"; }
.glyphicon-pencil::before { content: "\f040"; }
.glyphicon-trash::before { content: "\f1f8"; }
.glyphicon-eye-open::before { content: "\f06e"; }
.glyphicon-eye-close::before { content: "\f070"; }
.glyphicon-envelope::before { content: "\f0e0"; }
.glyphicon-lock::before { content: "\f023"; }
.glyphicon-user::before { content: "\f007"; }
.glyphicon-home::before { content: "\f015"; }
.glyphicon-camera::before { content: "\f030"; }
.glyphicon-upload::before, .glyphicon-open::before { content: "\f093"; }
.glyphicon-download::before, .glyphicon-save::before { content: "\f019"; }
.glyphicon-repeat::before { content: "\f01e"; }
.glyphicon-refresh::before { content: "\f021"; }
.glyphicon-arrow-left::before { content: "\f060"; }
.glyphicon-arrow-right::before { content: "\f061"; }
.glyphicon-arrow-up::before { content: "\f062"; }
.glyphicon-arrow-down::before { content: "\f063"; }
.glyphicon-chevron-left::before, .glyphicon-menu-left::before { content: "\f053"; }
.glyphicon-chevron-right::before, .glyphicon-menu-right::before { content: "\f054"; }
.glyphicon-chevron-up::before, .glyphicon-menu-up::before { content: "\f077"; }
.glyphicon-chevron-down::before, .glyphicon-menu-down::before { content: "\f078"; }
.glyphicon-search::before { content: "\f002"; }
.glyphicon-zoom-in::before { content: "\f00e"; }
.glyphicon-zoom-out::before { content: "\f010"; }
.glyphicon-cog::before { content: "\f013"; }
.glyphicon-wrench::before { content: "\f0ad"; }
.glyphicon-calendar::before { content: "\f073"; }
.glyphicon-time::before { content: "\f017"; }
.glyphicon-list::before { content: "\f03a"; }
.glyphicon-list-alt::before { content: "\f022"; }
.glyphicon-th::before { content: "\f00a"; }
.glyphicon-th-large::before { content: "\f009"; }
.glyphicon-th-list::before { content: "\f00b"; }
.glyphicon-menu-hamburger::before { content: "\f0c9"; }
.glyphicon-file::before { content: "\f15b"; }
.glyphicon-folder-close::before { content: "\f07b"; }
.glyphicon-folder-open::before { content: "\f07c"; }
.glyphicon-copy::before, .glyphicon-duplicate::before { content: "\f0c5"; }
.glyphicon-paste::before { content: "\f0ea"; }
.glyphicon-scissors::before { content: "\f0c4"; }
.glyphicon-paperclip::before { content: "\f0c6"; }
.glyphicon-print::before { content: "\f02f"; }
.glyphicon-floppy-disk::before { content: "\f0c7"; }
.glyphicon-book::before { content: "\f02d"; }
.glyphicon-bookmark::before { content: "\f02e"; }
.glyphicon-education::before { content: "\f19d"; }
.glyphicon-comment::before { content: "\f075"; }
.glyphicon-bell::before { content: "\f0f3"; }
.glyphicon-heart::before { content: "\f004"; }
.glyphicon-heart-empty::before { content: "\f08a"; }
.glyphicon-star::before { content: "\f005"; }
.glyphicon-star-empty::before { content: "\f006"; }
.glyphicon-warning-sign::before, .glyphicon-alert::before { content: "\f071"; }
.glyphicon-info-sign::before { content: "\f05a"; }
.glyphicon-question-sign::before { content: "\f059"; }
.glyphicon-exclamation-sign::before { content: "\f06a"; }
.glyphicon-ok-sign::before { content: "\f058"; }
.glyphicon-ok-circle::before { content: "\f05d"; }
.glyphicon-remove-sign::before { content: "\f057"; }
.glyphicon-remove-circle::before { content: "\f05c"; }
.glyphicon-plus-sign::before { content: "\f055"; }
.glyphicon-minus-sign::before { content: "\f056"; }
.glyphicon-ban-circle::before { content: "\f05e"; }
.glyphicon-log-in::before { content: "\f090"; }
.glyphicon-log-out::before { content: "\f08b"; }
.glyphicon-share::before { content: "\f064"; }
.glyphicon-share-alt::before { content: "\f1e0"; }
.glyphicon-new-window::before { content: "\f08e"; }
.glyphicon-link::before { content: "\f0c1"; }
.glyphicon-picture::before { content: "\f03e"; }
.glyphicon-facetime-video::before { content: "\f03d"; }
.glyphicon-film::before { content: "\f008"; }
.glyphicon-music::before { content: "\f001"; }
.glyphicon-cutlery::before { content: "\f0f5"; }
.glyphicon-bed::before { content: "\f236"; }
.glyphicon-leaf::before { content: "\f06c"; }
.glyphicon-tree-conifer::before, .glyphicon-tree-deciduous::before { content: "\f1bb"; }
.glyphicon-phone::before { content: "\f10b"; }
.glyphicon-earphone::before, .glyphicon-phone-alt::before { content: "\f095"; }
.glyphicon-map-marker::before { content: "\f041"; }
.glyphicon-globe::before { content: "\f0ac"; }
.glyphicon-flag::before { content: "\f024"; }
.glyphicon-tasks::before { content: "\f0ae"; }
.glyphicon-stats::before { content: "\f080"; }
.glyphicon-dashboard::before { content: "\f0e4"; }
.glyphicon-filter::before { content: "\f0b0"; }
.glyphicon-sort::before { content: "\f0dc"; }
.glyphicon-sort-by-alphabet::before { content: "\f15d"; }
.glyphicon-sort-by-alphabet-alt::before { content: "\f15e"; }
.glyphicon-sort-by-order::before { content: "\f162"; }
.glyphicon-sort-by-order-alt::before { content: "\f163"; }
.glyphicon-sort-by-attributes::before { content: "\f160"; }
.glyphicon-sort-by-attributes-alt::before { content: "\f161"; }
.glyphicon-check::before { content: "\f046"; }
.glyphicon-unchecked::before { content: "\f096"; }
.glyphicon-edit::before { content: "\f044"; }
.glyphicon-send::before { content: "\f1d8"; }
.glyphicon-inbox::before { content: "\f01c"; }
.glyphicon-cloud::before { content: "\f0c2"; }
.glyphicon-cloud-download::before, .glyphicon-download-alt::before { content: "\f0ed"; }
.glyphicon-cloud-upload::before { content: "\f0ee"; }
.glyphicon-thumbs-up::before { content: "\f164"; }
.glyphicon-thumbs-down::before { content: "\f165"; }
.glyphicon-off::before { content: "\f011"; }
.glyphicon-credit-card::before { content: "\f09d"; }
.glyphicon-shopping-cart::before { content: "\f07a"; }
.glyphicon-tag::before { content: "\f02b"; }
.glyphicon-tags::before { content: "\f02c"; }
.glyphicon-eur::before, .glyphicon-euro::before { content: "\f153"; }
.glyphicon-gbp::before { content: "\f154"; }
.glyphicon-usd::before { content: "\f155"; }
.glyphicon-yen::before, .glyphicon-jpy::before { content: "\f157"; }
.glyphicon-btc::before, .glyphicon-bitcoin::before, .glyphicon-xbt::before { content: "\f15a"; }
.glyphicon-ruble::before, .glyphicon-rub::before { content: "\f158"; }
.glyphicon-resize-full::before, .glyphicon-fullscreen::before { content: "\f065"; }
.glyphicon-resize-small::before { content: "\f066"; }
.glyphicon-resize-horizontal::before { content: "\f07e"; }
.glyphicon-resize-vertical::before { content: "\f07d"; }
.glyphicon-move::before { content: "\f047"; }
.glyphicon-triangle-top::before { content: "\f0d8"; }
.glyphicon-triangle-bottom::before { content: "\f0d7"; }
.glyphicon-triangle-left::before { content: "\f0d9"; }
.glyphicon-triangle-right::before { content: "\f0da"; }
.glyphicon-circle-arrow-left::before { content: "\f0a8"; }
.glyphicon-circle-arrow-right::before { content: "\f0a9"; }
.glyphicon-circle-arrow-up::before { content: "\f0aa"; }
.glyphicon-circle-arrow-down::before { content: "\f0ab"; }
.glyphicon-collapse-up::before { content: "\f151"; }
.glyphicon-collapse-down::before, .glyphicon-expand::before { content: "\f150"; }
.glyphicon-play::before { content: "\f04b"; }
.glyphicon-pause::before { content: "\f04c"; }
.glyphicon-stop::before { content: "\f04d"; }
.glyphicon-play-circle::before { content: "\f01d"; }
.glyphicon-backward::before { content: "\f04a"; }
.glyphicon-forward::before { content: "\f04e"; }
.glyphicon-fast-backward::before { content: "\f049"; }
.glyphicon-fast-forward::before { content: "\f050"; }
.glyphicon-step-backward::before { content: "\f048"; }
.glyphicon-step-forward::before { content: "\f051"; }
.glyphicon-eject::before { content: "\f052"; }
.glyphicon-volume-off::before { content: "\f026"; }
.glyphicon-volume-down::before { content: "\f027"; }
.glyphicon-volume-up::before { content: "\f028"; }
.glyphicon-option-horizontal::before { content: "\f141"; }
.glyphicon-option-vertical::before { content: "\f142"; }
