@import url('./modules/_flex.css');
@import url('./modules/_float.css');
@import url('./modules/_spacing.css');
@import url('./modules/_sizing.css');
@import url('./modules/_background.css');
@import url('./modules/_border.css');
@import url('./modules/_typography.css');
@import url('./modules/_position.css');
@import url('./components/_nav.css');
@import url('./components/_auth.css');
@import url('./components/_loading-spinner.css');
@import url('./components/_multistep.css');
@import url('./components/_mvc-report-viewer.css');
@import url('./components/_dev-utility.css');
@import url('./components/_collapsible.css');
@import url('./components/_snapshot-nested.css');
@import url('./overrides/kendo-override.css');
@import url('./overrides/bootstrap-override.css');

@import url('./dark-mode.css');

:root {
    --thunder-blue: #007AC1;
    --sunset-red: #EF3B24;
    --yellow: #FDBB30;
    --green: #FDBB30;
    --navy-blue: #002D62;
    --gray: #4F4F4F;
    
    /* Navigation dimensions */
    --nav-min-height: 48px;
    --nav-item-height: 44px;
    --nav-button-height: 32px;
    --nav-font-size: 1.4rem;
}

@media print {
    aside#sidebar, header[role="banner"], footer, #comments, #respond {
        display: none;
    }

    #main-content {
        width: 100%;
        margin: 0px;
        padding: 0px;
    }

    * {
        color: #000;
        background-color: #4cff00;
    }

    .no-print, .no-print * {
        display: none !important;
    }

    a:after {
        content: "( "attr(href)" )";
    }

    a[href]:after {
        display: none;
    }
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Roboto', sans-serif;
    overflow-y: scroll;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
}

ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
    padding-inline: 0;
}

a {
    text-decoration: none;
    color: var(--thunder-blue);
    transition: color 0.2s ease;
}

    a:hover {
        color: var(--navy-blue);
    }

button {
    border: none;
    background: none;
    cursor: pointer;
}

input {
    border: none;
    outline: none;
}

    input[type="checkbox"], input[type="radio"] {
        margin: 0;
        accent-color: #3d78fb;
    }

td {
    word-wrap: break-word !important;
    overflow: visible !important;
}

.OF-required-field-legend {
    color: #737373;
    float: right !important;
}

    .OF-required-field-legend:before {
        color: red;
        content: "*";
        position: absolute;
        margin-left: -10px;
    }

.sr-only {
    width: 1px;
    height: 1px;
    margin: 0 -1px -1px 0;
    overflow: hidden;
    border: 0;
    padding: 0;
    position: absolute;
}

.word-wrap {
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

.k-grid,
.k-grid td,
.k-grid th,
.k-grid * {
    font-size: inherit !important;
}

/* SearchBar FOUC prevention and z-index management */
#SearchInputForm {
    position: relative;
    z-index: 100;
}

#SearchInputForm select[name="Category"] {
    width: var(--searchbar-dropdown-width, 140px) !important;
    box-sizing: border-box !important;
    position: relative;
    z-index: 101;
}

/* SearchBar dropdown z-index */
#SearchInputForm .k-dropdown,
#SearchInputForm .k-animation-container,
#SearchInputForm .k-popup {
    z-index: 950 !important;
}

/* Action menu and dropdown menu z-index */
.dropdown-menu,
.action-menu-margin-fix,
.dropdown-menu-right {
    z-index: 1050 !important;
}

.dropdown.open .dropdown-menu,
.dropdown.show .dropdown-menu,
ul.dropdown-menu.show,
ul.dropdown-menu.dropdown-menu-right.action-menu-margin-fix.show,
.dropdown-menu[data-popper-placement],
.dropdown-menu[style*="position: absolute"] {
    z-index: 1050 !important;
}

ul.dropdown-menu[style] {
    z-index: 1050 !important;
}

body .dropdown-menu,
body ul.dropdown-menu,
body .dropdown-menu-right {
    z-index: 1050 !important;
}

/* Global Kendo dropdown FOUC prevention */
select[data-role="dropdownlist"],
select.k-input,
select[data-bind*="kendoDropDownList"],
.k-dropdown {
    box-sizing: border-box !important;
    min-width: 120px !important;
    transition: none !important;
    will-change: auto;
}

.k-dropdown,
.k-dropdown * {
    transition: none !important;
    transform: translateZ(0);
}

select[data-role="dropdownlist"]:not([style*="display: none"]) {
    height: 34px !important;
    line-height: 1.428571429 !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    background-color: #fff !important;
}

