/***************************************************************
# Fonts
***************************************************************/

@font-face {
	font-family: 'Merriweather';
	font-style: normal;
	font-weight: 300 900;
	font-stretch: 100%;
	font-display: swap;
	src: url('../fonts/merriweather.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


@font-face {
	font-family: 'Anitto';
	src: url('../fonts/Anitto.woff2') format('woff2'),
		url('../fonts/Anitto.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}



/***************************************************************
# Colours
***************************************************************/

:root {

	--primary: #1f150e;
	--secondary: #fec275;
	--tertiary: #a2454d;

	--brown: #695030;
	--light: #b68b54;
	--tan: #f5e9d9;
	--cream: #fffcf8;

	--gradient: linear-gradient(140deg, var(--primary), var(--brown));

	--gap: 1rem;

}




/***************************************************************
# Tags
***************************************************************/

html,
body {
	background: #f5e9d9;
	color: var(--primary);
	line-height: 1.4;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Merriweather';
	color: var(--brown);
	line-height: 1.3;
	font-weight: normal;
}

h1:nth-child(1),
h2:nth-child(1),
h3:nth-child(1),
h4:nth-child(1),
h5:nth-child(1),
h6:nth-child(1) {
	margin-top: 0;
}

h2 {
	font-size: clamp(1.7rem, 3.5vw, 2.1rem);
}

p {
	font-size: clamp(0.875rem, 2vw, 1rem);
}


/***************************************************************
# Structure
***************************************************************/

#wrapper {
	/* overflow-x: hidden; */
}

.section--margin {
	margin-top: clamp(1rem, 7.5vw, 8rem);
	margin-bottom: clamp(1rem, 7.5vw, 8rem);
}

.section--padding {
	padding-top: clamp(2rem, 12.5vw, 8rem);
	padding-bottom: clamp(2rem, 12.5vw, 8rem);
}


/***************************************************************
# Buttons
***************************************************************/

.button,
a.button {
	background: var(--tertiary);
	border-radius: 3em;
	font-family: 'Merriweather';
	text-transform: uppercase;
	text-decoration: none;
	font-weight: bold;
	padding: 0.7em 2em;
	letter-spacing: 0.1em;
	transition: all .4s ease;
	max-width: 72vw;
	margin: 0 auto;
}

.button--light,
a.button--light {
	background: var(--tan);
	border-color: var(--tan);
}

.button--outline,
a.button--outline {
	background: none;
	border-width: 1px;
	border-style: solid;
}

.button--light.button--outline,
a.button--light.button--outline {
	color: var(--tan);
}

/* Hovers */

.button:hover,
a.button:hover {
	background: var(--light);
}

.button--outline:hover,
a.button--outline:hover {
	background: var(--tertiary);
}

@media(min-width: 32rem) {

	.button,
	a.button {
		margin: initial;
	}

}

/***************************************************************
# Form / Inputs
***************************************************************/

textarea,
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="password"],
select {
	background: whitesmoke;
	background: #f0f0f0;
	border: none;
	border-radius: 0.5rem;
	margin: 0;
}

textarea {
	resize: none;
}

.form {
	display: flex;
	flex-flow: column;
	gap: 1rem;
}

.form h2 {
	margin: 0 0 .25em;
}

.form label {
	display: block;
	margin-bottom: .5em;
}

.form .row {
	display: flex;
	flex-flow: column;
	gap: 1rem;
}

.wpcf7-not-valid-tip {
	font-size: 0.75rem;
	margin-top: 0.25em;
}

@media(min-width: 48rem) {

	.form .row {
		flex-flow: row;
	}

	.form .row .col {
		flex: 1;
		margin: 0;
	}
}

/***************************************************************
# Header
***************************************************************/

#header {
	position: relative;
	z-index: 10;
	padding: 1rem 0;
}

.header__circle {
	display: none;
	content: "";
	background: var(--primary);
	width: 16rem;
	aspect-ratio: 1;
	border-radius: 50%;
	position: absolute;
	top: -5em;
	transform: translate(-50rem, 0%);
	left: 50%;
	z-index: 2;
	outline: 1rem solid var(--tan);
}

.header__col--cta {
	display: none;
}

.header__logo {
	max-width: clamp(1rem, 30vw, 10rem);
}

.header__logo--big {
	display: none;
}

.header__logo--small {
	display: block;
}

.header__col--logo {
	margin-right: auto;
}

.header .menu-item:hover {
	color: var(--light);
}

.header .current-menu-item {
	color: var(--secondary);
}


/* Floating Nav */

.floating-nav {
	position: fixed;
	top: 3rem;
	left: 0;
	width: 100%;
	z-index: 99;
	display: none;
}

.floating-nav .container {
	display: flex;
	flex-flow: row;
	justify-content: end;
}

.floating-nav__inner {
	background: var(--primary);
	display: flex;
	border-radius: 2em;
	flex-flow: row;
	align-items: baseline;
	padding: 1em 2em;
	gap: 2em;
}

.floating-nav ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style-type: none;
	gap: 1em;
	color: var(--cream);
}

