body {
  margin: 0px;
  font-family: 'IBM Plex Sans';

  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: linear-gradient(
    0deg,
    rgba(21, 27, 77, 1) 0%,
    rgba(61, 103, 125, 1) 100%
  );
}
html,
body {
  touch-action: none;
}

* {
  user-select: none;
}
#renderCanvas {
  width: 100%;
  height: 100%;
}

#control-buttons {
  visibility: hidden;
  position: fixed;
  right: 64px;
  bottom: 124px;
  font-family: 'RussianRail G Pro Bold';

  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 20px;
  z-index: 5001;
}

#control-buttons .item {
  background: #aac7d7cc;
  opacity: 0.7;
  border: 1px solid rgba(101, 135, 154, 0.3);
  border-radius: 50%;
  transition: background-color 0.3s ease;
  width: 64px;
  height: 64px;

  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

#control-buttons .item:hover {
  background: rgba(18, 38, 55, 0.2);
  border: 1px solid #53cbff;
}
#control-buttons .item.sm {
  visibility: hidden;
  width: 48px;
  height: 48px;
}
/* #control-buttons .item.sm.disabled-item {
  background: #65879a4d;
  border: 1px solid #65879a4d;
  cursor: not-allowed;
  pointer-events: none;
} */
#control-buttons .item.disabled-item {
  background: #65879a4d;
  border: 1px solid #65879a4d;
  cursor: not-allowed;
  pointer-events: none;
}

#control-buttons.disabled .item {
  background: rgba(170, 199, 215, 0.4);
}

#menu {
  position: fixed;
  bottom: 0;
  left: 120px;
  right: 0;
  height: 132px;
  z-index: 5000;
}

#menuWrapper {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 132px;
  background: linear-gradient(
    360deg,
    rgba(91, 110, 127, 0.79) 0%,
    rgba(110, 128, 143, 0) 100%
  );
  z-index: 1;
}

#menu .item {
  position: absolute;
  bottom: 0;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  padding: 12px 0;
  cursor: pointer;
  opacity: 0.5;
  font-family: 'RussianRail G Pro', sans-serif;
  font-weight: bold;
}

#menu .item.active {
  opacity: 1;
}

#menu-progress {
  position: fixed;
  bottom: 42px;
  right: 0;
  display: flex;
  left: 120px;
  z-index: 120;
}

#menu-progress div {
  height: 2px;
}

#menu-progress .active {
  background: #e21a1a;
}

#menu-progress .inactive {
  background: #53cbff;
  width: 100%;
}

#loader {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  margin-bottom: -240px;
}
.loader-text {
  opacity: 0.7;
  color: #fff;
}

#menu-text {
  position: absolute;
  bottom: 50px;
  left: 120px;
  right: 0;
  z-index: 200;

  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

#menu-text p {
  font-size: 20px;
  line-height: 18px;
  text-align: center;
  color: #ffffff;
  font-family: 'RussianRail G Pro', sans-serif;
}

#menu-text div {
  opacity: 0.5;
  width: 84.5px;
  border: 1px solid #ffffff;
}

#initialPage {
  background: linear-gradient(
    0deg,
    rgba(21, 27, 77, 1) 0%,
    rgba(61, 103, 125, 1) 100%
  );

  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 3000;
}

#initialPage img {
  mix-blend-mode: screen;
}

#initialPage .content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  margin-top: 7%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  row-gap: 18px;
}

#initialPage .divider {
  height: 2px;
  background-color: rgba(255, 255, 255, 0.3);
  width: 22%;
}

#initialPage .title {
  width: 53%;
  font-size: 40px;
  font-family: RussianRail G Pro, sans-serif;
  font-weight: bold;
  line-height: 44px;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: #ffffff;
  text-align: center;

  margin-top: -120px;
}

#initialPage .description {
  width: 25%;
  font-family: RussianRail G Pro, sans-serif;
  font-size: 18px;
  line-height: 28px;
  color: #ffffff;
  text-align: center;
}

#initialPage .helper-text {
  font-family: IBM Plex Sans, sans-serif;
  line-height: 25px;
  font-size: 18px;
  font-weight: 300;
  color: #f8f8f8;
  text-align: center;
  margin-top: 26px;
  position: absolute;
  margin-bottom: -200px;
}

.progress-line-container {
  position: absolute;
  bottom: 0;
  display: none;
  /* display: flex; */
  justify-content: center;
}

.progress-line {
  background: rgba(255, 255, 255, 0.3);
  width: 2px;
  height: 225px;
  position: relative;
}

.progress-line-active {
  background-color: rgb(255, 255, 255);
  height: 78px;
  width: 2px;
  position: absolute;
  top: 0;
  animation: scrollLine ease 3s infinite forwards;
}

