@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600&display=swap');

:root {
	--soft_blue: hsl(215, 51%, 70%);
	--cyan: hsl(178, 100%, 50%);
	--very_dark_blue_main: hsl(217, 54%, 11%);
	--very_dark_blue_card: hsl(216, 50%, 16%);
	--very_dark_blue_line: hsl(215, 32%, 27%);
	--white: hsl(0, 0%, 100%);
}

* {
	font-family: 'Outfit', sans-serif;
	box-sizing: border-box;
}

body {
	background-color: var(--very_dark_blue_main);
}

main {
	/* position: relative; */
	height: 95vh;
	width: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.card {
	width: 100%;
	max-width: 365px;
	border-radius: 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column;
	background-color: var(--very_dark_blue_card);
	padding: 1.5rem;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.card > .image {
	width: 100%;
	position: relative;
	border-radius: .5rem;
	overflow: hidden;
	margin-bottom: .5rem;
}

.image > .main-image, .image > .overlay {
	width: 100%;
	display: block;
}

.image > .overlay {
	position: absolute;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	background-color: var(--cyan);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: all .2s ease-in-out;
	cursor: pointer;
}

.image > .overlay:hover {
	opacity: 0.5;
}

.description > h1 {
	align-self: left;
	color: var(--white);
	font-size: 1.5rem;
}

.description > p {
	font-size: 18px;
	color: var(--soft_blue);
}

.price-and-expired {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid var(--very_dark_blue_line);
	padding-bottom: 1rem;
}

.price-and-expired > div {
	display: flex;
}

.price-and-expired span {
	margin-left: .5rem;
}

.price > span {
	color: var(--cyan);
}

.expired > span {
	color: var(--soft_blue);
}

.creator {
	width: 100%;
	margin-top: 1rem;
	display: flex;
	align-items: center;
	justify-content: left;
}

.creator > img {
	width: 35px;
	border: 1px solid var(--white);
	border-radius: 1rem;
	margin-right: 1.2rem;
}

.creator > p {
	color: var(--soft_blue);
	margin: 0;
}

.creator span {
	color: var(--white);
}

.attribution {
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 0;
	font-size: small;
	color: var(--soft_blue);
}

@media screen and (min-width:600px) {
	.price-and-expired {
		margin-top: .5rem;
		padding-bottom: 1.5rem;
	}
}