.floating-nav ul li {
	margin: 0;
	padding: 0;
}

.floating-nav .menu a {
	color: inherit;
	text-decoration: none;
}



/* Sticky header */

@media(max-width: 112rem) {
	#header {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 100;
		transition: transform .4s ease;
	}

	#header.header--sticky {
		position: fixed;
	}

	.header-spacer {
		display: block;
		height: 6rem;
	}

	.header--hidden {
		transform: translateY(-100%);
	}

	.header--show {
		transform: translateY(0%);
	}

}

@media(min-width: 32rem) {

	.header__col--cta {
		display: block;
	}
}

@media(min-width: 112rem) {

	.header__logo {
		margin-bottom: -55%;
		width: 10rem;
		max-width: none;
	}

	.header__circle {
		display: block;
	}

	.header__logo--big {
		display: block;
	}

	.header__logo--small {
		display: none;
	}

	.floating-nav {
		display: block;
		opacity: 0;
		visibility: hidden;
		transition: all .4s ease;
	}

	.floating-nav.header--hidden {
		visibility: visible;
	}

	.floating-nav.header--hidden.header--show {
		opacity: 1;
	}

}




/***************************************************************
# Mobile Menu
***************************************************************/

.mobile-menu {
	display: flex;
	flex-flow: column;
	gap: 1rem;
	text-align: left;
	padding: calc(var(--gap) * 2);
	padding-bottom: calc(var(--gap) * 7);
	font-size: 1.25rem;
}

.mobile-menu .button {
	margin: initial;
}

.mobile-menu__header {
	display: flex;
	flex-flow: row;
	justify-content: space-between;
	gap: var(--gap);
}

.mobile-menu .menu {
	text-align: left;
	font-weight: initial;
	font-family: 'Merriweather';
}

.mobile-menu .current-menu-item {
	color: var(--light);
}

.mobile-menu__logo {
	max-width: 8rem;
}

.mobile-menu__button {
	border: 0;
	margin: 0;
	padding: 0;
}

.mobile-menu__button svg {
	fill: var(--tan);
	width: 2rem;
	height: auto;
}

.mobile-menu__contact {
	font-size: 1.15rem;
	color: var(--secondary);
	font-family: 'Merriweather';
	line-height: 1;
	margin: 1em 0;
}

.mobile-menu__footer {
	margin-top: auto;
}

.mobile-menu .block-socials,
.mobile-menu .block-socials a {
	font-size: 1rem;
	color: var(--primary);
}



/***************************************************************
# Footer
***************************************************************/

#footer {
	background: var(--primary);
	color: var(--tan);
	text-align: center;
	margin: 1rem;
	border-radius: 2rem;
	overflow: hidden;
	text-align: center;
	padding: 0;
}

#footer a:not(.button) {
	color: var(--light);
	text-decoration: underline;
}

.footer__logo {
	max-width: 50%;
}

.footer__heading {
	font-family: 'Merriweather';
	font-size: clamp(1.25rem, 3vw, 1.5rem);
}

.footer__row {
	display: flex;
	flex-flow: column;
	gap: 2rem;
}

#footer .block-socials {
	justify-content: center;
}

#footer .block-socials a {
	color: var(--primary);
}

