html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
}

.container {
  background-image: url(./images/bg3.png), url(./images/bg.png);
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 172vh 98vh, cover;
  background-position: center, center;
  perspective: 50vh;
  overflow: hidden;
}

.container .cbg::before {
  content: "";
  background: url(./images/icon/c-bg.png);
  width: 130vh;
  height: 100vh;
  position: absolute;
  background-position: 0.4vh 19.1vh;
  background-repeat: no-repeat;
  background-size: 108vh;
}

.center {
  position: absolute;
  left: 50%;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0;
  height: 0;
}

.cloud {
  animation: infinite-cloud 2.2s linear infinite alternate;
  transform: translate(1.2vh, -26.6vh);
  z-index: 9999;
  position: absolute;
  margin-top: 3.2vh;
  margin-left: -1.6vh;
}

.cloud img {
  width: 26.8vh;
  height: 28.01vh;
}

.step-1 {
  transform: translate(-42.3vh, -15.7vh);
}

.step-1 .icon1 {
  transform: translate(-11vh, -6vh);
}

.step-1 .icon1 img {
  width: 9vh;
}

.step-1 .icon2 {
  transform: translate(-10vh, 7.01vh);
}

.step-1 .icon2 img {
  width: 9.2vh;
}

.step-1 .icon3 {
  transform: translate(16vh, 0);
}

.step-1 .icon3 img {
  width: 8.8vh;
}

.step-1 .icon4 {
  transform: translate(11vh, -6vh);
}

.step-1 .icon4 img {
  width: 8.6vh;
}

.step-1 .icon5 {
  transform: translate(0.5vh, -9vh);
}

.step-1 .icon5 img {
  width: 8.51vh;
}

.step-1 i {
  transform: translate(1.5vh, 6vh);
}

.step-1::before {
  content: "";
  width: 27.81vh;
  height: 27.81vh;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  transform: rotateX(60deg) rotateZ(0deg) translateY(3vh);
  box-shadow: 0 0px 30px -10px #1c1c1c;
}

.step-1::after {
  content: "";
  background-image: url(./images/1-1.png);
  display: inline-block;
  width: 40vh;
  height: 26vh;
  position: absolute;
  z-index: 1;
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: 55% 56%;
}

.step-1-bg {
  background-image: url(./images/1.png);
  display: inline-block;
  width: 40vh;
  height: 26vh;
  position: absolute;
  z-index: 2;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center 42%;
}

.step-1-circle {
  width: 27.81vh;
  height: 27.81vh;
  border: 0.3vh dashed #7fbee6;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  transform: rotateX(60deg) rotateZ(0deg);
}

.step-1-circle .image1 {
  transform: rotate(130deg);
  top: 6vh;
  left: -3.6vh;
}

.step-1-circle .image2 {
  transform: rotate(213deg);
  top: -1.7vh;
  left: 12.7vh;
}

.step-1-circle .image3 {
  transform: rotate(311deg);
  top: 17.01vh;
  left: 21.3vh;
}

.step-1-circle .image4 {
  transform: rotate(57deg);
  top: 22vh;
  left: 0.5vh;
}

.step-2 {
  transform: translate(-52.6vh, 14.7vh);
}

.step-2 .icon1 {
  transform: translate(14.6vh, 5.7vh);
}

.step-2 .icon1 img {
  width: 12vh;
}

.step-2 .icon2 {
  transform: translate(1.2vh, 10.8vh);
}

.step-2 .icon2 img {
  width: 13vh;
}

.step-2 .icon3 {
  transform: translate(-12.3vh, 6vh);
}

.step-2 .icon3 img {
  width: 9.2vh;
}

.step-2 .icon4 {
  transform: translate(-12.8vh, -2.2vh);
}

.step-2 .icon4 img {
  width: 11.6vh;
}

.step-2 .icon5 {
  transform: translate(-2.2vh, -8.59vh);
}

.step-2 .icon5 img {
  width: 9vh;
}

.step-2 .icon6 {
  transform: translate(13.3vh, -2.4vh);
}

.step-2 .icon6 img {
  width: 10.8vh;
}

.step-2 i {
  transform: translate(0.5vh, 5.2vh);
}

.step-2::before {
  content: "";
  width: 26vh;
  height: 26vh;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  transform: rotateX(60deg) rotateZ(0deg) translateY(3.8vh);
  box-shadow: 0 0px 30px -10px #1c1c1c;
}

.step-2::after {
  content: "";
  background-image: url(./images/2-2.png);
  display: inline-block;
  width: 40vh;
  height: 26vh;
  position: absolute;
  z-index: 1;
  background-size: 44%;
  background-repeat: no-repeat;
  background-position: 52% 48%;
}

