﻿
@font-face {
    font-family: 'montserrat-regular';
    src: url('/resources/libs/fonts/Montserrat-Regular.ttf') format('truetype');
}

body {
    background-color: #fff !important;
    font-family: 'Montserrat', montserrat-regular, sans-serif;
}

:root {
    /* SIF specifics */
    --sif-white: #ffffff;
    --sif-offblack: #212529;
    --sif-offblack-rgb: 33, 37, 41;
    --sif-slate: #424242;
    --sif-slate-rgb: 66, 66, 66;
    --sif-gray1: #f8f8f8;
    --sif-gray2: #f2f2f2;
    --sif-gray3: #d9d9d9;
    --sif-gray4: #bfbfbf;
    --sif-gray5: #686868;
    --sif-gray5-rgb: 104, 104, 104;
    --sif-gray5-hs: 0deg, 0%;
    --sif-gray5-l: 40.78%;
    --sif-gray6: #424242;
    --sif-gray7: #333333;
    --sif-gray: #97999B; /*virtually unusable contrast*/
    --sif-gray-rgb: 151, 153, 155;
    --sif-blue: #01426a;
    --sif-blue-rgb: 1, 66, 106;
    --sif-blue-hs: 203deg, 98%;
    --sif-blue-l: 21%;
    --sif-midblue: #01426A;
    --sif-teal: #007680;
    --sif-teal-rgb: 0, 118, 128;
    --sif-teal-h: 185deg;
    --sif-teal-s: 100%;
    --sif-teal-l: 25%;
    /*success green contrast against black*/
    --sif-alt-green: #228848;
    --sif-alt-green-rgb: 34, 136, 72;
    /*success green contrast against white*/
    --sif-alt-green-hc: #228748;
    --sif-alt-green-hc-rgb: 34, 135, 72;
    --sif-alt-red: #9e292b;
    --sif-alt-red-rgb: 158, 41, 43;
    --sif-emphasis-yellow: #f3dd6d;
    --sif-emphasis-yellow-rgb: 243, 221, 109;
    --sif-emphasis-yellow-hs: 50deg, 85%;
    --sif-emphasis-yellow-l: 69%;
    --sif-emphasis-blue: #77c5d5; /*rgb(119 197 213)*/
    --sif-emphasis-blue-rgb: 119, 197, 213;
    --sif-emphasis-blue-hs: 190, 53%;
    --sif-emphasis-blue-l: 65%;
    --sif-emphasis-green: #cdea80; /*rgb(205 234 128)*/
    --sif-emphasis-green-rgb: 205, 234, 128;
    --sif-emphasis-green-hs: 76, 72%;
    --sif-emphasis-green-l: 71%;
    /* SIF generics (These should reference "SIF specifics". BS overrides should reference "SIF generics") */
    --sif-c-dark: var(--sif-slate);
    --sif-c-dark-rgb: var(--sif-slate-rgb);
    --sif-c-primary: var(--sif-teal);
    --sif-c-primary-rgb: var(--sif-teal-rgb);
    --sif-c-primary-hs: var(--sif-teal-h), var(--sif-teal-s);
    --sif-c-primary-l: var(--sif-teal-l);
    --sif-c-secondary: var(--sif-gray5);
    --sif-c-secondary-rgb: var(--sif-gray5-rgb);
    --sif-c-secondary-hs: var(--sif-gray5-hs);
    --sif-c-secondary-l: var(--sif-gray5-l);
    --sif-c-tertiary: var(--sif-blue);
    --sif-c-tertiary-rgb: var(--sif-blue-rgb);
    --sif-c-tertiary-hs: var(--sif-blue-hs);
    --sif-c-tertiary-l: var(--sif-blue-l);
    --sif-c-callout-neutral: var(--sif-emphasis-blue);
    --sif-c-callout-neutral-rgb: var(--sif-emphasis-blue-rgb);
    --sif-c-callout-neutral-hs: var(--sif-emphasis-blue-hs);
    --sif-c-callout-neutral-l: var(--sif-emphasis-blue-l);
    --sif-c-callout-emphasis: var(--sif-emphasis-green);
    --sif-c-callout-emphasis-rgb: var(--sif-emphasis-green-rgb);
    --sif-c-callout-emphasis-hs: var(--sif-emphasis-green-hs);
    --sif-c-callout-emphasis-l: var(--sif-emphasis-green-l);
    --sif-c-callout-warning: var(--sif-emphasis-yellow);
    --sif-c-callout-warning-rgb: var(--sif-emphasis-yellow-rgb);
    --sif-c-callout-warning-hs: var(--sif-emphasis-yellow-hs);
    --sif-c-callout-warning-l: var(--sif-emphasis-yellow-l);
    /* BS root overrides */
    /*--bs-primary-rgb: var(--sif-teal-rgb);
    --bs-primary-text-emphasis: --var(--sif-teal);
    --bs-alert-color: var(--bs-primary-text-emphasis);
    --bs-alert-bg: var(--bs-primary-bg-subtle);
    --bs-alert-border-color: var(--bs-primary-border-subtle);
    --bs-alert-link-color: var(--bs-primary-text-emphasis);*/
    /*...*/
    --bs-primary: var(--sif-c-primary);
    --bs-secondary: var(--sif-c-secondary);
    --bs-success: var(--sif-alt-green-hc);
    --bs-info: var(--sif-c-callout-neutral);
    --bs-warning: var(--sif-c-callout-warning);
    --bs-danger: var(--sif-alt-red);
    /*--bs-light: #f8f9fa;*/
    --bs-dark: var(--sif-c-dark);
    --bs-primary-rgb: var(--sif-c-primary-rgb);
    --bs-secondary-rgb: var(--sif-c-secondary-rgb);
    --bs-success-rgb: var(--sif-alt-green-hc-rgb);
    --bs-info-rgb: var(--sif-c-callout-neutral-rgb);
    --bs-warning-rgb: var(--sif-c-callout-warning-rgb);
    --bs-danger-rgb: var(--sif-alt-red-rgb);
    /*--bs-light-rgb: 248, 249, 250;*/
    --bs-dark-rgb: var(--sif-c-dark-rgb);
    /*--bs-primary-text-emphasis: var(--sif-c-primary);*/
    --bs-primary-text-emphasis: hsl(var(--sif-c-primary-hs), calc(var(--sif-c-primary-l) * 0.5));
    --bs-secondary-text-emphasis: hsl(var(--sif-c-secondary-hs), calc(var(--sif-c-secondary-l) * 0.5));
    --bs-success-text-emphasis: var(--sif-alt-green-hc);
    --bs-info-text-emphasis: hsl(var(--sif-c-callout-neutral-hs), calc(var(--sif-c-callout-neutral-l) * 0.4));
    --bs-warning-text-emphasis: hsl(var(--sif-c-callout-warning-hs), calc(var(--sif-c-callout-warning-l) * 0.35));
    --bs-danger-text-emphasis: var(--sif-alt-red);
    /*--bs-light-text-emphasis: #495057;*/
    /*--bs-dark-text-emphasis: #495057;*/
    --bs-primary-bg-subtle: rgba(var(--sif-c-primary-rgb), 0.5);
    --bs-secondary-bg-subtle: rgba(var(--sif-c-secondary-rgb), 0.5);
    /*--bs-success-bg-subtle: #d1e7dd;*/
    --bs-info-bg-subtle: rgba(var(--sif-c-callout-neutral-rgb), 0.4);
    --bs-warning-bg-subtle: rgba(var(--sif-c-callout-warning-rgb), 0.5);
    /*--bs-danger-bg-subtle: #f8d7da;*/
    /*--bs-light-bg-subtle: #fcfcfd;*/
    /*--bs-dark-bg-subtle: #ced4da;*/
    --bs-primary-border-subtle: rgba(var(--sif-c-primary-rgb), 0.6);
    --bs-secondary-border-subtle: rgba(var(--sif-c-secondary-rgb), 0.6);
    /*--bs-success-border-subtle: #a3cfbb;*/
    --bs-info-border-subtle: rgba(var(--sif-c-callout-neutral-rgb), 0.6);
    --bs-warning-border-subtle: rgba(var(--sif-c-callout-warning-rgb), 0.6);
    /*--bs-danger-border-subtle: #f1aeb5;*/
    /*--bs-light-border-subtle: #e9ecef;*/
    /*--bs-dark-border-subtle: #adb5bd;*/
    --bs-form-invalid-border-color: var(--sif-alt-red);
    --bs-form-invalid-color: var(--sif-alt-red);
}

