/*
Theme Name: Stu's Restaurants Child Theme
Template: theme360
Version: 1.0
Author: Respond AGency Ltd
Author URI: https://www.werespond.uk
Description: A Theme360 child theme for Stu's Restaurants
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
/* Fonts */
  --fnt_font-family: "Poppins", sans-serif;
  --fnt_font-size: 18px;
  --fnt_line-height: 1.7em;
  --fnt_font-weight: 400;
  
  --cta_fnt_font-size: 0.95rem;
  --cta_fnt_line-height: 1.25rem;
  --cta_fnt_font-weight: 500;
  --cta_fnt_text-transform: uppercase;
  
  --cta-txt_fnt_font-size: 0.9rem;
  --cta-txt_fnt_font-weight: 600;
  --cta-txt_fnt_text-transform: uppercase;

  --psh_fnt_font-size: 0.9rem;
  --psh_fnt_line-height: 1.2rem;
  --psh_fnt_font-weight: 700;
  
  --pre_fnt_font-size: 0.85rem;
  --pre_fnt_line-height: 1.2rem;
  --pre_fnt_font-weight: 500;
  --pre_fnt_letter-spacing: 0.2rem;
  
  --hed_fnt_font-weight: 600;
  --hed_fnt_letter-spacing: 0rem;
  
  --h1_fnt_font-size: 3.8rem;
  --h1_fnt_line-height: 4.3rem;
  
  --h2_fnt_font-size: 2.7rem;
  --h2_fnt_line-height: 3rem;

  --h3_fnt_font-size: 1.8rem;
  --h3_fnt_line-height: 2.2rem;

  --h4_fnt_font-size: 1.6rem;
  --h4_fnt_line-height: 1.9rem;

/* Colours */
  --clrshadow: none;
  --clrblack: #1E2A1E;
  --clrblack_alt: #314039;
  --clrwhite: #ffffff;
  --clrwhite_alt: #E6E3DA;
  --clrgrey: #E6E3DA;
  --clrgrey_alt: #D8CEB6;
  /* Green */
  --clr1: #1E2A1E;
  --clr1_alt: #314039;
  --clr1_txt: #ffffff;
  /* Gold */
  --clr2: #DAA943;
  --clr2_alt: #BD8D2B;
  --clr2_alt_o: rgba(218,169,67,0.5);
  --clr2_txt: #fff;

/* Corners */
  --radius_sm: 0px;
  --radius_md: 4px;
  --radius_cta: 0px;
  
/* Padding */
  --cntntpad: 80px;
  --cntntpad_slm: 40px;
  --ctapad: 16px 26px;
}

/* Less than Medium */		
@media screen and (max-width: 64em) { 
	:root {
	/* Fonts */
	  --fnt_font-size: 17px;
	  --fnt_line-height: 1.7em;
  
	  --cta_fnt_font-size: 0.9rem;
	  --cta_fnt_line-height: 1.2rem;
  
	  --h1_fnt_font-size: 2.5rem;
	  --h1_fnt_line-height: 2.9rem;
  
	  --h2_fnt_font-size: 2.2rem;
	  --h2_fnt_line-height: 2.6rem;

	  --h3_fnt_font-size: 1.6rem;
	  --h3_fnt_line-height: 2rem;

	  --h4_fnt_font-size: 1.4rem;
	  --h4_fnt_line-height: 1.8rem;

  
	/* Padding */
	  --cntntpad: 50px;
	  --cntntpad_slm: 40px;
	  --ctapad: 14px 20px;
	}
}


