.icon-blocks-module__header {
	max-width: 580px;
	margin: 0 auto 50px;
}

.icon-blocks-module__row {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 50px;
}

.icon-blocks-module__item {
	position: relative;
	flex: 1 1 100%;
}

.icon-blocks-module__item-link,
.icon-blocks-module__item-nolink {
	display: block;
	width: fit-content;
	margin: 0 auto;
}

.icon-blocks-module__item-link:hover {
	text-decoration: none !important;
}

.icon-blocks-module__item-link:hover .icon-blocks-module__item-title {
	text-decoration: none !important;
	transition: all 300ms ease;
}

.icon-blocks-module__item-link:hover .bg-faded-primary + .icon-blocks-module__item-title {
	color: var(--brand-primary);
}

.icon-blocks-module__item-link:hover .bg-faded-info + .icon-blocks-module__item-title {
	color: var(--brand-info);
}

.icon-blocks-module__item-link:hover .bg-faded-success + .icon-blocks-module__item-title {
	color: var(--brand-success);
}

.icon-blocks-module__item-link:hover .bg-faded-warning + .icon-blocks-module__item-title {
	color: var(--brand-warning);
}

.icon-blocks-module__item-link:hover .bg-faded-danger + .icon-blocks-module__item-title {
	color: var(--brand-danger);
}

.icon-blocks-module__item-link:hover .bg-faded-dark + .icon-blocks-module__item-title {
	color: var(--brand-dark);
}

.icon-blocks-module__item-link:hover .bg-faded-tan + .icon-blocks-module__item-title {
	color: var(--brand-tan);
}

.icon-blocks-module__item-icon {
	display: inline-block;
	margin: 0 auto;
	border-radius: 15px;
	height: 90px;
	width: 90px;
	text-align: center;
	position: relative;
}

.icon-blocks-module__item-icon > i,
.icon-blocks-module__item-icon > img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 40px;
	color: var(--gray-darker);
}

.icon-blocks-module__item-icon > img {
	width: 50px;
	max-height: 80% !important;
	object-fit: cover;
	object-position: center center;
}

.icon-blocks-module__item-title {
	display: block;
	font-weight: 700;
	color: var(--text-color);
	margin: 15px 0;
	transition: all 300ms ease;
}

@media (min-width: 625px) {
	.icon-blocks-module__item {
		flex: 1 1 calc(50% - 25px);
	}
}

@media (min-width: 992px) {
	.icon-blocks-module__row {
		display: grid;
		grid-auto-rows: auto;
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	}
}

@media (min-width: 1200px) {
	.icon-blocks-module__row {
		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	}	
}

.bg-primary.icon-blocks-module {
	.icon-blocks-module__item-title {
		color: #fff;
	}

	.icon-blocks-module__header {
		margin: 80px auto 0;
	}

	.icon-blocks-module__header + .icon-blocks-module__items .icon-blocks-module__row {
		margin-top: 50px;
	}
}

.bg-primary.circle-icons.icon-blocks-module {
	.icon-blocks-module__item-icon {
		background: #fff;
	}
}

/* Circle-icons */
.circle-icons .icon-blocks-module__item-icon {
	border-radius: 50%;
}

/* With lines */
.lines-between .icon-blocks-module__row {
	margin-bottom: 50px;
}

@media (min-width: 992px) {
	.lines-between .icon-blocks-module__row {
		gap: 120px;
		margin-top: 100px;
		margin-bottom: 100px;
	}

	.lines-between .icon-blocks-module__items {
		overflow: hidden; /* hide lines outside the grid */
	}

	.lines-between .icon-blocks-module__item-icon {
		height: 115px;
		width: 115px;
	}

	.lines-between .icon-blocks-module__item::after {
		content: "";
		border-bottom: 3px dashed #d4dade; /* 3px to account for transform */
		border-left: 3px dashed #d4dade; /* 3px to account for transform */
		border-radius: 0% 0% 0% 100%;
		border-color: #d4dade;
		width: 125px;
		display: block;
		height: 125px;
		position: absolute;
		right: -132px;
		top: 10px;
		transform: rotate(-21deg) skewX(43deg) scale(-1);
	}

	.lines-between .icon-blocks-module__item:nth-child(even) {
		margin-top: 50px;
	}

	.lines-between .icon-blocks-module__item:nth-child(even)::after {
		transform: rotate(-36deg) skewX(43deg);
		top: 0;
	}

	.lines-between .icon-blocks-module__item:last-child::after {
		display: none;
	}
	
}