/* Box sizing rules */
*,
*::before,
*::after {
	box-sizing: border-box;
	scroll-padding: 5rem;
}

/* Add default focus style */
*:focus {
	outline: 2px solid var(--primary-200);
	outline-offset: 2px;
}

/* Remove default padding */
ul,
ol {
	padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
	margin: 0;
}

/* Make images easier to work with */
img {
	width: 100%;
	height: auto;
	background: var(--gray-100);
	object-position: var(--focus);
	opacity: 0;
	transition: all 0.95s;
}

img.loaded {
	opacity: 1;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
	font: inherit;
}

button {
	padding: 0;
	cursor: pointer;
	border: none;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ------------------------------------------------- 
End Reset 
------------------------------------------------- */

/* ------------------------------------------------- 
2.0 Font Imports 
------------------------------------------------- */
/* ------------------------------------------------- 
End Font Imports 
------------------------------------------------- */

/* ------------------------------------------------- 
3.0 Custom Properties
------------------------------------------------- */
:root {
	--heading-font: "Veneer", sans-serif;
	--body-font: "Roboto", "Segoe UI", "Trebuchet MS", sans-serif;
	--white: #fff;
	--black: #000;
	--gray-50: #f2f2f2;
	--gray-100: #e3e3e3;
	--gray-200: #c9c9c9;
	--gray-300: #b0b0b0;
	--gray-400: #969696;
	--gray-500: #7c7c7c;
	--gray-600: #636363;
	--gray-700: #4a4a4a;
	--gray-800: #303030;
	--gray-900: #171717;
	--primary-50: #f4f7ed;
	--primary-100: #dfe8c9;
	--primary-200: #c9d9a5;
	--primary-300: #b4ca82;
	--primary-400: #95b44e;
	--primary-500: #85a144;
	--primary-600: #677d35;
	--primary-700: #4a5a26;
	--primary-800: #2c3617;
	--primary-900: #0f1208;
	--secondary-50: #e8e6d4;
	--secondary-100: #e4e2cd;
	--secondary-200: #d3cfac;
	--secondary-300: #c1bb8b;
	--secondary-400: #afa869;
	--secondary-500: #968f50;
	--secondary-600: #746f3e;
	--secondary-700: #534f2c;
	--secondary-800: #32301b;
	--secondary-900: #111009;
	--tertiary-50: #f1f5ef;
	--tertiary-100: #d5e1d0;
	--tertiary-200: #b8cdb1;
	--tertiary-300: #9cb992;
	--tertiary-400: #80a673;
	--tertiary-500: #668c59;
	--tertiary-600: #57774c;
	--tertiary-700: #394e32;
	--tertiary-800: #222f1e;
	--tertiary-900: #0b100a;
	--quarternary-50: #fffbeb;
	--quarternary-100: #fef3c7;
	--quarternary-200: #fde68a;
	--quarternary-300: #fcd34d;
	--quarternary-400: #fbbf24;
	--quarternary-500: #f59e0b;
	--quarternary-600: #d97706;
	--quarternary-700: #b45309;
	--quarternary-800: #92400e;
	--quarternary-900: #78350f;
	--warn-50: #fef2f2;
	--warn-100: #fee2e2;
	--warn-200: #fecaca;
	--warn-300: #fca5a5;
	--warn-400: #f87171;
	--warn-500: #ef4444;
	--warn-600: #dc2626;
	--warn-700: #b91c1c;
	--warn-800: #991b1b;
	--warn-900: #7f1d1d;
	--content-width: 87%;
	--w-3xs: 22.5rem;
	--w-2xs: 30rem;
	--w-xs: 33.5rem;
	--w-sm: 40rem;
	--w-md: 48rem;
	--w-lg: 60rem;
	--w-xl: 72rem;
	--w-2xl: 80rem;
	--w-3xl: 96rem;
	--w-4xl: 120rem;
	--w-full: 100%;
	--spacing: 1rem;
	--s-sm: clamp(0.875rem, 0.3rem + 2vh + 2vw, 2.25rem);
	--s-3xs: calc(clamp(0.875rem, 0.3rem + 2vh + 2vw, 2.25rem) * 0.25);
	--s-2xs: calc(clamp(0.875rem, 0.3rem + 2vh + 2vw, 2.25rem) * 0.5);
	--s-xs: calc(clamp(0.875rem, 0.3rem + 2vh + 2vw, 2.25rem) * 0.75);
	--s-md: calc(clamp(0.875rem, 0.3rem + 2vh + 2vw, 2.25rem) * 1.5);
	--s-lg: calc(clamp(0.875rem, 0.3rem + 2vh + 2vw, 2.25rem) * 2);
	--s-xl: calc(clamp(0.875rem, 0.3rem + 2vh + 2vw, 2.25rem) * 2.5);
	--s-2xl: calc(clamp(0.875rem, 0.3rem + 2vh + 2vw, 2.25rem) * 3);
	--s-c1: clamp(3.5rem, 2vh + 6vw, 6.5rem);
	font-family: var(--body-font);
}
/* ------------------------------------------------- 
End Custom Properties
------------------------------------------------- */

/* ------------------------------------------------- 
4.0 General Typography
------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6,
.heading-font {
	font-family: var(--heading-font);
	font-weight: 400;
	text-rendering: geometricPrecision;
}

.fs-0 {
	font-size: clamp(0.75rem, 0.71rem + 0.18vw, 0.875rem);
}
.fs-1,
h6 {
	font-size: clamp(1rem, 0.96rem + 0.18vw, 1.125rem);
}

.fs-2,
h5 {
	font-size: clamp(1.125rem, 1.09rem + 0.18vw, 1.25rem);
}
.fs-3,
h4 {
	font-size: clamp(1.25rem, 1.11rem + 0.71vw, 1.75rem);
}
.fs-4,
h3 {
	font-size: clamp(1.5rem, 1.29rem + 1.07vw, 2.25rem);
}
.fs-5,
h2 {
	font-size: clamp(1.75rem, 1.39rem + 1.79vw, 3rem);
}
.fs-6,
h1 {
	font-size: clamp(2.25rem, 1.82rem + 2.14vw, 3.75rem);
}

p {
	line-height: 1.9;
}

/* style lists */
ul,
ol {
	padding-left: 2rem;
	line-height: 1.75;
}
/* ------------------------------------------------- 
End General Typography
------------------------------------------------- */

/* ------------------------------------------------- 
5.0 Areas
------------------------------------------------- */
/* --------
5.1 Header
-------- */
#header.enabled {
	position: sticky;
	top: 0;
	z-index: 100;
}

