<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1000 500" style="enable-background:new 0 0 1000 600;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#ball_6_);stroke:#000000;stroke-miterlimit:10;}
.st1{fill:url(#ball_7_);stroke:#000000;stroke-miterlimit:10;}
.st2{fill:url(#ball_8_);stroke:#000000;stroke-miterlimit:10;}
.st3{fill:url(#ball_9_);stroke:#000000;stroke-miterlimit:10;}
.st4{fill:url(#ball_10_);stroke:#000000;stroke-miterlimit:10;}
.st5{fill:url(#ball_11_);stroke:#000000;stroke-miterlimit:10;}
</style>
<linearGradient id="ball_6_" gradientUnits="userSpaceOnUse" x1="229.5" y1="153.5" x2="229.5" y2="193.5">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="7.234823e-003" style="stop-color:#F6F6F6"/>
<stop offset="4.673683e-002" style="stop-color:#C8C8C8"/>
<stop offset="9.125553e-002" style="stop-color:#9D9D9D"/>
<stop offset="0.1391" style="stop-color:#777777"/>
<stop offset="0.1912" style="stop-color:#575757"/>
<stop offset="0.2487" style="stop-color:#3B3B3B"/>
<stop offset="0.3137" style="stop-color:#252525"/>
<stop offset="0.3896" style="stop-color:#141414"/>
<stop offset="0.4834" style="stop-color:#090909"/>
<stop offset="0.615" style="stop-color:#020202"/>
<stop offset="0.9803" style="stop-color:#000000"/>
</linearGradient>
<circle id="ball" class="st0 ball" cx="229.5" cy="173.5" r="20"/>
<linearGradient id="ball_7_" gradientUnits="userSpaceOnUse" x1="310.5" y1="153.5" x2="310.5" y2="193.5">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="7.234823e-003" style="stop-color:#F6F6F6"/>
<stop offset="4.673683e-002" style="stop-color:#C8C8C8"/>
<stop offset="9.125553e-002" style="stop-color:#9D9D9D"/>
<stop offset="0.1391" style="stop-color:#777777"/>
<stop offset="0.1912" style="stop-color:#575757"/>
<stop offset="0.2487" style="stop-color:#3B3B3B"/>
<stop offset="0.3137" style="stop-color:#252525"/>
<stop offset="0.3896" style="stop-color:#141414"/>
<stop offset="0.4834" style="stop-color:#090909"/>
<stop offset="0.615" style="stop-color:#020202"/>
<stop offset="0.9803" style="stop-color:#000000"/>
</linearGradient>
<circle id="ball_1_" class="st1 ball" cx="310.5" cy="173.5" r="20"/>
<linearGradient id="ball_8_" gradientUnits="userSpaceOnUse" x1="391.5" y1="153.5" x2="391.5" y2="193.5">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="7.234823e-003" style="stop-color:#F6F6F6"/>
<stop offset="4.673683e-002" style="stop-color:#C8C8C8"/>
<stop offset="9.125553e-002" style="stop-color:#9D9D9D"/>
<stop offset="0.1391" style="stop-color:#777777"/>
<stop offset="0.1912" style="stop-color:#575757"/>
<stop offset="0.2487" style="stop-color:#3B3B3B"/>
<stop offset="0.3137" style="stop-color:#252525"/>
<stop offset="0.3896" style="stop-color:#141414"/>
<stop offset="0.4834" style="stop-color:#090909"/>
<stop offset="0.615" style="stop-color:#020202"/>
<stop offset="0.9803" style="stop-color:#000000"/>
</linearGradient>
<circle id="ball_2_" class="st2 ball" cx="391.5" cy="173.5" r="20"/>
<linearGradient id="ball_9_" gradientUnits="userSpaceOnUse" x1="472.5" y1="153.5" x2="472.5" y2="193.5">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="7.234823e-003" style="stop-color:#F6F6F6"/>
<stop offset="4.673683e-002" style="stop-color:#C8C8C8"/>
<stop offset="9.125553e-002" style="stop-color:#9D9D9D"/>
<stop offset="0.1391" style="stop-color:#777777"/>
<stop offset="0.1912" style="stop-color:#575757"/>
<stop offset="0.2487" style="stop-color:#3B3B3B"/>
<stop offset="0.3137" style="stop-color:#252525"/>
<stop offset="0.3896" style="stop-color:#141414"/>
<stop offset="0.4834" style="stop-color:#090909"/>
<stop offset="0.615" style="stop-color:#020202"/>
<stop offset="0.9803" style="stop-color:#000000"/>
</linearGradient>
<circle id="ball_3_" class="st3 ball" cx="472.5" cy="173.5" r="20"/>
<linearGradient id="ball_10_" gradientUnits="userSpaceOnUse" x1="553.5" y1="153.5" x2="553.5" y2="193.5">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="7.234823e-003" style="stop-color:#F6F6F6"/>
<stop offset="4.673683e-002" style="stop-color:#C8C8C8"/>
<stop offset="9.125553e-002" style="stop-color:#9D9D9D"/>
<stop offset="0.1391" style="stop-color:#777777"/>
<stop offset="0.1912" style="stop-color:#575757"/>
<stop offset="0.2487" style="stop-color:#3B3B3B"/>
<stop offset="0.3137" style="stop-color:#252525"/>
<stop offset="0.3896" style="stop-color:#141414"/>
<stop offset="0.4834" style="stop-color:#090909"/>
<stop offset="0.615" style="stop-color:#020202"/>
<stop offset="0.9803" style="stop-color:#000000"/>
</linearGradient>
<circle id="ball_4_" class="st4 ball" cx="553.5" cy="173.5" r="20"/>
<linearGradient id="ball_11_" gradientUnits="userSpaceOnUse" x1="634.5" y1="153.5" x2="634.5" y2="193.5">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="7.234823e-003" style="stop-color:#F6F6F6"/>
<stop offset="4.673683e-002" style="stop-color:#C8C8C8"/>
<stop offset="9.125553e-002" style="stop-color:#9D9D9D"/>
<stop offset="0.1391" style="stop-color:#777777"/>
<stop offset="0.1912" style="stop-color:#575757"/>
<stop offset="0.2487" style="stop-color:#3B3B3B"/>
<stop offset="0.3137" style="stop-color:#252525"/>
<stop offset="0.3896" style="stop-color:#141414"/>
<stop offset="0.4834" style="stop-color:#090909"/>
<stop offset="0.615" style="stop-color:#020202"/>
<stop offset="0.9803" style="stop-color:#000000"/>
</linearGradient>
<circle id="ball_5_" class="st5 ball" cx="634.5" cy="173.5" r="20"/>
</svg>
html, body{
width: 100%;
height: 100vh;
margin: 0;
margin-left: 1%;
padding: 0;
display: flex;
align-items: center;
justify-content: start;
overflow: hidden;
}
gsap.to('.ball', {
duration: 3,
x: 70,
transformOrigin: "50% 50%",
rotateZ: 360,
ease: "back.out(1.7)",
stagger: 0.5,
repeat: -1,
})
This Pen doesn't use any external CSS resources.