
.nikeli-loop-image {
	display: block;
	width: 100%;
	overflow: hidden;
	position: relative;
}

.nikeli-loop-image__link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	line-height: 0;
	position: relative;
}

.nikeli-loop-image__img {
	display: block;
	width: 100%;
	height: 100%;
	vertical-align: middle;
}

.nikeli-loop-image .nikeli-loop-image__img--current,
.nikeli-loop-image .nikeli-loop-image__img--next {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	transition: opacity var(--nikeli-loop-fade, 0.6s) ease;
}

.nikeli-loop-image .nikeli-loop-image__img--next {
	opacity: 0 !important;
	pointer-events: none;
}

.nikeli-loop-image .nikeli-loop-image__img--next.is-visible {
	opacity: 1 !important;
}

.nikeli-loop-image .nikeli-loop-image__img--current.is-fading {
	opacity: 0 !important;
}

.nikeli-loop-image-widget--auto-height,
.nikeli-loop-image-widget--ratio-frame {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	--container-widget-height: auto !important;
	--container-widget-align-self: stretch !important;
	align-self: stretch !important;
}

.nikeli-loop-image-widget--auto-height > .elementor-widget-container,
.nikeli-loop-image-widget--ratio-frame > .elementor-widget-container {
	display: block !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

.nikeli-loop-image--auto-height {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

.nikeli-loop-image--auto-height .nikeli-loop-image__link {
	display: grid;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

.nikeli-loop-image--auto-height .nikeli-loop-image__img {
	grid-area: 1 / 1;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	object-fit: contain !important;
	object-position: center center !important;
}

.nikeli-loop-image--auto-height .nikeli-loop-image__img--current,
.nikeli-loop-image--auto-height .nikeli-loop-image__img--next {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	height: auto !important;
}

.nikeli-loop-image--auto-height .nikeli-loop-image__img--next {
	visibility: hidden;
}

.nikeli-loop-image--auto-height .nikeli-loop-image__img--next.is-visible {
	visibility: visible;
}

.nikeli-loop-image--ratio-frame,
.elementor-widget-loop-grid .nikeli-loop-image--auto-height {
	position: relative;
	aspect-ratio: var(--nikeli-loop-aspect-ratio, 4 / 5);
	overflow: hidden !important;
}

.nikeli-loop-image--ratio-frame .nikeli-loop-image__link,
.elementor-widget-loop-grid .nikeli-loop-image--auto-height .nikeli-loop-image__link {
	display: block !important;
	width: 100%;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: hidden !important;
	position: relative;
}

.nikeli-loop-image--ratio-frame .nikeli-loop-image__img,
.elementor-widget-loop-grid .nikeli-loop-image--auto-height .nikeli-loop-image__img {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
}

.nikeli-loop-image--ratio-frame .nikeli-loop-image__img,
.nikeli-loop-image--ratio-frame .nikeli-loop-image__img--current,
.nikeli-loop-image--ratio-frame .nikeli-loop-image__img--next,
.elementor-widget-loop-grid .nikeli-loop-image--auto-height .nikeli-loop-image__img,
.elementor-widget-loop-grid .nikeli-loop-image--auto-height .nikeli-loop-image__img--current,
.elementor-widget-loop-grid .nikeli-loop-image--auto-height .nikeli-loop-image__img--next {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	bottom: auto !important;
	transform: translate(-50%, -50%) !important;
}

.elementor-widget-loop-grid .nikeli-loop-image--auto-height .nikeli-loop-image__img--next {
	visibility: visible;
}

.nikeli-loop-image--placeholder {
	background: #f0f0f0;
	color: #666;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 12rem;
	text-align: center;
	padding: 1rem;
}