/* -- Overrides -- */
#menu-event-1, #menu-event-2, #menu-event-3, #menu-event-4, #menu-event-5 {
	scroll-margin-top: 200px;
}

	body {
		background: var(--clr1);
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	
	.box, .box-in .content-container, .box-message {
		border-radius: 0;
		padding: 40px 50px;
	}
	
	h1, h2, h3, h4, h5, h6 {
		font-family: 'Playfair Display', serif;
	}
	
	.h2-override h2 {
		font-size: var(--h2_fnt_font-size);
		line-height: var(--h2_fnt_line-height);
	}
	
	.no-bg h1, .no-bg h2, .no-bg h3, .no-bg h4, .no-bg h5, .no-bg h6, .clr1-bg h1, .clr1-bg h2, .clr1-bg h3, .clr1-bg h4, .clr1-bg h5, .clr1-bg h6 {
		color: var(--clrwhite);
	}
	
	a.cta, button, input[type="submit"] {
		letter-spacing: 0.2em;
	}
	
	a.cta.sm {
		padding: 15px 25px;
	}
	
	span.pre-title, legend, span.post-meta {
		color: var(--clrwhite);
	}
	
		.clrgrey-bg span.pre-title, .clrgrey-bg legend, .clrgrey-bg span.post-meta {
			color: var(--clr2_alt);
		}
		
	.ctas-container {
		margin: 1.8rem 0 0;
	}
	
	a.cta-text:link, a.cta-text:visited, a.cta-text:active {
		color: var(--clr2_alt);
	}
	
	/* Override Primary CTA */	
	a.cta.primary, a.cta.primary:link, a.cta.primary:active, a.cta.primary:visited, button, input[type="submit"] {
		position: relative;
		z-index: 0;
		background: var(--clr1);
		border: solid 1px var(--clr2_alt_o);
		color: var(--clr1_txt);
	}
	
	button:hover, input[type="submit"]:hover {
		border: solid 1px var(--clr2_alt_o);
		color: var(--clrwhite) !important;
		background: var(--clr1);
	}
	
		.gform_footer {
			display: inline-block;
			position: relative;
			margin: 15px auto 0;
		}
		
			.gform_footer::before {
				content: "";
				display: block;
				width: calc(100% + 16px);
				height: calc(100% + 16px);
				position: absolute;
				inset: 0;
				left: -8px;
				top: -8px;
				z-index: 0;
				overflow: hidden;
				background: var(--clr1);
			}

			.gform_footer button, .gform_footer input[type="submit"] {
				margin: auto;
				padding: 8px 14px;
				color: var(--clr2);
			}
	
		a.cta.primary::before {
			content: "";
			display: block;
			width: calc(100% - 14px);
			height: calc(100% - 14px);
			border: solid 1px var(--clr2_alt_o);
			position: absolute;
			inset: 0;
			left: 6px;
			top: 6px;
			background: var(--clr1);
			z-index: -1;
		}
		
	.clrgrey-bg a.cta.primary, .clrgrey-bg a.cta.primary:link, .clrgrey-bg a.cta.primary:visited, .clrgrey-bg a.cta.primary:active {
		color: var(--clr2);
		border: solid 1px var(--clr1);
	}

		a.cta.primary:hover {
			color: var(--clrwhite) !important;
		}
		
	/* Override Secondary CTA */	
	a.cta.secondary, a.cta.secondary:link, a.cta.secondary:active, a.cta.secondary:visited {
		position: relative;
		z-index: 0;
		background: none;
		border: solid 1px var(--clr2_alt_o);
		color: var(--clrwhite);
	}
	
		a.cta.secondary::before {
			content: "";
			display: block;
			width: calc(100% - 14px);
			height: calc(100% - 14px);
			border: solid 1px var(--clr2_alt_o);
			position: absolute;
			inset: 0;
			left: 6px;
			top: 6px;
			background: none;
			z-index: -1;
		}

		a.cta.secondary:hover {
			color: var(--clrwhite) !important;
		}
		
	.clrgrey-bg a.cta.secondary, .clrgrey-bg a.cta.secondary:link, .clrgrey-bg a.cta.secondary:active, .clrgrey-bg a.cta.secondary:visited {
		position: relative;
		z-index: 0;
		background: none;
		border: solid 1px var(--clr2_alt_o);
		color: var(--clr1);
	}
	
		.clrgrey-bg a.cta.secondary:hover {
			color: var(--clr2_alt) !important;
		}

		
/* Top Bar */
.top-bar {
	padding: 10px 0;
	background: var(--clr1_alt);
}

	.top-bar a, .top-bar a:link, .top-bar a:active, .top-bar a:visited {
		text-transform: uppercase;
		letter-spacing: 0.15em;
		color: var(--clrwhite);
		display: block;
		padding: 5px 0 4px;
	}
	
		.top-bar a svg {
			color: var(--clr2);
			position: relative;
			left: 0;
					-webkit-transition: all 0.5s;
					-moz-transition: all 0.5s;
					-ms-transition: all 0.5s;
					-o-transition: all 0.5s;
					transition: all 0.5s;
		}
		
			.top-bar a:hover {
				color: var(--clr2);
			}
		
			.top-bar a:hover svg {
				left: 6px;
				color: var(--clrwhite);
			}
		
/* Header */
header {
	padding: 20px 0;
}

.header-container {
	gap: 0;
	padding: 0;
}

header, header a {
	color: var(--clr1_txt);
}

	.header-container .logo img {
		width: 175px;
	}
	
.header-container .ctas {
	justify-content: flex-end;
	gap: 30px;
	flex-grow: 1;

}
	
.header-container .nav .primary-menu li a {
    color: var(--clrwhite);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.9rem;
}

	.header-container .nav .primary-menu li a:hover {
		color: var(--clr2);
	}
	
/* Mobile Nav */
.nav-mobile {
	background: var(--clrgrey);
	position: fixed;
	text-align: center;
}

.nav-mobile .nav-container {
	background: none;
	max-width: 100%;
	width: 100%;
	box-sizing: border-box;
	padding-top: 25px;
}

.nav-mobile .nav-container a.mob-menu-item {
	top: 0;
	right: 0;
	left: unset;
	background: none;
	/* border: solid 1px var(--clr2_alt_o); */
	position: absolute;
	aspect-ratio: 1/1;
	width: 50px;
	text-align: center;
	z-index: 20;
}

	.nav-mobile .nav-container a.mob-menu-item:before {
		display: none;
		content: "";
		width: calc(100% + 14px);
		height: calc(100% + 14px);
		border: solid 1px var(--clr2_alt_o);
		position: absolute;
		top: -8px;
		left: -8px;
	}

	.nav-mobile .nav-container a.mob-menu-item svg {
		color: var(--clr1);
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		font-size: 20px;
	}
	
.nav-mobile ul li a {
	color: var(--clr1);
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 2rem;
}

.nav-mobile ul li.cta a, .nav-mobile ul li.cta.secondary a {
	font-family: 'Poppins', sans-serif;
	font-size: var(--cta_fnt_font-size);
	line-height: var( --cta_fnt_line-height);
	font-weight: var(--cta_fnt_font-weight);
	text-transform: var(--cta_fnt_text-transform);
	letter-spacing: 0.2em;
	color: var(--clr2);
	position: relative;
	z-index: 0;
	border: solid 1px var(--clr2_alt_o);
	background: var(--clr1);
	min-width: 150px;
	text-align: center;
}

		.nav-mobile ul li.cta a::before {
			content: "";
			display: block;
			width: calc(100% - 14px);
			height: calc(100% - 14px);
			border: solid 1px var(--clr2_alt_o);
			position: absolute;
			inset: 0;
			left: 6px;
			top: 6px;
			background: var(--clr1);
			z-index: -1;
		}

.nav-mobile ul li.cta.secondary a:hover {
    background: var(--clr1);
}
		
.nav-mobile ul li.phone a {
	font-family: 'Poppins', sans-serif;
	letter-spacing: 0.2em;
	font-size: 1.1rem;
	font-weight: 500;
}

.nav-mobile ul li.social a {
	display: inline-block;
	padding: 0;
}
	
/* Forms */
form fieldset {
	padding: 0;
	background: none;
}

input[type="radio"], input[type="checkbox"] {
	float: left;
	line-height: 1rem;
	width: 14px;
	height: 14px;
	padding: 0;
}

form label.show, form.show-labels label, form .gfield_radio label, form .gfield_checkbox label {
    width: calc(85%);
    float: left;
    margin: -0.2rem 0 0 10px;
}

.form-container {
	max-width: 450px;
	margin: auto;
}

input, textarea, button, select {
    border: solid 1px var(--clrgrey);
    border-radius: var(--radius_sm);
    outline: 0;
    padding: 13px 15px;
    font-family: var(--fnt_font-family);
    font-size: 0.95rem;
    color: var(--clrblack);
    border: solid 1px var(--clr1);
}

.form-container.inline-form {
	max-width: none;
	padding: 0;
	margin: 0;
}

	.form-container.inline-form form {
		display: inline-block;
	}

.form-container.inline-form .gform_footer {
	margin: 8px 0 0;
	float: left;
}

.form-container.inline-form .gform_body {
    float: left;
    min-width: 400px;
    height: 53px;
}

.form-container.inline-form .gform_body input {
    margin: 0;
    height: 53px;
}



h2.gform_submission_error {
  font-size: 1rem;
  color: orange;
  margin: 0;
  padding: 0;
  line-height: 1.5rem;
  letter-spacing: 0;
  font-family: var(--fnt_font-family);
  display: none;
}

body .gform_wrapper .gform_ajax_spinner {
  max-width: 50px;
  display: none;
}

.box.form-container.clrwhite-bg {
	position: relative;
	background: none !important;
	z-index: 0;
}

	.box.form-container.clrwhite-bg:before {
		content: "";
		display: block;
		position: absolute;
		left: 10px;
		top: 10px;
		width: calc(100%);
		height: calc(100%);
		border: solid 2px var(--clr1);
		z-index: -1;
	}

	.box.form-container.clrwhite-bg:after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: calc(100%);
		height: calc(100%);
		background: var(--clrwhite);
		z-index: -2;
	}


	
