.progress {
  background: #ccc;
  border-radius: 50%;
  height: 140px;
  width: 140px;
  margin: 2em auto;
}

.progress_mask,
.progress_fill {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: 50%;
  clip: rect(0, 140px, 140px, 70px);
  height: 140px;
  overflow: hidden;
  position: absolute;
  width: 140px;
}

.progress_fill {
  background: #852C9A;
  clip: rect(0, 70px, 140px, 0);
}

.progress:after {
  content: attr(data-progress)'%';
  background: #fff;
  border-radius: 50%;
  height: 126px;
  line-height: 126px;
  margin: 7px;
  position: absolute;
  text-align: center;
  width: 126px;
  font-size: 2rem;
  font-weight: bold;
  color: #852C9A;
}

.progress[data-progress="1"] .progress_mask.isFull,
.progress[data-progress="1"] .progress_fill {
  transform: rotate(1.8deg);
}

.progress[data-progress="2"] .progress_mask.isFull,
.progress[data-progress="2"] .progress_fill {
  transform: rotate(3.6deg);
}

.progress[data-progress="3"] .progress_mask.isFull,
.progress[data-progress="3"] .progress_fill {
  transform: rotate(5.4deg);
}

.progress[data-progress="4"] .progress_mask.isFull,
.progress[data-progress="4"] .progress_fill {
  transform: rotate(7.2deg);
}

.progress[data-progress="5"] .progress_mask.isFull,
.progress[data-progress="5"] .progress_fill {
  transform: rotate(9deg);
}

.progress[data-progress="6"] .progress_mask.isFull,
.progress[data-progress="6"] .progress_fill {
  transform: rotate(10.8deg);
}

.progress[data-progress="7"] .progress_mask.isFull,
.progress[data-progress="7"] .progress_fill {
  transform: rotate(12.6deg);
}

.progress[data-progress="8"] .progress_mask.isFull,
.progress[data-progress="8"] .progress_fill {
  transform: rotate(14.4deg);
}

.progress[data-progress="9"] .progress_mask.isFull,
.progress[data-progress="9"] .progress_fill {
  transform: rotate(16.2deg);
}

.progress[data-progress="10"] .progress_mask.isFull,
.progress[data-progress="10"] .progress_fill {
  transform: rotate(18deg);
}

.progress[data-progress="11"] .progress_mask.isFull,
.progress[data-progress="11"] .progress_fill {
  transform: rotate(19.8deg);
}

.progress[data-progress="12"] .progress_mask.isFull,
.progress[data-progress="12"] .progress_fill {
  transform: rotate(21.6deg);
}

.progress[data-progress="13"] .progress_mask.isFull,
.progress[data-progress="13"] .progress_fill {
  transform: rotate(23.4deg);
}

.progress[data-progress="14"] .progress_mask.isFull,
.progress[data-progress="14"] .progress_fill {
  transform: rotate(25.2deg);
}

.progress[data-progress="15"] .progress_mask.isFull,
.progress[data-progress="15"] .progress_fill {
  transform: rotate(27deg);
}

.progress[data-progress="16"] .progress_mask.isFull,
.progress[data-progress="16"] .progress_fill {
  transform: rotate(28.8deg);
}

.progress[data-progress="17"] .progress_mask.isFull,
.progress[data-progress="17"] .progress_fill {
  transform: rotate(30.6deg);
}

.progress[data-progress="18"] .progress_mask.isFull,
.progress[data-progress="18"] .progress_fill {
  transform: rotate(32.4deg);
}

.progress[data-progress="19"] .progress_mask.isFull,
.progress[data-progress="19"] .progress_fill {
  transform: rotate(34.2deg);
}

.progress[data-progress="20"] .progress_mask.isFull,
.progress[data-progress="20"] .progress_fill {
  transform: rotate(36deg);
}

.progress[data-progress="21"] .progress_mask.isFull,
.progress[data-progress="21"] .progress_fill {
  transform: rotate(37.8deg);
}