.footer__bottom {
	padding: 2rem 0;
}


@media(min-width: 32rem) {

	.footer__row {
		display: grid;
		gap: 3rem 1rem;
		grid-template-columns: repeat(2, 1fr);
	}

	.footer__col--business {
		align-self: center;
	}

}

@media(min-width: 64rem) {

	#footer {
		text-align: left;
	}

	.footer__row {
		display: flex;
		flex-flow: row;
		justify-content: space-between;
		gap: 3rem;
	}

	.footer__col--business {
		align-self: initial;
		max-width: 16rem;
	}

	.footer__logo {
		max-width: 12rem;
		margin: 0 auto 1rem;
		display: block;
	}

}



/* Top */

.footer__top {
	padding: clamp(3rem, 12vw, 12rem);
	text-align: center;
	background: linear-gradient(140deg, var(--primary), var(--brown));
	position: relative;
	z-index: 1;
}

.footer__top-inner {
	max-width: 50rem;
	margin: 0 auto;
}

.footer__top h2 {
	color: var(--secondary);
	font-family: 'Anitto';
	font-weight: normal;
	margin: 0 0 1rem;
}

.footer__top-heading--desktop {
	display: none;
}

.footer__top-heading--mobile {
	display: block;
}

.footer__top-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
	opacity: 0.75;
	mix-blend-mode: multiply;
}

@media(min-width: 32rem) {

	.footer__top-heading--desktop {
		display: block;
	}

	.footer__top-heading--mobile {
		display: none;
	}

}

/* Legal */

.legal {
	margin: 1.5rem 0;
	font-size: 0.875rem;
	background: var(--light);
	color: var(--tan);
	border-radius: 2rem;
	padding: 1.5em;
	margin: 1rem;
}

.legal a {
	text-decoration: none;
	color: inherit;
}

.legal .menu {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	gap: 1rem;
}

.legal .menu-item {
	margin: 0;
}



/***************************************************************
# Page > Home
***************************************************************/

.home .page-title {
	display: none;
}




/***************************************************************
# Page > Menu
***************************************************************/

.page-template-menu .row {
	display: flex;
	flex-flow: column-reverse;
	gap: 2rem;
}

.page-template-menu .col {}

.page-template-menu .col--content {
	display: flex;
	flex-flow: column;
	gap: 2rem;
}

.page-template-menu .col--content .container,
.page-template-menu .col--content .section--margin {
	padding: 0;
	margin: 0;
}

.page-template-menu .col--navigation {}


/* Quick Navigation */

.quick-navigation {
	text-align: center;
	font-size: 0.875rem;
	position: sticky;
	top: 4rem;
}

.quick-navigation__heading {
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.5em;
	width: 100%;
	margin-bottom: 1em;
}

.quick-navigation .menu {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	list-style-type: none;
	margin: 0;
	padding: 0;
	gap: 1em;
}

.quick-navigation .menu-item {
	margin: 0;
}

.quick-navigation .menu-item a {
	background: var(--tertiary);
	color: var(--tan);
	display: block;
	border-radius: 3em;
	font-family: 'Merriweather';
	text-transform: uppercase;
	text-decoration: none;
	font-weight: bold;
	padding: 0.7em 2em;
	letter-spacing: 0.1em;
	transition: all .4s ease;
	margin: 0;
}

.quick-navigation .menu-item a:hover {
	background: var(--brown);
}

.quick-navigation .current-menu-item a {
	background: var(--light);
}


/* Responsive */

@media(min-width: 64rem) {

	.page-template-menu .row {
		flex-flow: row;
	}

	.page-template-menu .col {}


	.page-template-menu .col--navigation {
		flex: 1
	}

	.quick-navigation {
		width: 18em;
	}

	.quick-navigation .menu {
		display: flex;
		flex-flow: column;
		justify-content: center;
	}


}



/***************************************************************
# Page > Contact
***************************************************************/

.page-template-contact {}

.page-template-contact .row {
	display: flex;
	flex-flow: column;
	gap: 2rem;
}

.page-template-contact .form-container {
	background: var(--cream);
	padding: clamp(1rem, 7.5vw, 2rem);
	border-radius: 2rem;
}

