html, body {
    height: 100%;
}

body {
    margin: 0;
    letter-spacing: var(--DS-letter-spacing-body-1);
    background-color: var(--DS-color-surface-neutral-subdued-rest);
}

*, ::after, ::before {
    box-sizing: border-box
}

.icon {
    opacity: 0.7;
    background-size: contain;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: 100% 100%;
    background-color: currentColor;
}

.small-size .medium-icon {
    width: 1rem;
    height: 1rem;
}

.medium-size .medium-icon {
    width: 1.25rem;
    height: 1.25rem;
}

.large-size .medium-icon {
    width: 1.5rem;
    height: 1.5rem;
}

.small-size .avatar {
    width: 1.5rem;
    height: 1.5rem;
    margin-left: 0.5rem;
}

.medium-size .avatar {
    width: 2rem;
    height: 2rem;
    margin-left: 0.75rem;
}

.large-size .avatar {
    width: 2.5rem;
    height: 2.5rem;
    margin-left: 1rem;
}

.icon.small-icon {
    width: 0.75rem;
    height: 0.75rem;
}

.sun-icon {
    mask-image: url("images/icons/weather-sunny.svg");
}

.moon-icon {
    mask-image: url("images/icons/weather-moon.svg");
}

.bell-icon {
    mask-image: url("images/icons/bell.svg");
}

.user-icon {
    mask-image: url("images/icons/person.svg");
}

.modules-icon {
    mask-image: url("images/icons/column-chooser.svg");
}

.back-icon {
    mask-image: url("images/icons/arrow-left.svg");
}

.copy-icon {
    mask-image: url("images/icons/copy.svg");
}

.refresh-icon {
    mask-image: url("images/icons/arrow-sync.svg");
}

.person-add-icon {
    mask-image: url("images/icons/person-add.svg");
}

.sign-out-icon {
    mask-image: url("images/icons/sign-out.svg");
}

.call-icon {
    mask-image: url("images/icons/call.svg");
}

.change-role-icon {
    mask-image: url("images/icons/lock-closed.svg");
}

.mail-icon {
    mask-image: url("images/icons/mail.svg");
}

.more-icon {
    mask-image: url("images/icons/more-horizontal.svg");
}

.home-icon {
    mask-image: url("images/icons/home.svg");
}

.toolbar-add-icon {
    mask-image: url("images/icons/add.svg");
}

.lock-open-icon {
    mask-image: url("images/icons/lock-closed.svg");
}

.lock-closed-icon {
    mask-image: url("images/icons/lock-open.svg");
}

.help-icon {
    mask-image: url("images/icons/help.svg");
}

.info-icon {
    mask-image: url("images/icons/info.svg");
}

.clone-merge-icon {
    mask-image: url("images/icons/clone_merge.svg");
}

.action-copy-icon {
    mask-image: url("images/icons/action_copy.svg");
}

.excel-icon {
    mask-image: url("images/icons/excel.svg");
}

.action-edit-icon {
    mask-image: url("images/icons/action_edit.svg");
}

.copy-icon {
    mask-image: url("images/icons/copy.svg");
}

.edit-icon {
    mask-image: url("images/icons/edit.svg");
}

.replicate-icon {
    mask-image: url("images/icons/column-chooser.svg");
}

.factor-icon {
    mask-image: url("images/icons/data-trending.svg");
}

.notification {
    position: relative;
}

    .notification::after {
        content: attr(notification-count) / "";
        color: white;
        display: flex;
        position: absolute;
        top: 0;
        left: 5%;
        font-size: 0.8em;
        width: 1.2em;
        height: 1.2em;
        border-radius: 50%;
        background-color: red;
        align-items: center;
        justify-content: center;
    }

.dropdown-no-padding {
    --dxbl-dropdown-body-padding-x: 0;
    --dxbl-dropdown-body-padding-y: 0;
}

@media (min-width: 899.98px) {
    .pw-800 {
        max-width: 800px !important;
        width: 800px !important;
    }
}

.loading-panel {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .loading-panel > .loader {
        display: flex;
        align-items: center;
    }

        .loading-panel > .loader > .spinner {
            width: 2rem;
            height: 2rem;
            border: 0.25rem solid color-mix(in sRGB, var(--DS-color-surface-primary-default-rest) 30%, transparent);
            border-bottom-color: var(--DS-color-surface-primary-default-rest);
            border-radius: 50%;
            display: inline-block;
            box-sizing: border-box;
            animation: rotation 0.75s linear infinite;
        }

        .loading-panel > .loader > .label {
            color: var(--DS-color-content-neutral-default-rest);
            font-size: var(--DS-font-size-subtitle-2);
            font-weight: var(--DS-font-weight-subtitle-2);
            margin-left: 0.75rem;
        }

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.colombia-icon {
    background-image: url("images/icons/flag-col.png");
}

.usa-icon {
    background-image: url("images/icons/flag-usa.png");
}

.gridcolumn-flag {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    border: none;
    cursor: pointer;
    margin: 0 4px;
}

    .gridcolumn-flag:hover {
        opacity: 0.5;
    }

    .gridcolumn-flag.usa {
        background-image: url("images/icons/flag-usa.png");
    }

    .gridcolumn-flag.colombia {
        background-image: url("images/icons/flag-col.png");
    }

    .gridcolumn-flag.locked {
        background-image: url("images/icons/lock-closed.svg");
    }

    .gridcolumn-flag.unlocked {
        background-image: url("images/icons/lock-open.svg");
        color: white !important;
    }

.grid-icon {
    display: inline-block;
    width: 1em;
    height: 1rem;
    min-width: 1rem;
    min-height: 1rem;
    background-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-position: center center;
    background-color: currentColor;
    vertical-align: middle;
    margin: -0.125rem;
    cursor: pointer
}

.grid-icon-add {
    -webkit-mask-image: url("images/icons/add.svg");
    mask-image: url("images/icons/add.svg");
}

.grid-icon-delete {
    -webkit-mask-image: url("images/icons/delete-tag.svg");
    mask-image: url("images/icons/delete-tag.svg");
}

.grid-icon-edit {
    -webkit-mask-image: url("images/icons/grid-toolbar-edit.svg");
    mask-image: url("images/icons/grid-toolbar-edit.svg");
}

.grid-icon-more {
    -webkit-mask-image: url("images/icons/more-horizontal.svg");
    mask-image: url("images/icons/more-horizontal.svg");
}

.grid-icon-calculate {
    -webkit-mask-image: url("images/icons/sign-out.svg");
    mask-image: url("images/icons/sign-out.svg");
}

.grid-disabled-button {
    pointer-events: none;
}

.grid-cell-align-center {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: -4px;
    margin-bottom: -4px;
}

/*Increase ComboBox Height DropDownBodyCssClass*/
.dd-body-class,
.dd-body-class .dxbl-list-box-render-container {
    max-height: 400px !important;
}

.combobox-medium-width {
    width: 340px;
}

.status {
    font-size: 0.9em;
}

    .status::before {
        content: " ";
        display: inline-block;
        width: 0.6em;
        height: 0.6em;
        margin-right: 0.3rem;
        border-radius: 50%;
        background-color: currentColor;
    }

    .status.status-green {
        color: var(--DS-color-content-success-default-rest);
    }

    .status.status-blue {
        color: var(--DS-color-content-info-default-rest);
    }

    .status.status-warning {
        color: var(--DS-color-content-warning-default-rest);
    }

    .status.status-red {
        color: var(--DS-color-content-danger-default-rest);
    }