.progress[data-progress="22"] .progress_mask.isFull,
.progress[data-progress="22"] .progress_fill {
  transform: rotate(39.6deg);
}

.progress[data-progress="23"] .progress_mask.isFull,
.progress[data-progress="23"] .progress_fill {
  transform: rotate(41.4deg);
}

.progress[data-progress="24"] .progress_mask.isFull,
.progress[data-progress="24"] .progress_fill {
  transform: rotate(43.2deg);
}

.progress[data-progress="25"] .progress_mask.isFull,
.progress[data-progress="25"] .progress_fill {
  transform: rotate(45deg);
}

.progress[data-progress="26"] .progress_mask.isFull,
.progress[data-progress="26"] .progress_fill {
  transform: rotate(46.8deg);
}

.progress[data-progress="27"] .progress_mask.isFull,
.progress[data-progress="27"] .progress_fill {
  transform: rotate(48.6deg);
}

.progress[data-progress="28"] .progress_mask.isFull,
.progress[data-progress="28"] .progress_fill {
  transform: rotate(50.4deg);
}

.progress[data-progress="29"] .progress_mask.isFull,
.progress[data-progress="29"] .progress_fill {
  transform: rotate(52.2deg);
}

.progress[data-progress="30"] .progress_mask.isFull,
.progress[data-progress="30"] .progress_fill {
  transform: rotate(54deg);
}

.progress[data-progress="31"] .progress_mask.isFull,
.progress[data-progress="31"] .progress_fill {
  transform: rotate(55.8deg);
}

.progress[data-progress="32"] .progress_mask.isFull,
.progress[data-progress="32"] .progress_fill {
  transform: rotate(57.6deg);
}

.progress[data-progress="33"] .progress_mask.isFull,
.progress[data-progress="33"] .progress_fill {
  transform: rotate(59.4deg);
}

.progress[data-progress="34"] .progress_mask.isFull,
.progress[data-progress="34"] .progress_fill {
  transform: rotate(61.2deg);
}

.progress[data-progress="35"] .progress_mask.isFull,
.progress[data-progress="35"] .progress_fill {
  transform: rotate(63deg);
}

.progress[data-progress="36"] .progress_mask.isFull,
.progress[data-progress="36"] .progress_fill {
  transform: rotate(64.8deg);
}

.progress[data-progress="37"] .progress_mask.isFull,
.progress[data-progress="37"] .progress_fill {
  transform: rotate(66.6deg);
}

.progress[data-progress="38"] .progress_mask.isFull,
.progress[data-progress="38"] .progress_fill {
  transform: rotate(68.4deg);
}

.progress[data-progress="39"] .progress_mask.isFull,
.progress[data-progress="39"] .progress_fill {
  transform: rotate(70.2deg);
}

.progress[data-progress="40"] .progress_mask.isFull,
.progress[data-progress="40"] .progress_fill {
  transform: rotate(72deg);
}

.progress[data-progress="41"] .progress_mask.isFull,
.progress[data-progress="41"] .progress_fill {
  transform: rotate(73.8deg);
}

.progress[data-progress="42"] .progress_mask.isFull,
.progress[data-progress="42"] .progress_fill {
  transform: rotate(75.6deg);
}

.progress[data-progress="43"] .progress_mask.isFull,
.progress[data-progress="43"] .progress_fill {
  transform: rotate(77.4deg);
}

.progress[data-progress="44"] .progress_mask.isFull,
.progress[data-progress="44"] .progress_fill {
  transform: rotate(79.2deg);
}

.progress[data-progress="45"] .progress_mask.isFull,
.progress[data-progress="45"] .progress_fill {
  transform: rotate(81deg);
}

.progress[data-progress="46"] .progress_mask.isFull,
.progress[data-progress="46"] .progress_fill {
  transform: rotate(82.8deg);
}

.progress[data-progress="47"] .progress_mask.isFull,
.progress[data-progress="47"] .progress_fill {
  transform: rotate(84.6deg);
}

.progress[data-progress="48"] .progress_mask.isFull,
.progress[data-progress="48"] .progress_fill {
  transform: rotate(86.4deg);
}

