
.progress-dots {
	position: relative;
	display: block;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.progress-dots:after {
	content: '';
	clear: both;
	display: table;
}

.progress-dots li {
	display: block;
	height: 12px;
	width: 12px;
	float: left;
	background-color: #CCCCCC;
	margin: 0 3px 3px 0;
	border-radius: 3px;
	list-style-type: none;
}

.progress-dots li:hover {
	background-color: #454545;
}

.progress-dots li span {
	display: block;
	height: 12px;
	width: 12px;
}
.progress-dots li.active {
	background-color: #92c32d;
}

/**
 * The "shine" element
 */
.progress-dots:before {
	content: ' ';
	position: absolute;
	width: 150px;
	height: 50px;
	animation: slide 3.3s linear infinite;
	text-shadow: 2px 2px 4px #000000;
	top: -20px;
	opacity: 0.3;
}

@keyframes slide {
  from {
    left: 0;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
  }
  to {
    left: 100%;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
  }
}

/* Active state */
.portal-progress span:active:after {
  opacity: 0;
}