.page-template-contact .col {}

.contact-details {
	background: var(--brown);
	color: var(--tan);
	padding: clamp(1rem, 7.5vw, 2rem);
	border-radius: 2rem;
	height: 100%;
}

.contact-details h2 {
	color: var(--secondary);
}

.contact-details a {
	color: inherit;
}

.contact-details .large {
	font-size: clamp(1.25rem, 3vw, 1.5rem);
	line-height: 1.8;
}

.contact-details .block-socials {
	margin-top: clamp(2rem, 5vw, 4rem);
}


@media(min-width: 48rem) {

	.page-template-contact .row {
		flex-flow: row;
	}

	.page-template-contact .col {
		flex: 1;
	}

}



/***************************************************************
# Block > Hero
***************************************************************/

.block-hero {
	background: var(--primary);
	position: relative;
	z-index: 1;
	color: var(--tan);
	margin: 1rem;
	border-radius: 2rem;
	padding: clamp(1rem, 10vw, 12rem) clamp(1rem, 5vw, 3rem);
	overflow: hidden;
}

.block-hero::after {
	display: block;
	content: "";
	background: linear-gradient(80deg, var(--primary), var(--tan));
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: multiply;
	z-index: -5;
}

.block-hero * {
	color: inherit;
}

.block-hero__text {
	max-width: 32rem;
}

.block-hero__heading {
	margin: 0 0 1rem;
	color: white;
	font-size: clamp(1rem, 10vw, 6rem);
	text-transform: uppercase;
	line-height: 1;
}

.block-hero__heading em {
	font-family: 'Anitto';
	color: var(--secondary);
	display: block;
	text-transform: initial;
	position: relative;
	top: 0.1em;
	left: -0.5em;
	font-size: 0.69em;
	font-weight: normal;
}

/* buttons */

.block-hero__buttons {
	display: flex;
	flex-flow: column;
	gap: 1em;
	margin: 2rem 0;
}

@media(min-width: 32rem) {

	.block-hero__buttons {
		flex-flow: row;
	}

}


/* background */

.block-hero__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -10;
	opacity: .4;
}

.block-hero__background img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* socials */

.block-hero__socials {
	display: flex;
	gap: 0.75em;
	color: var(--brown);
	margin-top: 3rem;
}

.block-hero__socials a {
	width: 3em;
	background: var(--tan);
	aspect-ratio: 1;
	display: block;
	position: relative;
	border-radius: 50%;
	line-height: 0;
	transition: all .4s ease;
}

.block-hero__socials svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	fill: currentColor;
	height: 60%;
}

.block-hero__socials a:hover {
	background: var(--tertiary);
	transform: translateY(-10%);
}

.block-hero__socials a:hover svg {
	fill: var(--tan);
}

@media(min-width: 48rem) {

	.block-hero__background {
		opacity: 1;
	}

	.block-hero__socials {
		position: absolute;
		bottom: 2em;
		right: 2em;

	}

}



/***************************************************************
# Block > Text & Images
***************************************************************/

.block-text-images {
	overflow-x: clip;
}

.block-text-images__row {
	display: flex;
	flex-flow: column;
	gap: clamp(2rem, 5vw, 6rem);
}

.block-text-images__col {
	position: relative;
	z-index: 1;
}

.block-text-images__col:nth-child(1) {
	margin: 0 1rem;
}

.block-text-images__col svg {
	fill: var(--brown);
	opacity: .1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: clamp(110%, 50vw, 200%);
	z-index: -1;
}

.block-text-images__image-container {
	aspect-ratio: 22/21;
	position: relative;
}

.block-text-images__image-container img {
	position: absolute;
}

.block-text-images__image-container img:nth-child(1) {
	aspect-ratio: 1;
	object-fit: cover;
	outline: 1rem solid var(--tan);
	overflow: hidden;
	border-radius: 2rem;
	z-index: 2;
	width: 70%;
	left: 0;
	bottom: 0;
}

.block-text-images__image-container img:nth-child(2) {
	top: 0;
	right: 0;
	width: 46%;
	aspect-ratio: 1;
	border-radius: 2rem;
	object-fit: cover;
}

