:root {
    --primary-color : #130b42;
    --secondary-color : #157caa;
    --fuse-primary-rgb : #130b42;
    --font-color-cust: #000000;
    --new-theme-color: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
}

body {
    & fuse-splash-screen {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: var(--primary-color);
        color: #F9FAFB;
        z-index: 999999;
        pointer-events: none;
        opacity: 1;
        visibility: visible;
        transition: opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);

        & img {
            width: 250px;
            max-width: 250px;
            margin-bottom: 40px;
        }

        & .spinner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 56px;

            & > div {
                width: 12px;
                height: 12px;
                background-color: var(--secondary-color);
                border-radius: 100%;
                display: inline-block;
                -webkit-animation: fuse-bouncedelay 1s infinite ease-in-out both;
                animation: fuse-bouncedelay 1s infinite ease-in-out both;
            }

            & .bounce1 {
                -webkit-animation-delay: -0.32s;
                animation-delay: -0.32s;
            }

            & .bounce2 {
                -webkit-animation-delay: -0.16s;
                animation-delay: -0.16s;
            }
        }
    }

    &:not(.fuse-splash-screen-hidden) {
        overflow: hidden;
    }

    &.fuse-splash-screen-hidden fuse-splash-screen {
        visibility: hidden;
        opacity: 0;
    }

    &.spinner-overlay {
        pointer-events: none;

        fuse-splash-screen {
            visibility: visible;
            opacity: 1;
            background-color: rgba(17, 24, 39, 0.5);

            img {
                display: none;
            }
        }
    }
}

@-webkit-keyframes fuse-bouncedelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0)
    }
    40% {
        -webkit-transform: scale(1.0)
    }
}

@keyframes fuse-bouncedelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    40% {
        -webkit-transform: scale(1.0);
        transform: scale(1.0);
    }
}
