.demo{ background: #e84393; }

.loader{
    width: 150px;
    height: 150px;
    margin: 0 auto;
    position: relative;
}

.loader ul{
    padding: 0;
    margin: 0;
    list-style: none;
    display: inline-block;
    text-indent: 2.8em;
    position: absolute;
    left: calc(50% - 0.7em);
    top: calc(50% - 4.2em);
}

.loader ul li:after,
.loader ul:after{
    background-color: #fff;
    width: 1.1em;
    height: 1.1em;
    box-shadow: 0 0 3px #fff;
    border-radius: 100%;
}

.loader ul li:after,
.loader ul:after{
    content: "";
    display: block;
}

.loader ul:after{
    position: absolute;
    top: 2.8em;
}

.loader li:after{ animation: dotAnimationTwo 2.5s infinite; }

.loader li{
    padding-bottom: 5.6em;
    position: absolute;
    top: 0;
    left: 0;
}

.loader li:nth-child(1){
    transform: rotate(0deg);
    animation-delay: 0.125s;
}

.loader li:nth-child(1):after{ animation-delay: 0.125s; }

.loader li:nth-child(2){
    transform: rotate(36deg);
    animation-delay: 0.25s;
}

.loader li:nth-child(2):after{ animation-delay: 0.25s; }

.loader li:nth-child(3){
    transform: rotate(72deg);
    animation-delay: 0.375s;
}

.loader li:nth-child(3):after{ animation-delay: 0.375s; }

.loader li:nth-child(4){
    transform: rotate(108deg);
    animation-delay: 0.5s;
}

.loader li:nth-child(4):after{ animation-delay: 0.5s; }

.loader li:nth-child(5){
    transform: rotate(144deg);
    animation-delay: 0.625s;
}

.loader li:nth-child(5):after{ animation-delay: 0.625s; }

.loader li:nth-child(6){
    transform: rotate(180deg);
    animation-delay: 0.75s;
}

.loader li:nth-child(6):after{ animation-delay: 0.75s; }

.loader li:nth-child(7){
    transform: rotate(216deg);
    animation-delay: 0.875s;
}

.loader li:nth-child(7):after{ animation-delay: 0.875s; }

.loader li:nth-child(8){
    transform: rotate(252deg);
    animation-delay: 1s;
}

.loader li:nth-child(8):after{ animation-delay: 1s; }

.loader li:nth-child(9){
    transform: rotate(288deg);
    animation-delay: 1.125s;
}

.loader li:nth-child(9):after{ animation-delay: 1.125s; }

.loader li:nth-child(10){
    transform: rotate(324deg);
    animation-delay: 1.25s;
}

.loader li:nth-child(10):after{ animation-delay: 1.25s; }

.loader li{ animation: dotAnimation 2.5s infinite; }

@keyframes dotAnimation{
    0%, 55%, 100%{ padding: 0 0 5.6em 0; }

    5%, 50%{ padding: 2.8em 0; }
}

@keyframes dotAnimationTwo{
    0%, 55%, 100%{
        opacity: 1;
        transform: scale(1);
    }

    5%, 50%{
        opacity: 0.5;
        transform: scale(0.5);
    }
}
