* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  border: none;
}

section {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
section .container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 64px;
}
section .container .main-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-bottom: 40px;
  position: relative;
}

section .container .main-content h1 {
  font-family: "Unbounded";
  font-size: 5.75vw;
  color: #4342ff;
}

section .container .main-content p {
  font-family: "Unbounded";
  font-size: 3vw;
  font-weight: bold;
}

section .container .main-content span {
  font-family: "DM Sans";
  opacity: 0.45;
  font-size: 1.25vw;
}

section .container .left-deco,
section .container .right-deco {
  width: 64px;
  height: 100vh;
  background-size: contain;
  background-position: center;
}

section .container .left-deco {
  background-image: url("/assets/images/left-candidate-decoration.svg");
}

section .container .right-deco {
  background-image: url("/assets/images/right-candidate-decoration.svg");
}

.deco-1 {
  position: absolute;
  top: -3.2vw;
  left: -4.8vw;
  width: 8vw;
  animation-name: rotate-clock;
  animation-duration: 60s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.deco-2 {
  position: absolute;
  bottom: 3.2vw;
  right: -4.8vw;
  width: 8vw;
  animation-name: rotate-counter-clock;
  animation-duration: 60s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes rotate-clock {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes rotate-counter-clock {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}

@media screen and (max-width: 840px) {
  section .container {
    padding: 32px;
  }
  section .container .left-deco,
  section .container .right-deco {
    width: 40px;
  }

  section .container .main-content h1 {
    font-size: 7.25vw;
  }

  section .container .main-content p {
    font-size: 4vw;
  }

  section .container .main-content span {
    font-size: 2vw;
  }
}

@media screen and (max-width: 664px) {
  section .container {
    padding: 0px;
  }
}

@media screen and (max-width: 512px) {
  section .container .main-content h1 {
    font-size: 11.75vw;
    text-align: center;
  }

  section .container .main-content p {
    font-size: 6vw;
  }

  section .container .main-content span {
    font-size: 3.25vw;
  }
  .deco-1 {
    top: -7.2vw;
    left: 1vw;
    width: 14vw;
  }

  .deco-2 {
    bottom: -7.2vw;
    right: 1vw;
    width: 14vw;
  }
}
