/*
    This CSS file matches the color scheme from MudBlazor to Bootstrap when utilized for authentication.
    The file remains available at all times for demonstration purposes,
    but it is exclusively employed in the 'App.razor' component when authentication is enabled.
*/

/*.btn-primary {
    text-transform: uppercase;
    --bs-btn-bg: var(--mud-palette-primary) !important;
    --bs-btn-hover-bg: var(--mud-palette-primary-darken) !important;
}*/

@media print {

    body {
        margin: 10mm;
    }
}

#helpDrawer.mud-drawer--open {
    margin-left: 16px;
}

#helpDrawer.mud-drawer--closed {
    margin-left: 0px;
}

.box-shadow-generic {
    box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}

.mud-main-content {
    height: 100%;
}

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--mud-palette-primary) !important;
}

.nav {
    --bs-nav-link-color: var(--mud-palette-primary) !important;
    --bs-nav-link-hover-color: var(--mud-palette-primary-darken) !important;
}

.blur {
    backdrop-filter: blur(2px);
}

.text-justify {
    text-align: justify;
    text-justify: inter-word;
}

.mud-table-container {
    overflow-y: visible;
}

.signature-pad {
    padding: 8px;
    margin-top: 16px;
    border-width: 2px;
    border-radius: 0.475rem;
    border-style: dotted;
}