/* Phone */
.contact-info {
	margin: 30px 0 0;
}

.contact-info a {
	margin: 20px 0;
	font-size: 1.2rem;
	line-height: 1.8rem;
}

a.phone, a.address, a.email {
	text-transform: uppercase;
	letter-spacing: 0.2em;
	text-decoration: none;
	display: block;
}

	a.phone:hover {
		color: var(--clr2);
	}

	a.phone svg, a.address svg, a.email svg {
		color: var(--clr2);
	}
	
	a.address, a.email {
		text-transform: none;
		letter-spacing: 0;
	}
	
		a.address svg {
			float: left;
			margin: 0 0 15px;
			position: relative;
			top: 4px;
			left: -2px;
			width: 26px;
		}

header a.phone, footer a.phone {
	color: var(--clrwhite);
	font-size: 1rem;
}

/* Mobile Nav */
.mob-menu-item {
	color: var(--clrwhite);
	padding: 0;
	margin-right: 5px;
}

.mob-menu-item svg {
	font-size: 26px;
}

.mob-menu-item.phone {
	padding-top: 5px;
	margin-right: 0;
}

.mob-menu-item.phone svg {
	font-size: 20px;
}

/* Banner */
.banner.bg-img {
	padding-left: 30px;
	padding-right: 30px;
	position: relative;
}

