@charset "UTF-8"; :host { z-index: 10000; opacity: .8; align-items: center; width: 100%; height: 100%; display: flex; position: fixed; top: 0; left: 0; overflow: hidden; } .box { width: 345px; height: 345px; margin: 0 auto; position: relative; } .box p { float: right; color: #999; margin: 95px 0 0; font: 1.25em / 1em sans-serif; } .box > span { animation: 2s ease-in-out infinite jspinner; } .box .red { animation-delay: -1.5s; } .box .blue { animation-delay: -1s; } .box .green { animation-delay: -.5s; } .yellow { content: ""; background: #f9a541; border-radius: 90px; width: 90px; height: 90px; position: absolute; top: 0; left: 0; } .yellow:before, .yellow:after { box-sizing: content-box; content: ""; background: none; border: 50px solid #f9a541; width: 50px; position: absolute; top: 0; left: 0; } .yellow:before { border-width: 50px 50px 0; border-radius: 75px 75px 0 0; height: 35px; margin: 60px 0 0 -30px; } .yellow:after { border-width: 0 0 0 50px; height: 105px; margin: 140px 0 0 -30px; } .red { content: ""; background: #f44321; border-radius: 90px; width: 90px; height: 90px; position: absolute; top: 0; left: 0; } .red:before, .red:after { box-sizing: content-box; content: ""; background: none; border: 50px solid #f44321; width: 50px; position: absolute; top: 0; left: 0; } .red:before { border-width: 50px 50px 0; border-radius: 75px 75px 0 0; height: 35px; margin: 60px 0 0 -30px; } .red:after { border-width: 0 0 0 50px; height: 105px; margin: 140px 0 0 -30px; } .blue { content: ""; background: #5091cd; border-radius: 90px; width: 90px; height: 90px; position: absolute; top: 0; left: 0; } .blue:before, .blue:after { box-sizing: content-box; content: ""; background: none; border: 50px solid #5091cd; width: 50px; position: absolute; top: 0; left: 0; } .blue:before { border-width: 50px 50px 0; border-radius: 75px 75px 0 0; height: 35px; margin: 60px 0 0 -30px; } .blue:after { border-width: 0 0 0 50px; height: 105px; margin: 140px 0 0 -30px; } .green { content: ""; background: #7ac143; border-radius: 90px; width: 90px; height: 90px; position: absolute; top: 0; left: 0; } .green:before, .green:after { box-sizing: content-box; content: ""; background: none; border: 50px solid #7ac143; width: 50px; position: absolute; top: 0; left: 0; } .green:before { border-width: 50px 50px 0; border-radius: 75px 75px 0 0; height: 35px; margin: 60px 0 0 -30px; } .green:after { border-width: 0 0 0 50px; height: 105px; margin: 140px 0 0 -30px; } .yellow { margin: 0 0 0 255px; transform: rotate(45deg); } .red { margin: 255px 0 0 255px; transform: rotate(135deg); } .blue { margin: 255px 0 0; transform: rotate(225deg); } .green { transform: rotate(315deg); } @keyframes jspinner { 0%, 40%, 100% { opacity: .3; } 20% { opacity: 1; } } @media (prefers-reduced-motion: reduce) { .box > span { animation: none; } }