<main class="overflow-hidden vh-100 flex items-center justify-center" style="background-color: #2C2D3D;">

  <svg class="w-100 mw7 center" viewBox="0 0 800 600" fill="#fff">

    <defs>
      <clipPath id="left-slice-mask">
        <path
          d="M 441.6 405 A 113 113 0 1 1 441.6 195 Z" fill="#fff" />
      </clipPath>
      <clipPath id="right-slice-mask">
        <path
          d="M 441.6 195  A 113 113 0 0 1 441.6 405 Z" fill="#fff" />
      </clipPath>
    </defs>

    <g stroke="#fff" stroke-width="3" transform="translate(-12 0)">
      <rect class="js-left-fill"
        x="286" y="187" width="154" height="226" stroke="none" fill="#Eeb65a" 
        clip-path="url(#left-slice-mask)" />

      <rect class="js-left-fill"
        x="286" y="187" width="156" height="226" fill="none" stroke-dasharray="10,10" />
      
      <path class="js-left-slice"
        d="M 441.6 405 A 113 113 0 1 1 441.6 195 Z" fill="none"  />
    </g>
    
    <g stroke="#fff" stroke-width="3" transform="translate(12 0)">
      <rect class="js-right-fill"
        x="441.6" y="187" width="72" height="226" fill="none" stroke-dasharray="10,10"  />

      <rect class="js-right-fill"
        x="441.6" y="187" width="72" height="226" stroke="none" fill="#Eeb65a" 
        clip-path="url(#right-slice-mask)" />

      <path class="js-right-slice"
        d="M 441.6 195  A 113 113 0 0 1 441.6 405 Z" fill="none" />

    </g>
  </svg>
</main>
.squiggle {
  -webkit-animation: squigglevision 0.3s infinite;
  animation: squigglevision 0.3s infinite;
}

/**
 * from: https://tympanus.net/codrops/2016/03/21/animated-animals-css-svg/
 */
@keyframes squigglevision {
  0 {
    filter: url("#squiggly-0");
  }
  25% {
    filter: url("#squiggly-1");
  }
  50% {
    filter: url("#squiggly-2");
  }
  75% {
    filter: url("#squiggly-3");
  }
  100% {
    filter: url("#squiggly-4");
  }
}
const EL = {
  LEFT: '.js-left-slice',
  RIGHT: '.js-right-slice',
  LEFT_FILL: '.js-left-fill',
  RIGHT_FILL: '.js-right-fill',
  BURST: '#js-burst',
};

anime({
  easing: 'easeInOutSine',
  targets: EL.LEFT_FILL,
  x: [
    {
      value: '-=154',
      duration: 1200,
      delay: 1000,
    },
    {
      value: '+=154',
      duration: 1200,
      delay: 1000,
    },
  ],
  loop: true,
});

anime({
  easing: 'easeInOutSine',
  targets: EL.RIGHT_FILL,
  x: [
    {
      value: '+=72',
      duration: 1200,
      delay: 1000,
    },
    {
      value: '-=72',
      duration: 1200,
      delay: 1000,
    },
  ],
  loop: true,
});
View Compiled

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/tachyons/4.6.2/tachyons.min.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/animejs/2.0.0/anime.min.js