﻿/*  =========================================
        Global
    =========================================   */
body {
    background-color: var(--ec-color-grey-50);
}

a:hover,
a.dropdown-item:hover,
.ec-navitem:hover,
.ec-nav-page-header:hover {
    /* text-decoration: underline; */
}

.ec-nav-link {
    color: var(--ec-color-action-800);
}

    .ec-nav-link:hover {
        text-decoration: underline;
        cursor: pointer;
    }

    .ec-nav-link.disabled {
        color: var(--ec-color-gray-700)
    }

ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.form-check-label.ec-label {
    font-size: 14px;
    color: var(--ec-color-gray-900);
}

.ec-text-light {
    color: var(--ec-color-text-light);
}

/*  =========================================
        Forms
    =========================================   */

.ec-form-group {
    margin-bottom: 1rem;
}

/*  =========================================
        Forms - Validation
    =========================================   */

/* Validation Summary */

.validation-summary-header {
    color: var(--ec-color-error-600);
    display: block;
    font-size: 1.15rem;
    padding: 0.5rem 1rem;
    width: 100%;
}

.validation-summary-errors {
    border: 2px solid;
    border-color: var(--ec-color-error-600);
    border-radius: 0.25rem;
    margin-bottom: 1rem;
}

    .validation-summary-errors ul {
        list-style: none;
        margin: 1rem;
        padding: 0;
    }

        .validation-summary-errors ul li {
            color: var(--ec-color-error-600);
        }

/* Field Validation */

.field-validation-error {
    color: var(--ec-color-error-600);
}

.input-validation-error,
.input-validation-error:focus {
    border-color: var(--ec-color-error-600);
}

    .input-validation-error:focus {
        box-shadow: 0 0 0 .2rem var(--ec-color-error-100);
    }

/*  =========================================
        Images
    =========================================   */

/* NOTE: The SVGs must declare height, width, and viewbox to properly scale */

.ec-icon {
    height: 1.5rem;
}

.ec-icon-alertsolid {
    filter: var(--ec-color-error-600-filter);
}

.ec-logo-navbar {
    height: 2rem;
}

/*  =========================================
        Component - Page Header
    =========================================   */

.ec-page-header {
    background-color: var(--ec-color-primary-800);
    justify-content: flex-start;
    padding-right: 1rem;
    height: 4rem;
    display: flex;
    white-space: nowrap;
    width: 100vw;
}

header.ec-page-header.navbar {
}

.ec-page-header .ec-page-header-secondary {
    display: inherit;
    margin-left: auto;
}

.ec-page-header .ec-nav-user,
.ec-page-header .ec-nav-help {
    margin-left: 1rem;
}

.ec-page-header .ec-nav-overflow {
    margin-right: 1rem;
    display: none;
}

    .ec-page-header .ec-nav-overflow .nav-link {
        color: var(--ec-color-action-50);
    }

    .ec-page-header .ec-nav-overflow div .nav-link {
        color: var(--ec-color-action-800);
    }

.ec-page-header .ec-page-header-search {
}

    .ec-page-header .ec-page-header-search input {
        background-color: var(--ec-color-primary-700);
        color: var(--ec-color-gray-50);
        border-radius: 1rem;
        border: var(--ec-color-primary-700);
        padding-left: 1rem;
        height: 2.125rem;
    }

        .ec-page-header .ec-page-header-search input::placeholder {
            color: var(--ec-color-primary-100);
        }

    .ec-page-header .ec-page-header-search .ec-icon {
        filter: var(--ec-color-gray-50-filter);
        height: 1rem;
    }

.ec-page-header .ec-nav-user .dropdown-menu,
.ec-page-header .ec-nav-overflow .dropdown-menu,
.ec-page-header .ec-nav-help .dropdown-menu {
    margin-top: 0rem;
    border: none;
    border-radius: 0rem;
    box-shadow: 2px 5px 3px var(--ec-color-primary-200);
}

.ec-page-header .ec-nav-user .show,
.ec-page-header .ec-nav-overflow .show,
.ec-page-header .ec-nav-help .show {
    background-color: var(--ec-color-gray-50);
}

    .ec-page-header .ec-nav-overflow .show button {
        color: var(--ec-color-primary-900);
    }

.ec-page-header .ec-nav-user .dropdown-item,
.ec-page-header .ec-nav-overflow .dropdown-item,
.ec-page-header .ec-nav-help .dropdown-item {
    color: var(--ec-color-action-800);
}

    .ec-page-header .ec-nav-user .dropdown-item:active,
    .ec-page-header .ec-nav-help .dropdown-item:active,
    .ec-page-header .ec-nav-overflow .dropdown-item:active {
        background-color: var(--ec-color-action-50);
    }

.ec-page-header .ec-nav-user img,
.ec-page-header .ec-nav-help img {
    filter: var(--ec-color-gray-50-filter);
}

.ec-page-header .ec-nav-user .show img,
.ec-page-header .ec-nav-help .show img {
    filter: var(--ec-color-gray-900-filter);
}

.ec-page-header .ec-nav-help img {
    filter: var(--ec-color-gray-50-filter);
}

.ec-page-header .ec-nav-help .show img {
    filter: var(--ec-color-gray-900-filter);
}

.ec-page-header .ec-nav-user .ec-navigation-heading-primary,
.ec-page-header .ec-nav-user .ec-navigation-heading-secondary {
    pointer-events: none;
    padding-bottom: 0px;
}

.ec-page-header .ec-nav-user .ec-navigation-heading-primary {
    color: var(--ec-color-gray-900);
}

.ec-page-header .ec-nav-user .ec-navigation-heading-secondary {
    color: var(--ec-color-gray-600);
    font-size: 0.75rem;
}

.ec-page-header .ec-nav-user .dropdown-menu .dropdown-item,
.ec-page-header .ec-nav-help .dropdown-menu .dropdown-item {
    padding-left: 0.5rem;
}

