.icon-callout-tiles {
	overflow: hidden;
	margin-bottom: 29px;
}

.icon-callout-tiles .widget-header {
	background-color: var(--black);
	display: inline-block;
	margin-bottom: 6px;
	padding: 16px 14px 18px;
}

.icon-callout-tiles .widget-header.plain {
	display: block;
	background: none;
	max-width: 1100px;
	padding: 0 20px;
	margin: 0 auto;
}

.icon-callout-tiles .widget-title {
	color: var(--white);
	font-size: 30px;
	text-transform: uppercase;
	font-family: var(--font-alternate);
	font-weight: var(--font-weight-semilight);
	line-height: 1;
}

.icon-callout-tiles .widget-title b {
	font-weight: var(--font-weight-demi);
}

.icon-callout-tiles .widget-title.large {
	font-weight: var(--font-weight-bold);
	font-size: 40px;
	line-height: 1.2;
	color: var(--black);
	text-transform: none;
}

.icon-callout-tiles .widget-title.large b {
	font-weight: inherit;
}

.icon-callout-tiles .slides {
	display: flex;
	overflow-y: hidden;
	overflow-x: auto;
	overscroll-behavior: contain;
	width: 100%;
	max-width: 1153px;
	margin: 0 auto;
	justify-content: space-between;
	gap: 7px;
	padding-inline: 7px;
	padding-block: 15px;
}

.icon-callout-tiles .slide {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 11px;
	border-radius: 10px;
	width: 80px;
	background-color: #f2f2f2;
	flex-shrink: 0;
	text-decoration: none;
	padding-block: 4px;
	padding-inline: 2px;
	position: relative;
	overflow: hidden;
	transition: box-shadow var(--transition-appendix), transform var(--transition-appendix);
}

.icon-callout-tiles .slide > * {
	position: relative;
}

.icon-callout-tiles .slide:before {
	content: '';
	pointer-events: none;
	position: absolute;
	inset: 0;
	background: transparent radial-gradient(closest-side at 90% 13%, #B44AFF 0%, #9600FF 1000%) 0% 0% no-repeat padding-box;
	opacity: 0;
	transition: opacity var(--transition-appendix);
}

.icon-callout-tiles.black-hover .slide:before {
	background: var(--black);
}

.icon-callout-tiles .slide img {
	pointer-events: none;
	width: 29px;
	transition: filter var(--transition-appendix), transform var(--transition-appendix);
}

.icon-callout-tiles .slide i {
	color: var(--gray);
	font-size: 2rem;
	transition: color var(--transition-appendix), transform var(--transition-appendix);
}

.icon-callout-tiles .slide .slide-title {
	text-transform: uppercase;
	color: var(--black);
	font-weight: var(--font-weight-heavy);
	font-size: 8px;
	letter-spacing: normal;
	line-height: calc(8/9);
	text-align: center;
	transition: color var(--transition-appendix), transform var(--transition-appendix);
}

/*----- grid variants -----*/

.icon-callout-tiles .slides.length-4,
.icon-callout-tiles .slides.length-3,
.icon-callout-tiles .slides.length-2,
.icon-callout-tiles .slides.length-1 {
	width: 100%;
	max-width: 958px;
	overflow: hidden;
}

.icon-callout-tiles .slides.length-4,
.icon-callout-tiles .slides.length-3,
.icon-callout-tiles .slides.length-2 {
	display: grid;
}

.icon-callout-tiles .slides.length-4 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 24px;
}

.icon-callout-tiles .slides.length-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 17px;
}

.icon-callout-tiles .slides.length-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.icon-callout-tiles .slides.length-4 .slide,
.icon-callout-tiles .slides.length-3 .slide,
.icon-callout-tiles .slides.length-2 .slide,
.icon-callout-tiles .slides.length-1 .slide {
	width: 100%;
}

/*----- media queries -----*/

@media (hover: hover) {
	.icon-callout-tiles .slide:hover {
		box-shadow: 0px 2px 10px #C370FD;
		transform: scaleY(1.1);
	}

	.icon-callout-tiles .slide:hover:before { 
		opacity: 1;
	}

	.icon-callout-tiles .slide:hover img {
		filter: drop-shadow(#C370FD 0px 2px 10px) invert(1);
		transform: scaleY(calc(1/1.1));
	}

	.icon-callout-tiles .slide:hover i {
		color: var(--white);
		transform: scaleY(calc(1/1.1));
	}

	.icon-callout-tiles .slide:hover .slide-title {
		color: var(--white);
		transform:  scaleY(calc(1/1.1));
	}

	.icon-callout-tiles.black-hover .slide:hover {
		box-shadow: none;
		transform: none;
	}

	.icon-callout-tiles.black-hover .slide:hover img {
		transform: none;
	}

	.icon-callout-tiles.black-hover .slide:hover .slide-title {
		transform: none;
	}

}

@media (min-width: 40em) {
	.icon-callout-tiles .slide {
		padding-top: 10px;
		padding-bottom: 10px;
		padding-inline: 5px;
		width: 120px;
		gap: 11px;
	}

	.icon-callout-tiles .slide img {
		pointer-events: none;
		width: 36px;
	}

	.icon-callout-tiles .slide i {
		font-size: calc(40rem/16);
	}

	.icon-callout-tiles .slide .slide-title {
		font-size: 12px;
		line-height: calc(16/12);
	}
}

@media (min-width: 64em) {
	.icon-callout-tiles {
		margin-bottom: 31px;
	}

	.icon-callout-tiles .widget-header {
		padding: 16px 30px 18px;
		margin-bottom: 16px;
	}

	.icon-callout-tiles .widget-header.plain {
		padding: 0;
		margin-bottom: 12px;
	}

	.icon-callout-tiles .widget-title.large {
		font-size: 60px;
		line-height: calc(7/6);
	}

	.icon-callout-tiles .slides {
		gap: 20px;
		justify-content: center;
	}

	/* grid variants */

	.icon-callout-tiles .slides.length-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 31px;
	}

	.icon-callout-tiles .slides.length-3,
	.icon-callout-tiles .slides.length-2 {
		gap: 75px;
	}
}

@media (min-width: 90em) {
	.icon-callout-tiles.header-left {
		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: 1500px;
	}

	.icon-callout-tiles.header-left .widget-header {
		margin-bottom: 0;
	}

	.icon-callout-tiles .slides,
	.icon-callout-tiles.header-left .slides {
		max-width: none;
	}

	.icon-callout-tiles.header-left .slides {
		margin-inline: unset;
		gap: 28px
	}

	.icon-callout-tiles .slides {
		gap: 31px;
		padding-inline: 29px;
	}

	.icon-callout-tiles .slide {
		width: 130px;
	}

	.icon-callout-tiles .slide img {
		pointer-events: none;
		width: 46px;
	}

	.icon-callout-tiles .widget-title {
		font-size: 40px;
	}
}

@media (min-width: 115em) {
	.icon-callout-tiles.header-left {
		position: relative;
		justify-content: center;
		padding-inline: 301px;
		max-width: none;
	}

	.icon-callout-tiles .slides {
		gap: 50px;
	}

	.icon-callout-tiles.header-left .widget-header {
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		max-width: 301px;
	}
}

@media (min-width: 125em) {
	.icon-callout-tiles.header-left .slides {
		gap: 50px;
	}
}