Preview:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Ice Cream Hero</title>
    <style>
      * {
        box-sizing: border-box;
      }

      body,
      html {
        margin: 0;
        padding: 0;
        font-family: "Poppins", sans-serif;
        background: #00aaff;
        overflow: hidden;
      }

      .hero-section {
        width: 100vw;
        height: 100vh;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 50px;
        overflow: hidden;
      }
img.floating.float6.active {
    left: 1px;
}
      .hero-text {
        max-width: 40%;
        color: white;
        opacity: 0;
        transform: translateX(-100px);
        transition: all 1s  ease-out;
        /* Slowed from 1s to 1.8s */
        z-index: 3;
      }

      .hero-text.show {
        opacity: 1;
        transform: translateX(0);
      }

      .hero-text h1 {
        font-size: 3rem;
        margin-bottom: 1rem;
      }

      .hero-text p {
        font-size: 1.1rem;
        margin-bottom: 1.5rem;
      }

      .btns img {
        width: 150px;
        margin-right: 10px;
        transition: all 0.8s ease;
        /* Slowed from 0.5s to 0.8s */
      }

      .btns img:hover {
        transform: scale(1.05);
      }

      .main-image {
        height: 100%;
        max-height: 90vh;
        opacity: 0;
        transform: translateY(80px);
        position: absolute;
        right: 50px;
        transition: all 2.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        /* Slowed from 1.5s to 2.2s */
        z-index: 2;
      }

      .main-image.loaded {
        opacity: 1;
        bottom: 0;
        left: 38%;
        transform: translateY(0) translateX(0);
      }

      .main-image.active {
        transform: rotate(5deg);
        left: 63%;
        bottom: 0;
        transition: all 1.5s ease;
        /* Slowed from 1s to 1.5s */
      }

      .floating {
        position: absolute;
        opacity: 0;
        transform: translateY(80px);
        transition: all 2.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      }

      .floating.loaded {
        opacity: 1;
        transform: translateY(0);
      }

img.floating.float1.active {
    left: 61%;
    top: 4%;
}
      .floating.active {
        transition: all 1.8s ease;
      }
img.floating.float4.active {
    bottom: 4%;
    right: 35%;
        z-index: 999;
}
img.floating.float3.active {
    bottom: 32%;
    left: 55%;
}
      .float1 {
        top: 9%;
        left: 9%;
        transition-delay: 0.2s;
      }
img.floating.float2.active {
    top: 8%;
    right: 14%;
}

      .float2 {
        top: 13%;
        right: 28%;
        transition-delay: 0.3s;
        width: 80px;
      }

      .float3 {
        bottom: 32%;
        left: 30%;
        transition-delay: 0.4s;
      }

      .float4 {
        bottom: 20%;
        right: 32%;
        transition-delay: 0.5s;
        width: 110px;
      }

      .float5 {
        top: 50%;
        right: 1%;
        transition-delay: 0.6s;
        width: 102px;
      }

.float6 {
    bottom: 4%;
    left: -2%;
    transition-delay: 0.7s;
    width: 190px;
}
      .float7 {
        bottom: 0px;
        right: 4%;
        transition-delay: 0.8s;
        width: 200px;
      }
    </style>
  </head>

  <body>
    <div class="hero-section">
      <div class="hero-text">
        <h1>ICE CREAM ON THE BOAT</h1>
        <p>
          Make your picnic by the lake even more memorable with our on-demand
          ice cream app. Whether you're relaxing with fam, spending time with
          friends, or vibing solo – we deliver frozen treats straight to your
          picnic spot.
        </p>
        <div class="btns">
          <img src="appstore.png" alt="App Store" />
          <img src="playstore.png" alt="Google Play" />
        </div>
      </div>

      <div id="mainimagebox">
        <img
          src="/images/hands-phone.png"
          class="main-image"
          alt="Phone"
          onload="imageLoaded(this)"
        />
        <img
          src="/images/cone.png"
          class="floating float1"
          onload="imageLoaded(this)"
        />
        <img
          src="/images/blueberry.png"
          class="floating float2"
          onload="imageLoaded(this)"
        />
        <img
          src="/images/blur-blueberry.png"
          class="floating float3"
          onload="imageLoaded(this)"
        />
        <img
          src="/images/cup.png"
          class="floating float4"
          onload="imageLoaded(this)"
        />
        <img
          src="/images/chocbar.png"
          class="floating float5"
          onload="imageLoaded(this)"
        />
        <img
          src="/images/boat-left.png"
          class="floating float6"
          onload="imageLoaded(this)"
        />
        <img
          src="/images/blur-boat.png"
          class="floating float7"
          onload="imageLoaded(this)"
        />
      </div>
    </div>

    <script>
      function imageLoaded(img) {
        img.classList.add("loaded");

        if (
          img.classList.contains("main-image") ||
          img.classList.contains("floating")
        ) {
          setTimeout(() => {
            img.classList.add("active");
          }, 4000);
        }
      }

      window.addEventListener("DOMContentLoaded", () => {
        const heroText = document.querySelector(".hero-text");

        setTimeout(() => {
          heroText.classList.add("show");
        }, 5000);
      });
    </script>
  </body>
</html>
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter