.mosaic,
.mosaic .img-cont {
	position: relative;
}
.mosaic .cols {
	padding: 0 20px 1px;
	position: relative;
	z-index: 2;
}
.mosaic .cols:after {
	content: "";
	background-image: url("../png/mosaic-background.png");
	position: absolute;
	top: 80px;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	z-index: -1;
}
.mosaic .slide {
	margin-bottom: 37px;
}
.mosaic .slide .cta {
	position: absolute;
	bottom: 10px;
	right: 10px;
}
.mosaic .slide .cta a.read-more {
	background-image: url('../png/diamond.png');
	background-size: cover;
	color: #fff;
	font-weight: bold;
	pointer-events: all;
	transition: opacity .1s;
	width: 65px;
	height: 65px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.mosaic .slide .inner {
	position: relative;
}
.mosaic .slide .inner i {
	color: #ffffff;
}
.mosaic .img-cont::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background: rgba(0,0,0,0.50) 0%;
}
.mosaic .img-cont img {
	display: block;
	width: 100%;
}
.mosaic .title-cont {
	padding: 0 22px;
	margin-bottom: 45px;
}
.mosaic .title-cont h2 {
	font-size: 38px;
	line-height: 50px;
	text-align: left;
	color: #021d44;
	letter-spacing: 3px;
	font-weight: 100;
	font-family: 'Montserrat', sans-serif;
}
.mosaic .title-cont a.view-all {
	font-family: 'Rock Salt', cursive;
	color: #1c2932;
	font-size: 16px;
	line-height: 22px;
	font-weight: 900;
}
.mosaic .title-cont a.view-all i {
	color: #5c29a8;
}	
.mosaic h4,
.mosaic h4 a {
	color: #ffffff;
	font-weight: bold;
	pointer-events: all;
	font-family: 'rift-soft', sans-serif;
	font-size: 54px;
	line-height: 54px;
	text-align: center;
}
.mosaic h4 i {
	color: #96d901;
}
.mosaic .content-section {
	padding: 20px 0;
	left: 50%;
	top: 50%;
	z-index: 10;
	pointer-events: none;
	position: absolute;
	transform: translate(-50%, -50%);
}
.mosaic .content-section p {
	color: #fff;
	font-family: 'Montserrat', sans-serif;
}
.mosaic .content-section .read-more {
	color: #008CBA;
	font-weight: bold;
	display: inline-block;
	/* IE, requires any display property other than inline to work
	 with pointer events all here */
	pointer-events: all;
	transition: opacity .1s;
}

@media (min-width: 40em) {
	.panel-two-col .mosaic {
		margin-bottom: 0;
	}
	.mosaic .cols {
		display: flex;
		flex-wrap: wrap;
	}
	.mosaic .cols .slide {
		width: calc((100% - 30px) / 2);
		margin-right: 30px;
	}
	.mosaic .title-cont {
		max-width: 1050px;
		margin: 0 auto 50px;
		display: flex;
	}
	.mosaic .cols .slide-cont {
		display: flex;
		flex-wrap: wrap;
		max-width: 1220px;
		margin: 0 auto;
	}
}

@media (min-width: 40em) and (max-width: 64em) {
	.mosaic .cols .slide:nth-of-type(even) {
		margin-right: 0;
	}
}
@media (min-width: 960px) and (max-width:1260px) {
	.mosaic .cols .slide:nth-of-type(1) {
		position: relative;
		top: 115px
	}
	.mosaic .cols .slide:nth-of-type(3) {
		bottom: 175px;
		position: relative;
	}

}
@media (min-width: 64em) {
	.mosaic {
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.mosaic .cols .slide {
		width: calc((100% - 60px) / 2);
		margin-right: 30px;
	}
	.mosaic .cols .slide:nth-of-type(even) {
		margin-right: 0;
	}
	.mosaic .cols .slide:nth-of-type(1) {
		width: 49%;
		margin-right: 35px;
		top: 90px;
		position: relative;
	}
	.mosaic .cols .slide:nth-of-type(2) {
		width: 43%;
	}
	.mosaic .cols .slide:nth-of-type(3) {
		margin-right: 35px;
		width: 55%;
		position: relative;
		right: 71px;
		top: -15%;
	}
	.mosaic .cols .slide:nth-of-type(4) {
		width: 35%;
		position: relative;
		right: 70px;
	}
	.mosaic h4,
	.mosaic h4 a {
		font-size: 80px;
		line-height: 80px;
		font-weight: 900;
	}
	.mosaic .content-section p {
		font-size: 17px;
		line-height: 27px;
	}
	.mosaic .cols:after {
		background-image: url('../png/mosaic-background-large.png');
		top: 145px;
		background-position: bottom;
		height: 85%;
	}
	.mosaic .title-cont h2 {
		font-size: 48px;
		line-height: 50px;
	}
	.mosaic .title-cont a.view-all {
		font-size: 18px;
		line-height: 25px;
	}
	.mosaic .cols .slide-cont {
		position: relative;
		left: 70px;
	}
	.mosaic .slide .cta {
		width: 100px;
		height: 100px;
		bottom: 25px;
		right: 25px;
	}
	.mosaic .slide .cta a.read-more {
		width: 100px;
		height: 100px;
		position: relative;
		z-index: 1;
	}
	.mosaic .slide .cta a.read-more::after {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background-image: url('../png/diamond-hover.png');
		background-size: cover;
		z-index: -1;
		pointer-events: none;
		opacity: 0;
		transition: opacity 200ms ease;
	}
	.mosaic .slide:hover .cta a.read-more::after{
		opacity: 1;
	}
}