.block-text-images__row.reverse .block-text-images__image-container img:nth-child(1) {
	left: initial;
	right: 0;
}

.block-text-images__row.reverse .block-text-images__image-container img:nth-child(2) {
	left: 0;
	right: initial;
}

@media(min-width: 48rem) {

	.block-text-images__row {
		align-items: center;
		flex-flow: row;
	}

	.block-text-images__row.reverse {
		flex-flow: row-reverse;
	}


	.block-text-images__col {
		flex: 1;
	}

	.block-text-images__col:nth-child(1) {
		margin: 0 1rem;
	}


}



/***************************************************************
# Block > Opening Times
***************************************************************/

.block-opening-times {
	text-align: center;
	margin-top: clamp(5rem, 7.5vw, 8rem);
}

.block-opening-times__inner {
	border: 3px solid var(--light);
	padding: clamp(1rem, 7.5vw, 4rem);
	border-radius: 2rem;
	position: relative;
	background: var(--tan);
}

.block-opening-times__heading {
	font-family: 'Anitto';
	color: var(--tertiary);
	font-size: clamp(1rem, 5vw, 2.5rem);
	position: relative;
	padding: 0 1em;
	display: block;
	/*! background: var(--tan); */
	margin: 0 0 1em;
	/*! width: 14em; */
	text-align: center;
}

.block-opening-times__row {
	display: flex;
	flex-flow: column;
	gap: clamp(1rem, 5vw, 3rem);
}

.block-opening-times__col-heading {
	margin-bottom: .5em;
	text-transform: uppercase;
}

.block-opening-times__leaf {
	position: absolute;
	bottom: calc(100% + 3px);
	left: 2.5%;
	width: 4rem;
	fill: var(--light);
}


/* has background */

.block-opening-times.section--padding {
	background: var(--brown);
	position: relative;
	z-index: 1;
}

.block-opening-times__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
	opacity: 0.75;
	mix-blend-mode: multiply;
}


/* responsive */

@media(min-width: 32rem) {

	.block-opening-times__row {
		flex-flow: row;
		justify-content: center;
	}

}




/***************************************************************
# Block > Banner Tri-Image
***************************************************************/

.block-banner-tri-image {
	display: flex;
	gap: 2rem;
	text-align: center;
	color: var(--tan);
}

.block-banner-tri-image h2 {
	color: inherit;
	text-transform: uppercase;
	font-size: clamp(1.5rem, 5vw, 2rem);
}

.block-banner-tri-image strong {
	font-size: 1.15em;
}

.block-banner-tri-image p {
	font-size: 1rem;
}


.block-banner-tri-image__col {
	position: relative;
	z-index: 1;
	background: var(--gradient);
	overflow: hidden;
}

.block-banner-tri-image__inner {
	max-width: 58rem;
	margin: 0 auto;
}

.block-banner-tri-image__col--left {
	border-radius: 0 2rem 2rem 0;
	flex: 1;
	display: none;
}

.block-banner-tri-image__col--middle {
	flex: 6;
	padding: clamp(2rem, 12vw, 8rem);
}

.block-banner-tri-image__col--right {
	border-radius: 2rem 0 0 2rem;
	flex: 1;
	display: none;
}

.block-banner-tri-image__col img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	object-fit: cover;
}

.block-banner-tri-image__col--middle img {
	opacity: .5;
	mix-blend-mode: multiply;
}


@media(min-width: 48rem) {

	.block-banner-tri-image__col--left {
		display: block;
		flex: 2;
	}

	.block-banner-tri-image__col--middle {
		border-radius: 2rem;
		flex: 4;
	}

	.block-banner-tri-image__col--right {
		display: block;
		flex: 2;
	}

}


/***************************************************************
# Block > Contact / Map
***************************************************************/

.block-contact-map {}

.block-contact-map a {
	color: inherit;
}

.block-contact-map__row {
	display: flex;
	flex-flow: column;
	gap: 7.5vw;
}

.block-contact-map__col {}

.block-contact-map__col--text {
	background: var(--brown);
	color: var(--tan);
	padding: clamp(1rem, 7.5vw, 3rem);
	border-radius: 2rem;
}

