body {
	margin: 0;
}

* {
	box-sizing: border-box;
}
:root {
	--content-width: 1216px;
	--header-footer-content-width: 1200px;
	--min-padding: 16px;

	--header-height: 58px;
	--footer-height: 281.66px;

	--body-font: 'Interstate', sans-serif;
	--heading-font: 'Chloe', serif;
	--subheading-font: 'Beauty', cursive;

	--grey: #707070;
	--darkgrey: #34383d;
	--lightgold: #dbc880;
	--black: #282828;
	--white: #ffffff;
	--gold: #bc9c22;
	--red: #e71c1c;
	--brown: #564810;
	--offwhite: #fdfdfd;
	--whiteyellow: #f9f3dd;
	--darkgreen: #34453d;
	--lightgrey: #e8e8e8;
	--silvergrey: #999b9d;

	--text-color-grey: var(--grey);
	--text-color-darkgrey: var(--darkgrey);
	--text-color-lightgold: var(--lightgold);
	--text-color-black: var(--black);
	--text-color-white: var(--white);
	--action-color-gold: var(--gold);
	--action-color-red: var(--red);
	--action-color-brown: var(--brown);
	--background-color-white: var(--offwhite);
	--background-color-whiteyellow: var(--whiteyellow);
	--background-color-darkgreen: var(--darkgreen);
	--background-color-lightgrey: var(--lightgrey);
	--background-color-grey: var(--silvergrey);

	--primary-background-overlay: rgba(0, 0, 0, 0.7);

	--font-size-100: 0.512rem;
	--font-size-200: 0.64rem;
	--font-size-300: 0.8rem;
	--font-size-400: 1rem;
	--font-size-500: 1.25rem;
	--font-size-600: 1.563rem;
	--font-size-700: 1.953rem;
	--font-size-800: 2.441rem;
	--font-size-900: 3.052rem;
	--font-size-1000: 3.5rem;

	--font-weight-400: 400;
	--font-weight-700: 700;

	--line-height-100: 1;
	--line-height-300: 1.5;
	--line-height-500: 1.7;
	--line-height-800: 1.8;

	--spacing-100: 0.25rem;
	--spacing-200: 0.5rem;
	--spacing-300: 0.75rem;
	--spacing-400: 1rem;
	--spacing-500: 1.25rem;
	--spacing-600: 1.5rem;
	--spacing-700: 2rem;
	--spacing-800: 4rem;
	--spacing-900: 6rem;

	--border-radius-100: 4px;
	--border-radius-200: 8px;
	--border-radius-300: 12px;
	--border-radius-400: 16px;
	--border-radius-900: 99px;

	--button-padding: var(--spacing-400) var(--spacing-500);
	--block-box-shadow: 0px 4px 6px -4px #2828281a, 0px 10px 15px -3px #2828281a;

	--z-level-100: 0;
	--z-level-200: 200;
	--z-level-300: 300;
	--z-level-400: 400;
	--z-level-500: 500;
	--z-level-600: 600;

	--action-color: var(--action-color-gold);
	--action-hover-color: var(--action-color-brown);
	--action-text-color: var(--text-color-white);
	--action-hover-text-color: var(--text-color-white);

	--input-border-color: transparent;
}

@media (min-width: 1232px) {
	:root {
		--header-height: 96px;
	}
}

body {
	font-family: var(--body-font);
	font-size: var(--text-size);
	line-height: var(--text-line-height);
	padding: var(--header-height) 0 0;
}

main {
	min-height: calc(100vh - var(--header-height) - var(--footer-height));
}

h1,
h2,
h3,
h4 {
	font-weight: var(--font-weight-400) !important;
	font-family: var(--heading-font);
}

p {
	line-height: 1.7;
}

.html-block h3:has(+ h2),
.hero__subtitle {
	display: inline-block;
	transform: rotate(-5deg) translateY(-4px);
	text-align: left;
	font-weight: normal;
	font-family: var(--subheading-font);
	font-size: var(--font-size-800);
	line-height: var(--line-height-100);
	margin: 0 0 12px;
	order: -1;
}

@media (min-width: 768px) {
	.html-block h3:has(+ h2),
	.hero__subtitle {
		font-size: var(--font-size-900);
		margin-left: -16px;
	}
}

a {
	color: var(--action-color);
	text-decoration: none;
}

.cta {
	display: inline-block;
	appearance: none;
	background-color: var(--gold);
	color: var(--white);
	font-size: var(--cta-text-size);
	font-family: var(--body-font);
	font-weight: 700;
	line-height: 1;
	width: max-content;
	padding: 16px 20px;
	border-radius: 99px;
	box-sizing: border-box;
	cursor: pointer;
	user-select: none;
	text-decoration: none;
	text-align: center;
	transition: background-color 200ms ease, color 200ms ease;
}

.cta:hover {
	background-color: var(--brown);
	color: var(--white);
}

body.hide-all-promotions section:has(.promotions-list),
body.hide-all-events section:has(.events-list),
section:has(.promotions-list .dynamic-grid__grid:empty),
section:has(.events-list .dynamic-grid__grid:empty) {
	display: none;
}

/* Quick fix for HTML block images to not be too large */
.html-block__inner img {
	max-height: 500px;
}
