.cs-image {
	position: relative;
	padding: 20px;
	border-radius: 10px;
	overflow: hidden;
	z-index: 0;
}

.cs-image.hasLightbox:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	background: var(--body);
	pointer-events: none;
	transition: all ease-in-out .5s;
}

.cs-image.hasLightbox:hover:before,
.cs-image.hasLightbox:focus:before {
	height: 100%;
}

.cs-image.hasLightbox:after {
	font: var(--fa-font-solid);
	content: "\f00e";
	display: inline-block;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 4rem;
	color: #fff;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all ease-in-out .5s;
}

.cs-image.hasLightbox:hover:after,
.cs-image.hasLightbox:focus:after {
	opacity: 1;
	visibility: visible;
}

.cs-image.hasLightbox .cs-image-featured {
	cursor: pointer;
}


{# Image Lightbox Styles #}
.cs-image__modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 101;
}
.cs-image__modal:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--dark);
	opacity: .8;
	z-index: -1;
}
.cs-image__modal > .container,
.cs-image__modal .cs-image__modal-body {
	height: 100%;
}
.cs-image__modal .cs-image__modal-body {
	display: grid;
	place-content: center;
}
.cs-image__modal .cs-image__modal-body .modal__content {
	position: relative;
	background: #fff;
	border-radius: 10px;
	padding: 20px;
}
.cs-image__modal .cs-image__modal-body .modal__content .modal__close {
	position: absolute;
	top: 1rem;
	right: 1.675rem;
	font-size: 1.5rem;
	cursor: pointer;
}

@media(min-width: 768px) {
	.cs-image__modal .cs-image__modal-body .modal__content {
		padding: 3rem;
	}
}