.ec-select + .select2 .select2-selection--single {
    height: calc(1.5em + 0.75rem + 2px);
}

.ec-select + .select2 .select2-selection--multiple {
    min-height: calc(1.5em + 0.75rem + 2px);
}

.ec-select + .select2 .select2-selection__rendered:not(ul) {
    line-height: calc(1.5em + 0.75rem + 2px);
}

.ec-select + .select2 .select2-selection__arrow {
    height: calc(1.5em + 0.75rem + 2px);
}

.ec-select.input-validation-error + .select2 .select2-selection--single,
.ec-select.input-validation-error + .select2 .select2-selection--multiple {
    border-color: var(--ec-color-error-600);
}

.ec-select.input-validation-error:focus + .select2 .select2-selection--single,
.ec-select.input-validation-error:focus + .select2 .select2-selection--multiple {
    box-shadow: 0 0 0 .2rem var(--ec-color-error-100);
}

/*
    Helps with 508 compliance issues related to the select2 control.
    Gray-700 works when the background is darker than white.
*/
.ec-select .select2-search__field::placeholder,
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--ec-color-gray-700);
}

/*  =========================================
        Component - Page Summary
    =========================================   */

.ec-page-summary {
    background-color: var(--ec-color-action-50);
    min-height: 2.5rem;
    display: flex;
}

.ec-page-summary-icon-primary .ec-icon {
    height: 2rem;
    width: 2rem;
    margin-top: .25rem;
}

.ec-page-summary .ec-nav-ellipses {
    border-left: var(--ec-color-primary-100) solid 1px;
    padding-left: 1rem;
}

.ec-page-summary .ec-chip {
    margin-left: auto;
    margin-right: 1rem;
}

.ec-page-summary .ec-nav-ellipses .dropdown-menu {
    margin-top: 0rem;
    border: none;
    border-radius: 0rem;
    box-shadow: 2px 5px 3px var(--ec-color-primary-200);
}

.ec-page-summary .ec-nav-ellipses .show {
    background-color: var(--ec-color-gray-50);
}

.ec-page-summary .ec-page-summary-heading {
    border-right: var(--ec-color-primary-100) solid 1px;
    font-size: 1rem;
    font-weight: bold;
}

.ec-page-summary .ec-page-summary-item-primary,
.ec-page-summary .ec-page-summary-item-primary a {
    font-size: 0.857rem;
    font-weight: bold;
    color: var(--ec-color-gray-900);
}

    .ec-page-summary .ec-page-summary-item-primary a {
        text-decoration: underline;
    }

        .ec-page-summary .ec-page-summary-item-primary a:hover {
            cursor: pointer;
            text-decoration: underline;
            color: var(--ec-color-action-800);
        }

.ec-page-summary .ec-page-summary-item-secondary,
.ec-page-summary .ec-page-summary-item-secondary a {
    font-size: 0.857rem;
}

    .ec-page-summary .ec-page-summary-item-secondary a {
        text-decoration: underline;
        color: var(--ec-color-action-800);
        font-weight: bold;
    }

        .ec-page-summary .ec-page-summary-item-secondary a:hover {
            cursor: pointer;
            color: var(--ec-color-action-900);
            text-decoration: underline;
        }

/*  =========================================
        Component - User Context
    =========================================   */

.ec-user-context {
    background-color: var(--ec-color-gray-800);
    color: var(--ec-color-gray-50);
    justify-content: normal;
    padding: 0.25rem 0.5rem;
}

    .ec-user-context .ec-user-change-context {
        background-color: var(--ec-color-action-800);
        color: var(--ec-color-gray-50);
        margin: -0.25rem 0.75rem -0.25rem -0.5rem;
        padding: 0.25rem 0.5rem;
    }

    .ec-user-context .ec-user-context-secondary {
        color: var(--ec-color-action-50);
        margin-left: auto;
        margin-right: 1rem;
    }

        .ec-user-context .ec-user-context-secondary:hover {
            text-decoration: underline;
        }

    .ec-user-context .ec-user-change-context:hover {
        text-decoration: underline;
    }

    .ec-user-context .ec-user-current-context {
    }

/*  =========================================
        Navigation
    =========================================   */
.ec-nav {
}

    .ec-nav .ec-navitem-button .ec-button-primary {
        background-color: var(--ec-color-action-800);
    }

        .ec-nav .ec-navitem-button .ec-button-primary:hover {
            background-color: var(--ec-color-action-50);
            border: 1px solid var(--ec-color-action-800);
            color: var(--ec-color-action-800);
            cursor: pointer;
            text-decoration: none;
        }

    .ec-nav button {
        background-color: transparent;
        cursor: pointer;
    }

        .ec-nav button.nav-link {
            text-align: left;
            width: 100%;
        }

            .ec-nav button.nav-link,
            .ec-nav button.nav-link:focus,
            .ec-nav button.nav-link:focus-visible,
            .ec-nav button.dropdown-item,
            .ec-nav button.dropdown-item:focus,
            .ec-nav button.dropdown-item:focus-visible {
                border: none;
                outline: none;
            }
/*  =========================================
        Navigation - Site
    =========================================   */

.ec-nav-site {
    flex-grow: 1;
    overflow: hidden;
}

    .ec-nav-site #ec-nav-more-- {
        /*display:none;*/
    }

    .ec-nav-site .ec-navitem-alert {
        border: solid 2px var(--ec-color-primary-800);
    }

    .ec-nav-site .ec-icon {
        margin-right: 0.25rem;
    }

    .ec-nav-site .ec-navitem {
        color: var(--ec-color-action-50);
        padding: 4px 8px 4px 8px;
        font-size: 1rem;
        margin-left: 2rem;
    }

        .ec-nav-site .ec-navitem:first-child {
            margin-left: 4rem;
        }

        .ec-nav-site .ec-navitem .nav-link {
            color: var(--ec-color-action-50);
            padding: 0px;
            font-size: 1rem;
        }

        .ec-nav-site .ec-navitem:hover .nav-link {
            color: white;
        }