.progress[data-progress="49"] .progress_mask.isFull,
.progress[data-progress="49"] .progress_fill {
  transform: rotate(88.2deg);
}

.progress[data-progress="50"] .progress_mask.isFull,
.progress[data-progress="50"] .progress_fill {
  transform: rotate(90deg);
}

.progress[data-progress="51"] .progress_mask.isFull,
.progress[data-progress="51"] .progress_fill {
  transform: rotate(91.8deg);
}

.progress[data-progress="52"] .progress_mask.isFull,
.progress[data-progress="52"] .progress_fill {
  transform: rotate(93.6deg);
}

.progress[data-progress="53"] .progress_mask.isFull,
.progress[data-progress="53"] .progress_fill {
  transform: rotate(95.4deg);
}

.progress[data-progress="54"] .progress_mask.isFull,
.progress[data-progress="54"] .progress_fill {
  transform: rotate(97.2deg);
}

.progress[data-progress="55"] .progress_mask.isFull,
.progress[data-progress="55"] .progress_fill {
  transform: rotate(99deg);
}

.progress[data-progress="56"] .progress_mask.isFull,
.progress[data-progress="56"] .progress_fill {
  transform: rotate(100.8deg);
}

.progress[data-progress="57"] .progress_mask.isFull,
.progress[data-progress="57"] .progress_fill {
  transform: rotate(102.6deg);
}

.progress[data-progress="58"] .progress_mask.isFull,
.progress[data-progress="58"] .progress_fill {
  transform: rotate(104.4deg);
}

.progress[data-progress="59"] .progress_mask.isFull,
.progress[data-progress="59"] .progress_fill {
  transform: rotate(106.2deg);
}

.progress[data-progress="60"] .progress_mask.isFull,
.progress[data-progress="60"] .progress_fill {
  transform: rotate(108deg);
}

.progress[data-progress="61"] .progress_mask.isFull,
.progress[data-progress="61"] .progress_fill {
  transform: rotate(109.8deg);
}

.progress[data-progress="62"] .progress_mask.isFull,
.progress[data-progress="62"] .progress_fill {
  transform: rotate(111.6deg);
}

.progress[data-progress="63"] .progress_mask.isFull,
.progress[data-progress="63"] .progress_fill {
  transform: rotate(113.4deg);
}

.progress[data-progress="64"] .progress_mask.isFull,
.progress[data-progress="64"] .progress_fill {
  transform: rotate(115.2deg);
}

.progress[data-progress="65"] .progress_mask.isFull,
.progress[data-progress="65"] .progress_fill {
  transform: rotate(117deg);
}

.progress[data-progress="66"] .progress_mask.isFull,
.progress[data-progress="66"] .progress_fill {
  transform: rotate(118.8deg);
}

.progress[data-progress="67"] .progress_mask.isFull,
.progress[data-progress="67"] .progress_fill {
  transform: rotate(120.6deg);
}

.progress[data-progress="68"] .progress_mask.isFull,
.progress[data-progress="68"] .progress_fill {
  transform: rotate(122.4deg);
}

.progress[data-progress="69"] .progress_mask.isFull,
.progress[data-progress="69"] .progress_fill {
  transform: rotate(124.2deg);
}

.progress[data-progress="70"] .progress_mask.isFull,
.progress[data-progress="70"] .progress_fill {
  transform: rotate(126deg);
}

.progress[data-progress="71"] .progress_mask.isFull,
.progress[data-progress="71"] .progress_fill {
  transform: rotate(127.8deg);
}

.progress[data-progress="72"] .progress_mask.isFull,
.progress[data-progress="72"] .progress_fill {
  transform: rotate(129.6deg);
}

.progress[data-progress="73"] .progress_mask.isFull,
.progress[data-progress="73"] .progress_fill {
  transform: rotate(131.4deg);
}

.progress[data-progress="74"] .progress_mask.isFull,
.progress[data-progress="74"] .progress_fill {
  transform: rotate(133.2deg);
}