.overlayHeader {
	position: absolute;
	z-index: 10000;
	width: 100%;
	background: none;
}

.header-content {
	width: var(--content-width);
	padding: 1.5rem 0;
}

.header-content {
	max-width: var(--xxxl);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	align-items: center;
}

.brand {
	color: var(--primary-700);
	text-decoration: none;
	display: flex;
	align-items: center;
	height: 6rem;
	transition: color 0.6s, opacity 0.6s, height 0.6s;
}

.enabled .brand {
	height: 3.75rem;
}

.brand > img {
	height: 100%;
	width: auto;
	background: none;
}

.brand-icon {
	fill: currentColor;
}

.brand-text {
	fill: black;
}

.brand:hover,
.brand:active {
	color: var(--primary-800);
	opacity: 0.7;
}

.curtain-menu-button {
	display: flex;
	padding: 0.25rem;
}

#curtain-menu {
	visibility: hidden;
	position: fixed;
	z-index: 10001;
	background-color: white;
	color: var(--gray-800);
	height: 100vh;
	width: 0;
	transition: visibility, width 0.3s ease-out;
	overflow-y: scroll;
}

.curtain-button-placer {
	max-width: var(--xxl);
	width: var(--content-width);
	position: relative;
	display: flex;
	justify-content: flex-end;
	margin: auto;
	z-index: 10002;
	top: 1.6em;
	right: 0.45rem;
}

#close-curtain-button {
	opacity: 0;
	transition: opacity 0.3s ease-out;
}

#curtain-menu-container {
	opacity: 0;
	width: var(--content-width);
	max-width: var(--width-medium);
	margin: auto;
	padding: 3rem 0;
	transition: opacity 0.3s ease;
}

#curtain-menu-container ul {
	font-size: 1.25rem;
}

.navbar-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 1rem;
	list-style: none;
	padding: 0;
}

.navbar-nav a {
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: white;
	font-family: var(--heading-font);
	font-size: 1.25rem;
	transition: color 0.4s;
}

#curtain-menu-container .navbar-nav a {
	color: var(--primary-800);
}

#curtain-menu-container .navbar-nav {
	justify-content: flex-start;
	flex-direction: column;
}

.navbar-nav a:hover {
	color: var(--primary-300);
}

.header-nav-items {
	display: none;
}

.hero-nav-section {
	display: none;
}

.hero-nav-content ul {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	justify-content: center;
	list-style: none;
	padding: 0;
}

.hero-nav-content ul a {
	color: white;
	text-decoration: none;
}

@media screen and (min-width: 48rem) {
	.header-nav-items {
		display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
	}
	#open-curtain-button {
		display: none;
	}
	.hero-nav-section {
		display: block;
	}
}

/* --------
End Header
-------- */
/* --------
5.2 Entry Content
-------- */
.entry-content {
	padding: var(--entry-top-margin) 0 0rem;
}

.entry-bottom-padding {
	padding-bottom: 6rem;
}

.entry-content > * {
	max-width: var(--sm);
	width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
}

.entry-content > ul {
	width: 80%;
}

.entry-content > ul > * + * {
	margin-top: var(--flow, 1.25rem);
}

.block-entry-content > * {
	max-width: var(--sm);
	width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
}

.block-entry-content > ul {
	width: 80%;
}

.block-entry-content > ul > * + * {
	margin-top: var(--flow, 1.25rem);
}

p > a {
	color: var(--primary-700);
	transition: color 0.3s;
}

p > a:hover,
p > a:focus {
	color: var(--primary-500);
}
/* --------
End Entry Content
-------- */
/* --------
5.3 Footer
-------- */
.footer-top-content {
	display: grid;
	gap: 3rem;
}

.footer-brand {
	width: 10rem;
	display: block;
}

.footer-brand > img {
	width: auto;
	background: none;
}

.footer .fs-3 {
	font-family: var(--heading-font);
	text-transform: uppercase;
}

.footer-brand:hover {
	opacity: 0.7;
}

.footer-bottom-content {
	display: flex;
	gap: 2rem;
	justify-content: space-between;
}

.theme-footer a {
	color: var(--primary-300);
	transition: color 0.3s, opacity 0.3s;
}

.theme-footer a:hover {
	color: white;
}

@media screen and (min-width: 48rem) {
	.footer-top-content {
		grid-template-columns: repeat(4, 1fr);
	}
	.form-col {
		grid-column: span 2;
	}
}
/* --------
Emd Footer
-------- */

/* ------------------------------------------------- 
End Areas
------------------------------------------------- */
/* ------------------------------------------------- 
6.0 Utilities
------------------------------------------------- */
/* Flow */
.flow,
.inner-flow,
.ff-final {
	--flow: 2rem;
}

.flow > * + * {
	margin-block-start: var(--flow, 2rem);
}

