@charset "utf-8";


/* RESET
-------------------------------------------------------------------------------*/
html {
	box-sizing: border-box;
	min-height: 100vh;
}
*, *:before, *:after {
	box-sizing: inherit;
}
body {
	margin: 0;
	line-height:1.5;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: subpixel-antialiased;
}
main, details {
	display: block;
}
button, select {
	text-transform: none;
}
[type=button], [type=reset], [type=submit], button {
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
}
fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}
textarea {
	overflow: auto;
	resize: vertical;
}
code, kbd, pre, samp {
	font-family: monospace, monospace;
	font-size: var(--step-0);
}
abbr[title] {
	border-bottom: none;
	text-decoration: underline dotted;
}
table {
	text-align: left;
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	margin: 0;
	border-width: 1px;
	border-style: solid;
}
table td, table th {
	padding: 1rem;
	border-width: 0 1px 1px 0;
	border-style: solid;
}
hr {
	height: 0;
	overflow: visible;
}
:is(nav) ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}
:is(nav) svg {
	transition: fill var(--motion-default);
}
svg, svg:hover {
	display: block;
	position: relative;
	line-height: 1;
	transition:
		background-color 0.1s ease-in-out,
		fill 0.1s ease-in-out;
}
img, audio, canvas, iframe, img, svg, video {
	border: 0;
	height: auto;
	line-height: 0;
	margin: 0;	
	max-width: 100%;
	vertical-align: middle;
}
p:empty {
	display: none;
}
.sr-only {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
.sr-only.focusable:active, .sr-only.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	white-space: inherit;
	width: auto;
}
.invisible {
	visibility: hidden;
}
.no-display, .hidden, [hidden] {
	display: none !important;
}
.no-margin {
	margin: 0 !important;
}
.no-padding {
	padding: 0 !important;
}
.no-select {
	user-select: none;
	cursor: default
}
@media ( prefers-reduced-motion:reduce ) {
	*, ::after, ::before {
		animation-delay: -1ms!important;
		animation-duration: 1ms!important;
		animation-iteration-count: 1!important;
		background-attachment: initial!important;
		scroll-behavior: auto!important;
		transition-delay: 0s!important;
		transition-duration: 0s!important
	}
}

/* GLOBAL: INITIATE
/* @link https://utopia.fyi/type/calculator?c=360,18,1.2,1200,24,1.414,3,1,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12
-------------------------------------------------------------------------------*/
:root {
	--type-sans: "Open Sans", sans-serif;
	--type-fancy: "Yeseva One", cursive;
  --step--1: clamp(0.9375rem, 0.8846rem + 0.2349vw, 1.0608rem);
  --step-0: clamp(1.125rem, 0.9643rem + 0.7143vw, 1.5rem);
  --step-1: clamp(1.35rem, 1.0196rem + 1.4686vw, 2.121rem);
  --step-2: clamp(1.62rem, 1.029rem + 2.6268vw, 2.9991rem);
  --step-3: clamp(1.944rem, 0.9597rem + 4.3747vw, 4.2407rem);
	--color-black: #000000;
	--color-slate: #212121;
	--color-gray:  #5E6263;
	--color-smoke: #999A9A;
	--color-amber: #CC9900;
	--color-gold:  #E8BD34;
	--color-mist:  #F6F6F6;
	--color-white: #FFFFFF;
}


/* GLOBAL: TYPOGRAPHY
-------------------------------------------------------------------------------*/
body {
	font-family: var(--type-sans);
	color: var(--color-smoke);
	font-size: var(--step-0);
	line-height: 1.5;
}
h1, h2, h3 {
	font-family: var(--type-fancy);
	font-weight: normal;
	color: var(--color-gold);
	text-wrap: balance;
}
h1 {
	font-size: var(--step-2);
}
h2 {
	font-size: var(--step-1);
	margin: 0;
	text-align: center;
	line-height: 1.3;
}
h2:after {
	content: "";
	width: 270px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	float: none;
	margin-left: auto;
	margin-right: auto;
	background-image: url(../images/divider-gold.svg);
	height: 40px;
	margin-bottom: 20px;
}
.h2-secondary {
	color: var(--color-white);
}
.h2-secondary:after {
	content: "";
	background-image: url(../images/divider-white.svg);
	height: 35px;
}
p + p {
	margin-top: 1em;
}
small {
	font-size: var(--step--1);
	font-style: italic;
}


/* COMPONENTS: LINKS
-------------------------------------------------------------------------------*/
a {
	color: var(--color-gold);
}
.button {
	color: var(--color-white);
	padding: 1em 3em;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 3px;
	background: var(--color-amber);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	font-weight: 700;
	display: inline-block;
	text-transform: uppercase;
	position: relative;
}


/* COMPONENTS: DIVIDERS
-------------------------------------------------------------------------------*/
.divider {
	width: 270px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	float: none;
	margin-left: auto;
	margin-right: auto;
}
.divider-primary {
	background-image: url(../images/divider-xl-white.svg);
	height: 55px;
}
.divider-secondary {
	background-image: url(../images/divider-gold.svg);
	height: 40px;
}
.divider-third {
	background-image: url(../images/divider-white.svg);
	height: 35px;
}
.divider-fourth {
	background-image: url(../images/divider-sm-white.svg);
	height: 30px;
}