/*  =========================================
        Navigation - Page
    =========================================   */

.ec-nav-page-container {
    padding-right: 0;
}

.ec-nav-page {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    align-items: stretch;
}

    .ec-nav-page.ec-nav-expand {
    }

    .ec-nav-page:not(.ec-nav-collapse) ul {
        min-width: 15.5rem;
    }

    .ec-nav-page.ec-nav-collapse .ec-nav-page-header img.ec-icon {
        transform: rotate(180deg);
        /*animation: rotate180 0.25s linear forwards;*/
    }

    .ec-nav-page.ec-nav-collapse .ec-nav-page-header img.ec-icon {
        transform: rotate(180deg);
        /*animation: rotate180 0.25s linear forwards;*/
    }

    .ec-nav-page.ec-nav-collapse span {
        display: none;
    }

    .ec-nav-page.ec-nav-collapse button {
        display: none;
    }

    .ec-nav-page .ec-icon {
        margin-right: 0.5rem;
        height: 1.5rem;
        filter: var(--ec-color-action-800-filter);
    }

    .ec-nav-page .ec-navitem,
    .ec-nav-page .ec-nav-page-header {
        color: var(--ec-color-gray-700);
        padding: 4px 8px 4px 8px;
        font-size: 1rem;
        height: 3rem;
        background-color: var(--ec-color-gray-100);
        border-bottom: solid 1px var(--ec-color-gray-400);
        border-right: solid 3px var(--ec-color-gray-100);
    }

    .ec-nav-page .ec-navitem-button {
        height: 100%;
    }

        .ec-nav-page .ec-navitem .nav-link,
        .ec-nav-page .ec-nav-page-header .nav-link {
            color: var(--ec-color-gray-700);
            padding: 4px 8px 4px 8px;
            font-size: 1rem;
        }

        .ec-nav-page .ec-navitem.ec-navitem-current {
            border-right: solid 3px var(--ec-color-action-800);
        }

            .ec-nav-page .ec-navitem.ec-navitem-current .nav-link {
                color: var(--ec-color-gray-900);
                font-weight: bold;
            }

        .ec-nav-page .ec-navitem:hover .nav-link {
        }

        .ec-nav-page .ec-navitem .ec-badge {
            margin-left: 0.5rem;
        }

/*  =========================================
        Navigation - Section
    =========================================   */

.ec-section-header {
    justify-content: flex-start;
    border-bottom: solid 1px var(--ec-color-gray-400);
    margin-bottom: 1rem;
    padding-bottom: 0;
}

    .ec-section-header h1 {
        font-size: 1.5rem;
    }

    .ec-section-header .ec-nav-section {
        margin-left: 4rem;
    }

.ec-nav-section .ec-navitem.ec-navitem-current {
    pointer-events: none;
}

.ec-nav-section .ec-navitem .nav-link,
.ec-nav-section .ec-navitem-current .nav-link {
    font-size: 1rem;
    color: var(--ec-color-gray-600);
    font-weight: bold;
    padding: 0.25rem 1rem 0.5rem 1rem;
}

.ec-nav-section .ec-navitem:hover,
.ec-nav-section .ec-nav-link:hover {
    text-decoration: none;
}

    .ec-nav-section .ec-navitem:hover .nav-link {
        font-size: 1rem;
        color: var(--ec-color-primary-700);
        border-bottom: solid var(--ec-color-gray-500);
        font-weight: bold;
    }

.ec-nav-section .ec-navitem-current .nav-link {
    color: var(--ec-color-primary-700);
    border-bottom: solid var(--ec-color-primary-700);
}

.ec-nav-section .ec-navitem .ec-badge,
.ec-nav-section .ec-navitem:hover .ec-badge {
    margin-left: 0.5rem;
}

/*  =========================================
        Navigation - Dropdown
    =========================================   */

.ec-dropdown-menu .dropdown-item,
.ec-dropdown-menu .dropdown-item.ec-navitem-disabled {
    color: var(--ec-color-action-800);
}

    .ec-dropdown-menu .dropdown-item.ec-navitem-disabled {
        color: var(--ec-color-gray-700);
    }

    .ec-dropdown-menu .dropdown-item:active {
        background-color: var(--ec-color-action-50);
    }

.ec-button-group .ec-dropdown-menu {
    position: absolute;
    transform: translate3d(0px, 38px, 0px);
    top: 0px;
    left: 0px;
    will-change: transform;
}

.ec-dropdown-item {
    cursor: pointer;
    user-select: none;
}

.ec-dropdown-button-group .nav-link,
.ec-dropdown-button-group .nav-link.ec-navitem-disabled {
    color: var(--ec-color-action-800);
}

    .ec-dropdown-button-group .nav-link.ec-navitem-disabled {
        color: var(--ec-color-gray-700);
        background-color: var(--ec-color-action-50);
    }

    .ec-dropdown-button-group .nav-link:active {
        background-color: var(--ec-color-action-50);
    }

.ec-dropdown-button-group a.dropdown-item {
    padding: 0.25rem 1rem;
}

/*  =========================================
        Navigation - Notification Bar
    =========================================   */
.ec-notification-bar {
    background-color: var(--ec-color-error-600);
    padding: .5rem;
    height: 3rem;
}

    .ec-notification-bar .ec-chip {
        margin-left: .5rem;
        background-color: var(--ec-color-error-600);
        color: var(--ec-color-error-50);
        padding: 0.25rem 0.5rem;
        border-color: var(--ec-color-error-50);
    }

    .ec-notification-bar .ec-chip-list {
        margin: 0;
        position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }

        .ec-notification-bar .ec-chip-list form {
            display: inline;
        }

