@-webkit-keyframes rotating {
    from {
        -webkit-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotating {
    from {
        -ms-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.realvuu-loading {
    position: absolute;
    width: 100%;
    height: 100%;
    /* min-height: 50vh; */
    padding: 20% 0;
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    align-content: center;
    justify-content: center;
    text-align: center;
    gap: 30px;
    z-index: 10;
    color: var(--realvuu-primary-color);
    background-color: var(--realvuu-inverse-color);
    transition: all 150ms ease-in-out;
}

.realvuu-loading-informations {
    display: grid;
    align-items: center;
    align-content: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
}

.realvuu-loading .realvuu-loading-icon i {
    font-size: 300%;
    -webkit-animation: rotating 2s linear infinite;
    -moz-animation: rotating 2s linear infinite;
    -ms-animation: rotating 2s linear infinite;
    -o-animation: rotating 2s linear infinite;
    animation: rotating 2s linear infinite;
}

.realvuu-loading .realvuu-loading-icon i::before {
    color: var(--realvuu-secondary-color);
}

.realvuu-loading .realvuu-loading-icon i::after {
    color: var(--realvuu-primary-color);
    opacity: .15;
}

.realvuu-loading .realvuu-loading-title {
    font-size: 200%;
    font-weight: 300;
    color: var(--realvuu-secondary-color);
}

.realvuu-loading .primary-color {
    font-size: 115%;
    font-weight: 500;
}

.realvuu-loading-bar {
    position: relative;
    justify-self: center;
    width: 100%;
    max-width: 300px;
    height: 4px;
    background-color: rgba(var(--realvuu-primary-color-rgb), .15);
    border-radius: 100px;
}

.realvuu-loading-progress {
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background-color: var(--realvuu-secondary-color);
    border-radius: 100px;
}