.banner.bg-img .content-container > p {
	color: var(--clrwhite);
	background: rgba(30,42,30,0.8);
	padding: 20px;
	border-radius: var(--radius_md);
}

.banner.bg-img .box {
	background-size: cover;
	background-position: center;
	padding: var(--cntntpad) 50px;
	position: relative;
	z-index: 2;
	overflow: hidden;
	border-radius: var(--radius_md);
}
	
	.banner.bg-img .box:before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		display: block;
		background: var(--clr1);
		opacity: 0.4;
		z-index: 2;
	}
	
	#row-1.banner.bg-img .box {
		min-height: 75vh;
		box-sizing: border-box;
	}
	
	#row-1.banner.bg-img.slim .box {
		min-height: 50vh;
		box-sizing: border-box;
	}
	
	#row-1.banner.bg-img .box .content-container {
		position: absolute !important;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		max-width: 1000px;
		z-index: 3;
		padding: 0 30px;
		box-sizing: border-box;
	}
	
	#row-1.banner.bg-img:after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 250px;
		display: block;
		background: var(--clrgrey);
		z-index: -1;
	}
	
.banner.centered.box-in h3 {
	color: var(--clr2_alt);
}

.banner.centered.box-in .content-container, .box-message {
	border: solid 2px var(--clr1);
	position: relative;
	z-index: 0;
}

	.banner.centered.box-in .content-container:before, .box-message:before {
		content: "";
		display: block;
		position: absolute;
		left: 6px;
		top: 6px;
		border: solid 2px var(--clr1);
		width: calc(100% - 15px);
		height: calc(100% - 15px);
		z-index: -1;
	}

.box-message {
	min-width: 300px;
	margin: auto;
}

/* FAQs */
.faqs .faq-group .question {
	border-top: solid 1px var(--clrgrey_alt);
}

