* { margin:0; padding:0; } body { overflow:hidden; } div { width:200px; height:200px; background-color:black; position:absolute; left:0; top:0; bottom:0; right:0; margin:auto; border-radius:50%; background-image:linear-gradient(0deg,red 47%,black 47%,black 53%,white 53%,white 100%); box-shadow:-10px -10px 30px 5px rgba(0,0,0,0.5) inset; transition:all 20s linear; } div:hover { transform:rotate(3600deg) scale(4); } div:before { content:''; width:40px; height:40px; position:absolute; top:0; right:0; left:0; bottom:0; margin:auto; background-color:white; border-radius:80%; box-shadow:0 0 0 2px #000,0 0 0 7px white,0 0 0 17px #000; }