.homepage_images:after {
	content: 'flickity';
	display: none; /* hide :after */
}
/* theme custom.css drops position:relative on .flickity-viewport (needed by
   #product .flickity-slider{position:inherit}); without it overflow:hidden
   cannot clip the absolutely positioned slider and all cells show as one row */
.homepage_images .flickity-viewport {
	position: relative;
}
.homepage_images .item{
	width : 100%;
	margin: 0 40px 0 40px;
	border-radius: 5px;
	overflow: hidden;
	transition: all .2s linear;
}
.homepage_images .item:hover {
}
.homepage_images {
	width : 100%;
	margin-right: 0;
	padding-bottom: 40px;
}
.homepage_images img{
	width : 100%;
	height : 100%;
	object-fit: cover;
	display: block;
	top: 0;
	left: 0;
	position: absolute;
	transition: all .2s linear;
	object-position: center;
}
.homepage_images .item:hover img {
	width  : 103%;
	height : 103%;
}
.homepage_images .img_wrap{
	width : 100%;
	padding-top: 100%;
	display: block;
	position: relative;
}

@media screen and ( min-width: 768px ) {

	/* enable Flickity by default */
	.homepage_images:after {
		content: '';
	}
	.homepage_images {
		display: flex;
		flex-wrap: wrap;
		width : calc(100% + 40px);
		margin-right: -40px;
		margin-top: 40px;
	}
	.homepage_images .item{
		width : calc((100% - 120px) / 3);
		margin: 0 40px 40px 0;
	}
	.homepage_images .item.cols4{
		width : calc((100% - 160px) / 4);
	}

}