.loading { display: flex; width: 100%; height: 100%; justify-content: center; align-items: center; flex-direction: column; background-color: #f4f7f9 } .loading .loading-wrap { position: absolute; top: 50%; left: 50%; display: flex; -webkit-transform: translate3d(-50%, -50%, 0); transform: translate3d(-50%, -50%, 0); justify-content: center; align-items: center; flex-direction: column } .loading .dots { display: flex; padding: 98px; justify-content: center; align-items: center } .loading .loading-title { display: flex; font-weight: bold; margin-top: 30px; font-size: 18px; color: rgba(0, 0, 0, .85); justify-content: center; align-items: center } .dot { position: relative; display: inline-block; width: 40px; height: 40px; margin-top: 30px; font-size: 28px; transform: rotate(45deg); box-sizing: border-box; animation: antRotate 1.2s infinite linear } .dot i { position: absolute; display: block; width: 20px; height: 20px; background-color: #0065cc; border-radius: 100%; opacity: .3; transform: scale(.75); animation: antSpinMove 1s infinite linear alternate; transform-origin: 50% 50% } .dot i:nth-child(1) { top: 0; left: 0 } .dot i:nth-child(2) { top: 0; right: 0; -webkit-animation-delay: .4s; animation-delay: .4s } .dot i:nth-child(3) { right: 0; bottom: 0; -webkit-animation-delay: .8s; animation-delay: .8s } .dot i:nth-child(4) { bottom: 0; left: 0; -webkit-animation-delay: 1.2s; animation-delay: 1.2s } @keyframes antRotate { to { -webkit-transform: rotate(405deg); transform: rotate(405deg) } } @-webkit-keyframes antRotate { to { -webkit-transform: rotate(405deg); transform: rotate(405deg) } } @keyframes antSpinMove { to { opacity: 1 } } @-webkit-keyframes antSpinMove { to { opacity: 1 } } #loader-wrapper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999; background-color: #151a26; } #loader-wrapper .loader-box { position: fixed; left: calc(50% - 250px); top: calc(50% - 100px); margin: 0 auto; width: 500px; height: 200px; text-align: center; vertical-align: center; font-weight: bold; color: #87888E; font-size: 35px; } #loader-wrapper .loader-box > span { opacity: 0.4; display: inline-block; animation: bouncingLoader 1s infinite alternate; } #loader-wrapper .loader-box > span:nth-child(2) { animation-delay: 0.1s; } #loader-wrapper .loader-box > span:nth-child(3) { animation-delay: 0.2s; } #loader-wrapper .loader-box > span:nth-child(4) { animation-delay: 0.3s; } #loader-wrapper .loader-box > span:nth-child(5) { animation-delay: 0.4s; } #loader-wrapper .loader-box > span:nth-child(6) { animation-delay: 0.5s; } #loader-wrapper .loader-box > span:nth-child(7) { animation-delay: 0.6s; } @keyframes bouncingLoader { 0% { transform: translateY(0); } 50% { transform: translateY(25px); } 100% { transform: translateY(0); } } #loader-wrapper .loader-title { font-weight: bold; z-index: 1002; position: absolute; top: 50%; margin-top: 15px; color: #87888E; font-size: 18px; width: 100%; height: 30px; text-align: center; opacity: 0.4; line-height: 30px; }