body {
    margin: 0;
}

html {
    overflow-x: hidden;
    overflow-y: scroll;
}

#loading-bg {
    position: absolute;
    display: block;
    background: var(--initial-loader-bg, #fff);
    block-size: 100%;
    inline-size: 100%;
}

.loading-logo {
    position:absolute;
    max-width:45%;
    max-height:45%;
    top:45%;
    left:50%;
    overflow:visible;
}

.image {
    position:relative;
    max-width:100%;
    max-height:100%;
    margin-top:-50%;
    margin-left:-56%;
    top: 30%;
}

.loading {
    position: absolute;
    left: calc(50% - 30px);
    top: 50%;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 3px solid transparent;
}

.loading .effect-1,
.loading .effect-2,
.loading .effect-3 {
    position: absolute;
    box-sizing: border-box;
    border: 3px solid transparent;
    block-size: 100%;
    border-inline-start: 3px solid var(--initial-loader-color, #eee);
    border-radius: 50%;
    inline-size: 100%;
}

.loading .effect-1 {
    animation: rotate 2s ease infinite;
}

.loading .effect-2 {
    animation: rotate-opacity 1s ease infinite 0.1s;
}

.loading .effect-3 {
    animation: rotate-opacity 1s ease infinite 0.2s;
}

.loading .effects {
    transition: all 0.3s ease;
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(1turn);
    }
}

@keyframes rotate-opacity {
    0% {
        opacity: 0.1;
        transform: rotate(0deg);
    }

    100% {
        opacity: 1;
        transform: rotate(1turn);
    }
}