.alert-dismissible .close {
    position: inherit;
    float: inherit;
    top: 0;
    right: 0;
    padding: 0 0 0 0;
    color: inherit;
    cursor: pointer;
    margin-left: 0.5rem;
    -ms-transform: translateY(5%);
    transform: translateY(5%);
}

/*  =========================================
        Navigation - TreeView
    =========================================   */

.ec-nav-tree {
    display: inline;
}

    .ec-nav-tree ul {
        min-width: 255px;
    }

    .ec-nav-tree .ec-navigation-heading-primary {
        display: flex;
        min-height: 3rem;
    }

    .ec-nav-tree .ec-navitem:hover {
        text-decoration: none;
    }

    .ec-nav-tree li.ec-navitem-alert2 {
        background-color: var(--ec-color-gray-50);
    }

    .ec-nav-tree .ec-navitem-treeitem-parent .ec-navigation-heading-primary .ec-divider {
        background-color: var(--ec-color-gray-400);
        width: 1px;
        height: 2.5rem;
        margin-top: 0.25rem;
    }

    .ec-nav-tree .ec-navitem-treeitem-parent .ec-navigation-heading-primary {
        background-color: var(--ec-color-gray-50);
        color: var(--ec-color-gray-900);
        border-bottom: solid 1px var(--ec-color-gray-400);
        border-right: solid 3px var(--ec-color-gray-50);
    }

.ec-navigation-heading-primary a {
    color: var(--ec-color-gray-900);
}

.ec-nav-tree .ec-navitem-treeitem-parent .ec-navitem-treeitem-parent-primary-text {
    margin-left: 1rem;
}

.ec-nav-tree .ec-navitem-treeitem-parent .ec-navigation-heading-primary .ec-chip {
    margin-left: 0.75rem;
}

.ec-nav-tree .ec-navitem-treeitem-parent .ec-navigation-heading-primary a {
    flex-grow: 1;
}

.ec-navitem-treeitem-parent div.ec-icon {
    height: 3rem;
}

    .ec-navitem-treeitem-parent div.ec-icon:not(.collapsed) {
        transform: rotate(180deg);
    }

    .ec-navitem-treeitem-parent div.ec-icon:hover {
        background-color: var(--ec-color-action-50);
    }

.ec-navitem-treeitem-parent img.ec-icon {
    padding-right: 1rem;
    padding-left: 1rem;
    transform: translateY(50%);
    filter: var(--ec-color-action-800-filter);
}

.ec-nav-tree .ec-navitem-treeitem-parent .ec-navigation-heading-primary a:hover,
.ec-nav-tree .ec-navitem-treeitem-parent .ec-navigation-heading-primary a:hover span {
    cursor: pointer;
    text-decoration: none;
}

    .ec-nav-tree .ec-navitem-treeitem-parent .ec-navigation-heading-primary a:hover span.ec-navitem-treeitem-parent-primary-text {
        text-decoration: underline;
    }

.ec-navitem-treeitem-parent .ec-badge {
    float: right;
    border-radius: 50%;
    font-size: 0.7rem;
    width: 1rem;
    height: 1rem;
    margin-right: 1rem;
    margin-top: 0.25rem;
}

.ec-navitem-treeitem-parent.ec-navitem-current div.ec-navigation-heading-primary {
    border-right: solid 3px var(--ec-color-action-800);
}

.ec-navitem-treeitem-child.ec-navitem-current {
    border-right: solid 3px var(--ec-color-action-800);
}

.ec-navitem-treeitem-child,
.ec-navitem-treeitem-child.ec-navitem-alert2 {
    background-color: var(--ec-color-gray-50);
    padding: 0.5rem 1rem 0.5rem 1rem;
}

.ec-nav-tree a.ec-navitem-treeitem-child,
.ec-nav-tree a.ec-navitem-treeitem-child a:not([href]):not([tabIndex]),
.ec-nav-tree a.ec-navitem-treeitem-child a:not([href]):not([tabIndex]):hover,
.ec-nav-tree a.ec-navitem-treeitem-child:hover,
.ec-nav-tree .ec-navitem-treeitem-child-add,
.ec-nav-tree .ec-navitem-treeitem-child-add.ec-navitem-disabled {
    color: var(--ec-color-action-800);
    background-color: var(--ec-color-gray-50);
    padding: 0.25rem 1rem 0.25rem 1rem;
    border-radius: 0.5rem;
    border: solid 2px var(--ec-color-action-800);
    display: block;
    text-align: center;
    width: 100%;
}

    .ec-nav-tree .ec-navitem-treeitem-child-add.ec-navitem-disabled {
        color: var(--ec-color-gray-700);
        border: solid 2px var(--ec-color-gray-700);
    }

    .ec-nav-tree a.ec-navitem-treeitem-child a:not([href]):not([tabIndex]):hover,
    .ec-nav-tree a.ec-navitem-treeitem-child:hover {
        background-color: var(--ec-color-action-50);
        color: var(--ec-color-action-900);
        cursor: pointer;
    }

.ec-navitem-treeitem-child .ec-navitem-treeitem-child-icon {
    background-color: green;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    display: inline;
    transform: translateY(25%);
    float: left;
}

.ec-navitem-treeitem-child .ec-navitem-treeitem-child-primary-text {
    color: var(--ec-color-gray-900);
    margin-left: 0.5rem;
}

.ec-navitem-treeitem-child .ec-navitem-treeitem-child-secondary-text {
    color: var(--ec-color-gray-600);
    margin-left: 0.5rem;
}

.ec-navitem-treeitem-child .ec-chip,
.ec-navitem-treeitem-child .ec-chip.ec-alert {
    padding: 0 0.5rem;
    margin-left: 0.25rem;
}