.inner-flow > * + * {
	margin-block-start: var(--inner-flow, var(--flow, 2rem));
}

.auto-child-width > * {
	max-width: var(--auto-child-max-width, var(--w-sm));
	width: var(--auto-child-width, var(--content-width));
	margin-inline-start: auto;
	margin-inline-end: auto;
}

.flex-flow {
	display: flex;
	flex-direction: column;
	gap: var(--flow, 2rem);
}
.ff-final {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: end;
}
.flow-2xs {
	--flow: 0.25rem;
}
.flow-xs {
	--flow: 0.5rem;
}
.flow-sm {
	--flow: 1rem;
}
.flow-md {
	--flow: 1.5rem;
}
.flow-lg {
	--flow: 2rem;
}
.flow-xl {
	--flow: 2.5rem;
}
.flow-2xl {
	--flow: 3rem;
}

/* Margins */
.m-3xs {
	margin: var(--s-3xs);
}

.m-2xs {
	margin: var(--s-2xs);
}

.m-xs {
	margin: var(--s-xs);
}

.m-sm {
	margin: var(--s-sm);
}

.m-md {
	margin: var(--s-md);
}

.m-lg {
	margin: var(--s-lg);
}

.m-xl {
	margin: var(--s-xl);
}

.m-2xl {
	margin: var(--s-2xl);
}

.m-c1 {
	margin: var(--s-c1);
}

.m-none {
	margin: 0;
}

.my-3xs {
	margin-block-start: var(--s-3xs);
	margin-block-end: var(--s-3xs);
}

.my-2xs {
	margin-block-start: var(--s-2xs);
	margin-block-end: var(--s-2xs);
}

.my-xs {
	margin-block-start: var(--s-xs);
	margin-block-end: var(--s-xs);
}

.my-sm {
	margin-block-start: var(--s-sm);
	margin-block-end: var(--s-sm);
}

.my-md {
	margin-block-start: var(--s-md);
	margin-block-end: var(--s-md);
}

.my-lg {
	margin-block-start: var(--s-lg);
	margin-block-end: var(--s-lg);
}

.my-xl {
	margin-block-start: var(--s-xl);
	margin-block-end: var(--s-xl);
}

.my-2xl {
	margin-block-start: var(--s-2xl);
	margin-block-end: var(--s-2xl);
}

.my-c1 {
	margin-block-start: var(--s-c1);
	margin-block-end: var(--s-c1);
}

.my-none {
	margin-block-start: 0;
	margin-block-end: 0;
}

.mx-3xs {
	margin-inline-start: var(--s-3xs);
	margin-inline-end: var(--s-3xs);
}

.mx-2xs {
	margin-inline-start: var(--s-2xs);
	margin-inline-end: var(--s-2xs);
}

.mx-xs {
	margin-inline-start: var(--s-xs);
	margin-inline-end: var(--s-xs);
}

.mx-sm {
	margin-inline-start: var(--s-sm);
	margin-inline-end: var(--s-sm);
}

.mx-md {
	margin-inline-start: var(--s-md);
	margin-inline-end: var(--s-md);
}

.mx-lg {
	margin-inline-start: var(--s-lg);
	margin-inline-end: var(--s-lg);
}

.mx-xl {
	margin-inline-start: var(--s-xl);
	margin-inline-end: var(--s-xl);
}

.mx-2xl {
	margin-inline-start: var(--s-2xl);
	margin-inline-end: var(--s-2xl);
}

.mx-c1 {
	margin-inline-start: var(--s-c1);
	margin-inline-end: var(--s-c1);
}

.mx-auto {
	margin-inline-start: auto;
	margin-inline-end: auto;
}

.mt-3xs {
	margin-block-start: var(--s-3xs);
	--mt: var(--s-3xs);
}

.mt-2xs {
	margin-block-start: var(--s-2xs);
	--mt: var(--s-2xs);
}

.mt-xs {
	margin-block-start: var(--s-xs);
	--mt: var(--s-xs);
}

.mt-sm {
	margin-block-start: var(--s-sm);
	--mt: var(--s-sm);
}

.mt-md {
	margin-block-start: var(--s-md);
	--mt: var(--s-md);
}

.mt-lg {
	margin-block-start: var(--s-lg);
	--mt: var(--s-lg);
}

.mt-xl {
	margin-block-start: var(--s-xl);
	--mt: var(--s-xl);
}

.mt-2xl {
	margin-block-start: var(--s-2xl);
	--mt: var(--s-2xl);
}

.mt-c1 {
	margin-block-start: var(--s-c1);
	--mt: var(--s-c1);
}

.mt-none {
	margin-block-start: 0;
	--mt: 0;
}

.mb-3xs {
	margin-block-end: var(--s-3xs);
}

.mb-2xs {
	margin-block-end: var(--s-2xs);
}

.mb-xs {
	margin-block-end: var(--s-xs);
}

.mb-sm {
	margin-block-end: var(--s-sm);
}

.mb-md {
	margin-block-end: var(--s-md);
}

.mb-lg {
	margin-block-end: var(--s-lg);
}

.mb-xl {
	margin-block-end: var(--s-xl);
}

.mb-2xl {
	margin-block-end: var(--s-2xl);
}

.mb-c1 {
	margin-block-end: var(--s-c1);
}

.mb-none {
	margin-block-end: 0;
}

.ml-3xs {
	margin-inline-start: var(--s-3xs);
}

.ml-2xs {
	margin-inline-start: var(--s-2xs);
}

.ml-xs {
	margin-inline-start: var(--s-xs);
}

.ml-sm {
	margin-inline-start: var(--s-sm);
}

.ml-md {
	margin-inline-start: var(--s-md);
}

.ml-lg {
	margin-inline-start: var(--s-lg);
}

