.fasn8-gallery-grid {
	--fasn8-columns: 4;
	--fasn8-gap: 12px;
	display: grid;
	gap: var(--fasn8-gap);
	grid-template-columns: repeat(var(--fasn8-columns), minmax(0, 1fr));
	margin-bottom: 1.5rem;
}

.fasn8-gallery-grid.fasn8-layout-square .fasn8-gallery-item-link {
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	overflow: hidden;
}

.fasn8-gallery-grid.fasn8-layout-square .fasn8-gallery-item-link img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fasn8-gallery-grid.fasn8-layout-tiles {
	grid-auto-flow: dense;
	grid-auto-rows: 18px;
}

.fasn8-gallery-grid.fasn8-layout-tiles .fasn8-gallery-item-link {
	border-radius: 8px;
	grid-row: span 14;
	min-height: 0;
	overflow: hidden;
}

.fasn8-gallery-grid.fasn8-layout-tiles .fasn8-gallery-item-link:nth-child(6n + 1) {
	grid-column: span 2;
	grid-row: span 17;
}

.fasn8-gallery-grid.fasn8-layout-tiles .fasn8-gallery-item-link:nth-child(8n + 3) {
	grid-row: span 18;
}

.fasn8-gallery-grid.fasn8-layout-tiles .fasn8-gallery-item-link:nth-child(10n + 5) {
	grid-row: span 12;
}

.fasn8-gallery-grid.fasn8-layout-tiles .fasn8-gallery-item-link:nth-child(11n + 7) {
	grid-column: span 2;
	grid-row: span 14;
}

.fasn8-gallery-grid.fasn8-layout-tiles .fasn8-gallery-item-link:nth-child(13n + 9) {
	grid-row: span 16;
}

.fasn8-gallery-grid.fasn8-layout-tiles.fasn8-columns-1 .fasn8-gallery-item-link {
	grid-column: span 1 !important;
}

.fasn8-gallery-grid.fasn8-layout-tiles .fasn8-gallery-item-link img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fasn8-gallery-grid.fasn8-layout-masonry {
	column-count: var(--fasn8-columns);
	column-gap: var(--fasn8-gap);
	display: block;
}

.fasn8-gallery-grid.fasn8-layout-masonry .fasn8-gallery-item-link {
	break-inside: avoid;
	display: inline-block;
	margin: 0 0 var(--fasn8-gap);
	width: 100%;
}

.fasn8-gallery-grid.fasn8-layout-justify {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: var(--fasn8-gap);
}

.fasn8-gallery-grid.fasn8-layout-justify .fasn8-gallery-item-link {
	border-radius: 8px;
	display: flex;
	flex: 0 0 calc((100% - (var(--fasn8-gap) * (var(--fasn8-columns) - 1))) / var(--fasn8-columns));
	height: 180px;
	max-width: calc((100% - (var(--fasn8-gap) * (var(--fasn8-columns) - 1))) / var(--fasn8-columns));
	min-width: 0;
	overflow: hidden;
}

.fasn8-gallery-grid.fasn8-layout-justify .fasn8-gallery-item-link img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fasn8-gallery-grid.fasn8-layout-ratio43,
.fasn8-gallery-grid.fasn8-layout-ratio42 {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: var(--fasn8-gap);
}

.fasn8-gallery-grid.fasn8-layout-ratio43 {
	--fasn8-item-ratio: 4 / 3;
}

.fasn8-gallery-grid.fasn8-layout-ratio42 {
	--fasn8-item-ratio: 2 / 1;
}

.fasn8-gallery-grid.fasn8-layout-ratio43 .fasn8-gallery-item-link,
.fasn8-gallery-grid.fasn8-layout-ratio42 .fasn8-gallery-item-link {
	aspect-ratio: var(--fasn8-item-ratio);
	border-radius: 8px;
	display: block;
	flex: 0 0 calc((100% - (var(--fasn8-gap) * (var(--fasn8-columns) - 1))) / var(--fasn8-columns));
	max-width: calc((100% - (var(--fasn8-gap) * (var(--fasn8-columns) - 1))) / var(--fasn8-columns));
	min-width: 0;
	overflow: hidden;
}

.fasn8-gallery-grid.fasn8-layout-ratio43 .fasn8-gallery-item-link img,
.fasn8-gallery-grid.fasn8-layout-ratio42 .fasn8-gallery-item-link img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fasn8-gallery-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0.35rem 0 1.25rem;
}

.fasn8-gallery-pagination-link,
.fasn8-gallery-pagination-dots {
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 999px;
	font-size: 0.88rem;
	line-height: 1;
	padding: 7px 11px;
}

.fasn8-gallery-pagination-link {
	color: inherit;
	text-decoration: none;
}

