.screen-loading-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 998;
}

:root[data-loader='tmgm'] .loader {
    width: 50px;
    height: 6px;
    display: block;
    margin: 20px auto;
    position: relative;
    border-radius: 6px;
    color: #949598;
    background: currentColor;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-animation: loaderAnimation 1s 0.2s infinite linear;
    animation: loaderAnimation 1s 0.2s infinite linear;
}

:root[data-loader='tmgm'] .loader::after,
:root[data-loader='tmgm'] .loader::before {
    content: '';
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 50px;
    height: 6px;
    border-radius: 6px;
    background: currentColor;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

:root[data-loader='tmgm'] .loader::before {
    -webkit-animation: loaderAnimation 1s 0.4s infinite linear;
    animation: loaderAnimation 1s 0.4s infinite linear;
    background: #ef4144;
    top: 12px;
}

:root[data-loader='tmgm'] .loader::after {
    -webkit-animation: loaderAnimation 1s 0s infinite linear;
    animation: loaderAnimation 1s 0s infinite linear;
    top: -12px;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    background: #296130;
}

:root[data-loader='tmgm'] .loader.mini {
    width: 35px;
    height: 4px;
    border-radius: 4px;
    -webkit-animation: loaderMiniAnimation 1s 0.2s infinite linear;
    animation: loaderMiniAnimation 1s 0.2s infinite linear;
}

:root[data-loader='tmgm'] .loader.mini::before {
    -webkit-animation: loaderMiniAnimation 1s 0.4s infinite linear;
    animation: loaderMiniAnimation 1s 0.4s infinite linear;
    top: 8px;
    width: 35px;
    height: 4px;
}

:root[data-loader='tmgm'] .loader.mini::after {
    -webkit-animation: loaderMiniAnimation 1s 0s infinite linear;
    animation: loaderMiniAnimation 1s 0s infinite linear;
    top: -8px;
    width: 35px;
    height: 4px;
}

@-webkit-keyframes loaderAnimation {
    0% {
        width: 50px;
    }
    50% {
        width: 25px;
    }
    100% {
        width: 50px;
    }
}

@keyframes loaderAnimation {
    0% {
        width: 50px;
    }
    50% {
        width: 25px;
    }
    100% {
        width: 50px;
    }
}

@-webkit-keyframes loaderMiniAnimation {
    0% {
        width: 35px;
    }
    50% {
        width: 15px;
    }
    100% {
        width: 35px;
    }
}

@keyframes loaderMiniAnimation {
    0% {
        width: 35px;
    }
    50% {
        width: 15px;
    }
    100% {
        width: 35px;
    }
}

:root[data-loader='dls'] .loader {
    width: 48px;
    height: 48px;
    border: 5px solid;
    border-color: #4b83d8 transparent;
    border-radius: 50%;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-animation: rotation 1s linear infinite;
    animation: rotation 1s linear infinite;
}

:root[data-loader='dls'] .loader.mini {
    width: 32px;
    height: 32px;
    border: 4px solid;
    border-color: #4b83d8 transparent;
    border-radius: 50%;
}

@-webkit-keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

:root[data-loader='ttg'] .loader {
    width: 64px;
    height: 64px;
    display: block;
    background: url('/img/ttgloadingicon256.gif') no-repeat center center;
    background-size: contain;
}

:root[data-loader='ttg'] .loader.mini {
    width: 48px;
    height: 48px;
}

:root[data-loader='oqtima'] .loader {
    width: 208px;
    height: 112px;
    display: block;
    background: url('/img/oqtima-loading.gif') no-repeat center center;
    background-size: contain;
}