.progress-line-lines {
  display: none;
  position: absolute;
  z-index: 5000;
  /* bottom: 325px; */
  bottom: 0px;
}

.circleLines {
  display: none;
  position: fixed;
  right: 93px;
  bottom: 370px;
  z-index: 5000;
}

.circleLines .container,
.progress-line-lines .container {
  position: relative;
  display: flex;
  justify-content: center;
}

.circleLines .circle,
.progress-line-lines .circle {
  display: block;
  height: 300px;
  width: 300px;
  border-radius: 50%;
  transition: 9s ease;
  position: absolute;
  border: 0.5px solid #ffffff58;
  opacity: 0.05;
  top: 0px;
}

.container .delay1 {
  animation: waves 9s linear forwards;
  animation-iteration-count: infinite;
}
.container .delay2 {
  animation: waves 9s linear 3s forwards;
  animation-iteration-count: infinite;
}

.container .delay3 {
  animation: waves 9s linear 6s forwards;
  animation-iteration-count: infinite;
}

.container .delay4 {
  animation: waves 9s linear 9s forwards;
  animation-iteration-count: infinite;
}

.marquee {
  /*   overflow: hidden; */
}

.marquee-content {
  display: flex;
  user-select: none;
  /* animation: scrolling 150s infinite linear; */
  /* animation-fill-mode: forwards; */
}

.marquee-item {
  flex: 0 0 36vw;
  margin: 4vh 2vw;
  /*   flex: 0 0 20vw; */
  /*   margin: 0 2vw; */
}

.marquee-item.secondary {
  flex: 0 0 20vw !important;
  margin-right: 20vw !important;
}

.marquee-item img {
  display: block;
  width: 100%;
  /*   padding: 0 20px; */
}

#initialPage .end-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  row-gap: 18px;
}

#initialPage .end-text {
  font-family: 'RussianRail G Pro', sans-serif;
  text-align: center;
  font-size: 24px;
  line-height: 28px;
  color: #fff;
  font-weight: 400;
}

#initialPage .end-btn {
  background: rgba(101, 135, 154, 0.2);
  border: 1px solid #53cbff;
  border-radius: 56px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  padding: 16px 32px;
  color: #fff;
  font-family: 'RussianRail G Pro';
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  cursor: pointer;
}
#initialPage .end-btn:hover {
  background: rgba(18, 38, 55, 0.2);
}
#initialPage .end-repeat-btn {
  margin-top: 56px;
  display: flex;
  flex-direction: column;
  row-gap: 14px;
  align-items: center;
  justify-content: center;

  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 21px;

  text-align: center;

  color: rgba(255, 255, 255, 0.3);
  cursor: pointer;
}
.arrow-up {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transform: rotate(270deg);
}
.arrow-down {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  transform: rotate(-270deg);
}

.helper-text-mobile {
  display: none;
  color: #fff;
  text-align: center;
  margin-top: 5%;
  font-weight: 300;
  font-size: 10px;
  line-height: 13px;
  opacity: 0.7;
  width: 55%;
}

@keyframes scrolling {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translatex(-100%);
  }
}

@keyframes scrollLine {
  0% {
    transform: translateY(0);
    opacity: 1;
  }

  100% {
    transform: translateY(144px);
    opacity: 0;
  }
}

@-webkit-keyframes waves {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(3);
    opacity: 0;
  }
}