.faqs .faq-group .question:last-of-type {
	border-bottom: solid 1px var(--clrgrey_alt);
}


	
/* Content Rows */
.img-container {
	position: relative;
	display: block;
}

	.img-container:before {
		content: "";
		display: block;
		position: absolute;
		left: 7px;
		top: 7px;
		border: solid 2px var(--clr1);
		width: 100%;
		height: calc(100% - 7px);
		z-index: 0;
	}
	
/* Testimonials */
.testimonials .box-in .content-container {
	border: solid 2px var(--clr2_alt_o);
	position: relative;
	z-index: 0;
	font-family: 'Playfair Display', serif;
	font-style: oblique;
	font-size: 2.2rem;
	line-height: 2.9rem;
	font-weight: bold;
	position: relative;
	padding-top: 10px;
	padding-bottom: 30px;
}

.testimonial .content svg {
    position: relative;
    margin: 25px 0 -15px;
    color: var(--clr2_alt);
    font-size: 1rem;
    line-height: 1rem;
}

	.testimonials .box-in .content-container:before {
		content: "";
		display: block;
		position: absolute;
		left: 6px;
		top: 6px;
		border: solid 2px var(--clr2_alt_o);
		width: calc(100% - 15px);
		height: calc(100% - 15px);
		z-index: -1;
	}
	
	.testimonials .box-in .content-container span.quote-mark {
		position: absolute;
		left: 50%;
		top: -4px;
		font-size: 160px;
		line-height: 60px;
		color: var(--clr2_alt);
		transform: translateX(-50%);
		background: var(--clrgrey);
		text-indent: -10px;
		padding-right: 10px;
	}
	
	.testimonials .box-in .content-container blockquote {
		z-index: 2;
		position: relative;
	}
	
	.testimonials .box-in .testimonial span.name {
		font-family: 'Poppins', sans-serif;
		color: var(--clr2_alt);
		font-size: 0.9rem;
		line-height: 1.2rem;
	}
	
/* Tagline */
.tagline-container {
	padding: 11px 0 10px;
	border-bottom: solid 1px var(--clr2_alt_o);
}

.tagline-container span.item {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.5rem;
}

.tagline-container span.item.address {
	display: block;
	text-align: right;

}

	.tagline-container span.item svg {
		color: var(--clr2);
	}
	
/* Menu */
.menu-event-single {
	max-width: 1100px;
	margin: 0 auto;
}
.menu-event-single .row.row-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid 2px var(--clr1);
    border-top: solid 2px var(--clr1);
    margin: 20px 0 10px;
	flex-wrap: wrap; 
}

.menu-event-single .row.row-header p {
	flex: 0 0 100%;
	margin: -18px 0 25px;
}

	.menu-event-single .row.row-header:first-of-type {
		margin-top: 0;
		border-top: none;
	}

	.menu-event-single .row.row-header h3 {
		font-size: 2.2rem;
		line-height: 2.6rem;
	}

	.menu-event-single .row.row-header span.note {
		font-family: 'Playfair Display', serif;
		font-weight: bold;
		color: var(--clr1);
		font-size: 1.6rem;
	}
	
.menu-event-single .row.row-category {
	border-bottom: solid 1px var(--clr2_alt_o);
	margin: 10px 0;
}

	.menu-event-single .row.row-category p {
		margin: -20px 0 5px;
		font-size: 0.9rem;
		line-height: 1.7rem;
		padding: 0;
	}

	.menu-event-single .row.row-category.prev-header {
		margin-top: 0;
	}

	.menu-event-single .row.row-category.prev-item {
		border-top: solid 1px var(--clr2_alt_o);
	}
	
	.menu-event-single .row.row-category h4 {
		color: var(--clr2_alt);
	}

.menu-event-single .row.row-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
}

	.menu-event-single .row.row-item h5 {
		margin: 0;
		padding: 0;
	}
	
	.menu-event-single .row.row-item span.price {
		font-weight: bold;
		color: var(--clr2_alt);
		position: relative;
		top: 6px;
	}
	
.menu-event-single .row.row-item-description {
	margin: 0 0 10px;
	font-size: 1rem;
	line-height: 1.7rem;
}
	
	.menu-event-single .row.row-item-description p {
		margin: 0;
		padding: 0;
		max-width: 700px;
	}

.menu-event-single .row.row-item-description span.note {
    display: inline-block;
    font-weight: 500;
    color: var(--clr2_alt);
    font-size: 0.9rem;
    margin: 5px 0 0;
}

