﻿/* automatic dark theming for bootstrap colors */
@media screen and (prefers-color-scheme: dark) {
    [data-bs-theme=auto] {
        color-scheme: dark;
        --bs-body-color: #dee2e6;
        --bs-body-color-rgb: 222, 226, 230;
        --bs-body-bg: #212529;
        --bs-body-bg-rgb: 33, 37, 41;
        --bs-emphasis-color: #fff;
        --bs-emphasis-color-rgb: 255, 255, 255;
        --bs-secondary-color: rgba(222, 226, 230, 0.75);
        --bs-secondary-color-rgb: 222, 226, 230;
        --bs-secondary-bg: #343a40;
        --bs-secondary-bg-rgb: 52, 58, 64;
        --bs-tertiary-color: rgba(222, 226, 230, 0.5);
        --bs-tertiary-color-rgb: 222, 226, 230;
        --bs-tertiary-bg: #2b3035;
        --bs-tertiary-bg-rgb: 43, 48, 53;
        --bs-primary-text-emphasis: #6ea8fe;
        --bs-secondary-text-emphasis: #a7acb1;
        --bs-success-text-emphasis: #75b798;
        --bs-info-text-emphasis: #6edff6;
        --bs-warning-text-emphasis: #ffda6a;
        --bs-danger-text-emphasis: #ea868f;
        --bs-light-text-emphasis: #f8f9fa;
        --bs-dark-text-emphasis: #dee2e6;
        --bs-primary-bg-subtle: #031633;
        --bs-secondary-bg-subtle: #161719;
        --bs-success-bg-subtle: #051b11;
        --bs-info-bg-subtle: #032830;
        --bs-warning-bg-subtle: #332701;
        --bs-danger-bg-subtle: #2c0b0e;
        --bs-light-bg-subtle: #343a40;
        --bs-dark-bg-subtle: #1a1d20;
        --bs-primary-border-subtle: #084298;
        --bs-secondary-border-subtle: #41464b;
        --bs-success-border-subtle: #0f5132;
        --bs-info-border-subtle: #087990;
        --bs-warning-border-subtle: #997404;
        --bs-danger-border-subtle: #842029;
        --bs-light-border-subtle: #495057;
        --bs-dark-border-subtle: #343a40;
        --bs-heading-color: inherit;
        --bs-link-color: #6ea8fe;
        --bs-link-hover-color: #8bb9fe;
        --bs-link-color-rgb: 110, 168, 254;
        --bs-link-hover-color-rgb: 139, 185, 254;
        --bs-code-color: #e685b5;
        --bs-highlight-color: #dee2e6;
        --bs-highlight-bg: #664d03;
        --bs-border-color: #495057;
        --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
        --bs-form-valid-color: #75b798;
        --bs-form-valid-border-color: #75b798;
        --bs-form-invalid-color: #ea868f;
        --bs-form-invalid-border-color: #ea868f;
    }

        [data-bs-theme=auto] .btn-close {
            filter: var(--bs-btn-close-white-filter)
        }
}


/* site theme */
:root {
    --bs-breadcrumb-divider: '\002B9E';
    --title-color: cornflowerblue;
    --scrollbar-width: 16px;
    --scrollbar-height: 16px;
    --vertical-spacing: 4px;
    --glass-opacity: 0.65;
    --border-opacity: 0.25;
    --kiosk-height: 38px;
    --brand-height: 56px;
    --theme-filter: blur(5px);
    --theme-background-light: rgba(220, 220, 220, var(--glass-opacity));
    --theme-background-dark: rgba(64, 64, 64, var(--glass-opacity));
    --theme-background: var(--theme-background-light);
    --active-background-light: rgba(255, 255, 255, 0.7);
    --active-background-dark: rgba(25, 25, 25, 0.7);
    --active-background: var(--active-background-light);
    --inactive-option-color-light: var(--bs-tertiary-color);
    --inactive-option-color-dark: var(--bs-tertiary-color);
    --inactive-option-color: var(--inactive-option-color-light);
    --stroke-color: var(--bs-body-color);
    --stroke-color-primary-light: var(--bs-primary);
    --stroke-color-primary-dark: var(--bs-primary-text-emphasis);
    --stroke-color-primary: var(--stroke-color-primary-light);
    --stroke-color-danger-light: var(--bs-danger);
    --stroke-color-danger-dark: var(--bs-danger-text-emphasis);
    --stroke-color-danger: var(--stroke-color-danger-light);
    --stop-color: firebrick;
    --nav-size: 250px;
    --nav-bg: var(--nav-bg-light);
}