body:not(.site-li) .site-logged-in-only {
    display: none !important;
}

body.site-li .site-logged-out-only {
    display: none !important;
}

#site-header h1 {
    color: var(--bs-primary);
    /*color: rgba(var(--bs-white-rgb), 0.95);*/
}
#site-header-secondary {
    border-top: 6px solid var(--sif-c-primary);
}

h2, h3, h4, h5, h6,
.h2, .h3, .h4, .h5, .h6 {
    color: var(--bs-primary);
}

h1, .h1 { font-size: 2.75rem; }
h2, .h2 { font-size: 2.25rem; }
h3, .h3 { font-size: 1.75rem; }
h4, .h4 { font-size: 1.5rem; }
h5, .h5 { font-size: 1.25rem; }
h6, .h6 { font-size: 1.0rem; }

.form-control.is-invalid {
    background-position-y: 60%;
    background-image: url(/Resources/globalsif/images/icons/exclamation-triangle-solid-red.svg);
}

.form-control[type="date"].is-invalid {
    /*background-position-y: 60%;*/
    background-position: top 60% right 3.4rem;
    background-image: url(/Resources/globalsif/images/icons/exclamation-triangle-solid-red.svg);
}

.form-select.is-invalid:not([multiple]):not([size]) {
    /*.form-select.is-invalid:not([multiple])[size="1"], .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"] */
    --bs-form-select-bg-icon: url(/Resources/globalsif/images/icons/exclamation-triangle-solid-red.svg) /*url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e")*/;
    /*padding-right: 4.125rem;
    background-position: right .75rem center,center right 2.25rem;
    background-size: 16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);*/
}


/*accordion*/
.accordion {
    --bs-accordion-btn-color: var(--sif-c-tertiary);
    --bs-accordion-active-bg: var(--sif-c-tertiary);
    --bs-accordion-active-color: #fff;
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-border-color: var(--sif-c-tertiary);
    --bs-accordion-btn-bg: var(--sif-c-tertiary);
    --bs-accordion-color: var(--bs-body-color);
    --bs-accordion-btn-color: #fff;
}




    .accordion .accordion-header .accordion-button.collapsed:hover {
        /*redundant, but keeping selector in case we change the closed style*/
        background-color: rgb(1,53,86) !important;
    }

    .accordion .accordion-header .accordion-button:hover {
        background-color: rgb(1,53,86) !important;
    }

/*buttons*/
.btn-outline-primary {
    --bs-btn-color: var(--sif-c-primary);
    --bs-btn-border-color: var(--sif-c-primary);
    /*--bs-btn-hover-color: #fff;*/
    --bs-btn-hover-bg: var(--sif-c-primary);
    --bs-btn-hover-border-color: var(--sif-c-primary);
    /*--bs-btn-focus-shadow-rgb: 13,110,253;*/
    /*--bs-btn-active-color: #fff;*/
    --bs-btn-active-bg: var(--sif-c-primary);
    --bs-btn-active-border-color: var(--sif-c-primary);
    /*--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);*/
    --bs-btn-disabled-color: var(--sif-c-primary);
    /*--bs-btn-disabled-bg: transparent;*/
    --bs-btn-disabled-border-color: var(--sif-c-primary);
    /*--bs-gradient: none;*/
}


.btn-primary {
    --sif-bg-hs: var(--sif-c-primary-hs);
    --sif-bg-l: var(--sif-c-primary-l);
    --sif-bg: var(--sif-c-primary);
    --sif-outline-rgb: var(--sif-c-primary-rgb);
    --sif-lumin-offset-base: -0.1;
}

.btn-secondary {
    --sif-bg-hs: var(--sif-c-secondary-hs);
    --sif-bg-l: var(--sif-c-secondary-l);
    --sif-bg: var(--sif-c-secondary);
    --sif-outline-rgb: var(--sif-c-secondary-rgb);
    --sif-lumin-offset-base: -0.1;
}

.btn-warning {
    --sif-bg-hs: var(--sif-c-callout-warning-hs);
    --sif-bg-l: var(--sif-c-callout-warning-l);
    --sif-bg: var(--sif-c-callout-warning);
    --sif-outline-rgb: var(--sif-c-callout-warning-rgb);
    --sif-lumin-offset-base: -0.1;
    --bs-btn-color: #000;
}

.btn-info {
    --sif-bg-hs: var(--sif-c-callout-neutral-hs);
    --sif-bg-l: var(--sif-c-callout-neutral-l);
    --sif-bg: var(--sif-c-callout-neutral);
    --sif-outline-rgb: var(--sif-c-callout-neutral-rgb);
    --sif-lumin-offset-base: -0.1;
    --bs-btn-color: #000;
}

.btn-light.btn-callout {
    --sif-bg-hs: var(--sif-c-callout-emphasis-hs);
    --sif-bg-l: var(--sif-c-callout-emphasis-l);
    --sif-bg: var(--sif-c-callout-emphasis);
    --sif-outline-rgb: var(--sif-c-callout-emphasis-rgb);
    --sif-lumin-offset-base: -0.1;
}

.btn-dark.btn-util {
    --sif-bg-hs: var(--sif-c-tertiary-hs);
    --sif-bg-l: var(--sif-c-tertiary-l);
    --sif-bg: var(--sif-c-tertiary);
    --sif-outline-rgb: var(--sif-c-tertiary-rgb);
    --sif-lumin-offset-base: 0.15;
}

.btn-primary,
.btn-warning,
.btn-info,
.btn-light.btn-callout,
.btn-dark.btn-util {
    --bs-btn-bg: var(--sif-bg);
    --bs-btn-border-color: hsl(var(--sif-bg-hs), calc(var(--sif-bg-l) * calc(1 + var(--sif-lumin-offset-base) * 2)));
    --bs-btn-hover-bg: hsl(var(--sif-bg-hs), calc(var(--sif-bg-l) * calc(1 + var(--sif-lumin-offset-base) * 1.5)));
    --bs-btn-hover-border-color: hsl(var(--sif-bg-hs), calc(var(--sif-bg-l) * calc(1 + var(--sif-lumin-offset-base) * 2.5)));
    --bs-btn-focus-shadow-rgb: var(--sif-outline-rgb);
    --bs-btn-active-bg: hsl(var(--sif-bg-hs), calc(var(--sif-bg-l) * calc(1 + var(--sif-lumin-offset-base) * 2.5)));
    --bs-btn-active-border-color: hsl(var(--sif-bg-hs), calc(var(--sif-bg-l) * calc(1 + var(--sif-lumin-offset-base) * 3.5)));
    --bs-btn-disabled-bg: var(--sif-bg);
    --bs-btn-disabled-border-color: var(--sif-bg);
}



/*card*/
.card.card-primary {
    border: 1px solid rgba(var(--sif-c-primary-rgb), 0.5) !important;
}

    .card.card-primary > .card-header {
        background-color: rgba(var(--sif-c-primary-rgb), 0.05);
        border-bottom: 2px solid rgba(var(--sif-c-primary-rgb), 0.25) !important;
    }

.card.card-primary-emphasis {
    border: 1px solid hsl(var(--sif-c-primary-hs), calc(var(--sif-c-primary-l) * 0.8)) !important;
}

    .card.card-primary-emphasis > .card-header {
        color: #fff !important;
        background-color: var(--sif-c-primary);
        border-bottom: 2px solid hsl(var(--sif-c-primary-hs), calc(var(--sif-c-primary-l) * 0.8)) !important;
    }


.util-bg-subtle {
    background-color: rgba(var(--sif-c-tertiary-rgb), 0.05);
    border-bottom: 2px solid rgba(var(--sif-c-tertiary-rgb), 1) !important;
}


/* date box */
.sif-floating .form-floating input.form-control[type="date"],
.sif-floating.form-floating input.form-control[type="date"] {
    position: relative;
}

    .sif-floating .form-floating input.form-control[type="date"]::-webkit-calendar-picker-indicator,
    .sif-floating.form-floating input.form-control[type="date"]::-webkit-calendar-picker-indicator {
        position: absolute;
        line-height: 60px;
        height: 60px;
        top: 0;
        bottom: 1px;
        right: 0;
        border-left: 1px solid var(--bs-border-color);
        display: block;
        padding-top: 1.4rem;
        padding-left: 0.85em;
        padding-right: 0.85em;
        background-color: var(--bs-tertiary-bg);
        color: #000;
    }

@-moz-document url-prefix() {
    .sif-floating .form-floating input.form-control[type="date"],
    .sif-floating.form-floating input.form-control[type="date"] {
        background: linear-gradient(to left, #f8f9fa 3em, #f8f9fa 3em, #dee2e6 3em, #dee2e6 3.05em, #dee2e6 0, #fff 0);
    }
}


.alert-success {
    --bs-alert-color: #fff;
    --bs-alert-bg: var(--bs-success-text-emphasis);
    --bs-alert-border-color: var(--bs-success-text-emphasis);
    --bs-alert-link-color: #fff;
}

.alert-warning {
    --bs-alert-color: #000;
    --bs-alert-bg: var(--bs-warning);
    --bs-alert-border-color: var(--bs-warning);
    --bs-alert-link-color: #000;
}

.alert-danger {
    --bs-alert-color: #fff;
    --bs-alert-bg: var(--bs-danger-text-emphasis);
    --bs-alert-border-color: var(--bs-danger-text-emphasis);
    --bs-alert-link-color: #fff;
}

.alert-primary {
    --bs-alert-color: #fff; /*(--bs-primary-text-emphasis);*/
    --bs-alert-bg: var(--sif-c-primary);
    --bs-alert-border-color: var(--bs-primary-border-subtle);
    --bs-alert-link-color: #fff; /*(--bs-primary-text-emphasis);*/
}

.alert-dark.alert-util {
    --bs-alert-color: #fff;
    --bs-alert-bg: var(--sif-c-tertiary);
    --bs-alert-border-color: hsl(var(--sif-c-tertiary-hs), calc(var(--sif-c-tertiary-l) * 0.4));
    --bs-alert-link-color: #fff;
}

.bg-dark.bg-util {
    /*--bs-bg-opacity: 1;*/
    background-color: rgba(var(--sif-c-tertiary-rgb),var(--bs-bg-opacity)) !important;
}

.bg-light.bg-callout {
    /*--bs-bg-opacity: 1;*/
    background-color: rgba(var(--sif-c-callout-emphasis-rgb),var(--bs-bg-opacity)) !important;
}

.text-util {
    --bs-text-opacity: 1;
    color: rgba(var(--sif-c-tertiary-rgb),var(--bs-text-opacity)) !important;
}


.nav-tabs {
    /*--bs-nav-tabs-border-color: var(--bs-border-color);*/
    /*--bs-nav-tabs-border-radius: var(--bs-border-radius);*/
    --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
    --bs-nav-tabs-link-active-color: var(--sif-gray6);
    /*var(--bs-emphasis-color);*/
    /*--bs-nav-tabs-link-active-bg:var(--bs-body-bg); */
    /*--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg); */
    /*border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); */
    --sif-nav-tabs-link-inactive-color: var(--sif-c-tertiary);
}





.shadow-panel {
    box-shadow: 0 0 10px rgba(0, 0, 0, .25);
    border-radius: 4px;
    padding: 2em;
}

/* Tabs */

.nav-tabs {
    font-weight: bold;
}

    .nav-tabs .nav-item .nav-link {
        box-shadow: 0 10px 0 #fff,0 0 10px rgba(0, 0, 0, .25) !important;
        border: none;
    }

    .nav-tabs .nav-item .nav-link {
        box-shadow: 0 10px 0 #fff,0 0 10px rgba(0, 0, 0, .25) !important;
        border: none;
    }

        .nav-tabs .nav-item .nav-link:not(.active) {
            color: white;
            background-color: var(--sif-nav-tabs-link-inactive-color); /*#01426A;*/
        }

    .nav-tabs .nav-item a.nav-link {
        text-decoration: none;
    }

ul.nav-wrap-fix > li.nav-item > a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* inputs */

.form-check.sif-check {
    background-color: rgb(217,217,217);
    padding: 8px 8px 8px 38px;
    border-radius: 5px;
    margin-bottom: 6px;
}

    .form-check.sif-check.sif-checked {
        background-color: var(--sif-c-tertiary);
        color: #fff;
        padding: 8px 8px 8px 38px;
        border-radius: 5px;
        margin-bottom: 6px;
    }

    .form-check.sif-check.has-focus {
        box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25); /* TODO- this is copied from BS4 style, review for BS5 and see about using var()  */
    }

    .form-check.sif-check.sif-disabled {
        background-color: rgba(217,217,217,0.3);
    }

        .form-check.sif-check.sif-disabled .form-check-input:disabled ~ .form-check-label, .form-check-input[disabled] ~ .form-check-label {
            cursor: default;
            opacity: 0.65;
        }

        .form-check.sif-check.sif-disabled.alt-contrast {
            background-color: rgba(255,255,255,1);
            border: 1px solid var(--sif-gray3);
        }

        .form-check.sif-check.sif-disabled.high-contrast .form-check-input:disabled ~ .form-check-label, .form-check-input[disabled] ~ .form-check-label {
            cursor: default;
            opacity: 0.65;
        }

