.hero {
  height: 700px;
  background: radial-gradient(
    circle at center,
    #b8ffb3 0%,
    #cdffcd 35%,
    #cdf9cf 60%,
    #eaffea 100%
  );
  overflow: hidden;
}

.hero_context {
  /* margin-top: 50px; */
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.hero_image img {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
  margin: 0 auto;
  /* border: 1px solid #000000; */
  z-index: 2;
  margin-top: -100px;
  position: relative;
}

.text_section {
  position: relative;
  z-index: 1;
}

.text {
  text-align: center;
  font-size: 6rem;
  font-weight: bold;
  margin: 10px 0;
  line-height: 0.9;
  z-index: 3;
}

.text_bold {
  font-weight: 700;
}

.text_regular {
  font-weight: 400;
}

.hero_left {
  position: absolute;
  top: 70%;
  left: 28%;
  transform: translateY(-50%);
}

.hero_left img {
  width: 200px;
  height: auto;
  /* border-radius: 50%; */
  /* border: 1px solid #000000; */
}

.hero_right {
  position: absolute;
  top: 40%;
  right: 30%;
  z-index: 0;
  transform: translate(50%, -20%);
}

.hero_moving_img {
  position: absolute;
  top: 50%;
  left: 60%;
  transform: translate(50%, -20%);
  z-index: 3;
  animation: upDown 3s ease-in-out infinite;
}

.hero_moving_img img {
  width: 200px;
  height: auto;

  /* border-radius: 50%; */
  /* border: 1px solid #000000; */
}

@keyframes upDown {
  0%,
  100% {
    transform: translateX(-50%) translateY(0);
  }

  50% {
    transform: translateX(-50%) translateY(-20px);
  }
}

/* Media Queries for Mobile Devices */
@media (max-width: 768px) {
  .hero {
    height: auto;
    min-height: 500px;
    /* padding: 20px 10px; */
  }

  .hero_context {
    position: static;
    transform: none;
    padding: 0px;
  }

  .text {
    font-size: 3rem;
    line-height: 1;
    margin: 15px 0;
  }

  .hero_image img {
    max-width: 100%;
    width: 300px;
    margin-top: 20px;
  }

  .hero_left {
    top: 80%;
    left: 9%;
  }

  .hero_right {
    display: none;
  }

  .hero_moving_img {
    top: 76%;
    left: 79%;
  }
}

@media (max-width: 480px) {
  .hero {
    min-height: 400px;
    /* padding: 15px 5px; */
  }

  .text {
    font-size: 2.5rem;
    line-height: 1.1;
  }

  .hero_image img {
    width: auto;
    margin-top: -95px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .hero {
    height: 600px;
  }

  .text {
    font-size: 5rem;
  }

  .hero_image img {
    max-width: 450px;
    margin-top: -50px;
  }

  .hero_left {
    left: 15%;
  }

  .hero_left img {
    width: 150px;
  }

  .hero_right {
    right: 15%;
  }

  .hero_moving_img img {
    width: 150px;
  }
}
