:root {
	font-size: 10px;
	--primary: rgba(63, 21, 79, 1);
	--dark: rgba(31, 31, 31, 1);
	--dark-ish: rgba(180, 180, 180, 1);
	--light: rgba(255, 255, 255, 1);
	--light-opaque: rgba(255, 255, 255, 0.7);
	--box-shadow: 0px 3px 18px rgba(0, 0, 0, 0.3);
	--transition: all 0.4s;
	--box-shadow: 0px 3px 18px rgba(0, 0, 0, 0.6);
	--box-shadow-hover: 0px 3px 20px 2px rgba(31, 31, 31, 0.9);
}

html {
	height: 100%;
	background-image:
		radial-gradient(at 85% 0%, hsla(47, 100%, 70%, 1) 0, transparent 57%),
		radial-gradient(at 6% 83%, hsla(277, 100%, 50%, 1) 0, transparent 77%),
		radial-gradient(at 6% 11%, hsla(200, 100%, 76%, 1) 0, transparent 72%),
		radial-gradient(at 90% 99%, hsla(307, 100%, 50%, 1) 0, transparent 86%);
}

body,
.wrapper {
	font-family: 'Nunito', sans-serif;
	font-size: 2rem;
	line-height: 3rem;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

.wrapper {
	height: 100%;
}

#grid-items {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 15px;
	grid-row-gap: 45px;
	margin: auto;
	padding: 75px 15px 0px 15px;
	max-width: 1200px;
}

.span-2 {
	grid-column: span 2;
}

.span-3 {
	grid-column: span 3;
}

.card {
	padding: 0px;
	box-shadow: var(--box-shadow);
	border-radius: 15px 15px 10px 10px;
	background-color: var(--light-opaque);
	opacity: 0.97;
}

.card:hover {
	--box-shadow: 0px 3px 35px rgba(0, 0, 0, 0.4);
}

.card:hover>.card-head>.icon {
	color: var(--light);
}

.card:hover>.card-content img {
	mix-blend-mode: normal;
}

.hover {
	--transition: all 0.9s;
	background-color: var(--light);
	opacity: 1;
}

.card-head {
	display: flex;
	justify-content: center;
	text-transform: uppercase;
	background-color: var(--dark);
	border-radius: 10px 10px 0px 0px;
	height: 50px;
	width: 1fr;
}

.icon {
	color: var(--light);
	display: flex;
	justify-content: center;
	align-items: center;
	justify-self: center;
	position: absolute;
	margin-top: -35px;
	width: 30px;
	height: 30px;
	z-index: 10;
	background-color: var(--dark);
	padding: 20px;
	border-radius: 100px;
	box-shadow: var(--box-shadow);
}

.card-content {
	padding: 15px;
	display: inline-grid;
}

.card-content div {
	display: block;
}

.card-content>div {
	margin-left: 5px;
}

.card-content img {
	vertical-align: baseline;
	height: 16px;
	width: auto;
	opacity: 0.6;
}

.card-content a {
	text-transform: capitalize;
	display: inline;
	padding-left: 5px;
	padding-right: 5px;
	margin-left: 5px;
	border-radius: 5px;
	text-decoration: none;
	color: var(--dark);
	/* underline animation */
	background-image: linear-gradient(var(--dark), var(--dark));
	background-position: 0% 100%;
	background-repeat: no-repeat;
	background-size: 0% 2px;
	transition: background-size .2s;
}

.card-content a:hover {
	background-size: 100% 2px;
	color: #000;
	/* end underline animation */
}

.feather {
	width: 36px;
	height: 36px;
	stroke: currentColor;
	stroke-width: 1;
	stroke-linecap: round;
	stroke-linejoin: round;
	fill: none;
}

@media screen and (max-width: 1000px) {
	#grid-items {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 700px) {
	#grid-items {
		grid-template-columns: repeat(2, 1fr);
		grid-row-gap: 50px;
		padding: 50px 15px;
	}
}