/* Mobile-First Responsive CSS for RCP Application */

.RadMenu ul.rmActive,
.RadMenu ul.rmRootGroup {
    display: block;
    background: #486a1f;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-3 {
    gap: 1rem;
}

.d-flex {
    display: flex;
}

.justify-content-end {
    justify-content: flex-end;
}

.form-group {
    margin-bottom: 1rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.25rem;
    font-weight: 500;
}

.card {
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    margin-bottom: 1rem;
}

.card-body {
    padding: 1rem;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.card-title {
    margin-bottom: 0.75rem;
    font-size: 1.25rem;
}

.card-text {
    margin-bottom: 0.5rem;
}

.card-header {
    padding: 0.75rem 1rem;
    font-weight: 600;
}

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

.skip-nav {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.skip-nav:focus {
    position: static;
    width: auto;
    height: auto;
    padding: 0.5rem 1rem;
    background: #000;
    color: #fff;
    z-index: 10001;
    display: inline-block;
}

@media (max-width: 576px) {
    body {
        font-size: 13px;
    }

    h1, .h1 {
        font-size: 1.5rem;
    }

    h2, .h2 {
        font-size: 1.3rem;
    }

    h4, .h4 {
        font-size: 1.1rem;
    }

    h5, .h5 {
        font-size: 1rem;
    }

    .btn {
        width: 100%;
        margin-bottom: 0.5rem;
    }

    .btn-group {
        display: flex !important;
        flex-direction: column;
    }

    .btn-group .btn {
        margin-right: 0 !important;
        margin-bottom: 0.5rem;
    }

    .d-flex.gap-2 .btn,
    .d-flex.gap-3 .btn,
    .d-flex.gap-2 .btn-sm,
    .d-flex.gap-3 .btn-sm {
        width: auto;
        flex: 1;
    }

    .form-control,
    .form-select,
    .RadComboBox {
        font-size: 16px;
    }

    .table-responsive {
        -webkit-overflow-scrolling: touch;
    }

    .RadGrid .rgHeader {
        font-size: 12px;
    }

    #topbar img,
    #logobar img {
        display: block;
        margin: 5px auto;
    }

    .form-label {
        display: block;
        margin-bottom: 0.5rem;
        font-weight: 500;
    }

    .small {
        display: block;
        margin-top: 0.25rem;
    }

    .page-title {
        padding: 1rem 0;
    }

    .page-description {
        padding: 1rem 0.5rem;
    }

    .alert {
        padding: 0.75rem;
        font-size: 13px;
    }

    .d-sm-none {
        display: none !important;
    }

    strong {
        display: inline;
        margin-bottom: 0.25rem;
    }

    .action-label {
        font-weight: bold;
        display: block;
        margin-bottom: 1rem;
        margin-right: 0;
    }

    .RadListBox {
        width: 100% !important;
    }

    .RadGrid table th {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    #contentarea {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}

@media (min-width: 768px) {
    body {
        font-size: 14px;
    }

    .btn-group .btn {
        margin-right: 0.5rem;
        width: auto;
    }

    .card {
        margin-bottom: 1.5rem;
    }
}

@media (min-width: 1200px) {
    body {
        font-size: 14px;
    }

    .container-fluid {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.RadGrid {
    width: 100% !important;
}

.RadGrid_Default {
    background-color: #fff;
    border-collapse: collapse;
}

.telerik_RadMenu_Default {
    flex-wrap: wrap;
}

.telerik_RadMenu_Default .rmItem {
    white-space: normal;
    padding: 0.5rem;
}

.nav-action-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    gap: 0.25rem 0.5rem;
}

#menubar {
    background-color: #486a1f !important;
}

#menubar .navbar-toggler {
    margin-left: auto;
    border-color: rgba(255,255,255,0.75);
    color: #fff;
}

#menubar .navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(255,255,255,0.45);
}

#menubar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255,255,255,0.95)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.nav-action-link {
    display: inline-flex !important;
    align-items: center;
    color: #fff !important;
    padding: 0.5rem 0.75rem !important;
    text-decoration: none;
    border-radius: 0.25rem;
    font-weight: 600;
}

