body {
  margin: 0;
  overflow: hidden;
}

.background {
  width: 100vw;
  height: 100vh;
  background: #343b67;
}

.background span {
  width: 30vmin;
  height: 30vmin;
  border-radius: 30vmin;
  backface-visibility: hidden;
  position: absolute;
  animation-name: move;
  animation-duration: 12s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.background span:nth-child(1) {
  color: #E45A84;
  top: 33%;
  left: 79%;
  animation-duration: 13.3s;
  animation-delay: -21.6s;
  transform-origin: 6vw -21vh;
  box-shadow: 60vmin 0 11.3736308426vmin currentColor;
}
.background span:nth-child(2) {
  color: #FFACAC;
  top: 74%;
  left: 21%;
  animation-duration: 14.8s;
  animation-delay: -15.5s;
  transform-origin: 25vw -10vh;
  box-shadow: -60vmin 0 20.9725851904vmin currentColor;
}
.background span:nth-child(3) {
  color: #E45A84;
  top: 34%;
  left: 46%;
  animation-duration: 13.2s;
  animation-delay: -8.4s;
  transform-origin: -2vw 14vh;
  box-shadow: 60vmin 0 19.8071941191vmin currentColor;
}
.background span:nth-child(4) {
  color: #E45A84;
  top: 69%;
  left: 29%;
  animation-duration: 12.8s;
  animation-delay: -2s;
  transform-origin: 7vw 2vh;
  box-shadow: 60vmin 0 16.9585371796vmin currentColor;
}
.background span:nth-child(5) {
  color: #E45A84;
  top: 53%;
  left: 34%;
  animation-duration: 21.5s;
  animation-delay: -6.2s;
  transform-origin: 4vw 3vh;
  box-shadow: 60vmin 0 19.1685210279vmin currentColor;
}
.background span:nth-child(6) {
  color: #E45A84;
  top: 88%;
  left: 10%;
  animation-duration: 19s;
  animation-delay: -9s;
  transform-origin: 10vw 25vh;
  box-shadow: -60vmin 0 9.4545121482vmin currentColor;
}
.background span:nth-child(7) {
  color: #E45A84;
  top: 13%;
  left: 60%;
  animation-duration: 19.5s;
  animation-delay: -11.7s;
  transform-origin: 15vw 12vh;
  box-shadow: -60vmin 0 15.6487582004vmin currentColor;
}
.background span:nth-child(8) {
  color: #FFACAC;
  top: 6%;
  left: 32%;
  animation-duration: 20.7s;
  animation-delay: -15.3s;
  transform-origin: 20vw 16vh;
  box-shadow: -60vmin 0 13.7721564044vmin currentColor;
}
.background span:nth-child(9) {
  color: #E45A84;
  top: 70%;
  left: 18%;
  animation-duration: 12.3s;
  animation-delay: -8.9s;
  transform-origin: -18vw 9vh;
  box-shadow: 60vmin 0 13.5224034153vmin currentColor;
}
.background span:nth-child(10) {
  color: #FFACAC;
  top: 57%;
  left: 98%;
  animation-duration: 15.2s;
  animation-delay: -15.8s;
  transform-origin: 3vw 25vh;
  box-shadow: -60vmin 0 21.9435444842vmin currentColor;
}
.background span:nth-child(11) {
  color: #E45A84;
  top: 49%;
  left: 85%;
  animation-duration: 11.6s;
  animation-delay: -5s;
  transform-origin: -3vw -2vh;
  box-shadow: -60vmin 0 13.9109301328vmin currentColor;
}
.background span:nth-child(12) {
  color: #E45A84;
  top: 66%;
  left: 80%;
  animation-duration: 17.4s;
  animation-delay: -20.9s;
  transform-origin: 17vw 18vh;
  box-shadow: 60vmin 0 19.120134211vmin currentColor;
}
.background span:nth-child(13) {
  color: #E45A84;
  top: 94%;
  left: 47%;
  animation-duration: 20.1s;
  animation-delay: -21.6s;
  transform-origin: 6vw -16vh;
  box-shadow: 60vmin 0 12.508592546vmin currentColor;
}
.background span:nth-child(14) {
  color: #FFACAC;
  top: 35%;
  left: 61%;
  animation-duration: 11.4s;
  animation-delay: -2.3s;
  transform-origin: 7vw -12vh;
  box-shadow: -60vmin 0 18.8200577498vmin currentColor;
}
.background span:nth-child(15) {
  color: #583C87;
  top: 15%;
  left: 5%;
  animation-duration: 11.6s;
  animation-delay: -3.2s;
  transform-origin: -7vw 0vh;
  box-shadow: 60vmin 0 16.8680552469vmin currentColor;
}

@keyframes move {
  100% {
    transform: translate3d(0, 0, 1px) rotate(360deg);
  }
}


.cover {
	position: absolute;
	width: 100%;
	height: 100%;
	color: #fff;
	font-family: "Oswald", sans-serif;
	font-size: 20px;
	top: 0;
	z-index: 2000;
}

.cover h1 {
	font-size: 32px;
}

@media(min-width: 768px) {
	.cover h1 {
		font-size: 48px;
	}
}

footer {
	color: #fff;
	padding: 15px;
	text-align: center;
	background-color: rgba(0,0,0,0.5);
	position: fixed;
	bottom: 0;
	width: 100%;
	font-size: 12px;
	z-index: 2000;
}
