.progress-bar {
	width: 100%;

	&-headline {
		margin: 0px;
		display: flex;
		justify-content: space-between;
		width: 100%;
	}

	&-track {
		background: rgba($color_dark, .05);
		width: 100%;
		height: 10px;
		margin-top: 5px;

		&-inner {
			display: block;
			width: 0;
			height: 100%;
			@include animate(all, 1s);
			position: relative;

			.line-percent {
				content: '20';
				background: $color_dark;
				color: #fff;
				padding: 0px 8px;
				@include border_radius();
				height: 24px;
				line-height: 24px;
				font-size: 0.75em;
				position: absolute;
				bottom: 100%;
				right: 0;
				font-weight: 600;
				transform: translateX(50%) translateY(-10px);

				&:after {
					content: '';
					background: inherit;
					width: 8px;
					height: 8px;
					position: absolute;
					bottom: -4px;
					right: 50%;
					transform: translateX(50%) rotate(45deg);
				}
			}
		}
	}

	&.inner {
		.progress-bar-track {
			height: 14px;
		}

		.line {
			height: 6px;
			top: 4px;
			left: 4px;
		}

		.line-percent {
			margin-bottom: 4px;
		}
	}

	&.split {
		.progress-bar-track {
			background: transparent;
			position: relative;
		}

		.line-split {
			background: $color_border;
			width: calc(100% / 8 - 2px);
			height: 8px;
			float: left;
			margin-right: 2px;
			position: relative;
			overflow: hidden;

			.line {
				position: absolute;
				top: 0;
				left: 0;
			}
		}
	}

	&.pattern {
		.line {
			background-image: repeating-linear-gradient( 
            60deg,
            rgba(#fff, .0),
            rgba(#fff, .0) 10px,
            rgba(#000, .15) 10px,
            rgba(#000, .15) 20px
            );
			animation: progress-bar-line-strip-anim 1s linear infinite;
		}
	}
}

@keyframes progress-bar-line-strip-anim {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -21px 0;
	}
}