.nav-action-link:hover,
.nav-action-link:focus,
.nav-action-link:focus-visible {
    color: #fff !important;
    background-color: rgba(255,255,255,0.24);
    text-decoration: underline;
}

.RadComboBox {
    width: 100% !important;
}

.field-validation-error {
    color: #842029;
    font-size: 0.875rem;
    display: block;
    margin-top: 0.25rem;
    font-weight: 600;
}

.text-danger-strong {
    color: #842029 !important;
    font-weight: 600;
}

.alert-info {
    background-color: #cff4fc;
    border-color: #9eeaf9;
    color: #055160;
}

.alert-danger {
    background-color: #f8d7da;
    border-color: #f1aeb5;
    color: #842029;
}

.validation-summary-errors {
    border: 1px solid #f5c2c7;
    background: #f8d7da;
    color: #842029;
    padding: 0.75rem 1rem;
    border-radius: 0.25rem;
    margin-bottom: 1rem;
}

.validation-summary-errors ul {
    margin: 0.5rem 0 0 1.25rem;
}

.validation-summary-valid {
    display: none;
}

#footer {
    margin-top: 2rem;
    padding: 1rem 0;
    border-top: 1px solid #ddd;
}

#footer p {
    margin: 0.5rem 0;
    font-size: 12px;
}

#messageAlert,
#errorAlert {
    margin-bottom: 1rem;
}

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

.btn:focus,
.btn:focus-visible,
a:focus,
a:focus-visible,
input:focus,
input:focus-visible,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible,
[tabindex]:focus,
[tabindex]:focus-visible {
    outline: 3px solid #0b5fff;
    outline-offset: 2px;
}

img {
    max-width: 100%;
    height: auto;
}

#contentarea {
    padding-bottom: 2rem;
}

p,
li {
    line-height: 1.6;
}

.RadListBox .rlbItem {
    padding: 0.5rem;
    white-space: normal;
    word-wrap: break-word;
}

.alert:empty,
.lbl-hidden-when-empty:empty,
.lbl-hidden-when-empty:not([value]),
.lbl-hidden-when-empty[value=""] {
    display: none !important;
}

.lbl-hidden-when-empty {
    display: none !important;
}

.lbl-hidden-when-empty.has-text,
.lbl-hidden-when-empty:not(:empty) {
    display: block !important;
}

.mobile-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.mobile-card-actions .btn,
.mobile-card-actions .btn-sm {
    margin-bottom: 0;
}

.btn-primary,
.btn-primary:link,
.btn-primary:visited {
    background-color: #005ea2 !important;
    border-color: #005ea2 !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible {
    background-color: #004578 !important;
    border-color: #004578 !important;
    color: #fff !important;
}

.btn-success,
.btn-success:link,
.btn-success:visited,
.btn-outline-success {
    background-color: #1e6f33 !important;
    border-color: #1e6f33 !important;
    color: #fff !important;
}

.btn-outline-success {
    background-color: transparent !important;
    color: #1e6f33 !important;
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:focus-visible {
    background-color: #1e6f33 !important;
    border-color: #1e6f33 !important;
    color: #fff !important;
}

.card-header[style*="#709749"] {
    background-color: #486a1f !important;
    color: #fff !important;
}

.lbl-hidden-when-empty[style*="color: green"],
.text-success,
.success-text {
    color: #1e6f33 !important;
}

.RadListBox .rlbItem:focus,
.RadListBox .rlbItem:hover,
.RadListBox .rlbText:focus,
.RadListBox .rlbText:hover {
    background-color: #e9f2ff;
    outline: 3px solid #0b5fff;
    outline-offset: 2px;
}

.RadComboBox .rcbActionButton:focus,
.RadComboBox .rcbInput:focus,
.RadDatePicker .rcCalPopup:focus,
.RadDatePicker .rcbActionButton:focus,
.RadNumericTextBox input:focus,
.RadGrid a:focus,
.RadGrid a:focus-visible {
    outline: 3px solid #0b5fff;
    outline-offset: 2px;
}

.rwDialogPopup,
.rwWindowContent,
.modal-dialog,
.modal-content {
    color: #212529;
}

.rwDialogPopup .rwDialogText,
.modal-body {
    color: #212529;
}

@media print {
    .btn,
    #menubar,
    #topbar,
    .no-print {
        display: none !important;
    }

    body {
        background-color: #fff;
    }

    .container-fluid {
        max-width: 100%;
    }
}

.report-viewer-shell {
    min-height: 100vh;
}

.close-report {
    min-width: 120px;
}

#contentarea > .container,
#contentarea > .container-fluid {
    width: 100%;
}

