Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <!-- import { FC, useEffect } from 'react';

import AvatarSvg from './avatar.svg';
import ChecklistSvg from './checklist.svg';
// FIXME: these circles are all same svg
import Circle1Svg from './circle-1.svg';
import Circle2Svg from './circle-2.svg';
import Circle3Svg from './circle-3.svg';
import ListItemSvg from './list-item.svg';

const TIMER_MULTIPLIER = 0.75;

interface Props {
  duration: number;
  onDone: VoidFunction;
}
// const duration = 10000; // default
const duration = 5000; // default
const TIMER_MULTIPLIER = 0.75;

const timer = setTimeout(() => {
  onDone();
}, duration * TIMER_MULTIPLIER);

clearTimeout(timer);
 -->
<!-- const MatchingAnimation: FC<Props> = ({ duration, onDone }) => { -->
<div data-test-id="matching-animation" class="canvas">
  <div class="circle-group">
    <div class="checklist">
      <svg width="101" height="138" viewBox="0 0 101 138" xmlns="http://www.w3.org/2000/svg" style="filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))"><g transform="translate(-1 -1)" fill="none"><path fill="#FFF" d="M4.762 22.854H98.26v109.667H4.762z"/><path opacity=".75" fill="#F7D0E2" d="M4.762 2.011H98.26v20.484H4.762z"/><ellipse fill="#EFBED6" cx="23.546" cy="12.253" rx="2.943" ry="2.957"/><ellipse fill="#EFBED6" cx="51.512" cy="12.253" rx="2.943" ry="2.957"/><ellipse fill="#EFBED6" cx="79.478" cy="12.253" rx="2.943" ry="2.957"/><path fill="#CBD0D0" d="M82.421 116.608h15.841v15.913H82.421z"/><path fill="#DFE1E0" d="M82.421 132.521v-15.913h15.842"/><path d="M12.837 33.772a6.074 6.074 0 0 1 7.694-.742 6.137 6.137 0 0 1 2.23 7.434 6.089 6.089 0 0 1-6.82 3.652 6.115 6.115 0 0 1-4.901-6.003 5.93 5.93 0 0 1 1.797-4.341Zm3.087 7.427 5.501-5.527-.862-.893-4.651 4.673-2.183-2.192-.862.865 3.057 3.074Zm-3.087 70.555a6.074 6.074 0 0 1 7.694-.742 6.137 6.137 0 0 1 2.23 7.434 6.089 6.089 0 0 1-6.82 3.653 6.115 6.115 0 0 1-4.901-6.003 5.93 5.93 0 0 1 1.797-4.342Zm3.087 7.43 5.501-5.526-.862-.897-4.651 4.673-2.183-2.192-.862.866 3.057 3.076ZM12.837 58.64a6.074 6.074 0 0 1 7.694-.742 6.137 6.137 0 0 1 2.23 7.434 6.089 6.089 0 0 1-6.82 3.653 6.115 6.115 0 0 1-4.901-6.003 5.93 5.93 0 0 1 1.797-4.342Zm3.087 7.427 5.501-5.526-.862-.894-4.651 4.673-2.183-2.192-.862.866 3.057 3.073Zm-3.087 10.279a6.074 6.074 0 0 1 7.694-.742 6.137 6.137 0 0 1 2.23 7.434 6.089 6.089 0 0 1-6.82 3.653 6.115 6.115 0 0 1-4.901-6.004 5.92 5.92 0 0 1 1.797-4.34Zm3.087 7.427 5.501-5.527-.862-.893-4.651 4.673-2.183-2.192-.862.866 3.057 3.073Zm-3.087 10.273a6.07 6.07 0 0 1 7.69-.74 6.134 6.134 0 0 1 2.228 7.43 6.086 6.086 0 0 1-6.818 3.65 6.112 6.112 0 0 1-4.897-6.002 5.92 5.92 0 0 1 1.797-4.338Zm3.087 7.426 5.501-5.526-.862-.893-4.651 4.672-2.183-2.192-.862.863 3.057 3.076Z" fill="#31B885"/><path fill="#DFE1E0" d="M26.49 31.967h63.851v3.776H26.49zm0 6.969h63.851v3.776H26.49zm0 6.969h45.76v3.776H26.49zm0 11.71h63.851v3.776H26.49zm0 6.969h45.76v3.776H26.49zm0 10.295h63.851v3.776H26.49zm0 20.57h63.851v3.776H26.49zm0-13.601h22.079v3.776H26.49zm0 28.863h43.801v3.776H26.49zm0 7.684h50.901v3.835H26.49z"/></g></svg>
    </div>
    <!-- 最初に出現する円 -->
    <div class="circle-1">
      <svg width="188" height="188" viewBox="0 0 188 188" xmlns="http://www.w3.org/2000/svg"><circle cx="149.859" cy="150.031" r="93.817" transform="translate(-56 -56)" fill="#E8E8E8"/></svg>
    </div>
    <div class="circle-2">
      <svg width="188" height="188" viewBox="0 0 188 188" xmlns="http://www.w3.org/2000/svg"><circle cx="149.859" cy="150.031" r="93.817" transform="translate(-56 -56)" fill="#E8E8E8"/></svg>
    </div>
    <div class="circle-3">
      <svg width="188" height="188" viewBox="0 0 188 188" xmlns="http://www.w3.org/2000/svg"><circle cx="149.859" cy="150.031" r="93.817" transform="translate(-56 -56)" fill="#E8E8E8"/></svg>
    </div>
  </div>
  <!-- 人間のシルエットが入った丸 -->
  <div class="pro-1">
    <svg width="54" height="54" viewBox="0 0 54 54" xmlns="http://www.w3.org/2000/svg"><g fill="none"><circle fill="#0686F9" cx="27" cy="27" r="27"/><circle fill="#D9EBFA" cx="27.5" cy="22.5" r="8.5"/><path d="M46 47.31C41.913 41.5 34.958 38 27.5 38S13.087 41.5 9 47.31c10.475 8.92 26.525 8.92 37 0Z" fill="#D9EBFA"/></g></svg>
  </div>
  <div class="pro-2">
    <svg width="54" height="54" viewBox="0 0 54 54" xmlns="http://www.w3.org/2000/svg"><g fill="none"><circle fill="#0686F9" cx="27" cy="27" r="27"/><circle fill="#D9EBFA" cx="27.5" cy="22.5" r="8.5"/><path d="M46 47.31C41.913 41.5 34.958 38 27.5 38S13.087 41.5 9 47.31c10.475 8.92 26.525 8.92 37 0Z" fill="#D9EBFA"/></g></svg>
  </div>
  <div class="pro-3">
    <svg width="54" height="54" viewBox="0 0 54 54" xmlns="http://www.w3.org/2000/svg"><g fill="none"><circle fill="#0686F9" cx="27" cy="27" r="27"/><circle fill="#D9EBFA" cx="27.5" cy="22.5" r="8.5"/><path d="M46 47.31C41.913 41.5 34.958 38 27.5 38S13.087 41.5 9 47.31c10.475 8.92 26.525 8.92 37 0Z" fill="#D9EBFA"/></g></svg>
  </div>
  <!-- '¥'サインなどが書かれた四角 -->
  <div class="item-1">
    <svg width="296" height="93" viewBox="0 0 296 93" xmlns="http://www.w3.org/2000/svg"><defs><filter x="-1.4%" y="-2.2%" width="102.7%" height="109%" filterUnits="objectBoundingBox" id="a"><feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0608865489 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"/><feMerge><feMergeNode in="shadowMatrixOuter1"/><feMergeNode in="SourceGraphic"/></feMerge></filter></defs><g filter="url(#a)" transform="translate(2)" fill="none"><rect fill="#FFF" width="292" height="89" rx="12"/><path d="M249.139 61v-7.096h-8.769v-3.032h8.769v-3.104h-8.769V44.52h7.21L239 29h4.229l6.127 11.261a32.368 32.368 0 0 1 1.607 3.36c.322-.772.904-1.958 1.748-3.559L258.478 29H263l-8.56 15.52h7.207v3.248h-8.706v3.119h8.706v3.017h-8.706v7.092L249.14 61ZM145 16l3.09 6.255 6.91 1.003-5.002 4.87L151.181 35 145 31.757 138.822 35l1.18-6.872-5.002-4.87 6.91-1.003zm-50.002 0 3.092 6.255 6.91 1.003-5 4.87L101.18 35l-6.182-3.243L88.82 35 90 28.128l-5-4.87 6.91-1.003zm101.004 0 3.088 6.255 6.91 1.003-5 4.87L202.18 35l-6.178-3.243L189.819 35l1.18-6.872-4.999-4.87 6.91-1.003zM171 16l3.09 6.255 6.91 1.003-5.002 4.87 1.18 6.872L171 31.757 164.819 35l1.183-6.872-5.002-4.87 6.91-1.003zm-51 0 3.09 6.255 6.91 1.003-4.998 4.87 1.18 6.872L120 31.757 113.822 35l1.18-6.872-5.002-4.87 6.913-1.003zM86 47h120v4H86zm0 10h73v4H86z" fill="#E8E8E8"/></g></svg>
  </div>
  <div class="item-2">
    <svg width="296" height="93" viewBox="0 0 296 93" xmlns="http://www.w3.org/2000/svg"><defs><filter x="-1.4%" y="-2.2%" width="102.7%" height="109%" filterUnits="objectBoundingBox" id="a"><feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0608865489 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"/><feMerge><feMergeNode in="shadowMatrixOuter1"/><feMergeNode in="SourceGraphic"/></feMerge></filter></defs><g filter="url(#a)" transform="translate(2)" fill="none"><rect fill="#FFF" width="292" height="89" rx="12"/><path d="M249.139 61v-7.096h-8.769v-3.032h8.769v-3.104h-8.769V44.52h7.21L239 29h4.229l6.127 11.261a32.368 32.368 0 0 1 1.607 3.36c.322-.772.904-1.958 1.748-3.559L258.478 29H263l-8.56 15.52h7.207v3.248h-8.706v3.119h8.706v3.017h-8.706v7.092L249.14 61ZM145 16l3.09 6.255 6.91 1.003-5.002 4.87L151.181 35 145 31.757 138.822 35l1.18-6.872-5.002-4.87 6.91-1.003zm-50.002 0 3.092 6.255 6.91 1.003-5 4.87L101.18 35l-6.182-3.243L88.82 35 90 28.128l-5-4.87 6.91-1.003zm101.004 0 3.088 6.255 6.91 1.003-5 4.87L202.18 35l-6.178-3.243L189.819 35l1.18-6.872-4.999-4.87 6.91-1.003zM171 16l3.09 6.255 6.91 1.003-5.002 4.87 1.18 6.872L171 31.757 164.819 35l1.183-6.872-5.002-4.87 6.91-1.003zm-51 0 3.09 6.255 6.91 1.003-4.998 4.87 1.18 6.872L120 31.757 113.822 35l1.18-6.872-5.002-4.87 6.913-1.003zM86 47h120v4H86zm0 10h73v4H86z" fill="#E8E8E8"/></g></svg>
  </div>
  <div class="item-3">
    <svg width="296" height="93" viewBox="0 0 296 93" xmlns="http://www.w3.org/2000/svg"><defs><filter x="-1.4%" y="-2.2%" width="102.7%" height="109%" filterUnits="objectBoundingBox" id="a"><feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0608865489 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"/><feMerge><feMergeNode in="shadowMatrixOuter1"/><feMergeNode in="SourceGraphic"/></feMerge></filter></defs><g filter="url(#a)" transform="translate(2)" fill="none"><rect fill="#FFF" width="292" height="89" rx="12"/><path d="M249.139 61v-7.096h-8.769v-3.032h8.769v-3.104h-8.769V44.52h7.21L239 29h4.229l6.127 11.261a32.368 32.368 0 0 1 1.607 3.36c.322-.772.904-1.958 1.748-3.559L258.478 29H263l-8.56 15.52h7.207v3.248h-8.706v3.119h8.706v3.017h-8.706v7.092L249.14 61ZM145 16l3.09 6.255 6.91 1.003-5.002 4.87L151.181 35 145 31.757 138.822 35l1.18-6.872-5.002-4.87 6.91-1.003zm-50.002 0 3.092 6.255 6.91 1.003-5 4.87L101.18 35l-6.182-3.243L88.82 35 90 28.128l-5-4.87 6.91-1.003zm101.004 0 3.088 6.255 6.91 1.003-5 4.87L202.18 35l-6.178-3.243L189.819 35l1.18-6.872-4.999-4.87 6.91-1.003zM171 16l3.09 6.255 6.91 1.003-5.002 4.87 1.18 6.872L171 31.757 164.819 35l1.183-6.872-5.002-4.87 6.91-1.003zm-51 0 3.09 6.255 6.91 1.003-4.998 4.87 1.18 6.872L120 31.757 113.822 35l1.18-6.872-5.002-4.87 6.913-1.003zM86 47h120v4H86zm0 10h73v4H86z" fill="#E8E8E8"/></g></svg>
  </div>
</div>
<!-- for investgation -->
<div class="setting">
  <h3>UNDER CONSTRUCTION</h3>
  <ul class="setting">
    <li id="setting-pro-1">
      
      <ul class="setting">
<!--         <label for="dur1">setting-pro-1</label> -->
<!--         <li><input id="dur1" type="range" value="10000" min="0" max="10000" /><label for="dur-1">duration-1</label></li> -->
        <label for="dur1">setting-pro-1</label>
        <li><input id="dur1" type="range" value="50" min="0" max="100" /><label for="dur-1">duration-1</label></li>
        <label for="mov1">setting-pro-1</label>
        <li><input id="mov1" type="range" value="10000" min="0" max="10000" />  <label for="mov-1">moving-1</label></li>
      </ul>
    </li>
    <li id="setting-pro-2">
      <label for="setting-pro-2">setting-pro-2</label>
      <ul class="setting">
        <li><input id="dur-2" type="range" value="10000" min="0" max="10000" /><label for="dur-2">duration-2</label></li>
        <li><input id="mov-2" type="range" value="10000" min="0" max="10000" />  <label for="mov-2">moving-2</label></li>
      </ul>
    <li id="setting-pro-3">
      <label for="setting-pro-3">setting-pro-3</label>
      <ul class="setting">
        <li><input id="dur-3" type="range" value="10000" min="0" max="10000" /><label for="dur-3">duration-3</label></li>
        <li><input id="mov-3" type="range" value="10000" min="0" max="10000" />  <label for="mov-3">moving-3</label></li>
      </ul>
  </ul>
  <p class="hoge">change width of this</p>
</div>

              
            
!

CSS

              
                :root {
  /*   --duration: 10000; */ /* origin */
  --duration: 5000ms;
  // --per: 85;
}

$per: var(--per);

.canvas {
  width: 300px;
  height: 300px;
  margin: 0 auto;
  position: relative;
}

.circle-group {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.circle-group > * {
  position: absolute;
}

.checklist {
  top: 81px;
  left: 100px;
  z-index: 1004;
  opacity: 0;
  /* animation: showList duration 1; */ /* origin */
  animation: showList var(--duration) infinite;
}

.circle-1 {
  top: 56px;
  left: 56px;
  z-index: 1003;
  opacity: 0;
  /* animation: showCircle1 duration 1; */ /* origin */
  animation: showCircle1 var(--duration) infinite;
}

.circle-2 {
  top: 28px;
  right: 28px;
  z-index: 1002;
  opacity: 0;
  /* animation: showCircle2 duration 1; */ /* origin */
  animation: showCircle2 var(--duration) infinite;
}

.circle-3 {
  top: 0;
  right: 0;
  z-index: 1001;
  opacity: 0;
  /* animation: showCircle3 duration 1; */ /* origin */
  animation: showCircle3 var(--duration) infinite;
}

.pro-1,
.pro-2,
.pro-3 {
  position: absolute;
  opacity: 0;
  transform: scale3d(0, 0, 0);
}

.pro-1 {
  top: 16px;
  left: 216px;
  z-index: 1005;
  /* animation: showPro1 duration 1; */ /* origin */
  animation: showPro1 var(--duration) infinite;
}

.pro-2 {
  top: 120px;
  left: 16px;
  z-index: 1006;
  /* animation: showPro2 duration 1; */ /* origin */
  animation: showPro2 var(--duration) infinite;
}

.pro-3 {
  top: 224px;
  left: 216px;
  z-index: 1007;
  /* animation: showPro3 duration 1; */ /* origin */
  animation: showPro3 var(--duration) infinite;
}

.item-1,
.item-2,
.item-3 {
  opacity: 0;
  margin-bottom: 6px;
}

.item-1 {
  /* animation: showItem1 duration 1; */ /* origin */
  animation: showItem1 var(--duration) infinite;
}

.item-2 {
  /* animation: showItem2 duration 1; */ /* origin */
  animation: showItem2 var(--duration) infinite;
}

.item-3 {
  /* animation: showItem3 duration 1; */ /* origin */
  animation: showItem3 var(--duration) infinite;
}

@keyframes showList {
  0% {
    opacity: 1;
  }
  34% {
    opacity: 1;
  }
  37% {
    opacity: 0;
  }
}

@keyframes showCircle1 {
  0% {
    opacity: 0;
  }
  2% {
    opacity: 1;
  }
  34% {
    opacity: 1;
  }
  37% {
    opacity: 0;
  }
}

@keyframes showCircle2 {
  4% {
    opacity: 0;
  }
  6% {
    opacity: 1;
  }
  34% {
    opacity: 1;
  }
  37% {
    opacity: 0;
  }
}

@keyframes showCircle3 {
  6% {
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  34% {
    opacity: 1;
  }
  37% {
    opacity: 0;
  }
}

@keyframes showPro1 {
  0% {
    opacity: 0;
    transform: scale3d(0, 0, 0);
  }
  12% {
    opacity: 0;
    transform: scale3d(0, 0, 0);
  }
  14% {
    transform: scale3d(1.4, 1.4, 1.4);
  }
  16% {
    opacity: 1;
    transform: scale3d(1.2, 1.2, 1.2);
  }
  34% {
    left: 216px;
    transform: scale3d(1.2, 1.2, 1.2);
  }
  44% {
    left: 16px;
    transform: scale3d(1, 1, 1);
  }
  65% {
    left: 16px;
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
  /* TODO: たぶんここをいじる */
  /* 69% { */
  90% {
    left: -300px;
    transform: scale3d(1, 1, 1);
    opacity: 0;
  }
}

@keyframes showPro2 {
  0% {
    opacity: 0;
    transform: scale3d(0, 0, 0);
  }
  16% {
    opacity: 0;
    transform: scale3d(0, 0, 0);
  }
  18% {
    transform: scale3d(1, 1, 1);
  }
  20% {
    opacity: 1;
    transform: scale3d(0.7, 0.7, 0.7);
  }
  34% {
    left: 16px;
    transform: scale3d(0.7, 0.7, 0.7);
  }
  44% {
    transform: scale3d(1, 1, 1);
  }
  68% {
    left: 16px;
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
  /* TODO: たぶんここをいじる */
  /* 72% { */
/*   85% { */
  // #{($per)}% {
  99% {
    left: -300px;
    transform: scale3d(1, 1, 1);
    opacity: 0;
  }
}

@keyframes showPro3 {
  0% {
    opacity: 0;
    transform: scale3d(0, 0, 0);
  }
  20% {
    opacity: 0;
    transform: scale3d(0, 0, 0);
  }
  22% {
    transform: scale3d(1.2, 1.2, 1.2);
  }
  24% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
  34% {
    left: 216px;
  }
  44% {
    left: 16px;
  }
  71% {
    left: 16px;
    opacity: 1;
  }
  /* TODO: たぶんここをいじる */
  /* 75% { */
  88% {
    left: -300px;
    transform: scale3d(1, 1, 1);
    opacity: 0;
  }
}

@keyframes showItem1 {
  44% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  65% {
    transform: translateX(0);
    opacity: 1;
  }
/*   69% { */
  90% {
    transform: translateX(-292px);
    opacity: 0;
  }
}

@keyframes showItem2 {
  44% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  68% {
    transform: translateX(0);
    opacity: 1;
  }
/*   72% { */
  85% {
    transform: translateX(-292px);
    opacity: 0;
  }
}

@keyframes showItem3 {
  44% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  71% {
    transform: translateX(0);
    opacity: 1;
  }
/*   75% { */
  88% {
    transform: translateX(-292px);
    opacity: 0;
  }
}

/* setting console */
div.setting {
  border: 2px solid #2f2f2f;
  background-color: gray;
  border-radius: 5px;
  color: white;
}

ul.setting {
  list-style: none;
}

.lbl {
  width: 100px;
}

.hoge {
  width: calc(var(--d1) * 1px);
}
              
            
!

JS

              
                // import { FC, useEffect } from 'react';

// // import AvatarSvg from './avatar.svg';
// // import ChecklistSvg from './checklist.svg';
// // FIXME: these circles are all same svg
// // import Circle1Svg from './circle-1.svg';
// // import Circle2Svg from './circle-2.svg';
// // import Circle3Svg from './circle-3.svg';
// // import ListItemSvg from './list-item.svg';

// const TIMER_MULTIPLIER = 0.75;

// // interface MyProps {
// //   duration: number;
// //   onDone: VoidFunction;
// // }

// const MatchingAnimation: FC<MyProps> = ({ duration, onDone }) => {
//   useEffect(() => {
//     const timer = setTimeout(() => {
//       onDone();
//     }, duration * TIMER_MULTIPLIER);

//     return () => {
//       clearTimeout(timer);
//     };
//   }, [duration, onDone]);

//   return (
//     <div data-test-id="matching-animation" className="canvas">
//       <div className="circle-group">
//         <div className="checklist">
//           <svg width="101" height="138" viewBox="0 0 101 138" xmlns="http://www.w3.org/2000/svg" style="filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))"><g transform="translate(-1 -1)" fill="none"><path fill="#FFF" d="M4.762 22.854H98.26v109.667H4.762z"/><path opacity=".75" fill="#F7D0E2" d="M4.762 2.011H98.26v20.484H4.762z"/><ellipse fill="#EFBED6" cx="23.546" cy="12.253" rx="2.943" ry="2.957"/><ellipse fill="#EFBED6" cx="51.512" cy="12.253" rx="2.943" ry="2.957"/><ellipse fill="#EFBED6" cx="79.478" cy="12.253" rx="2.943" ry="2.957"/><path fill="#CBD0D0" d="M82.421 116.608h15.841v15.913H82.421z"/><path fill="#DFE1E0" d="M82.421 132.521v-15.913h15.842"/><path d="M12.837 33.772a6.074 6.074 0 0 1 7.694-.742 6.137 6.137 0 0 1 2.23 7.434 6.089 6.089 0 0 1-6.82 3.652 6.115 6.115 0 0 1-4.901-6.003 5.93 5.93 0 0 1 1.797-4.341Zm3.087 7.427 5.501-5.527-.862-.893-4.651 4.673-2.183-2.192-.862.865 3.057 3.074Zm-3.087 70.555a6.074 6.074 0 0 1 7.694-.742 6.137 6.137 0 0 1 2.23 7.434 6.089 6.089 0 0 1-6.82 3.653 6.115 6.115 0 0 1-4.901-6.003 5.93 5.93 0 0 1 1.797-4.342Zm3.087 7.43 5.501-5.526-.862-.897-4.651 4.673-2.183-2.192-.862.866 3.057 3.076ZM12.837 58.64a6.074 6.074 0 0 1 7.694-.742 6.137 6.137 0 0 1 2.23 7.434 6.089 6.089 0 0 1-6.82 3.653 6.115 6.115 0 0 1-4.901-6.003 5.93 5.93 0 0 1 1.797-4.342Zm3.087 7.427 5.501-5.526-.862-.894-4.651 4.673-2.183-2.192-.862.866 3.057 3.073Zm-3.087 10.279a6.074 6.074 0 0 1 7.694-.742 6.137 6.137 0 0 1 2.23 7.434 6.089 6.089 0 0 1-6.82 3.653 6.115 6.115 0 0 1-4.901-6.004 5.92 5.92 0 0 1 1.797-4.34Zm3.087 7.427 5.501-5.527-.862-.893-4.651 4.673-2.183-2.192-.862.866 3.057 3.073Zm-3.087 10.273a6.07 6.07 0 0 1 7.69-.74 6.134 6.134 0 0 1 2.228 7.43 6.086 6.086 0 0 1-6.818 3.65 6.112 6.112 0 0 1-4.897-6.002 5.92 5.92 0 0 1 1.797-4.338Zm3.087 7.426 5.501-5.526-.862-.893-4.651 4.672-2.183-2.192-.862.863 3.057 3.076Z" fill="#31B885"/><path fill="#DFE1E0" d="M26.49 31.967h63.851v3.776H26.49zm0 6.969h63.851v3.776H26.49zm0 6.969h45.76v3.776H26.49zm0 11.71h63.851v3.776H26.49zm0 6.969h45.76v3.776H26.49zm0 10.295h63.851v3.776H26.49zm0 20.57h63.851v3.776H26.49zm0-13.601h22.079v3.776H26.49zm0 28.863h43.801v3.776H26.49zm0 7.684h50.901v3.835H26.49z"/></g></svg>
//         </div>
//         <div className="circle-1">
//           <svg width="188" height="188" viewBox="0 0 188 188" xmlns="http://www.w3.org/2000/svg"><circle cx="149.859" cy="150.031" r="93.817" transform="translate(-56 -56)" fill="#E8E8E8"/></svg>
//         </div>
//         <div className="circle-2">
//           <svg width="188" height="188" viewBox="0 0 188 188" xmlns="http://www.w3.org/2000/svg"><circle cx="149.859" cy="150.031" r="93.817" transform="translate(-56 -56)" fill="#E8E8E8"/></svg>
//         </div>
//         <div className="circle-3">
//           <svg width="188" height="188" viewBox="0 0 188 188" xmlns="http://www.w3.org/2000/svg"><circle cx="149.859" cy="150.031" r="93.817" transform="translate(-56 -56)" fill="#E8E8E8"/></svg>
//         </div>
//       </div>
//       <div className="pro-1">
//         <svg width="54" height="54" viewBox="0 0 54 54" xmlns="http://www.w3.org/2000/svg"><g fill="none"><circle fill="#0686F9" cx="27" cy="27" r="27"/><circle fill="#D9EBFA" cx="27.5" cy="22.5" r="8.5"/><path d="M46 47.31C41.913 41.5 34.958 38 27.5 38S13.087 41.5 9 47.31c10.475 8.92 26.525 8.92 37 0Z" fill="#D9EBFA"/></g></svg>
//       </div>
//       <div className="pro-2">
//         <svg width="54" height="54" viewBox="0 0 54 54" xmlns="http://www.w3.org/2000/svg"><g fill="none"><circle fill="#0686F9" cx="27" cy="27" r="27"/><circle fill="#D9EBFA" cx="27.5" cy="22.5" r="8.5"/><path d="M46 47.31C41.913 41.5 34.958 38 27.5 38S13.087 41.5 9 47.31c10.475 8.92 26.525 8.92 37 0Z" fill="#D9EBFA"/></g></svg>
//       </div>
//       <div className="pro-3">
//         <svg width="54" height="54" viewBox="0 0 54 54" xmlns="http://www.w3.org/2000/svg"><g fill="none"><circle fill="#0686F9" cx="27" cy="27" r="27"/><circle fill="#D9EBFA" cx="27.5" cy="22.5" r="8.5"/><path d="M46 47.31C41.913 41.5 34.958 38 27.5 38S13.087 41.5 9 47.31c10.475 8.92 26.525 8.92 37 0Z" fill="#D9EBFA"/></g></svg>
//       </div>
//       <div className="item-1">
//         <svg width="296" height="93" viewBox="0 0 296 93" xmlns="http://www.w3.org/2000/svg"><defs><filter x="-1.4%" y="-2.2%" width="102.7%" height="109%" filterUnits="objectBoundingBox" id="a"><feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0608865489 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"/><feMerge><feMergeNode in="shadowMatrixOuter1"/><feMergeNode in="SourceGraphic"/></feMerge></filter></defs><g filter="url(#a)" transform="translate(2)" fill="none"><rect fill="#FFF" width="292" height="89" rx="12"/><path d="M249.139 61v-7.096h-8.769v-3.032h8.769v-3.104h-8.769V44.52h7.21L239 29h4.229l6.127 11.261a32.368 32.368 0 0 1 1.607 3.36c.322-.772.904-1.958 1.748-3.559L258.478 29H263l-8.56 15.52h7.207v3.248h-8.706v3.119h8.706v3.017h-8.706v7.092L249.14 61ZM145 16l3.09 6.255 6.91 1.003-5.002 4.87L151.181 35 145 31.757 138.822 35l1.18-6.872-5.002-4.87 6.91-1.003zm-50.002 0 3.092 6.255 6.91 1.003-5 4.87L101.18 35l-6.182-3.243L88.82 35 90 28.128l-5-4.87 6.91-1.003zm101.004 0 3.088 6.255 6.91 1.003-5 4.87L202.18 35l-6.178-3.243L189.819 35l1.18-6.872-4.999-4.87 6.91-1.003zM171 16l3.09 6.255 6.91 1.003-5.002 4.87 1.18 6.872L171 31.757 164.819 35l1.183-6.872-5.002-4.87 6.91-1.003zm-51 0 3.09 6.255 6.91 1.003-4.998 4.87 1.18 6.872L120 31.757 113.822 35l1.18-6.872-5.002-4.87 6.913-1.003zM86 47h120v4H86zm0 10h73v4H86z" fill="#E8E8E8"/></g></svg>
//       </div>
//       <div className="item-2">
//         <svg width="296" height="93" viewBox="0 0 296 93" xmlns="http://www.w3.org/2000/svg"><defs><filter x="-1.4%" y="-2.2%" width="102.7%" height="109%" filterUnits="objectBoundingBox" id="a"><feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0608865489 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"/><feMerge><feMergeNode in="shadowMatrixOuter1"/><feMergeNode in="SourceGraphic"/></feMerge></filter></defs><g filter="url(#a)" transform="translate(2)" fill="none"><rect fill="#FFF" width="292" height="89" rx="12"/><path d="M249.139 61v-7.096h-8.769v-3.032h8.769v-3.104h-8.769V44.52h7.21L239 29h4.229l6.127 11.261a32.368 32.368 0 0 1 1.607 3.36c.322-.772.904-1.958 1.748-3.559L258.478 29H263l-8.56 15.52h7.207v3.248h-8.706v3.119h8.706v3.017h-8.706v7.092L249.14 61ZM145 16l3.09 6.255 6.91 1.003-5.002 4.87L151.181 35 145 31.757 138.822 35l1.18-6.872-5.002-4.87 6.91-1.003zm-50.002 0 3.092 6.255 6.91 1.003-5 4.87L101.18 35l-6.182-3.243L88.82 35 90 28.128l-5-4.87 6.91-1.003zm101.004 0 3.088 6.255 6.91 1.003-5 4.87L202.18 35l-6.178-3.243L189.819 35l1.18-6.872-4.999-4.87 6.91-1.003zM171 16l3.09 6.255 6.91 1.003-5.002 4.87 1.18 6.872L171 31.757 164.819 35l1.183-6.872-5.002-4.87 6.91-1.003zm-51 0 3.09 6.255 6.91 1.003-4.998 4.87 1.18 6.872L120 31.757 113.822 35l1.18-6.872-5.002-4.87 6.913-1.003zM86 47h120v4H86zm0 10h73v4H86z" fill="#E8E8E8"/></g></svg>
//       </div>
//       <div className="item-3">
//         <svg width="296" height="93" viewBox="0 0 296 93" xmlns="http://www.w3.org/2000/svg"><defs><filter x="-1.4%" y="-2.2%" width="102.7%" height="109%" filterUnits="objectBoundingBox" id="a"><feOffset dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0608865489 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"/><feMerge><feMergeNode in="shadowMatrixOuter1"/><feMergeNode in="SourceGraphic"/></feMerge></filter></defs><g filter="url(#a)" transform="translate(2)" fill="none"><rect fill="#FFF" width="292" height="89" rx="12"/><path d="M249.139 61v-7.096h-8.769v-3.032h8.769v-3.104h-8.769V44.52h7.21L239 29h4.229l6.127 11.261a32.368 32.368 0 0 1 1.607 3.36c.322-.772.904-1.958 1.748-3.559L258.478 29H263l-8.56 15.52h7.207v3.248h-8.706v3.119h8.706v3.017h-8.706v7.092L249.14 61ZM145 16l3.09 6.255 6.91 1.003-5.002 4.87L151.181 35 145 31.757 138.822 35l1.18-6.872-5.002-4.87 6.91-1.003zm-50.002 0 3.092 6.255 6.91 1.003-5 4.87L101.18 35l-6.182-3.243L88.82 35 90 28.128l-5-4.87 6.91-1.003zm101.004 0 3.088 6.255 6.91 1.003-5 4.87L202.18 35l-6.178-3.243L189.819 35l1.18-6.872-4.999-4.87 6.91-1.003zM171 16l3.09 6.255 6.91 1.003-5.002 4.87 1.18 6.872L171 31.757 164.819 35l1.183-6.872-5.002-4.87 6.91-1.003zm-51 0 3.09 6.255 6.91 1.003-4.998 4.87 1.18 6.872L120 31.757 113.822 35l1.18-6.872-5.002-4.87 6.913-1.003zM86 47h120v4H86zm0 10h73v4H86z" fill="#E8E8E8"/></g></svg>
//       </div>
//     </div>
//   );
// };

// export default MatchingAnimation;

const updateSetting1 = () => {
  const v = document.getElementById('dur1').value
  console.log(`dur1 value: ${v}`)
  // document.body.style.setProperty('--d1', v)
  document.body.style.setProperty('--per', v)
}

dur1.addEventListener('input', updateSetting1);
              
            
!
999px

Console