body {
    background-color: #f7f8f8;
}

.app-loading {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 95vh;
}
.app-loading p {
    display: block;
    font-size: 1.17em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: normal;
}

.loader-text {
    margin-top: 30px;
    font-size: 1.4rem;
    font-weight: 600;
    font-family: sans-serif;
    color: #234a61;
}

.app-loading .loader {
    animation: rotate 2s infinite;
    height: 100px;
    width: 100px;
}

.app-loading .loader:before,
.app-loading .loader:after {
    border-radius: 50%;
    content: '';
    display: block;
    height: 40px;
    width: 40px;
}
.app-loading .loader:before {
    animation: ball1 1s infinite;
    background-color: #e57b6d;
    box-shadow: 60px 0 0 #f6c28a;
    margin-bottom: 20px;
}
.app-loading .loader:after {
    animation: ball2 1s infinite;
    background-color: #4376ae;
    box-shadow: 60px 0 0 #16b4b5;
}

@keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg) scale(0.8);
        -moz-transform: rotate(0deg) scale(0.8);
    }
    50% {
        -webkit-transform: rotate(360deg) scale(1.2);
        -moz-transform: rotate(360deg) scale(1.2);
    }
    100% {
        -webkit-transform: rotate(720deg) scale(0.8);
        -moz-transform: rotate(720deg) scale(0.8);
    }
}

@keyframes ball1 {
    0% {
        box-shadow: 60px 0 0 #f8b334;
    }
    50% {
        box-shadow: 0 0 0 #f8b334;
        margin-bottom: 0;
        -webkit-transform: translate(30px, 30px);
        -moz-transform: translate(30px, 30px);
    }
    100% {
        box-shadow: 60px 0 0 #f8b334;
        margin-bottom: 20px;
    }
}

@keyframes ball2 {
    0% {
        box-shadow: 60px 0 0 #97bf0d;
    }
    50% {
        box-shadow: 0 0 0 #97bf0d;
        margin-top: -40px;
        -webkit-transform: translate(30px, 30px);
        -moz-transform: translate(30px, 30px);
    }
    100% {
        box-shadow: 60px 0 0 #97bf0d;
        margin-top: 0;
    }
}