#contentarea .card .form-control,
#contentarea .card select,
#contentarea .card textarea,
#contentarea .card .RadInput,
#contentarea .card .RadPicker,
#contentarea .card .RadComboBox,
#contentarea .card .RadNumericTextBox {
    width: 100% !important;
    max-width: 100%;
}

#contentarea .card .riTextBox,
#contentarea .card .rcbInput,
#contentarea .card .rcbInner,
#contentarea .card .rdpInput {
    width: 100% !important;
    box-sizing: border-box;
}

#contentarea .card .RadPicker,
#contentarea .card .RadComboBox,
#contentarea .card .RadNumericTextBox {
    display: block;
}

.button {
    background-color: #486a1f !important;
    border-color: #486a1f !important;
    color: #fff !important;
}

.box {
    border-color: #486a1f !important;
    background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(72,106,31,.28) 100%) !important;
}

.payment-complete h1 {
    border-bottom-color: #486a1f !important;
}

.card a:not(.btn),
.card a:not(.btn):link,
.card a:not(.btn):visited {
    color: #005ea2 !important;
    text-decoration: underline;
}

.card a:not(.btn):hover,
.card a:not(.btn):focus,
.card a:not(.btn):focus-visible {
    color: #003f6b !important;
    text-decoration-thickness: 2px;
}

.card h2,
.card .h2 {
    color: #9c6c06 !important;
}

#footer,
#footer p,
.bottomlinks,
.bottomlinks p {
    color: #747474 !important;
}

.bottomlinks a,
.bottomlinks a:link,
.bottomlinks a:visited,
#footer .bottomlinks a,
#footer .bottomlinks a:link,
#footer .bottomlinks a:visited {
    color: #727272 !important;
    text-decoration: underline !important;
}

.bottomlinks a:hover,
.bottomlinks a:focus,
.bottomlinks a:focus-visible,
#footer .bottomlinks a:hover,
#footer .bottomlinks a:focus,
#footer .bottomlinks a:focus-visible {
    color: #4f4f4f !important;
    text-decoration-thickness: 2px;
}

.ndhealth #container {
    width: 100%;
    max-width: 100%;
    padding: 0.5rem 1rem;
}

.ndhealth #boxtop-full,
.ndhealth #boxbtm-full,
.ndhealth #boxcontent-full {
    width: 100%;
    max-width: 100%;
    background-size: cover;
}

@media (max-width: 991.98px) {
    .ndhealth #logobar {
        height: auto;
        padding-bottom: 0.5rem;
    }

    .ndhealth #topbar,
    .ndhealth #contentarea {
        height: auto;
    }

    .ndhealth h2 {
        padding-left: 0;
        padding-right: 0;
    }

    .box {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    .report-viewer-shell .close-report {
        width: 100%;
    }

    .ndhealth #container {
        padding: 0.5rem;
    }

    #menubar {
        padding: 0.5rem 0.75rem;
    }

    #menubar .navbar-collapse {
        width: 100%;
        margin-top: 0.5rem;
    }

    .nav-action-bar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.25rem;
    }

    .nav-action-link {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }
}
