.progress-button {
    overflow: hidden;
    position: relative;
}

.progress-button.in-progress,
.progress-button.finished {
    color: transparent !important;
}

.progress-button.in-progress:after,
.progress-button.finished:after {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    text-align: center;
    top: 0;
    padding-top: inherit;
    color: inherit;
    left: 0;
}

.progress-button.in-progress:after {
    content: attr(data-loading);
}

.progress-button.finished:after {
    content: attr(data-finished);
}

.progress-button .tz-bar {
    background-color: rgba(81, 183, 230, 0.55);
    height: 3px;
    bottom: 0;
    left: 0;
    width: 0;
    position: absolute;
    z-index: 1;
    transition: width 0.5s, height 0.5s;
}

.progress-button .tz-bar.background-horizontal {
    height: 100%;
}

.progress-button .tz-bar.background-vertical {
    height: 0;
    top: 0;
    width: 100%;
}