.app-placeholder-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1000;
}

.app-placeholder .logo-container svg {
    width: 100%;
    fill: var(--main-color);
}

.app-placeholder {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
}

.logo-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    padding-bottom: 20px;
}

.logo-container img {
    max-width: 250px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    object-fit: contain;
}

.simple-loader-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.simple-loader-container .simple-loader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.master-loader-container .dots-loader {
    position: relative;
    width: 64px;
    height: 64px;
}

.master-loader-container .dots-loader div {
    position: absolute;
    top: 27px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--main-color);
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.master-loader-container.simple-loader-container .simple-loader .dots-loader div {
    opacity: .3;
}

.master-loader-container .dots-loader div:nth-child(1) {
    left: 6px;
    animation: dot-animation-1 0.6s infinite;
}

.master-loader-container .dots-loader div:nth-child(2) {
    left: 6px;
    animation: dot-animation-2 0.6s infinite;
}

.master-loader-container .dots-loader div:nth-child(3) {
    left: 26px;
    animation: dot-animation-2 0.6s infinite;
}

.master-loader-container .dots-loader div:nth-child(4) {
    left: 45px;
    animation: dot-animation-3 0.6s infinite;
}


/* loader animations */

@keyframes dot-animation-1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes dot-animation-3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}

@keyframes dot-animation-2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(19px, 0);
    }
}