.icon {
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	fill: none;
	vertical-align: -0.18em;
	flex: 0 0 auto;
}

.icon--thin, .icon--thin .icon {
	stroke-width: 1.2;
}

.icon--bold, .icon--bold .icon  {
	stroke-width: 2.5;
}

.icon--heavy, .icon--heavy .icon  {
	stroke-width: 3;
}

.icon--small, .icon--small .icon  {
	width: 1em;
	height: 1em;
}

.icon--big, .icon--big .icon ,
.icon--large, .icon--large .icon  {
	width: 1.6em;
	height: 1.6em;
}

.icon--fill, .icon--fill .icon ,
.icon--solid, .icon--solid .icon  {
	fill: currentColor;
	stroke: none;
}

.icon--spin, .icon--spin .icon  {
	animation: icon-spin 1s linear infinite;
}

@keyframes icon-spin {
	to {
		transform: rotate(360deg);
	}
}
