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

.splash {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

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

.box {
  width: var(--box-size);
  height: var(--box-size);
  position: relative;
  display: block;
  transform-origin: -50% center;
  border-radius: var(--box-border-radius);
}

.box:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #FF6B6B; /* Lighter shade of #FB5757 */
  border-radius: var(--box-border-radius);
  box-shadow: 0px 0px 10px 0px rgba(251, 87, 87, 0.4); /* Adjusted shadow color */
}

.box:nth-child(1) {
  animation: slide var(--duration) ease-in-out infinite alternate;
}

.box:nth-child(1):after {
  animation: color-change var(--duration) ease-in-out infinite alternate;
}

.box:nth-child(2):after {
  background-color: #FB5757;
}

.box:nth-child(3):after {
  background-color: #FF6B6B;
}

.box:nth-child(4):after {
  background-color: #FF7F7F;
}

.box:nth-child(5):after {
  background-color: #FF9393;
}

/* Animations for different child elements using sequential transformations */
.box:nth-child(2) {
  animation: flip-1 var(--duration) ease-in-out infinite alternate;
}

.box:nth-child(2):after {
  animation: squidge-1 var(--duration) ease-in-out infinite alternate;
}

.box:nth-child(3) {
  animation: flip-2 var(--duration) ease-in-out infinite alternate;
}

.box:nth-child(3):after {
  animation: squidge-2 var(--duration) ease-in-out infinite alternate;
}

.box:nth-child(4) {
  animation: flip-3 var(--duration) ease-in-out infinite alternate;
}

.box:nth-child(4):after {
  animation: squidge-3 var(--duration) ease-in-out infinite alternate;
}

.box:nth-child(5) {
  animation: flip-4 var(--duration) ease-in-out infinite alternate;
}

.box:nth-child(5):after {
  animation: squidge-4 var(--duration) ease-in-out infinite alternate;
}

/* Keyframes for the animations */
@keyframes slide {
  0% {
    background-color: #FB5757;
    transform: translateX(0vw);
  }
  100% {
    background-color: #FF9393; /* Lighter shade */
    transform: translateX(calc(var(--container-size) - (var(--box-size) * 1.25)));
  }
}

@keyframes color-change {
  0% {
    background-color: #FB5757;
  }
  100% {
    background-color: #FF9393;
  }
}

/* Keyframes for flip and squidge animations */
@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);
  }
  40%, 100% {
    transform-origin: center top;
    transform: scaleX(1) scaleY(1);
  }
  25% {
    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);
  }
  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-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);
  }
  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-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);
  }
  85%, 100% {
    transform-origin: center top;
    transform: scaleX(1) scaleY(1);
  }
  70% {
    transform-origin: center top;
    transform: scaleX(1.3) scaleY(0.7);
  }
}
