@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);
  text-decoration: none;
}
a.external::after {
  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="%2394cbf8" 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;
  content: "";
  display: inline-block;
  margin-left: 7px;
  content: "";
  width: 20px;
  height: 17px;
}
b,
strong {
  font-weight: bold;
}
h1,
h2,
h3,
p,
ul,
ol {
  margin-bottom: 0;
}
h1,
h2,
h3,
p,
li {
  max-width: 80ch;
}
h1,
h2,
h3 {
  font-weight: 500;
}
h1 {
  font-size: 1.7rem;
  line-height: 1.15;
}
@media (min-width: 1024px) {
  h1 {
    font-size: 2.2rem;
    line-height: 1.3;
  }
}
h2 {
  font-size: 1.3rem;
  line-height: 1.15;
}
@media (min-width: 1024px) {
  h2 {
    font-size: 1.5rem;
    line-height: 1.35;
  }
}
h3 {
  font-size: inherit;
  line-height: inherit;
  font-weight: bold;
}
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;
}
img {
  max-width: 100%;
}
* + figure {
  margin-top: 1rem;
}
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;
  }
}
.education-landing {
  display: flow-root;
}
.education-landing__image {
  float: right;
  width: 33.333%;
  margin: 0.85rem 0 1rem 1rem;
}
section {
  margin-top: 1rem;
}
.section-divider {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding-top: 1rem;
}
.darken {
  background: rgba(0, 0, 0, 0.3);
  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;
}
footer > div :is(li).selected > a {
  color: white;
}
@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;
  }
}
footer .social-link {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
}
footer .social-link + .social-link {
  margin-left: 1rem;
}
footer .social-link__icon {
  fill: none;
  height: 1.15rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 1.15rem;
}
footer .social-link__icon--youtube {
  height: calc(1.3rem - 2px);
  width: calc(1.3rem - 2px);
}

/* 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/compass-endorsement.css */
.compass-endorsement {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .compass-endorsement {
    flex-direction: row;
  }
}
.compass-endorsement p {
  font-size: 1.3rem;
  line-height: 1.35;
  margin-top: 0;
}
@media (min-width: 1024px) {
  .compass-endorsement p {
    font-size: 1.5rem;
  }
}
.compass-endorsement__image {
  flex: 0 0 33.333%;
  order: -1;
}
@media (min-width: 768px) {
  .compass-endorsement__image {
    order: initial;
  }
}
.compass-endorsement p.compass-endorsement__download {
  font-size: 1.3rem;
  font-weight: normal;
  margin-top: 1rem;
}
@media (min-width: 1024px) {
  .compass-endorsement p.compass-endorsement__download {
    font-size: 1.5rem;
  }
}

/* app/resources/css/modules/media-gallery.css */
.media-gallery {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-top: 1rem;
}
.media-gallery figure {
  background: rgba(255, 255, 255, 0.9);
  color: #00102F;
  display: flex;
  flex-direction: column;
  margin: 0;
}
.media-gallery__image {
  aspect-ratio: 4 / 5;
  background: none;
  border: 0;
  cursor: zoom-in;
  display: block;
  padding: 0;
  overflow: hidden;
  width: 100%;
}
.media-gallery img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.media-gallery figcaption {
  font-size: 0.85rem;
  line-height: 1.25;
  padding: 0.5rem;
}

/* app/resources/css/modules/image-modal.css */
.image-modal {
  background: transparent;
  border: 0;
  box-sizing: border-box;
  color: white;
  height: 100dvh;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  max-height: 100dvh;
  max-width: 100dvw;
  overflow: hidden;
  padding: 1rem;
  position: fixed;
  width: 100dvw;
}
.image-modal[open] {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}
.image-modal::backdrop {
  background: rgba(0, 16, 47, 0.9);
}
.image-modal__image {
  display: block;
  height: 100%;
  justify-self: center;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}
.image-modal__caption {
  margin-top: 0.5rem;
  max-width: none;
  text-align: center;
}
.image-modal__nav {
  align-items: center;
  background: rgba(255, 255, 255, 0.88);
  border: 0;
  color: #00102F;
  cursor: pointer;
  display: flex;
  font-size: 2.5rem;
  height: 3rem;
  justify-content: center;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3rem;
}
.image-modal__nav--prev {
  left: 1rem;
}
.image-modal__nav--next {
  right: 1rem;
}
.image-modal__close {
  align-items: center;
  background: rgba(255, 255, 255, 0.9);
  border: 0;
  color: #00102F;
  cursor: pointer;
  display: flex;
  font-size: 1.5rem;
  height: 2.5rem;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 2.5rem;
  z-index: 1;
}

/* app/resources/css/modules/form.css */
form {
  margin-top: 30px;
}
form :is(input),
form :is(select),
form :is(textarea) {
  background: rgba(255, 255, 255, 0.9);
  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(select):valid,
form :is(textarea):valid,
form input:valid {
  background: rgba(245, 255, 245, 0.9);
}
form :is(button) {
  font-size: 18px;
  background: var(--primary-color);
  color: white;
  border: none;
  padding: 5px 10px;
  margin: 20px 0;
  cursor: pointer;
}
form :is(button):disabled {
  cursor: default;
  opacity: 0.65;
}
@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.honeypot {
  left: -9999px;
  position: absolute;
}
form .row.row--two-columns :is(label) {
  display: inline-block;
  min-width: 200px;
  vertical-align: top;
}
form .row.row--two-columns :is(input),
form .row.row--two-columns :is(select) {
  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),
  form .row.row--two-columns :is(select) {
    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;
  }
}
.form-message {
  margin: 1rem 0 0;
  padding: 1rem;
}
.form-message--success {
  background: rgba(245, 255, 245, 0.9);
  color: #00102F;
}
.form-message--error {
  background: rgba(255, 245, 245, 0.95);
  color: #b00020;
}

/* app/resources/css/modules/publication-detail.css */
.publication-detail {
  display: flow-root;
}
.publication-detail > p:first-child {
  margin-bottom: 1rem;
}
.publication-list {
  list-style: none;
  padding-left: 0;
}
.publication-list li + li {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  margin-top: 1.75rem;
  padding-top: 1.75rem;
}
.publication-list__item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.publication-list__thumbnail {
  width: 5rem;
  height: 5rem;
  object-fit: cover;
  flex: 0 0 auto;
  display: block;
  margin-top: 0.45rem;
}
.publication-list__title,
.publication-list__byline {
  display: block;
}
.publication-list h2 {
  margin-top: 0;
}
.publication-list h2 + p {
  margin-top: 0.5em;
}
.publication-list__byline {
  margin-top: 0.25rem;
  font-size: 0.9rem;
  color: #fff;
  opacity: 0.8;
}
.publication-detail__header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.publication-detail__header h1 {
  flex: 1 1 auto;
}
.publication-detail__cover {
  order: -1;
  flex: 0 0 40%;
  margin: 0;
}
@media (max-width: 767px) {
  .publication-detail__header h1 {
    margin-top: 0;
  }
  .publication-detail__cover {
    margin-top: 0.25rem;
  }
}
@media (min-width: 768px) {
  .publication-detail__header {
    display: block;
  }
  .publication-detail__cover {
    float: left;
    width: 33.333%;
    max-width: none;
    margin: 1rem 1.25rem 1rem 0;
  }
}

