<form class='signup'>
    <input class='email' placeholder='email' type='email' maxlength="20">
    <input type='submit' value='Subscribe'>
  </form>
<div class="wrap">
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 570.9 139.6">
  
  <defs>
    <filter id="squiggly-0">
<feTurbulence id="turbulence" baseFrequency="0.02" numOctaves="3" result="noise" seed="0"/>
<feDisplacementMap id="displacement" in="SourceGraphic" in2="noise" scale="2" />
</filter>
<filter id="squiggly-1">
<feTurbulence id="turbulence" baseFrequency="0.02" numOctaves="3" result="noise" seed="1"/>
<feDisplacementMap in="SourceGraphic" in2="noise" scale="3" />
</filter>
    
<filter id="squiggly-2">
<feTurbulence id="turbulence" baseFrequency="0.02" numOctaves="3" result="noise" seed="2"/>
<feDisplacementMap in="SourceGraphic" in2="noise" scale="2" />
</filter>
<filter id="squiggly-3">
<feTurbulence id="turbulence" baseFrequency="0.02" numOctaves="3" result="noise" seed="3"/>
<feDisplacementMap in="SourceGraphic" in2="noise" scale="3" />
</filter>
    
<filter id="squiggly-4">
<feTurbulence id="turbulence" baseFrequency="0.02" numOctaves="3" result="noise" seed="4"/>
<feDisplacementMap in="SourceGraphic" in2="noise" scale="1" />
</filter>
    <linearGradient id="Gradient1" gradientTransform="rotate(90)">
      <stop offset="0%"  stop-color="rgba(166,166,164,0.0001)" />
      <stop offset="5%"  stop-color="rgba(166,166,164,0.0001)" />
      <stop offset="30%" stop-color="rgba(166,166,164,1)" />
      <stop offset="95%" stop-color="rgba(166,166,164,1)" />
      <stop offset="100%" stop-color="rgba(119,119,119,0.5)" />
    </linearGradient>
    <linearGradient id="Gradient2" gradientTransform="rotate(0)">
      <stop offset="0%"  stop-color="rgba(255,255,255,1)" />
      <stop offset="0.5%"  stop-color="rgba(255,255,255,1)" />
      <stop offset="0.5%" stop-color="rgba(255,255,255,0.00001)" />
      <stop offset="95%" stop-color="rgba(255,255,255,0.00001)" />
      <stop offset="100%" stop-color="rgba(255,255,255,0.00001)" />
    </linearGradient>
    <linearGradient id="Gradient3" gradientTransform="rotate(0)">
      <stop offset="0%"  stop-color="rgba(173,216,230,1)" />
      <stop offset="4.5%"  stop-color="rgba(173,216,230,1)" />
      <stop offset="4.5%" stop-color="rgba(173,216,230,0.00001)" />
      <stop offset="95%" stop-color="rgba(173,216,230,0.00001)" />
      <stop offset="100%" stop-color="rgba(173,216,230,0.00001)" />
    </linearGradient>
    <linearGradient id="Gradient4" gradientTransform="rotate(90)">
      <stop offset="0%"  stop-color="#fff" />
      <stop offset="2.5%"  stop-color="#fff" />
      <stop offset="5%" stop-color="#222" />
      <stop offset="95%" stop-color="#222" />
      <stop offset="100%" stop-color="#222" />
    </linearGradient>
    <pattern id="pattern"
           width="1" height="10"
           patternUnits="userSpaceOnUse"
           patternTransform="rotate(-45 50 50)">
    <line stroke="#fff" stroke-width="10px" y2="10"/>
    <line stroke="#222" stroke-width="0.5px" y2="10"/>
    
  </pattern>

    
  </defs>

  
  <g id="Layer_2" data-name="Layer 2"><path class="cls-1" d="M10.7,123h1.9a2,2,0,0,1,2,2v9.7a2,2,0,0,1-2,2H10.7a2,2,0,0,1-2-2V125A1.94,1.94,0,0,1,10.7,123Z" transform="translate(0 0)"/><path class="cls-1" d="M62.7,123h1.9a2,2,0,0,1,2,2v9.7a2,2,0,0,1-2,2H62.7a2,2,0,0,1-2-2V125A1.94,1.94,0,0,1,62.7,123Z" transform="translate(0 0)"/><path id="track-wide" class="cls-1" d="M497.4,123.6c-25.9,0-39.5-6.7-55.4-14.5-4.7-2.3-9.5-4.7-15-7-21.3,11.4-40,16.8-58.8,16.8-31.4,0-165.6.5-242.9.8H106.1l-25.1.1H72.7c-10.9.1-20.2.1-25.8.1a3.5,3.5,0,0,1,0-7l34.1-.1,25.1-.1h.1l18.7-.1c7.4-1.1,18.1-21.1,27.6-38.8,14.9-27.7,31.8-59.1,52.7-59.8,20.6-.6,28,22.6,34.5,43,5.2,16.4,10.2,32,20.2,32,14.6-.1,24.7-12.1,32.9-21.7,6.4-7.6,11.5-13.6,17.8-13.6,7.5,0,17,10,28,21.5,7.9,8.2,17.6,18.5,22.2,19a67.92,67.92,0,0,0,7.8.4A93.54,93.54,0,0,0,396.8,90c-25.5-11.1-48-26.7-41.6-54.4,4.5-19.4,23-32,47.1-32,11.7,0,23,3.1,31.9,8.8,15.6,10,24.1,22.4,24.1,34.7-.1,12-8,23-23.5,32.7A162.12,162.12,0,0,1,416,90l2.5.9c2.7,1,5.4,2.1,8.2,3.2,8.4-4.7,16.3-9.8,24-14.7,19-12.3,35.5-22.8,51.8-22.8a34.54,34.54,0,0,1,12.4,2.3c20.4,7.9,32.4,23.7,30,39.3-2.3,14.4-16.2,23.8-37.2,25C504,123.5,500.6,123.6,497.4,123.6ZM434.6,97.8c3.7,1.7,7.1,3.4,10.5,5,15.7,7.7,28.1,13.8,52.3,13.8,3.1,0,6.4-.1,9.8-.3,17.5-1,29-8.2,30.7-19.1,1.9-12.1-8.6-25.1-25.6-31.7a28,28,0,0,0-9.9-1.8c-14.2,0-29.9,10.1-48,21.7C448,89.5,441.5,93.7,434.6,97.8ZM206,21h-.6c-16.9.5-33.4,31.4-46.7,56.2-8,15-15,27.9-21.9,35.4,78.5-.3,201.5-.8,231.4-.8,16.1,0,32.2-4.2,50.3-13.3l-2.5-.9c-3.5-1.3-6.6-2.5-9.5-3.6-13.1,4.9-25.9,7.4-37.9,7.4a79.35,79.35,0,0,1-8.5-.4c-7.1-.8-16.1-10.2-26.5-21.1-7.8-8.2-18.4-19.3-23-19.3-3.1,0-7.8,5.7-12.4,11.1-8.6,10.2-20.4,24.2-38.1,24.2h0c-15.2,0-20.9-17.9-26.9-36.8C227.1,40.4,220.9,21,206,21ZM402.2,10.6c-15.7,0-35.7,7-40.2,26.6-5.8,25.1,17.8,38.6,44.6,49.3A156.34,156.34,0,0,0,431,73.9c13.3-8.3,20.1-17.4,20.2-26.8.1-9.9-7.3-20.1-20.9-28.8C422.6,13.4,412.6,10.6,402.2,10.6Z" transform="translate(0 0)"/><path id="track-narrow" class="cls-1" d="M500.4,114.3c-26.1,0-39.2-6.4-55.9-14.6-5.5-2.7-11.2-5.5-17.8-8.3-22.2,12.5-40.3,18.1-58.6,18.1H368c-32.4,0-169.3.5-248.1.8H100.1l-25.1.1H66.3c-11.2.1-20.6.1-26.3.1h0a1,1,0,0,1,0-2l35.1-.1c8,0,16.6-.1,25.1-.1h.1l19.6-.1c8.8-1.1,19.2-20.5,30.2-41.1,14.9-27.8,31.8-59.3,51.7-60h.7c18.6,0,27.5,19.1,34.1,39.9,5.6,17.7,8.9,36.8,21,36.8h0c16.1-.1,26.2-12.8,34.3-23C297.5,53.7,302,48,307.3,48c6.6,0,17,11.2,26.5,22.1,8.4,9.7,15.6,18.7,21.2,19.3q3,.3,6,.3c5.9,0,21.4-.8,41.5-7.4-8.4-3-22.9-8.7-30.2-10.8-4.9-1.4-3.1,1.3-6.9-1.4-2.9-2-5.8-7-7.7-9.9C353.6,54,351.8,42.4,354,33c5.2-22.7,30.3-33,51.5-33,11.2,0,22.7,2.5,30.5,7.6,15.8,10.1,23.1,20.4,23,31.1,0,24.6-7.4,20.7-21.7,29.6a169.74,169.74,0,0,1-28.7,14.1l.4.2c3.2,1.1,6.4,2.3,9.6,3.5,2.7,1,5.3,2,8,3.2,7.9-4.5,15.5-9.4,22.9-14.1,19.4-12.4,37.8-24.2,55-24.2A35.4,35.4,0,0,1,517,53.2c21.9,8.1,28.2,22,28.1,37.6-.1,8.6-.5,9.2-1.8,11.6-1.8,3.5-5.3,1.7-9.2,4.5-5.5,3.9-13.3,6.8-23.8,7.3C506.9,114.2,503.6,114.3,500.4,114.3ZM429,90.1c6.1,2.6,11.4,5.2,16.5,7.7,16.4,8.1,29.4,14.4,55,14.4,3.1,0,6.4-.1,9.8-.3,13-.7,23.1-5.3,28.5-12.5,2.2-2.9,3.9-5.5,4.2-9.3,1-13.4-5.8-27.4-26.7-35.2a33.73,33.73,0,0,0-11.8-2.1c-16.6,0-34.7,11.6-53.9,23.8C443.7,81.2,436.5,85.8,429,90.1ZM202.4,9.2h-.6c-18.7.6-35.3,31.5-49.9,58.9-9.8,18.3-18.5,34.5-26.8,40.1,79.5-.3,211.3-.8,243-.8h.1c17.5,0,34.9-5.3,56.2-17-2.2-.9-4.3-1.7-6.5-2.5-3.2-1.2-6.4-2.3-9.6-3.5l-2.7-1c-21.5,7.6-38.3,8.4-44.5,8.4-2.1,0-4.1-.1-6.2-.3-6.4-.7-13.5-10-22.5-20.5-8.8-10-19.3-20.9-25-20.9-4.3,0-8.8,5.6-14,12.2C285,72.8,274.5,85.9,257.5,86h0c-13.7,0-16.5-17.8-22.3-36.3C228.8,29.6,219.5,9.2,202.4,9.2ZM405.5,2.1C385.1,2,361,11.9,356,33.5c-5.9,25.5,16.8,35.9,49.6,47.8a162.59,162.59,0,0,0,30.6-14.7C449.9,58,456.9,49,457,39.6c.1-10-5.8-20-21-29.7-7.6-4.8-19.7-7.9-30.5-7.8Z" transform="translate(0 0)"/><rect class="cls-1" x="210.8" y="16.6" width="2.1" height="118.9"/><rect class="cls-1" x="227.8" y="34.9" width="2.1" height="100.6"/><rect class="cls-1" x="244.8" y="84.3" width="2.1" height="51.1"/><rect class="cls-1" x="261.8" y="90.4" width="2.1" height="45.1"/><rect class="cls-1" x="278.8" y="85.2" width="2.1" height="50.3"/><rect class="cls-1" x="295.8" y="70.2" width="2.1" height="65.3"/><rect class="cls-1" x="312.8" y="58.7" width="2.1" height="76.8"/><rect class="cls-1" x="329.8" y="70.2" width="2.1" height="65.3"/><rect class="cls-1" x="346.8" y="86.2" width="2.1" height="49.3" transform="translate(-0.33 1.03) rotate(-0.17)"/><rect class="cls-1" x="363.8" y="24.1" width="2.1" height="111.3"/><rect class="cls-1" x="380.8" y="12.4" width="2.1" height="123.1"/><rect class="cls-1" x="397.8" y="7.6" width="2.1" height="127.9"/><rect class="cls-1" x="414.8" y="7.6" width="2.1" height="127.9"/><rect class="cls-1" x="431.8" y="16.6" width="2.1" height="118.9"/><rect class="cls-1" x="448.8" y="30" width="2.1" height="105.4"/><rect class="cls-1" x="465.8" y="73.2" width="2.1" height="62.3"/><rect class="cls-1" x="482.8" y="62.5" width="2.1" height="73"/><rect class="cls-1" x="499.8" y="62.5" width="2.1" height="73"/><rect class="cls-1" x="516.8" y="62.5" width="2.1" height="73"/><rect class="cls-1" x="533.8" y="78.7" width="2.1" height="56.8"/><rect class="cls-1" x="195.1" y="20.9" width="2.1" height="115.6"/><rect class="cls-1" x="179.6" y="34.9" width="2.1" height="102.3"/><rect class="cls-1" x="163.6" y="59.7" width="2.1" height="78.4"/><rect class="cls-1" x="147.6" y="88.4" width="2.1" height="50.5"/><rect class="cls-1" x="131.6" y="116" width="2.1" height="23.4"/><rect class="cls-1" x="115.6" y="116.2" width="2.1" height="23.4"/><rect class="cls-1" x="99.6" y="115.9" width="2.1" height="23.4"/><rect class="cls-1" x="83.6" y="116.1" width="2.1" height="23.4"/></g></g><path id="coaster-track" class="cls-2" d="M43.4,116c20.25.2,40.42-.26,60.07,0,20.48.27,40.95-.19,61.43,0,40.58.38,81.17.21,121.75,0,22.55-.12,45.47,1.41,68.08.88,4.11-.1,8.21-.26,12.29-.52A148.35,148.35,0,0,0,438.18,93c13.35-8.66,25.37-19.54,39.81-26.23,8.25-3.82,17.42-6.22,26.43-5.07,10.12,1.3,19.27,7,26.53,14.13,5,5,9.49,11.19,9.62,18.25.17,10-8.39,18.08-17.47,22.23-14.61,6.66-31.59,6.49-47.18,2.69-18.19-4.44-34.59-13.76-51.73-20.86-16.53-6.84-33.86-12.72-48.43-23.38C363.57,65.83,354.13,51,356.93,36.17c2.05-10.81,10.41-19.76,20.45-24.25S398.9,7,409.74,8.82c22.89,3.84,56.48,24.63,39.51,52-6.77,10.92-18.63,16.81-29.8,22.91-12.18,6.67-25.67,10.64-39.29,13.34-6,1.19-12.27,2.15-18.3.92-9.54-2-17.17-9.06-23.37-16.57-6.53-7.93-14.41-23.35-26.18-23.34-4.87,0-9.39,3.28-12.56,6.78-12.38,13.66-30.26,40.06-50.9,22.51-9.2-7.82-9.52-21.58-12.79-32.43-3.57-11.78-8.62-23.58-17.25-32.57-11.16-11.62-23-5.12-32.26,5C165.63,50.11,157.2,75.19,141.7,102c-2.39,4.14-5.88,8.48-9.91,11s-17.87,2.93-22.55,3.21c-11.4.7-22.83-.15-34.25-.21-5.63,0-22.16.24-27.78,0" transform="translate(0 0)"/>
  <path id="coaster-track2" class="cls-2" d="M43.4,116c20.25.2,40.42-.26,60.07,0,20.48.27,40.95-.19,61.43,0,40.58.38,81.17.21,121.75,0,22.55-.12,45.47,1.41,68.08.88,4.11-.1,8.21-.26,12.29-.52A148.35,148.35,0,0,0,438.18,93c13.35-8.66,25.37-19.54,39.81-26.23,8.25-3.82,17.42-6.22,26.43-5.07,10.12,1.3,19.27,7,26.53,14.13,5,5,9.49,11.19,9.62,18.25.17,10-8.39,18.08-17.47,22.23-14.61,6.66-31.59,6.49-47.18,2.69-18.19-4.44-34.59-13.76-51.73-20.86-16.53-6.84-33.86-12.72-48.43-23.38C363.57,65.83,354.13,51,356.93,36.17c2.05-10.81,10.41-19.76,20.45-24.25S398.9,7,409.74,8.82c22.89,3.84,56.48,24.63,39.51,52-6.77,10.92-18.63,16.81-29.8,22.91-12.18,6.67-25.67,10.64-39.29,13.34-6,1.19-12.27,2.15-18.3.92-9.54-2-17.17-9.06-23.37-16.57-6.53-7.93-14.41-23.35-26.18-23.34-4.87,0-9.39,3.28-12.56,6.78-12.38,13.66-30.26,40.06-50.9,22.51-9.2-7.82-9.52-21.58-12.79-32.43-3.57-11.78-8.62-23.58-17.25-32.57-11.16-11.62-23-5.12-32.26,5C165.63,50.11,157.2,75.19,141.7,102c-2.39,4.14-5.88,8.48-9.91,11s-17.87,2.93-22.55,3.21c-11.4.7-22.83-.15-34.25-.21-5.63,0-22.16.24-27.78,0" transform="translate(0 0)"/>
  <path id="coaster-track3" class="cls-2" d="M43.4,116c20.25.2,40.42-.26,60.07,0,20.48.27,40.95-.19,61.43,0,40.58.38,81.17.21,121.75,0,22.55-.12,45.47,1.41,68.08.88,4.11-.1,8.21-.26,12.29-.52A148.35,148.35,0,0,0,438.18,93c13.35-8.66,25.37-19.54,39.81-26.23,8.25-3.82,17.42-6.22,26.43-5.07,10.12,1.3,19.27,7,26.53,14.13,5,5,9.49,11.19,9.62,18.25.17,10-8.39,18.08-17.47,22.23-14.61,6.66-31.59,6.49-47.18,2.69-18.19-4.44-34.59-13.76-51.73-20.86-16.53-6.84-33.86-12.72-48.43-23.38C363.57,65.83,354.13,51,356.93,36.17c2.05-10.81,10.41-19.76,20.45-24.25S398.9,7,409.74,8.82c22.89,3.84,56.48,24.63,39.51,52-6.77,10.92-18.63,16.81-29.8,22.91-12.18,6.67-25.67,10.64-39.29,13.34-6,1.19-12.27,2.15-18.3.92-9.54-2-17.17-9.06-23.37-16.57-6.53-7.93-14.41-23.35-26.18-23.34-4.87,0-9.39,3.28-12.56,6.78-12.38,13.66-30.26,40.06-50.9,22.51-9.2-7.82-9.52-21.58-12.79-32.43-3.57-11.78-8.62-23.58-17.25-32.57-11.16-11.62-23-5.12-32.26,5C165.63,50.11,157.2,75.19,141.7,102c-2.39,4.14-5.88,8.48-9.91,11s-17.87,2.93-22.55,3.21c-11.4.7-22.83-.15-34.25-.21-5.63,0-22.16.24-27.78,0" transform="translate(-1.25 0)"/>
  <foreignobject class="node" x="0" y="0" width="5000" height="1222.63">

      </foreignobject>
  </svg>