.ec-navitem-treeitem-child a:hover {
    text-decoration: none;
}

    .ec-navitem-treeitem-child a:hover .ec-navitem-treeitem-child-primary-text {
        text-decoration: underline;
    }

/*  =========================================
        Status Indicator
    =========================================   */
.ec-status-indicator {
    display: inline;
}

    .ec-status-indicator .ec-status-indicator-icon {
        width: 1rem;
        height: 1rem;
        border-radius: 50%;
        transform: translateY(25%);
        display: inline;
        float: left;
    }

    .ec-status-indicator .ec-text-primary {
        color: var(--ec-color-gray-900);
        margin-left: 0.5rem;
    }

    .ec-status-indicator .ec-text-secondary {
        color: var(--ec-color-gray-600);
        margin-left: 0.5rem;
    }

/*  =========================================
        Alerts
    =========================================   */

.ec-navitem-alert {
    background-color: var(--ec-color-gray-50);
    border-radius: 50%;
    display: inline-block;
    line-height: 0;
    margin-right: -1rem;
    position: relative;
    vertical-align: top;
}

    .ec-navitem-alert .ec-icon {
        filter: var(--ec-color-error-600-filter);
        height: 1rem;
        margin: 0;
        padding: 0;
        position: relative;
        vertical-align: top;
    }

.ec-icon + .ec-navitem-alert {
    left: -1.25rem;
}

.ec-navitem-text + .ec-navitem-alert {
    left: -0.25rem;
    top: -0.25rem;
}

/*  =========================================
        Badges
    =========================================   */

.ec-badge {
    margin-left: 0.5rem;
}

.ec-badge-high {
    background-color: var(--ec-color-error-600);
    color: var(--ec-color-error-50);
}

.ec-badge-medium {
    background-color: var(--ec-color-action-900);
    color: var(--ec-color-action-50);
}

.ec-badge-low {
    background-color: var(--ec-color-action-900);
    color: var(--ec-color-action-50);
}

.ec-nav-section .ec-badge {
    background-color: transparent;
    color: var(--ec-color-primary-700);
    font-weight: bold;
}

    .ec-nav-section .ec-badge::before {
        content: "(";
    }

    .ec-nav-section .ec-badge::after {
        content: ")";
    }

/*  =========================================
        Forms - Labels
    =========================================   */

.ec-label {
    color: var(--ec-color-grey-900);
    font-size: 1rem;
    text-transform: capitalize;
}

.ec-required:not(.custom-switch) .ec-label:not(.form-check-label)::after {
    color: var(--ec-color-error);
    content: "*";
    font-weight: bold;
    margin-left: 0.5rem;
}

.ec-required:not(.custom-switch) label:not(.form-check-label)::after {
    color: var(--ec-color-error);
    content: "*";
    font-weight: bold;
    margin-left: 0.5rem;
}

/*
    For standalone checkboxes and switches bootstrap causes asterisk to be shifted. In those situations an empty span
    with the ec-required-placeholder class should be added to the element.
*/
.custom-switch.ec-required .ec-required-placeholder::before {
    color: var(--ec-color-error);
    content: "*";
    font-weight: bold;
    margin-left: 0.5rem;
}

.ec-label-description {
    color: var(--ec-color-grey-600);
}

.ec-label-placeholder {
    color: var(--ec-color-grey-400);
}

.ec-label .ec-choice-input-description {
    display: inline-block;
}

.ec-custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--ec-color-primary-700);
    border-color: var(--ec-color-primary-700);
}

/*  =========================================
        Forms - Textboxes
    =========================================   */
.ec-icon-inside {
    position: absolute;
    right: 1rem;
    top: calc(50% - 0.5rem);
    pointer-events: none;
    font-size: 0.625rem;
    color: #c4c3c3;
    z-index: 3;
}

.ec-textarea {
    width: 100%;
}

/*  =========================================
        Links
    =========================================   */

.ec-link:not(.disabled):not(.ec-button) {
    color: var(--ec-color-action-800);
    text-decoration: underline;
}

.ec-link:hover:not(.disabled):not(.ec-button) {
    color: var(--ec-color-action-600);
}

.ec-link .ec-icon {
    height: 0.75rem;
    width: 0.75rem;
    margin: 0 0 0 0.5rem;
}

.ec-link:not(.ec-button) img.ec-icon {
    filter: var(--ec-color-action-800-filter);
}

/*  =========================================
        Buttons
    =========================================   */
.ec-dropdown-button-group button.nav-link {
    background-color: transparent;
    text-align: left;
    width: 100%;
}

    .ec-dropdown-button-group button.nav-link,
    .ec-dropdown-button-group button.nav-link:focus,
    .ec-dropdown-button-group button.nav-link:focus-visible,
    .ec-dropdown-button-group button.dropdown-item,
    .ec-dropdown-button-group button.dropdown-item:focus,
    .ec-dropdown-button-group button.dropdown-item:focus-visible {
        border: none;
        outline: none;
    }

        .ec-dropdown-button-group button.nav-link:hover,
        .ec-dropdown-button-group button.dropdown-item:hover {
            background-color: var(--ec-color-action-100)
        }

.ec-button {
    margin: .25rem .125rem;
    min-width: 64px;
    padding: 8px 16px 8px 16px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    align-items: center;
    border-radius: 6px;
}

    .ec-button:hover {
        background-color: var(--ec-color-action-50);
        border: 1px solid var(--ec-color-action-800);
        color: var(--ec-color-action-800);
        cursor: pointer;
        text-decoration: none;
    }

    .ec-button:active {
        background-color: var(--ec-color-action-200);
        border: 1px solid var(--ec-color-action-900);
        color: var(--ec-color-action-900);
    }

    .ec-button:disabled {
        background: var(--ec-color-gray-300);
        color: var(--ec-color-gray-900);
        border: solid 0px;
    }

