<body>
  <header>
    <h1>Welcome to Our Earth Day Celebration!</h1>
  </header>
  <section>
    <article class="facts">
      <h2>Did You Know?</h2>
      <p>Earth Day was first celebrated on April 22, 1970, and now includes a wide range of events coordinated globally by EARTHDAY.ORG including 1 billion people in more than 193 countries.</p>
    </article>
    <article>
      <h2>Why Celebrate Earth Day?</h2>
      <p>Earth Day is more than just a single day — April 22. It's a day to remind us to take action in our communities and beyond, to protect the environment, restore damaged ecosystems, and live a more sustainable life.</p>
    </article>
    <article>
      <h2>How You Can Help</h2>
      <p>Join us in making a difference! Here are some ways you can contribute to preserving our planet:</p>
      <ul>
        <li>Reduce, reuse, and recycle.</li>
        <li>Volunteer for cleanups in your community.</li>
        <li>Conserve water and electricity.</li>
        <li>Plant a tree.</li>
        <li>Educate others about environmental conservation.</li>
      </ul>
    </article>
    <div class="action-call">
      <h2>Take Action Now</h2>
      <p>Join our Earth Day quiz to test your knowledge and learn more about what you can do to help our planet!</p>
      <a href="#">Start the Quiz!</a>
    </div>
  </section>
  <div class="testimonial">
    <h2>Inspiration Corner</h2>
    <p>"The Earth does not belong to us: we belong to the Earth." - Marlee Matlin</p>
    <p>This Earth Day, let's remember we are part of a larger ecosystem and our actions have a profound impact on our planet.</p>
  </div>
  <div class="events">
    <h2>Join an Event</h2>
    <p>Participate in local and global Earth Day events to take action towards a sustainable future. Check out <a href="#">events near you</a>.</p>
  </div>
  <footer>
    <p>Happy Earth Day! Together, we can make a difference.</p>
  </footer>