#mainMenuBar {
    background-color: var(--navy-blue, #002D62);
    border-bottom: 4px solid var(--yellow, #FDBB30);
    position: relative;
    padding: 0%;
    min-height: var(--nav-min-height);
}

#mainMenuBar > ul {
    background-color: var(--navy-blue, #002D62);
    color: white;
    display: flex;
    gap: 2rem;
    padding: 0;
    margin: 0;
    list-style: none;
    align-items: stretch;
    height: var(--nav-item-height);
    min-height: var(--nav-item-height);
    box-sizing: border-box;
}

#mainMenuBar > ul > li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    position: relative;
    color: white;
    list-style: none;
    margin: 0;
    padding: 0;
    height: var(--nav-item-height);
    box-sizing: border-box;
}

#mainMenuBar > ul > li > h2,
#mainMenuBar > ul > li > a {
    color: white;
    text-decoration: none;
    font-size: var(--nav-font-size);
    margin: 0;
    padding: 0;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

#mainMenuBar > ul > li > h2 > a {
    text-decoration: none;
}

#mainMenuBar > ul > li > button {
    background: none;
    border: none;
    cursor: pointer;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1em;
    padding-left: 1.75rem;
    margin: 0;
    box-sizing: border-box;
}

#mainMenuBar > ul > li > button > * {
    margin: 0;
    padding-bottom:0.25em;
    display: flex;
    align-items: center;
    justify-content: center;
}

#mainMenuBar > ul > li:first-child {
    align-items: center;
    justify-content: center;
}

#mainMenuBar a:focus,
#mainMenuBar button:focus,
#mainMenuBar h2 > a:focus,
#mainMenuBar [tabindex]:focus {
    outline: none;
    box-shadow: none;
    border: none;
}

#mainMenuBar .accessible-megamenu-panel,
#mainMenuBar .cols4,
#mainMenuBar .cols-4,
#mainMenuBar .cols2 {
    position: absolute;
    top: calc(100%);
    left: 0;
    background: var(--bg-primary);
    border: none;
    box-shadow: none;
    border-radius: 0 0 6px 6px;
    width: 300px;
    z-index: 1000;
    padding: 0;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

#mainMenuBar .accessible-megamenu-panel.open,
#mainMenuBar .accessible-megamenu-panel[aria-hidden="false"],
#mainMenuBar .cols4.open,
#mainMenuBar .cols4[aria-hidden="false"],
#mainMenuBar .cols-4.open,
#mainMenuBar .cols-4[aria-hidden="false"],
#mainMenuBar .cols2.open,
#mainMenuBar .cols2[aria-hidden="false"] {
    max-height: 500px;
    border-color: var(--border-color);
    box-shadow: var(--shadow-md);
}

#mainMenuBar .accessible-megamenu-panel ol,
#mainMenuBar .cols4 ol,
#mainMenuBar .cols-4 ol,
#mainMenuBar .cols2 ol {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
}

#mainMenuBar .accessible-megamenu-panel a,
#mainMenuBar .cols4 a,
#mainMenuBar .cols-4 a,
#mainMenuBar .cols2 a {
    display: block;
    color: var(--text-primary);
    text-decoration: none;
    padding: 0.5rem 1rem;
    width: 100%;
    box-sizing: border-box;
}

#mainMenuBar .accessible-megamenu-panel a:hover,
#mainMenuBar .cols4 a:hover,
#mainMenuBar .cols-4 a:hover,
#mainMenuBar .cols2 a:hover {
    background-color: var(--bg-hover);
    color: var(--text-primary);
}

#mainMenuBar a:link,
#mainMenuBar a:visited,
#mainMenuBar a:hover,
#mainMenuBar a:active {
    color: white;
}

#mainMenuBar .accessible-megamenu-panel a:link,
#mainMenuBar .accessible-megamenu-panel a:visited,
#mainMenuBar .accessible-megamenu-panel a:active,
#mainMenuBar .cols4 a:link,
#mainMenuBar .cols4 a:visited,
#mainMenuBar .cols4 a:active,
#mainMenuBar .cols-4 a:link,
#mainMenuBar .cols-4 a:visited,
#mainMenuBar .cols-4 a:active,
#mainMenuBar .cols2 a:link,
#mainMenuBar .cols2 a:visited,
#mainMenuBar .cols2 a:active {
    color: var(--text-primary);
}

#mainMenuBar,
#mainMenuBar *,
#mainMenuBar ul,
#mainMenuBar li {
    box-sizing: border-box;
}

#mainMenuBar > ul.flex,
#mainMenuBar > ul[class*="flex"],
#mainMenuBar > ul[class*="gap"],
#mainMenuBar > ul[class*="py-"],
#mainMenuBar > ul[class*="px-"] {
    display: flex !important;
    gap: 2rem !important;
    padding: 0 !important;
    background-color: var(--navy-blue, #002D62);
    color: white;
}

#mainMenuBar > ul > li[class*="flex"],
#mainMenuBar > ul > li[class*="justify-"],
#mainMenuBar > ul > li[class*="items-"],
#mainMenuBar > ul > li[class*="h-"],
#mainMenuBar > ul > li[class*="my-"],
#mainMenuBar > ul > li[class*="p-"] {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


