.loader {
	position: relative;
	margin: 0px auto;
	display: inline-block;
}
.loader:not([class*="pl-"]) {
	width: 40px;
}
.loader:before {
	content: '';
	display: block;
	padding-top: 100%;
}
.loader.pl-xs {
	width: 20px;
	height: 20px;
}
.loader.pl-sm {
	width: 30px;
	height: 30px;
}
.loader.pl-lg {
	width: 50px;
	height: 50px;
}
.loader.pl-xl {
	width: 80px;
	height: 80px;
}
.loader.pl-xxl {
	width: 100px;
	height: 100px;
}
.loader:not([class*="pls-"]) .plc-path {
	animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
}
.loader[class*="pls-"] .plc-path {
	animation: dash 1.5s ease-in-out infinite;
}
.loader.pls-red .plc-path {
	stroke: #f44336;
}
.loader.pls-blue .plc-path {
	stroke: #2196f3;
}
.loader.pls-green .plc-path {
	stroke: #4caf50;
}
.loader.pls-yellow .plc-path {
	stroke: #ffeb3b;
}
.loader.pls-bluegray .plc-path {
	stroke: #607d8b;
}
.loader.pls-amber .plc-path {
	stroke: #ffc107;
}
.loader.pls-teal .plc-path {
	stroke: #009688;
}
.loader.pls-gray .plc-path {
	stroke: #9e9e9e;
}
.loader.pls-pink .plc-path {
	stroke: #e91e63;
}
.loader.pls-purple .plc-path {
	stroke: #9c27b0;
}
.pl-circular {
	animation: rotate 2s linear infinite;
	height: 100%;
	transform-origin: center center;
	width: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.plc-path {
	stroke-dasharray: 1,200;
	stroke-dashoffset: 0;
	stroke-linecap: round;
	stroke-width: 2;
	stroke-miterlimit: 10;
	fill: none;
}
.pl-xxl .plc-path,
.pl-xl .plc-path {
	stroke-width: 1;
}
@keyframes rotate {
	100% {
		transform: rotate(360deg);
	}
}
@keyframes dash {
	0% {
		stroke-dasharray: 1,200;
		stroke-dashoffset: 0;
	}
	50% {
		stroke-dasharray: 89,200;
		stroke-dashoffset: -35px;
	}
	100% {
		stroke-dasharray: 89,200;
		stroke-dashoffset: -124px;
	}
}
@keyframes color {
	100%,
	0% {
		stroke: #f44336;
	}
	40% {
		stroke: #2196f3;
	}
	66% {
		stroke: #4caf50;
	}
	80%,
	90% {
		stroke: #ffc107;
	}
}
@media print {
	@page {
		margin: 0;
		size: auto;
	}
}