.ml-xl {
	margin-inline-start: var(--s-xl);
}

.ml-2xl {
	margin-inline-start: var(--s-2xl);
}

.ml-c1 {
	margin-inline-start: var(--s-c1);
}

.ml-none {
	margin-inline-start: 0;
}

.mr-3xs {
	margin-inline-end: var(--s-3xs);
}

.mr-2xs {
	margin-inline-end: var(--s-2xs);
}

.mr-xs {
	margin-inline-end: var(--s-xs);
}

.mr-sm {
	margin-inline-end: var(--s-sm);
}

.mr-md {
	margin-inline-end: var(--s-md);
}

.mr-lg {
	margin-inline-end: var(--s-lg);
}

.mr-xl {
	margin-inline-end: var(--s-xl);
}

.mr-2xl {
	margin-inline-end: var(--s-2xl);
}

.mr-c1 {
	margin-inline-end: var(--s-c1);
}

.mr-none {
	margin-inline-end: 0;
}
/*Padding*/
.p-3xs {
	padding: var(--s-3xs);
}

.p-2xs {
	padding: var(--s-2xs);
}

.p-xs {
	padding: var(--s-xs);
}

.p-sm {
	padding: var(--s-sm);
}

.p-md {
	padding: var(--s-md);
}

.p-lg {
	padding: var(--s-lg);
}

.p-xl {
	padding: var(--s-xl);
}

.p-2xl {
	padding: var(--s-2xl);
}

.p-c1 {
	padding: var(--s-c1);
}

.p-none {
	padding: 0;
}

.py-3xs {
	padding-block-start: var(--s-3xs);
	padding-block-end: var(--s-3xs);
}

.py-2xs {
	padding-block-start: var(--s-2xs);
	padding-block-end: var(--s-2xs);
}

.py-xs {
	padding-block-start: var(--s-xs);
	padding-block-end: var(--s-xs);
}

.py-sm {
	padding-block-start: var(--s-sm);
	padding-block-end: var(--s-sm);
}

.py-md {
	padding-block-start: var(--s-md);
	padding-block-end: var(--s-md);
}

.py-lg {
	padding-block-start: var(--s-lg);
	padding-block-end: var(--s-lg);
}

.py-xl {
	padding-block-start: var(--s-xl);
	padding-block-end: var(--s-xl);
}

.py-2xl {
	padding-block-start: var(--s-2xl);
	padding-block-end: var(--s-2xl);
}

.py-c1 {
	padding-block-start: var(--s-c1);
	padding-block-end: var(--s-c1);
}

.py-none {
	padding-block-start: 0;
	padding-block-end: 0;
}

.px-3xs {
	padding-inline-start: var(--s-3xs);
	padding-inline-end: var(--s-3xs);
}

.px-2xs {
	padding-inline-start: var(--s-2xs);
	padding-inline-end: var(--s-2xs);
}

.px-xs {
	padding-inline-start: var(--s-xs);
	padding-inline-end: var(--s-xs);
}

.px-sm {
	padding-inline-start: var(--s-sm);
	padding-inline-end: var(--s-sm);
}

.px-md {
	padding-inline-start: var(--s-md);
	padding-inline-end: var(--s-md);
}

.px-lg {
	padding-inline-start: var(--s-lg);
	padding-inline-end: var(--s-lg);
}

.px-xl {
	padding-inline-start: var(--s-xl);
	padding-inline-end: var(--s-xl);
}

.px-2xl {
	padding-inline-start: var(--s-2xl);
	padding-inline-end: var(--s-2xl);
}

.px-c1 {
	padding-inline-start: var(--s-c1);
	padding-inline-end: var(--s-c1);
}

.px-auto {
	padding-inline-start: auto;
	padding-inline-end: auto;
}

.pt-3xs {
	padding-block-start: var(--s-3xs);
}

.pt-2xs {
	padding-block-start: var(--s-2xs);
}

.pt-xs {
	padding-block-start: var(--s-xs);
}

.pt-sm {
	padding-block-start: var(--s-sm);
}

.pt-md {
	padding-block-start: var(--s-md);
}

.pt-lg {
	padding-block-start: var(--s-lg);
}

.pt-xl {
	padding-block-start: var(--s-xl);
}

.pt-2xl {
	padding-block-start: var(--s-2xl);
}

.pt-c1 {
	padding-block-start: var(--s-c1);
}

.pt-none {
	padding-block-start: 0;
}

.pb-3xs {
	padding-block-end: var(--s-3xs);
}

.pb-2xs {
	padding-block-end: var(--s-2xs);
}

.pb-xs {
	padding-block-end: var(--s-xs);
}

.pb-sm {
	padding-block-end: var(--s-sm);
}

.pb-md {
	padding-block-end: var(--s-md);
}

.pb-lg {
	padding-block-end: var(--s-lg);
}

.pb-xl {
	padding-block-end: var(--s-xl);
}

.pb-2xl {
	padding-block-end: var(--s-2xl);
}

.pb-c1 {
	padding-block-end: var(--s-c1);
}

.pb-none {
	padding-block-end: 0;
}

.pl-3xs {
	padding-inline-start: var(--s-3xs);
}

.pl-2xs {
	padding-inline-start: var(--s-2xs);
}

.pl-xs {
	padding-inline-start: var(--s-xs);
}

.pl-sm {
	padding-inline-start: var(--s-sm);
}

.pl-md {
	padding-inline-start: var(--s-md);
}

.pl-lg {
	padding-inline-start: var(--s-lg);
}

.pl-xl {
	padding-inline-start: var(--s-xl);
}

.pl-2xl {
	padding-inline-start: var(--s-2xl);
}

.pl-c1 {
	padding-inline-start: var(--s-c1);
}

