<style>
  css-doodle {
    --rule: ( :doodle {
      position: absolute;
      width: 100%;
      @grid: 10 / 101% 100vh;
      overflow: hidden;
    }
    animation: bounce linear @r(7s, 15s) @r(-1s, -5s) infinite;
    opacity: @r(0.3, 1);
    @place-cell: @r(100%) @r(100%);
    @random(.3) {
    :after {
      content: '🍭';
      position: absolute;
      font-size: @r(25px, 35px);
      transform: rotate(@r(360deg));
    }
    }
    @random(.2) {
      :after {
        content: '🍫';
        position: absolute;
        @place-cell: @r(100%) @r(100%);
        font-size: @r(15px, 25px);
        z-index: @p(1, 2);
        transform: rotate(@r(360deg));
      }
    }
    @random(.2) {
      :before {
        content: '🧁';
        position: absolute;
        @place-cell: @r(100%) @r(100%);
        font-size: @r(15px, 25px);
        z-index: @p(1, 2);
        transform: rotate(@r(360deg));
      }
    }
    @random(.2) {
      :before {
        content: '🍪';
        position: absolute;
        @place-cell: @r(100%) @r(100%);
        font-size: @r(15px, 25px);
        z-index: @p(1, 2);
        transform: rotate(@r(360deg));
      }
    }

    @keyframes bounce {
      0% {
        transform: translateY(@r(-101vh, -110vh));
      }
      100% {
        transform: translateY(@r(101vh, 110vh));
      }
    }
    );
  }
</style>

<css-doodle use="var(--rule)"></css-doodle>

<div class="textContainer">
  Candyland
</div>

<div class="loaderWrapper">
  <div class="loader"></div>
</div>
<a class="author" href="https://itsmenatalie.com" target="_blank">Created by ItsMeNatalie</a>
body {
  position: relative;
  margin: 0;
  padding: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: white;
  background-color: white;
  background: linear-gradient(to bottom, #e6f8f9 20%, #b1e8ed 100%);
  overflow: hidden;

  .textContainer {
    background-size: 30px 30px;
    font-family: "Titan One", cursive;
    font-size: 100px;
    color: #d33144;
    -webkit-text-stroke: 3px #ffffee;
    z-index: 5;
    padding-bottom: 40px;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    animation: textBounce 12s infinite 5s cubic-bezier(0, 0.03, 0.83, 1.41) both;
  }

  .loaderWrapper {
    border-radius: 50px;
    width: 400px;
    border: 5px solid #ffffee;
    z-index: 5;
    overflow: hidden;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3);

    .loader {
      height: 60px;
      width: 800px;
      background-image: linear-gradient(
        -45deg,
        #d33144 25%,
        #ffffee 25%,
        #ffffee 50%,
        #d33144 50%,
        #d33144 75%,
        #ffffee 75%,
        #ffffee 100%
      );
      background-size: 55px 55px;
      box-shadow: 0px 0px 10px rgba(255, 50, 0, 0.8) inset;
      animation: load 3s linear -0.1s infinite;
    }
  }
  
  a {
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    position: absolute;
    left: calc(50% - 96px);
    bottom: 0;
    font-style: italic;
    font-size: 12px;
    color: #212121;
    background-color: white;
    padding: 10px 20px;
    border-radius: 5px 5px 0 0;
    box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.25);
    z-index: 10;
  }
}

@keyframes load {
  0% {
    transform: translateX(-200px);
  }
  100% {
    transform: translateX(-35px);
  }
}

@keyframes textBounce {
  from, 10%{
		transform: rotate(0deg);
	}
  1%, 3%, 5%, 7%, 9% {
    transform: rotate(10deg);
  }
  2%, 4%, 6%, 8% {
    transform: rotate(-10deg);
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://unpkg.com/css-doodle@0.7.3/css-doodle.min.js