.sif-check .form-check-input:checked[type=checkbox] {
    /* these are direct overrides */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2301426A' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
    background-color: #fff;
    border-color: #fff;
}

.sif-check .form-check-input:checked[type=radio] {
    /* these are direct overrides */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='4' fill='%2301426A'/%3E%3C/svg%3E");
    background-color: #fff;
    border-color: #fff;
    border-width: 3px;
}

/* floating label control (input, select) */
.sif-floating.form-floating > .form-control,
.sif-floating .form-floating > .form-control,
.sif-floating.form-floating > .form-select,
.sif-floating .form-floating > .form-select {
    height: 60px;
}

    .sif-floating.form-floating > .form-control ~ label,
    .sif-floating .form-floating > .form-control ~ label {
        transform: scale(0.9) translateY(-.5rem) /*translateX(.15rem)*/;
    }

    .sif-floating.form-floating > .form-control.show-placeholder::placeholder,
    .sif-floating .form-floating > .form-control.show-placeholder::placeholder {
        color: rgba(0,0,0,0.5);
        transform: translateY(.5rem)
    }

    .sif-floating.form-floating > .form-control.show-placeholder:focus::placeholder,
    .sif-floating .form-floating > .form-control.show-placeholder:focus::placeholder {
        color: rgba(0,0,0,0.5);
        transform: translateY(0rem);
    }

    .sif-floating.form-floating > .form-control:focus ~ label,
    .sif-floating .form-floating > .form-control:focus ~ label,
    .sif-floating.form-floating > .form-control:not(:placeholder-shown) ~ label,
    .sif-floating .form-floating > .form-control:not(:placeholder-shown) ~ label,
    .sif-floating.form-floating > .form-control-plaintext ~ label,
    .sif-floating .form-floating > .form-control-plaintext ~ label,
    .sif-floating.form-floating > .form-select ~ label,
    .sif-floating .form-floating > .form-select ~ label {
        color: rgba(var(--bs-body-color-rgb),0.8);
        transform: scale(0.8) translateY(-.5rem);
    }

.sif-floating.form-control.disabled,
.sif-floating .form-control.disabled{
    background-color: var(--bs-secondary-bg);
}

    .sif-floating.form-control.disabled ~ label[for]:after,
    .sif-floating .form-control.disabled ~ label[for]:after {
        /*background-color: var(--bs-secondary-bg);*/
        background-color: rgba(255,255,255,0);
    }

.sif-floating.form-floating.input-group > .form-control ~ label,
.sif-floating .form-floating.input-group > .form-control ~ label {
    z-index: 5;
}

@-moz-document url-prefix() {
    .sif-floating.form-floating > .form-control.show-placeholder:not(:focus),
    .sif-floating .form-floating > .form-control.show-placeholder:not(:focus) {
        padding-top: 1.563rem;
        padding-bottom: .625rem;
    }

    .sif-floating.form-floating label,
    .sif-floating .form-floating label {
        top: -1px;
    }
}

/* ajax spinners */

button.busy > .inner {
    float: left;
    opacity: 0.2;
    /*color: rgba(0,0,0,0);*/
}

button.busy {
    position: relative;
}

    button.busy::after {
        content: ' ';
        border: 4px solid rgba(255,255,255,0.05);
        border-top: 4px solid rgba(255,255,255,1);
        opacity: 0.9;
        border-radius: 50%;
        width: 25px;
        height: 25px;
        animation: sif-css-loader-spin 0.8s linear infinite;
        position: absolute;
        left: 0;
        right: 0;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        margin-top: auto;
        margin-bottom: auto;
    }

button.btn-outline-primary.busy::after {
    border-top-color: #ff0000;
    border-top-color: var(--sif-c-primary);
}

button.btn-outline-secondary.busy::after {
    border-top-color: var(--sif-c-secondary);
}

button.btn-link.busy::after {
    /*border-top-color: var(--sif-c-secondary);
    border-color: green !important;*/
    color: green !important;
    border-top-color: var(--bs-link-color);
}


@keyframes sif-css-loader-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/*definition list*/
dl.bg-row-alt-1 *:nth-child(4n+1),
dl.bg-row-alt-1 *:nth-child(4n+2) {
    background-color: rgba(0, 0, 0, 0.05);
}

dl.bg-row-alt-2 *:nth-child(4n+3),
dl.bg-row-alt-2 *:nth-child(4n+4) {
    background-color: rgba(0, 0, 0, 0.05);
}

dl.bg-header dt {
    background-color: rgba(0, 0, 0, 0.05);
}

dl.bg-row-alt-1 dd,
dl.bg-row-alt-2 dd {
    margin-bottom: 0;
}

dl.bordered-between *:nth-child(n+3) {
    border-top: 1px solid var(--bs-border-color-translucent);
    padding-top: 0.2em;
}

dl.bordered-full {
    border: 1px solid var(--bs-border-color-translucent);
}

    dl.bordered-full *:nth-child(n+3) {
        border-top: 1px solid var(--bs-border-color-translucent);
        padding-top: 0.2em;
    }

/*pagination*/

.pagination {
    /*--bs-pagination-padding-x: 0.75rem;
    --bs-pagination-padding-y: 0.375rem;
    --bs-pagination-font-size: 1rem;*/
    --bs-pagination-color: var(--sif-c-tertiary);
    /*--bs-pagination-bg: var(--bs-body-bg);*/
    /*--bs-pagination-border-width: var(--bs-border-width);*/
    --bs-pagination-border-color: rgba(255,255,255,0) /*var(--bs-border-color)*/;
    /*--bs-pagination-border-radius: var(--bs-border-radius);
    --bs-pagination-hover-color: var(--bs-link-hover-color);*/
    --bs-pagination-hover-bg: var(--bs-tertiary-bg);
    --bs-pagination-hover-border-color: var(--sif-c-tertiary);
    /*--bs-pagination-focus-color: var(--bs-link-hover-color);*/
    --bs-pagination-focus-bg: var(--bs-secondary-bg);
    /*--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);*/
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: var(--sif-c-primary);
    --bs-pagination-active-border-color: var(--sif-c-primary);
    --bs-pagination-disabled-color: var(--bs-secondary-color);
    --bs-pagination-disabled-bg: rgba(1,1,1,0); /*var(--bs-secondary-bg)*/
    --bs-pagination-disabled-border-color: rgba(1,1,1,0) /*var(--bs-border-color)*/;
    /*display: flex;
    padding-left: 0;
    list-style: none;*/
}

    .pagination .page-item .page-link {
        min-width: 2.5em;
        text-align: center;
    }

    .pagination .page-item.active .page-link {
        border-radius: 3em;
    }

    /*.pagination .page-item.disabled a {
        visibility:hidden;
    }*/

.breadcrumb-item + .breadcrumb-item::before {
    content: var(--bs-breadcrumb-divider, ">");
}

.modal {
    --bs-modal-border-radius: 0; /*var(--bs-border-radius-lg);*/
    --bs-modal-inner-border-radius: 0 /*calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));*/;
}

/* block 1*/
/* site header button extra stylings/animations */

header ul.nav .nav-link:focus-visible {
    /* tab focus outline */
    box-shadow: 0 0 0 .25rem rgba(var(--sif-c-primary-rgb), .45);
}

header#site-header ul.nav li:hover {
    background-color: rgba(var(--sif-c-primary-rgb), 0.02);
    transition: background-color 0.15s; /*fade in faster than fade out*/
}

header#site-header ul.nav li {
    transition: background-color 0.25s; /*fade in faster than fade out*/
}

    /*header ul.nav li a svg {
                transition: opacity 0.25s;
                opacity: 0.7;
            }*/

    header#site-header ul.nav li a {
        transition: text-decoration-color 0.25s;
        text-decoration: underline;
        text-decoration-color: rgba(var(--sif-c-tertiary-rgb), 0);
        color: rgba(var(--sif-c-tertiary-rgb), 1);
    }

        header#site-header ul.nav li a:hover {
            transition: text-decoration-color 0.25s, color 0.3s;
            text-decoration: underline;
            text-decoration-color: rgba(var(--sif-c-tertiary-rgb), 1);
            color: rgba(var(--sif-c-tertiary-rgb), 1) !important;
        }

            header#site-header ul.nav li a:hover svg {
                transition: opacity 0.25s;
                opacity: 1;
            }



/* /site header button extra stylings/animations */

/* header nav account dropdown stylings */

#site-account-user {
    color: var(--sif-c-primary);
    border-bottom: 1px solid var(--sif-c-tertiary);
    margin-bottom: 1em;
}

#site-account nav ul li a i {
    display: inline-block;
    width: 1.5em;
}