@supports (-webkit-touch-callout: none) {
    /* iOS devices only */
    --bs-breadcrumb-divider: '/';
}

/* eighties */
[data-nav-bg=eighties] {
    --nav-bg-light: linear-gradient( rgba(232, 232, 232, var(--glass-opacity)) 0%, rgba(76, 112, 179, var(--glass-opacity)) 45%, rgba(145, 66, 165, var(--glass-opacity)) 75%);
    --nav-bg-dark: linear-gradient( rgba(0, 0, 0, var(--glass-opacity)) 0%, rgba(5, 39, 103, var(--glass-opacity)) 45%, rgba(58, 6, 71, var(--glass-opacity)) 75%);
}

/* blue */
[data-nav-bg=blue] {
    --nav-bg-light: linear-gradient( rgba(180, 180, 255, var(--glass-opacity)) 20%, rgba(120, 120, 190, var(--glass-opacity)) 70%, rgba(180, 180, 255, var(--glass-opacity)) 90%);
    --nav-bg-dark: linear-gradient( rgba(0, 0, 32, var(--glass-opacity)) 20%, rgba(5, 23, 64, var(--glass-opacity)) 70%, rgba(0, 0, 32, var(--glass-opacity)) 90%);
}

/* nature */
[data-nav-bg=nature] {
    --nav-bg-light: linear-gradient(rgba(78,78,128, var(--glass-opacity)) 0%, rgba(105, 178, 134, var(--glass-opacity)) 85%, rgb(130,189,159, var(--glass-opacity)) 100%);
    --nav-bg-dark: linear-gradient(rgba(0,0,0, var(--glass-opacity)) 0%, rgba(5, 78, 34, var(--glass-opacity)) 85%, rgb(30,89,59, var(--glass-opacity)) 100%);
}