.fasn8-gallery-pagination-link.is-current {
	background: #111;
	border-color: #111;
	color: #fff;
	font-weight: 600;
}

.fasn8-gallery-pagination-link.is-prev,
.fasn8-gallery-pagination-link.is-next {
	font-weight: 600;
}

.fasn8-gallery-pagination-dots {
	border-color: transparent;
	opacity: 0.65;
}

.fasn8-albums-overview-nav {
	margin: 0 0 2rem;
}

.fasn8-overview-breadcrumb {
	--fasn8-overview-sep-size: 12px;
	--fasn8-overview-sep-gap: 0.35em;
	--fasn8-overview-sep-opacity: 0.75;
	--fasn8-overview-sep-img: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMjc4LjAwMDAwMHB0IiBoZWlnaHQ9IjI3Ny4wMDAwMDBwdCIgdmlld0JveD0iMCAwIDI3OC4wMDAwMDAgMjc3LjAwMDAwMCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgoKPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsMjc3LjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTE1ODYgMjY4MCBjLTEyOSAtMjAwIC0zMzEgLTM0OCAtNTY0IC00MTIgLTYzIC0xOCAtMTA2IC0yMiAtMjM3Ci0yMiAtMTcxIC0xIC0yMzEgOSAtMzU2IDYwIC0zMiAxMyAtNjQgMjQgLTcwIDI0IC04IDAgLTM0OSAtNjc3IC0zNDkgLTY5NCAwCi0yIDMyIC0yMyA3MiAtNDYgODQgLTUwIDIxMyAtMTcxIDI3MyAtMjU1IDEzMyAtMTg4IDIwMCAtNDMyIDE3NiAtNjQ3IC0xNAotMTIzIC0zNCAtMTk3IC04NiAtMzIwIC02IC0xNCA0OSAtNDUgMzQzIC0xOTIgbDM0OSAtMTc1IDU2IDg3IGMxMjggMTk5IDMxMgozMzYgNTUyIDQwOCA4MiAyNSAxMDQgMjggMjUwIDI3IDE3MyAwIDI1NyAtMTUgMzcxIC02NyA0MiAtMjAgNTUgLTIyIDY0IC0xMgoxMyAxNiAzNDIgNjg4IDMzOCA2OTAgLTIwMyAxMzIgLTI3OSAyMDEgLTM2MyAzMzAgLTE2NiAyNTQgLTIwNiA1NTAgLTExMSA4MjYKMTggNTIgMzYgMTAzIDQwIDExMiA3IDE0IC00NiA0NCAtMzQyIDE5MiBsLTM0OSAxNzUgLTU3IC04OXoiLz4KPC9nPgo8L3N2Zz4K");
	align-items: center;
	color: #555;
	display: flex;
	font-size: 0.9rem;
	flex-wrap: wrap;
	gap: 0.25rem;
	margin: 0 0 1rem;
}

.fasn8-overview-bc-item {
	color: inherit;
	text-decoration: none;
}

.fasn8-overview-bc-item.is-current {
	font-weight: 600;
}

.fasn8-overview-bc-sep {
	display: inline-flex;
}

.fasn8-overview-sep-icon {
	display: inline-block;
	vertical-align: middle;
	width: var(--fasn8-overview-sep-size);
	height: var(--fasn8-overview-sep-size);
	margin: 0 var(--fasn8-overview-sep-gap);
	opacity: var(--fasn8-overview-sep-opacity);
	background-image: var(--fasn8-overview-sep-img);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translateY(1px);
}

.fasn8-albums-overview {
	--fasn8-album-overview-columns: 3;
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(var(--fasn8-album-overview-columns), minmax(0, 1fr));
	margin: 0 0 2rem;
}

.fasn8-albums-overview-columns-1 { --fasn8-album-overview-columns: 1; }
.fasn8-albums-overview-columns-2 { --fasn8-album-overview-columns: 2; }
.fasn8-albums-overview-columns-3 { --fasn8-album-overview-columns: 3; }
.fasn8-albums-overview-columns-4 { --fasn8-album-overview-columns: 4; }

.fasn8-album-card {
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	overflow: hidden;
}

.fasn8-album-card-link {
	color: inherit;
	display: block;
	text-decoration: none !important;
}

.fasn8-album-card-link:hover,
.fasn8-album-card-link:focus,
.fasn8-album-card-link:active,
.fasn8-album-card-link * {
	text-decoration: none !important;
}

.fasn8-album-card-cover img,
.fasn8-album-card-cover-placeholder {
	aspect-ratio: 4 / 3;
	background: #f2f2f2;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.fasn8-album-card-body {
	padding: 10px 12px 12px;
	text-align: center;
}

