.feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	margin-bottom: 1rem;
	font-size: 2rem;
	color: #fff;
	border-radius: .75rem;
}

.icon-link {
	display: inline-flex;
	align-items: center;
}
.icon-link > .bi {
	margin-top: .125rem;
}
.icon-link > .fas {
	margin-top: .1rem;
}
.icon-link > .bi, .icon-link > .fas {
	margin-right: .25rem;
	transition: transform .25s ease-in-out;
	fill: currentColor;
}
.icon-link:hover > .bi, .icon-link:hover > .fas {
	transform: translate(.25rem);
}

.icon-square {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	font-size: 1.5rem;
	border-radius: .75rem;
}

.icon-square-sm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	font-size: 1rem;
	border-radius: .5rem;
}

.rounded-4 { border-radius: .5rem; }
.rounded-5 { border-radius: 1rem; }

.text-shadow-1 { text-shadow: 0 .125rem .25rem rgba(0, 0, 0, .25); }
.text-shadow-2 { text-shadow: 0 .25rem .5rem rgba(0, 0, 0, .25); }
.text-shadow-3 { text-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .25); }

.card-cover {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