.ec-button-primary {
    background-color: var(--ec-color-action-800);
    border: 1px solid var(--ec-color-action-800);
    color: var(--ec-color-action-50);
}

    .ec-button-primary img.ec-icon {
        filter: var(--ec-color-action-50-filter);
    }

    .ec-button-primary:hover img.ec-icon {
        filter: var(--ec-color-action-800-filter);
    }

.ec-button-secondary {
    background-color: transparent;
    border: 1px solid var(--ec-color-action-800);
    color: var(--ec-color-action-800);
}

    .ec-button-secondary img.ec-icon {
        filter: var(--ec-color-action-800-filter);
    }

    .ec-button-secondary:hover img.ec-icon {
        filter: var(--ec-color-action-800-filter);
    }

.ec-button-tertiary {
    background-color: transparent;
    border: 1px solid transparent;
    color: var(--ec-color-action-800);
}

    .ec-button-tertiary img.ec-icon {
        filter: var(--ec-color-action-800-filter);
    }

    .ec-button-tertiary:disabled {
        color: var(--ec-color-gray-600);
        background-color: transparent;
        border: 1px solid transparent;
        cursor: not-allowed;
    }

.ec-dropdown-split-button-group .ec-button {
    margin: 0.0625rem;
    border-radius: 0rem;
    border-top-left-radius: 0.4rem;
    border-bottom-left-radius: 0.4rem;
}

.ec-dropdown-split-button-group .ec-button-dropdown {
    border-radius: 0rem;
    border-top-right-radius: 0.4rem;
    border-bottom-right-radius: 0.4rem;
    min-width: auto;
}

.ec-button-select-all {
    padding: 0px;
    min-width: 0px;
    box-shadow: none !important;
    display: contents;
}

    .ec-button-select-all[disabled] img {
        filter: var(--ec-color-gray-400-filter);
    }

    .ec-button-select-all .ec-icon {
        height: 1rem;
        width: 1rem;
    }

img.ec-button-select-all-checked {
    display: none;
    margin-left: 0.5rem;
}

img.ec-button-select-all-unchecked {
    display: none;
    margin-left: 0.5rem;
}

img.ec-button-select-all-partial {
    display: none;
    margin-left: 0.5rem;
}

/* Button */
/*.ec-button {
    padding: 8px 16px;
    background: var(--ec-color-action-800);
    color: var(--ec-color-action-50);
}*/
/* Auto layout */
.ec-button-outer {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    /* Inside auto layout */
    flex: none;
    order: 0;
    flex-grow: 0;
    margin: 0px 0px;
    gap: 0.5rem;
}

.ec-button-left-icon-frame {
    flex: none;
    order: 0;
    flex-grow: 0;
    margin: 0px;
    width: 1rem;
    height: 1rem;
    background: white;
}

.ec-button-right-icon-frame {
    flex: none;
    order: 0;
    flex-grow: 0;
    margin: 0px;
    width: 1rem;
    height: 1rem;
    background: white;
}

.ec-checkbox-group-header {
    font-size: 14px;
    color: var(--ec-color-primary-700);
    font-weight: bold;
    padding-left: 0.5rem;
}

.ec-checkbox-container .ec-choice-input-description {
    display: block;
    font-size: 14px;
    color: var(--ec-color-gray-600);
}

.ec-checkbox-container .ec-chip {
    margin: 0rem 0rem 0rem 0.5rem;
    vertical-align: top;
}

.ec-checkbox-container .form-check-input {
    margin-top: 0.25rem;
    margin-right: 0.25rem;
}

.ec-checkbox-group fieldset {
    padding-left: 0.5rem;
}

.ec-choice-input-tags {
    display: block;
    margin: 0.25rem 0rem 0rem 0rem;
}

    .ec-choice-input-tags > *:first-child {
        margin: 0rem;
    }

.ec-card-single {
    display: grid;
    width: 15rem;
    height: 150px;
    grid-template-rows: auto 1fr;
}

    .ec-card-single .ec-button {
        display: initial;
    }

    .ec-card-single:hover .ec-card-contents {
        box-shadow: 0 6px 24px black;
        transition: 0.3s;
    }

.ec-card-title {
    grid-row: 1;
    text-align: center;
    margin-bottom: 4px;
}

.ec-card-contents {
    display: grid;
    position: relative;
    text-align: center;
    grid-row: 2;
    padding: 16px;
    box-shadow: 0 3px 6px black;
    transition: 0.3s;
    border-radius: 0.5rem; /* 5px rounded corners */
    height: 100%;
    grid-template-rows: 1fr auto;
}

.ec-card-footer {
    grid-row: 2;
}

.ec-card {
    background: var(--ec-color-gray-50);
    padding: 0.5rem;
    box-shadow: var(--ec-color-primary-700) 3px 3px 6px;
    border-radius: 0.25rem;
}

    .ec-card .form-check-input {
        margin: 0.25rem 0.25rem 0rem 0rem;
    }

.ec-small-info-card {
    display: inline-block;
}

    .ec-small-info-card .ec-chip {
        margin-left: 0.5rem;
    }

.ec-chip-group {
    display: block;
}

    .ec-chip-group > *:first-child {
        margin-left: 0rem;
    }

.ec-checkbox-group-selected-message {
    display: none;
    padding-left: 2rem;
}

.ec-checkbox-group-description {
    color: var(--ec-color-gray-600);
    padding: 0rem 0rem 0rem 0.5rem;
}

.ec-checkbox-group-header-container {
    border-bottom: 1px solid var(--ec-color-gray-400);
    padding-bottom: 0.25rem;
}

.ec-checkbox-container {
    vertical-align: top;
    margin: 0.25rem 0.5rem 0.25rem 0rem;
    align-items: start;
}

    .ec-checkbox-container .ec-label:disabled {
        color: var(--ec-color-gray-600);
    }

    .ec-checkbox-container label {
        display: inline;
    }

