:root {
	--gc-plum: #581b42;
	--gc-cream: #f8f1e0;
	--gc-cream-hover: rgba(248, 241, 224, 0.9);
	--gc-mauve: #e7d0d5;
	--gc-orange: #ff6a14;
	--gc-orange-hover: rgba(255, 106, 20, 0.7);
	--gc-red: #ee2737;
	--gc-coral: #ff5869;
	--gc-teal: #00c7b1;
	--gc-yellow: #fdda25;
	--gc-white: #fff;
	--gc-slate: #414b5a;
	--gc-border: #7e8c9f;
	--gc-list-rule: #cddcdf;
	--gc-content: 1200px;
	--gc-article-content: 1128px;
	--gc-reading-content: 760px;
	--gc-article-main-column: 811px;
	--gc-article-form-column: 277px;
	--gc-article-form-min-column: 240px;
	--gc-article-author-content: 790px;
	--gc-article-stories-title-content: 850px;
	--gc-article-featured-ratio: 682 / 384;
	--gc-space-4xs: 4px;
	--gc-space-2xs: 8px;
	--gc-space-xs: 12px;
	--gc-space-sm: 16px;
	--gc-space-md: 20px;
	--gc-space-lg: 24px;
	--gc-space-xl: 40px;
	--gc-space-2xl: 48px;
	--gc-space-4xl: 72px;
	--gc-space-5xl: 96px;
	--gc-h1-hero-font-size: 68px;
	--gc-h1-hero-line-height: 72px;
	--gc-h1-hero-letter-spacing: -2px;
	--gc-body-font-size: 16px;
	--gc-body-line-height: 24px;
	--gc-body-xs-font-size: 13px;
	--gc-body-small-font-size: 14px;
	--gc-body-small-line-height: 20px;
	--gc-body-lead-font-size: 18px;
	--gc-body-lead-line-height: 28px;
	--gc-body-large-font-size: 24px;
	--gc-body-large-line-height: 32px;
	--gc-quote-font-size: 30px;
	--gc-quote-line-height: 40px;
	--gc-h2-font-size: 48px;
	--gc-h2-line-height: 54px;
	--gc-h3-font-size: 36px;
	--gc-h3-line-height: 44px;
	--gc-h4-font-size: 30px;
	--gc-h4-line-height: 40px;
	--gc-h5-font-size: 24px;
	--gc-h5-line-height: 32px;
	--gc-article-form-title-font-size: 24px;
	--gc-article-form-title-line-height: 32px;
	--gc-form-radius: 25px;
	--gc-pill-radius: 100px;
	--gc-share-action-size: 36px;
	--gc-share-icon-size: 28px;
	--gc-form-field-height: 42px;
	--gc-list-rule-offset: 11px;
	--gc-author-image-width: 180px;
	--gc-author-image-height: 180px;
	--gc-author-image-mobile-size: 99px;
	--gc-border-width: 1px;
	--gc-accent-border-width: 2px;
	--gc-h6-font-size: 20px;
	--gc-h6-line-height: 28px;
	--gc-radius: 8px;
	--gc-spacing-sm: 40px;
	--gc-spacing-5xl: 96px;
}

:is(
	.gc-pattern,
	.gc-home,
	.gc-about,
	.gc-blog,
	.gc-campaign,
	.gc-donation-page,
	.gc-landing-page,
	.gc-article
) {
	color: var(--gc-plum);
}

:is(
	.gc-pattern,
	.gc-home,
	.gc-about,
	.gc-blog,
	.gc-campaign,
	.gc-donation-page,
	.gc-landing-page,
	.gc-article
) :where(p, h2, h3) {
	color: var(--gc-plum);
}

:is(
	.gc-pattern,
	.gc-home,
	.gc-about,
	.gc-blog,
	.gc-campaign,
	.gc-donation-page,
	.gc-landing-page,
	.gc-article
) :where(h2) {
	font-size: var(--gc-h2-font-size);
	line-height: var(--gc-h2-line-height);
	text-transform: uppercase;
}

:is(
	.gc-pattern,
	.gc-home,
	.gc-about,
	.gc-blog,
	.gc-campaign,
	.gc-donation-page,
	.gc-landing-page,
	.gc-article
) :where(h1, h2, h3, h4, h5, h6) {
	font-family: "Figtree", sans-serif !important;
	font-weight: 900 !important;
}

:is(
	.gc-pattern,
	.gc-home,
	.gc-about,
	.gc-blog,
	.gc-campaign,
	.gc-donation-page,
	.gc-landing-page,
	.gc-article
) :where(p, span:not(h2 span, h1 span), blockquote, li) {
	font-family: "Figtree", sans-serif;
	font-weight: 600;
}

.has-h1-hero-font-size {
	line-height: var(--gc-h1-hero-line-height);
}

.has-body-large-font-size {
	line-height: var(--gc-body-large-line-height) !important;
	font-size: var(--gc-body-large-font-size) !important;
}

.has-h1-hero-font-size {
	line-height: var(--gc-h1-hero-line-height);
}

.has-body-large-font-size {
	line-height: var(--gc-body-large-line-height);
}

.has-heading-h-2-font-size {
	line-height: var(--gc-h2-line-height) !important;
}

