/* RWS Aspen Book Displays 1.0
   Strongly scoped to resist WordPress theme/plugin CSS conflicts.
*/

.rws-aspen-display,
.rws-aspen-display *,
.rws-aspen-display *::before,
.rws-aspen-display *::after {
	box-sizing: border-box !important;
}

.rws-aspen-display {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: both !important;
}

.rws-aspen-display .rws-aspen-grid {
	display: grid !important;
	grid-template-columns: repeat(var(--rws-aspen-columns, 6), minmax(0, 1fr)) !important;
	gap: var(--rws-aspen-gap, 32px) !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.rws-aspen-display .rws-aspen-card {
	display: block !important;
	float: none !important;
	position: relative !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

.rws-aspen-display .rws-aspen-book-link {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 6px !important;
	color: inherit !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-align: center !important;
}

.rws-aspen-display .rws-aspen-book-link:hover .rws-aspen-title {
	text-decoration: underline !important;
}

.rws-aspen-display .rws-aspen-book-link:focus {
	outline: none !important;
}

.rws-aspen-display .rws-aspen-book-link:focus-visible {
	outline: 3px solid currentColor !important;
	outline-offset: 3px !important;
	text-decoration: none !important;
}

.rws-aspen-display .rws-aspen-cover-wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 200px !important;
	min-height: 200px !important;
	aspect-ratio: auto !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	overflow: visible !important;
	background: transparent !important;
}

.rws-aspen-display img.rws-aspen-cover {
	display: block !important;
	float: none !important;
	position: static !important;
	width: auto !important;
	max-width: 100% !important;
	height: 200px !important;
	max-height: 200px !important;
	min-height: 0 !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	object-fit: contain !important;
	object-position: center center !important;
}

.rws-aspen-display .rws-aspen-meta {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.rws-aspen-display .rws-aspen-title {
	display: -webkit-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: var(--rws-aspen-title-lines, 2) !important;
	line-clamp: var(--rws-aspen-title-lines, 2) !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 16px !important;
	color: inherit !important;
	text-align: center !important;
	text-decoration: none !important;
}

.rws-aspen-display .rws-aspen-author {
	display: block !important;
	width: 100% !important;
	margin: 5px 0 0 !important;
	padding: 0 !important;
	font: inherit !important;
	font-size: 0.92em !important;
	line-height: 1.35 !important;
	color: inherit !important;
	text-align: center !important;
	text-decoration: none !important;
	opacity: .82 !important;
}

/* Slider */
.rws-aspen-display.rws-aspen-slider {
	position: relative !important;
	padding-left: 54px !important;
	padding-right: 54px !important;
}

.rws-aspen-display .rws-aspen-track {
	display: grid !important;
	grid-auto-flow: column !important;
	grid-auto-columns: calc((100% - (var(--rws-aspen-slides, 5) - 1) * var(--rws-aspen-gap, 32px)) / var(--rws-aspen-slides, 5)) !important;
	gap: var(--rws-aspen-gap, 32px) !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 6px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-snap-type: x mandatory !important;
	scroll-behavior: smooth !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}

.rws-aspen-display .rws-aspen-track::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

.rws-aspen-display .rws-aspen-track .rws-aspen-card {
	scroll-snap-align: start !important;
}

.rws-aspen-display .rws-aspen-arrow {
	position: absolute !important;
	z-index: 5 !important;
	top: 42% !important;
	transform: translateY(-50%) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 2px solid currentColor !important;
	border-radius: 4px !important;
	background: #fff !important;
	color: #222 !important;
	font-size: 25px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	box-shadow: none !important;
}

.rws-aspen-display .rws-aspen-prev {
	left: 0 !important;
}

.rws-aspen-display .rws-aspen-next {
	right: 0 !important;
}

.rws-aspen-display .rws-aspen-arrow:hover {
	background: #f2f2f2 !important;
}

.rws-aspen-display .rws-aspen-arrow:focus {
	outline: none !important;
}

.rws-aspen-display .rws-aspen-arrow:focus-visible {
	outline: 3px solid currentColor !important;
	outline-offset: 3px !important;
}

.rws-aspen-display .rws-aspen-arrow:disabled {
	opacity: .4 !important;
	cursor: default !important;
}

.rws-aspen-error {
	padding: 12px 14px;
	border: 1px solid #b32d2e;
	background: #fff;
	color: #b32d2e;
}

@media (max-width: 1024px) {
	.rws-aspen-display .rws-aspen-cover-wrap {
		height: 185px !important;
		min-height: 185px !important;
	}


	.rws-aspen-display img.rws-aspen-cover {
		height: 185px !important;
		max-height: 185px !important;
	}



	.rws-aspen-display .rws-aspen-grid {
		grid-template-columns: repeat(var(--rws-aspen-tablet, 4), minmax(0, 1fr)) !important;
	}

	.rws-aspen-display .rws-aspen-track {
		grid-auto-columns: calc((100% - (var(--rws-aspen-tablet, 4) - 1) * var(--rws-aspen-gap, 32px)) / var(--rws-aspen-tablet, 4)) !important;
	}
}

@media (max-width: 767px) {
	.rws-aspen-display .rws-aspen-cover-wrap {
		height: 170px !important;
		min-height: 170px !important;
	}


	.rws-aspen-display img.rws-aspen-cover {
		height: 170px !important;
		max-height: 170px !important;
	}



	.rws-aspen-display .rws-aspen-grid {
		grid-template-columns: repeat(var(--rws-aspen-mobile, 2), minmax(0, 1fr)) !important;
	}

	.rws-aspen-display.rws-aspen-slider {
		padding-left: 46px !important;
		padding-right: 46px !important;
	}

	.rws-aspen-display .rws-aspen-track {
		grid-auto-columns: calc((100% - (var(--rws-aspen-mobile, 2) - 1) * var(--rws-aspen-gap, 32px)) / var(--rws-aspen-mobile, 2)) !important;
	}

	.rws-aspen-display .rws-aspen-arrow {
		width: 38px !important;
		height: 48px !important;
		font-size: 22px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rws-aspen-display .rws-aspen-track {
		scroll-behavior: auto !important;
	}
}
