  /* Theme Colors */
  :root {
    --accent-color: #3d905d;
  }

  /* Preloader */
  .preloader-wrapper {
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 111;
    background: #fff;
  }

  .preloader-wrapper .preloader {
    margin: 20% auto 0;
    transform: translateZ(0);
  }

  .preloader:before,
  .preloader:after {
    content: '';
    position: absolute;
    top: 0;
  }

  .preloader:before,
  .preloader:after,
  .preloader {
    border-radius: 50%;
    width: 3em;
    height: 3em;
    animation: animation 1.2s infinite ease-in-out;
  }

  .preloader {
    animation-delay: -0.16s;
  }

  .preloader:before {
    left: -3.5em;
    animation-delay: -0.32s;
  }

  .preloader:after {
    left: 3.5em;
  }

  @keyframes animation {

    0%,
    80%,
    100% {
      box-shadow: 0 3em 0 -1em var(--accent-color);
    }

    40% {
      box-shadow: 0 3em 0 0 var(--accent-color);
    }
  }