/* * Wire * Copyright (C) 2018 Wire Swiss GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses/. * */ .loading-dots { position: relative; display: flex; align-items: center; justify-content: center; background-color: var(--foreground-fade-8); &::after { position: absolute; right: 50%; bottom: 50%; display: block; width: 4px; height: 4px; border-radius: 50%; margin-right: -2px; margin-bottom: -2px; animation: threeLoadingDotsAni 1s linear infinite; background-color: var(--background-fade-16); box-shadow: -8px 0 var(--background-fade-16), 0 0 var(--background-fade-16), 8px 0 var(--background-fade-16); content: ''; } } @keyframes threeLoadingDotsAni { 0%, 80% { box-shadow: -8px 0 var(--background-fade-16), 0 0 var(--background-fade-16), 8px 0 var(--background-fade-16); } 20% { box-shadow: -9px 0 0 2px var(--background-fade-16), 0 0 var(--background-fade-16), 8px 0 var(--background-fade-16); } 40% { box-shadow: -8px 0 var(--background-fade-16), 0 0 0 2px var(--background-fade-16), 8px 0 var(--background-fade-16); } 60% { box-shadow: -8px 0 var(--background-fade-16), 0 0 var(--background-fade-16), 9px 0 0 2px var(--background-fade-16); } }