</body>
@import url("https://fonts.googleapis.com/css2?family=Antonio:wght@100..700&display=swap");
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  font-family: "Antonio", sans-serif;
  line-height: 1.6;
  color: #333;
  background-color: #f0f0f0;
  position: relative;
  overflow: hidden;
}
header {
  height: calc(100vh - 32px);
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  text-align: center;
  border-radius: 1.3vw;
  margin: 1rem;
  filter: contrast(1) brightness(0.8);
  -webkit-filter: contrast(1) brightness(0.8);
  background-image: url(https://static.vecteezy.com/system/resources/previews/010/377/369/large_2x/beautiful-view-on-planet-earth-from-space-at-night-with-city-light-fantasy-and-futuristic-digital-art-style-background-wallpaper-free-photo.jpg);
  background-size: 150%;
  background-repeat: no-repeat;
  background-position: 50% 20%;
}
header h1 {
  display: flex;
  align-items: center;
  color: rgba(240, 240, 240, 0);
  font-size: 5.625vw;
  line-height: 1.1;
  letter-spacing: -5px;
  font-weight: 700;
  width: 30%;
  height: calc(100% - 50px);
  position: relative;
  padding-block: 3rem;
  padding-inline: 1rem;
  text-transform: uppercase;
  z-index: 999;
  background: rgba(0, 100, 0, 0.3);
  -webkit-mask-clip: text;
  -webkit-mask-image: -webkit-linear-gradient(
    top,
    rgba(0, 0, 0, 1),
    rgba(0, 0, 0, 1)
  );
  backdrop-filter: blur(15px) saturate(2) brightness(0.7);
  -webkit-backdrop-filter: blur(15px) saturate(2) brightness(0.7);
  mix-blend-mode: luminosity;
  -webkit-text-stroke-width: 0.8px;
  -webkit-text-stroke-color: rgba(0, 255, 0, 1);
  animation: revealTitle 2s ease forwards;
}
article,
.testimonial,
.events,
.action-call {
  scale: 0;
  padding: 1.25vw;
  animation: reveal 1s ease forwards;
}
article h2,
.testimonial h2,
.events h2,
.action-call h2 {
  font-size: 1.3542vw;
  font-weight: 700;
  color: rgba(240, 240, 240, 1);
  margin-bottom: 1.25vw;
  text-decoration: underline;
}
article p,
.testimonial p,
.events p,
.action-call p,
article ul {
  color: #fff;
  font-weight: 100;
  font-size: 0.833vw;
}
article ul {
  margin-left: calc(1.25vw);
}
section {
  width: 40%;
  height: calc(100vh - 6rem);
  position: absolute;
  top: 2rem;
  right: calc(25% + 3rem + 0.833vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  gap: 0.833vw;
  grid-template-areas:
    "left1 right1"
    "left2 right1"
    "left2 right2"
    "left2 right2";
}
section article {
  position: relative;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 7px;
  outline: 1px solid rgba(240, 240, 240, 0.3);
  z-index: 10;
}
section article::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  border-radius: 7px;
  backdrop-filter: blur(10px) saturate(2) brightness(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(2) brightness(1.1);
  mask: url(https://cdn-icons-png.flaticon.com/512/14266/14266085.png),
    linear-gradient(
      45deg,
      #fff calc(100% - 120px),
      transparent calc(100% - 70px)
    ),
    radial-gradient(transparent 1px, #444cf7 2px);
  mask-size: 60px 60px, 100% 100%, 12px 12px;
  mask-repeat: no-repeat, no-repeat, repeat;
  mask-position: calc(100% - 1px) 10px, center, center;
  mask-composite: exclude, intersect, add;
}
section article:first-child {
  grid-area: left1;
}
section article:nth-child(2) {
  grid-area: right1;
  animation-delay: 0.5s;
}
section article:nth-child(2)::after {
  mask: url(https://cdn-icons-png.flaticon.com/512/2824/2824549.png),
    linear-gradient(
      45deg,
      #fff calc(100% - 120px),
      transparent calc(100% - 70px)
    ),
    radial-gradient(transparent 1px, #444cf7 2px);
  mask-size: 60px 60px, 100% 100%, 12px 12px;
  mask-repeat: no-repeat, no-repeat, repeat;
  mask-position: calc(100% - 10px) 10px, center, center;
  mask-composite: exclude, intersect, add;
}
section article:nth-child(3) {
  grid-area: left2;
  animation-delay: 1s;
}
section article:nth-child(3)::after {
  mask: url(https://cdn-icons-png.flaticon.com/512/3166/3166003.png),
    linear-gradient(
      45deg,
      #fff calc(100% - 120px),
      transparent calc(100% - 70px)
    ),
    radial-gradient(transparent 1px, #444cf7 2px);
  mask-size: 60px 60px, 100% 100%, 12px 12px;
  mask-repeat: no-repeat, no-repeat, repeat;
  mask-position: calc(100% - 10px) 10px, center, center;
  mask-composite: exclude, intersect, add;
}
.action-call {
  background-color: rgba(52, 199, 89, 0.1);
  text-align: center;
  border-radius: 7px;
  outline: 1px solid rgba(52, 199, 89, 0.3);
  position: relative;
  grid-area: right2;
  animation-delay: 1.5s;
}
.action-call::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  border-radius: 7px;
  backdrop-filter: blur(10px) saturate(2) brightness(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(2) brightness(1.1);
  mask: url(https://cdn-icons-png.flaticon.com/512/2602/2602340.png),
    linear-gradient(
      45deg,
      #fff calc(100% - 120px),
      transparent calc(100% - 70px)
    ),
    radial-gradient(transparent 1px, #444cf7 2px);
  mask-size: 60px 60px, 100% 100%, 12px 12px;
  mask-repeat: no-repeat, no-repeat, repeat;
  mask-position: calc(100% - 9px) 10px, center, center;
  mask-composite: exclude, intersect, add;
}
.action-call p {
  margin-bottom: 1.5rem;
}
.action-call a {
  background-color: #fff;
  color: #34c759;
  border: none;
  padding: 10px 30px;
  font-size: 0.9vw;
  cursor: pointer;
  display: block;
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  border-radius: 3px;
  text-decoration: none;
  transition: all 0.5s;
}
.action-call a:hover {
  background-color: #34c759;
  color: #f0f0f0;
}
.testimonial {
  width: 25%;
  min-height: calc(100% - 4rem - 0.833vw - 10vw);
  position: absolute;
  top: calc(2rem + 10vw + 0.833vw);
  right: 3rem;
  background: rgba(240, 240, 240, 0.8);
  outline: 1px solid rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px) saturate(2) brightness(1.5);
  -webkit-backdrop-filter: blur(10px) saturate(2) brightness(1.5);
  border-radius: 7px;
  animation-delay: 2s;
}
.testimonial h2 {
  color: #333;
}
.testimonial p:nth-child(2) {
  color: black;
  font-size: 3.125vw;
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  letter-spacing: -3px;
}
.testimonial p:nth-child(3) {
  color: #333;
  position: absolute;
  letter-spacing: -0.5px;
  font-weight: 300;
  bottom: 1.5rem;
  font-size: 0.75vw;
  line-height: 1.2;
  text-align: center;
  right: 1.5rem;
  left: 1.5rem;
}
.events {
  width: 25%;
  min-height: 10vw;
  top: 2rem;
  right: 3rem;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 7px;
  outline: 1px solid rgba(240, 240, 240, 0.3);
  animation-delay: 2.5s;
}
.events::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  border-radius: 7px;
  backdrop-filter: blur(10px) saturate(2) brightness(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(2) brightness(1.1);
  mask: url(https://cdn-icons-png.flaticon.com/512/3857/3857838.png),
    linear-gradient(
      45deg,
      #fff calc(100% - 120px),
      transparent calc(100% - 70px)
    ),
    radial-gradient(transparent 1px, #444cf7 2px);
  mask-size: 60px 60px, 100% 100%, 12px 12px;
  mask-repeat: no-repeat, no-repeat, repeat;
  mask-position: calc(100% - 7px) 5px, center, center;
  mask-composite: exclude, intersect, add;
}
.events a {
  color: rgba(124, 252, 0, 1);
  transition: color 0.5s;
}
.events a:hover {
  color: white;
}
footer {
  color: #333;
  background-color: #f0f0f0;
  padding: 10px;
  font-size: 0.85vw;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: calc(100vh - 50px - 2rem);
  left: 1rem;
  border-top-right-radius: 1.3vw;
  width: calc(30% - 1rem);
}
footer::before,
footer::after {
  content: "";
  width: 1.3vw;
  height: 1.3vw;
  position: absolute;
  right: -1.3vw;
  bottom: 0;
  background-color: #f0f0f0;
  mask-image: radial-gradient(circle at 100% 0%, transparent 1.26vw, red 1.3vw);
  mask-position: bottom left;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}
footer::after {
  left: 0px;
  top: -1.3vw;
}

@keyframes reveal {
  from {
    scale: 0.5;
  }
  to {
    scale: 1;
  }
}

@keyframes revealTitle {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}

@media screen and (max-width: 992px) {
  header {
    height: calc(100vh - 2rem);
    justify-content: center;
    background-size: 700%;
  }
  header h1 {
    height: 50%;
    font-size: 15vw;
    width: 90%;
  }
  article h2,
  .testimonial h2,
  .events h2,
  .action-call h2 {
    font-size: 1.5rem;
  }
  article p,
  .testimonial p,
  .events p,
  .action-call p,
  article ul {
    font-size: 0.8rem;
  }
  section {
    width: calc(50% - 2rem - 0.833vw);
    height: calc(100% - 1rem - 50px - 50%);
    top: 50%;
    right: calc(50% + 0.833vw);
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas:
      "left1"
      "right1"
      "left2"
      "right2";
  }

  .events {
    width: calc(50% - 2rem);
    height: 130px;
    top: 50%;
    right: 2rem;
  }
  .testimonial {
    width: calc(50% - 2rem);
    min-height: calc(100% - 50% - 130px - 1rem - 0.883vw - 50px);
    top: calc(50% + 130px + 0.833vw);
    right: 2rem;
  }
  .testimonial p:nth-child(2) {
    font-size: 5vw;
  }
  .testimonial p:nth-child(3) {
    font-size: 0.75rem;
  }

  footer {
    width: calc(100% - 8rem);
    border-top-left-radius: 1.3vw;
    left: 4rem;
  }

  footer::after {
    left: -1.3vw;
    top: auto;
    mask-image: radial-gradient(circle at 0 0%, transparent 1.2vw, red 1.3vw);
  }
}
const header = document.querySelector("header");

const backgroundImageUrls = [
  "https://i.imgur.com/IwO6Xmp.jpeg",
  "https://static.vecteezy.com/system/resources/previews/010/377/369/large_2x/beautiful-view-on-planet-earth-from-space-at-night-with-city-light-fantasy-and-futuristic-digital-art-style-background-wallpaper-free-photo.jpg",
  "https://static.vecteezy.com/system/resources/previews/010/377/431/non_2x/beautiful-view-on-planet-earth-from-space-at-night-with-city-light-fantasy-and-futuristic-digital-art-style-background-wallpaper-free-photo.jpg",
  "https://i.imgur.com/eBh7MiM.jpeg"
];

const changeInterval = 5000;

header.style.backgroundImage = `url(${backgroundImageUrls[0]})`;
header.style.transition = "background-image 1s";

setInterval(() => {
  const currentIndex = backgroundImageUrls.indexOf(
    header.style.backgroundImage.split('"')[1]
  );

  const newIndex = (currentIndex + 1) % backgroundImageUrls.length;

  header.style.backgroundImage = `url(${backgroundImageUrls[newIndex]})`;
}, changeInterval);

document.addEventListener("mousemove", function (e) {
  const mouseX = e.clientX;
  const mouseY = e.clientY;
  const centerX = window.innerWidth / 2;
  const centerY = window.innerHeight / 2;
  const deltaX = (mouseX - centerX) / centerX;
  const deltaY = (mouseY - centerY) / centerY;
  const backgroundImagePositionX = 50 + deltaX * 2;
  const backgroundImagePositionY = 40 + deltaY * 2;
  header.style.backgroundPosition = `${backgroundImagePositionX}% ${backgroundImagePositionY}%`;
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js