/************************************/
/* GENERAL STYLES										*/
/************************************/
.kk-gallery,
.kk-gallery *{
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.kk-gallery .kk-gallery-container {
	--kk-gt-spacing: 1rem;
	gap: var(--kk-gt-spacing);
}

.kk-gallery .kk-gallery-image-wrapper {
	display: block;
	cursor: zoom-in;
	margin: 0;
	position: relative;
	overflow: hidden;
}

.kk-gallery .kk-gallery-image-desc {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 2rem 0.75rem 0.75rem 0.75rem;
	background: linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0));
	color: white;
	font-size: max(13px, 0.8rem);
	white-space: nowrap;
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	font-weight: 400;
	opacity: 0;
	transition: opacity 500ms ease, transform 300ms ease;
	transform: translateY(30px);
}

.kk-gallery .kk-gallery-image-wrapper:hover .kk-gallery-image-desc {
	opacity: 1;
	transform: translateY(0);
}

.kk-gallery .kk-gallery-image-desc a {
	color: inherit;
	text-decoration: underline;
}

.kk-gallery .kk-gallery-image {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center center;
	transition: transform 500ms ease, filter 500ms ease;
}

.kk-gallery-effect-zoom .kk-gallery-image:hover {
	transform: scale(1.1);
}

.kk-gallery-effect-greyfilter:has(.kk-gallery-image-wrapper:hover) .kk-gallery-image {
	filter: grayscale(90%);
}

.kk-gallery-effect-greyfilter .kk-gallery-image-wrapper:hover .kk-gallery-image {
	filter: grayscale(0%);
}

/************************************/
/* CLASSIC													*/
/************************************/
.kk-gallery .kk-gallery-container-classic {
	--kk-gt-spacing: 20px;
	display: inline-block;
	margin: calc(-0.5 * var(--kk-gt-spacing));
}

.kk-gallery .kk-gallery-container-classic:after {
	content: '';
	display: block;
	clear: both;
}

.kk-gallery .kk-gallery-container-classic .kk-gallery-image-wrapper {
	display: block;
	float: left;
	margin: calc(var(--kk-gt-spacing) / 2);
}

/************************************/
/* GRID															*/
/************************************/
.kk-gallery .kk-gallery-container-grid {
  display: grid;
	grid-template-columns: repeat(auto-fit, minmax(calc(var(--kk-gt-min-width) * 0.75px - var(--kk-gt-spacing)), 1fr));
}

/************************************/
/* COLLAGE													*/
/************************************/

.kk-gallery .kk-gallery-container-collage {
	--kk-gt-spacing: 4px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.kk-gallery .kk-gallery-container-collage .kk-gallery-image-wrapper {
	flex: var(--kk-gt-width) 1 auto;
}

.kk-gallery .kk-gallery-container-collage .kk-gallery-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	max-height: calc(0.75px * var(--kk-gt-min-height));
}

.kk-gallery-container.kk-gallery-container-collage::after {
	content: '';
	flex: 9999;
}

/************************************/
/* SLIDE														*/
/************************************/
.kk-gallery .kk-gallery-container-slide {
	--kk-gs-magnifier: 6;
	--kk-gs-transition: .7s .2s;
	--kk-gt-spacing: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--kk-gt-spacing);
}

.kk-gallery .kk-gallery-container-slide .kk-gallery-image-wrapper {
	transition: flex var(--kk-gs-transition), max-width var(--kk-gs-transition);
	overflow: hidden;
	flex: 1;
	height: calc(var(--kk-gt-min-height) * 1px);
}

.kk-gallery .kk-gallery-container-slide .kk-gallery-image-wrapper:hover {
	flex: var(--kk-gs-magnifier);
}

/************************************/
/* FLOW															*/
/************************************/
.kk-gallery .kk-gallery-container-flow {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-auto-flow: dense;
}

.kk-gallery .kk-gallery-container-flow .kk-gallery-image-wrapper:nth-child(9n+1) {
	grid-area: auto / auto / span 2 / span 1;
}

.kk-gallery .kk-gallery-container-flow .kk-gallery-image-wrapper:nth-child(9n+2) {
	grid-area: auto;
}

.kk-gallery .kk-gallery-container-flow .kk-gallery-image-wrapper:nth-child(9n+3) {
	grid-area: auto / auto / span 2 / span 1;
}

.kk-gallery .kk-gallery-container-flow .kk-gallery-image-wrapper:nth-child(9n+4) {
	grid-area: auto;
}


.kk-gallery .kk-gallery-container-flow .kk-gallery-image-wrapper:nth-child(9n+5) {
	grid-area: auto;
}

.kk-gallery .kk-gallery-container-flow .kk-gallery-image-wrapper:nth-child(9n+6) {
	grid-area: auto / auto / span 2 / span 1;
}

.kk-gallery .kk-gallery-container-flow .kk-gallery-image-wrapper:nth-child(9n+7) {
	grid-area: auto;
}

.kk-gallery .kk-gallery-container-flow .kk-gallery-image-wrapper:nth-child(9n+8) {
	grid-area: auto;
}

.kk-gallery .kk-gallery-container-flow .kk-gallery-image-wrapper:nth-child(9n+9) {
	grid-area: auto;
}

/************************************/
/* PHOTOSWIPE												*/
/************************************/
.kk-gallery-pswp .pswp__bg {
	background: black;
}

.kk-gallery-pswp .pswp__caption__center {
	text-align: center;
}