.site-section {
    margin-bottom: 4rem;
}

/*  =========================================
    File Uploader
    =========================================   */
.ec-file-upload {
    display: flex;
}

    .ec-file-upload .ec-button-tertiary {
        color: var(--ec-color-action-900);
    }

.ec-pager .select2 {
    width: 4rem;
    margin: 0rem 0.5rem 0rem 0.5rem
}

.ec-pager .ec-pager-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

    .ec-pager .ec-pager-container .ec-text {
        width: 100%;
    }

    .ec-pager .ec-pager-container input {
        margin: 0rem 0.5rem;
    }

    .ec-pager .ec-pager-container .nav-link {
        background-color: transparent;
        border: 1px solid transparent;
    }

.ec-pager-result-count-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ec-pager-page-selection-container {
    display: flex;
    align-items: center;
}

    .ec-pager-page-selection-container label {
        margin: 0;
    }

.ec-file-upload-box {
    align-items: stretch;
    background: var(--ec-color-primary-100);
    border: 2px dashed var(--ec-color-primary-200);
    border-radius: 1rem;
    box-shadow: inset 0 3px 6px rgba(0,0,0,0.16);
    display: flex;
    flex-direction: column;
    height: 12rem;
    justify-content: start;
    min-width: 24rem;
    padding: 1rem;
    position: relative;
}

    .ec-file-upload-box.is-dragover {
        background: var(--ec-color-primary-200);
    }

    .ec-file-upload-box span .ec-button {
        display: contents;
    }

.ec-file-upload-input {
    display: none;
}

.ec-file-upload-info-area {
    padding: 1rem;
    font-size: 1rem;
}

.ec-file-upload-file-size {
    font-weight: bold;
}

.ec-file-upload-file-types {
    font-weight: bold;
}

.ec-file-upload-file-list {
    margin-top: 2rem;
    overflow-y: auto;
    font-size: 14px;
    font-weight: bold;
}

    .ec-file-upload-file-list li {
        display: flex;
        flex-direction: row;
        padding: 0rem 0.25rem;
        justify-content: space-between;
    }

    .ec-file-upload-file-list .ec-button {
        padding: 0 0.25rem;
        align-self: center;
        margin-left: 1rem;
    }

.ec-file-upload-error {
    display: none;
    color: var(--ec-color-error-600);
    background-color: var(--ec-color-error-100);
    bottom: 0;
    position: absolute;
    width: 100%;
    left: 0;
    border-radius: 0 0 1rem 1rem;
    padding: 0.5rem;
    justify-content: space-between;
}

    .ec-file-upload-error .ec-button {
        padding: 0 0.25rem;
        color: var(--ec-color-error-800);
        border-color: var(--ec-color-error-800);
    }

/*Tables*/


.ec-table {
    background: var(--ec-color-gray-50);
    font-size: 16px;
    width: 100%;
    table-layout: auto;
}

    .ec-table th {
        border-bottom: solid 1px var(--ec-color-gray-400);
        color: var(--ec-color-gray-700);
        padding: 0.25rem;
        margin-right: 0.5rem;
        background: var(--ec-color-gray-200);
        font-size: 1rem;
    }

        .ec-table th a {
            color: var(--ec-color-gray-700);
            text-decoration: none;
        }

    .ec-table .ec-icon {
        height: 1.5rem;
        padding: 0.5rem;
    }

    .ec-table .ec-icon-sort {
        padding: 0.125rem 0rem 0.125rem 0.5rem;
    }

    .ec-table td {
        padding: 0.25rem;
    }

    .ec-table tr td:last-of-type {
        overflow: visible;
    }

    .ec-table tr.ec-row-header {
        background: var(--ec-color-primary-50);
        color: var(--ec-color-primary-800);
    }

        .ec-table tr.ec-row-header a {
            padding: 0.25rem 0.25rem 0.25rem 0.5rem;
            display: block;
        }

.ec-table-header {
    display: inline-block;
    white-space: nowrap;
}

.ec-table-header-text {
    white-space: break-spaces;
}