.progress[data-progress="75"] .progress_mask.isFull,
.progress[data-progress="75"] .progress_fill {
  transform: rotate(135deg);
}

.progress[data-progress="76"] .progress_mask.isFull,
.progress[data-progress="76"] .progress_fill {
  transform: rotate(136.8deg);
}

.progress[data-progress="77"] .progress_mask.isFull,
.progress[data-progress="77"] .progress_fill {
  transform: rotate(138.6deg);
}

.progress[data-progress="78"] .progress_mask.isFull,
.progress[data-progress="78"] .progress_fill {
  transform: rotate(140.4deg);
}

.progress[data-progress="79"] .progress_mask.isFull,
.progress[data-progress="79"] .progress_fill {
  transform: rotate(142.2deg);
}

.progress[data-progress="80"] .progress_mask.isFull,
.progress[data-progress="80"] .progress_fill {
  transform: rotate(144deg);
}

.progress[data-progress="81"] .progress_mask.isFull,
.progress[data-progress="81"] .progress_fill {
  transform: rotate(145.8deg);
}

.progress[data-progress="82"] .progress_mask.isFull,
.progress[data-progress="82"] .progress_fill {
  transform: rotate(147.6deg);
}

.progress[data-progress="83"] .progress_mask.isFull,
.progress[data-progress="83"] .progress_fill {
  transform: rotate(149.4deg);
}

.progress[data-progress="84"] .progress_mask.isFull,
.progress[data-progress="84"] .progress_fill {
  transform: rotate(151.2deg);
}

.progress[data-progress="85"] .progress_mask.isFull,
.progress[data-progress="85"] .progress_fill {
  transform: rotate(153deg);
}

.progress[data-progress="86"] .progress_mask.isFull,
.progress[data-progress="86"] .progress_fill {
  transform: rotate(154.8deg);
}

.progress[data-progress="87"] .progress_mask.isFull,
.progress[data-progress="87"] .progress_fill {
  transform: rotate(156.6deg);
}

.progress[data-progress="88"] .progress_mask.isFull,
.progress[data-progress="88"] .progress_fill {
  transform: rotate(158.4deg);
}

.progress[data-progress="89"] .progress_mask.isFull,
.progress[data-progress="89"] .progress_fill {
  transform: rotate(160.2deg);
}

.progress[data-progress="90"] .progress_mask.isFull,
.progress[data-progress="90"] .progress_fill {
  transform: rotate(162deg);
}

.progress[data-progress="91"] .progress_mask.isFull,
.progress[data-progress="91"] .progress_fill {
  transform: rotate(163.8deg);
}

.progress[data-progress="92"] .progress_mask.isFull,
.progress[data-progress="92"] .progress_fill {
  transform: rotate(165.6deg);
}

.progress[data-progress="93"] .progress_mask.isFull,
.progress[data-progress="93"] .progress_fill {
  transform: rotate(167.4deg);
}

.progress[data-progress="94"] .progress_mask.isFull,
.progress[data-progress="94"] .progress_fill {
  transform: rotate(169.2deg);
}

.progress[data-progress="95"] .progress_mask.isFull,
.progress[data-progress="95"] .progress_fill {
  transform: rotate(171deg);
}

.progress[data-progress="96"] .progress_mask.isFull,
.progress[data-progress="96"] .progress_fill {
  transform: rotate(172.8deg);
}

.progress[data-progress="97"] .progress_mask.isFull,
.progress[data-progress="97"] .progress_fill {
  transform: rotate(174.6deg);
}

.progress[data-progress="98"] .progress_mask.isFull,
.progress[data-progress="98"] .progress_fill {
  transform: rotate(176.4deg);
}

.progress[data-progress="99"] .progress_mask.isFull,
.progress[data-progress="99"] .progress_fill {
  transform: rotate(178.2deg);
}

.progress[data-progress="100"] .progress_mask.isFull,
.progress[data-progress="100"] .progress_fill {
  transform: rotate(180deg);
}

