/* Application presentation retained while using Bootstrap 5.3.8 components. */
html { font-size: 14px; }
:root {
    --bs-body-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --bs-body-font-size: 1rem;
    --bs-body-line-height: 1.42857143;
    --bs-body-color: #333;
    --bs-link-color: #337ab7;
    --bs-border-radius: 4px;
    --bs-gutter-x: 30px;
}
.row { --bs-gutter-x: 30px; }
.container, .container-fluid { --bs-gutter-x: 30px; }
.container::after, .container-fluid::after, .card-body::after, .iris-form-group::after {
    display: block;
    clear: both;
    content: "";
}
/* Web Forms renders several columns without a .row wrapper. Keep their layout
   while .row continues to use the Bootstrap 5 flex grid. */
:where(.iris-grid-column) { position: relative; width: 100%; min-height: 1px; padding: 0 15px; }
.iris-grid-column { float: left; }
.iris-grid-column::after { display: block; clear: both; content: ""; }
.iris-form-group { margin-bottom: 15px; }
.iris-form-horizontal .iris-form-group { margin-right: -15px; margin-left: -15px; }
.iris-form-horizontal .form-label { padding-top: 7px; margin-bottom: 0; text-align: right; }
.form-label { font-weight: 700; }
.form-control, .form-select { font-size: 14px; }
.btn { padding: 6px 12px; font-size: 14px; line-height: 1.42857143; }
.btn-sm, .iris-btn-xs { padding: 5px 10px; font-size: 12px; border-radius: 3px; }
.iris-btn-xs { padding: 1px 5px; }
.btn-lg { padding: 10px 16px; font-size: 18px; border-radius: 6px; }
.btn-outline-secondary {
    --bs-btn-color: #333;
    --bs-btn-bg: #fff;
    --bs-btn-border-color: #ccc;
    --bs-btn-hover-color: #333;
    --bs-btn-hover-bg: #e6e6e6;
    --bs-btn-hover-border-color: #adadad;
    --bs-btn-active-color: #333;
    --bs-btn-active-bg: #d4d4d4;
    --bs-btn-active-border-color: #8c8c8c;
}
.btn-primary { --bs-btn-bg: #337ab7; --bs-btn-border-color: #2e6da4; --bs-btn-hover-bg: #286090; --bs-btn-hover-border-color: #204d74; }
.btn-info { --bs-btn-color: #fff; --bs-btn-bg: #5bc0de; --bs-btn-border-color: #46b8da; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #31b0d5; }
.text-bg-primary { background-color: #337ab7 !important; }
.text-bg-info { color: #fff !important; background-color: #5bc0de !important; }
.badge { font-size: 75%; border-radius: .25em; }
.iris-report-metadata {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    min-width: 0;
    max-width: 100%;
    padding-bottom: 2px;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: thin;
}
.iris-report-metadata > .badge {
    flex: 0 0 auto;
    padding: .35em .55em;
    font-size: 11px;
    line-height: 1.2;
}
.iris-report-title { margin: .5rem 0 0; }
.iris-report-title > .badge {
    max-width: 100%;
    line-height: 1.4;
    text-align: left;
    white-space: normal;
}
.hidden, .hide { display: none !important; }
.caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-right: 4px solid transparent; border-left: 4px solid transparent; }
.dropdown-toggle .caret { display: none; }
.dropdown-menu { font-size: 14px; }
.dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; color: #333; text-decoration: none; white-space: nowrap; }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background-color: #f5f5f5; }
.dropdown-menu > li.active > a { color: #fff; background-color: #337ab7; }
/* DataTables handles its own menu keys; retain the old dropdown appearance
   without adding Bootstrap's dropdown-menu class to these collections. */
.dt-button-collection .iris-dt-menu {
    position: relative;
    display: block;
    width: 100%;
    min-width: 10rem;
    padding: 5px 0;
    margin: 0;
    list-style: none;
    font-size: 14px;
    line-height: 1.42857143;
    text-align: left;
}
.dt-button-collection .iris-dt-menu .dropdown-item {
    padding: 3px 3em 3px 20px;
    color: #333;
    font-weight: 400;
    text-decoration: none;
}
.dt-button-collection .iris-dt-menu .dropdown-item:hover { color: #333; background-color: #00aeef; }
.dt-button-collection .iris-dt-menu .dropdown-item:focus { color: #fff; background-color: #005b7f; }
.dt-button-collection .iris-dt-menu > .dt-button-active-a > .dropdown-item { color: #fff; background-color: #00aeef; }
.dt-button-collection .iris-dt-menu > .dt-button-active-a > .dropdown-item:hover,
.dt-button-collection .iris-dt-menu > .dt-button-active-a > .dropdown-item:focus { color: #fff; background-color: #005b7f; }
.iris-card-group > .card { margin-bottom: 5px; }
.card { margin-bottom: 20px; border-color: #ddd; box-shadow: 0 1px 1px rgba(0, 0, 0, .05); }
.card-body { padding: 15px; }
.card-header { padding: 10px 15px; }
.card-title { margin: 0; font-size: 16px; }
.iris-card-default > .card-header { color: #333; background-color: #f5f5f5; border-color: #ddd; }
.iris-card-primary { border-color: #337ab7; }
.iris-card-primary > .card-header { color: #fff; background-color: #337ab7; border-color: #337ab7; }
.iris-card-info { border-color: #bce8f1; }
.iris-card-info > .card-header { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; }
.iris-card-success > .card-header { color: #3c763d; background-color: #dff0d8; }
.iris-card-warning > .card-header { color: #8a6d3b; background-color: #fcf8e3; }
.iris-card-danger > .card-header { color: #a94442; background-color: #f2dede; }
.iris-card-collapse > .card-body { border-top: 1px solid #ddd; }
.iris-jumbotron { padding: 30px; margin-bottom: 30px; color: inherit; background: #eee; border-radius: 6px; }
.iris-well { min-height: 20px; padding: 19px; margin-bottom: 20px; background: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; }
.iris-close { float: right; padding: 0; font-size: 21px; font-weight: 700; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; cursor: pointer; background: transparent; border: 0; opacity: .5; }
.iris-close:hover { opacity: .8; }
.modal-header { display: block; }
.modal-dialog { margin: 10px auto; max-width: calc(100% - 20px); }
.modal-header .iris-close { margin-top: -2px; }
.modal-footer { display: block; text-align: right; }
/* Shared message dialogs; report previews keep their own dimensions. */
.iris-message-modal { z-index: 1070; }
.iris-message-modal > .modal-dialog { width: calc(100% - 32px); max-width: 520px; margin: 24px auto; }
.iris-message-modal.iris-alert-modal > .modal-dialog { max-width: 600px; }
.iris-message-modal .modal-content { max-height: calc(100vh - 48px); overflow-y: auto; }
.iris-message-modal .modal-header { display: flex; align-items: center; gap: 10px; padding: 12px 16px; }
.iris-message-modal .modal-header :is(h2, h3, h4, .modal-title) { flex: 1; min-width: 0; margin: 0; font-size: 18px; line-height: 1.35; overflow-wrap: anywhere; }
.iris-message-modal .modal-header :is(.iris-close, .btn-close) { order: 2; flex: 0 0 auto; align-self: flex-start; float: none; margin: 0 0 0 auto; }
.iris-message-modal .modal-header .iris-close { color: inherit; text-shadow: none; }
.iris-message-modal .modal-body { padding: 12px 16px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.iris-message-modal .modal-body :is(h2, h3, h4) { margin: 0 0 8px; font-size: 14px; line-height: 1.5; }
.iris-message-modal .modal-body :is(h2, h3, h4):last-child { margin-bottom: 0; }
.iris-alert-modal .modal-body, .iris-alert-modal .modal-body :is(h2, h3, h4) { font-size: 16px; }
.iris-message-modal .modal-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 16px; }
.iris-message-modal .modal-footer > * { margin: 0; }
.row.error-container, .iris-notification {
    position: fixed;
    top: 20vh;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    min-width: min(360px, calc(100% - 30px));
    max-width: min(680px, calc(100% - 30px));
    height: auto;
    max-height: calc(80vh - 16px);
    margin: 0;
    padding: 0;
    overflow-y: auto;
    z-index: 1090;
    border-radius: 4px;
}
.row.error-container > .alert, .iris-notification > .alert {
    margin: 0;
    min-height: 64px;
    padding: 18px 24px;
    border-width: 1px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.row.error-container > .alert p { margin: 0; }
.row.error-container > .alert p:empty { display: none; }
.row.error-container > .alert p + p { margin-top: 6px; }
.row.error-container > .alert :is(h2, h3, h4) { margin: 0; font-size: 16px; line-height: 1.5; }
div.alert.alert-danger, .ui-dialog #err-message {
    margin: 0;
    padding: 16px 20px;
    border: 1px solid #f5c2c7;
    border-radius: 4px;
    color: #842029;
    background: #f8d7da !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left !important;
    overflow-wrap: anywhere;
}
.iris-error-message span { white-space: pre-line; }
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) {
    width: 460px !important;
    max-width: calc(100% - 32px);
    max-height: calc(100vh - 48px);
    padding: 0;
    overflow: hidden;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #fff;
    color: #333;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .3);
    z-index: 1080 !important;
}
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) .ui-dialog-titlebar {
    padding: 12px 16px;
    border: 0;
    border-bottom: 1px solid #dee2e6;
    border-radius: 0;
    background: #fff;
    color: #333;
}
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) .ui-dialog-title {
    width: calc(100% - 24px);
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
}
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) .ui-dialog-titlebar-close { right: 12px; border: 0; background: transparent; color: #333; font-size: 21px; line-height: 20px; text-indent: 0; }
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) .ui-dialog-titlebar-close::before { content: "\00d7"; }
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) .ui-dialog-titlebar-close > * { display: none; }
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) .ui-dialog-content {
    min-height: 0 !important;
    max-height: calc(100vh - 220px) !important;
    padding: 12px 16px;
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) .ui-dialog-content :is(h2, h3, h4) { margin: 0 0 8px; font-size: 14px; line-height: 1.5; }
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) :is(#err-message, #attention-message, #noaction-message) { margin: 12px 16px; padding: 10px 12px; }
.ui-dialog #attention-message, .ui-dialog #noaction-message { border: 1px solid #ffecb5; border-radius: 4px; color: #664d03; background: #fff3cd; }
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) .ui-dialog-buttonpane { margin: 0; padding: 10px 16px; border-top: 1px solid #dee2e6; background: #fff; }
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) .ui-dialog-buttonpane button { margin: 0 0 0 8px; padding: 6px 12px; border: 1px solid #ccc; border-radius: 4px; background: #fff; color: #333; font-size: 14px; line-height: 1.42857143; }
.ui-dialog:is([aria-describedby$="-message"], [aria-describedby="dialog-confirm"]) .ui-dialog-buttonpane button:hover { background: #e6e6e6; }
.ui-dialog:is([aria-describedby="dialog-message"], [aria-describedby="err-message"]) { width: 600px !important; }
.ui-dialog:is([aria-describedby="dialog-message"], [aria-describedby="err-message"]) .ui-dialog-title { font-size: 20px; }
.ui-dialog:is([aria-describedby="dialog-message"], [aria-describedby="err-message"]) :is(#dialog-message, #err-message) { padding: 18px 20px; font-size: 16px; }
.ui-dialog :is(#dialog-message, #err-message) :is(h2, h3, h4) { font-size: 16px; }
.ui-widget-overlay.ui-front { z-index: 1075; }
/* Larger table explanations, including the popovers used by report approval. */
div.tooltip { --bs-tooltip-max-width: 420px; --bs-tooltip-font-size: 16px; --bs-tooltip-bg: #2a4254; max-width: calc(100vw - 24px); }
div.tooltip .tooltip-inner { max-width: min(420px, calc(100vw - 24px)); padding: 12px 16px; font-size: 16px; line-height: 1.5; text-align: left; overflow-wrap: anywhere; }
div.popover { --bs-popover-max-width: 520px; --bs-popover-font-size: 16px; display: flex; flex-direction: column; max-width: min(520px, calc(100vw - 24px)); max-height: calc(100vh - 32px); }
.popover .popover-header { flex: 0 0 auto; padding: 12px 18px; font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; }
.popover .popover-body { min-height: 0; padding: 14px 18px; overflow-y: auto; font-size: 16px; line-height: 1.5; word-break: normal; overflow-wrap: anywhere; }
.popover .popover-body :is(p, table, td) { font-size: inherit; line-height: inherit; }
@media (max-width: 767.98px) {
    div.popover { max-height: calc(50vh - 40px); }
}
.iris-input-group-buttons { position: relative; display: flex; white-space: nowrap; }
.bootstrap-filestyle.input-group { flex-wrap: nowrap; }
.bootstrap-filestyle .iris-input-group-buttons label { margin-bottom: 0; }
.checkbox, .radio { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; }
.checkbox label, .radio label { min-height: 20px; margin-bottom: 0; font-weight: 400; cursor: pointer; }
.checkbox-inline, .radio-inline { display: inline-block; padding-left: 20px; margin-bottom: 0; vertical-align: middle; font-weight: 400; }
.checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"], .radio input[type="radio"], .radio-inline input[type="radio"] { position: absolute; margin-top: 4px; margin-left: -20px; }
.navbar { min-height: 50px; padding: 0; }
.navbar > .container-fluid { align-items: stretch; }
.iris-navbar-header { display: flex; align-items: center; gap: 15px; }
.navbar-nav .nav-link { padding: 15px; line-height: 20px; }
.navbar-nav > li { position: relative; }
.navbar-toggler { padding: 9px 10px; margin: 8px 0; }
.navbar-toggler-icon { --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
.nav-tabs > li > a { text-decoration: none; }
.nav-justified > li { flex: 1 1 auto; text-align: center; }
.nav-stacked { flex-direction: column; }
.bootstrap-select > .dropdown-toggle { font-size: 14px; }
.bootstrap-select .dropdown-menu li a.liselected, .bootstrap-select .dropdown-menu li a.liselectedGreen { color: green; }
@media (min-width: 768px) { .container { max-width: 750px; } .modal-dialog { --bs-modal-width: 600px; margin: 30px auto; } }
@media (min-width: 768px) {
    .form-inline .iris-form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; }
    .form-inline .form-control, .form-inline .form-select { display: inline-block; width: auto; vertical-align: middle; }
    .form-inline .input-group { display: inline-flex; width: auto; vertical-align: middle; }
    .form-inline .form-label { margin-bottom: 0; vertical-align: middle; }
    .form-inline .checkbox, .form-inline .radio { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; }
}
@media (min-width: 992px) { .container { max-width: 970px; } }
@media (min-width: 1200px) { .container { max-width: 1170px; } }
@media (max-width: 767.98px) {
    .hidden-xs { display: none !important; }
    .iris-form-horizontal .form-label { text-align: left; }
    .iris-navbar-header { width: 100%; }
    .navbar-nav .nav-link { padding: 10px 15px; }
    .navbar-collapse { flex-basis: 100%; }
}
@media (max-width: 1250px) {
    .navbar-expand-md, .navbar-expand-md > .container-fluid { flex-wrap: wrap; }
    .iris-navbar-header { width: 100%; }
    .navbar-expand-md .navbar-collapse { width: 100%; flex-basis: 100%; }
}
@media (min-width: 768px) and (max-width: 991.98px) { .hidden-sm { display: none !important; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .hidden-md { display: none !important; } }
@media (min-width: 1200px) { .hidden-lg { display: none !important; } }
.iris-push-0 { left: 0%; }
.iris-pull-0 { right: 0%; }
.iris-push-1 { left: 8.333333333333334%; }
.iris-pull-1 { right: 8.333333333333334%; }
.iris-push-2 { left: 16.666666666666668%; }
.iris-pull-2 { right: 16.666666666666668%; }
.iris-push-3 { left: 25%; }
.iris-pull-3 { right: 25%; }
.iris-push-4 { left: 33.333333333333336%; }
.iris-pull-4 { right: 33.333333333333336%; }
.iris-push-5 { left: 41.666666666666664%; }
.iris-pull-5 { right: 41.666666666666664%; }
.iris-push-6 { left: 50%; }
.iris-pull-6 { right: 50%; }
.iris-push-7 { left: 58.333333333333336%; }
.iris-pull-7 { right: 58.333333333333336%; }
.iris-push-8 { left: 66.66666666666667%; }
.iris-pull-8 { right: 66.66666666666667%; }
.iris-push-9 { left: 75%; }
.iris-pull-9 { right: 75%; }
.iris-push-10 { left: 83.33333333333333%; }
.iris-pull-10 { right: 83.33333333333333%; }
.iris-push-11 { left: 91.66666666666667%; }
.iris-pull-11 { right: 91.66666666666667%; }
.iris-push-12 { left: 100%; }
.iris-pull-12 { right: 100%; }
@media (min-width: 768px) {
.iris-push-md-0 { left: 0%; }
.iris-pull-md-0 { right: 0%; }
.iris-push-md-1 { left: 8.333333333333334%; }
.iris-pull-md-1 { right: 8.333333333333334%; }
.iris-push-md-2 { left: 16.666666666666668%; }
.iris-pull-md-2 { right: 16.666666666666668%; }
.iris-push-md-3 { left: 25%; }
.iris-pull-md-3 { right: 25%; }
.iris-push-md-4 { left: 33.333333333333336%; }
.iris-pull-md-4 { right: 33.333333333333336%; }
.iris-push-md-5 { left: 41.666666666666664%; }
.iris-pull-md-5 { right: 41.666666666666664%; }
.iris-push-md-6 { left: 50%; }
.iris-pull-md-6 { right: 50%; }
.iris-push-md-7 { left: 58.333333333333336%; }
.iris-pull-md-7 { right: 58.333333333333336%; }
.iris-push-md-8 { left: 66.66666666666667%; }
.iris-pull-md-8 { right: 66.66666666666667%; }
.iris-push-md-9 { left: 75%; }
.iris-pull-md-9 { right: 75%; }
.iris-push-md-10 { left: 83.33333333333333%; }
.iris-pull-md-10 { right: 83.33333333333333%; }
.iris-push-md-11 { left: 91.66666666666667%; }
.iris-pull-md-11 { right: 91.66666666666667%; }
.iris-push-md-12 { left: 100%; }
.iris-pull-md-12 { right: 100%; }
}
@media (min-width: 992px) {
.iris-push-lg-0 { left: 0%; }
.iris-pull-lg-0 { right: 0%; }
.iris-push-lg-1 { left: 8.333333333333334%; }
.iris-pull-lg-1 { right: 8.333333333333334%; }
.iris-push-lg-2 { left: 16.666666666666668%; }
.iris-pull-lg-2 { right: 16.666666666666668%; }
.iris-push-lg-3 { left: 25%; }
.iris-pull-lg-3 { right: 25%; }
.iris-push-lg-4 { left: 33.333333333333336%; }
.iris-pull-lg-4 { right: 33.333333333333336%; }
.iris-push-lg-5 { left: 41.666666666666664%; }
.iris-pull-lg-5 { right: 41.666666666666664%; }
.iris-push-lg-6 { left: 50%; }
.iris-pull-lg-6 { right: 50%; }
.iris-push-lg-7 { left: 58.333333333333336%; }
.iris-pull-lg-7 { right: 58.333333333333336%; }
.iris-push-lg-8 { left: 66.66666666666667%; }
.iris-pull-lg-8 { right: 66.66666666666667%; }
.iris-push-lg-9 { left: 75%; }
.iris-pull-lg-9 { right: 75%; }
.iris-push-lg-10 { left: 83.33333333333333%; }
.iris-pull-lg-10 { right: 83.33333333333333%; }
.iris-push-lg-11 { left: 91.66666666666667%; }
.iris-pull-lg-11 { right: 91.66666666666667%; }
.iris-push-lg-12 { left: 100%; }
.iris-pull-lg-12 { right: 100%; }
}
@media (min-width: 1200px) {
.iris-push-xl-0 { left: 0%; }
.iris-pull-xl-0 { right: 0%; }
.iris-push-xl-1 { left: 8.333333333333334%; }
.iris-pull-xl-1 { right: 8.333333333333334%; }
.iris-push-xl-2 { left: 16.666666666666668%; }
.iris-pull-xl-2 { right: 16.666666666666668%; }
.iris-push-xl-3 { left: 25%; }
.iris-pull-xl-3 { right: 25%; }
.iris-push-xl-4 { left: 33.333333333333336%; }
.iris-pull-xl-4 { right: 33.333333333333336%; }
.iris-push-xl-5 { left: 41.666666666666664%; }
.iris-pull-xl-5 { right: 41.666666666666664%; }
.iris-push-xl-6 { left: 50%; }
.iris-pull-xl-6 { right: 50%; }
.iris-push-xl-7 { left: 58.333333333333336%; }
.iris-pull-xl-7 { right: 58.333333333333336%; }
.iris-push-xl-8 { left: 66.66666666666667%; }
.iris-pull-xl-8 { right: 66.66666666666667%; }
.iris-push-xl-9 { left: 75%; }
.iris-pull-xl-9 { right: 75%; }
.iris-push-xl-10 { left: 83.33333333333333%; }
.iris-pull-xl-10 { right: 83.33333333333333%; }
.iris-push-xl-11 { left: 91.66666666666667%; }
.iris-pull-xl-11 { right: 91.66666666666667%; }
.iris-push-xl-12 { left: 100%; }
.iris-pull-xl-12 { right: 100%; }
}
