:root {
  --duration: 1.0s;
  --container-size: 250px;
  --box-size: 33px;
  --box-border-radius: 15%; }

.hop_n_slide_container {
  width: var(--container-size);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative; }

.hop_n_slide_container .box_elm {
  width: var(--box-size);
  height: var(--box-size);
  position: relative;
  display: block;
  transform-origin: -50% center;
  border-radius: var(--box-border-radius); }
  .hop_n_slide_container .box_elm:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background-color: #FFD87D;
    border-radius: var(--box-border-radius);
    box-shadow: 0px 0px 5px 0px #060606; }
  .hop_n_slide_container .box_elm:nth-child(1) {
    animation: slide var(--duration) ease-in-out infinite alternate; }
    .hop_n_slide_container .box_elm:nth-child(1):after {
      animation: color-change var(--duration) ease-in-out infinite alternate; }
  .hop_n_slide_container .box_elm:nth-child(2) {
    animation: flip-1 var(--duration) ease-in-out infinite alternate; }
    .hop_n_slide_container .box_elm:nth-child(2):after {
      animation: squidge-1 var(--duration) ease-in-out infinite alternate; }
  .hop_n_slide_container .box_elm:nth-child(3) {
    animation: flip-2 var(--duration) ease-in-out infinite alternate; }
    .hop_n_slide_container .box_elm:nth-child(3):after {
      animation: squidge-2 var(--duration) ease-in-out infinite alternate; }
  .hop_n_slide_container .box_elm:nth-child(4) {
    animation: flip-3 var(--duration) ease-in-out infinite alternate; }
    .hop_n_slide_container .box_elm:nth-child(4):after {
      animation: squidge-3 var(--duration) ease-in-out infinite alternate; }
  .hop_n_slide_container .box_elm:nth-child(5) {
    animation: flip-4 var(--duration) ease-in-out infinite alternate; }
    .hop_n_slide_container .box_elm:nth-child(5):after {
      animation: squidge-4 var(--duration) ease-in-out infinite alternate; }
  .hop_n_slide_container .box_elm:nth-child(2):after {
    background-color: #ECA500; }
  .hop_n_slide_container .box_elm:nth-child(3):after {
    background-color: #F2B62A; }
  .hop_n_slide_container .box_elm:nth-child(4):after {
    background-color: #F9C753; }
  .hop_n_slide_container .box_elm:nth-child(5):after {
    background-color: #FFD87D; }

@keyframes slide
{
  0% {
    background-color: #ECA500;
    transform: translatex(0vw); }
  100% {
    background-color: #FFD87D;
    transform: translatex(calc(var(--container-size) - (var(--box-size) * 1.25))); } }

@keyframes color-change
{
  0% {
    background-color: #ECA500; }
  100% {
    background-color: #FFD87D; } }

@keyframes flip-1 {
  0%, 15% {
    transform: rotate(0); }
  35%, 100% {
    transform: rotate(-180deg); } }

@keyframes squidge-1 {
  5% {
    transform-origin: center bottom;
    transform: scalex(1) scaley(1); }
  15% {
    transform-origin: center bottom;
    transform: scalex(1.3) scaley(0.7); }
  25%, 20% {
    transform-origin: center bottom;
    transform: scalex(0.8) scaley(1.4); }
  55%, 100% {
    transform-origin: center top;
    transform: scalex(1) scaley(1); }
  40% {
    transform-origin: center top;
    transform: scalex(1.3) scaley(0.7); } }

@keyframes flip-2 {
  0%, 30% {
    transform: rotate(0); }
  50%, 100% {
    transform: rotate(-180deg); } }

@keyframes squidge-2 {
  20% {
    transform-origin: center bottom;
    transform: scalex(1) scaley(1); }
  30% {
    transform-origin: center bottom;
    transform: scalex(1.3) scaley(0.7); }
  40%, 35% {
    transform-origin: center bottom;
    transform: scalex(0.8) scaley(1.4); }
  70%, 100% {
    transform-origin: center top;
    transform: scalex(1) scaley(1); }
  55% {
    transform-origin: center top;
    transform: scalex(1.3) scaley(0.7); } }

@keyframes flip-3 {
  0%, 45% {
    transform: rotate(0); }
  65%, 100% {
    transform: rotate(-180deg); } }

@keyframes squidge-3 {
  35% {
    transform-origin: center bottom;
    transform: scalex(1) scaley(1); }
  45% {
    transform-origin: center bottom;
    transform: scalex(1.3) scaley(0.7); }
  55%, 50% {
    transform-origin: center bottom;
    transform: scalex(0.8) scaley(1.4); }
  85%, 100% {
    transform-origin: center top;
    transform: scalex(1) scaley(1); }
  70% {
    transform-origin: center top;
    transform: scalex(1.3) scaley(0.7); } }

@keyframes flip-4 {
  0%, 60% {
    transform: rotate(0); }
  80%, 100% {
    transform: rotate(-180deg); } }

@keyframes squidge-4 {
  50% {
    transform-origin: center bottom;
    transform: scalex(1) scaley(1); }
  60% {
    transform-origin: center bottom;
    transform: scalex(1.3) scaley(0.7); }
  70%, 65% {
    transform-origin: center bottom;
    transform: scalex(0.8) scaley(1.4); }
  100%, 100% {
    transform-origin: center top;
    transform: scalex(1) scaley(1); }
  85% {
    transform-origin: center top;
    transform: scalex(1.3) scaley(0.7); } }


.spinner {
  margin: 0px auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}

.spinner > div {
  background-color: rgba(61, 141, 168, 1);
  height: 100%;
  width: 6px;
  display: inline-block;

  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
  20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }  20% {
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}