/*
#site-account nav ul li a:hover {
    background-color: rgba(var(--sif-c-primary-rgb), 0.05);
    transition: background-color 0.15s; 
}

#site-account nav ul li a {
    transition: background-color 0.25s; 
}
*/

#site-account nav ul li a {
    color: var(--bs-dark);
    text-decoration: none;
    display: block;
}

#site-account nav ul li {
    border-bottom: 1px solid rgba(var(--bs-dark-rgb), 0);
}

    #site-account nav ul li:hover {
        border-bottom: 1px solid rgba(var(--bs-dark-rgb), 0.4);
    }

        #site-account nav ul li:hover a i {
            color: var(--sif-c-primary);
        }

/* /header nav account dropdown stylings */


/* block 3 */

#site-nav-container {
    z-index: 900;
    position: relative; /* overrides static, makes z-index work. */
}

.site-header-popper {
    border: 2px solid var(--sif-slate);
    background: #fff;
    color: var(--sif-slate);
    padding: 4px 8px;
    font-size: 13px;
    border-radius: 4px;
    font-size: 12pt;
}

    .site-header-popper > * {
        background-color: #fff;
    }

footer#site-footer a.nav-link:hover {
    text-decoration: underline;
}

footer#site-footer > ul.nav {
    border-top: 2px solid var(--sif-c-primary);
}

.site-nav > h3 {
    line-height: 1.5;
    margin-top: 0;
    margin-bottom: 0;
}

.site-nav > .container {
    display: flex;
    background-color: #fff;
    position: relative;
    z-index: 4;
    padding-top: 4px;
    top: -4px;
}

.site-nav li > i {
    color: rgba(var(--sif-c-primary-rgb), 0.4);
    float: left;
    margin-left: 0.33em;
    margin-top: 4px;
    position: absolute;
    right: 0.33em;
}

.site-nav li {
    list-style: none;
}

.site-nav ul ul {
    border-top: 1px solid var(--sif-c-primary);
    margin-top: 3px;
    padding-left: 0;
}

    .site-nav ul ul > li {
        cursor: pointer;
    }

#site-nav ul ul > li:hover {
    /*background-color: #ccc;*/
    /*border-bottom: 1px solid #c5c5c5;*/
    /*cursor: pointer;*/
}

.site-nav > .container > ul > li {
    padding-left: 0;
}

.site-nav > .container > ul > li {
    position: relative;
    color: var(--sif-c-primary);
    font-weight: normal;
    font-size: 16pt;
    border-left: 1px solid var(--sif-c-primary);
    border: 1px solid rgba(var(--sif-c-primary-rgb), 0.1);
    padding: 0.333em;
    margin: 0.333em;
    margin-bottom: 0.666em;
    background-color: #f5f5f5;
    border-radius: 5px;
}

.site-nav a {
    font-size: 12pt;
    color: var(--sif-slate);
    text-decoration: none;
    /*text-decoration-color: rgba(var(--sif-c-primary-rgb), 0.1);*/
}

    .site-nav a:hover {
        text-decoration: underline;
        /*text-decoration-color: rgba(var(--sif-c-primary-rgb), 1);*/
    }

.site-arrow,
.site-arrow::before {
    position: absolute;
    width: 12px;
    height: 12px;
    background: inherit;
}

.site-arrow {
    visibility: hidden;
}

    .site-arrow::before {
        visibility: visible;
        content: '';
        transform: rotate(45deg);
        border: 2px solid black;
        border-right-color: rgba(0,0,0,0);
        border-bottom-color: rgba(0,0,0,0);
        background-color: #fff;
    }

.site-arrow {
    top: -6px;
}

#site-ajax-loader {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(0, 0, 0, 0.7);
    background-color: #ffffff;
    padding: 1em;
    border-radius: 0.33em;
    opacity: 0.85;
    z-index: 1061; /* Higher than Bootstrap modal's z-index of 1050 */
    display: none;
}
#site-ajax-loader-mask {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 1060; /* Higher than Bootstrap modal's z-index of 1050 */
    display: none;
}

/* Chrome, Safari, Edge, Opera */
input:not(.reveal-spin-button)::-webkit-outer-spin-button,
input:not(.reveal-spin-button)::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number]:not(.reveal-spin-button) {
    -moz-appearance: textfield;
}

@media print {
    .container {
        width: 100%;
        margin: 0;
        padding: 0;
        max-width: none;
    }
}