/* 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;
  min-width: 0;
  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--youtube .card iframe {
  width: 100%;
  aspect-ratio: 9 / 16;
  border: 0;
  display: block;
}
.cards--video-library {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  align-items: start;
  row-gap: 2rem;
  margin-top: 1rem;
}
.cards--video-library .card {
  width: auto;
}
.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.1357250052;
  --thickness: 14.4016380091px;
  --length: 43.3019751415px;
  --duration: 1.8892868055s;
  --delay: 2.5790389688s;
  --rotate: 2.7896822495deg;
}
.background .light-rays > *:nth-child(2) {
  --deg: 0.2956464493;
  --thickness: 29.9706753539px;
  --length: -21.4043038532px;
  --duration: 1.3549368404s;
  --delay: 2.822595555s;
  --rotate: 3.7762814418deg;
}
.background .light-rays > *:nth-child(3) {
  --deg: 0.7926364875;
  --thickness: 26.5792338221px;
  --length: 17.5886370715px;
  --duration: 1.2412338015s;
  --delay: 2.668413661s;
  --rotate: -2.8115113815deg;
}
.background .light-rays > *:nth-child(4) {
  --deg: 0.3722239292;
  --thickness: 30.0774891365px;
  --length: 49.1770444347px;
  --duration: 1.1508043836s;
  --delay: 2.583452635s;
  --rotate: 0.3431492079deg;
}
.background .light-rays > *:nth-child(5) {
  --deg: 0.0879732702;
  --thickness: 15.6100848969px;
  --length: -47.1260862803px;
  --duration: 2.0567908841s;
  --delay: 2.2552881177s;
  --rotate: 0.8722271283deg;
}
.background .light-rays > *:nth-child(6) {
  --deg: 0.6509538756;
  --thickness: 19.5654095967px;
  --length: 38.0664135344px;
  --duration: 1.4301444025s;
  --delay: 2.2054130568s;
  --rotate: -0.6121548951deg;
}
.background .light-rays > *:nth-child(7) {
  --deg: 0.3117911667;
  --thickness: 26.5429781974px;
  --length: -19.348290972px;
  --duration: 2.1470815952s;
  --delay: 2.8229073729s;
  --rotate: -3.1717433485deg;
}
.background .light-rays > *:nth-child(8) {
  --deg: 0.8514668668;
  --thickness: 28.4847733454px;
  --length: -32.8648181825px;
  --duration: 1.246735832s;
  --delay: 2.4537996603s;
  --rotate: -1.2174424856deg;
}
.background .light-rays > *:nth-child(9) {
  --deg: 0.7435227952;
  --thickness: 21.0023444243px;
  --length: -17.5879785478px;
  --duration: 2.3164875859s;
  --delay: 2.381764153s;
  --rotate: -2.646897635deg;
}
.background .light-rays > *:nth-child(10) {
  --deg: 0.5920386142;
  --thickness: 27.7232125995px;
  --length: -30.9563231892px;
  --duration: 1.4695054238s;
  --delay: 2.2964186869s;
  --rotate: -1.0431992808deg;
}
.background .light-rays > *:nth-child(11) {
  --deg: 0.507167925;
  --thickness: 11.9404530849px;
  --length: 6.8237806848px;
  --duration: 1.9460410635s;
  --delay: 2.5928291864s;
  --rotate: -0.1886765389deg;
}
.background .light-rays > *:nth-child(12) {
  --deg: 0.6618328559;
  --thickness: 27.0955568677px;
  --length: -47.5746980235px;
  --duration: 2.4401220642s;
  --delay: 2.2644748316s;
  --rotate: 2.0325550715deg;
}
.background .light-rays > *:nth-child(13) {
  --deg: 0.3107440001;
  --thickness: 11.7376984896px;
  --length: -23.9448050994px;
  --duration: 1.7138211352s;
  --delay: 2.4196836129s;
  --rotate: -2.3179930171deg;
}
.background .light-rays > *:nth-child(14) {
  --deg: 0.3856268984;
  --thickness: 20.1029074304px;
  --length: 40.154659159px;
  --duration: 1.2699530273s;
  --delay: 2.9607947158s;
  --rotate: 3.3014280284deg;
}
.background .light-rays > *:nth-child(15) {
  --deg: 0.1641281067;
  --thickness: 18.1379520092px;
  --length: -32.9940511677px;
  --duration: 1.1465057107s;
  --delay: 2.7443354782s;
  --rotate: 2.9673371072deg;
}
.background .light-rays > *:nth-child(16) {
  --deg: 0.7659723866;
  --thickness: 29.0237595528px;
  --length: 20.5360263361px;
  --duration: 2.230673074s;
  --delay: 2.2048336654s;
  --rotate: 2.5875942285deg;
}
.background .light-rays > *:nth-child(17) {
  --deg: 0.865484472;
  --thickness: 23.7530601496px;
  --length: 25.6396952624px;
  --duration: 1.7085618617s;
  --delay: 2.2537274331s;
  --rotate: -3.4756000904deg;
}
.background .light-rays > *:nth-child(18) {
  --deg: 0.1256353107;
  --thickness: 19.8642611294px;
  --length: -47.6419767856px;
  --duration: 1.8614089278s;
  --delay: 2.7884808019s;
  --rotate: 2.3331685679deg;
}
.background .light-rays > *:nth-child(19) {
  --deg: 0.1574794384;
  --thickness: 32.2706809748px;
  --length: 10.4811592255px;
  --duration: 2.08328017s;
  --delay: 2.0149320522s;
  --rotate: 0.6602794456deg;
}
.background .light-rays > *:nth-child(20) {
  --deg: 0.1093028871;
  --thickness: 28.9745640007px;
  --length: -10.6888569024px;
  --duration: 2.2563741479s;
  --delay: 2.0839783734s;
  --rotate: -0.3258602972deg;
}
.background .light-rays > *:nth-child(21) {
  --deg: 0.1792468421;
  --thickness: 13.2276033822px;
  --length: 5.7887382941px;
  --duration: 2.0930858304s;
  --delay: 2.6820811754s;
  --rotate: -3.3259954397deg;
}
.background .light-rays > *:nth-child(22) {
  --deg: 0.5396133472;
  --thickness: 19.2068471015px;
  --length: 23.516754448px;
  --duration: 1.9133852042s;
  --delay: 2.9352354746s;
  --rotate: 3.0334335178deg;
}
.background .light-rays > *:nth-child(23) {
  --deg: 0.194478937;
  --thickness: 22.0771583421px;
  --length: 37.6083654856px;
  --duration: 1.9444461697s;
  --delay: 2.6558315635s;
  --rotate: -0.8088833062deg;
}
.background .light-rays > *:nth-child(24) {
  --deg: 0.7946536566;
  --thickness: 27.4460430281px;
  --length: 40.7169414753px;
  --duration: 1.5876385926s;
  --delay: 2.4455480568s;
  --rotate: -0.8198476302deg;
}
.background .light-rays > *:nth-child(25) {
  --deg: 0.6635004968;
  --thickness: 28.4084065352px;
  --length: 9.8943587624px;
  --duration: 1.6706146848s;
  --delay: 2.7840446399s;
  --rotate: 2.756693255deg;
}
.background .light-rays > *:nth-child(26) {
  --deg: 0.7656701916;
  --thickness: 32.4151896515px;
  --length: -18.3973265578px;
  --duration: 2.1093459338s;
  --delay: 2.3110833923s;
  --rotate: 2.8588725684deg;
}
.background .light-rays > *:nth-child(27) {
  --deg: 0.6143613161;
  --thickness: 17.7494418971px;
  --length: -3.0286225245px;
  --duration: 1.6926070428s;
  --delay: 2.5663400436s;
  --rotate: 1.156893029deg;
}
.background .light-rays > *:nth-child(28) {
  --deg: 0.8817967475;
  --thickness: 33.4592905651px;
  --length: -8.5022158376px;
  --duration: 1.3959617897s;
  --delay: 2.7806869664s;
  --rotate: -1.5929987084deg;
}
.background .light-rays > *:nth-child(29) {
  --deg: 0.7590024658;
  --thickness: 28.9228115654px;
  --length: -31.6508515405px;
  --duration: 1.62376336s;
  --delay: 2.8800346431s;
  --rotate: 2.7081187874deg;
}
.background .light-rays > *:nth-child(30) {
  --deg: 0.5393383021;
  --thickness: 22.8075063116px;
  --length: -31.8005417806px;
  --duration: 1.0350996964s;
  --delay: 2.3877904751s;
  --rotate: -2.9315078089deg;
}
.background .light-rays > *:nth-child(31) {
  --deg: 0.3925901394;
  --thickness: 15.5274609909px;
  --length: -14.7348111098px;
  --duration: 1.14313305s;
  --delay: 2.8137108769s;
  --rotate: -0.2764112986deg;
}
.background .light-rays > *:nth-child(32) {
  --deg: 0.0607878252;
  --thickness: 17.4353608012px;
  --length: -19.7416410725px;
  --duration: 2.3353243376s;
  --delay: 2.8942021478s;
  --rotate: 3.6741322972deg;
}
@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("./homepage_header-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: 1.8rem;
  line-height: 1.1;
  font-weight: 600;
}
@media (min-width: 1024px) {
  .home .content header {
    padding: 70px 20px 70px 30px;
  }
  .home .content header :is(h1) {
    max-width: 18ch;
    font-size: 3rem;
    line-height: 1.1;
    font-weight: 600;
  }
}
.home .content header .subline {
  margin-top: 0.25rem;
}
@media (min-width: 1024px) {
  .home .content header .subline {
    font-size: 1.25rem;
  }
}

/* app/resources/css/modules/partners.css */
.partners section {
  border-bottom: solid 1px white;
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .partners section {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2%;
    align-items: flex-start;
  }
}
.partners section:last-child {
  border-bottom: none;
}
.partners section h2 {
  flex-basis: 100%;
  margin-bottom: 1rem;
}
.partners section figure {
  flex: 0 0 28%;
  margin-top: 5px;
  margin-bottom: 1rem;
}
.partners section > div {
  flex-basis: 70%;
}

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