.nis-picture {
	display: block;
	position: relative;
	overflow: hidden;
	width: min(100%, var(--nis-width, 100%));
	max-width: 100%;
	box-sizing: border-box;
	background-color: transparent;
}

.w-image .nis-picture,
.w-gallery .nis-picture,
.w-grid .nis-picture,
.w-post-elm .nis-picture,
.vc_grid-container .nis-picture,
.wpb_gallery .nis-picture {
	width: 100%;
}

.nis-picture.nis-has-ratio {
	aspect-ratio: var(--nis-ratio);
}

.nis-img {
	display: block;
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	object-position: var(--nis-focal-x, 50%) var(--nis-focal-y, 50%);
}

.nis-picture .nis-img {
	width: 100%;
	opacity: 0;
	transition: opacity .22s ease;
}

.nis-picture.nis-has-ratio .nis-img {
	height: 100%;
	object-fit: var(--nis-object-fit, cover);
}

.nis-img.nis-loaded,
.nis-picture.is-loaded .nis-img {
	opacity: 1;
}

.nis-picture.nis-visual:not(.is-loaded),
img.nis-img.nis-visual:not(.nis-loaded) {
	background-color: var(--nis-dominant, #e5e7eb);
	background-image:
		var(--nis-site-placeholder, none),
		var(--nis-blur-preview, none);
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	background-size: min(42%, 160px) auto, cover;
}

.nis-picture.nis-skeleton:not(.is-loaded),
img.nis-img.nis-skeleton:not(.nis-loaded) {
	background-image:
		linear-gradient(100deg, transparent 20%, rgba(255,255,255,.5) 48%, transparent 76%),
		var(--nis-site-placeholder, none),
		var(--nis-blur-preview, none);
	background-position: -220% 0, center, center;
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-size: 220% 100%, min(42%, 160px) auto, cover;
	animation: nis-skeleton 1.25s linear infinite;
}

.nis-picture.is-loaded,
img.nis-img.nis-loaded {
	animation: none;
	background-color: transparent;
	background-image: none;
}

.w-grid:not(.type_masonry) .w-post-elm.post_image.stretched,
.w-gallery.fit_cover .w-gallery-item-img {
	overflow: hidden;
}

.w-grid:not(.type_masonry) .w-post-elm.post_image.stretched > a,
.w-gallery.fit_cover .w-gallery-item-img > a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

img.nis-img[data-nis-context-cover="1"] {
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover !important;
	object-position: var(--nis-focal-x, 50%) var(--nis-focal-y, 50%) !important;
	opacity: 1 !important;
	transition: none !important;
}

.w-grid.type_masonry img.nis-img[data-nis-masonry="1"],
.w-grid.type_masonry img.nis-img.nis-masonry-passthrough,
.w-grid.type_masonry img.nis-masonry-bypass {
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
	opacity: 1 !important;
	transition: none !important;
}

@keyframes nis-skeleton {
	to {
		background-position: 220% 0, center, center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nis-picture.nis-skeleton:not(.is-loaded),
	img.nis-img.nis-skeleton:not(.nis-loaded) {
		animation: none;
	}
}