.block-contact-map__col--text h2 {
	color: var(--secondary);
}

.block-contact-map__col--text p {
	font-size: 1.25rem;
	max-width: 15em;
}

.block-contact-map__col--map {}

.block-contact-map iframe {
	aspect-ratio: 1;
	width: 100%;
	border-radius: 2rem;
}

.block-contact-map .block-socials {
	margin-top: 2rem;
}

@media(min-width: 48rem) {

	.block-contact-map__row {
		flex-flow: row;
		gap: 1rem;
	}

	.block-contact-map__col--text {
		flex: 1;
	}

	.block-contact-map__col--map {
		flex: 2;
	}

	.block-contact-map iframe {
		aspect-ratio: initial;
		height: 100%;
	}

	.block-contact-map .block-socials {
		margin-top: 8rem;
	}


}



/***************************************************************
# Block > Socials
***************************************************************/

.block-socials {
	display: flex;
	gap: 0.75em;
}

.block-socials a {
	color: var(--brown);
	width: 3em;
	background: var(--tan);
	aspect-ratio: 1;
	display: block;
	position: relative;
	border-radius: 50%;
	line-height: 0;
	transition: all .4s ease;
}

.block-socials svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	fill: currentColor;
	height: 50%;
	width: 60%;
}

/* hover */
.block-socials a:hover {
	transform: translateY(-10%);
	background: var(--light);
}



/***************************************************************
# Block > Gallery
***************************************************************/

.block-gallery {}

.block-gallery__container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

.block-gallery__container img {
	aspect-ratio: 3/2;
	border-radius: 1rem;
	object-fit: cover;
}

@media(min-width: 48rem) {

	.block-gallery__container {
		grid-template-columns: repeat(3, 1fr);
	}


}



/***************************************************************
# Block > Menu Section
***************************************************************/

.block-menu {}

.block-menu__heading {
	margin: .5rem 0;
}

.block-menu__subheading {
	font-size: 1.15rem;
	font-weight: bold;
	color: black;
	margin-top: 1em;
	margin-bottom: 0em;
	text-transform: uppercase;
	background: rgba(0, 0, 0, 0.05);
	padding: 0.5em;
}

.block-menu img {
	aspect-ratio: 4/1;
	object-fit: cover;
	margin: .5rem 0;
	border-radius: 1rem;
}

.block-menu__item {
	position: relative;
}

.block-menu__item-name {
	margin: 0 0 .25rem;
	color: var(--tertiary);
	font-size: 1.25rem;
	text-transform: capitalize;
}

.block-menu__price {
	font-weight: bold;
	color: var(--brown);
}

.block-menu__container {
	display: grid;
	gap: clamp(1rem, 4vw, 2rem) 3rem;
	grid-template-columns: repeat(1, 1fr);
	margin: 1rem 0 2rem;
}

@media(min-width: 48rem) {

	.block-menu__container {
		grid-template-columns: repeat(2, 1fr);
	}

	.block-menu img {
		aspect-ratio: 6/1;
	}


	.block-menu__item-name {
		padding-right: 3.5em;
	}

	.block-menu__price {
		position: absolute;
		top: 0;
		right: 0;
	}

}





/***************************************************************
# Block > Page Title
***************************************************************/

.page-title {
	position: relative;
	background: var(--primary);
	color: var(--tan);
	margin: 1rem;
	border-radius: clamp(1rem, 3vw, 2rem);
	padding: clamp(1rem, 5vw, 5rem);
	z-index: 1;
	overflow: hidden;
}

.page-title::after {
	display: block;
	content: "";
	background: linear-gradient(80deg, var(--primary), var(--tan));
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: multiply;
	z-index: -5;
}

.page-title h1 {
	color: inherit;
	font-size: clamp(2rem, 4vw, 4rem);
}

.page-title img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -10;
}



/***************************************************************
# Block > Text
***************************************************************/

.block-text {
	text-align: center;
	position: relative;
	z-index: 1;
	overflow-x: clip;
}

.block-text__background {
	fill: var(--brown);
	opacity: .1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: clamp(110%, 50vw, 130%);
	z-index: -1;
}

.block-text__heading {
	color: var(--tertiary);
	font-family: 'Merriweather';
	font-weight: normal;
}

