.progress-button{position:relative;display:inline-block;text-align:center;width:60px;height:60px;min-width:60px;margin:0;}
.progress-button button,.progress-button .button{display:block;margin:0 auto;padding:0;width:61px;height:60px;border:2px solid #d10000;background-color:#d10000;border-radius:50%;color:#ffffff;letter-spacing:1px;font-size:23px;-webkit-tap-highlight-color:transparent;-webkit-transition:background-color 0.3s, color 0.3s, width 0.3s, border-width 0.3s, border-color 0.3s;transition:background-color 0.3s, color 0.3s, width 0.3s, border-width 0.3s, border-color 0.3s;}
.progress-button button:hover,.progress-button .button:hover{background-color:#ff0000;color:#fff;}
.progress-button button:focus,.progress-button .button:focus{outline:none;}
.progress-button button span,.progress-button .button span{-webkit-transition:opacity 0.3s 0.1s;transition:opacity 0.3s 0.1s;}
.progress-button svg{position:absolute;top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);pointer-events:none;}
.progress-button svg circle,.progress-button svg path{opacity:0;fill:none;}
.progress-button svg.progress-circle circle,.progress-button svg.progress-circle path{stroke:#d10000;stroke-width:5;}
.progress-button svg.checkmark path,
.progress-button svg.cross path{stroke:#fff;stroke-linecap:round;stroke-width:4;-webkit-transition:opacity 0.1s;transition:opacity 0.1s;}
.loading.progress-button button,.loading.progress-button .button{width:60px;border-width:5px;border-color:#ddd;background-color:transparent;color:#fff;}
.loading.progress-button span{-webkit-transition:opacity 0.15s;transition:opacity 0.15s;}
.loading.progress-button span,
.success.progress-button span,
.error.progress-button span{opacity:0;}
.success.progress-button button,
.error.progress-button button{-webkit-transition:background-color 0.3s, width 0.3s, border-width 0.3s;transition:background-color 0.3s, width 0.3s, border-width 0.3s;}
.success.progress-button button,.success.progress-button .button{border-color:#d10000;background-color:#d10000;}
.error.progress-button button,.error.progress-button .button{border-color:#FB797E;background-color:#FB797E;}
.loading.progress-button svg.progress-circle path,
.success.progress-button svg.checkmark path,
.error.progress-button svg.cross path{opacity:1;-webkit-transition:stroke-dashoffset 0.3s;transition:stroke-dashoffset 0.3s;}
.elastic.progress-button button,.elastic.progress-button .button{-webkit-transition:background-color 0.3s, color 0.3s, width 0.3s cubic-bezier(0.25, 0.25, 0.4, 1), border-width 0.3s, border-color 0.3s;-webkit-transition:background-color 0.3s, color 0.3s, width 0.3s cubic-bezier(0.25, 0.25, 0.4, 1.6), border-width 0.3s, border-color 0.3s;transition:background-color 0.3s, color 0.3s, width 0.3s cubic-bezier(0.25, 0.25, 0.4, 1.6), border-width 0.3s, border-color 0.3s;}
.loading.elastic.progress-button button ,.loading.elastic.progress-button .button{-webkit-transition:background-color 0.3s, color 0.3s, width 0.3s cubic-bezier(0.6, 0, 0.75, 0.75), border-width 0.3s, border-color 0.3s;-webkit-transition:background-color 0.3s, color 0.3s, width 0.3s cubic-bezier(0.6, -0.6, 0.75, 0.75), border-width 0.3s, border-color 0.3s;transition:background-color 0.3s, color 0.3s, width 0.3s cubic-bezier(0.6, -0.6, 0.75, 0.75), border-width 0.3s, border-color 0.3s;}