.step-2-bg {
  background-image: url(./images/2.png);
  display: inline-block;
  width: 40vh;
  height: 26vh;
  position: absolute;
  z-index: 2;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center 42%;
}

.step-2-circle {
  width: 26vh;
  height: 26vh;
  border: 0.3vh dashed #7fbee6;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  transform: rotateX(60deg) rotateZ(0deg);
}

.step-2-circle .image1 {
  transform: rotate(123deg);
  top: 7.01vh;
  left: -4.2vh;
}

.step-2-circle .image2 {
  transform: rotate(219deg);
  top: -1.2vh;
  left: 12.7vh;
}

.step-2-circle .image3 {
  transform: rotate(308deg);
  top: 15vh;
  left: 19.8vh;
}

.step-2-circle .image4 {
  transform: rotate(53deg);
  top: 20.7vh;
  left: 0.5vh;
}

.step-3 {
  transform: translate(-14vh, 35.8vh);
}

.step-3 .icon1 {
  transform: translate(-10vh, -6.6vh);
}

.step-3 .icon1 img {
  width: 7.01vh;
}

.step-3 .icon2 {
  transform: translate(-15vh, -1.8vh);
}

.step-3 .icon2 img {
  width: 7.01vh;
}

.step-3 .icon3 {
  transform: translate(-14.6vh, 4.5vh);
}

.step-3 .icon3 img {
  width: 7.01vh;
}

.step-3 .icon4 {
  transform: translate(-5vh, 8.6vh);
}

.step-3 .icon4 img {
  width: 6.6vh;
}

.step-3 .icon5 {
  transform: translate(5vh, 8.6vh);
}

.step-3 .icon5 img {
  width: 6.6vh;
}

.step-3 .icon6 {
  transform: translate(15.6vh, 4.5vh);
}

.step-3 .icon6 img {
  width: 8.8vh;
}

.step-3 .icon7 {
  transform: translate(15vh, -2vh);
}

.step-3 .icon7 img {
  width: 8.8vh;
}

.step-3 i {
  transform: translate(-0.4vh, 3.6vh);
}

.step-3::before {
  content: "";
  width: 26vh;
  height: 26vh;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  transform: rotateX(60deg) rotateZ(0deg) translateY(3.8vh);
  box-shadow: 0 0px 30px -10px #1c1c1c;
}

.step-3-center {
  background-image: url(./images/3-3.png);
  display: inline-block;
  width: 40vh;
  height: 26vh;
  position: absolute;
  z-index: 1;
  background-size: 44%;
  background-repeat: no-repeat;
  background-position: 48% 15%;
}

.step-3-bg {
  background-image: url(./images/3.png);
  display: inline-block;
  width: 40vh;
  height: 26vh;
  position: absolute;
  z-index: 1;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center 30%;
}

.step-3-circle {
  width: 26vh;
  height: 26vh;
  border: 0.3vh dashed #7fbee6;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  transform: rotateX(60deg) rotateZ(0deg);
}

.step-3-circle .image1 {
  transform: rotate(123deg);
  top: 7.01vh;
  left: -4.2vh;
}

.step-3-circle .image2 {
  transform: rotate(219deg);
  top: -1.2vh;
  left: 12.7vh;
}

.step-3-circle .image3 {
  transform: rotate(308deg);
  top: 15vh;
  left: 19.8vh;
}

.step-3-circle .image4 {
  transform: rotate(53deg);
  top: 20.7vh;
  left: 0.5vh;
}

.step-4 {
  transform: translate(40.21vh, 26.2vh);
}

.step-4 .icon1 {
  transform: translate(-13.4vh, -3.5vh);
}

.step-4 .icon1 img {
  width: 13.6vh;
}

.step-4 .icon2 {
  transform: translate(-13.8vh, 3vh);
}

.step-4 .icon2 img {
  width: 6vh;
}

.step-4 .icon3 {
  transform: translate(-8vh, 6.8vh);
}

.step-4 .icon3 img {
  width: 9vh;
}

.step-4 .icon4 {
  transform: translate(3vh, 9vh);
}

.step-4 .icon4 img {
  width: 9vh;
}

.step-4 .icon5 {
  transform: translate(11.8vh, 4.8vh);
}

.step-4 .icon5 img {
  width: 10vh;
}

.step-4 .icon6 {
  transform: translate(15.6vh, -0.3vh);
}

.step-4 .icon6 img {
  width: 9.6vh;
}

.step-4 .icon7 {
  transform: translate(10.8vh, -5.8vh);
}

.step-4 .icon7 img {
  width: 10vh;
}

.step-4 i {
  transform: translate(-0.4vh, 3.6vh);
}

.step-4::before {
  content: "";
  width: 24vh;
  height: 24vh;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  transform: rotateX(60deg) rotateZ(0deg) translateY(3.8vh);
  box-shadow: 0 0px 30px -10px #1c1c1c;
}

