.spinner {
    position: relative;
    width: 100%;
    margin: 1% 0 1% 0;
}
.spinner .circles {
    display: block;
    position: relative;
    margin: 0 auto;
}
.spinner .circles div {
    position: absolute;
    border-radius: 50%;
    animation: spinner 1.2s linear infinite;
}
.spinner .circles div:nth-child(1) {
    animation-delay: 0s;
    top: 45.3%;
    left: 82.8%;
}
.spinner .circles div:nth-child(2) {
    animation-delay: -0.1s;
    top: 28.1%;
    left: 78.1%;
}
.spinner .circles div:nth-child(3) {
    animation-delay: -0.2s;
    top: 14%;
    left: 64%;
}
.spinner .circles div:nth-child(4) {
    animation-delay: -0.3s;
    top: 9.3%;
    left: 45.3%;
}
.spinner .circles div:nth-child(5) {
    animation-delay: -0.4s;
    top: 14%;
    left: 28.1%;
}
.spinner .circles div:nth-child(6) {
    animation-delay: -0.5s;
    top: 28.1%;
    left: 14%;
}
.spinner .circles div:nth-child(7) {
    animation-delay: -0.6s;
    top: 45.3%;
    left: 9.3%;
}
.spinner .circles div:nth-child(8) {
    animation-delay: -0.7s;
    top: 64%;
    left: 14%;
}
.spinner .circles div:nth-child(9) {
    animation-delay: -0.8s;
    top: 78.1%;
    left: 28.1%;
}
.spinner .circles div:nth-child(10) {
    animation-delay: -0.9s;
    top: 82.8%;
    left: 45.3%;
}
.spinner .circles div:nth-child(11) {
    animation-delay: -1s;
    top: 78.1%;
    left: 64%;
}
.spinner .circles div:nth-child(12) {
    animation-delay: -1.1s;
    top: 64%;
    left: 78.1%;
}
@keyframes spinner {
    0%, 20%, 80%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.5);
    }
}
.spinner .text {
    text-align: center;
    font-size: 16px;
}
.spinner .text.in-circle {
    position: absolute;
    top: 43%;
    left: 0;
    font-size: 18px;
    width: 100%;
    text-align: center;
}