#core-loader {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background: #f7f7f7;
    z-index: 10001;
}

#core-loader-container {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 300px;
    text-align: center;
    height: 400px;
    transform: translate(-50%, -50%);
}

#core-loader-container .main {
    width: 200px;
    height: 200px;
    background-image: url(/loader.svg);
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

#core-loader-container .ripple {
    position: absolute;
    background-image: url(/loader-outline.svg);
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    opacity: 0;
    transform: translate(-50%, -50%);
    animation: core-loader 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

#core-loader-container .ripple2 {
    animation-delay: 300ms;
}
#core-loader-container .ripple3 {
    animation-delay: 300ms;
}

@keyframes core-loader {
    0% {
        width: 180px;
        height: 180px;
        opacity: 1;
    }

    100% {
        width: 400px;
        height: 400px;
        opacity: 0;
    }
}
