@charset "UTF-8";

/* app/resources/css/modules/bubble.css */
.bubbleContainer {
  width: 100%;
  height: 10px;
  bottom: -10px;
  position: absolute;
}
.bubbleX1 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX1;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY1 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 35px;
  left: 19vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX1 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(20px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(17px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX2 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX2;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY2 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 20px;
  left: 9vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX2 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(16px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(3px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX3 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX3;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY3 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 8px;
  left: 73vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX3 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(7px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(1px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX4 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX4;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY4 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 40px;
  left: 78vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX4 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(7px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(17px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX5 {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX5;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY5 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 44px;
  left: 89vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX5 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(14px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(4px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX6 {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX6;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY6 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 73px;
  left: 51vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX6 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(18px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(12px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX7 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX7;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY7 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 98px;
  left: 83vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX7 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(15px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(8px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX8 {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX8;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY8 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 51px;
  left: 58vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX8 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(6px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(4px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX9 {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX9;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY9 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 11px;
  left: 74vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX9 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(8px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(5px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX10 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX10;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY10 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 82px;
  left: 15vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX10 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(12px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(7px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX11 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX11;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY11 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 28px;
  left: 34vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX11 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(18px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(1px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX12 {
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX12;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY12 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 99px;
  left: 96vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX12 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(4px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(9px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX13 {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX13;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY13 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 92px;
  left: 6vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX13 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(11px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(9px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX14 {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX14;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY14 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 76px;
  left: 18vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX14 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(10px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(19px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX15 {
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX15;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY15 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 82px;
  left: 40vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX15 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(12px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(8px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX16 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX16;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY16 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 39px;
  left: 75vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX16 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(3px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(18px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX17 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX17;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY17 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 48px;
  left: 11vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX17 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(4px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(3px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX18 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX18;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY18 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 1px;
  left: 27vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX18 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(10px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(19px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX19 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX19;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY19 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 46px;
  left: 56vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX19 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(14px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(19px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX20 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX20;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY20 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 61px;
  left: 3vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX20 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(2px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(19px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX21 {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX21;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY21 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 41px;
  left: 52vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX21 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(1px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(20px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX22 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX22;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY22 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 53px;
  left: 70vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX22 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(11px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(5px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX23 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX23;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY23 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 12px;
  left: 76vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX23 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(2px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(6px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX24 {
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX24;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY24 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 4px;
  left: 70vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX24 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(9px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(18px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX25 {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX25;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY25 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 67px;
  left: 28vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX25 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(4px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(20px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX26 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX26;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY26 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 20px;
  left: 12vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX26 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(16px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(11px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX27 {
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX27;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY27 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 33px;
  left: 1vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX27 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(16px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(1px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX28 {
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX28;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY28 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 38px;
  left: 5vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX28 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(16px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(19px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX29 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX29;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY29 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 67px;
  left: 92vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX29 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(8px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(13px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX30 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX30;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY30 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 43px;
  left: 28vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX30 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(19px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(16px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX31 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX31;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY31 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 14px;
  left: 96vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX31 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(7px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(13px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX32 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX32;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY32 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 73px;
  left: 68vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX32 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(20px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(13px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX33 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX33;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY33 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 71px;
  left: 72vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX33 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(16px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(4px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX34 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX34;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY34 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 6px;
  left: 48vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX34 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(18px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(16px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX35 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX35;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY35 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 35px;
  left: 45vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX35 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(10px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(18px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX36 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX36;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY36 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 48px;
  left: 6vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX36 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(9px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(15px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX37 {
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX37;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY37 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 73px;
  left: 9vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX37 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(11px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(20px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX38 {
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX38;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY38 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 7px;
  left: 90vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX38 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(11px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(13px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX39 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX39;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY39 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 55px;
  left: 41vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX39 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(16px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(18px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX40 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX40;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY40 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 33px;
  left: 22vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX40 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(4px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(7px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX41 {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX41;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY41 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 78px;
  left: 49vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX41 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(8px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(13px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX42 {
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX42;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY42 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 5px;
  left: 38vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX42 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(20px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(19px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX43 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX43;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY43 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 32px;
  left: 52vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX43 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(15px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(14px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX44 {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX44;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY44 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 74px;
  left: 16vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX44 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(4px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(14px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX45 {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX45;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY45 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 87px;
  left: 100vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX45 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(6px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(6px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX46 {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX46;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY46 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 45px;
  left: 82vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 1s;
}
@keyframes bubbleX46 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(15px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(8px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX47 {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX47;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY47 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 64px;
  left: 41vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX47 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(1px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(2px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX48 {
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX48;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY48 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 3px;
  left: 8vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 3s;
}
@keyframes bubbleX48 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(18px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(19px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX49 {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX49;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY49 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 55px;
  left: 98vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX49 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(2px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(3px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}
.bubbleX50 {
  display: inline-block;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #FFF;
  transform: translateX(0);
  animation-name: bubbleX50;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier();
}
.bubbleY50 {
  display: inline-block;
  position: absolute;
  z-index: 5000;
  top: 16px;
  left: 14vw;
  animation-name: bubbleY;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  transform: translateY(0);
  opacity: 0.5;
  animation-delay: 2s;
}
@keyframes bubbleX50 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(13px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(9px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes bubbleY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50vh);
  }
  100% {
    transform: translateY(-100vh);
    opacity: 0;
  }
}

/* app/resources/css/modules/settings.css */
@font-face {
  font-family: "Quicksand";
  src: url("./Quicksand-Regular-F6L3ECCS.ttf") format("truetype");
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: "Quicksand";
  src: url("./Quicksand-Medium-W3LBA2UD.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Quicksand";
  src: url("./Quicksand-Bold-6BXO75KL.ttf") format("truetype");
  font-weight: bold;
  font-display: swap;
}
@font-face {
  font-family: "OpenSans";
  src: url("./OpenSans-Regular-XE274N3P.ttf") format("truetype");
  font-weight: normal;
}
@font-face {
  font-family: "OpenSans";
  src: url("./OpenSans-SemiBold-4LZIUEX5.ttf") format("truetype");
  font-weight: 500;
}
@font-face {
  font-family: "OpenSans";
  src: url("./OpenSans-Bold-YXWUSMMV.ttf") format("truetype");
  font-weight: bold;
}
:root {
  --primary-color: #94cbf8;
  --secondary-color: #1a7ecf;
}

/* app/resources/css/modules/global.css */
html {
  font-size: 18px;
  line-height: 1.5;
  scroll-behavior: smooth;
  font-family:
    -apple-system,
    system-ui,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
  margin: 0;
  height: 100%;
  color: white;
}
@media only screen and (min-width: 1024px) {
  html {
    font-size: 20px;
    overflow-y: scroll;
  }
}
*:first-child {
  margin-top: 0;
}
body {
  overflow-wrap: break-word;
  min-height: 100vh;
  margin: 0;
}
.background {
  margin: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #00102F;
  background:
    radial-gradient(
      circle,
      rgb(0, 16, 47) 0%,
      rgb(36, 97, 163) 0%,
      rgb(0, 55, 115) 51%,
      rgb(0, 16, 47) 100%);
  position: fixed;
  z-index: 0;
}
.wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100vh;
}
@media (min-width: 1320px) {
  .wrapper {
    max-width: 1280px;
    margin: 0 auto;
  }
}
a {
  color: var(--primary-color);
}
a.external {
  background: url('data:image/svg+xml,<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="external-link-alt" class="svg-inline--fa fa-external-link-alt fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23225E90" d="M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z"></path></svg>') no-repeat left center;
  background-size: 16px;
  padding-left: 20px;
}
b,
strong {
  font-weight: 600;
}
h1,
h2,
h3,
h4,
p,
ul,
ol {
  margin-bottom: 0;
}
h1,
h2,
h3,
h4,
p,
li {
  max-width: 80ch;
}
h1,
h2,
h3,
h4 {
  font-weight: 500;
}
h1 {
  font-size: 2rem;
  line-height: 1.15;
}
@media (min-width: 1024px) {
  h1 {
    font-size: 2.5rem;
    line-height: 1.3;
  }
}
h2 {
  font-size: 1.7rem;
  line-height: 1.15;
}
@media (min-width: 1024px) {
  h2 {
    font-size: 1.8rem;
    line-height: 1.35;
  }
}
h3 {
  font-size: 1.3rem;
  line-height: 1.4;
}
h4 {
  font-size: inherit;
  line-height: inherit;
  font-weight: 600;
}
h1 + p {
  margin-top: 1rem;
}
h2 + p,
h3 + p {
  margin-top: 0.5rem;
}
p {
  margin-top: 0.85rem;
  line-height: 1.5;
}
figure {
  margin: 0;
}
h4 + img,
h4 + figure {
  margin-top: 0.5em;
}
ul,
ol {
  padding-left: 1em;
  margin-top: 1rem;
}
ul :is(li) + li,
ol :is(li) + li {
  margin-top: 0.5em;
}
ol {
  padding-left: 1.15em;
}
ol.roman {
  list-style-type: upper-roman;
}
dl {
  margin-top: 0;
}
dl :is(dt) {
  font-weight: 500;
}
dl :is(dt):not(:first-child) {
  margin-top: 1rem;
}
dl :is(dd) {
  margin-left: 0;
}
img.responsive {
  width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}
img.responsive:is(--below-intrinsic-width) {
  width: auto;
  max-width: 100%;
}
img.object-fit-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main > article {
  padding: 0 1rem;
}
@media (min-width: 1320px) {
  main > article {
    padding: 0;
  }
}
section {
  margin-top: 1rem;
}
.darken {
  background: rgba(0, 0, 0, 0.45);
  padding: 1rem;
}
.section--flex .cards {
  margin-top: 1rem;
}
@media (min-width: 1024px) {
  .section--flex {
    display: flex;
    gap: 1rem;
  }
  .section--flex > div {
    width: 50%;
  }
}

/* app/resources/css/modules/header.css */
.header {
  margin: 1rem;
  font-family:
    Quicksand,
    arial,
    verdana,
    sans-serif;
}
.header .header_row {
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 1024px) {
  .header .header_row {
    align-items: flex-start;
  }
}
@media (min-width: 1024px) {
  .header {
    margin: 15px 20px 25px;
  }
}
@media (min-width: 1320px) {
  .header {
    margin-left: 0;
    margin-right: 0;
  }
}
.header .logo {
  font-weight: bold;
  font-size: 24px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 10px;
}
.header .logo img {
  margin-left: -5px;
  width: 70px;
  height: auto;
}
@media (min-width: 1024px) {
  .header .logo img {
    width: 100px;
  }
}
.header .logo :is(a) {
  text-decoration: none;
  display: inline-block;
  vertical-align: top;
  color: var(--primary-color);
}
@media (min-width: 1024px) {
  .header .logo :is(a) {
    font-size: 35px;
    line-height: 1.32;
  }
}
.header .logo:hover {
  text-decoration: none;
}
.header .subnav {
  display: none;
  background: rgba(0, 0, 0, 0.2);
  padding: 0 0.75rem 0.5rem;
  mix-blend-mode: luminosity;
  list-style: none;
  margin: 0.5rem 0 1rem;
  font-size: 0.95rem;
  font-weight: 500;
}
.header .subnav li {
  display: inline-block;
  margin-right: 0.8rem;
}
.header .subnav li:last-child {
  margin-right: 0;
}
.header .subnav li a {
  text-decoration: none;
}
.header .subnav li a:hover {
  color: white;
}
@media (min-width: 1024px) {
  .header .subnav {
    display: block;
  }
}
.home .header .logo :is(a) {
  color: white;
}
.home .subnav {
  display: none;
}

/* app/resources/css/modules/navigation.css */
nav {
  font-weight: bold;
}
nav :is(a) {
  text-decoration: none;
}
@media (max-width: 1023px) {
  nav :is(a):hover {
    text-decoration: underline;
  }
}
@media (min-width: 1024px) {
  nav :is(a):hover {
    color: white;
  }
}
@media (max-width: 1023px) {
  nav {
    flex: 0 0 100%;
    background-blend-mode: multiply;
  }
  .js nav {
    overflow: hidden;
    transition: max-height 0.5s;
    margin-bottom: 0;
  }
}
@media (min-width: 1024px) {
  nav {
    font-size: 1.15rem;
    margin-top: 1.8rem;
  }
  .js nav {
    max-height: none !important;
  }
}
nav :is(ul) {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 1024px) {
  nav :is(ul) {
    margin-top: 0;
  }
}
nav :is(ul) :is(li) {
  line-height: 2.4;
  border-bottom: solid 1px #ccc;
  margin-top: 0;
}
nav :is(ul) :is(li).selected > a {
  color: white;
}
@media (min-width: 1024px) {
  nav :is(ul) :is(li) {
    line-height: 1.5;
    border: 0;
    display: inline;
    margin-left: 20px;
  }
  nav :is(ul) :is(li):first-child {
    margin-left: 0;
  }
}
nav :is(ul) :is(li).has-list::before {
  content: "";
  background: url('data:image/svg+xml,<?xml version="1.0" encoding="iso-8859-1"?>%0D%0A<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->%0D%0A<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">%0D%0A<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"%0D%0A%09 width="284.929px" height="284.929px" viewBox="0 0 284.929 284.929" xml:space="preserve">%0D%0A%09<path fill="%2394cbf8" d="M282.082,76.511l-14.274-14.273c-1.902-1.906-4.093-2.856-6.57-2.856c-2.471,0-4.661,0.95-6.563,2.856L142.466,174.441%0D%0A%09%09L30.262,62.241c-1.903-1.906-4.093-2.856-6.567-2.856c-2.475,0-4.665,0.95-6.567,2.856L2.856,76.515C0.95,78.417,0,80.607,0,83.082%0D%0A%09%09c0,2.473,0.953,4.663,2.856,6.565l133.043,133.046c1.902,1.903,4.093,2.854,6.567,2.854s4.661-0.951,6.562-2.854L282.082,89.647%0D%0A%09%09c1.902-1.903,2.847-4.093,2.847-6.565C284.929,80.607,283.984,78.417,282.082,76.511z"/>%0D%0A</svg>%0D%0A') no-repeat;
  background-size: 16px;
  background-position: center;
  width: 16px;
  height: 16px;
  display: inline-block;
  vertical-align: -2px;
  margin-right: 5px;
  transition: all 0.25s;
  transform: rotate(0deg);
}
nav :is(ul) :is(li).has-list.expanded::before {
  transform: rotate(-180deg);
}
@media (min-width: 1024px) {
  nav :is(ul) :is(li).has-list {
    position: relative;
  }
  nav :is(ul) :is(li).has-list::before {
    content: none;
  }
}
nav :is(ul) :is(li).has-list.selected > span {
  color: white;
}
nav :is(ul) :is(li).has-list > span {
  display: inline-block;
  color: var(--primary-color);
  cursor: pointer;
}
@media (min-width: 1024px) {
  nav :is(ul) :is(li).has-list > span:hover {
    color: white;
  }
}
nav :is(ul) :is(li).has-list.expanded ul {
  display: block;
}
@media (min-width: 1024px) {
  nav :is(ul) :is(li).has-list.expanded:last-child ul {
    right: 0;
    left: auto;
  }
}
nav :is(ul) :is(li):last-child {
  border: none;
}
nav :is(ul) :is(li) :is(ul) {
  display: none;
  margin-bottom: 0;
}
@media (max-width: 1023px) {
  nav :is(ul) :is(li) :is(ul) {
    display: revert;
  }
}
nav :is(ul) :is(li) :is(ul) :is(li) {
  padding-left: 21px;
  font-size: inherit;
  border-bottom: 0;
  line-height: 2;
}
nav :is(ul) :is(li) :is(ul) :is(li):last-child {
  margin-bottom: 0.5em;
}
@media (min-width: 1024px) {
  nav :is(ul) :is(li) :is(ul) :is(li) {
    padding-left: 0;
    margin-left: 0;
    margin-bottom: 0.5rem;
    display: block;
    font-size: 1rem;
    line-height: 1.3;
  }
}
nav :is(ul) :is(li) :is(a) {
  display: block;
}
@media (min-width: 1024px) {
  nav :is(ul) :is(li) :is(a) {
    display: inline;
  }
}

/* app/resources/css/modules/hamburger.css */
.no-js header .hamburger {
  display: none;
}
header .hamburger {
  vertical-align: middle;
  padding: 0;
  touch-action: manipulation;
}
header .hamburger:focus {
  outline: none;
}
header .hamburger:hover {
  opacity: 1;
}
@media (min-width: 1024px) {
  header .hamburger {
    display: none;
  }
}
header .hamburger .hamburger-inner,
header .hamburger .hamburger-inner::before,
header .hamburger .hamburger-inner::after {
  border-radius: 0;
}
header .hamburger .hamburger-box {
  width: 30px;
  display: block;
}
header .hamburger .hamburger-inner,
header .hamburger .hamburger-inner::before,
header .hamburger .hamburger-inner::after {
  width: 30px;
  height: 3px;
  background-color: white;
}

/* app/resources/css/modules/footer.css */
footer {
  padding: 1rem;
  margin: 2rem 0 0;
  font-size: smaller;
  border-top: solid 1px #ccc;
  color: #ccc;
}
@media (min-width: 1024px) {
  footer {
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 1320px) {
  footer {
    padding-left: 0;
    padding-right: 0;
  }
}
footer > div {
  margin-bottom: 0.5rem;
}
@media (min-width: 1024px) {
  footer > div {
    width: 50%;
  }
}
footer > div :is(ul) {
  list-style: none;
  padding: 0;
}
footer > div :is(li) {
  display: inline-block;
  margin-right: 15px;
}
@media (min-width: 1024px) {
  footer > div :is(li) {
    margin-top: 0;
  }
}
footer .copyright {
  margin-top: 0;
}
@media (min-width: 1024px) {
  footer .copyright {
    text-align: right;
  }
}

/* app/resources/css/modules/accordion.css */
.accordion {
  border-bottom: solid 1px #ccc;
}
.accordion:last-of-type {
  border-bottom: 0;
}
.accordion :is(summary) {
  cursor: pointer;
  padding: 0.5em 0;
  font-weight: 500;
  list-style-type: none;
  color: var(--primary-color);
  padding-left: 25px;
  text-indent: -25px;
}
.accordion :is(summary)::-webkit-details-marker {
  display: none;
}
.accordion :is(summary) > * {
  display: inline;
  margin: 0;
}
.accordion :is(summary)::before {
  content: "";
  background: url('data:image/svg+xml,<?xml version="1.0" encoding="iso-8859-1"?>%0D%0A<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->%0D%0A<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">%0D%0A<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"%0D%0A%09 width="284.929px" height="284.929px" viewBox="0 0 284.929 284.929" xml:space="preserve">%0D%0A%09<path fill="%2394cbf8" d="M282.082,76.511l-14.274-14.273c-1.902-1.906-4.093-2.856-6.57-2.856c-2.471,0-4.661,0.95-6.563,2.856L142.466,174.441%0D%0A%09%09L30.262,62.241c-1.903-1.906-4.093-2.856-6.567-2.856c-2.475,0-4.665,0.95-6.567,2.856L2.856,76.515C0.95,78.417,0,80.607,0,83.082%0D%0A%09%09c0,2.473,0.953,4.663,2.856,6.565l133.043,133.046c1.902,1.903,4.093,2.854,6.567,2.854s4.661-0.951,6.562-2.854L282.082,89.647%0D%0A%09%09c1.902-1.903,2.847-4.093,2.847-6.565C284.929,80.607,283.984,78.417,282.082,76.511z"/>%0D%0A</svg>%0D%0A') no-repeat;
  background-size: 20px;
  background-position: center;
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: -2px;
  margin-right: 5px;
  transition: all 0.25s;
}
.accordion[open] summary::before {
  transform: rotate(180deg);
}
.accordion :is(.accordion__content) {
  padding-bottom: 1em;
}
.accordion :is(.accordion__content) > *:first-child {
  margin-top: 0;
}

/* app/resources/css/modules/form.css */
form {
  margin-top: 30px;
}
form :is(input),
form :is(textarea) {
  font-size: 16px;
}
form :is(input)[type=date] {
  min-height: 2em;
  background: none;
}
form :is(input)[type=checkbox] {
  margin: 0 3px 0 0;
}
form :is(textarea):valid,
form input:valid {
  background: #f5fff5;
}
form :is(button) {
  font-size: 18px;
  background: var(--primary-color);
  color: white;
  border: none;
  padding: 5px 10px;
  margin: 20px 0;
  cursor: pointer;
}
@media (min-width: 1024px) {
  form :is(button) {
    font-size: 22px;
    padding: 10px 20px;
  }
}
form .row {
  display: block;
  margin-top: 10px;
}
form .row.required > label::after,
form .row.required > p:first-child::after {
  content: "*";
  margin-left: 2px;
}
form .row.hidden {
  display: none;
}
form .row.row--two-columns :is(label) {
  display: inline-block;
  min-width: 200px;
  vertical-align: top;
}
form .row.row--two-columns :is(input) {
  width: 100%;
  border: solid 1px #ccc;
  border-radius: 0;
  padding: 5px;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  form .row.row--two-columns :is(input) {
    width: auto;
    min-width: 300px;
  }
}
form .row :is(textarea) {
  border: solid 1px #ccc;
  border-radius: 0;
  padding: 5px;
  width: 100%;
}
@media (min-width: 1024px) {
  form .row :is(textarea) {
    max-width: 650px;
  }
}

/* app/resources/css/modules/stage.css */
.stage {
  height: 40vh;
  background: #ccc;
}
@media (min-width: 1024px) {
  .stage {
    height: 60vh;
  }
}
.stage :is(img) {
  object-fit: cover;
  object-position: center;
  margin: 0 auto;
  display: block;
}

/* app/resources/css/modules/swiper.css */
.swiper {
  width: 100%;
  height: 300px;
  margin: 0;
}
@media (min-width: 1024px) {
  .swiper {
    width: 50vw;
    height: calc(50vw * 9/16);
  }
}
.swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* app/resources/css/modules/cards.css */
.cards {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  flex-wrap: wrap;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .cards {
    flex-wrap: nowrap;
  }
}
.card {
  align-items: self-start;
  padding: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.9);
  width: 49%;
}
@media (min-width: 1024px) {
  .card {
    width: auto;
  }
}
.card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cards--youtube .card {
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1;
  background: none;
}
.cards--youtube .card span {
  color: var(--primary-color);
  font-size: 1.1rem;
  font-weight: 500;
  margin-top: 7px;
  display: block;
  line-height: 1.15;
  padding: 0;
}
.cards--youtube .card img {
  height: 80%;
}
.cards--partner {
  justify-content: flex-start;
  gap: 20px;
  margin-top: 1rem;
}
.cards--partner .card {
  height: 110px;
  width: 250px;
  border: 0;
  padding: 0;
  transition: transform 0.250s;
  opacity: 0.8;
}
.cards--partner .card:hover {
  opacity: 1;
  transform: scale(1.1);
}
.cards--partner .card :is(img) {
  display: block;
  height: 101%;
}

/* app/resources/css/modules/rays.scss */
.background .light-rays > *::before,
.background .light-rays {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.background {
  width: 100%;
  height: 100%;
  background:
    radial-gradient(
      farthest-corner at 50% 0%,
      #23617d 0%,
      #112031 100%);
  display: grid;
  place-items: center;
}
.background .light-rays {
  pointer-events: none;
  filter: blur(0.6rem);
}
.background .light-rays > * {
  --deg: 0;
  --length: 0rem;
  --thickness: 20px;
  --duration: 2s;
  --delay: 1s;
  --rotate: 0deg;
  --degRange: 72.5deg;
  --spreadRange: 40vw;
  position: absolute;
  transform-style: preserve-3d;
  perspective: 500px;
  width: var(--thickness);
  height: calc(20% + 370px + var(--length));
  left: 50%;
  transform: translateX(calc(-50% + var(--deg) * var(--spreadRange) * -1 + 0.5 * var(--spreadRange))) translateY(-100px) rotateZ(calc(var(--degRange) * -0.5 + var(--deg) * var(--degRange))) rotateX(0.01deg);
  transform-origin: center -100px;
  mix-blend-mode: screen;
  animation: shimmer linear var(--duration) calc(var(--delay) * -1) infinite alternate forwards, rotate ease-in-out calc(var(--duration) * 3.14) calc(var(--delay) * -1) infinite alternate forwards;
}
.background .light-rays > *::before {
  content: "";
  background:
    linear-gradient(
      to bottom,
      rgb(166, 255, 248),
      rgba(166, 255, 248, 0) 100%);
  transform-origin: top center;
  transform: rotateX(40deg);
}
.background .light-rays > *:nth-child(1) {
  --deg: 0.6813105496;
  --thickness: 32.1401395972px;
  --length: 40.9621795186px;
  --duration: 2.0849642281s;
  --delay: 2.5709159094s;
  --rotate: 0.9640004256deg;
}
.background .light-rays > *:nth-child(2) {
  --deg: 0.8540011489;
  --thickness: 25.0862275545px;
  --length: -15.6212786841px;
  --duration: 1.5356479888s;
  --delay: 2.6491825158s;
  --rotate: 0.4232658774deg;
}
.background .light-rays > *:nth-child(3) {
  --deg: 0.6119145147;
  --thickness: 17.7326575862px;
  --length: 7.2591581337px;
  --duration: 1.5936822277s;
  --delay: 2.8961107818s;
  --rotate: 1.5161659147deg;
}
.background .light-rays > *:nth-child(4) {
  --deg: 0.7258915617;
  --thickness: 14.3303294295px;
  --length: 5.4158930836px;
  --duration: 2.4157021507s;
  --delay: 2.6314394315s;
  --rotate: -2.9980588548deg;
}
.background .light-rays > *:nth-child(5) {
  --deg: 0.1076215002;
  --thickness: 22.4616119907px;
  --length: -18.7909024745px;
  --duration: 2.036792596s;
  --delay: 2.7778554224s;
  --rotate: -2.26397395deg;
}
.background .light-rays > *:nth-child(6) {
  --deg: 0.7707116995;
  --thickness: 15.7440572101px;
  --length: 31.0093912326px;
  --duration: 1.8590738301s;
  --delay: 2.0124556268s;
  --rotate: 3.7411140431deg;
}
.background .light-rays > *:nth-child(7) {
  --deg: 0.9998763631;
  --thickness: 28.6295029505px;
  --length: -44.6167561606px;
  --duration: 2.335208144s;
  --delay: 2.2875574416s;
  --rotate: 1.0000038538deg;
}
.background .light-rays > *:nth-child(8) {
  --deg: 0.3063266468;
  --thickness: 17.4266052517px;
  --length: -32.9414937149px;
  --duration: 1.5906317372s;
  --delay: 2.6106693536s;
  --rotate: 3.1223145554deg;
}
.background .light-rays > *:nth-child(9) {
  --deg: 0.429423274;
  --thickness: 28.4976023148px;
  --length: 8.2010887918px;
  --duration: 2.0805064253s;
  --delay: 2.5913408678s;
  --rotate: -2.0132817604deg;
}
.background .light-rays > *:nth-child(10) {
  --deg: 0.3740690644;
  --thickness: 26.077724858px;
  --length: 10.0313361535px;
  --duration: 2.4106632792s;
  --delay: 2.7949661775s;
  --rotate: -3.1411646596deg;
}
.background .light-rays > *:nth-child(11) {
  --deg: 0.5163236635;
  --thickness: 21.3830961713px;
  --length: 49.994837869px;
  --duration: 1.6407588246s;
  --delay: 2.3111708002s;
  --rotate: 3.9454401609deg;
}
.background .light-rays > *:nth-child(12) {
  --deg: 0.4255712549;
  --thickness: 13.09799553px;
  --length: -32.8101581542px;
  --duration: 1.3413688795s;
  --delay: 2.795008405s;
  --rotate: -1.0530446189deg;
}
.background .light-rays > *:nth-child(13) {
  --deg: 0.8526440463;
  --thickness: 18.4608811042px;
  --length: 1.5041023203px;
  --duration: 2.2759216853s;
  --delay: 2.3947857912s;
  --rotate: 0.7408811278deg;
}
.background .light-rays > *:nth-child(14) {
  --deg: 0.7024080852;
  --thickness: 24.1255926462px;
  --length: -25.9548060317px;
  --duration: 1.7782715836s;
  --delay: 2.0337106818s;
  --rotate: 1.521053541deg;
}
.background .light-rays > *:nth-child(15) {
  --deg: 0.367648586;
  --thickness: 30.056428064px;
  --length: 47.5034772736px;
  --duration: 1.1101665849s;
  --delay: 2.6885693497s;
  --rotate: -2.5205244502deg;
}
.background .light-rays > *:nth-child(16) {
  --deg: 0.2809857756;
  --thickness: 13.4941805794px;
  --length: 26.0863029954px;
  --duration: 2.4434484857s;
  --delay: 2.9973296876s;
  --rotate: -2.8161028142deg;
}
.background .light-rays > *:nth-child(17) {
  --deg: 0.5282556493;
  --thickness: 28.7138442681px;
  --length: 12.0817997561px;
  --duration: 1.8359327659s;
  --delay: 2.1208095619s;
  --rotate: 3.5570005237deg;
}
.background .light-rays > *:nth-child(18) {
  --deg: 0.7575800165;
  --thickness: 29.4535236719px;
  --length: -23.4643063911px;
  --duration: 2.200507288s;
  --delay: 2.865774074s;
  --rotate: -2.8982027098deg;
}
.background .light-rays > *:nth-child(19) {
  --deg: 0.0202578985;
  --thickness: 26.0290087666px;
  --length: -11.1810941344px;
  --duration: 1.6713570285s;
  --delay: 2.0255696883s;
  --rotate: 3.3172374898deg;
}
.background .light-rays > *:nth-child(20) {
  --deg: 0.6996188703;
  --thickness: 25.1302711063px;
  --length: 13.5139193925px;
  --duration: 1.2392693406s;
  --delay: 2.7209121225s;
  --rotate: -1.9341184413deg;
}
.background .light-rays > *:nth-child(21) {
  --deg: 0.5397271429;
  --thickness: 21.2627916871px;
  --length: -29.8180314204px;
  --duration: 2.1498359067s;
  --delay: 2.4441780477s;
  --rotate: -0.6807252178deg;
}
.background .light-rays > *:nth-child(22) {
  --deg: 0.9116031764;
  --thickness: 17.7624625703px;
  --length: 2.0982390326px;
  --duration: 2.0700621595s;
  --delay: 2.5722282686s;
  --rotate: 3.43847255deg;
}
.background .light-rays > *:nth-child(23) {
  --deg: 0.4567936209;
  --thickness: 31.7210056753px;
  --length: -32.3603309531px;
  --duration: 1.7547834994s;
  --delay: 2.9206705421s;
  --rotate: -0.1133164494deg;
}
.background .light-rays > *:nth-child(24) {
  --deg: 0.0451725138;
  --thickness: 24.1220738666px;
  --length: -11.3735560416px;
  --duration: 1.6758220003s;
  --delay: 2.4245418893s;
  --rotate: -3.2148818713deg;
}
.background .light-rays > *:nth-child(25) {
  --deg: 0.5131209307;
  --thickness: 25.0294130353px;
  --length: 38.1707998576px;
  --duration: 1.2307835902s;
  --delay: 2.305267517s;
  --rotate: 2.7459275671deg;
}
.background .light-rays > *:nth-child(26) {
  --deg: 0.5564558079;
  --thickness: 24.6989130903px;
  --length: 46.6715081309px;
  --duration: 2.3203371816s;
  --delay: 2.1630138455s;
  --rotate: -1.7644543074deg;
}
.background .light-rays > *:nth-child(27) {
  --deg: 0.867770841;
  --thickness: 23.5736350637px;
  --length: 33.9299150592px;
  --duration: 1.6561134088s;
  --delay: 2.8660673371s;
  --rotate: 1.0288363197deg;
}
.background .light-rays > *:nth-child(28) {
  --deg: 0.6118374944;
  --thickness: 20.3421717351px;
  --length: 9.4608722772px;
  --duration: 1.5451047547s;
  --delay: 2.5433422691s;
  --rotate: -0.3253291714deg;
}
.background .light-rays > *:nth-child(29) {
  --deg: 0.6300970221;
  --thickness: 17.0173892245px;
  --length: -15.9131922403px;
  --duration: 1.6633261135s;
  --delay: 2.0435526582s;
  --rotate: -0.3468646446deg;
}
.background .light-rays > *:nth-child(30) {
  --deg: 0.6267647006;
  --thickness: 30.2279273624px;
  --length: -31.0773218577px;
  --duration: 1.8055643541s;
  --delay: 2.2052813235s;
  --rotate: -2.4808973766deg;
}
.background .light-rays > *:nth-child(31) {
  --deg: 0.2223659145;
  --thickness: 9.1336048943px;
  --length: 37.0874038527px;
  --duration: 2.109994723s;
  --delay: 2.5160231477s;
  --rotate: -1.363136839deg;
}
.background .light-rays > *:nth-child(32) {
  --deg: 0.8877760801;
  --thickness: 31.1877505871px;
  --length: 10.990388466px;
  --duration: 2.0895549219s;
  --delay: 2.9213752514s;
  --rotate: 1.1786708519deg;
}
@keyframes shimmer {
  0% {
    opacity: 0.33;
  }
  100% {
    opacity: 0.03;
  }
}
@keyframes rotate {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: var(--rotate);
  }
}

/* app/resources/css/modules/home.css */
.home .content header {
  background: url("./test-YWF3R3SQ.png") no-repeat;
  padding: 25px 20px 25px;
  margin-left: -1rem;
  margin-right: -1rem;
  min-height: 200px;
}
@media (min-width: 1320px) {
  .home .content header {
    margin-left: 0;
    margin-right: 0;
  }
}
.home .content header :is(h1) {
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 600;
}
@media (min-width: 1024px) {
  .home .content header {
    padding: 100px 20px 50px;
  }
  .home .content header :is(h1) {
    max-width: 18ch;
    font-size: 3rem;
    line-height: 1.1;
    font-weight: 600;
  }
}
.home .content header :is(p) {
  font-size: 1.1rem;
}
@media (min-width: 1024px) {
  .home .content header :is(p) {
    font-size: 1.5rem;
  }
}
.home .content header :is(p) span {
  font-size: 0.9rem;
  display: block;
  font-style: italic;
}

/* app/resources/css/styles.css */