@media screen and (max-width: 1280px) {
  #initialPage .title {
    font-size: 36px;
    width: 75%;
    text-transform: uppercase;
  }
  #initialPage .divider {
    height: 1px;
    width: 35%;
  }
  #initialPage .description {
    width: 33%;
  }
  #loader {
    height: 15.5%;
  }
  .progress-line {
    height: 88px;
  }
  .progress-line-active {
    height: 35px;
    bottom: 88px;
  }
  .progress-line-lines .circle {
    height: 190px;
    width: 190px;
  }
  .circleLines .circle {
    height: 190px;
    width: 190px;
  }
  .circleLines {
    bottom: 290px;
  }
  #initialPage .helper-text {
    font-size: 16px;
  }
}
/* @media screen and (min-width: 1900px) {
  #initialPage .title {
    width: 65%;
    font-size: 65px;
  }
  #initialPage .divider {
    height: 3px;
    width: 44%;
  }
} */
/* @media screen and (min-width: 1600px) {
  #initialPage .title {
    width: 85%;
    font-size: 54px;
    line-height: 84px;
  }
  #loader {
    margin-top: 0%;
    height: 4.8%;
  }
  #initialPage .divider {
    height: 3px;
    width: 48%;
  }
  #initialPage .description {
    font-size: 44px;
    line-height: 50px;
    width: 47%;
  }
  #loader {
    height: 15.5%;
  }
  .progress-line {
    height: 400px;
  }
  .progress-line-active {
    height: 80px;
    bottom: 400px;
  }
  .progress-line-lines .circle {
    height: 490px;
    width: 490px;
  }
  .circleLines .circle {
    height: 490px;
    width: 490px;
  }
  .circleLines {
    bottom: 290px;
  }
  #initialPage .helper-text {
    font-size: 34px;
    line-height: 52px;
  }
  #control-buttons .item {
    width: 155px;
    height: 155px;
  }
  #control-buttons .item.sm {
    width: 115px;
    height: 115px;
  }
  .arrow-up {
    width: 84px;
    height: 84px;
  }
  .arrow-down {
    width: 64px;
    height: 64px;
  }
  .circleLines {
    right: 150px;
    bottom: 530px;
  }
  .loader-text {
    font-size: 38px;
  }
} */
@media screen and (max-width: 1000px) {
  #initialPage .title {
    font-size: 36px;
    width: 88%;
    text-transform: uppercase;
  }
  #initialPage .helper-text {
    display: none;
  }
  #loader {
    margin-top: 0%;
    height: 4.8%;
  }
  #initialPage .divider {
    height: 1px;
    width: 60%;
  }
  #initialPage .description {
    width: 56%;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
  }
  .progress-line-lines .circle {
    height: 255px;
    width: 255px;
  }
  #initialPage .helper-text-mobile {
    font-size: 18px;
    visibility: hidden;
    display: block;
  }
  #control-buttons,
  .circleLines,
  #menu-text {
    display: none;
  }

  .progress-line {
    height: 230px;
  }

  .progress-line-active {
    height: 70px;
    bottom: 230px;
  }

  @keyframes scrollLine {
    0% {
      transform: translateY(0);
      opacity: 1;
    }

    100% {
      transform: translateY(100px);
      opacity: 0;
    }
  }

  /* .progress-line-lines {
    bottom: 200px;
  } */

  #menu {
    opacity: 0;
  }

  #menu-progress {
    top: 0;
    left: 0;
  }
}

@media screen and (max-width: 800px) {
  #initialPage .title {
    width: 85%;
    font-size: 16px;
    line-height: 18px;
    letter-spacing: 1.03125px;
    text-transform: uppercase;
  }
  #initialPage .helper-text {
    display: none;
  }
  #initialPage .divider {
    height: 1px;
    width: 60%;
  }
  #initialPage .helper-text-mobile {
    visibility: hidden;
    width: 40%;
    font-size: 14px;
  }
  #initialPage .description {
    width: 56%;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px;
  }
  #loader {
    margin-top: 0%;
    height: 5.35%;
  }
  .progress-line-lines .circle {
    height: 150px;
    width: 150px;
  }
  #initialPage .helper-text-mobile {
    visibility: hidden;
    display: block;
  }
  .progress-line {
    height: 145px;
  }

  .progress-line-active {
    height: 35px;
    bottom: 145px;
  }
}

@media screen and (max-width: 874px), screen and (max-height: 768px) {
  #initialPage .title {
    font-size: 24px;
    width: 68%;
    line-height: 33px;
    letter-spacing: 1.03125px;
    text-transform: uppercase;
  }
  #initialPage .divider {
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3);
    width: 50%;
  }
}
@media screen and (max-width: 768px), screen and (max-height: 514px) {
  #initialPage .title {
    font-size: 20px;
    width: 68%;
    line-height: 33px;
    letter-spacing: 1.03125px;
    text-transform: uppercase;
  }
  #initialPage .divider {
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3);
    width: 50%;
  }
  #initialPage .description {
    width: 56%;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 19px;
  }
  #initialPage .helper-text-mobile {
    margin-top: 1%;
  }
  .progress-line {
    height: 130px;
  }

  .progress-line-active {
    height: 35px;
    bottom: 130px;
  }
}
@media screen and (max-width: 1180px), screen and (max-height: 820px) {
  #control-buttons {
    right: 61px;
    bottom: 98px;
  }
}
@media screen and (max-width: 627px), screen and (max-height: 425px) {
  #initialPage .title {
    font-size: 18px;
    width: 70%;
    line-height: 29px;
    letter-spacing: 1.03125px;
    text-transform: uppercase;
  }
  #initialPage .description {
    font-size: 13px;
  }
  .progress-line {
    height: 80px;
  }

  .progress-line-active {
    height: 35px;
    bottom: 80px;
  }
  .loader-text {
    font-size: 12px;
  }
}
.hidden {
  opacity: 0;
  transition: opacity 1s linear;
}

.visible {
  opacity: 1;
  transition: opacity 1s linear;
}
