Get the finished version

Don’t want to rebuild everything from scratch?
This exact website is already built for you. 

Build it manually from scratch:

All materials:

Download Images:
  1. main-wrapper (ID)
  2. img-container (ID)
  3. section 
  4. text-container
				
					<style>
/*this code is used for background gradient*/
/*================================*/
/*==================================*/
#main-wrapper::after {
  content: "";
  position: absolute;
  top:-50dvh;
  left: 50%;
  transform: translate(-50%);
  width: 100%;
  height: 100dvw;
  /* elliptical spotlight */
   background: radial-gradient(at center center, #31D677 30%, #259B57 72%);
   
  background: radial-gradient(
    ellipse at center,
    rgba(255, 255, 255, 0.2) 0%,
    rgba(255, 255, 255, 0.2) 10%,
    rgba(255, 255, 255, 0) 50%
  );
  pointer-events: none;
}

/* Tablet (768px – 1024px) */
@media (max-width: 1024px) {
  #main-wrapper::after {
    top: -30dvh;
    width: 120%;
    height: 120dvh;
    background: radial-gradient(
      ellipse at center,
      rgba(255, 255, 255, 0.15) 0%,
      rgba(255, 255, 255, 0.15) 15%,
      rgba(255, 255, 255, 0) 60%
    );
  }
}

/* Mobile (up to 767px) */
@media (max-width: 767px) {
  #main-wrapper::after {
    left: 65%;
    top: -20dvh;
    width: 150%;
    height: 140dvh;
    background: radial-gradient(
      ellipse at center,
      rgba(255, 255, 255, 0.15) 0%,
      rgba(255, 255, 255, 0.15) 20%,
      rgba(255, 255, 255, 0) 70%
    );
  }
}

/*end of gradient code */
/*===================*/
/*---------------------------------*/

.text-container {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
}
.text-container button,
.text-container a {
  pointer-events: auto;
}
</style>


<script src="https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/3.1.2/fullpage.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.3/gsap.min.js"></script>

<script>
  document.addEventListener("DOMContentLoaded", function () {
    const gradients = [
      "radial-gradient(at center center, #31D677 30%, #259B57 72%)",
      "radial-gradient(at center center, #FF4F78 40%, #D92A54 72%)",
      "radial-gradient(at center center, #FFA94D 40%, #FF7E3D 72%)",
      "radial-gradient(at center center, #A259FF 0%, #6A0DAD 72%)",
    ];
    const smallest_scale = 0.5;
    
    // set all sections initially to scale(0.7)
    gsap.set("#img-container .section", { scale: smallest_scale });

    const fullpageInstance = new fullpage("#img-container", {
      scrollingSpeed: 1000,
      autoScrolling: true,
      scrollHorizontally: true,
      navigation: false,
      
      // When section loads
      afterLoad: function (origin, destination) {
        // grow the loaded section
        gsap.to(destination.item, {
          scale: 1,
          duration: 0,
          ease: "power2.out"
        });
      },

      // Triggered when leaving a section
      onLeave: function (origin, destination, direction) {
        const toGradient = gradients[destination.index];

        // Change background (instant switch between gradients)
        gsap.to("#main-wrapper", {
          backgroundImage: toGradient,
          duration: 0.5,
          ease: "none"
        });
        
        // Shrink leaving section
        gsap.to(origin.item, {
          scale: smallest_scale,
          duration: 0.6,
          ease: "power2.out"
        });

        // Grow entering section
        gsap.to(destination.item, {
          scale: 1,
          duration: 0.6,
          ease: "power2.out"
        });
      }
    });
  });
</script>

				
			

Code for circle buttons:

				
					selector a{
display: inline-flex;
}

selector .elementor-button-content-wrapper{
align-items: center;
}

selector a:before{
content: "";
display: block;
padding-top: 100%
}
				
			

Unlock your best work yet

Launch premium websites and save hours on every project.

All Access — 12 Months

One-time payment. Access for 12 months. Instant access. 

$199

$259

All access — Lifetime

Most people choose

One-time payment. Never pay again.
Instant access.

$249

$459

Cloud9 Agency

Frequently asked questions: 

Use the “Canvas” layout setting in Elementor for pages without a header or footer

Yes, you need Elementor

Yes, you need to activate flexbox container inside Elementor settings

Download template:

Download camping version:

How to import template: