Retro atom

by Chris Buttery

HTML

<div class="atom">
  <div>
    <span></span>
  </div>
</div>

CSS

body {
  background: #5b92e5;
  padding: 20px;
}

@-moz-keyframes spin {
  to { -moz-transform:rotate(360deg);}
}

@-webkit-keyframes spin {
  to { -webkit-transform:rotate(360deg);}
}

@keyframes spin {
  to { transform:rotate(360deg);}
}

.atom {
  height: 300px;
  margin: 0 auto;
  -moz-animation: spin 20s linear infinite;
  -webkit-animation: spin 20s linear infinite;
  animation: spin 20s linear infinite;
  width: 300px;
}

.atom div,
.atom div:before,
.atom div:after,
.atom span {
  box-sizing: border-box;
}

.atom div {
  border: 3px solid #fff;
  -webkit-border-radius: 50px / 150px;
  -moz-border-radius: 50px / 150px;
  border-radius: 50px / 150px;
  height: 300px;
  margin: 0 auto;
  position: relative;
  -webkit-transform: rotate(10deg);
  -moz-transform: rotate(10deg);
  transform: rotate(10deg);
  width: 100px;
}

.atom div:before,
.atom div:after {
  -webkit-border-radius: 35px / 120px;
  -moz-border-radius: 35px / 120px;
  border-radius: 35px / 120px;
  content: "";
  height: 240px;
  width: 70px;
}

.atom div:before,
.atom div:after,
.atom span {
  border: 3px solid #fff;
  display: block;
  left: 50%;
  position: absolute;
  top: 50%;
}

.atom div:before {
  -moz-transform: translateY(-45%) translateX(-50%) rotate(-35deg);
  -webkit-transform: translateY(-45%) translateX(-50%) rotate(-35deg);
  transform: translateY(-45%) translateX(-50%) rotate(-35deg);
}

.atom div:after {
  -moz-transform: translateY(-45%) translateX(-50%) rotate(65deg);
  -webkit-transform: translateY(-45%) translateX(-50%) rotate(65deg);
  transform: translateY(-45%) translateX(-50%) rotate(65deg);
}

.atom span {
  -webkit-border-radius: 30px / 90px;
  -moz-border-radius: 30px / 90px;
  border-radius: 30px / 90px;
  height: 180px;
  width: 60px;
  -webkit-transform: translateY(-50%) translateX(-50%) rotate(-75deg);
  -moz-transform: translateY(-50%) translateX(-50%) rotate(-75deg);
  transform: translateY(-50%) translateX(-50%) rotate(-75deg);
}

.atom span:after {
 ...