<div class="dl-box">
<svg class="dl-svg" viewBox="0 0 160 160">
<path class="dl-svg__circle" d="M80,3 a77,77 0 1,0 0,154 a77,77 0 1,0 0,-154 a77,77 0 1,0 0,154 a77,77 0 1,0 0,-154"/>
<path class="dl-svg__arrow dl-svg__arrow-main" d="M80,47 v66"/>
<path class="dl-svg__arrow dl-svg__arrow-side" d="M56,85 80,115"/>
<path class="dl-svg__arrow dl-svg__arrow-side" d="M104,85 80,115"/>
<path class="dl-svg__rotater" d="M80,3 a77,77 0 0,1 0,154 a77,77 0 0,1 0,-154"/>
<path class="dl-svg__progress-plc" d="M-77,207 h314"/>
<path class="dl-svg__triangle" d="M80,3 Q180,10 225,207 h-302"/>
<path class="dl-svg__triangle-piece" d="M225,207 h15"/>
<path class="dl-svg__progress" d="M-77,207 h314"/>
<path class="dl-svg__progress-vert" d="M80,207 80,3"/>
<path class="dl-svg__checkmark" d="M7,56 l74,52 l44,-56"/>
</svg>
<div class="dl-status">
<p class="dl-status__numbers">0</p>
<span class="dl-status__perc">%</span>
</div>
<div class="particles m--stage-2">
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
</div>
<div class="particles m--stage-3">
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
<div class="particles__p"></div>
</div>
<button type="button" class="dl-reset">Reset</button>
</div>
<a href="https://dribbble.com/shots/2939772--Daily-UI-Download" target="_blank" class="icon-link">
<img src="http://icons.iconarchive.com/icons/uiconstock/socialmedia/256/Dribbble-icon.png">
</a>
<a href="https://twitter.com/NikolayTalanov" target="_blank" class="icon-link icon-link--twitter">
<img src="https://cdn1.iconfinder.com/data/icons/logotypes/32/twitter-128.png">
</a>
(function() {
function $$(selector, context) {
var context = context || document;
var elements = context.querySelectorAll(selector);
var nodesArr = [].slice.call(elements);
return nodesArr.length === 1 ? nodesArr[0] : nodesArr;
};
var $status = $$('.dl-status');
var $statusNumbers = $$('.dl-status__numbers');
var $dlSVG = $$('.dl-svg');
var $circle = $$('.dl-svg__circle');
var $arrMain = $$('.dl-svg__arrow-main');
var $arrSides = $$('.dl-svg__arrow-side');
var $rotater = $$('.dl-svg__rotater');
var $tri = $$('.dl-svg__triangle');
var $triPiece = $$('.dl-svg__triangle-piece');
var $plc = $$('.dl-svg__progress-plc');
var $progress = $$('.dl-svg__progress');
var $prVert = $$('.dl-svg__progress-vert');
var $check = $$('.dl-svg__checkmark');
var $resetBtn = $$('.dl-reset');
var $particles = $$('.particles');
var $particlesStage2 = $$('.particles.m--stage-2');
var $particlesStage3 = $$('.particles.m--stage-3');
var arrInitAT = 0.5;
var dotFadeAT = 0.1;
var rtRotationAT = 1.4;
var triAT = 1.1;
var rtDelay = arrInitAT + dotFadeAT;
var triPhase2Delay = triAT * 0.6;
var progressDelay = 0.2;
var progressAT = 1;
var prCollapseAT = 0.5;
var prMoveAT = 0.4;
var circleAT = 0.6;
var checkAT = 0.5;
function resetDl() {
$dlSVG.classList.remove('s--animating');
$resetBtn.classList.remove('s--visible');
$particles.forEach(function($part) {
$part.classList.remove('s--active');
});
.
.
.