#banner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 10px;
}

#banner h3 {
	font-size: 12pt;
	width: 100%;
}

#banner-text {
	width: 50%;
}

#banner-icon {
	width: 45%;
	background-size: cover;
	max-width: 300px;
}

#main-content {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
	gap: 10px;
}

.content-holder {
	padding: 20px 10px;
	position: relative;
}

.content-holder h2 {
	height: 2em;
}

.content-block {
	height: 100%;
}

.block-icon {
	width: 40px;
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
	top: 0;
	box-shadow: 0 15px 50px 20px #421D86;
	border-radius: 100%;
}


@media screen and (min-width: 760px) and (max-width: 1515px) {
	#main-content {
		grid-template-columns: repeat(2, 1fr);
	}
}