/*
General
 */
main h3 {
	font-size: 24px;
	line-height: 25px;
}

/*
Hero
 */
.HeroInner {
	display: flex;
	justify-content: center;
	margin-inline: auto;
	max-width: var(--Content-MaxWidth);
}

.HeroInnerContent {
	padding: 85px var(--Viewport-InlinePadding) 43px;
	text-align: center;
}

.HeroInnerContent h1 {
	--Typeface-FontWght: 800;
	font-family: var(--Typeface02-FontFamily);
	font-size: 64px;
	font-variation-settings: var(--Typeface02-FontVariationSettings);
	font-weight: 800;
	line-height: 57px;
	margin: 0;
}

.HeroInnerContent p {
	font-size: 14px;
	line-height: 21px;
	margin: 16px 0 0;
}

/*
Featured Challenges
 */
.FeaturedChallengesInner {
	margin-inline: auto;
	max-width: var(--Content-MaxWidth);
}

.FeaturedChallengesInnerContent {
	padding-inline: var(--Viewport-InlinePadding);
}

.FeaturedChallengesCarouselItems {
	display: flex;
	gap: 0 16px;
	overflow-x:           scroll;
	overflow-y:           hidden; /* this is a shortcut, Slack FE Dev channel has a better fix) */
	padding-inline: var(--Viewport-InlinePadding);
	scroll-padding-inline: var(--Viewport-InlinePadding);
	/* Change to 'x mandatory' with JS after DOMContentLoaded to prevent random snap bug */
	scroll-snap-type:     none;
	scroll-snap-type:     x mandatory;

	/* Hide scroll bar in Firefox */
	scrollbar-width:      none;
}

/* Hide scroll bar in Chrome, Safari, Opera */
.FeaturedChallengesCarouselItems::-webkit-scrollbar {
	display:              none;
}

.FeaturedChallengesCarouselItem {
	color: inherit;
	display: block;
	flex: 0 0 min(256px, 75vw);
	scroll-snap-align:    start;
	text-decoration: unset;
	outline: unset;
	transition: 0.25s;
}

.FeaturedChallengesCarouselItem:focus {
	text-decoration: underline;
}

.FeaturedChallengesCarouselItemIconArea {
	align-items: center;
	aspect-ratio: 256 / 322;
	background-color: var(--Colors-Brand-Secondary);
	border-radius: 16px;
	display: flex;
	justify-content: center;
	transition: inherit;
}

.FeaturedChallengesCarouselItem:focus .FeaturedChallengesCarouselItemIconArea {
	box-shadow: inset 0 0 4px rgba(255,255,255,0.3);
}

.FeaturedChallengesCarouselItem.ThemeAccent02 .FeaturedChallengesCarouselItemIconArea {
	background-color: var(--Colors-Secondary-Accent02);
}

.FeaturedChallengesCarouselItemTitle {
	--Typeface-FontWght: 600;
	font-size: 18px;
	font-weight: var(--Typeface-FontWght);
	line-height: 22px;
	margin-block: 15px 0;
}

.FeaturedChallengesCarouselItemCreatedBy {
	font-weight: 500;
	font-size: 14px;
	line-height: 18px;
}

.FeaturedChallengesCarouselItem.ThemeBrandSecondary .FeaturedChallengesCarouselItemCreatedBy {
	color: var(--Colors-Brand-Primary);
}

.FeaturedChallengesCarouselItem.ThemeAccent02 .FeaturedChallengesCarouselItemCreatedBy {
	color: var(--Colors-Secondary-Accent01);
}

.FeaturedChallengesCarouselItemCreator {
	font-weight: 700;
}

/*
Featured Organization
 */
.FeaturedOrganizationInner {
	margin-inline: auto;
	max-width: var(--Content-MaxWidth);
	padding-top: 60px
}
.FeaturedOrganizationInnerContent {
	padding-inline: var(--Viewport-InlinePadding);
}

.FeaturedOrganizationImageArea {
	align-items: center;
	aspect-ratio: 372 / 140;
	background-color: #ffffff;
	border: 1px solid #E3E3E3;
	border-radius: 16px;
	color: #000000;
	display: block;
	justify-content: center;
	max-width: 372px;
	overflow: hidden;
	padding-inline: var(--Viewport-InlinePadding);
}

.FeaturedOrganizationImage {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.FeaturedOrganizationTitle {
	font-size: 14px;
	line-height: 20px;
	margin-top: 15px;
}