.carousel-wrapper {
	position: relative;
	display: grid;
	grid-template-columns: min-content 1fr min-content;
	user-select: none;
	
	background: transparent;
	padding: 8px;
	grid-column-gap: 8px;
}

.carousel-wrapper > * {
	grid-row: 1;
}

.carousel-button-left, .carousel-button-right {
	display: flex;
	align-items: center;
	padding: 8px;
	font-size: 24px;
	transition: 0.3s;
	border-radius: 8px;
	border: solid 2px transparent;
	cursor: pointer;
}

@media screen and (max-width: 575px) {
    .carousel-button-left, .carousel-button-right {
		display: none;
	}
}

.carousel-button-left:hover, .carousel-button-right:hover {
	transform: scale(1.3);
}

.carousel-button-left {
	grid-column: 1;
}

.carousel-button-right {
	grid-column: 3;
}

.carousel-content {
	grid-column: 2;
	position: relative;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	padding: 16px;
	white-space: nowrap;
}
@media screen and (min-width: 1200px) {
    
	.carousel-button-left {
		display: none;
	}

	.carousel-button-right {
		display: none;
	}
	
	.carousel-content {
		white-space: normal;
	}
	
}
@media screen and (max-width: 767px) {
	.carousel-content {
		white-space: normal;
	}
}

.carousel-card {
	position: relative;
	_height: 400px;
	width: 200px;
    max-width: 100%;
	display: inline-grid;
	padding: 8px;
	margin-left: 4px;
	margin-right: 4px;
	grid-template-rows: min-content min-content auto;
	box-sizing: border-box;
    text-decoration: none;
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	.carousel-card {
		width: 150px;
	}
}

.carousel-card-img-wrapper {
	grid-row: 1;
	width: 100%;
}

.carousel-card-img {
	width: 100%;
	position: relative;
}

.carousel-card-img img {
	width: 100%;
	object-fit: contain;
	transition: 0.3s;
}

.carousel-card.fade_image .carousel-card-img img {
	mask-image: 	linear-gradient(to bottom, transparent 0%, black 16px),

					linear-gradient(to top, transparent 0%, black 16px),

					linear-gradient(to right, transparent 0%, black 16px),

					linear-gradient(to left, transparent 0%, black 16px);

	mask-repeat: no-repeat;
	mask-position: 	center center;
	mask-composite: intersect;
	-webkit-mask-composite: intersect;
}

.carousel-card.round_corners .carousel-card-img img {
	border-radius: 10px;
}

.carousel-card-img-shadow-left {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 16px;
	_background: inherit;
	box-sizing: border-box;
}

.carousel-card:hover img {
	transform: scale(1.05) translate(0, -3px);
}

.carousel-card-label {
	text-align: center;
	_white-space: nowrap;
  	_word-wrap: normal;
	width: 100%;
	overflow: hidden;
	grid-row: 2;
	font-family: var(--font-family-title3);
    font-size: calc(1.25 * var(--font-size-paragraph));
    color: var(--color-title3);
	line-height: 1.3;
}
.carousel-card-label:not(empty) {
	margin-top: var(--font-size-caption);
}

.carousel-card-sublabel {
	text-align: center;
	width: 100%;
	grid-row: 3;
	
    text-overflow: ellipsis;
	line-height: 1;
	font-family: var(--font-family-caption);
    font-size: var(--font-size-caption);
    color: var(--color-caption);
   white-space: nowrap;
  word-wrap: normal;
}

.carousel-card-sublabel:not(empty) {
    _margin-top: var(--font-size-caption);
}

.carousel-card-label > *, .carousel-card-sublabel > * {
    display: inline;
}