.pl-none {
	padding-inline-start: 0;
}

.pr-3xs {
	padding-inline-end: var(--s-3xs);
}

.pr-2xs {
	padding-inline-end: var(--s-2xs);
}

.pr-xs {
	padding-inline-end: var(--s-xs);
}

.pr-sm {
	padding-inline-end: var(--s-sm);
}

.pr-md {
	padding-inline-end: var(--s-md);
}

.pr-lg {
	padding-inline-end: var(--s-lg);
}

.pr-xl {
	padding-inline-end: var(--s-xl);
}

.pr-2xl {
	padding-inline-end: var(--s-2xl);
}

.pr-c1 {
	padding-inline-end: var(--s-c1);
}

.pr-none {
	padding-inline-end: 0;
}

/* Block Widths */
.mw-3xs {
	max-width: var(--w-3xs);
}

.mw-2xs {
	max-width: var(--w-2xs);
}

.mw-xs {
	max-width: var(--w-xs);
}

.mw-sm {
	max-width: var(--w-sm);
}

.mw-md {
	max-width: var(--w-md);
}

.mw-lg {
	max-width: var(--w-lg);
}

.mw-xl {
	max-width: var(--w-xl);
}

.mw-2xl {
	max-width: var(--w-2xl);
}

.mw-3xl {
	max-width: var(--w-3xl);
}

.mw-4xl {
	max-width: var(--w-4xl);
}

.mw-full {
	max-width: 100%;
}

.w-content {
	width: var(--content-width);
}

.w-full {
	width: 100%;
}

.cmw-3xs {
	--auto-child-max-width: var(--w-3xs);
}

.cmw-2xs {
	--auto-child-max-width: var(--w-2xs);
}

.cmw-xs {
	--auto-child-max-width: var(--w-xs);
}

.cmw-sm {
	--auto-child-max-width: var(--w-sm);
}

.cmw-md {
	--auto-child-max-width: var(--w-md);
}

.cmw-lg {
	--auto-child-max-width: var(--w-lg);
}

.cmw-xl {
	--auto-child-max-width: var(--w-xl);
}

.cmw-2xl {
	--auto-child-max-width: var(--w-2xl);
}

.cmw-3xl {
	--auto-child-max-width: var(--w-3xl);
}

.cmw-4xl {
	--auto-child-max-width: var(--w-4xl);
}

.cmw-full {
	--auto-child-max-width: 100%;
}

.cw-content {
	--auto-child-width: var(--content-width);
}

.cw-full {
	--auto-child-width: 100%;
}

/* Other Utilities */
.ta-l,
.has-text-align-left {
	text-align: left;
}

.ta-c,
.has-text-align-center {
	text-align: center;
}

.ta-r,
.has-text-align-right {
	text-align: right;
}

.fw-1 {
	font-weight: 100;
}

.fw-2 {
	font-weight: 200;
}

.fw-3 {
	font-weight: 300;
}

.fw-4 {
	font-weight: 400;
}

.fw-5 {
	font-weight: 500;
}

.fw-6 {
	font-weight: 600;
}

.fw-7 {
	font-weight: 700;
}

.fw-8 {
	font-weight: 800;
}

.fw-9 {
	font-weight: 900;
}

.carousel-inner {
	background: var(--secondary-700);
}

.stack {
	display: grid;
	grid-template-areas: "stack";
	position: relative;
	background: var(--primary-800);
}

.stack > * {
	grid-area: stack;
	position: relative;
}

.stack > img {
	position: absolute;
	object-fit: cover;
	height: 100%;
}

.stack > .overlay {
	width: 100%;
	height: 100%;
	background: var(--overlay, rgba(0, 0, 0, 0.5));
}
.col-p-50 {
	color: var(--primary-50);
}

.col-p-100 {
	color: var(--primary-100);
}

.col-p-200 {
	color: var(--primary-200);
}

.col-p-300 {
	color: var(--primary-300);
}

.col-p-400 {
	color: var(--primary-400);
}

.col-p-500 {
	color: var(--primary-500);
}

.col-p-600 {
	color: var(--primary-600);
}

.col-p-700 {
	color: var(--primary-700);
}

.col-p-800 {
	color: var(--primary-800);
}

.col-p-900 {
	color: var(--primary-900);
}

.bg-p-50 {
	background-color: var(--primary-50);
}

.bg-p-100 {
	background-color: var(--primary-100);
}

.bg-p-200 {
	background-color: var(--primary-200);
}

.bg-p-300 {
	background-color: var(--primary-300);
}

.bg-p-400 {
	background-color: var(--primary-400);
}

.bg-p-500 {
	background-color: var(--primary-500);
}

.bg-p-600 {
	background-color: var(--primary-600);
}

.bg-p-700 {
	background-color: var(--primary-700);
}

.bg-p-800 {
	background-color: var(--primary-800);
}

.bg-p-900 {
	background-color: var(--primary-900);
}

.col-s-50 {
	color: var(--secondary-50);
}

.col-s-100 {
	color: var(--secondary-100);
}

.col-s-200 {
	color: var(--secondary-200);
}

.col-s-300 {
	color: var(--secondary-300);
}

.col-s-400 {
	color: var(--secondary-400);
}

.col-s-500 {
	color: var(--secondary-500);
}

.col-s-600 {
	color: var(--secondary-600);
}

.col-s-700 {
	color: var(--secondary-700);
}

.col-s-800 {
	color: var(--secondary-800);
}

.col-s-900 {
	color: var(--secondary-900);
}

.bg-s-50 {
	background-color: var(--secondary-50);
}

.bg-s-100 {
	background-color: var(--secondary-100);
}

.bg-s-200 {
	background-color: var(--secondary-200);
}

.bg-s-300 {
	background-color: var(--secondary-300);
}

.bg-s-400 {
	background-color: var(--secondary-400);
}

.bg-s-500 {
	background-color: var(--secondary-500);
}

.bg-s-600 {
	background-color: var(--secondary-600);
}

.bg-s-700 {
	background-color: var(--secondary-700);
}

.bg-s-800 {
	background-color: var(--secondary-800);
}

.bg-s-900 {
	background-color: var(--secondary-900);
}

.col-t-50 {
	color: var(--tertiary-50);
}

.col-t-100 {
	color: var(--tertiary-100);
}

.col-t-200 {
	color: var(--tertiary-200);
}

.col-t-300 {
	color: var(--tertiary-300);
}

.col-t-400 {
	color: var(--tertiary-400);
}

.col-t-500 {
	color: var(--tertiary-500);
}

.col-t-600 {
	color: var(--tertiary-600);
}

.col-t-700 {
	color: var(--tertiary-700);
}

.col-t-800 {
	color: var(--tertiary-800);
}

.col-t-900 {
	color: var(--tertiary-900);
}

.bg-t-50 {
	background-color: var(--tertiary-50);
}

.bg-t-100 {
	background-color: var(--tertiary-100);
}

.bg-t-200 {
	background-color: var(--tertiary-200);
}

.bg-t-300 {
	background-color: var(--tertiary-300);
}

.bg-t-400 {
	background-color: var(--tertiary-400);
}

.bg-t-500 {
	background-color: var(--tertiary-500);
}

.bg-t-600 {
	background-color: var(--tertiary-600);
}

.bg-t-700 {
	background-color: var(--tertiary-700);
}

.bg-t-800 {
	background-color: var(--tertiary-800);
}

.bg-t-900 {
	background-color: var(--tertiary-900);
}

.col-q-50 {
	color: var(--quarternary-50);
}

.col-q-100 {
	color: var(--quarternary-100);
}

.col-q-200 {
	color: var(--quarternary-200);
}

.col-q-300 {
	color: var(--quarternary-300);
}

.col-q-400 {
	color: var(--quarternary-400);
}

.col-q-500 {
	color: var(--quarternary-500);
}

.col-q-600 {
	color: var(--quarternary-600);
}

.col-q-700 {
	color: var(--quarternary-700);
}

.col-q-800 {
	color: var(--quarternary-800);
}

.col-q-900 {
	color: var(--quarternary-900);
}

.bg-q-50 {
	background-color: var(--quarternary-50);
}

.bg-q-100 {
	background-color: var(--quarternary-100);
}

.bg-q-200 {
	background-color: var(--quarternary-200);
}

.bg-q-300 {
	background-color: var(--quarternary-300);
}

.bg-q-400 {
	background-color: var(--quarternary-400);
}

.bg-q-500 {
	background-color: var(--quarternary-500);
}

.bg-q-600 {
	background-color: var(--quarternary-600);
}

.bg-q-700 {
	background-color: var(--quarternary-700);
}

.bg-q-800 {
	background-color: var(--quarternary-800);
}

.bg-q-900 {
	background-color: var(--quarternary-900);
}
.col-w-50 {
	color: var(--warn-50);
}

.col-w-100 {
	color: var(--warn-100);
}

.col-w-200 {
	color: var(--warn-200);
}

.col-w-300 {
	color: var(--warn-300);
}

.col-w-400 {
	color: var(--warn-400);
}

.col-w-500 {
	color: var(--warn-500);
}

.col-w-600 {
	color: var(--warn-600);
}

.col-w-700 {
	color: var(--warn-700);
}

.col-w-800 {
	color: var(--warn-800);
}

.col-w-900 {
	color: var(--warn-900);
}

.bg-w-50 {
	background-color: var(--warn-50);
}

.bg-w-100 {
	background-color: var(--warn-100);
}

.bg-w-200 {
	background-color: var(--warn-200);
}

.bg-w-300 {
	background-color: var(--warn-300);
}

.bg-w-400 {
	background-color: var(--warn-400);
}

.bg-w-500 {
	background-color: var(--warn-500);
}

.bg-w-600 {
	background-color: var(--warn-600);
}

.bg-w-700 {
	background-color: var(--warn-700);
}

.bg-w-800 {
	background-color: var(--warn-800);
}

.bg-w-900 {
	background-color: var(--warn-900);
}

.col-g-50 {
	color: var(--gray-50);
}

.col-g-100 {
	color: var(--gray-100);
}

.col-g-200 {
	color: var(--gray-200);
}

.col-g-300 {
	color: var(--gray-300);
}

.col-g-400 {
	color: var(--gray-400);
}

.col-g-500 {
	color: var(--gray-500);
}

.col-g-600 {
	color: var(--gray-600);
}

.col-g-700 {
	color: var(--gray-700);
}

.col-g-800 {
	color: var(--gray-800);
}

.col-g-900 {
	color: var(--gray-900);
}

.bg-g-50 {
	background-color: var(--gray-50);
}

.bg-g-100 {
	background-color: var(--gray-100);
}

.bg-g-200 {
	background-color: var(--gray-200);
}

.bg-g-300 {
	background-color: var(--gray-300);
}

.bg-g-400 {
	background-color: var(--gray-400);
}

.bg-g-500 {
	background-color: var(--gray-500);
}

.bg-g-600 {
	background-color: var(--gray-600);
}

.bg-g-700 {
	background-color: var(--gray-700);
}

.bg-g-800 {
	background-color: var(--gray-800);
}

.bg-g-900 {
	background-color: var(--gray-900);
}

.backend-marker {
	display: none !important;
}

.splitter {
	gap: 2rem;
}

