/*
	README

	Do NOT modify this file directly; a number of widgets depend on this file being as is.
	Use the CSS file that is associated with your widget
	(ie. template: widget_template_custom_my_widget.html, CSS: widget_template_custom_my_widget.css)
	to make any theme-ing or overwrites you need.

	If you need to make significant changes such that overwriting would be complicated
	consider not using a different component from the Core Collection Library or
	not using the Core Component Library altogether.

	If you still feel the need to edit this file, copy/paste this CSS into a different file
	and use that instead.
*/

.core-marquee {
	position: relative;
	margin-bottom: 30px;
}

.core-marquee .slides {
	margin: 0 auto;
	padding: 0 15px;
	max-width: 1190px;
}

@supports (display: grid) {
	.core-marquee.full-width .slides {
		padding: 0;
		max-width: 100%;
	}
}

.core-marquee .slides {
	display: flex;
	flex-wrap: wrap;
}

@supports (display: grid) {
	.core-marquee .slides {
		display: grid;
	}
	
	.core-marquee .slides {
		gap: 8px;
	}
	
	@media (min-width: 640px) {
		.core-marquee.vertical .slides {
			gap: 8px;
			grid-template-columns: repeat(3, 1fr);
		}
	
		.core-marquee.vertical .slide:nth-child(1) {
			grid-column: 1 / span 3;
			grid-row: 1;
		}
		
		.core-marquee.horizontal .slides {
			gap: 40px 25px;
			grid-template-columns: 1fr 1fr;
			grid-template-rows: repeat(3, 1fr);
		}
		
		.core-marquee.horizontal .slide:nth-child(1) {
			grid-column: 1;
			grid-row: 1 / span 3;
		}
	}
}

.core-marquee .slide {
	position: relative;
	margin: 3px;
}

@supports (display: grid) {
	.core-marquee .slide {
		margin: 0;
	}
}

.core-marquee .slide > .inner {
	height: 100%;
}

@supports (display: grid) {
	.core-marquee.horizontal .slide:not(:nth-child(1)) > .inner {
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
}

.core-marquee .slide .content-section {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 12px 24px;
	width: 100%;
	pointer-events: none;
}

@supports (display: grid) {
	.core-marquee.horizontal .slide:not(:nth-child(1)) .content-section {
		position: relative;
		padding: 0 20px;
		pointer-events: all;
	}
}

.core-marquee .slide .img-cont {
	position: relative;
	overflow: hidden;
}

@supports (display: grid) {
	@media (min-width: 640px) {
		.core-marquee.horizontal .slide .img-cont.promoted {
			padding: 0;
			height: 100%;
		}
	}

	.core-marquee.horizontal .slide:not(:nth-child(1)) .img-cont {
		padding: 0;
		height: auto;
	}

	@media (min-width: 1024px) {
		.core-marquee.horizontal .slide:not(:nth-child(1)) .img-cont {
			flex: 0 0 239px;
		}
	}
}

.core-marquee .slide .img-cont::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 75%;
	background: linear-gradient(to top, rgba(0,0,0,0.5), transparent);
	pointer-events: none;
}

.core-marquee .slide img {
	display: block;
	width: 100%;
}

@supports (display: grid) {
	.core-marquee.horizontal .slide:nth-child(1) img {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.core-marquee .slide h4 {
	margin: 0;
	font-size: 22px;
	font-weight: 700;
	color: #fff;
}

@supports (display: grid) {
	.core-marquee.horizontal .slide:not(:nth-child(1)) h4 {
		font-size: 20px;
		color: #0b467e;
	}
}

.core-marquee .slide p {
	margin-bottom: 0;
	font-size: 16px;
	font-weight: 400;
	color: #fff;
}

@supports (display: grid) {
	.core-marquee.horizontal .slide:not(:nth-child(1)) p {
		display: none;
	}
}