/* block module */
div.block-module {
	position:relative;
	box-sizing:border-box;
}
/* block holder */
div.block-holder {
	position:relative;
	box-sizing:border-box;
}
div.block-holder-ratio {
	font-size:0;
	line-height:0;
}
/* block-item */
div.block-item {
	position:relative;
	box-sizing:border-box;
	overflow:hidden;
}
/* to be able to show text below */
div.block-module.blockModule div.block-item {
	overflow:visible !important;
}
div.block-holder-ratio div.block-item {
	display:inline-block;
	vertical-align:top;
}
/* block-item-bg */
div.block-item-bg {
	position:relative;
	box-sizing:border-box;
	transition:transform 250ms;
}
div.block-holder-ratio div.block-item-bg
,div.block-holder-adaptive div.block-item-bg
{
	width:100%;
	height:0;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
/* block-item-bg overlay color */
div.block-item-bg > span {
	position:absolute;
	height:100%;
	width:100%;
	top:0;
	right:0;
	bottom:0;
	left:0;
	overflow:hidden;
}
/* block-item link */
/* block-item-inner link */
div.block-item > a {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	z-index:2;
	text-decoration:none;
	font-size:0;
}
/* blockModule: block-item overlay content */
div.block-content-overlay {
	position:absolute;
	height:100%;
	width:100%;
	top:0;
	right:0;
	bottom:0;
	left:0;
	overflow:hidden;
	z-index:1;
}
/* blockModule: block-item overlay content table */
div.block-content-overlay > div {
	position:absolute;
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}
/* blockModule: block-item-inner overlay content table cell */
div.block-content-overlay > div > div {
	width:100%;
	padding:0 5%;
	text-align:center;
}
p.block-item-caption {
	position:absolute;
	z-index:1;
	left:0;
	right:0;
	white-space:nowrap;
	overflow:hidden;
}
/* photoCollage: block-item overlay content */
div.block-item > span {
	position:absolute;
	height:100%;
	width:100%;
	top:0;
	right:0;
	bottom:0;
	left:0;
	overflow:hidden;
	z-index:1;
}
/* photoCollage: block-item overlay content table */
div.block-item > span > span {
	position:absolute;
	display:table;
	width:100%;
	height:100%;
	table-layout:fixed;/* to get word wrap to work */
}
/* photoCollage: block-item-inner overlay content table cell */
div.block-item > span > span > span {
	display:table-cell;
	vertical-align:middle;
	padding:0 5%;
	text-align:center;
}