.fasn8-albums-overview .fasn8-album-card-title {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 10px 0 15px 0;
}

.fasn8-album-card-meta {
	color: #666;
	font-size: 0.70rem;
	font-weight: 600;
	margin: 0;
}

.fasn8-galleries-overview {
	--fasn8-galleries-overview-columns: 3;
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(var(--fasn8-galleries-overview-columns), minmax(0, 1fr));
}

.fasn8-galleries-overview-columns-1 { --fasn8-galleries-overview-columns: 1; }
.fasn8-galleries-overview-columns-2 { --fasn8-galleries-overview-columns: 2; }
.fasn8-galleries-overview-columns-3 { --fasn8-galleries-overview-columns: 3; }
.fasn8-galleries-overview-columns-4 { --fasn8-galleries-overview-columns: 4; }

.fasn8-gallery-card {
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	overflow: hidden;
}

.fasn8-gallery-card-link {
	color: inherit;
	display: block;
	text-decoration: none !important;
}

.fasn8-gallery-card-link:hover,
.fasn8-gallery-card-link:focus,
.fasn8-gallery-card-link:active,
.fasn8-gallery-card-link * {
	text-decoration: none !important;
}

.fasn8-gallery-card-cover img {
	aspect-ratio: 4 / 3;
	display: block;
	object-fit: cover;
	width: 100%;
}

.fasn8-gallery-card-body {
	padding: 10px 12px 12px;
	text-align: center;
}

.fasn8-galleries-overview .fasn8-gallery-card-title {
	font-size: 1.0rem;
	font-weight: 600;
	line-height: 1.3;
	margin: 10px 0 15px 0;
}

.fasn8-gallery-card-meta {
	color: #666;
	font-size: 0.70rem;
	font-weight: 600;
	margin: 0;
}

.fasn8-overview-gallery-single {
	margin-top: 0.5rem;
}

.fasn8-overview-gallery-title {
	margin: 0 0 0.2rem;
}

.fasn8-overview-gallery-meta {
	color: #666;
	font-size: 0.9rem;
	margin: 0 0 0.9rem;
}

.fasn8-overview-empty {
	color: #666;
	margin: 0.4rem 0;
}

.fasn8-columns-1 { --fasn8-columns: 1; }
.fasn8-columns-2 { --fasn8-columns: 2; }
.fasn8-columns-3 { --fasn8-columns: 3; }
.fasn8-columns-4 { --fasn8-columns: 4; }
.fasn8-columns-5 { --fasn8-columns: 5; }
.fasn8-columns-6 { --fasn8-columns: 6; }

.fasn8-gallery-item-link {
	display: block;
	text-decoration: none;
}

.fasn8-gallery-item-link img {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.fasn8-lightbox {
	align-items: center;
	background: rgba(0, 0, 0, 0.9);
	display: none;
	inset: 0;
	justify-content: center;
	position: fixed;
	z-index: 999999;
}

.fasn8-lightbox.is-open {
	display: flex;
}

.fasn8-lightbox-figure {
	margin: 0;
	max-height: 90vh;
	max-width: 88vw;
	text-align: center;
}

.fasn8-lightbox-image {
	max-height: 82vh;
	max-width: 88vw;
}

.fasn8-lightbox-meta {
	color: #fff;
	margin-top: 10px;
}

.fasn8-lightbox-caption {
	font-weight: 600;
}

.fasn8-lightbox-description {
	color: #fff;
	margin-top: 4px;
	opacity: 0.9;
}

.fasn8-lightbox-close,
.fasn8-lightbox-nav {
	background: transparent;
	border: 0;
	color: #fff;
	cursor: pointer;
	font-size: 2rem;
	line-height: 1;
}

.fasn8-lightbox-close {
	position: absolute;
	right: 20px;
	top: 18px;
}

.fasn8-lightbox-nav {
	padding: 0 16px;
}

body.fasn8-lightbox-open {
	overflow: hidden;
}

@media (max-width: 960px) {
	.fasn8-gallery-grid {
		--fasn8-columns: 2;
	}

	.fasn8-gallery-grid.fasn8-layout-tiles {
		grid-auto-rows: 14px;
	}

	.fasn8-gallery-grid.fasn8-layout-tiles .fasn8-gallery-item-link:nth-child(6n + 1),
	.fasn8-gallery-grid.fasn8-layout-tiles .fasn8-gallery-item-link:nth-child(11n + 7) {
		grid-column: span 1;
	}

	.fasn8-gallery-grid.fasn8-layout-justify .fasn8-gallery-item-link {
		height: 140px;
	}

	.fasn8-albums-overview {
		--fasn8-album-overview-columns: 2;
	}

	.fasn8-galleries-overview {
		--fasn8-galleries-overview-columns: 2;
	}
}