.menu-event-single .row.row-item-description span.note.price-true {
		font-weight: bold;
		color: var(--clr2_alt);
}
	
	
/* Tabs */
.tab nav {
	position: relative;
}
.tab nav:after {
	content: "";
	width: calc(1040px);
	height: 5px;
	background: var(--clr1);
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
}
.tab nav:after {
	max-width: calc(100vw - 60px);
}
.tab {
  display: none;
}
.tab:target {
  display: block;
}
.tab:last-child {
  display: block;
}
.tab:target ~ section.tab:last-child {
  display: none;
}
.tab > nav > a.active {
	color: var(--clrgrey);
	background: var(--clr1);
}

.tab > nav {
  padding: 0;
  display: inline-flex;
  margin: 0;
  justify-content: flex-end;
}
/*
.tab > nav > a {
  display: inline-block;
  text-decoration: none;
  color: var(--clr1);
  margin: 0;
  padding: 20px 25px;
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 2.4rem;
}
*/
.tab > nav > a {
  display: inline-block;
  text-decoration: none;
  color: var(--clr1);
  margin: 0;
  padding: 20px 25px;
  letter-spacing: 0.2em;
  font-size: 1.2rem;
  line-height: 1.4rem;
  text-transform: uppercase;
  position: relative;
}
.tab > nav > a:hover {
  color: var(--clr2_alt);
}
.tab > nav > a.active:before {
	content: "";
	border: solid 1px var(--clr2_alt_o);
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	top: 7px;
	left: 7px;
	position: absolute;
}

.tab > nav::after {
  content: "";
  flex: 1;
}

/* Events */
.content-container.post img, .latest-posts .post img:first-of-type {
	margin: 0;
	border-radius: 0;
}

.latest-posts .content-container.post {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
    height: 100%;
}

.latest-posts .content-container.post .content {
    flex: 1;   /* Makes .content grow to fill remaining height */
    width: 100%;
}

.latest-posts .content-container.post .content .copy {
    flex-direction: column;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex: 1;   /* Makes .content grow to fill remaining height */
    width: 100%;
    height: 100%;
    padding: 0 7px;
}

.latest-posts .content-container.post .content div.ctas {
    margin-top: auto;
}

.latest-posts .content-container.post .content a.cta {
	margin-top: 20px;
}

.post-titles img.post-thumbnail {
	border-radius: 0;
}

.dates {
	border: solid 2px var(--clr2_alt_o);
	position: relative;
	z-index: 0;
	padding: 30px;
	margin: 0 0 40px;
}

	.dates ul {
		margin-bottom: 30px;
	}

	.dates:before {
		content: "";
		display: block;
		position: absolute;
		left: 6px;
		top: 6px;
		border: solid 2px var(--clr2_alt_o);
		width: calc(100% - 15px);
		height: calc(100% - 15px);
		z-index: -1;
	}

/* Book a Table */
.gfield_description {
    font-size: 0.8rem;
    color: var(--clr2_alt);
    margin: -10px 0 5px;
}
table.ui-datepicker-calendar td[title="Sorry, we are closed"] {
	position: relative;
}

table.ui-datepicker-calendar td[title="Sorry, we are closed"]:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;      /* oversize so it spans corner-to-corner */
  height: 2px;      /* line thickness */
  background: var(--clr2); /* or any color you want */
  transform: translate(-50%, -50%) rotate(-45deg);
  pointer-events: none;
}
#ui-datepicker-div {
	background: #fff;
	padding: 15px;
	border: solid 2px var(--clr1);
	box-sizing: border-box;
	font-size: 0.9rem;
	position: absolute;
	left: -1000px;
	width: 300px;
}
#ui-datepicker-div select {
	width: calc(50% - 5px);
	padding: 5px;
}
#ui-datepicker-div select:first-of-type {
	margin: 0 10px 0 0;
}
#ui-datepicker-div .ui-datepicker-calendar {
	width: 100%;
}
#ui-datepicker-div td {
    padding: 4px;
	font-weight: bold;
	background: rgba(230,227,218,0.3);
	text-align: center;
	color: var(--clrgrey);
}
#ui-datepicker-div td span.ui-state-default {
	opacity: 0.5;
}
#ui-datepicker-div td.ui-datepicker-other-month {
	opacity: 0;
}
#ui-datepicker-div td a {
	color: var(--clr2_alt);
}
.ui-datepicker-prev, .ui-datepicker-next {
    font-size: 0.8rem;
    font-weight: bold;
    color: var(--clr2_alt);
	cursor: pointer;
}
.ui-datepicker-next {
	float: right;
}
.gfield--type-time legend {
	display: none;
}
.gfield--type-time .ginput_container {
	display: flex;
}
.hour_minute_colon {
	width: 10px;
	text-align: center;
	padding-top: 12px;
}
.gfield_time_hour, .gfield_time_minute {
	width: calc(50% - 5px);
}
.hidden_label legend {
	text-indent: -10000px;
	line-height: 0;
	font-size: 0;
	display: inline-block;
}