.block-text .block-socials {
	justify-content: center;
}

.block-text .block-socials a {
	background: var(--brown);
	color: var(--tan);
}

.block-text .block-socials a:hover {
	background: var(--tertiary);
}



/***************************************************************
# Block > Social Icons
***************************************************************/

.block-social-icons .block-socials {
	justify-content: center;
}

.block-social-icons .block-socials a {
	background: var(--brown);
	color: var(--tan);
}


/***************************************************************
# Block > Cards
***************************************************************/

.block-cards {}

.block-cards__container {
	display: flex;
	flex-flow: column;
	gap: 2rem;
}

@media(min-width: 48rem) {

	.block-cards__container {
		flex-flow: wrap;
		justify-content: center;
	}

	.block-cards__container {
		flex-flow: wrap;
		justify-content: center;
	}

	.block-cards__container .card {
		width: 45%;
	}

}


/***************************************************************
# Block > Text / Card
***************************************************************/

.block-text-card {
	text-align: center;
}

.block-text-card h2 {
	margin: .5rem 0 1rem;
}

.block-text-card__container {
	display: flex;
	flex-flow: column;
	gap: clamp(2rem, 10vw, 4rem)
}

.block-text-card__col {
	position: relative;
}

.block-text-card__icon {
	width: 6rem;
	fill: var(--tertiary);
}

.block-text-card__background {
	fill: var(--brown);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: .1;
	z-index: 1;
	height: clamp(10rem, 26vw, 24rem);
}


@media(min-width: 48rem) {

	.block-text-card {
		text-align: left;
	}

	.block-text-card__container {
		flex-flow: row;
		align-items: center;
	}

	.block-text-card__col {
		flex: 1;
	}

}

/***************************************************************
# Block > Contact Form
***************************************************************/

.block-contact-form {
	position: relative;
	z-index: 1;
	background: var(--brown);
	margin-top: clamp(3rem, 12vw, 12rem);
	margin-bottom: clamp(3rem, 12vw, 12rem);
	padding-top: clamp(3rem, 12vw, 12rem);
	padding-bottom: clamp(3rem, 12vw, 12rem);
}

.block-contact-form__form {
	background: white;
	border-radius: 2rem;
	padding: clamp(1rem, 5vw, 2rem);
}

.block-contact-form__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
	opacity: .2;
}

@media(min-width: 48rem) {

	.block-contact-form {
		padding: 1rem 0;
	}

	.block-contact-form__form {
		margin: -4rem 0 -4rem;
	}


}


/***************************************************************
# Block > Map
***************************************************************/

.block-map {
	margin: 1rem;
}

.block-map iframe {
	width: 100%;
	aspect-ratio: 1;
	border-radius: 2rem;
}

@media(min-width: 48rem) {
	.block-map iframe {
		aspect-ratio: 3/1;
		max-height: clamp(20rem, 40vw, 40rem);
	}
}


/***************************************************************
# Partial > Card
***************************************************************/

.card {
	text-align: center;
	color: var(--tan);
	background: var(--gradient);
	border-radius: 2rem;
	overflow: hidden;
	padding: clamp(1rem, 5vw, 2rem);
	position: relative;
	z-index: 1;
}

.card h2 {
	color: inherit;
	margin: 0;
}

.card__subheading {
	color: white;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	font-size: 0.875rem;
	margin: 1em 0;
}

.card img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
	opacity: 0.5;
	mix-blend-mode: multiply;
}

/* baguetteBox */
#baguetteBox-overlay .full-image img {
	max-width: 80%;
	max-height: 80%;
	border-radius: 1rem;
}






/***************************************************************
# Blog
***************************************************************/

.post-grid__item {
	background: var(--cream);
	border-radius: 1rem;
	border: none;
}



.single-post .entry-content {
	background: var(--cream);
	border-radius: 1rem;
	padding: clamp(1rem, 5vw, 2rem);
}

.single-post .entry-image {
	margin: 0 0 2rem;
}

.single-post .entry-image img {
	border-radius: clamp(.5rem, 2.5vw, 1rem);
	margin: 0;
}

/**** End ****/