h1 {
	font-size: 32px;
}

h2 {
	font-size: 24px;
}

h3 {
	font-size: 16px;
}

p, a {
	font-size: 16px;
	line-height: calc(16px * 1.8);
}

a {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.main {
	width: 100%;
	display: flex;
	justify-content: center;
	flex-direction: row; /* debugging */
}

.content {
	width: 100%;
	max-width: 768px;
	display: flex;
	flex-direction: column;
	gap: 64px;
	padding-top: calc(64px + var(--header));
	padding-bottom: 64px;
}

.container {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-right: var(--padding);
	padding-left: var(--padding);
	transition: gap 0.3s ease-in-out;
}

.container.compact {
	gap: 16px;
}

.wrapper, 
.toggable-faq {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.faq {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.wrapper h1, 
.wrapper h2,
.wrapper h3,
.wrapper p,
.wrapper a,
.faq h3,
.faq p {
	max-width: 512px;
}

.toggable-faq {
	overflow: hidden;
	transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.toggable-faq.closed {
	height: 0;
}

.secondary-button, .primary-button {
	height: 54px;
	width: auto;
	align-self: flex-start;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	font-weight: 600;
	border: 2px solid var(--purple);
	padding: 16px 24px;
	border-radius: calc(54px / 2);
	text-decoration: none;
	transition: transform 0.3s ease-in-out;
}

.secondary-button {
	background-color: var(--white);
	color: var(--purple);
}

.primary-button {
	background-color: var(--purple);
	color: var(--white);
}

.grid {
	width: 100%;
	max-width: 512px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.row {
	width: 100%;
	display: flex;
	flex-direction: row;
}

.row h5, .row a, .row p {
	font-size: 16px;
	font-weight: 400;
	font-family: "Google Sans Flex", sans-serif;
	width: 100%;
	text-decoration: none;
	line-height: calc(16px * 1.8);
}

.row-title-exception {
	text-decoration: underline !important;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.banner {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 32px;
	align-items: center;
	justify-content: center;
	padding-bottom: 32px;
}

.banner h2 {
	text-align: center;
}

.marketplaces {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.marketplaces img, 
.marketplace-logo {
	height: 48px;
	width: auto;
}

.marketplace-logo,
.socials img {
	align-self: flex-start;
}

.socials {
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

.socials img {
	height: 24px;
	width: auto;
}

@media screen and (min-width: 769px) {
	.primary-button:hover, .secondary-button:hover {
		transform: scale(1.02);
	}

	.marketplaces img {
		animation-name: marketplace-wave;
		animation-duration: 6s;
		animation-timing-function: ease-in-out;
		animation-iteration-count: infinite;
		animation-delay: calc(var(--index) * 0.12s);
		transform-origin: center;
		will-change: transform;
	}
}

@media screen and (max-width: 768px) {
	h1 {
		font-size: 24px;
	}

	h2 {
		font-size: 16px;
	}

	h3 {
		font-size: 14px;
	}

	p, a {
		font-size: 14px;
	}

	a, .row-title-exception {
		text-decoration-thickness: 1px;
		text-underline-offset: 2px;
	}

	.content {
		gap: 32px;
		padding-top: calc(32px + var(--header));
		padding-bottom: 32px;
	}

	.container {
		gap: 16px;
	}

	.container.compact {
		gap: 8px;
	}

	.wrapper {
		gap: 8px;
	}

	.wrapper h1, 
	.wrapper h2,
	.wrapper h3,
	.wrapper p,
	.wrapper a,
	.faq h3,
	.faq p,
	.grid {
		max-width: 100%;
	}

	.secondary-button, .primary-button {
		height: 40px;
		padding: 8px 16px;
		border-radius: calc(40px / 2);
		font-size: 14px;
	}

	.row {
		flex-direction: column;
	}

	.row h5, .row a, .row p {
		font-size: 14px;
	}

	.row h5 {
		font-weight: 500;
	}

	.banner {
		padding-bottom: 16px;
	}

	.banner h2 {
		font-size: 20px;
	}
}

@keyframes marketplace-wave {
	0%, 100% {
		transform: scale(1);
	}

	8% {
		transform: scale(1.08);
	}

	16% {
		transform: scale(1);
	}
}