/* Features */
.content-container.feature .img-container {
	margin: 0 0 20px;
}

.content-container.feature img {
	border-radius: 0;
	margin: 0;
}

.feature .img-container span.button {
					-webkit-transition: all 0.5s;
					-moz-transition: all 0.5s;
					-ms-transition: all 0.5s;
					-o-transition: all 0.5s;
					transition: all 0.5s;
	position: absolute;
	z-index: 0;
	background: var(--clr1);
	border: solid 1px var(--clr2_alt_o);
	color: var(--clr2);
	letter-spacing: 0.2em;
	padding: 15px 25px;
    text-decoration: none;
    text-transform: var(--cta_fnt_text-transform);
    font-size: 1.3rem;
    line-height: 1.8rem;
    font-weight: var(--cta_fnt_font-weight);
    display: inline-block;
    min-width: 160px;
    box-sizing: border-box;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    min-width: 200px;
}

	.feature .img-container span.button::before {
		content: "";
		display: block;
		width: calc(100% - 14px);
		height: calc(100% - 14px);
		border: solid 1px var(--clr2_alt_o);
		position: absolute;
		inset: 0;
		left: 6px;
		top: 6px;
		background: var(--clr1);
		z-index: -1;
	}
	
.feature .img-container:hover span.button {
	color: var(--clrwhite);
	top: 48%;
}

/* Footer */
footer#main h4 {
    font-size: 2rem;
    line-height: 2.4rem;
	color: var(--clrgrey);
	padding: 0 0 10px;
	margin: 5px 0 10px;
	border-bottom: solid 1px var(--clr2_alt_o);
}

footer#main ul a, footer#main ul a:link, footer#main ul a:active, footer#main ul a:visited {
	color: var(--clrwhite);
	text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 1.1rem;
}

footer#main ul li {
		padding: 10px 0;
}

footer#main {
	padding: 50px 0 80px;
}

footer, footer a {
	color: var(--clr1_txt);
}

footer a.phone, footer a.address {
	display: inline-block;
	text-decoration: none;
}

footer a.phone {
	margin-top: 20px !important;
	display: block;
}

footer#main a.cta {
	width: 100%;
	max-width: 200px;
}

footer#main .social a {
	color: var(--clr2);
}

	footer#main .social a:hover {
		color: #fff;
	}

footer#main .ctas a, footer#main .ctas a:link, footer#main .ctas a:active, footer#main .ctas a:visited {
	margin: 10px 10px 0 0;
}

.opening-hours-note {
	font-size: 0.9rem;
	line-height: 1.5rem;
	margin: 0 0 20px;
	color: var(--clr2);
}

.opening-hours-note a:link, .opening-hours-note a:visited, .opening-hours-note a:active {
	color: var(--clr2);
	text-decoration: underline;
}

.opening-hours {
  list-style: none;
  padding: 0;
  margin: 0;
}

.opening-hours li {
  display: flex;
  justify-content: space-between;
  align-items: top;
  gap: 1rem;
	border-bottom: solid 1px rgba(255,255,255,0.1);
}

.opening-hours strong {
  flex: 0 0 40%; /* left column width */
	text-align: left !important;
	font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 1rem;
}

.opening-hours span {
  flex: 1;
  text-align: right;
}

/* Legal */
section#legal {
	border: none;
}

section#legal, section#legal a, section#legal a:link, section#legal a:active, section#legal a:visited {
	color: var(--clr1_txt);
}

section#legal ul li {
    border-left: solid 1px var(--clr2_alt_o);
}

			
			