</div>

<div class="abyss"></div>
<div class="abyss"></div>
body{
  display:grid;
  place-items:center;
  height:100vh;
  width:100vw;
  overflow:hidden;
  font-family:'Roboto Mono';
  background:#fff;
      animation: squiggly-anim 0.4s infinite;
    @keyframes squiggly-anim {
          0% {
            -webkit-filter: url('#squiggly-0');
                    filter: url('#squiggly-0');
          }
          25% {
            -webkit-filter: url('#squiggly-1');
                    filter: url('#squiggly-1');
          }
          50% {
            -webkit-filter: url('#squiggly-2');
          }
          75% {
            -webkit-filter: url('#squiggly-3');
                    filter: url('#squiggly-3');
          }
          100% {
            -webkit-filter: url('#squiggly-4');
                    filter: url('#squiggly-4');
          }
        }
  .abyss{
    width:80px;
    height:200px;
    position:absolute;
    top:calc(50% - 30px);
    left:calc(50% - 500px);
    border-radius:100%;
    z-index:9999;
    transform:translateX(-50vw);
    transition:1s ease-in-out;
    transition-delay:0s;
    @media (max-width:1000px){
      left:50%;
      transform:translateX(-100vw);
    }
    &:nth-of-type(2){
      z-index:-1;
      &:after{
        content:'';
        position:absolute;
        width:100%;
        height:100%;
        top:0;
        right:17.5px;
        border-radius:100%;
        background:#222;
      }
    }
    &:before{
      content:'';
      position:absolute;
      width:100%;
      height:300px;
      top:-50px;
      right:50%;
      background:linear-gradient(to bottom, transparent 50px, #222 50px, #222 51px, #fff 51px, #fff 249px, #222 249px, #222 250px, transparent 250px);
      z-index:-1;
      mask:radial-gradient(ellipse at right, transparent 0%, transparent 50%, #fff 50%);
    }
    &:after{
      content:'';
      position:absolute;
      width:100vw;
      height:300px;
      top:-50px;
      right:150%;
      background:linear-gradient(to bottom, transparent 50px, #222 50px, #222 51px, #fff 51px, #fff 249px, #222 249px, #222 250px, transparent 250px);
      z-index:-1;
    }
  }
  &.submitted{
    .abyss{
      transition-delay:11.5s;
      transform:translateX(0);
    }
    form{
      opacity:0;
      
      input[type="email"]{
        color:transparent;
        background:rgba(255,255,255,0);
      }
    }
    
  }
  form{
    position:absolute;
    z-index:9999;
    width: 500px;
    left: calc(50% - 280px);
    margin-left: 30px;
    height: 45px;
    top: calc(50% + 24px);
    transition:opacity 0.3s ease-in-out;
    transition-delay:1s;
    overflow:hidden;
    input{
      box-shadow:inset 0 0 0 1px #222;
      box-sizing:border-box;
      outline:none;
    }
    input[type="email"]{
      position:absolute;
      left:0;
      top:0;
      height:100%;
      background:transparent;
      border:none;
      width:100%;
      padding:0 5px;
      font-family:'Roboto Mono';
      font-size:25px;
      letter-spacing:1.5px;
      background:rgba(255,255,255,1);
      transition:0.3s ease-in-out;
    }
    input[type="submit"]{
      left:auto;
      right:0;
      position:absolute;
      height:100%;
      width:150px;
      background:#222;
      color:#fff;
      border:none;
      font-family:'Roboto Mono';
      font-size:25px;
      transform-origin:right;
      transition:transform 0.3s ease-in-out, color 0.2s ease-in-out;
      transition-delay:0.3s, 0s;
      cursor:pointer;
    }
  }
  .wrap{
    width:500px;
    height:100%;
    position:absolute;
    z-index:999;
    left:calc(50% - 280px);
    &:after{
      content:'';
      position:absolute;
      width:1000vw;
      height:100vh;
      top:calc(50% + 135px);
      left:-50vw;
      box-shadow:0 -1px 0 0 #222;
      z-index:-1;
    }
    svg{
      g{
        rect{
          transform-origin:bottom;
          transform:scaleY(0);
          transition:1s ease-in-out;
          fill:#fff;
          stroke:url(#Gradient4);
          stroke-width:0.2;
          rx: 1;
        }
      }
      foreignObject{
        .char{
          display:flex;
          justify-content:center;
          align-items:center;
          font-size:0px;
          color:transparent;
          line-height:0;
          @for $i from 1 through 40{
            &:nth-of-type(#{$i}){
              offset-distance:calc(0% + #{($i) * 1.875}px);
              &.empty{
                div{
                  display:none;
                }
              }
              &:before{
                color:#222;
                content:attr('data-char');
                position:absolute;
                font-size:3px;
                left:0;
                width:100%;
                text-align:center;
                height:100%;
                display:flex;
                justify-content:center;
                align-items:center;
                letter-spacing:0.25px;
              }
            }
          }
        }
      }
    }
    .char{
      font-size:0px;
      color:transparent;
      line-height:0;
      position:absolute;
      height:1.875px;
      width:1.875px;
      margin-top:-4px;
    offset-path:path("M43.4,116h0c26.71.09,101-.19,121.5,0,40.58.38,81.17.21,121.75,0,22.55-.12,45.47,1.41,68.08.88,4.11-.1,8.21-.26,12.29-.52A148.36,148.36,0,0,0,438.18,93c13.35-8.66,25.37-19.54,39.81-26.23,8.25-3.82,17.42-6.22,26.43-5.07,10.12,1.3,19.27,7,26.53,14.13,5,5,9.49,11.19,9.62,18.25.17,10-8.39,18.08-17.47,22.23-14.61,6.66-31.59,6.49-47.18,2.69-18.19-4.44-34.59-13.76-51.73-20.86-16.53-6.84-33.86-12.72-48.43-23.38C363.57,65.83,354.13,51,356.93,36.17c2.05-10.81,10.41-19.76,20.45-24.25S398.9,7,409.74,8.82c22.89,3.84,56.48,24.63,39.51,52-6.77,10.92-18.63,16.81-29.8,22.91-12.18,6.67-25.67,10.64-39.29,13.34-6,1.19-12.27,2.15-18.3.92-9.54-2-17.17-9.06-23.37-16.57-6.53-7.93-14.41-23.35-26.18-23.34-4.87,0-9.39,3.28-12.56,6.78-12.38,13.66-30.26,40.06-50.9,22.51-9.2-7.82-9.52-21.58-12.79-32.43-3.57-11.78-8.62-23.58-17.25-32.57-11.16-11.62-23-5.12-32.26,5C165.63,50.11,157.2,75.19,141.7,102c-2.39,4.14-5.88,8.48-9.91,11s-17.87,2.72-22.55,3c-13.19-.16-79.81.06-91.23,0-5.63,0,34.82.24,29.2,0");
    offset-rotate:auto;
    transition:10s ease-in-out;
      &:before{
        content:attr(data-char);
        color:#222;
        font-size:3px;
      }
    div{
      position:absolute;
      height:55%;
      width:100%;
      z-index:2;
      bottom:0;
      left:0;
      &:after{
        content:'';
        position:absolute;
        width:1.75px;
        height:1.75px;
        border-radius:100%;
        background:radial-gradient(circle at center, #222 0.15px, #fff 0.15px, #fff 0.65px, #222 0.65px, #222 0.75px, transparent 0.75px);
        z-index:0;
        bottom:-2px;
        right:0;
        opacity:0;
      }
      &:before{
            content: '';
            position: absolute;
            width: 250%;
            height: 5.25px;
            left: -30%;
            top: -2.5px;
            z-index:2;
            background: #222;
            border-radius: 0;
            clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
          }
    }
  }
  }
 
  &.submitted{
    svg{
      #coaster-track, #coaster-track2{
        transition:7s ease-in-out;
        transition-delay:0s;
      }
      foreignObject{
        .char{
          div{
            &:before{
              animation:growIn 0.5s ease-in-out 1 forwards;
              animation-delay:1.5s;
              border-radius:50px;
              @keyframes growIn{
                from{
                  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
                }
                to{
                  clip-path: polygon(0 60%, 100% 60%, 100% 100%, 0% 100%);
                }
              }
            }
            &:after{
              animation:growIn2 0.5s ease-in-out 1 forwards;
              clip-path: polygon(0 30%, 100% 30%, 100% 100%, 0% 100%);

              @keyframes growIn2{
                from{
                  opacity:1;
                  bottom:-1px;
                }
                to{
                  opacity:1;
                  bottom:-3px;
                }
              }
            }
          }
        }
      }
    }
    .wrap{
      animation:travel 10s ease-in-out 1 forwards;
      animation-delay:3s;
      @keyframes travel{
        42.5%{
          transform:scale(0.5) translateX(-3700px);
        }
        100%{
          transform:translateX(0%);
        }
      }
      svg{
        g{
          rect{
            animation:grow 0.75s ease-in-out 1 forwards;
            animation-delay:3s;
            @keyframes grow{
              to{
                transform:scaleY(1);
              }
            }
          }
        }
        foreignObject{
         animation:fall 3s ease-in-out 1 forwards;
          @media (max-width:768px){
            animation-duration:6s;
          }
          animation-delay:12s;
          @keyframes fall{
            from{
              transform:translateX(0);
              opacity:1;
            }
            to{
              transform:translateX(calc(-100vw - 500px));
              opacity:0;
            }
          }
          .char{
            @for $i from 1 through 40{
              &:nth-of-type(#{$i}){
                animation:coast 10s linear 1 forwards, ride#{$i} 10s ease-in-out 1 forwards;
                animation-delay:3s, 3s, 12.5s;
                div{
                  &:after{
                    animation-delay:#{3 - ($i/20)}s;
                  }
                }
                @keyframes ride#{$i}{
                  to{
                    offset-distance:calc((100% + 1.875px) + #{(($i) * 1.875) - 75}px);
                  }
                }
                @keyframes coast{
                  41.99%{
                    transform:rotate(0deg) rotateY(0deg);
                  }
                  42%{
                    transform:rotate(180deg) rotateY(-180deg);
                  }
                  100%{
                    transform:rotate(180deg) rotateY(-180deg);
                  }
                }
              }
            }
          }
        }
      }
    }
    svg{
      #coaster-track, #coaster-track2{
        stroke-dashoffset:0px;
      }
    }
  }
  svg{
    position:absolute;
    width:5000px;
    height:auto;
    top:calc(50% - 935px);
    left:-355.5px;
    path{
      fill:transparent;
      stroke:transparent;
    }
    #coaster-track, #coaster-track2{
      fill:transparent;
      stroke:#222;
      stroke-dasharray:2200px;
      stroke-dashoffset:2200px;
      transition:1s ease-in-out;
      stroke-width:2.25px;
      stroke-linecap: square;
    }
    #coaster-track2{
      stroke:url(#pattern);
      stroke-width:2px;
    }
    #coaster-track3{
      stroke:url(#Gradient2);
      stroke-width:2.5px;
    }
  }
}
View Compiled
Splitting();

$('.signup').submit(function(event){
 event.preventDefault();
 var emailText = $('.email').val();
 $("svg foreignObject").append('<div data-splitting="chars">' + emailText + "</div>");
  Splitting();
  $("span.char:first-of-type").unwrap();
  var t = 40 - ($(".char").length);
  console.log(t);
  for (let j = 0; j < t; j++) {
    $("svg foreignObject div").append('<span class="char empty"></span>');
  }
  $(".char").append('<div></div>');
  $("body").addClass("submitted");
  setTimeout(function(){	
    $('foreignObject span').remove();
    $('.email').val('');
    $("body").removeClass("submitted");
}, 16000);
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js
  2. https://unpkg.com/splitting@1.0.5/dist/splitting.min.js