.loader { position: relative; float:left; user-select: none; box-sizing: border-box; width: 150px; height: 150px; } .loader-bg { width: 100%; height: 100%; border-radius: 50%; box-sizing: border-box; border: 5px solid lightgrey; display: flex; align-items: center; justify-content: center; } .loader-shadow { width: 4.25rem; height: 4.25rem; border-radius: 100%; box-sizing: border-box; border: 2px solid black; display: block; align-items: center; justify-content: center; margin-left: -0.125rem; margin-top: -0.125rem; } .spinner-holder-one { position: absolute; top:0; left:0; overflow: hidden; width: 50%; height: 50%; background: transparent; box-sizing: border-box; } .spinner-holder-two { position: absolute; top:0; left:0; overflow: hidden; width: 100%; height: 100%; background: transparent; box-sizing: border-box; } .loader-spinner { width: 200%; height: 200%; border-radius: 50%; border: 5px solid darkorange; box-sizing: border-box; } .animate-0-25-a { transform: rotate(90deg); transform-origin: 100% 100%; } .animate-0-25-b { transform: rotate(-90deg); transform-origin: 100% 100%; } .animate-25-50-a { transform: rotate(180deg); transform-origin: 100% 100%; } .animate-25-50-b { transform: rotate(-90deg); transform-origin: 100% 100%; } .animate-50-75-a { transform: rotate(270deg); transform-origin: 100% 100%; } .animate-50-75-b { transform: rotate(-90deg); transform-origin:100% 100%; } .animate-75-100-a { transform: rotate(0deg); transform-origin: 100% 100%; } .animate-75-100-b { transform: rotate(-90deg); transform-origin: 100% 100%; } .text { text-align: center; font-size: 20px; color: darkorange; font-weight: bold; }