#main {
	background: linear-gradient(180deg, rgba(242,242,242,0.8) 0%, rgba(255,255,255,1) 80%);
}

#library-row-services {
	padding-top: 50px;
	padding-bottom: 25px;
}

#library-row-services h2 {
	margin: 0;
	padding: 0;
	padding-bottom: 40px;
	
	font-size: 2.5rem;
	line-height: 3rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: center;

	color: #502e81;
}

#library-row-services .flex-col {
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
}

#library-row-services .card {
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 20px;
}

#library-row-services .card-top,
#library-row-services .card-top img,
#library-row-services .card-top::after {
	border-radius: 8px;
}

#library-row-services .card-top {
	position: relative;
	display: flex;
	height: 190px;

	-webkit-box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.2);
	box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.2);

	cursor: pointer;
}

#library-row-services .card-top img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	font-family: "object-fit:cover";
	object-fit: cover;
}

/* Overlay for card image, initially transparent */
#library-row-services .card-top::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: rgba(70, 29, 124, 0.7); /* #461d7c */
	opacity: 0;
	transition: opacity 0.5s ease;
}

/* Fade in overlay when h3 is hovered */
#library-row-services .card-top h3:hover ~ ::after,
#library-row-services .card-top:hover::after {
	opacity: 1;
}

#library-row-services .card-top h3 {
	z-index: 3;
	width: 100%;
	margin: 0;
	margin-bottom: 15px;
	padding: 12px 20px;

	align-self: flex-end;
	font-size: 1.5rem;
	line-height: 1.5rem;

	font-weight: 700;
	letter-spacing: .01em;

	background-color: rgba(39, 39, 39, .8);
	color: #fff;
}

#library-row-services a {
	color: #feca35;
}