.ec-table-td-no-wrap td {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ec-table .draggable {
    cursor: move;
    user-select: none;
}

.ec-table .ec-reorder {
    width: 1%;
}

.ec-table .draggable .ec-icon {
    user-select: none;
    pointer-events: none;
    padding: 0rem;
    filter: var(--ec-color-gray-700-filter);
}

.tr-placeholder {
    background-color: var(--ec-color-primary-300);
    border: 1px dotted var(--ec-color-primary-800);
}
/*  =========================================
        Wizard
    =========================================   */

.ec-wizard a {
    height: 100%;
    user-select: none;
}

.ec-wizard .nav-link {
    display: inline-block;
}

    .ec-wizard .nav-link:hover {
        text-decoration: none;
    }

.ec-wizard .ec-icon {
    height: 1rem;
    width: 1rem;
    padding: 0.25rem 0 0 0;
}

.ec-wizard-step {
    width: 11rem;
    max-width: 11rem;
    display: inline-block;
    padding: 0 0.25rem 0 0.25rem;
    text-align: left;
    border: none;
    vertical-align: bottom;
}

    .ec-wizard-step:disabled {
        color: var(--ec-color-gray-600);
        cursor: default;
    }

        .ec-wizard-step:disabled .ec-wizard-step-number {
            color: var(--ec-color-gray-600);
        }

        .ec-wizard-step:disabled .ec-wizard-step-name {
            color: var(--ec-color-gray-600);
        }

        .ec-wizard-step:disabled .ec-wizard-step-line {
            background: var(--ec-color-gray-400);
            height: 0.1875rem;
            display: block;
        }

        .ec-wizard-step:disabled.ec-wizard-step-current .ec-wizard-step-line {
            background: var(--ec-color-primary-500);
        }

    .ec-wizard-step .ec-icon {
        height: 1.25rem;
        width: 1.25rem;
    }

.ec-wizard-step-row-one {
    display: flex;
    padding: 0 0.5rem 0 0;
    line-height: 1.25rem;
    height: 1.25rem;
}

.ec-wizard-step:not(:disabled):hover {
    cursor: pointer;
    background-color: var(--ec-color-action-50);
    text-decoration: none;
}

    .ec-wizard-step:not(:disabled):hover .ec-wizard-step-line {
        background: var(--ec-color-gray-700);
        height: 0.1875rem;
        display: block;
    }

.ec-wizard-step-number {
    color: var(--ec-color-gray-700);
    font-size: 11px;
    font-weight: bold;
    display: inline-block;
    width: 100%;
}

.ec-wizard-step-name {
    color: var(--ec-color-gray-800);
    display: block;
    font-size: 14px;
    font-weight: bold;
}

.ec-wizard-step-line {
    background: var(--ec-color-gray-500);
    height: 0.1875rem;
    display: block;
}


.ec-wizard-step-completed:not(.ec-wizard-step-locked) .ec-wizard-step-line,
.ec-wizard-step-completed:disabled:not(.ec-wizard-step-locked) .ec-wizard-step-line {
    background: var(--ec-color-success-700);
}

.ec-wizard-step-locked .ec-wizard-step-line,
.ec-wizard-step-locked:disabled .ec-wizard-step-line {
    background: var(--ec-color-gray-900);
}

.ec-wizard-step-completed .ec-icon:not(.ec-icon-lock) {
    filter: var(--ec-color-success-700-filter);
}

.ec-wizard-step-current .ec-wizard-step-line {
    background: var(--ec-color-primary-700);
}

.ec-wizard-step-alert .ec-wizard-step-line {
    background: var(--ec-color-error-600);
}

.ec-note {
    display: grid;
    grid-template-rows: auto;
}

    .ec-note .ec-icon {
        filter: var(--ec-color-action-800-filter);
        padding-right: 0.5rem;
    }



.ec-note-footer {
    display: flex;
    flex-direction: row;
}

    .ec-note-footer > * {
        white-space: nowrap;
    }

    .ec-note-footer > .ec-button:last-child {
        margin-left: auto;
    }

    .ec-note-footer > *:not(:first-child):not(.ec-button)::before {
        content: "•"; /*"\25AA"*/
        margin: 0rem 0.5rem 0rem 0.5rem;
    }

.ec-note-title {
    padding: 0.5rem;
}

.ec-note:not(:last-child) {
    margin-bottom: 2rem;
}

.ec-note-bubble {
    border-radius: 0.5rem;
    padding: 0.5rem;
    background: white;
    border: 1px solid var(--ec-color-gray-200);
}

.ec-note-timestamp {
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

/*  =========================================
        Chips
    =========================================   */
.ec-chip {
    padding: 0 0.5rem 0 0.5rem;
    text-align: center;
    display: inline;
    border-radius: 1rem;
    background-color: var(--ec-color-gray-200);
    color: var(--ec-color-gray-700);
    white-space: nowrap;
}

/*  =========================================
        Status Colors
    =========================================   */
.ec-status-black {
    background-color: var(--ec-color-status-background-black);
    color: var(--ec-color-status-black);
}

.ec-status-gray {
    background-color: var(--ec-color-status-background-gray);
    color: var(--ec-color-gray-700);
    border: solid 1px var(--ec-color-gray-700);
}

.ec-status-orange {
    background-color: var(--ec-color-status-background-orange);
    color: var(--ec-color-status-orange);
}

.ec-status-purple {
    background-color: var(--ec-color-status-background-purple);
    color: var(--ec-color-status-purple);
}

.ec-status-green {
    background-color: var(--ec-color-status-background-green);
    color: var(--ec-color-status-green);
}

.ec-status-red {
    color: var(--ec-color-error-600);
    background-color: var(--ec-color-error-50);
}

/*  =========================================
        Animations
    =========================================   */

.ec-loading-animation-container {
    background-color: white;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.11);
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 18rem;
    height: 18rem;
    border-radius: 1rem;
    transform: translateY(25%);
    text-align: center;
    padding-top: 3rem;
    color: var(--ec-color-action-700);
    font-size: 1.5rem;
}

    .ec-loading-animation-container p {
        margin-top: 1rem;
        font-size: 2rem;
        font-weight: bold;
    }

    .ec-loading-animation-container div {
        border: 16px solid var(--ec-color-action-700);
        border-top: 16px solid #f3f3f3;
        border-radius: 50%;
        width: 120px;
        height: 120px;
        animation: spin 2s linear infinite;
        margin: auto;
    }

.ec-loading-animation {
    animation: flip 3s infinite;
    height: 10rem;
}

.ec-loading-animation-overlay {
    position: fixed; /* Sit on top of the page content */
    display: none; /*  Hidden by default */
    width: 100%; /* Full width (cover the whole page) */
    height: 100%; /* Full height (cover the whole page) */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5); /* Black background with opacity */
    z-index: 1200; /* Specify a stack order in case you're using a different order for other elements */
}

    .ec-loading-animation-overlay.show {
        display: block;
    }

.navbar {
    flex-wrap: nowrap;
}

@keyframes rotate360 {
    from {
        transform: translateY(-25%) rotate(0deg);
    }

    to {
        transform: translateY(-25%) rotate(180deg);
    }
}

@keyframes rotate180 {
    from {
        transform: translateY(0%) rotate(0deg);
    }

    to {
        transform: translateY(0%) rotate(180deg);
    }
}

@keyframes flip {
    from {
        transform: rotateY(0deg);
    }

    to {
        transform: rotateY(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
