﻿:root {
    --loading-indicator-size: 5px;
    --transition-duration: 150ms;
}

.softsol-grid-contextmenu {
    gap: 0;
}

/* A window without Top and Left is centered with transform: translate(-50%, -50%), a maximized one included. That
   transform makes the window the containing block of its fixed positioned children, so content that positions its own
   popups with viewport coordinates (the report designer, for one) ends up half a window to the left and up. A
   maximized window fills the viewport anyway, SoftSolWindow gives it this class to place it without a transform. */
.softsol-window-pinned.k-window {
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
}

/* 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);
    }
}

.transparent-overlay .k-loader-container-overlay {
    background-color: transparent;
}