﻿:root {
    --loading-indicator-size: 5px;
    --transition-duration: 150ms;
}

.softsol-grid-contextmenu {
    gap: 0;
}

/* Speed up animations */
.k-child-animation-container {
    transition-duration: var(--transition-duration) !important;
}

.k-slide-down-exit, .k-slide-down-exit-active, .k-slide-down-enter, .k-slide-down-enter-active {
    transition-duration: var(--transition-duration) !important;
}

.custom-animation, .custom-animation.k-popup.k-reset {
    transition-duration: var(--transition-duration) !important;
}


.loading-indicator-circular {
    border: var(--loading-indicator-size) solid var(--app-color-primary-subtle, var(--bs-light, #ffffff));
    border-radius: 50%;
    border-top: var(--loading-indicator-size) solid var(--app-color-primary, var(--bs-primary, #000000));
    -webkit-animation: loading-indicator-spin 1s linear infinite; /* Safari */
    animation: loading-indicator-spin 1s linear infinite;
}

.loading-indicator-linear {
    height: var(--loading-indicator-size);
    background-color: var(--app-color-primary-subtle, var(--bs-light, #ffffff));
    width: 100%;
    overflow: hidden;
}

.loading-indicator-linear-value {
    width: 100%;
    height: 100%;
    background-color: var(--app-color-primary, var(--bs-primary, #000000));
    animation: loading-indicator-progress 1s infinite linear;
    transform-origin: 0% 50%;
}

/* Safari */
@-webkit-keyframes loading-indicator-spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes loading-indicator-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes loading-indicator-progress {
    0% {
        transform: translateX(0) scaleX(0);
    }

    40% {
        transform: translateX(0) scaleX(0.4);
    }

    100% {
        transform: translateX(100%) scaleX(0.5);
    }
}