.flex-layout {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap, 2rem);
	row-gap: var(--row-gap, var(--gap, 2rem));
	justify-content: var(--justify);
	align-items: var(--align);
}
.flex-layout > * {
	flex: var(--flex-base, 17rem) var(--flex-grow, 1) var(--flex-shrink, 1);
	max-width: var(--flex-child-max-width);
	min-width: var(--flex-child-min-width);
}
.fg-2 {
	--flex-grow: 2;
}
.fg-3 {
	--flex-grow: 3;
}
.fg-4 {
	--flex-grow: 4;
}
.fg-5 {
	--flex-grow: 5;
}
.fb-2 {
	--flex-base: 2rem;
}
.fb-4 {
	--flex-base: 4rem;
}
.fb-6 {
	--flex-base: 6rem;
}
.fb-8 {
	--flex-base: 8rem;
}
.fb-10 {
	--flex-base: 10rem;
}
.fb-12 {
	--flex-base: 12rem;
}
.fb-14 {
	--flex-base: 14rem;
}
.fb-16 {
	--flex-base: 16rem;
}
.fb-18 {
	--flex-base: 18rem;
}
.fb-20 {
	--flex-base: 20rem;
}
.fb-24 {
	--flex-base: 24rem;
}
.fb-28 {
	--flex-base: 28rem;
}
.fb-32 {
	--flex-base: 32rem;
}
.fb-40 {
	--flex-base: 40rem;
}
.gap-none {
	--gap: 0;
}
.gap-2xs {
	--gap: 0.25rem;
}
.gap-xs {
	--gap: 0.5rem;
}
.gap-sm {
	--gap: 1rem;
}
.gap-md {
	--gap: 1.5rem;
}
.gap-lg {
	--gap: 2rem;
}
.gap-xl {
	--gap: 2.5rem;
}
.gap-2xl {
	--gap: 3rem;
}
.row-gap-none {
	--row-gap: 0;
}
.row-gap-2xs {
	--row-gap: 0.25rem;
}
.row-gap-xs {
	--row-gap: 0.5rem;
}
.row-gap-sm {
	--row-gap: 1rem;
}
.row-gap-md {
	--row-gap: 1.5rem;
}
.row-gap-lg {
	--row-gap: 2rem;
}
.row-gap-xl {
	--row-gap: 2.5rem;
}
.row-gap-2xl {
	--row-gap: 3rem;
}

.mw-2 {
	max-width: 2rem;
}
.mw-4 {
	max-width: 4rem;
}
.mw-6 {
	max-width: 6rem;
}
.mw-8 {
	max-width: 8rem;
}
.mw-10 {
	max-width: 10rem;
}
.mw-12 {
	max-width: 12rem;
}
.mw-14 {
	max-width: 14rem;
}
.mw-16 {
	max-width: 16rem;
}
.mw-18 {
	max-width: 18rem;
}
.mw-20 {
	max-width: 20rem;
}
.mw-24 {
	max-width: 24rem;
}
.mw-28 {
	max-width: 28rem;
}
.mw-32 {
	max-width: 32rem;
}
.mw-40 {
	max-width: 40rem;
}

.fcmw-2 {
	--flex-child-max-width: 2rem;
}
.fcmw-4 {
	--flex-child-max-width: 4rem;
}
.fcmw-6 {
	--flex-child-max-width: 6rem;
}
.fcmw-8 {
	--flex-child-max-width: 8rem;
}
.fcmw-10 {
	--flex-child-max-width: 10rem;
}
.fcmw-12 {
	--flex-child-max-width: 12rem;
}
.fcmw-14 {
	--flex-child-max-width: 14rem;
}
.fcmw-16 {
	--flex-child-max-width: 16rem;
}
.fcmw-18 {
	--flex-child-max-width: 18rem;
}
.fcmw-20 {
	--flex-child-max-width: 20rem;
}
.fcmw-24 {
	--flex-child-max-width: 24rem;
}
.fcmw-28 {
	--flex-child-max-width: 28rem;
}
.fcmw-32 {
	--flex-child-max-width: 32rem;
}
.fcmw-40 {
	--flex-child-max-width: 40rem;
}

.h-full {
	height: 100%;
}
.grid-layout {
	display: grid;
	grid-template-columns: repeat(
		var(--col-fill, auto-fit),
		minmax(var(--col-min, 15rem), var(--col-max, 1fr))
	);
	grid-auto-rows: var(--grid-auto-rows, 1fr);
	gap: var(--gap, 2rem);
}
.justify-start {
	--justify: start;
}
.justify-center {
	--justify: center;
}
.justify-end {
	--justify: end;
}
.justify-around {
	--justify: space-around;
}
.justify-between {
	--justify: space-between;
}
.align-start {
	--align: start;
}
.align-center {
	--align: center;
}
.align-end {
	--align: end;
}
.align-around {
	--align: space-around;
}
.align-between {
	--align: space-between;
}
.as-start {
	align-self: start;
}
.as-center {
	align-self: center;
}
.as-end {
	align-self: end;
}
.js-start {
	justify-self: start;
}
.js-center {
	justify-self: center;
}
.js-end {
	justify-self: end;
}
/* ------------------------------------------------- 
End Utilities
------------------------------------------------- */
/* ------------------------------------------------- 
7.0 Buttons
------------------------------------------------- */
.btn,
html .form form .btn {
	font-family: var(--heading-font);
	color: var(--color, white);
	background: var(--background, var(--primary-900));
	border: var(--border, 2px solid var(--primary-900));
	border-radius: var(--borderRadius, 0);
	padding: var(--padding, 0.75rem 1.25rem);
	transform: var(--transform, none);
	display: inline-flex;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 400;
	letter-spacing: 0.15em;
	transition: background 0.55s, color 0.55s, border 0.55s;
}