.prevent-select {
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

.cursor-pointer {
    cursor: pointer;
}

.text-overflow-ellipsis {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/*Vars*/
:root,
[data-bs-theme=light] {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000000;
    --bs-white: #ffffff;
    --bs-gray: #7E8299;
    --bs-gray-dark: #3F4254;
    --bs-gray-100: #F9F9F9;
    --bs-gray-200: #F4F4F4;
    --bs-gray-300: #E1E3EA;
    --bs-gray-400: #B5B5C3;
    --bs-gray-500: #A1A5B7;
    --bs-gray-600: #7E8299;
    --bs-gray-700: #5E6278;
    --bs-gray-800: #3F4254;
    --bs-gray-900: #181C32;
    --bs-white: #ffffff;
    --bs-light: #F9F9F9;
    --bs-primary: #009ef7;
    --bs-secondary: #E1E3EA;
    --bs-success: #50cd89;
    --bs-info: #7239ea;
    --bs-warning: #ffc700;
    --bs-danger: #f1416c;
    --bs-dark: #181C32;
    --bs-white-rgb: 255, 255, 255;
    --bs-light-rgb: 249, 249, 249;
    --bs-primary-rgb: 0, 158, 247;
    --bs-secondary-rgb: 225, 227, 234;
    --bs-success-rgb: 80, 205, 137;
    --bs-info-rgb: 114, 57, 234;
    --bs-warning-rgb: 255, 199, 0;
    --bs-danger-rgb: 241, 65, 108;
    --bs-dark-rgb: 24, 28, 50;
    --bs-primary-text: #0a58ca;
    --bs-secondary-text: #7E8299;
    --bs-success-text: #146c43;
    --bs-info-text: #087990;
    --bs-warning-text: #997404;
    --bs-danger-text: #b02a37;
    --bs-light-text: #7E8299;
    --bs-dark-text: #5E6278;
    --bs-primary-bg-subtle: #cfe2ff;
    --bs-secondary-bg-subtle: #F9F9F9;
    --bs-success-bg-subtle: #d1e7dd;
    --bs-info-bg-subtle: #cff4fc;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-danger-bg-subtle: #f8d7da;
    --bs-light-bg-subtle: #fcfcfc;
    --bs-dark-bg-subtle: #B5B5C3;
    --bs-primary-border-subtle: #9ec5fe;
    --bs-secondary-border-subtle: #F4F4F4;
    --bs-success-border-subtle: #a3cfbb;
    --bs-info-border-subtle: #9eeaf9;
    --bs-warning-border-subtle: #ffe69c;
    --bs-danger-border-subtle: #f1aeb5;
    --bs-light-border-subtle: #F4F4F4;
    --bs-dark-border-subtle: #A1A5B7;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 24, 28, 50;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif: Inter, Helvetica, "sans-serif";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #181C32;
    --bs-emphasis-color: #000000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-secondary-color: rgba(24, 28, 50, 0.75);
    --bs-secondary-color-rgb: 24, 28, 50;
    --bs-secondary-bg: #F4F4F4;
    --bs-secondary-bg-rgb: 244, 244, 244;
    --bs-tertiary-color: rgba(24, 28, 50, 0.5);
    --bs-tertiary-color-rgb: 24, 28, 50;
    --bs-tertiary-bg: #F9F9F9;
    --bs-tertiary-bg-rgb: 249, 249, 249;
    --bs-body-bg: #ffffff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-heading-color: #181C32;
    --bs-link-color: #009ef7;
    --bs-link-color-rgb: 0, 158, 247;
    --bs-link-decoration: none;
    --bs-link-hover-color: #0095e8;
    --bs-link-hover-color-rgb: 0, 149, 232;
    --bs-link-hover-decoration: none;
    --bs-code-color: #b93993;
    --bs-highlight-bg: #fff3cd;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #F4F4F4;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.475rem;
    --bs-border-radius-sm: 0.425rem;
    --bs-border-radius-lg: 0.625rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 2rem;
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 0.5rem 1.5rem 0.5rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-sm: 0 0.1rem 1rem 0.25rem rgba(0, 0, 0, 0.05);
    --bs-box-shadow-lg: 0 1rem 2rem 1rem rgba(0, 0, 0, 0.1);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-emphasis-color: #000000;
    --bs-form-control-bg: var(--bs-body-bg);
    --bs-form-control-disabled-bg: var(--bs-secondary-bg);
    --bs-highlight-bg: #fff3cd;
    --bs-breakpoint-xs: 0;
    --bs-breakpoint-sm: 576px;
    --bs-breakpoint-md: 768px;
    --bs-breakpoint-lg: 992px;
    --bs-breakpoint-xl: 1200px;
    --bs-breakpoint-xxl: 1400px;
}

[data-bs-theme=dark] {
    --bs-body-color: #FFFFFF;
    --bs-body-color-rgb: 255, 255, 255;
    --bs-body-bg: #1e1e2d;
    --bs-body-bg-rgb: 30, 30, 45;
    --bs-emphasis-color: #F9F9F9;
    --bs-emphasis-color-rgb: 249, 249, 249;
    --bs-secondary-color: rgba(255, 255, 255, 0.75);
    --bs-secondary-color-rgb: 255, 255, 255;
    --bs-secondary-bg: #3F4254;
    --bs-secondary-bg-rgb: 63, 66, 84;
    --bs-tertiary-color: rgba(255, 255, 255, 0.5);
    --bs-tertiary-color-rgb: 255, 255, 255;
    --bs-tertiary-bg: #2c2f43;
    --bs-tertiary-bg-rgb: 44, 47, 67;
    --bs-emphasis-color: #ffffff;
    --bs-primary-text: #6ea8fe;
    --bs-secondary-text: #E1E3EA;
    --bs-success-text: #75b798;
    --bs-info-text: #6edff6;
    --bs-warning-text: #ffda6a;
    --bs-danger-text: #ea868f;
    --bs-light-text: #F9F9F9;
    --bs-dark-text: #E1E3EA;
    --bs-primary-bg-subtle: #031633;
    --bs-secondary-bg-subtle: #181C32;
    --bs-success-bg-subtle: #051b11;
    --bs-info-bg-subtle: #032830;
    --bs-warning-bg-subtle: #332701;
    --bs-danger-bg-subtle: #2c0b0e;
    --bs-light-bg-subtle: #3F4254;
    --bs-dark-bg-subtle: #20212a;
    --bs-primary-border-subtle: #084298;
    --bs-secondary-border-subtle: #5E6278;
    --bs-success-border-subtle: #0f5132;
    --bs-info-border-subtle: #055160;
    --bs-warning-border-subtle: #664d03;
    --bs-danger-border-subtle: #842029;
    --bs-light-border-subtle: #5E6278;
    --bs-dark-border-subtle: #3F4254;
    --bs-heading-color: #FFFFFF;
    --bs-link-color: #009ef7;
    --bs-link-hover-color: #9ec5fe;
    --bs-link-color-rgb: 0, 158, 247;
    --bs-link-hover-color-rgb: 158, 197, 254;
    --bs-code-color: #b93993;
    --bs-border-color: #2B2B40;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
}


/*Separator*/

.separator {
    display: block;
    height: 0;
    border-bottom: 2px solid var(--bs-border-color);
}

    .separator.separator-dotted {
        border-bottom-style: dotted;
        border-bottom-color: var(--bs-border-dashed-color);
    }

    .separator.separator-dashed {
        border-bottom-style: dashed;
        border-bottom-color: var(--bs-border-dashed-color);
    }

    .separator.separator-content {
        display: flex;
        align-items: center;
        border-bottom: 0;
        text-align: center;
    }

        .separator.separator-content::before, .separator.separator-content::after {
            content: " ";
            width: 50%;
            border-bottom: 2px solid var(--bs-border-color);
        }

        .separator.separator-content::before {
            margin-right: 1.25rem;
        }

        .separator.separator-content::after {
            margin-left: 1.25rem;
        }

        .separator.separator-content.separator-dotted::before, .separator.separator-content.separator-dotted::after {
            border-bottom-style: dotted;
            border-bottom-color: var(--bs-border-dashed-color);
        }

        .separator.separator-content.separator-dashed::before, .separator.separator-content.separator-dashed::after {
            border-bottom-style: dashed;
            border-bottom-color: var(--bs-border-dashed-color);
        }

        .separator.separator-content.border-white::before, .separator.separator-content.border-white::after {
            border-color: #ffffff !important;
        }

        .separator.separator-content.border-light::before, .separator.separator-content.border-light::after {
            border-color: #F9F9F9 !important;
        }

        .separator.separator-content.border-primary::before, .separator.separator-content.border-primary::after {
            border-color: #009ef7 !important;
        }

        .separator.separator-content.border-secondary::before, .separator.separator-content.border-secondary::after {
            border-color: #E1E3EA !important;
        }

        .separator.separator-content.border-success::before, .separator.separator-content.border-success::after {
            border-color: #50cd89 !important;
        }

        .separator.separator-content.border-info::before, .separator.separator-content.border-info::after {
            border-color: #7239ea !important;
        }

        .separator.separator-content.border-warning::before, .separator.separator-content.border-warning::after {
            border-color: #ffc700 !important;
        }

        .separator.separator-content.border-danger::before, .separator.separator-content.border-danger::after {
            border-color: #f1416c !important;
        }

        .separator.separator-content.border-dark::before, .separator.separator-content.border-dark::after {
            border-color: #181C32 !important;
        }
/*Flex*/

.flex-root {
    flex: 1;
}

.flex-column-auto {
    flex: none;
}

.flex-column-fluid {
    flex: 1 0 auto;
}

.flex-row-auto {
    flex: 0 0 auto;
}

.flex-row-fluid {
    flex: 1 auto;
    min-width: 0;
}

.flex-center {
    justify-content: center;
    align-items: center;
}

.flex-start {
    justify-content: start;
    align-items: start;
}

.flex-end {
    justify-content: end;
    align-items: end;
}

.flex-stack {
    justify-content: space-between;
    align-items: center;
}



/*Text*/

.fs-1 {
    font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-2 {
    font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-3 {
    font-size: calc(1.26rem + 0.12vw) !important;
}

.fs-4 {
    font-size: 1.25rem !important;
}

.fs-5 {
    font-size: 1.15rem !important;
}

.fs-6 {
    font-size: 1.075rem !important;
}

.fs-7 {
    font-size: 0.95rem !important;
}

.fs-8 {
    font-size: 0.85rem !important;
}

.fs-9 {
    font-size: 0.75rem !important;
}

.fs-10 {
    font-size: 0.5rem !important;
}

.fs-base {
    font-size: 1rem !important;
}

.fs-fluid {
    font-size: 100% !important;
}


.fst-italic {
    font-style: italic !important;
}

.fst-normal {
    font-style: normal !important;
}

.fw-lighter {
    font-weight: lighter !important;
}

.fw-light {
    font-weight: 300 !important;
}

.fw-normal {
    font-weight: 400 !important;
}

.fw-medium {
    font-weight: 500 !important;
}

.fw-semibold {
    font-weight: 500 !important;
}

.fw-bold {
    font-weight: 600 !important;
}

.fw-bolder {
    font-weight: 700 !important;
}

/*Links*/

.text-decoration-underline {
    text-decoration: underline !important;
}

.link-white {
    color: #ffffff !important;
}

    .link-white:hover, .link-white:focus {
        color: white !important;
    }

.link-light {
    color: #F9F9F9 !important;
}

    .link-light:hover, .link-light:focus {
        color: #fafafa !important;
    }

.link-primary {
    color: #009ef7 !important;
    text-decoration: inherit;
}

    .link-primary:hover, .link-primary:focus {
        color: #33b1f9 !important;
        text-decoration: underline;
    }

.link-secondary {
    color: #E1E3EA !important;
}

    .link-secondary:hover, .link-secondary:focus {
        color: #e7e9ee !important;
    }

.link-success {
    color: #50cd89 !important;
}

    .link-success:hover, .link-success:focus {
        color: #73d7a1 !important;
    }

.link-info {
    color: #7239ea !important;
}

    .link-info:hover, .link-info:focus {
        color: #5b2ebb !important;
    }

.link-warning {
    color: #ffc700 !important;
}

    .link-warning:hover, .link-warning:focus {
        color: #ffd233 !important;
    }

.link-danger {
    color: #f1416c !important;
}

    .link-danger:hover, .link-danger:focus {
        color: #f46789 !important;
    }

.link-dark {
    color: #181C32 !important;
}

    .link-dark:hover, .link-dark:focus {
        color: #131628 !important;
    }

@media (max-width:801px){
    :root {
        --button-scale-factor: 0.1
    }
}
@media (min-width:802px) {
    :root {
        --button-scale-factor: 0.035
    }
}

.button-panel {
    display: inline-block;
    max-height: 100vh;
    overflow: hidden;
    width: 100%;
    padding: 0.5rem 1rem;
    border: 2px solid var(--mud-palette-drawer-background);
    border-radius: 1rem;
    align-content: center;
    cursor: pointer;
    background-color: transparent;
    color: var(--mud-palette-text-primary);
    transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}

    .button-panel.disabled {
        cursor: not-allowed;
        background-color: var(--mud-palette-action-disabled-background);
        border: 2px solid var(--mud-palette-action-disabled-background);
        color: var(--mud-palette-action-disabled);
    }

    @media (hover: hover) {
        .button-panel:hover:not(.disabled) {
            background-color: var(--mud-palette-drawer-background);
            color: var(--bs-white) !important;
            transform: scale(calc(1 + var(--button-scale-factor)));
        }

        .button-panel:hover:active:not(.disabled) {
            transform: scale(calc(1 - var(--button-scale-factor)));
        }
        .button-panel:active:not(.disabled) {
            transform: scale(calc(1 - var(--button-scale-factor)));
        }
    }

    .button-panel.selected {
        background-color: var(--mud-palette-drawer-background);
        color: var(--bs-white) !important;
    }

.button-panel:active:not(.disabled) {
    transform: scale(calc(1 - var(--button-scale-factor)));
}

        @media (hover: hover) {

            .button-panel.selected:hover {
                transform: scale(calc(1 + var(--button-scale-factor)));
            }
        }

        .button-panel-text {
            padding-top: 30%;
            padding-bottom: 30%;
        }