html :where([style*=border-color]):not(.gc-round-media.has-border-color, .gc-about-team__member figure) {
	border: none !important;
}

@media (max-width: 767px) {
	:root {
		--gc-h1-hero-font-size: 40px;
		--gc-h1-hero-line-height: 44px;
		--gc-h1-hero-letter-spacing: 0;
		--gc-body-large-font-size: 18px;
		--gc-body-large-line-height: 28px;
		--gc-h2-font-size: 30px;
		--gc-h2-line-height: 40px;
		--gc-h3-font-size: 30px;
		--gc-h3-line-height: 40px;
		--gc-h4-font-size: 24px;
		--gc-h4-line-height: 32px;
		--gc-h5-font-size: 20px;
		--gc-h5-line-height: 28px;
		--gc-h6-font-size: 18px;
		--gc-h6-line-height: 28px;
		--wp--preset--spacing--4-xl: 40px;
		--gc-spacing-sm: 16px;
		--gc-spacing-5xl: 40px;
	}
}

.has-h1-hero-font-size {
	line-height: var(--gc-h1-hero-line-height);
}

.has-body-large-font-size {
	line-height: var(--gc-body-large-line-height);
}

.gc-pattern .gc-button .wp-block-button__link,
.wp-block-button[class*="is-style-gc-button--"] .wp-block-button__link,
.wp-block-button:not([class*="gc-button--"]):not([class*="is-style-"]) .wp-block-button__link {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-family: "Fraunces", serif !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	min-height: 52px;
	padding: 16px 20px;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease,
		color 180ms ease;
}

.gc-pattern .gc-button--primary .wp-block-button__link,
.is-style-gc-button--primary .wp-block-button__link,
.wp-block-button:not([class*="gc-button--"]):not([class*="is-style-"]) .wp-block-button__link {
	background: var(--gc-orange);
	color: var(--gc-cream);
}

.gc-pattern .gc-button--primary .wp-block-button__link:hover,
.is-style-gc-button--primary .wp-block-button__link:hover,
.wp-block-button:not([class*="gc-button--"]):not([class*="is-style-"]) .wp-block-button__link:hover {
	background: var(--gc-orange-hover);
	color: var(--gc-cream);
}

.gc-pattern .gc-button--light .wp-block-button__link,
.is-style-gc-button--light .wp-block-button__link {
	background: var(--gc-cream);
	color: var(--gc-orange);
	border-color: transparent !important;
}

.gc-pattern .gc-button--light .wp-block-button__link:hover,
.is-style-gc-button--light .wp-block-button__link:hover {
	background: var(--gc-cream-hover);
	color: var(--gc-orange);
}

.gc-pattern .gc-button--outline .wp-block-button__link,
.is-style-gc-button--outline .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--gc-cream);
	color: var(--gc-cream);
}

.gc-pattern .gc-button--outline .wp-block-button__link:hover,
.is-style-gc-button--outline .wp-block-button__link:hover {
	background: var(--gc-cream-hover);
	border-color: var(--gc-cream-hover);
	color: var(--gc-orange);
}

.gc-pattern .gc-button--orange-outline .wp-block-button__link,
.is-style-gc-button--orange-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--gc-orange);
	color: var(--gc-orange);
}

.gc-pattern .gc-button--orange-outline .wp-block-button__link:hover,
.is-style-gc-button--orange-outline .wp-block-button__link:hover {
	background: var(--gc-orange-hover);
	border-color: var(--gc-orange-hover);
	color: var(--gc-cream);
}

.gc-pattern .gc-button--text .wp-block-button__link {
	background: transparent;
	color: var(--gc-orange);
	min-height: auto;
	padding: 8px 16px 8px 0;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.gc-pattern p.has-link-color > a:only-child {
	align-items: center;
	display: inline-flex;
}

.gc-pattern .gc-button--text .wp-block-button__link::after,
.gc-pattern p.has-link-color > a:only-child::after {
	background-color: var(--gc-orange);
	content: "";
	flex: 0 0 24px;
	height: 24px;
	-webkit-mask: url("../img/icons/arrow-right.svg") center / 4.98425px 9.2965px no-repeat;
	mask: url("../img/icons/arrow-right.svg") center / 4.98425px 9.2965px no-repeat;
	width: 24px;
}

.gc-pattern .gc-button--text .wp-block-button__link:hover,
.gc-pattern p.has-link-color > a:only-child:hover {
	color: var(--gc-orange-hover);
	text-decoration-thickness: 2px;
}

.gc-pattern .gc-button .wp-block-button__link:focus-visible,
.wp-block-button[class*="is-style-gc-button--"] .wp-block-button__link:focus-visible,
.wp-block-button:not([class*="gc-button--"]):not([class*="is-style-"]) .wp-block-button__link:focus-visible {
	box-shadow: 0 0 0 6px var(--gc-plum);
	outline: 3px solid var(--gc-yellow);
	outline-offset: 3px;
}

.gc-pattern .gc-button--text .wp-block-button__link:hover::after,
.gc-pattern p.has-link-color > a:only-child:hover::after {
	background-color: var(--gc-orange-hover);
}

.gc-pattern .wp-block-button__link {
	justify-content: center;
}