/* metal */
[data-nav-bg=metal] {
    --nav-bg-light: linear-gradient( 33deg, #999 5%, #fff 10%, #ccc 30%, #ddd 50%, #ccc 70%, #fff 80%, #999 95% );
    --nav-bg-dark: linear-gradient( 33deg, #222 5%, #666 10%, #333 30%, #444 50%, #333 70%, #666 80%, #222 95% );
}

/* rainbow */
[data-nav-bg=rainbow] {
    --nav-bg-light: linear-gradient(123deg, rgba(176, 88, 88, var(--glass-opacity)) 10%, rgba(189, 156, 92, var(--glass-opacity)) 20%, rgba(190, 190, 95, var(--glass-opacity)) 30%, rgba(97, 190, 97, var(--glass-opacity)) 50%, rgba(100, 100, 194, var(--glass-opacity)) 70%, rgba(149, 96, 188, var(--glass-opacity)) 80%, rgba(187, 93, 187, var(--glass-opacity)) 90%);
    --nav-bg-dark: linear-gradient(123deg, rgba(133, 0, 0, var(--glass-opacity)) 10%, rgba(139, 91, 0, var(--glass-opacity)) 20%, rgba(136, 136, 0, var(--glass-opacity)) 30%, rgba(0, 131, 0, var(--glass-opacity)) 50%, rgba(0, 0, 129, var(--glass-opacity)) 70%, rgba(72, 0, 124, var(--glass-opacity)) 80%, rgba(136, 0, 136, var(--glass-opacity)) 90%);
}

/* red */
[data-nav-bg=red] {
    --nav-bg-light: linear-gradient(123deg, rgba(204, 20, 20, var(--glass-opacity)) 20%, rgba(255, 255, 255, var(--glass-opacity)) 80%, rgba(127, 0, 0, var(--glass-opacity)) 90%);
    --nav-bg-dark: linear-gradient(123deg, rgba(204, 0, 0, var(--glass-opacity)) 20%, rgba(0, 0, 0, var(--glass-opacity)) 70%, rgba(0, 0, 0, var(--glass-opacity)) 80%, rgba(127, 0, 0, var(--glass-opacity)) 90%);
}

[data-bs-theme=auto] [data-bs-theme=""] {
    --nav-bg: var(--nav-bg-light);
}
[data-bs-theme=light] [data-bs-theme=""] {
    --nav-bg: var(--nav-bg-light);
}
[data-bs-theme=dark] [data-bs-theme=""] {
    --nav-bg: var(--nav-bg-dark);
}

/* light specific theming */
[data-bs-theme=light] {
    --theme-background: var(--theme-background-light);
    --active-background: var(--active-background-light);
    --inactive-option-color: var(--inactive-option-color-light);
    --stroke-color-primary: var(--stroke-color-primary-light);
    --stroke-color-danger: var(--stroke-color-danger-light);
    --nav-bg: var(--nav-bg-light);
}

/* dark specific theming */
[data-bs-theme=dark] {
    --theme-background: var(--theme-background-dark);
    --active-background: var(--active-background-dark);
    --inactive-option-color: var(--inactive-option-color-dark);
    --stroke-color-primary: var(--stroke-color-primary-dark);
    --stroke-color-danger: var(--stroke-color-danger-dark);
    --nav-bg: var(--nav-bg-dark);
}

/* auto-dark theming */
@media screen and (prefers-color-scheme: dark) {
    [data-bs-theme=auto] [data-bs-theme=""] {
        --nav-bg: var(--nav-bg-dark);
    }

    [data-bs-theme=auto] {
        --theme-background: var(--theme-background-dark);
        --active-background: var(--active-background-dark);
        --inactive-option-color: var(--inactive-option-color-dark);
        --stroke-color-primary: var(--stroke-color-primary-dark);
        --stroke-color-danger: var(--stroke-color-danger-dark);
        --nav-bg: var(--nav-bg-dark);
    }

        [data-bs-theme=auto] .form-select {
            --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")
        }
}

/* fix bootstrap dark-on-dark badges and buttons */
[data-bs-theme=dark] .badge.bg-dark {
    border: solid 1px var(--bs-secondary-color);
}
[data-bs-theme=dark] .btn.btn-outline-dark {
    --bs-btn-color: var(--bs-secondary-color);
    --bs-btn-border-color: var(--bs-secondary-color);
    --bs-btn-hover-border-color: var(--bs-btn-hover-color);
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-disabled-color: var(--bs-tertiary-color);
    --bs-btn-disabled-border-color: var(--bs-tertiary-color);
}
[data-bs-theme=dark] .btn.btn-dark {
    --bs-btn-border-color: var(--bs-border-color);
    --bs-btn-hover-border-color: var(--bs-btn-hover-color);
}
@media screen and (prefers-color-scheme: dark) {
    [data-bs-theme=auto] .badge.bg-dark {
        border: solid 1px var(--bs-secondary-color);
    }
    [data-bs-theme=auto] .btn.btn-outline-dark {
        --bs-btn-color: var(--bs-secondary-color);
        --bs-btn-border-color: var(--bs-secondary-color);
        --bs-btn-hover-border-color: var(--bs-btn-hover-color);
        --bs-btn-active-color: var(--bs-white);
        --bs-btn-disabled-color: var(--bs-tertiary-color);
        --bs-btn-disabled-border-color: var(--bs-tertiary-color);
    }
    [data-bs-theme=auto] .btn.btn-dark {
        --bs-btn-border-color: var(--bs-border-color);
        --bs-btn-hover-border-color: var(--bs-btn-hover-color);
    }
}
@media print {
    @page {
        size: a3;
    }

    body {
        min-width: 992px !important;
    }
    .container {
        min-width: 992px !important;
    }

    :root {
        color-scheme: 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: #000;
        --bs-white: #fff;
        --bs-gray: #6c757d;
        --bs-gray-dark: #343a40;
        --bs-gray-100: #f8f9fa;
        --bs-gray-200: #e9ecef;
        --bs-gray-300: #dee2e6;
        --bs-gray-400: #ced4da;
        --bs-gray-500: #adb5bd;
        --bs-gray-600: #6c757d;
        --bs-gray-700: #495057;
        --bs-gray-800: #343a40;
        --bs-gray-900: #212529;
        --bs-primary: #0d6efd;
        --bs-secondary: #6c757d;
        --bs-success: #198754;
        --bs-info: #0dcaf0;
        --bs-warning: #ffc107;
        --bs-danger: #dc3545;
        --bs-light: #f8f9fa;
        --bs-dark: #212529;
        --bs-primary-rgb: 13, 110, 253;
        --bs-secondary-rgb: 108, 117, 125;
        --bs-success-rgb: 25, 135, 84;
        --bs-info-rgb: 13, 202, 240;
        --bs-warning-rgb: 255, 193, 7;
        --bs-danger-rgb: 220, 53, 69;
        --bs-light-rgb: 248, 249, 250;
        --bs-dark-rgb: 33, 37, 41;
        --bs-primary-text-emphasis: #052c65;
        --bs-secondary-text-emphasis: #2b2f32;
        --bs-success-text-emphasis: #0a3622;
        --bs-info-text-emphasis: #055160;
        --bs-warning-text-emphasis: #664d03;
        --bs-danger-text-emphasis: #58151c;
        --bs-light-text-emphasis: #495057;
        --bs-dark-text-emphasis: #495057;
        --bs-primary-bg-subtle: #cfe2ff;
        --bs-secondary-bg-subtle: #e2e3e5;
        --bs-success-bg-subtle: #d1e7dd;
        --bs-info-bg-subtle: #cff4fc;
        --bs-warning-bg-subtle: #fff3cd;
        --bs-danger-bg-subtle: #f8d7da;
        --bs-light-bg-subtle: #fcfcfd;
        --bs-dark-bg-subtle: #ced4da;
        --bs-primary-border-subtle: #9ec5fe;
        --bs-secondary-border-subtle: #c4c8cb;
        --bs-success-border-subtle: #a3cfbb;
        --bs-info-border-subtle: #9eeaf9;
        --bs-warning-border-subtle: #ffe69c;
        --bs-danger-border-subtle: #f1aeb5;
        --bs-light-border-subtle: #e9ecef;
        --bs-dark-border-subtle: #adb5bd;
        --bs-white-rgb: 255, 255, 255;
        --bs-black-rgb: 0, 0, 0;
        --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --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: #212529;
        --bs-body-color-rgb: 33, 37, 41;
        --bs-body-bg: #fff;
        --bs-body-bg-rgb: 255, 255, 255;
        --bs-emphasis-color: #000;
        --bs-emphasis-color-rgb: 0, 0, 0;
        --bs-secondary-color: rgba(33, 37, 41, 0.75);
        --bs-secondary-color-rgb: 33, 37, 41;
        --bs-secondary-bg: #e9ecef;
        --bs-secondary-bg-rgb: 233, 236, 239;
        --bs-tertiary-color: rgba(33, 37, 41, 0.5);
        --bs-tertiary-color-rgb: 33, 37, 41;
        --bs-tertiary-bg: #f8f9fa;
        --bs-tertiary-bg-rgb: 248, 249, 250;
        --bs-heading-color: inherit;
        --bs-link-color: #0d6efd;
        --bs-link-color-rgb: 13, 110, 253;
        --bs-link-decoration: underline;
        --bs-link-hover-color: #0a58ca;
        --bs-link-hover-color-rgb: 10, 88, 202;
        --bs-code-color: #d63384;
        --bs-highlight-color: #212529;
        --bs-highlight-bg: #fff3cd;
        --bs-border-width: 1px;
        --bs-border-style: solid;
        --bs-border-color: #dee2e6;
        --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
        --bs-border-radius: 0.375rem;
        --bs-border-radius-sm: 0.25rem;
        --bs-border-radius-lg: 0.5rem;
        --bs-border-radius-xl: 1rem;
        --bs-border-radius-xxl: 2rem;
        --bs-border-radius-2xl: var(--bs-border-radius-xxl);
        --bs-border-radius-pill: 50rem;
        --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
        --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
        --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
        --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
        --bs-focus-ring-width: 0.25rem;
        --bs-focus-ring-opacity: 0.25;
        --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
        --bs-form-valid-color: #198754;
        --bs-form-valid-border-color: #198754;
        --bs-form-invalid-color: #dc3545;
        --bs-form-invalid-border-color: #dc3545;
    }
}

text:not([fill]) {
    fill: var(--bs-body-color);
}

line:not([stroke]) {
    stroke: var(--stroke-color);
}

[class^='stroke'] circle:not([stroke]) {
    stroke: var(--stroke-color);
}

[class^='stroke'] rect:not([stroke]) {
    stroke: var(--stroke-color);
}

.stroke-none {
    --stroke-color: none;
}

.stroke-normal {
    --stroke-color: var(--bs-body-color);
}

.stroke-primary {
    --stroke-color: var(--stroke-color-primary);
}

.stroke-danger {
    --stroke-color: var(--stroke-color-danger);
}