/* More than Medium */		
@media screen and (min-width: 64em) {	
	.header-container .logo {
		padding: 0;
		justify-items: center;
		text-align: center;
	}
	
	.tagline-container .pure-g > div {
		padding-left: 0;
		padding-right: 0;
	}
	
	footer#main .header {
		display: block;
	}
}
			
/* Less than Medium */		
@media screen and (max-width: 64em) {	
	.header-container .ctas {
		margin-left: auto;
		width: auto;
		flex: 0 0 auto;
	}
	
	.header-container .logo img {
		width: 120px;
	}
	
	.mob-menu-item {
		margin-right: 0;
	}
	
	.menu-event-single .row.row-item.long-price-1 {
		display: block;
	}
	
	.opening-hours {
		max-width: 400px;
		margin: auto !important;
	}
}

/* More than Small */	
@media screen and (min-width: 48em) { 
	.mob-menu-item.nav.phone {
		display: none;
	}
}

/* Less than Small */	
@media screen and (max-width: 48em) { 
.box-message {
	min-width: 100%;
}
	
    .showcase .grid-container.grid-3-col {
        grid-template-columns: repeat(2, 1fr) !important;
    }
	
    .showcase .grid-container.grid-3-col {
        grid-template-columns: repeat(2, 1fr) !important;
    }
	
	.showcase .grid-container.grid-3-col .content-container:nth-of-type(3) {
		display: none;
	}
	
	.banner.bg-img {
		padding-left: 20px;
		padding-right: 20px;
	}
	
	.pure-g .pure-u-1, .grid-container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.form-container.inline-form {
		max-width: none;
		padding: 0;
		margin: 0;
	}

	.form-container.inline-form .gform_footer {
		margin: 20px;
		float: none;
	}
	
	.form-container.inline-form .gform_body {
		float: none;
		min-width: 300px;
		min-width: 100%;
		width: 100%;
	}
	
.tab > nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px; /* spacing but still no outer gap */
	}
	
		.tab > nav a {
			display: flex;
			text-align: center;
			border: solid 1px var(--clr2_alt_o);
			box-sizing: border-box;
			font-size: 1rem;
			line-height: 1.3rem;
			padding: 15px;
			align-items: center;
			justify-content: center;
		}
		
	.menu-event-single .row.row-header h3 {
		font-size: 1.8rem;
		line-height: 2.2rem;
	}
		
	.tab > nav:after {
	 	display: none;
	 }
	
		.tab > nav > a:before {
			content: "";
			border: solid 1px var(--clr2_alt_o);
			width: calc(100% - 16px);
			height: calc(100% - 16px);
			top: 7px;
			left: 7px;
			position: absolute;
		}
	
	.menu-event-single .row.row-header {
		display: block;
	}
	
	.menu-event-single .row.row-header span.note {
		margin: -15px 0 15px;
		display: block;
	}
	
	.menu-event-single .row.row-item span.price {
		font-size: 0.9em;
	}
	
	.testimonials .box-in .content-container {
		font-size: 1.5rem;
		line-height: 2rem;
	}
	
	.tagline-container .pure-u-1, .tagline-container span.item.address {
		padding: 0;
		text-align: center;
	}
	
.tagline-container span.item {
	font-size: 1rem;
	line-height: 1.4rem;
}
	
	.tagline-container span.item.address {
		margin: 10px 0 0;
		display: none;
	}
	
	.home .tagline-container span.item.address {
		display: block;
	}
	
.left-column .content-container, .right-column .content-container {
	text-align: center;
}

.testimonials .box-in .content-container {
	margin: 0 30px;
}
	
footer#main .ctas a, footer#main .ctas a:link, footer#main .ctas a:active, footer#main .ctas a:visited {
margin: 10px 0 0;
}
}

/* Header Fix */	
@media screen and (min-width: 64em) and (max-width: 1155px) { 
	header .cta .shortern-cta, .nav-hide {
		display: none;
	}
}

.grecaptcha-badge {
	display: none !important;
}

footer {
	position: relative;
}

footer:before {
	content: url(images/dragon.svg);
    display: block;
    position: absolute;
    right: 10px;
    top: -38px;
    width: 60px;
    height: auto;
    z-index: 9;
}

@media screen and (min-width: 35.5em) and (max-width: 64em) { 
	.hide-lg {
		display: none;
	}
}