/* Анимация точек */

.dots {
    display: inline-block;
    position: relative;
    width: 40px;
    height: 18px;
}

.dots div {
    position: absolute;
    margin: 5px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
span.dots {
    min-width: 50px;
}
.dots div:nth-child(1) {
    left: 8px;
    animation: dots1 0.6s infinite;
}
.dots div:nth-child(2) {
    left: 16px;
    animation: dots2 0.6s infinite;
}
.dots div:nth-child(3) {
    left: 24px;
    animation: dots2 0.6s infinite;
}
.dots div:nth-child(4) {
    left: 32px;
    animation: dots3 0.6s infinite;
}

@keyframes dots1 {
    0% { transform: scale(0); }
    100% { transform: scale(1); }
}

@keyframes dots2 {
    0% { transform: translate(0, 0); }
    100% { transform: translate(8px, 0); }
}

@keyframes dots3 {
    0% { transform: scale(1); }
    100% { transform: scale(0); }
}