/* LAYOUT
-------------------------------------------------------------------------------*/
body {
	background-color: var(--color-black);
}
.container {
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto;
	max-width: 720px;
}
.content {
	background: var(--color-mist);
	padding-top: 70px;
	padding-bottom: 70px;
}
.hero {
	background: url(../images/hero-bg.jpg) 0 0 no-repeat;
	background-size: cover;
	text-align: center;
	padding-bottom: 180px;
	position: relative;
	overflow: hidden;
}
.hero .container {
	max-width: 1200px;
}
.hero-lead {
	color: var(--color-white);
}
.hero-lead:after {
	width: 270px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	background-image: url(../images/divider-xl-white.svg);
	height: 55px;
	float: none;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1em;
	content: "";
}
.hero-lead-1 {
	font-size: var(--step-2);
	padding-top: 200px;
	display: inline-block;
}
.hero-lead-2 {
	display: block;
	line-height: 1;
}
.hero-texture {
	position: absolute;
	mix-blend-mode: lighten;
	max-width: 100% !important;
	left: -4%;
	bottom: 0;
}
.hero {
	min-height: 550px;
}
.hero-lead-1,
.hero-lead-2 {
	display: block;
}
.hero-lead {
	font-size: var(--step-3);
}
.about {
	text-align: center;
	font-size: var(--step-0);
	background: var(--color-black);
}
.about .container {
	max-width: 780px;
}

.button-cta {
	position: relative;
	max-width: 400px;
	margin: 3em auto 1em auto;
}
.button-cta p {
	width: 100%;
	height: 100%;
	color: var(--color-white);
	cursor: pointer;
}
.button-cta a {
	display: block;
	font-size: var(--step--1);
	width: 100%;
	height: 60px;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-decoration: none;
}
.button-cta span {
	display: block;
	width: 100%;
	height: 59px;
	padding-top: 16px;
}
.button-cta p::before {
	content: "";
	position: absolute;
	border-top: 1px solid var(--color-gray);
	border-bottom: 1px solid var(--color-gray);
	top: -1px;
	left: -7px;
	right: -7px;
	bottom: -1px;
}
.button-cta p::after {
	content: "";
	position: absolute;
	border-left: 1px solid var(--color-gray);
	border-right: 1px solid var(--color-gray);
	top: -9px;
	bottom: -9px;
	left:-1px;
	right: -1px;
}
.button-cta:hover p::before,
.button-cta:hover p::after {
	border: none;
}
.button-cta a {
	background: inherit;
	color: inherit;
	transition-property: background, color;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
	z-index: 10;
	position: relative;
}
.button-cta:hover a {
	background: var(--color-white);
	color: var(--color-black);
}
.button-cta a::before {
	content: "";
	position: absolute;
	border: 5px solid var(--color-black);
	left: 1px;
	top: 1px;
	right: 1px;
	bottom: 1px;
	transition-property: opacity, background, color;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	opacity: 0;
}
.button-cta:hover a::before {
	opacity: 1;
}
.button-cta::before {
	content: "";
	height: 1px;
	position: absolute;
	background: var(--color-gray);
	bottom: 68px;
	left: 0;
	right: 0;
	transition-property: left, right;
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}
.button-cta::after {
	content: "";
	height: 1px;
	position: absolute;
	background: var(--color-gray);
	top: 68px;
	left: 0;
	right: 0;
	transition-property: left, right;
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}
.button-cta:hover::before,
.button-cta:hover::after {
	left: 50%;
	right: 50%;
}
.button-cta span::before {
	content: "";
	width: 1px;
	position: absolute;
	background: var(--color-gray);
	top: 0;
	bottom: 0;
	left: -7px;
	right: 0;
	transition-property: top, bottom;
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}
.button-cta span::after {
	content: "";
	width: 1px;
	position: absolute;
	background: var(--color-gray);
	top: 0;
	bottom: 0;
	right: -7px;
	transition-property: top, bottom;
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}
.button-cta:hover span::before,
.button-cta:hover span::after {
	top: 50%;
	bottom: 50%;
}

.schedule {
	background: url(../images/cream-pixels.png) 0 0 repeat;
}
.schedule-inner {
	max-width: 1200px;
}
.schedule-list {
	list-style: none;
	margin: 4em auto 60px auto;
	padding: 0;
	display: grid;
	align-items: stretch;
	gap: 4em 2em;
	max-width: 800px;
}
.schedule li {
	text-align: center;
	text-wrap: balance;
}
.schedule li:not(:last-child) {
	border-bottom: 1px solid rgba(182,164,108,.2);
	padding-bottom: 3em;
}
.schedule-heading,
.schedule-details {
	text-wrap: balance;	
}
.schedule-heading {
	font-family: var(--type-fancy);
	margin: 0;
	font-size: var(--step-1);
	margin-top: 8px;
	margin-bottom: 8px;
	font-weight: 400;
	color: var(--color-white);
}
.schedule-details {
	display: block;
	font-family: var(--type-sans);
	font-size: var(--step--1);
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.08em;
	color: var(--color-gold);
	text-transform: uppercase;
}
.schedule-summary p {
	margin-block: unset;
}
.footer {
	background: url(../images/ingredients-bg.jpg) 0 0 no-repeat;
	background-size: cover;
	text-align: center;
}
.feature-image-group {
	padding-top: 20px;
	text-align: center;
}
.feature-image {
	display: inline-block;
	margin: 0 5px;
	border: 5px solid #494d4e;
	border-radius: 100%;
	width: 100px;
	height: 100px;
}
.feature-box {
	padding: 20px 10px;
	color: var(--color-white);
	background-color: rgba(0, 0, 0, 0.8);
}
@media only screen and (min-width: 740px) {
	.feature-box {
		padding: 50px 60px;
	}
}