.step-4-center {
  background-image: url(./images/4-4.png);
  display: inline-block;
  width: 40vh;
  height: 26vh;
  position: absolute;
  z-index: 1;
  background-size: 40%;
  background-repeat: no-repeat;
  background-position: 50% 0%;
}

.step-4-bg {
  background-image: url(./images/4.png);
  display: inline-block;
  width: 40vh;
  height: 26vh;
  position: absolute;
  z-index: 1;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.step-4-circle {
  width: 24vh;
  height: 24vh;
  border: 0.3vh dashed #7fbee6;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  transform: rotateX(60deg) rotateZ(0deg);
}

.step-4-circle .image1 {
  transform: rotate(121deg);
  top: 7.01vh;
  left: -4.4vh;
}

.step-4-circle .image2 {
  transform: rotate(228deg);
  top: -0.8vh;
  left: 12.7vh;
}

.step-4-circle .image3 {
  transform: rotate(329deg);
  top: 17.01vh;
  left: 16vh;
}

.step-4-circle .image4 {
  transform: rotate(53deg);
  top: 19vh;
  left: 0.5vh;
}

.step-5 {
  transform: translate(37.4vh, -19.5vh);
}

.step-5 .icon1 {
  transform: translate(-15vh, 0);
}

.step-5 .icon1 img {
  width: 8.8vh;
}

.step-5 .icon2 {
  transform: translate(5.6vh, 8vh);
}

.step-5 .icon2 img {
  width: 8vh;
}

.step-5 .icon3 {
  transform: translate(16vh, 1vh);
}

.step-5 .icon3 img {
  width: 12vh;
}

.step-5 .icon4 {
  transform: translate(8.4vh, -6.2vh);
}

.step-5 .icon4 img {
  width: 9vh;
}

.step-5 .icon5 {
  transform: translate(-10.6vh, -7vh);
}

.step-5 .icon5 img {
  width: 9vh;
}

.step-5 i {
  transform: translate(-1.2vh, 4.6vh);
}

.step-5::before {
  content: "";
  width: 23vh;
  height: 23vh;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  transform: rotateX(60deg) rotateZ(0deg) translateY(3.8vh);
  box-shadow: 0 0px 30px -10px #1c1c1c;
}

.step-5::after {
  content: "";
  background-image: url(./images/5-5.png);
  display: inline-block;
  width: 40vh;
  height: 26vh;
  position: absolute;
  z-index: 1;
  background-size: 38%;
  background-repeat: no-repeat;
  background-position: 46% 12%;
}

.step-5-bg {
  background-image: url(./images/5.png);
  display: inline-block;
  width: 40vh;
  height: 26vh;
  position: absolute;
  z-index: 2;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center 42%;
}

.step-5-circle {
  width: 23vh;
  height: 23vh;
  border: 0.3vh dashed #7fbee6;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  transform: rotateX(60deg) rotateZ(0deg);
}

.step-5-circle .image1 {
  transform: rotate(121deg);
  top: 7.01vh;
  left: -4.4vh;
}

.step-5-circle .image2 {
  transform: rotate(230deg);
  top: -0.5vh;
  left: 12.7vh;
}

.step-5-circle .image3 {
  transform: rotate(320deg);
  top: 14.8vh;
  left: 16vh;
}

.step-5-circle .image4 {
  transform: rotate(50deg);
  top: 18.3vh;
  left: 0.5vh;
}

.circle-arrow {
  position: absolute;
  width: 10vh;
  height: 5vh;
}

.infinite-step {
  animation: infinite-step 20s linear infinite;
}

.rote {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.rote .arrow {
  width: 160%;
  transform: rotate(-90deg);
  animation: infinite-road 6s linear infinite;
}

.rote-1 {
  left: -15.7vh;
  width: 2vh;
  height: 30vh;
  position: absolute;
  top: -19.3vh;
  transform: rotateX(50deg) rotateZ(48deg);
}

.rote-2 {
  left: 14.01vh;
  width: 2vh;
  height: 30vh;
  position: absolute;
  top: -20vh;
  transform: rotateX(50deg) rotateZ(132deg);
}

.rote-3 {
  left: 14.4vh;
  width: 2vh;
  height: 30vh;
  position: absolute;
  top: -1.7vh;
  transform: rotateX(50deg) rotateZ(228deg);
}

.rote-4 {
  left: -10.6vh;
  width: 2vh;
  height: 10vh;
  position: absolute;
  top: 11.9vh;
  transform: rotateX(50deg) rotateZ(315deg);
}

.rote-4 .arrow {
  animation: infinite-road-80 6s linear infinite;
}

.rote-6 {
  left: 2.8vh;
  width: 2vh;
  height: 10vh;
  position: absolute;
  top: -7.7vh;
  transform: rotateX(50deg) rotateZ(314deg);
}

.rote-6 .arrow {
  animation: infinite-road-80 6s linear infinite;
}

.rote-7 {
  left: -12vh;
  width: 2vh;
  height: 30vh;
  position: absolute;
  top: -13.2vh;
  transform: rotateX(50deg) rotateZ(229deg);
}

.rote-7 .arrow {
  animation: infinite-road-270 6s linear infinite;
}

.rote-8 {
  left: -27.8vh;
  width: 2vh;
  height: 10vh;
  position: absolute;
  top: 1.8vh;
  transform: rotateX(50deg) rotateZ(316deg);
}

.rote-8 .arrow {
  animation: infinite-road-80 6s linear infinite;
}

.outer-ring {
  position: absolute;
  width: 140vh;
  height: 140vh;
  transform: translateY(5vh) rotateX(60deg) rotateZ(0deg);
  border-radius: 50%;
  animation: infinite-outer-ring 20s linear infinite;
}

.outer-ring .arrow {
  width: 12vh;
  height: 7.1vh;
}

.outer-ring .arrow1 {
  transform: rotate(135deg) scale(0.6, 1.6);
  position: absolute;
  top: 22vh;
  left: 20vh;
}

.outer-ring .arrow2 {
  transform: rotate(195deg) scale(0.6, 1.6);
  position: absolute;
  top: 8.6vh;
  left: 80vh;
}

.outer-ring .arrow3 {
  transform: rotate(254deg) scale(0.6, 1.6);
  position: absolute;
  top: 61.6vh;
  left: 124.2vh;
}

.outer-ring .arrow4 {
  transform: rotate(334deg) scale(0.6, 1.6);
  position: absolute;
  top: 120vh;
  left: 91.4vh;
}

.outer-ring .arrow5 {
  transform: rotate(30deg) scale(0.6, 1.6);
  position: absolute;
  top: 113vh;
  left: 26vh;
}

div,
span,
img {
  user-select: none;
}

.step-icon-btns {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.step-icon-btns > span {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
}

.step-icon-btns i {
  width: 4.6vh;
  height: 4.6vh;
  background: linear-gradient(0deg, #ffad33, #e1c54b);
  color: white;
  border-radius: 50%;
  position: absolute;
  text-align: center;
  line-height: 4.6vh;
  font-style: normal;
  font-weight: 600;
  font-size: 1.8vh;
  box-shadow: 0px 5px 10px -2px #333;
}

.step-icon-btns img {
  position: absolute;
  opacity: 0.85;
  transition: all 0.3s;
}

.step-icon-btns img:active {
  opacity: 1;
  cursor: pointer;
  animation: btns-click 0.6s;
}

.step-icon-btns img:hover {
  opacity: 1;
  cursor: pointer;
  transform: scale(1.2);
  filter: brightness(1.2);
}

.header {
  margin: 14vh 5vh;
}

.header span {
  font-size: 3.4vh;
  font-weight: 600;
  color: #eaa040;
  display: inline-block;
}

.header h3 {
  margin: 0;
  padding: 0;
  color: white;
  font-size: 3vh;
  letter-spacing: 0.2vh;
}

.header p {
  margin: 0;
  font-size: 1.4vh;
  color: white;
  line-height: 3.4vh;
  padding: 0 0.4vh;
}

@keyframes btns-click {
  0% {
    opacity: 1;
    transform: scale(1.2);
  }
  50% {
    opacity: 0.5;
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes infinite-outer-ring {
  from {
    transform: translateY(5vh) rotateX(60deg) rotateZ(0deg);
  }
  to {
    transform: translateY(5vh) rotateX(60deg) rotateZ(360deg);
  }
}

@keyframes infinite-step {
  from {
    transform: rotateX(60deg) rotateZ(0deg);
  }
  to {
    transform: rotateX(60deg) rotateZ(360deg);
  }
}

@keyframes infinite-cloud {
  from {
    transform: translate(1.2vh, -25.6vh);
  }
  to {
    transform: translate(1.2vh, -27.6vh);
  }
}

@keyframes infinite-road {
  from {
    transform: rotate(-90deg) translateX(0);
  }
  to {
    transform: rotate(-90deg) translateX(30vh);
  }
}

@keyframes infinite-road-80 {
  0% {
    transform: rotate(-90deg) translateX(0);
  }
  100% {
    transform: rotate(-90deg) translateX(8vh);
  }
}

@keyframes infinite-road-40 {
  from {
    transform: rotate(-90deg) translateX(0);
  }
  to {
    transform: rotate(-90deg) translateX(4vh);
  }
}

@keyframes infinite-road-270 {
  from {
    transform: rotate(-90deg) translateX(0);
  }
  to {
    transform: rotate(-90deg) translateX(27vh);
  }
}
