.dlm-icon-left {
  margin-right: 5px;
}
.dlm-icon-right {
  margin-left: 5px;
}
a.dlm-buttons-button {
  position: relative;
}
a.dlm-buttons-button.dlm-download-started {
  text-decoration: none;
}
a.dlm-buttons-button.dlm-download-complete::after {
  content: '✓';
  width: 20px;
  right: -30px;
  position: absolute;
  height: 100%;
  z-index: 3;
  background: transparent;
  color: green;
  bottom: 0;
  left: auto;
}
a.dlm-buttons-button::before {
  content: '';
  position: absolute;
  height: 2px;
  z-index: 3;
  bottom: -2px;
  left: 0;
  width: 0;
  background: red;
  transition: width .5s;
  box-shadow: 0px 0px 3px rgba(255, 0, 0, 0.8);
  border-radius: 5px;
}
a.dlm-buttons-button.download-10:before {
  width: 10%;
}
a.dlm-buttons-button.download-20:before {
  width: 20%;
}
a.dlm-buttons-button.download-30:before {
  width: 30%;
}
a.dlm-buttons-button.download-40:before {
  width: 40%;
}
a.dlm-buttons-button.download-50:before {
  width: 50%;
}
a.dlm-buttons-button.download-60:before {
  width: 60%;
}
a.dlm-buttons-button.download-70:before {
  width: 70%;
}
a.dlm-buttons-button.download-80:before {
  width: 80%;
}
a.dlm-buttons-button.download-90:before {
  width: 90%;
}
a.dlm-buttons-button.download-100:before {
  width: 100%;
}
a.dlm-buttons-button.dlm-download-complete::after {
  height: auto;
  top: 50%;
  transform: translateY(-50%);
}
a.dlm-buttons-button::before {
  z-index: 0;
}
a.dlm-buttons-button > * {
  z-index: 2;
  position: relative;
}
a.dlm-buttons-button .dlm-xhr-progress {
  position: relative;
}