.btn:hover,
html .form form .btn:hover {
	color: var(--hColor, white);
	background: var(--hBackground, var(--primary-600));
	border: var(--hBorder, 2px solid var(--primary-600));
	border-radius: var(--hBorderRadius, 0);
	padding: var(--hPadding, 0.75rem 1.25rem);
	transform: var(--hTransform, none);
	cursor: pointer;
}

.btn:focus,
html .form form .btn:focus {
	color: var(--fColor, white);
	background: var(--fBackground, var(--primary-600));
	border: var(--fBorder, 2px solid var(--primary-600));
	border-radius: var(--fBorderRadius, 0);
	padding: var(--fPadding, 0.75rem 1.25rem);
	transform: var(--fTransform, none);
	outline: none;
}

.btn:active,
html .form form .btn:active {
	color: var(--aColor, white);
	background: var(--aBackground, var(--primary-600));
	border: var(--aBorder, 2px solid var(--primary-600));
	border-radius: var(--aBorderRadius, 0);
	padding: var(--aPadding, 0.75rem 1.25rem);
	transform: var(--aTransform, none);
}

.curtain-menu-button {
	--color: white;
	--hColor: white;
	--fColor: white;
	--aColor: var(--primary-300);
	--background: var(--primary-600);
	--hBackground: var(--primary-700);
	--fBackground: var(--primary-700);
	--aBackground: var(--primary-700);
	--border: none;
	--hBorder: none;
	--fBorder: none;
	--aBorder: none;
	--padding: 0.25rem;
	--hPadding: 0.25rem;
	--fPadding: 0.25rem;
	--aPadding: 0.25rem;
	--transform: none;
	--hTransform: none;
	--fTransform: none;
}

.navbar-toggler {
	display: none;
}
/* ------------------------------------------------- 
End Buttons
------------------------------------------------- */
/* NationBuilder Hacks */
.container {
	all: unset !important;
}

.section-content > * {
	max-width: var(--w-md);
	width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
}

.feature-slide-img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	position: absolute;
}

.feature-slide-content {
	align-self: center;
	justify-self: center;
	color: white;
	font-size: 3rem;
	width: var(--content-width);
	max-width: var(--md);
	padding: 6rem 0;
}

.alert {
	position: fixed;
	z-index: 100001;
	top: 0;
	background: var(--warn-500);
	width: 100%;
	padding: 1rem;
	color: white;
	opacity: 0.5;
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.alert button {
	padding: 0.25rem 0.5rem;
}

/* Header carousel Image thing */
#page-features {
	display: grid;
	grid-auto-rows: 1fr;
}

@media screen and (min-width: 48rem) {
	#page-features {
		grid-template-columns: 1fr 25rem;
	}
}

.carousel-item,
.carousel-item > * {
	height: 100%;
}

.boxed-text {
	padding: 1.5rem;
	max-width: max-content;
}

.stack-placer {
	padding: var(--s-md);
	align-self: flex-end;
}

.stack-center {
	place-items: center;
}

/* Forms */
.form form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	border: 1px solid;
	padding: 1.5rem;
	font-size: 0.875rem;
}

.form form > .form-row {
	flex-basis: 28rem;
	grid-column: span 2;
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	align-self: stretch;
}

@media screen and (max-width: 600px) {
	.form form > * {
		grid-column: span 2;
	}
}

.form form > * {
	flex: 10rem 1 1;
	padding: 0.5rem;
	border: 1px solid var(--gray-100);
}

.form .form-errors,
.form .form-submit {
	display: none;
}

.form-group {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.form form > .form-row > * {
	flex: 10rem 1 1;
}

.form form input,
.form form textarea {
	min-height: 2rem;
	border: 1px solid var(--gray-200);
}

.form form input[type="text"],
.form form input[type="tel"],
.form form textarea {
	height: 100%;
	padding: 0.75rem;
}

.form .custom-checkbox {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.form input.btn.btn-primary.submit-button {
	height: fit-content;
	padding: 1rem;
	align-self: center;
}

.form .form-check {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.btn > svg.mr-2 {
	margin-right: 0.5rem;
}

.subnav {
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

.new-declaration {
	color: red;
}

legend, .currency-symbol {
font-family: var(--heading-font);
}

.donation-v2-amounts {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.donation-v2-amounts span {
    padding: 0.5rem;
    background: var(--primary-500);
    color: white;
    display: flex;
    flex: 5rem 1 0;
    align-items: center;
    gap: 0.25rem;
}

.donation-other-input-container {
  display: flex;
}

fieldset {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding: 2rem;
  border: 1px solid var(--gray-600);
}

.donation-other-input-container {
  gap: 0.5rem;
  align-items: center;
}

input, select {
  min-height: 2rem;
    border: 1px solid var(--gray-200);
}

input[type="text"], #donation_email, #donation_billing_address_phone_number, textarea, select {
  height: 100%;
    padding: 0.75rem;
}


.form fieldset .form-row {

}

#demographics-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

#demographics-info > .form-row {
  display: content;
}

#address-info {
      margin-top: 1rem;
      display: grid;
    gap: 1rem;
}

.dispcontents {
  display: contents;
}

.payment-input {
      padding: 1rem;
  background: white;
}

.form-group .text-secondary {
      font-size: 0.875rem;
    margin-top: 0.25rem;
    color: var(--gray-400);
}

.submit-container {
      display: grid;
    gap: 0.75rem;
}

#recaptcha-input {
  position: fixed;
  z-index: -200;
  left: 10000vw;
}

.donation-v2-occurence-radio {
  display: flex;
  gap: 1rem;
}

.donation-v2-occurence-radio > span {
  display: flex;
  align-items: center;
  gap: 0.5rem;