.wave-container {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  z-index: 1;
}

.wave-container svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 150px;
}

.wave-container .shape-fill {
  fill: var(--color-white);
}

.wave-animation {
  animation: wave 8s cubic-bezier(.55,.5,.45,.5) infinite;
}

.wave-animation-2 {
  animation: wave 10s cubic-bezier(.55,.5,.45,.5) infinite;
  animation-delay: -2s;
}

@keyframes wave {
  0%, 100% {
    transform: translate3d(0,0,0);
  }
  50% {
    transform: translate3d(-20px,-10px,0);
  }
}

.floating {
  animation: floating 6s ease-in-out infinite;
}

@keyframes floating {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0px); }
}

.bubble {
  position: absolute;
  bottom: -100px;
  width: 40px;
  height: 40px;
  background: radial-gradient(circle, rgba(255,255,255,0.5) 0%, rgba(168,218,220,0.3) 100%);
  border-radius: 50%;
  opacity: 0.6;
  animation: bubble 15s infinite ease-in;
}

.bubble:nth-child(1) {
  width: 40px;
  height: 40px;
  left: 10%;
  animation-duration: 8s;
}

.bubble:nth-child(2) {
  width: 20px;
  height: 20px;
  left: 20%;
  animation-duration: 5s;
  animation-delay: 1s;
}

.bubble:nth-child(3) {
  width: 50px;
  height: 50px;
  left: 35%;
  animation-duration: 10s;
  animation-delay: 2s;
}

.bubble:nth-child(4) {
  width: 80px;
  height: 80px;
  left: 50%;
  animation-duration: 12s;
  animation-delay: 0s;
}

.bubble:nth-child(5) {
  width: 35px;
  height: 35px;
  left: 55%;
  animation-duration: 8s;
  animation-delay: 3s;
}

.bubble:nth-child(6) {
  width: 45px;
  height: 45px;
  left: 70%;
  animation-duration: 14s;
  animation-delay: 2s;
}

.bubble:nth-child(7) {
  width: 25px;
  height: 25px;
  left: 80%;
  animation-duration: 7s;
  animation-delay: 1s;
}

.bubble:nth-child(8) {
  width: 60px;
  height: 60px;
  left: 90%;
  animation-duration: 11s;
  animation-delay: 4s;
}

@keyframes bubble {
  0% {
    bottom: -100px;
    transform: translateX(0);
  }
  50% {
    transform: translateX(50px);
  }
  100% {
    bottom: 110vh;
    transform: translateX(-30px);
  }
}