.outer {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 400px;
  height: 400px;
  margin-top: -200px;
  margin-left: -200px;
  border-radius: 2px;
  box-shadow: 1px 2px 10px 0px rgba(0, 0, 0, 0.3);
  background: #272C34;
  color: #fff;
}

.center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.circle {
  position: relative;
  height: 180px;
  width: 180px;
  border-radius: 50%;
  overflow: hidden;
  clip-path: circle(90px at 90px 90px);
}
.circle .sky {
  position: absolute;
  height: 124px;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
  background: #5DDEF4;
  animation: sky-fade 4s cubic-bezier(0.4, 0, 0.49, 1) infinite;
}
.circle .sun {
  position: absolute;
  z-index: 2;
  top: 7px;
  left: 73px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #FFEF00;
  transform-origin: 50% 400%;
  animation: sun-down 4s cubic-bezier(0.4, 0, 0.49, 1) infinite;
}
.circle .left-side {
  position: absolute;
  top: 67px;
  left: 35px;
  height: 57px;
  width: 116px;
  background: #ECEFF1;
  clip-path: polygon(0% 100%, 100% 100%, 50% 0%);
  animation: pyramid-shade 4s cubic-bezier(0.4, 0, 0.49, 1) infinite;
}
.circle .right-side {
  position: absolute;
  top: 67px;
  left: 93px;
  height: 57px;
  width: 58px;
  background: #B0BEC5;
  clip-path: polygon(30% 100%, 100% 100%, 0% 0%);
  animation: pyramid-shade 4s cubic-bezier(0.4, 0, 0.49, 1) infinite reverse;
}
.circle .shadow {
  position: absolute;
  z-index: 2;
  top: 124px;
  left: -80px;
  height: 30px;
  width: 360px;
  background: rgba(0, 0, 0, 0.2);
  transform-origin: 50% 0%;
  clip-path: polygon(115px 0%, 231px 0%, 80% 100%);
  animation: pyramid-shadow 4s cubic-bezier(0.4, 0, 0.49, 1) infinite;
}
.circle .ground {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  right: 0;
  height: 56px;
  background: #F0DE75;
  animation: sand-fade 4s cubic-bezier(0.4, 0, 0.49, 1) infinite;
}

@keyframes sky-fade {
  0%, 100% {
    background: #272C34;
  }
  30%, 70% {
    background: #5DDEF4;
  }
}
@keyframes sun-down {
  0% {
    background: #F57209;
    transform: rotate(-70deg);
  }
  30% {
    background: #FFEF00;
    transform: rotate(-30deg);
  }
  70% {
    background: #FFEF00;
  }
  100% {
    background: #F57209;
    transform: rotate(70deg);
  }
}
@keyframes pyramid-shade {
  0%, 100% {
    background: #272C34;
  }
  30% {
    background: #F4F4F4;
  }
  70% {
    background: #DDDADA;
  }
}
@keyframes pyramid-shadow {
  0% {
    transform: scaleY(0);
    clip-path: polygon(115px 0%, 231px 0%, 100% 100%);
  }
  30% {
    transform: scaleY(1);
    clip-path: polygon(115px 0%, 231px 0%, 80% 100%);
  }
  55% {
    transform: scaleY(0.4);
  }
  75% {
    transform: scaleY(1);
  }
  100% {
    transform: scaleY(0);
    clip-path: polygon(115px 0%, 231px 0%, 0% 100%);
  }
}
@keyframes sand-fade {
  0%, 100% {
    background: #272C34;
  }
  30%, 70% {
    background: #F0DE75;
  }
}
