@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700');

html {
	background-color: var(--secondary-color);
}

:root {
	--primary-color: #333;
	--accent-color: #EA5913;
	--secondary-color: #FAFAFA;
	--warning-color: #FFEC85;
	--p-font: 'Roboto', san-serif;
	--h-font: 'Roboto', san-serif;
}

body {
	font-size: 16px;
	font-family: var(--p-font);
	color: var(--primary-color);
	margin: 0;
	height: 100%;
	overflow-y: auto;
	transition: filter .2s ease;
}

body * {
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--h-font);
	margin: 0;
	cursor: default
}

h1 {
	font-weight: normal;
	font-size: 20px;
}

li,
ul {
	padding: 0
}

.clickable {
	cursor: pointer;
}

:focus {
	outline: none;
}
.hide {
	opacity: 0 !important
}
.display_none {
	display: none;
}
*:focus {
	outline: 0;
	outline: none;
}
.show-flex {
	display: flex !important;
}
.over-h {
	overflow: hidden;
}
.overflow-hidden {
	overflow: hidden;
	position: relative;
	height: 100%
}
.seperator {
    display: flex;
	margin-top: 20px;
	font-size: 14px;
	color: #808080;
}
.seperator hr {
	width: 40%;
    border: none;
    background-color: #C7C7C7;
    height: 1px;
}

/* ENVIRONMENT container style */
#environment {
	text-transform:uppercase;
	background-color:rgba(255,0,0,0.5);
	font-weight:bold;
	font-size:small;
	color:#fff;
	z-index:999999;
	position:fixed;
	top:0;
}
/* END */

/* Buttons */
button,
button:active,
button:focus,
button:hover {
	border: unset
}

.btn {
	font-family: var(--p-font);
	width: 100%;
	padding: 14px 0;
	margin-top: 20px;
	cursor: pointer;
	font-size: 15px;
	text-transform: uppercase;
}

.btn-primary {
	background: var(--accent-color);
	color: #FFFFFF;
	border: 1px solid var(--accent-color) !important;
}

.btn-secondary {
	background-color: #fff;
	color: var(--accent-color);
	border: 1px solid var(--accent-color) !important;
}
.btn-secondary:not(:disabled):hover {
	background-color: var(--accent-color);
	color: #fff;
}
.button:disabled, .btn:disabled {
	opacity: 0.6;
	cursor: unset;
}
.btn-loader {
	padding: 8px 0;
}
.btn-outline {
	background-color: transparent;
	color: #FFF;
	border: 1px solid #FFF !important;
}
.btn-outline:not(:disabled):hover {
	background-color: #FFF;
	color: var(--accent-color);
}
/* END - Buttons */

/* A tags */
a,
a:focus,
a:active {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-backface-visibility: hidden !important;
	text-decoration: underline;
	color: var(--accent-color);
	cursor: pointer;
}
/* END */

/* Text selection */
.noSelect {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
/*::-moz-selection {
	background: transparent;
	color: #000;
}
::selection {
	background: transparent;
	color: #000;
}*/
/* END */

/* Generic warning styles */
.warning{
	color: #bb1e10;
}
.warning-icon{
	height: 10px;
	cursor: pointer;
	
}
.warning-icon-product{
	margin-left: 0px;
	height: 10px;
	cursor: pointer;
	margin-right: 2px;
}
.warning-icon-notice{
	height: 10px;
	vertical-align: middle;
}
.warning-text{
	font-size: small;
	user-select: none;
	color: #AA3838;
}
/* END */

/* Sweet alert */
.sweet-alert {
	font-family: var(--p-font);
	padding:20px;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: none;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.sweet-alert,
.sweet-alert button {
	border-radius: 0;
}
.sweet-alert h2 {
	margin: 0 0 10px;
	font-size: 20px;
	color: var(--primary-color);
	font-weight: normal;
	line-height: 30px;
}
.sweet-alert p.allergen_list {
	padding-top: 5px;
	color: var(--primary-color);
	font-weight: normal;
	font-family: var(--p-font);
	flex-basis: 100%;
}
.sweet-alert p {
	color: var(--primary-color);
	font-weight: normal;
	font-family: var(--p-font);
	margin: 0;
}
.sweet-alert > p {
	max-height: 70vh;
	overflow-y: auto;
	overflow-x: hidden;
	margin-bottom: 3px;
}
.sweet-alert > p > p {
	margin-bottom: 15px;
}
.sweet-alert button {
	padding: 15px 0px;
	margin: 0;
	font-weight: normal;
	font-size: 16px;
}
.sweet-alert button.confirm {
	box-shadow: none !important;
}
.sweet-alert button.cancel {
	width: 45%;
	padding-left: 0px;
	padding-right: 0px;
}

.sweet-alert input {
    width: 100%;
    box-sizing: border-box;
    border-radius: 0px;
    border: none;
    height: 50px;
    margin-top: 10px;
    margin-bottom: 0px;
    font-size: 16px;
    box-shadow: none;
    padding: 0 12px;
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.sweet-alert input:focus {
    outline: none;
    box-shadow: none;
    border: none;
    border-bottom: 2px solid var(--accent-color);
}

.sweet-alert .sa-button-container {
	display: flex;
	justify-content: center;
}
.sweet-alert button.cancel, .sweet-alert .sa-confirm-button-container {
	width: 50% !important;
}
.sweet-alert .sa-button-container > button, .sweet-alert .sa-confirm-button-container {
	margin: 0 4px;
}
.sweet-alert .sa-confirm-button-container button {
	width: 100%;
}

.sweet-alert .sa-input-error {
	display: none;
}

.sweet-alert .sa-error-container {
	margin: 0px;
	margin-bottom: 10px;
	background-color: transparent;
}
/* END */

/* Slide in panel */
#slide_in_panel {
	background-color: var(--secondary-color);
	height: calc(var(--vh, 1vh) * 100 - 70px);
	width: 100%;
	position: fixed;
	top: 70px;
	left: 100%;
	z-index: 1;
	overflow-y: auto;
	transition: transform 0.3s;
}
#slide_in_panel.show {
	transform: translateX(-100%);
}
@media (min-width: 500px) {
	#slide_in_panel {
		opacity: 0;
		transition: opacity 0.1s;
	}
	#slide_in_panel.show {
		left: 0%;
		opacity: 1;
		transform: unset;
	}
}
/* END */

/* Loading cover */
#cover, #menu-cover {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	opacity: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	height: 100vh;
	width: 100vw;
	transition: opacity 0.1s ease-in-out;
}
#menu-cover {
	position: absolute;
	height: 100%;
	width: 100%;
	opacity: 0;
	display: none;
}
#cover img, #menu-cover img {
	width: 70px;
}
.sprite-loader {
	margin: auto;
	width: 60px;
	height: 60px;
	background-position: left center;
	animation-iteration-count: infinite;
}
.loader-bag {
	height: 90px;
	animation-name: play-bag;
	animation-duration: 1.6s;
	animation-timing-function: steps(50);
}
.loader-moped {
	animation-name: play-moped;
	animation-duration: .4s;
	animation-timing-function: steps(9);
}
.loader-burger {
	height: 65px;
	animation-name: play-burger;
	animation-duration: 1s;
	animation-timing-function: steps(30);
}
.loader-pint {
	animation-name: play-pint;
	animation-duration: 2.4s;
	animation-timing-function: steps(64);
}
.loader-mug {
	height: 70px;
	animation-name: play-mug;
	animation-duration: 2s;
	animation-timing-function: steps(62);
}
.loader-bench {
	animation-name: play-bench;
	animation-duration: 1.4s;
	animation-timing-function: steps(40);
}
.loader-pizza {
	height: 60px;
	animation-name: play-pizza;
	animation-duration: 1.8s;
	animation-timing-function: steps(50);
}
.loader-cocktail {
	height: 60px;
	animation-name: play-cocktail;
	animation-duration: 1.8s;
	animation-timing-function: steps(50);
}
.loader-noodles {
	height: 70px;
	width: 70px;
	animation-name: play-noodles;
	animation-duration: 2.4s;
	animation-timing-function: steps(60);
}
.loader-wine {
	width: 96px;
	animation-name: play-wine;
	animation-duration: 2.4s;
	animation-timing-function: steps(60);
}
.loader-cocktail_shaker {
	height: 95px;
	width: 120px;
	animation-name: play-cocktail_shaker;
	animation-duration: 3.2s;
	animation-timing-function: steps(75);
}
.loader-plate {
	width: 100px;
	animation-name: play-plate;
	animation-duration: 2.6s;
	animation-timing-function: steps(65);
}
.loader-dishes {
	animation-name: play-dishes;
	animation-duration: 2.6s;
	animation-timing-function: steps(60);
}
.loader-fish_chips {
	height: 70px;
	width: 130px;
	animation-name: play-fish_chips;
	animation-duration: 3.2s;
	animation-timing-function: steps(60);
}
.loader-takeaway_bag {
	height: 100px;
	animation-name: play-takeaway_bag;
	animation-duration: 2s;
	animation-timing-function: steps(50);
}
.loader-takeaway_containers {
	height: 80px;
	animation-name: play-takeaway_containers;
	animation-duration: 2.2s;
	animation-timing-function: steps(50);
}
.loader-ferris_wheel {
	height: 60px;
	animation-name: play-ferris_wheel;
	animation-duration: 4s;
	animation-timing-function: steps(100);
}
.loader-ticketing {
	height: 60px;
	animation-name: play-ticketing;
	animation-duration: 1.4s;
	animation-timing-function: steps(35);
}
.loader-rollercoaster {
	height: 60px;
	animation-name: play-rollercoaster;
	animation-duration: 1.4s;
	animation-timing-function: steps(33);
}
.loader-custom-loader {
	animation-name: play-custom-loader;
	animation-duration: 1.4s;
	animation-timing-function: steps(50);
}
@keyframes play-moped {
	100% { background-position: -558px; }
}
@keyframes play-bag {
	100% { background-position: -3100px; }
}
@keyframes play-burger {
	100% { background-position: -1860px; }
}
@keyframes play-pint {
	100% { background-position: -3968px; }
}
@keyframes play-mug {
	100% { background-position: -3844px; }
}
@keyframes play-bench {
	100% { background-position: -2400px; }
}
@keyframes play-pizza {
	100% { background-position: -3000px; }
}
@keyframes play-cocktail {
	100% { background-position: -3100px; }
}
@keyframes play-noodles {
	100% { background-position: -4200px; }
}
@keyframes play-wine {
	100% { background-position: -5880px; }
}
@keyframes play-cocktail_shaker {
	100% { background-position: -9150px; }
}
@keyframes play-plate {
	100% { background-position: -6630px; }
}
@keyframes play-dishes {
	100% { background-position: -3600px; }
}
@keyframes play-fish_chips {
	100% { background-position: -7800px; }
}
@keyframes play-takeaway_bag {
	100% { background-position: -3000px; }
}
@keyframes play-takeaway_containers {
	100% { background-position: -3000px; }
}
@keyframes play-ferris_wheel {
	100% { background-position: -6000px; }
}
@keyframes play-ticketing {
	100% { background-position: -2100px; }
}
@keyframes play-rollercoaster {
	100% { background-position: -1980px; }
}
@keyframes play-custom-loader {
	100% { background-position: -6000px; }
}
/* END */

/* Ungrouped bits? */
tbody {
	text-align: left;
}
tbody td {
	font-weight: 400;
}
.menu-side a,
.menu-wrap h3 a,
.topheader-wrap a {
	text-decoration: none;
	background-color: transparent;
	color: var(--accent-color);
}

.menu-side ul,
li,
ul {
	list-style-type: none
}

/* Cookie consent */
div#cookieGuardMsg {
	font-size: unset;
}
div#cookieGuardMsgInner {
	position: fixed;
	bottom: 0;
	left: 0;
	background-color: var(--accent-color);
	color: #ffffff;
	display: flex;
	align-items: center;
	width: 100%;
}
div#cookieGuardMsgInner p {
	flex-basis: 80%;
	padding: 20px;
	margin: 0;
}
div#cookieGuardMsgInner div#cookieButtons {
	flex-basis: 20%;
	min-width: 145px;
	display: flex;
	align-items: center;
	margin: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
}
div#cookieGuardMsgInner div#cookieButtons a {
	padding: 5px 10px;
	background-color: #ffffff;
	border: none; 
	color: var(--accent-color);
	margin: 5px;
	text-decoration: none;
}
@media only screen and (max-width: 400px) {
	div#cookieGuardMsgInner div#cookieButtons {
		flex-direction: column;
		justify-content: center;
		min-width: revert;
		flex-wrap: nowrap;
	}
}
/* END */

#checkout .cart-controls .button,
.menu-side a:before,
.menu-side li:after,
.menu-side li:hover:after,
.menu-wrap h3 a:after,
.order-form-continue,
div.opening-times-container .opening-times h2:after,
section.products .product button,
section.products h2:after,
section.events h2:after {
	background: var(--accent-color)
}
/* END */

/* Terms and Conditions */
div#t-and-c {
	display: none;
	position: fixed;
	width: 50%;
	left: 25%;
	top: 25vh;
	overflow-y: auto;
	background-color: var(--secondary-color);
	z-index: 983;
	word-break: break-word;
}
div#t-and-c-view {
	padding: 40px;
    overflow-y: auto;
}
@media (max-width:1200px) {
	div#t-and-c {
		width: 80%;
		left: 10%;
	}
}
div#t-and-c.show {
	display: block;
	animation: fadeInBtm .2s .2s both ease;
}
.t-and-c-wrap {
	height: 50vh;
	padding: 40px;
	overflow-y: auto;
}
.footer-wrap .icrtouch {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.footer-wrap .t-and-c-link {
	display: block;
	text-align: center;
	margin: 10px 0;
}

.footer-wrap a.logo{
	cursor: pointer;
}
.footer-wrap .logo{
	margin: 10px;
}
.footer-wrap .logo img {
	height: 31.5px;
}
/* END */

/* Left side menu */
.menu-wrap {
	width: 400px;
	position: fixed;
	top: 0;
	left: -1px;
	height: 100vh;
	overflow-y: hidden;
	overflow-x: hidden;
	z-index: 99999;
	font-family: var(--p-font);
	box-shadow: 1rem 0 5rem transparent;
	transform: translate3d(-100%, 0, 0);
	-webkit-transform: translate3d(-100%, 0, 0);
	-moz-transform: translate3d(-100%, 0, 0);
	-ms-transform: translate3d(-100%, 0, 0);
	-o-transform: translate3d(-100%, 0, 0);
	transition: transform .3s ease;
	-webkit-transition: transform .3s ease;
	-moz-transition: transform .3s ease;
	-ms-transition: transform .3s ease;
	-o-transition: transform .3s ease;
	will-change: transform;
	background-color: var(--secondary-color);
}
.menu-wrap.pressed,
.menu-wrap.opened {
	width: 400px;
	box-shadow: 1rem 0 5rem rgba(0, 0, 0, .2);
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
}
.menu-inner {
	max-width: 400px;
	background: var(--secondary-color);
	height: calc(100% - 70px);
	margin: 0;
	padding: 10px 20px;
	overflow: auto;
}
.menu-side a:after {
	content: '';
	background: var(--accent-color);
	position: relative;
	top: 3px;
	height: 3px;
	z-index: 0;
	left: 0;
}
@media (min-width: 800px) {
	.menu-inner {
		width: 100%;
		max-width: 400px;
		padding: 10px 20px;
	}
	.menu-side {
		margin-left: -20px;
		margin-right: -20px;
		width: calc(100% + 40px);
	}
}
@media (max-width: 450px) {
	.menu-inner,
	.menu-wrap,
	.menu-wrap.pressed,
	.menu-wrap.opened {
		width: 92vw;
		max-width: 100%
	}
}
.menu-wrap h3 {
	display: inline-block;
	color: inherit;
	margin: 0;
	position: relative;
}

.nav-mainmenu li {
	background-color: #FFFFFF;
	padding-left: 10px;
	width: calc(100% + 20px);
}
/* END */

/* Top Header - Contains nav links, and a logo or text */
.topheader {
	height: 70px;
	width: 100%;

	background-color: #FFFFFF;
	z-index: 980;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.topheader-wrap {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 100%;
	margin: auto;
}
@media (min-width: 800px) {
	.topheader-wrap {
		max-width: 800px
	}
}
.topheader a:visited {
	color: var(--primary-color);
}

.topheader.main {
	position: fixed;
	top: 0;
	left: 0;
}

.topheader.options-header,
.topheader.ticket-types-header {
	position: absolute;
	top: 0;
	left: 0;
}

.topheader.menu {
	position: relative;
}
.topheader.menu .topheader-wrap {
	justify-content: flex-start;
}

.topheader .left-wrap, .topheader .right-wrap {
	padding: 14px;
	text-align: center;
}

.topheader .left-wrap svg, .topheader .right-wrap svg {
	height: 20px;
	width: 20px;
	cursor: pointer;
	margin: 0 4px -4px 4px;
}
.topheader.main .right-wrap {
	padding-left: 2px;
}
.topheader.main .right-wrap.no-content, .topheader.main .left-wrap.no-content {
	width: 56px;
}
.topheader.main .left-wrap {
	display: flex;
}
.topheader .left-wrap #back {
	position: absolute;
	background-color: #fff;
	display: none;
	opacity:0;
	transition: 0.1s;
	width: 25px;
	height: 22px;
	margin-left: 3px;
	margin-top: -1px;
}
body.method-success .topheader.main .right-wrap {
	flex-basis: 56px;
}

.topheader .centre-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.topheader .centre-wrap h1 {
	color: var(--primary-color);
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 250px;
}

.topheader.menu .centre-wrap {
	padding-left: 30px;
	flex-basis: 84%;
	text-align: center;
}
.topheader.options-header .left-wrap,
.topheader.ticket-types-header .left-wrap {
	display: none;
}
.topheader.options-header .centre-wrap, 
.topheader.ticket-types-header .centre-wrap{
	padding-left: 67px;
	flex-basis: 84%;
	text-align: center;
}
@media (min-width:451px) {
	.topheader.options-header .left-wrap,
	.topheader.ticket-types-header .left-wrap {
		display: flex;
	}
	.topheader.options-header .right-wrap,
	.topheader.ticket-types-header .right-wrap {
		display: none;
	}
	.topheader.options-header .centre-wrap,
	.topheader.ticket-types-header .centre-wrap {
		padding-right: 70px;
		padding-left: 0;
	}
}
.topheader.main.nav-up {
	height: 0;
	transition: .15s all
}
.topheader.main.nav-down {
	height: 68px;
	transition: .15s all
}
.topheader.main > .nav-up {
	transform: translate(0, -68px);
	transition: .15s all;
	width: 100%
}
.topheader.main > .nav-down {
	height: 100%;
	transform: translate(0, 0);
	display: flex;
	width: 100%;
	transition: .15s all
}
.topheader.main h1 a {
	color: var(--primary-color)
}

.topheader img {
	max-height: 55px;
	max-width: 250px;
}

@media (max-width: 650px) {
	.topheader img {
		max-width: 150px;
	}
}

.page-store-finder .topheader.main {
	display: none;
}

/* Price under header cart */
#header-cart-mini .value {
	font-size: 13px;
}

/* Left side menu */
.menu-wrap .site-picker {
	display: flex;
	flex-direction: column;
	font-size: 16px;
	margin-bottom: 10px;
}
.menu-wrap .site-picker h5 {
	font-size: inherit;
}
.menu-wrap .site-picker p {
	margin: 0
}
.menu-wrap .site-picker span {
	font-weight: 600
}

.menu-side {
	max-width: calc(100% + 40px);
	position: relative;
	margin-left: -20px;
}
.menu-side ul {
	margin: 20px 0 25px;
	padding: 0;
}
.menu-side a {
	display: inline-block;
	color: inherit;
	width: fit-content;
	width: -moz-fit-content;
	font-weight: 400;
	font-size: 18px;
	text-align: left;
	padding: 7.5px 0;
}

@media (min-width: 800px) {
	.menu-side a {
		padding: 7.5px 0;
	}

	.menu-side li {
		width: 100%;
		position: relative
	}

	.menu-side a:before {
		display: none
	}

	nav.nav-groups ul {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start
	}
}

.menu-top .profile img {
	float: left;
	margin-right: 1em
}

.icon-list {
	display: inline-block;
	font-size: 1.25em
}
.icon-list a {
	margin: 0 1em 0 0;
	padding: 0
}
@media screen and (max-width: 32em) {
	.icon-list {
		padding-left: 1em
	}
}

.language-switcher {
	max-width: 200px;
	margin: 10px 0
}

nav.nav-groups {
	padding: 14px 0;
	margin: 0 0 10px;
	border-bottom: 3px solid var(--accent-color);
}
nav.nav-groups h5 {
	color: inherit;
	text-align: left;
	font-weight: 500;
	font-size: 22px;
	margin: 0;
	padding: 10px 0
}
nav.nav-groups ul li {
	display: block !important;
	padding: 0 !important;
	margin: 0 !important
}
nav.nav-mainmenu {
	display: none;
	text-align: left
}

nav.nav-mainmenu ul li:first-child {
	float: none;
	margin-left: unset;
	box-shadow: inset 0px 1px 0px #e8e8e8, inset 0px -1px 0px #e8e8e8;
	border: none;
	display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
	padding: 6px 10px 4px 15px;
	height: 50px;
}
nav.nav-mainmenu ul li {
	float: none;
	margin-left: unset;
	box-shadow: inset 0px -1px 0px #E8E8E8;
	border: none;
	display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
	padding: 6px 10px 4px 15px;
	height: 50px;
}
nav.nav-mainmenu a {
	font-size: 16px;
	font-weight: normal;
	color: #000000;
	width: inherit;
	display: inherit;
	justify-content: inherit;
}
div.nav-mainmenu-text {
	width: inherit;
	display: inherit;
	justify-content: inherit;
	margin-top: 3px;
}
div.nav-mainmenu-chevron {
	width: 13px;
	margin-top: 2px;
	margin-right: 10px;
}

/* Cart Links */
a.cart-link {
	position: absolute;
	width: 40px;
	top: 18px;
	right: 20px;
	left: unset;
	color: #000;
	font-size: 12px;
	cursor: pointer;
	z-index: 9999
}

@media (max-width:450px) {
	a.cart-link {
		top: 17px;
	}
	section.store-chooser-wrapper select {
		width: 100% !important;
	}
}

div#shopping-cart-button i {
	font-size: 2rem
}

section#cart-mini {
	position: sticky;
	position: -webkit-sticky; /* Safari */
	top: 105px;
	width: 265px;
	float: right;
	margin: 0 0 10px;
	margin-right: -300px;
	box-sizing: border-box;
	font-size: 16px;
	background-color: var(--secondary-color);
	animation: fadeInBtm .5s .2s both ease;
	z-index: 1;
	box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.06);
}

div.viewing-category section#cart-mini {
	margin-top: 30px;
}

@media (max-width:1410px) {
	section#cart-mini {
		margin-right: -275px;
	}
}

@media (max-width: 1380px) { 
    section#cart-mini {
        display: none;
    }
 }

.cart-mini-wrap {
	background-color: #fff;
	padding: 20px;
	position:relative;
}

section#cart-mini h2 {
	margin: 0;
	font-weight: normal;
}

section#cart-mini .qty, section#cart-mini .name {
	display: inline-block;
	vertical-align: middle;
}

section#cart-mini div.name {
	width: auto;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Mini Cart - Product Options */
section#cart-mini .cart-item-options, section#cart-mini .cart-list {
	list-style: none;
	padding-left: 0
}

section#cart-mini .cart-list {
	max-height: 65vh;
	overflow-y: auto;
}

section#cart-mini .cart-item-options {
	padding-left: 1em;
	font-size: smaller
}

section#cart-mini .cart-item-options li > div.name {
	width: 83%;
	text-overflow: ellipsis;
	overflow: hidden;
	display: inline-block;
	vertical-align: middle;
	white-space: nowrap;
}

section#cart-mini .cart-item-options li > a.allergen-info {
	vertical-align: middle;
	top: 0;
}
/* END Mini Cart - Product Options */

section#cart-mini .cart-controls .cart {
	float: left;
	margin-bottom: 10px;
	font-weight: 500;
}

section#cart-mini .cart-controls .total {
	float: right;
	font-weight: 500;
}

section#cart-mini .cart-controls .button {
	padding: 10px !important;
	position: relative !important;
	height: auto !important;
	text-decoration: none;
	display: block;
	clear: both;
	text-align: center;
}

section#cart-mini .cart-list .cart-item {
	border-bottom: none;
	padding: 0 0 10px;
}

section#cart-mini .qty {
	margin-right: .5em
}
/* END Cart Mini */

/* Messages */
section.messages {
	position: fixed;
	left: 0;
	bottom: 0;
	background-color: transparent;
	z-index: 982;
	width: 100%;
}

section.messages > div {
	position: relative;
}

section.messages .close-btn {
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
	width: 40px;
	height: 100%;
	font-size: 16px;
	font-weight: 900;
	background-image: url('../img/x.png');
	background-position: center;
	background-size: 50%;
	background-repeat: no-repeat;
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 0 5px 5px 0;
}

.message {
	padding: 20px 60px 20px 20px;
	border-radius: 5px;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
	margin: 5px;
	text-align: center;
	animation: fadeInTop .5s 1s both ease;
}

.message.js {
	animation: fadeInTop .3s .3s both ease;
}

.message.okay {
	background-color: #C3E6CB;
	color: #155724;
}
.message.okay a {
	color: #155724;
	text-decoration: underline;
}

.message.error {
	color: #FFFFFF;
	background-color: #AA3838;
}

.message.store-closed {
	background-color: #D3D3D4;
	color: #333333;
	margin: 5px;
	line-height: 1.5;
}

#checkout .store-closed {
	margin: 0 0 15px;
}

.message.custom-message {
	color: #FFFFFF;
	background-color: var(--accent-color);	
	text-size-adjust: none;
  	-webkit-text-size-adjust: none;
  	-moz-text-size-adjust: none;
  	-ms-text-size-adjust: none;
}
.message.store-closed a {
	color: #333333;
	text-decoration: underline;
}

.message.warning {
	color: #664D03;
	background-color: #FFF3CD;
}

.message.info {
	color: #004569;
	background-color: #D5EDF8;
}

.cart-message {
	padding: 20px 40px;
	border-radius: 5px;
	text-align: center;
}

.cart-message.store-closed {
	background-color: #D3D3D4;
	color: #333333;
	line-height: 1.5;
}

.cart-message.store-closed a {
	color: #333333;
	text-decoration: underline;
}
/* END Messages */

/* Popup dialog */
#dialog-container {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 983;
	justify-content: center;
	align-items: center;
	display: none;
	z-index: 983;
}
#dialog-container .dialog {
	width: 90%;
	max-width: 400px;
	max-height: 90%;
	background-color: var(--secondary-color);
	overflow-y: auto;
	word-break: break-word;
}
#dialog-container.show {
	display: flex;
	animation: fadeInBtm .5s both ease;
}
#dialog-container .dialog header {
	width: 100%;
	position: sticky;
	top: 0px;
	background-color: #fafafa;
	padding: 30px 30px 10px 30px;
}
#dialog-container .dialog section {
	padding: 0px 30px 30px 30px;
	width: 100%;
}
#dialog-container .dialog header .close-menu-button {
	width: 26px;
	position: absolute;
	right: 30px;
	top: 21px;
	cursor: pointer;
	padding: 10px 0 10px 10px;
}
/* END Popup dialog */

/* Opening times */
div.opening-times-container section {
	width: 100%;
}
div.opening-times-container .opening-times {
	width: 100%;
	margin-top: 15px;
}
div.opening-times-container .opening-times h2 {
	display: inline-block;
	font-size: 16px;
	margin: 0 0 10px;
	font-weight: 500;
}
div.opening-times-container .opening-times ul {
	padding: 0;
	margin: 0;
	list-style-type: none
}
div.opening-times-container .opening-times ul li {
	font-size: 1rem
}
div.opening-times-container .opening-times ul li div {
	display: inline-block;
}
div.opening-times-container .opening-times ul li div.day {
	margin: 0 5px 0 0px;
}

/* Opening times - Table of times */
.opening-times table {
	border-collapse: collapse;
	width: 100%;
}
.opening-times table tr td {
	vertical-align: top;
	padding: 2px 0 2px 0;
}
.opening-times table tr td:last-child {
	min-width: 140px;
	text-align: right;
}
.menu-wrap .opening-times table tr td:last-child {
	text-align: unset;
}
.opening-times table tr.today td {
	font-weight: 700;
}
.menu-inner .opening-times table {
	margin: unset;
}
.opening-times-container small {
	margin-top: 20px;
	display: block;
	text-align: center;
}
.current-times {
	font-size: 18px;
	margin-bottom: 10px;
}

.menu-wrap div#opening-times, .page-store-finder div#opening-times {
	text-align: left;
	display: none;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}
.menu-wrap div#opening-times {
	justify-content: flex-start;
}

/* Opening times on choose store page */
div.opening-times-container {
	display: none;
}
.page-choose-store #dialog-container div.opening-times-container {
	display: block;
}
.page-store-finder .opening-times table {
	width: 62%;
	margin: auto;
}
/* END opening times */

.sweet-alert button,
.sweet-alert button:active {
	background-color: var(--accent-color) !important;
	border: 1px solid var(--accent-color);
	box-shadow: none;
	text-transform: uppercase;
}
.sweet-alert button.confirm:hover {
	opacity: 0.9;
}

.sweet-alert button.cancel {
	background-color: #FFF !important;
	color: #828282;
	border: 1px solid #828282;
}
.sweet-alert button.cancel:hover {
	color: #FFF;
	background-color: #828282 !important;
}

@media (max-height: 678){
	.sweet-alert .sa-icon.sa-info::before {
		content: "";
		position: absolute;
		width: 5px;
		height: 20px;
		left: 50%;
		bottom: 6px;
		border-radius: 2px;
		margin-left: -2px;
		background-color: #C9DAE1;
	}

	.sweet-alert .sa-icon.sa-info::after {

		content: "";
		position: absolute;
		width: 7px;
		height: 7px;
		border-radius: 50%;
		margin-left: -3px;
		top: 11px;
		background-color: #C9DAE1;
	}

	.sweet-alert h2{
		line-height: 10px;
	}
	.fieldset{
		margin: 0px;
	}
	.sweet-alert .sa-confirm-button-container{
		bottom: 10px;
	}
   
}

div#main-wrapper {
	max-width: 100vw;
	height: 100%;
	display: none;
	background-color: var(--secondary-color);
	z-index: 5;
}
@media (max-width: 1024px) {
	div#main-wrapper {
		overflow: hidden;
	}
}

div#content-fill {
	display: none;
	height: 100vh;
	width: 100vw;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 983;
}

div#content-fill.active {
	display: block;
	background-color: rgba(0, 0, 0, .5);
	animation: fadeIn2;
	animation-duration: .3s;
	animation-iteration-count: 1;
}

main {
	margin: 70px auto 0px auto;
}

@media (min-width: 800px) {
	main {
		max-width: 800px;
	}
	.page-storelist main, .page-choose-store main {
		max-width: unset;
	}
}

div.menu_header, div.menu_desc {
	display: none;
}
@media (min-width: 800px) {
	div.menu_header, div.menu_desc {
		display: block;
	}
	div.menu_header {
		width: 100%;
		height: 320px;
		background-position: center center;
		background-size: cover;
		margin-top: 70px;
	}
	div.menu_desc {
		margin-bottom: 48px;
		margin-top: -22px;
	}
	div.menu_desc.no-img {
		margin-top: 118px;
	}
	div.menu_desc h3 {
		text-align: center;
		font-weight: normal;
		font-size: 25px;
	}
}
@media (min-width: 1024px) {
	div.menu_header {
		height: 400px;
	}
}
div#main-wrapper.viewing-category div.menu_header, .viewing-category div.menu_desc {
	display: none;
}

/* Store Page - Postcode or area selection */
.store-postcode {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background-color: #1C212EE8;
	background-position: center center;
	background-size: cover;

	background-color: #FAFAFA;
}
.store-postcode section {
	flex-basis: 90%;
	max-width: 450px;
	background-color: #fff;
	padding: 30px;
	text-align: center;

	box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
}
.store-postcode section div h1 {
	padding: 10px 0 30px 0;
	font-size: 25px;
}
.store-postcode input[name="postcode"] {
	text-align: center;
}
.store-postcode select[name="delivery_area"] {
	width: 100%;
}
.store-postcode button#find-store {
	margin-top: 5px;
}
.store-postcode button#user-location {
	margin-top: 14px;
}
.store-postcode p {
	margin-top: 15px;
	margin-bottom: 0;
}
.store-postcode .btn {
	margin-top: 10px;
}
/* Store Page - List of stores */
#map {
	height: 190px;
	position: fixed !important;
	top: 70px;
	left: 0;
	width: 100%;
	z-index: 1;
	box-shadow: 0px 1px 4px rgb(0 0 0 / 10%);
}
.store_list_container {
	position: absolute;
	top: 260px;
	height: calc(100% - 260px);
	width: 100%;
	overflow-y: auto;
}
.store_list_container.no_map {
	top: 70px;
	height: calc(100% - 70px);
}
.store_list div.nearest_text {
	margin: auto;
	margin-top: 20px;
	text-align: center;
}
.store_list div.nearest_text h1 {
	font-size: 18px;
}
.store_list, .store_unavailable {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: auto;
	max-width: 500px;
}
.store_list .open {
	background-color: #C3E6CB;
	color: #155724;
}
.store_list .closed, .store_list .suspended {
	background-color: #F8D7DA;
	color: #842029;
}
.store_list .closed-preorder {
	background-color: #DCDCDC;
	color: #333333;
}
.store_list .store, .store_unavailable div {
	padding: 20px 0;
	margin: 0 20px;
	flex-basis: 100%;
}
.store_list .store {
	border-bottom: 1px solid #ccc;
}
.store_list .store .heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.store_list .store .heading h2, .store_unavailable h2 {
	font-weight: normal;
	font-size: 20px;
}
.store_list .store .summary div {
	margin-top: 5px;
}
.store_list .store .summary .distance, .store_list .store .summary .delivery_times_info, .store_list .store .summary .phone_numbers {
	color: #333333;
	font-size: 13px;
}
.store_list .store .phone_numbers a {
	color: #000;
	text-decoration: none;
}
.store_list .store .summary div span {
	margin-left: 5px;
}
.store_list .store .summary svg {
	width: 12px;
	height: 12px;
	margin-top: -1px;
}
.store_list .store .summary svg, .store_list .store .summary .distance span, .store_list .store .summary .delivery_times_info span {
	vertical-align: middle;
}
.store_list .store .heading .store_status {
	border-radius: 2px;
	padding: 4px 10px;
	white-space: nowrap;
	text-align: center;
}
.store_list .store .delivery_methods {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.store_list .store .delivery_methods div.delivery_method {
	position: relative;
	flex-basis: 48%;
}
.store_list .store .delivery_methods div.message {
	margin-top: 20px;
}
.store_list .store .delivery_methods div .btn {
	font-size: 13px;
}
.store_list .store .delivery_methods.odd_amount div:first-child {
	flex-basis: 100%;
}
.store_list .store .delivery_methods p.extra_info {
	font-size: 12px;
	margin: 6px 0 0;
	text-align: center;
}

/* Store page - Desktop styles */
@media (min-width: 800px) {
	.page-choose-store main {
		display: flex;
		justify-content: center;
	}
	#map {
		position: relative !important;
		flex-basis: 50%;
		height: calc(100vh - 70px);
		top: unset;
		left: unset;
		order: 2;
		z-index: 0;
	}
	.store_list_container {
		position: relative;
		top: unset;
		left: unset;
		flex-basis: 50%;
		height: calc(100vh - 70px);
		z-index: 1;
		box-shadow: 2px 0px 5px rgb(0 0 0 / 10%);

		scrollbar-width: thin;
	}
	.store_list_container.no_map {
		top: 0;
		height: unset;
		box-shadow: none;
	}
	.store_list div.nearest_text {
		margin-top: 40px;
	}
	.store_list_container::-webkit-scrollbar {
		width: 8px;
	}
	.store_list_container::-webkit-scrollbar-track {
		background: #f0f0f0;
	}
	.store_list_container::-webkit-scrollbar-thumb {
		background-color: #cdcdcd;
	}
}
/* END Store Page */

main span.anchor-spacer:first-child {
	margin-top: -110px !important
}

section.products, 
section.events {
	margin: 0px auto;
	padding: 0;
	width: 100%;
}

section.products:nth-of-type(2), 
section.events:nth-of-type(2) {
	margin-top: 0;
}

section.products .product,
section.events .event {
	position: relative;
	margin: 0 0 40px;
	padding: 0;
	box-shadow: 0px 1px 2px 2px rgba(0, 0, 0, 0.05);
	max-width: 500px;
	min-height: 0;
	height: fit-content;
	height: -moz-fit-content;
	width: 49%;
	cursor: pointer;
}

section.products .product.no-img,
section.events .event.no-img {
	margin: 0px 0 20px 0;
	/*padding: 10px;*/
	max-width: 100% !important;
	width: 100%;
	box-shadow: unset;
	border-bottom: none;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}

section.products .product, 
section.products .product.no-img,
section.events .event,
section.events .event.no-img {
	position: relative;
	margin: 0 0 20px;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
	background-color: #fff;
	border: none;
}

.product > div.product-details, 
.event > div.event-details,
.membership-plu > div.membership-details {
	width: 100%;
	padding: 10px;

	display: flex;
	flex-wrap: wrap;
}

@media (max-width: 768px) {
	section.products .product,
	section.events .event {
		height: auto;
	}
}

@media (max-width: 580px) {

	section.products .product,
	section.products .product.no-img,
	section.events .event,
	section.events .event.no-img {
		width: 100%;
		margin: 0 auto 20px auto;
	}
}

section.products .product.no-img .title-wrap svg,
section.events .event.no-img .title-wrap svg {
	display: inline-block !important;
}

section.products .product .title-wrap .price {
	font-size: 20px;
	padding: 0 0 0 15px;
}

section.products .product.no-img .title-wrap .price {
	display: inline-block;
	padding: 0;
	padding-left: 15px;
	position: relative;
}

section.products .product.no-img .title-wrap .price.out-of-stock {
	right: 0px !important;
}

@media (min-width:800px) {
	section.products .product.no-img .title-wrap svg,
	section.events .event.no-img .title-wrap svg {
		display: none !important;
	}

	section.products .product.no-img .title-wrap .price {
		right: 0px;
	}
}

a.prod-wrap {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 9;
}

section.products .product form {
	height: 0px;
}

section.products .product .options .options-inner .name-and-price > .price {
	padding: 0 10px 0 10px;
	font-size: 20px;
	font-weight: normal;
	font-family: var(--h-font);
	float: right;
	margin: 20px 10px 0 0;
}

section.products .product .options button div.btn_price {
	display: inline-block;
}

.name-and-price {
	display: flex;
	justify-content: space-between;
}

section.products .product form {
	width: 100%;
	padding: 0;
}

section.products .product .description {
	margin: 0 !important;
	font-size: 15px;
}

@media (max-width: 340px){
	.sweet-alert.allergens-popup.showSweetAlert h2{
		position: relative;
		line-height: 30px;
		top: -5px;
	}
	.sweet-alert.allergens-popup.showSweetAlert h3{
		position: relative;
		line-height: 40px;
		top: -10px;
	}
	.sweet-alert button {
		padding: 15px 35%;
	}
	.sa-icon.sa-custom{
		width: 50px !important;
	}
}

.cart-mini-allergen-notice{
	font-size: 14px;
	color: #AA3838;
	margin: 10px 0;
	font-weight: normal;
}

section.products .product .description,
section.events .event .ticket-description {
	flex-basis: 100%;
	padding: 10px 0 0 0;
}

section.products .product .description p,
section.events .event .ticket-description p {
	padding: 0 !important;
	-webkit-margin-before: 0;
	-webkit-margin-after: 0;
	margin: 0;
}

span#burgers {
	margin-top: -6rem !important
}

section.products h2,
section.events h2 {
	font-size: 20px;
	font-weight: normal;
	letter-spacing: 0px;
	margin: 0;
	display: inline-block;
}
.category-wrap.clickable h2 {
	cursor: pointer;
}

section.products .product .title-wrap,
section.events .event .title-wrap {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
section.products .product.no-img .title-wrap,
section.events .event.no-img .title-wrap {
	margin: 0;
}

section.products .product .title-wrap svg,
section.events .event .title-wrap svg {
	display: none;
	position: absolute;
	top: 12px;
	right: 10px;
	width: 20px;
	height: 20px;
}

section.products .product h3,
section.events .event h3,
section#customer .membership-plu .membership-details h3 {
	display: inline-block;
	font-size: 20px;
	font-weight: normal;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

section.products .product.no-img h3,
section.events .event.no-img h3 {
	padding: 0;
}

section.products .product .product-image {
	display: block;
	max-height: 220px;
	overflow: hidden;
	width: 100%;
	flex: 0 0 100%;
	margin: 0px;
}

@media (min-width: 500px) {
	section.products .product .product-image {
		max-height: 300px;
	}
}

@media (max-width: 360px) {
	section.products .product .product-image {
		max-height: 160px;
	}
}

.product-image-container {
	width: 100%;
	color: #ffffff;
}

.product-image-container.active {
	animation: revealInBtm .5s both ease;
	-webkit-animation: revealInBtm .5s both ease;
}

section.products .product .options,
section.events .event .ticket-types {
	display: none;
	position: fixed;
	height: 100%;
	width: 100%;
	top: 0;
	right: 0;
	background-color: var(--secondary-color);
	padding: 70px 0px 150px 0px;
	z-index: 999;
	transform: translate3d(0, 100%, 0);
	-webkit-transform: translate3d(0, 100%, 0);
	-moz-transform: translate3d(0, 100%, 0);
	-ms-transform: translate3d(0, 100%, 0);
	-o-transform: translate3d(0, 100%, 0);
	transition: transform .3s ease;
	-webkit-transition: transform .3s ease;
	-moz-transition: transform .3s ease;
	-ms-transition: transform .3s ease;
	-o-transition: transform .3s ease;
	will-change: transform;
	cursor: default;
}

/* Condensed options menu - Just for @ prices and qty selection */
@media (max-width:450px) {
	section.products .product .options.no-options {
		top: unset;
		bottom: 0;
		height: auto;
		max-height: 100%;
	}
}
/* END */

section.products .product.pressed .options,
section.events .event.pressed .ticket-types{
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
}

@media (min-width:450px) {
	section.products .product .options,
	section.events .event .ticket-types {
		transform: translate3d(100%, 0, 0);
		-webkit-transform: translate3d(100%, 0, 0);
		-moz-transform: translate3d(100%, 0, 0);
		-ms-transform: translate3d(100%, 0, 0);
		-o-transform: translate3d(100%, 0, 0);
	}
}

.options-inner,
.ticket-types-inner {
	overflow-y: auto;
	overflow-x: hidden;
	height: 100%;
}

section.products .product .options .options-wrap {
	position: relative;
	padding: 0 20px;
}

section.products .product .options h2,
section.events .event .ticket-types h2{
	margin: 20px 0 20px 20px;
	text-indent: 0;
	font-size: 20px;
	text-overflow: ellipsis;
	overflow: hidden;
}

section.products .product .options h3,
section.events .event .ticket-types h3{
	font-size: 18px;
	font-weight: 500;
	padding: 0;
	margin: 0 0 10px;
	text-indent: 0;
}

.product-price-wrapper {
	width: 90%;
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	margin-bottom: 20px;
}
.product-price {
	flex-basis: 100%;
	background-color: #eee;
	display: flex;
	justify-content: space-between;
	padding: 15px;
	align-items: center;
	cursor: pointer;
	margin: 1px 0;
}
.product-price h4 {
	flex-basis: 100%;
	font-weight: normal;
	cursor: pointer;
}
.product-price div {
	flex-basis: 100%;
}
.voucher_price {
	width: 90%;
	margin: auto;
}

/* Radio buttons */
.product-price-wrapper .radio {
	position: relative;
	width: 20px;
	height: 20px;
	background-color: #FFFFFF;
	border-radius: 50%;
	border: 1px solid #b9b9b9;
	flex-shrink: 0;
	margin-right: 10px;
}
.product-price-wrapper .radio span {
	width: 14px;
	height: 14px;
	background-color: var(--accent-color);
	border-radius: 50%;
	position: absolute;
	top: 2px;
	left: 2px;
	display: none;
}
.product-price-wrapper .product-price.selected .radio span{
	display: block;
}
/* END */



section.products .product button.customise.hide-options {
	display: flex;
	background-color: transparent;
	color: var(--primary-color);
	position: fixed !important;
	top: 0 !important;
	left: 0;
	width: 100%;
	font-weight: 300;
	font-family: var(--p-font);
	padding: 0 10px;
	align-items: center;
	outline: none;
}

section.products .product button.customise.hide-options svg.svg-inline--fa {
	height: 15px;
	width: 15px;
}

section.products .product button.customise.hide-options:after {
	content: 'close options';
	display: inline-block;
	font-size: .8rem;
	position: fixed;
	top: 16px;
	left: 35px;
	opacity: 0; 
	transition: opacity .2s ease;
	-webkit-transition: opacity .2s ease;
	-moz-transition: opacity .2s ease;
	-ms-transition: opacity .2s ease;
	-o-transition: opacity .2s ease
}

section.products .product button.customise.hide-options:hover:after {
	opacity: 1
}

section.products .product .options fieldset,
section.products .product .options h2,
section.events .event .ticket-types h2 {
	animation-name: fadeIn;
	animation-duration: .8s;
	animation-iteration-count: 1;
	font-size: 20px;
	border: unset;
	padding: 0;
}

section.products .product .options fieldset {
	margin: 0 0 14px;
	position: relative;
}

section.products .product .option-container .option {
	position: relative;
	min-height: 44px;
	margin: 0 0 10px;

	display: flex;
	align-items: center;
}

section.products .product .option-container .option div.product-name-and-price {
	display: flex;
	align-items: center;
	width: calc(100% - 112px);
	justify-content: space-between;
}

@media only screen and (max-width: 744px) {
	section.products .product .option-container .option {
		width: 100% !important
	}
}

section.products .product button.new-add-customised {
	width: 100%;
}

/* Option restriction text */
section.products .product .option-container small {
	position: absolute;
	right: 0px;
	margin-top: 5px;
	font-size: 14px;
}

/* Option details container */
section.products .product .option-container .option .product-details {
	overflow: hidden;
	text-overflow: ellipsis;

	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

/* Option name */
section.products .product .option-container .option label {
	font-size: 15px;
	overflow: hidden;
	text-overflow: ellipsis;
	cursor: pointer;
	padding: 0 7px 0 0;
	display: block;
}

/* Leave space for the allergen icon, limit width of option name so doesnt wrap to next line */
section.products .product .option-container .option .inc_allergens label {
	max-width: calc(100% - 21px);
}

section.products .product .option-container .option .button.allergen-info {
	padding: 0 7px 0 0;
	line-height: 12px;
}
section.products .product .option-container .option div.allergen-icon {
	top: unset;
}

section.products .product .option-container .option div.price {
	white-space: nowrap;
	font-size: 15px;
	font-weight: 400;
	padding: 0px 10px 0 0;
}

/* Apply to all calories and servings text on a product card and options sidebar */
.product .calories_and_servings {
	font-size: 12px;
}

/* Calories and servings on product card */
.product .product-details > .calories_and_servings {
	width: 100%;
	text-align: right;
	margin: 5px 0 0 0;
}

/* Main PLU calories and servings on option sidebar */
.options-inner > .calories_and_servings {
	text-align: right;
	margin-top: -15px;
	padding: 0px 20px 10px 10px;
}

/* Option calories and servings */
section.products .product .option-container .option .product-details .calories_and_servings {
	flex-basis: 100%;
	text-align: left;
	margin: 0;
	padding: 0;
}

section.products .product-three-course,
section.products .product-two-course {
	width: 100% !important;
	max-width: 100% !important
}

section.products .product .options,
section.events .event .ticket-types{
	max-width: 400px !important;
}

@media (max-width:450px) {
	section.products .product .options,
	section.events .event .ticket-types {
		max-width: 100vw !important;
	}
}

#menu_placeholder {
	position: relative;
	width: 100%;
	height: calc(var(--vh, 1vh) * 100 - 70px);
}
.menu_container {
	top: 0;
	left: 0;
	transition: left 0.2s ease-in-out;
	width: 100%;
	z-index: 10;
	background-color: var(--secondary-color);
	height: 100%;
	overflow-y: auto;
}

.menu_container.slide_out {
	left: 100vw;
}
.menu_container.in_view {
	left: 0;
}
@media (min-width: 800px) {
	.menu_container {
		margin-bottom: 80px;
	}
}
@media (min-width: 1024px) {
	.menu_container {
		height: auto;
		min-height: 100%;
	}
	.menu_container.slide_out {
		left: 0;
	}
}
.menu_container.previous {
	display: none;
}
.menu_container.menu_not_available {
	display: flex;
	justify-content: center;
	font-size: 20px;
	text-align: center;
	padding: 40px 30px;
	flex-wrap: wrap;
	height: auto;
}
.menu_container .products_container p.loading, .menu_container .events_container p.loading, .customer_orders_container p.loading, .customer_tickets_container p.loading {
	margin: 20px;
	text-align: center;
}
.menu_load_error {
	padding: 20px;
}
.menu_absolute {
	position: absolute;
}

/* Category headings */
section.products .category-wrap,
section.events .category-wrap {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #C7C7C7;
	padding: 22px 20px;
}
.category-wrap.category_header, .category-wrap.sub_category {
	cursor: pointer;
}
.category-wrap.sub_category {
	margin: 1px 10px;
}
.products:nth-child(2) .category-wrap.sub_category,
.events:nth-child(2) .category-wrap.sub_category {
	margin-top: 10px;
}
.products:last-child .category-wrap.sub_category,
.events:last-child .category-wrap.sub_category {
	margin-bottom: 10px;
}
section.products.has_category_images .category-wrap,
section.events.has_category_images .category-wrap {
	border-bottom: 1px solid var(--secondary-color);
	background-position: center center !important;
	background-size: cover !important;
	color: #FFF;
	height: 140px;
	padding: 0 20px;
}

@media (min-width:1024px) {
	section.products.has_category_images .category-wrap,
	section.events.has_category_images .category-wrap {
		height: 160px;
	}
}

section.products.has_category_images div.category-wrap h2,
section.events.has_category_images div.category-wrap h2 {
	text-transform: uppercase;
	text-overflow: ellipsis;
	overflow: hidden;
	font-size: 24px;
	font-weight: 500;
	max-width: 90%;
}
@media (max-width:450px) {
	section.products.has_category_images div.category-wrap h2,
	section.events.has_category_images div.category-wrap h2 {
		font-size: 22px;
	}
}

section.products:nth-child(2) .category-wrap,
section.events:nth-child(2) .category-wrap {
	border-top: unset;
}
section.products .category-wrap .expand-cat,
section.events .category-wrap .expand-cat {
	width: 13px;
	cursor: pointer;
}

/* Category arrow icon */
section.products .category-wrap .expand-cat svg.fa-chevron-right,
section.events .category-wrap .expand-cat svg.fa-chevron-right {
	display: block;
}
section.products .category-wrap .expand-cat.loading svg.fa-chevron-right,
section.events .category-wrap .expand-cat.loading svg.fa-chevron-right {
	display: none;
}

/* Category loader animated icon */
section.products .category-wrap .expand-cat .loader,
section.events .category-wrap .expand-cat .loader,
.menu_container .products_container .loader,
.menu_container .events_container .loader,
.customer_orders_container .loader,
.customer_tickets_container .loader {
	display: none;
	height: 30px;
	width: 30px;
	margin-top: -1px;
	margin-left: -9px;
	transition: 0.1s;
}
section.products:not(.has_category_images) .category-wrap .expand-cat .loader {
	height: 21px;
}
.menu_container .products_container .loader, .menu_container .events_container .loader, .customer_orders_container .loader, .customer_tickets_container .loader  {
	display: inline;
	vertical-align: middle;
	margin-left: 10px;
}
.menu_container .products_container .loader circle, .menu_container .events_container .loader circle, .customer_orders_container .loader circle, .customer_tickets_container .loader circle {
	stroke: var(--accent-color);
}
/* Category loader - Make black on mobile when no category images set */
section.products:not(.has_category_images) .category-wrap .loader circle {
	stroke: #000;
}

/* Products */
section.products.expand > ul.product-list,
section.events.expand > ul.event-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
    padding: 20px 20px 60px 20px;
}
section.products.has_category_images.expand > ul.product-list,
section.events.has_category_images.expand > ul.event-list{
	border-bottom: 1px solid var(--secondary-color);
}

@media (min-width: 800px) {
	section.products .product,
	section.events .event {
		max-width: 49% !important
	}

	section.products>ul,
	section.events>ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between !important
	}

	section.products .product .options,
	section.events .event .ticket-types {
		max-width: 300px
	}

	section#checkout header {
		text-align: center;
	}
}

@media (min-width: 1300px) {
	section.products .product .options,
	section.events .event .ticket-types {
		max-width: 400px
	}
}

@media (orientation: portrait) {
	section.products .product .options,
	section.events .event .ticket-types {
		max-width: 100% !important;
	}
}

.category-description {
	padding: 20px 20px 10px 20px;
	background-color: var(--secondary-color);
	width: 100%;
}
.category-description p {
	margin: 0;
}

/* Cart buttons */
#checkout .cart-controls .button,
.order-form-continue,
section#cart-mini .cart-controls .button {
	white-space: nowrap;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 16px;
	padding: 0;
	border: none;
	height: 50px;
	box-sizing: border-box;
	background-color: var(--accent-color);
	color: var(--secondary-color);
	position: absolute;
	top: unset !important;
	right: 0;
	left: unset;
	width: 100%;
}
section.products .product button.customise {
	top: 0;
	right: 0;
	bottom: 0;
	position: absolute;
	display: none;
}
section.products .product button.customise.light span {
	color: #fff;
}
section.products .product button.customise.dark span {
	color: #000;
}
section.products .product button.customise:active {
	transform: translate(0, 1px);
}
ul.cart-item-options {
	margin: 5px 0;
}
ul.voucher-recipient {
	margin: 5px 0;
}
.cart-controls {
	width: 100%;
	box-sizing: border-box;
	margin: 0px auto 0px auto;
}
.empty_cart .cart-controls {
	margin-top: 20px;
}
#checkout .cart-controls .button,
.order-form-continue {
	position: relative !important;
	margin: 0;
	height: 50px;
	padding: 12px 0;
	font-size: 15px;
	text-transform: uppercase;
	font-weight: normal;
	display: block;
	font-family: var(--p-font);
}
.clear-add-wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
.clear-add-wrap a {
	flex-basis: 47%;
}
.empty_cart .clear-add-wrap a {
	flex-basis: 100%;
}
#checkout .cart-controls a.button.return-to-menu,
#checkout .cart-controls a.button.empty-cart {
	background-color: transparent;
	color: var(--accent-color);
	border: 1px solid var(--accent-color);
	height: auto;
	padding: 14px 0;
	font-size: 15px;
}
#checkout .cart-controls a.button.empty-cart {
	color: #828282;
	border: 1px solid #828282;
}
#checkout .cart-controls a.button.empty-cart:hover {
	background-color: #828282;
	color: #fff;
}
#checkout .cart-controls a.button.return-to-menu:hover {
	background-color: var(--accent-color);
	color: #fff;
}
#checkout .cart-controls .collection-only {
	margin-bottom: 20px;
}
#checkout .cart-controls .ordering-from {
	font-size: .9rem;
	margin-bottom: 25px;
}
/* END */

/* Allergen related */
.product-properties{
	z-index: 9;
	margin: 10px 0 0 0;
}
.button.allergen-info, .assoc-allergen-info{
	cursor: pointer;
	z-index: 2;
	position: relative;
	text-decoration: none;
}
section#cart-mini .cart-item .button.allergen-info {
	top: 0;
}
.allergen-dialog, .assoc-allergen-dialog{
	display: none;
}
.allergen-popup-header{
	text-align: center;
}
.dialog-container{
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	flex-direction: row;
	-webkit-justify-content: center;
	justify-content: center;
	max-height: 225px;
	overflow-y: auto;
}
.dialog-content{
	padding: 2px;
	-webkit-flex-shrink: 1; 
	flex-shrink: 1;
	flex-basis: 70px;
}
.dialog-content img{
	width: 56px;
	height: 56px;
}
.dialog-content div.no_image{
	width: 40px;
	height: 40px;
	background-color: #eee;
	margin: auto;
	margin-bottom: 3px;
	border-radius: 20px;
}
.allergens-popup p h3 {
	margin-bottom: 10px;
}
.allergy-icon{
	width: 16px;
	height: 16px;
	z-index: 1;
}
div.allergen-icon {
	background-color: #AA3838;
	-webkit-mask-image: url('/assets/_common/fa-icons/svg/exclamation-circle.svg');
	mask-image: url('/assets/_common/fa-icons/svg/exclamation-circle.svg');
	mask-size: cover;
	width: 14px;
	height: 14px;
	display: inline-block;
	position: relative;
	top: 2px;
}
/* END */

fieldset p.form_error {
	background-color: #AA3838;
	color: var(--secondary-color);
	font-weight: 400;
	position: relative
}

section#order, section.order-confirmation, section#checkout {
	padding: 30px 15px 20px;
	max-width: 500px;
	margin: 0rem auto 0;
	text-align: left;
}

p.ordering-from {
	text-align: center;
}

p.order-complete {
	text-align: center;
	font-size: 18px;
	padding: 10px;
	background-color: green;
	color: #fff;
	display: inline-block;
	margin: 20px auto;
	animation: fadeInBtm .5s 1.5s both ease;
}

section.order-confirmation .non-contact{
	color: #bb1e10;
}
section#order select{
	margin: 0;
	width: 100%;
}
section#order .non-contact-checkbox{
	margin: 10px 0;
}
section#order .self-isolation-checkbox {
	margin: 10px 0px 0px 0px;
}
section.products .product .option-container .option input[type=checkbox] {
	width: 15px;
	display: none
}
select#delivery_option {
	margin: 0;
	width: 100%;
}

section.products .product fieldset {
	margin: 1rem 0 0
}

.site-store-name {
	margin: 10px 0 30px;
	font-size: 16px;
}

section#checkout h1, section#order h1 {
	margin: 0;
	padding: 0 0 10px 0;
}

section#checkout h1{
	text-align: left;
	font-weight: normal;
	font-size: 20px;
}

.cart-controls,
.order-table,
section#checkout form,
section#checkout .message {
	max-width: 500px;
}

.checkout_terms {
	margin: 20px 0 20px;
}

input[name="code"] {
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 110px);
	height: 50px;
	margin: 10px 0;
	font-size: 15px;
	color: #828282;
}

#order-process {
	display: none
}

/* Order table - Cart and Checkout */
.order-table {
	border-collapse: collapse;
	font-size: 0.9rem;
	font-weight: 700;
	border-spacing: 2px 10px;
	margin: 8px 0 15px 0;
	width: 100%;
}
@media (min-width:450px) {
	.order-table {
		font-size: 1rem;
	}
}

.order-table tr {
	vertical-align: top;
}
.order-table tr td, .order-table tr th {
	vertical-align: top;
}
.order-table tr td.name {
	overflow: hidden;
	text-overflow: ellipsis;
	width: calc(100% - 179px);
}
.order-table tr td.qty {
	width: 114px;
	padding: 5px 0;
}
.order-table tr td.price {
	width: 65px;
	text-align: right;
}
.order-table tr td.name, .order-table tr td.price {
	padding-top: 16px;
}
.order-table tr th:first-child {
	width: calc(100% - 95px);
	text-align: left;
	padding-top: 20px;
	font-size: 16px;
	font-weight: 500;
}
.order-table tr th:last-child {
	text-align: right;
	width: 90px;
}

.order-table tfoot tr:first-child th {
	padding-top: 20px !important;
}

.order-table .delivery-row th, 
.card-surcharge-row th, 
.order-table .total-row th, 
.order-table .mix-match-row th, 
.order-table .discount-code-row th,
.order-table .customer-discount-code-row th,
.order-table .tip-row th,
.order-table .points-redemption-row th,
.order-table .balance-redemption-row th,
.order-table .subtotal-row th {
	padding-top: 6px !important;
}

.order-table ul li {
	font-weight: 400;
	font-size: .75rem;
	padding: 0 5px 0 10px;
}

tr.customer-discount-code-row td,
tr.discount-code-row td,
tr.card-surcharge-row td,
tr.delivery-row td {
	font-weight: normal;
}
tr.total-row th {
	padding-top: 5px;
}
span.subtotal {
	margin: 10px 0 0 !important;
	font-size: 22px;
	font-weight: 600;
	font-family: var(--h-font);
	display: block
}
.order-table tfoot tr td small {
	font-weight: 400
}
.order-table tr th:last-child {
	font-weight: 500;
	font-size: 16px;
	padding-top: 20px;
}
.order-table tr th small {
	font-weight: 400;
	font-size: 0.7rem;
}

div.contact-details {
	padding: 15px 0;
	border-top: 1px solid #C7C7C7;
	border-bottom: 1px solid #C7C7C7;
	margin: 15px 0;
}
div.contact-details h2	 {
	font-size: 18px;
	font-weight: normal;
}
div.contact-details p {
	margin: 5px 0;
}
p.checkout-text {
	margin: 15px 0;
}

/* Checkout order table overrides */
.order-summary .order-table tr td.name, .order-confirmation .order-table tr td.name {
	width: calc(100% - 125px);
}
.order-summary .order-table tr td.qty, .order-confirmation .order-table tr td.qty {
	width: 60px;
	padding-bottom: 0;
	text-align: right;
}
.order-summary .order-table tr td, .order-confirmation .order-table tr td {
	padding-top: 5px;
}
.order-summary .qty-value, .order-confirmation .qty-value {
	font-size: inherit;
	position: unset;
	text-align: right;
}
/* End */

/* Qty buttons */
.qty-container {
	position: absolute;
	right: 0px;
}
.low-opacity {
	opacity: 0.3;
}
.qty-minus,
.qty-plus {
	color: var(--secondary-color);
	background-color: var(--accent-color);
	padding: 11px 0px;
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 15px;
	text-decoration: none;
	text-align: center;
	position: relative;
	font-size: 30px;
	vertical-align: middle;
	cursor: pointer;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.qty-minus {
	background-color: var(--accent-color);
}
.qty-value {
	position: relative;
	top: 2px;
	display: inline-block;
	text-align: center;
	width: 32px;
	font-size: 19px;
}
/* END */

/* Actions container - Qty input and Add to Order */
.options .actions-container,
.ticket-types .actions-container {
	width: 100%;
	position: fixed;
	bottom: 0;
	background-color: var(--secondary-color);
	padding: 20px;
	z-index: 2;
}
/* END */

/* Product qty buttons */
.product-qty-container {
	display: flex;
	justify-content: space-between;
	text-align: center;
	width: 100%;
}

.product-qty-container .qty-value {
	font-size: unset;
	top: unset;
}

.product-qty-container > span {
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;

	flex-grow: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
/* END */

/* Order Complete and Tracking */
section.order-confirmation section.order-placed, section.order-tracker {
	text-align: center;
}

.order-confirmation p {
	margin: 20px 0 30px;
}

div.order_tick {
	background-color: #26B55B;
	height: 70px;
	width: 70px;
	margin: auto;
	-webkit-mask-image: url("/assets/_common/fa-icons/svg/check-circle-regular.svg");
	mask-image: url("/assets/_common/fa-icons/svg/check-circle-regular.svg");
	mask-repeat: no-repeat;
}
section.order-confirmation h2 {
	font-weight: normal;
	font-size: 20px;
	text-align: left;
}
section.order-confirmation h3 {
	font-size: 18px;
	font-weight: 500;
}

div.order-details {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	padding: 30px 0 0 0;
	border-top: 1px solid #C7C7C7;
}
div.order-details div {
	flex-basis: 50%;
	padding-left: 0;
}
div.order-details p {
	margin: 8px 0 20px;
}

div.order-details div.store_details {
	flex-basis: 100%;
}

@media only screen and (min-width: 450px){
	div.order-details div {
		padding-left: 40px;
	}
}

.remember-me-container{
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:center;
}

button.secondary, .sweet-alert button.secondary {
	background-color: #fff !important;
	color: var(--accent-color) !important;
	border: 1px solid var(--accent-color);
	padding: 0 20px;
	height: 40px;
	cursor: pointer;
}
.sa-confirm-button-container {
	width: 45%;
}

div.tracker {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	margin: 30px 0;
	-webkit-justify-content: center;
	justify-content: center;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}
div.tracker > div {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}

p.tracking_hint {
	color: #868484;
	font-size: 10pt;
}
#order_unsuccessful_message {
	display: none;
	text-align: left;
	border-top: 1px solid #C7C7C7;
	border-bottom: 1px solid #C7C7C7;
}

@media only screen and (min-width: 350px){
	div.tracker {
		flex-wrap: nowrap;
		-webkit-flex-wrap: nowrap;
	}
	div.tracker > div {
		flex-basis: auto;
		-webkit-flex-basis: auto;
	}
}
div.tracker div.image {
	height: 50px;
	width: 50px;
	mask-size: contain;
	-webkit-mask-size: contain;
	mask-position: center;
	-webkit-mask-position: center;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	background-color: #b7b7b7;
	transition: background-color ease-in 0.08s;
}
div.tracker div.text {
	height: 40%;
	width: 100%;
	font-size: 0.8em;
	margin-top: 10px;
	color: #b7b7b7;
	transition: color ease-in 0.08s;
}
div.tracker div.order_placed div.image {
	-webkit-mask-image: url("/assets/_common/fa-icons/svg/clipboard-list-solid.svg");
	mask-image: url("/assets/_common/fa-icons/svg/clipboard-list-solid.svg");
}
div.tracker div.order_received div.image {
	-webkit-mask-image: url("/assets/_common/fa-icons/svg/check-circle-solid.svg");
	mask-image: url("/assets/_common/fa-icons/svg/check-circle-solid.svg");
	mask-size: 47px;
}
div.tracker div.order_rejected div.image {
	background-color: #b7b7b7;
	-webkit-mask-image: url("/assets/_common/fa-icons/svg/times-circle-solid.svg");
	mask-image: url("/assets/_common/fa-icons/svg/times-circle-solid.svg");
}
div.tracker div.hidden {
	display: none;
}
div.tracker div.order_cooking div.image {
	-webkit-mask-image: url("/assets/_common/icons/ui/svg/prep-icon.svg");
	mask-image: url("/assets/_common/icons/ui/svg/prep-icon.svg");
}
div.tracker div.order_ready div.image {
	-webkit-mask-image: url("/assets/_common/fa-icons/svg/concierge-bell-solid.svg");
	mask-image: url("/assets/_common/fa-icons/svg/concierge-bell-solid.svg");
}
div.tracker div.order_delivery div.image {
	-webkit-mask-image: url("/assets/_common/fa-icons/svg/shipping-fast-solid.svg");
	mask-image: url("/assets/_common/fa-icons/svg/shipping-fast-solid.svg");
}
div.tracker div.order_delivery.eatin div.image {
	-webkit-mask-image: url("/assets/_common/fa-icons/svg/shoe-prints-solid.svg");
	mask-image: url("/assets/_common/fa-icons/svg/shoe-prints-solid.svg");
}
div.tracker div.order_delivered div.image {
	-webkit-mask-image: url("/assets/_common/fa-icons/svg/user-check-solid.svg");
	mask-image: url("/assets/_common/fa-icons/svg/user-check-solid.svg");
}
div.tracker div.highlighted, div.tracker div.order_rejected.highlighte { 
	display: -webkit-flex;
	display: flex;
}
div.tracker div.highlighted div.image {
	display: -webkit-flex;
	display: flex;
	background-color: var(--accent-color);
}
div.tracker div.highlighted div.text {
	color: var(--accent-color);
}
div.tracker div.order_rejected.highlighted div.image {
	background-color: #f00;
}
div.tracker div.order_rejected.highlighted div.text {
	color: #f00;
}
/* END - Order Complete and Tracking */

/* Inputs, fieldsets, labels */
input,
select,
textarea,
.select2-search--dropdown input.select2-search__field {
	width: 100%;
	padding: 14px;
	font-size: 15px;
	font-family: inherit;
	box-sizing: border-box;
	margin-top: 0px;
	margin-bottom: 5px;
	display: block;
	background-color: #EFEFEF;
	border: unset;
	-webkit-appearance: none;
	appearance: none;
	-moz-appearance: none;
	-webkit-border-radius:0px;
	border-radius: 0px;
	transition: border-color ease-in-out 0.1s;
	border-bottom: 2px solid #EFEFEF;
}
input[type="checkbox"] {
	display: inline;
	width: auto;
}

/* Fancy checkbox styling */
.checkbox-container {
	width: 25px;
	height: 25px;
	position: relative;
	display: inline-block;
	vertical-align: middle;
}

.checkbox-container input[type="checkbox"] {
	visibility: hidden;
	display: block;
}

.checkbox-container input[type="checkbox"] + label {
	cursor: pointer;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #EFEFEF;
}

.checkbox-container input[type="checkbox"] + label:after {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	opacity: 0;
	content: '';
	position: absolute;
	width: 64%;
	height: 28%;
	background: transparent;
	top: 20%;
	left: 12%;
	border: 3px solid var(--accent-color);
	border-top: none;
	border-right: none;
	box-sizing: content-box;
	/* Rotate to make a tick */
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.checkbox-container input[type="checkbox"]:checked + label:after {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: alpha(opacity=100);
	opacity: 1;
}
/* End Fancy checkbox styling */

#registration-marketing-label span {
	font-size: 13px;
	margin-left: 3px;
}

input:focus {
	border-bottom: 2px solid var(--accent-color);
}
#order input[type=checkbox] {
	-webkit-appearance: checkbox;
	appearance: checkbox;
	-moz-appearance: checkbox;
}
fieldset {
	border: none;
	margin: 0 0 5px 0;
	padding: 5px 0;
}

fieldset.payment label {
	padding: 0 0 5px;
}

fieldset.payment {
	margin: 0 0 15px;
	padding: 0;
}

fieldset.delivery {
	margin: 0 0 15px 0;
	padding: 0;
}

fieldset.discount-code {
	padding: 0 0 5px;
}

fieldset.discount-code input {
	margin: 0 0 10px;
}

fieldset legend {
	width: 100%;
	padding: 5px 0 0;
	box-sizing: border-box;
	font-weight: normal;
	font-size: 18px;
}
label {
	display: inline-block;
	padding: 8px 0 6px;
	font-size: 16px;
}
fieldset.order-note textarea {
	height: 110px;
}
fieldset p.form_error {
	margin: 0 0 10px 0;
	padding: 10px;
	border: 1px solid
}
fieldset.address button {
	padding: 3px 5px;
}

.order-summary .order-note {
	border: none;
	margin: 0 0 5px 0;
}

.order-summary fieldset, .order-summary fieldset label {
	padding: 0;
	margin: 0;
}

.order-summary fieldset.nhs-role {
	margin: 0 0 10px 0;
}
.order-summary fieldset.marketing-opt-in {
	margin: 10px 0 0 0;
}
.order-summary fieldset.marketing-opt-in label {
	max-width: 90%;
}
.order-summary fieldset label.nhs_role {
	margin: 10px 0px 5px;
}

#order input[type="checkbox"] {
	margin: 2px 10px 0 0;
	vertical-align: top;
}

fieldset.about-you, fieldset.address, fieldset.delivery_area, fieldset.address_whitelist, fieldset.saved_address {
	border-top: 1px solid #C7C7C7;
}
/* END */

/* Tips entry */
.tips {
	width: 100%;
	border-top: 1px solid #C7C7C7;
    padding: 10px 0px 0px 0px;
}

.tips #set-tip legend {
	padding-bottom: 6px;
}

.tips #set-tip .label-container {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 0px 0px 10px 0px;
}

.tips #set-tip label {
	display: inherit;
    justify-content: center;
    align-items: center;
    background-color: #EFEFEF;
    padding: 10px 10px;
    font-family: sans-serif, Arial;
    font-size: 16px;
	border: 2px solid #EFEFEF;
	box-sizing: border-box;
	width: 19%;
	text-align: center;
	margin: 1px;
	cursor: pointer;
}

.tips #set-tip input[type="radio"]:checked + label {
	border: 2px solid var(--accent-color);
}

.tips #set-tip input[type="radio"] {
	opacity: 0;
  	position: fixed;
	width: 0;
}

.tips #set-tip .tip-input-submit-container {
	display: none;
}

.tips #set-tip input[type="submit"]:hover {
    background-color: var(--accent-color);
    color: #fff;
}

.tips input[type="text"] {
	width: 66%;
	display: inline-block;
	border-bottom: none;
}

.tips input[type="submit"] {
	width: 34%;
	display: inline-block;
	border-bottom: none;
}

/* END */

/* Postcode lookup */
button#postcode-lookup {
	width: 110px;
	text-transform: uppercase;
	display: inline-block;
	height: 50px;
	background-color: var(--accent-color);
	color: var(--secondary-color);
	font-family: var(--p-font);
	cursor: pointer;
	font-size: 15px;
}
.postcode-input {
	margin-top: unset !important;
	width: calc(100% - 110px);
	float: left;
	height: 50px;
}
/* END */

/* Discount code */
fieldset.discount-code button {
	display: inline-block;
	vertical-align: top;
	height: 50px;
	width: 110px;
	box-sizing: border-box;
	font-family: var(--p-font);
	padding: 0 1rem;
	cursor: pointer;
	text-transform: uppercase;
	font-size: 15px;
	background-color: var(--accent-color);
	color: var(--secondary-color);
}
/* END */

/* Selects */
select,
textarea {
	width: 100%;
	padding: 10px;
	font-size: 16px;
	font-family: inherit;
	box-sizing: border-box;
	display: block;
	margin: 5px 0 0 0;
	text-align: left;
}
select {
	padding: 15px 45px 10px 10px;
	cursor: pointer;
	width: auto;
	display: inline-block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--accent-color) 50%), linear-gradient(135deg, var(--accent-color) 50%, transparent 50%);
	background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), 100% 0;
	background-size: 5px 5px, 5px 5px, 2.5em 2.5em;
	background-repeat: no-repeat;
}
select:focus-within {
	outline: 0;
}
select option {
	color: var(--primary-color);
}
select option:disabled:not(:first-child) {
	background-color: #EEE;
}
select option:disabled {
	color: unset;
}
/* END */

/* Menu footer */
.footer-wrap {
	color: inherit;
	font-size: 14px;
	text-align: left;
	width: 100%;
	max-width: 400px;
	background-color: var(--secondary-color);
	padding: 20px 0;
}
.footer-wrap .company-info {
	margin: 10px 0;
}
.footer-wrap .company-info address span {
	display: block
}
.footer-wrap .company-info address {
	font-style: normal;
	font-size: 16px;
}

.telephone-numbers {
	display: block;
	float: unset
}
@media (max-width:450px) {
	.telephone-number {
		min-width: 200px;
		margin-bottom: 5px;
		display: inline-block;
	}
}
/* END */

/* Is this used? */
.progressContainer {
	left: 0;
	width: 100%;
	height: .4em;
	margin-bottom: 0;
	position: fixed;
	bottom: 0;
	overflow: hidden;
	background-color: transparent;
	content: "";
	display: table;
	table-layout: fixed;
	z-index: 979;
	animation-name: fadeIn;
	animation-duration: .5s
}
.progressBar {
	width: 0;
	float: left;
	height: 100%;
	z-index: 99;
	max-width: 100%;
	background-color: green;
	-webkit-transition: width .01s ease;
	-o-transition: width .01s ease;
	transition: width .01s ease
}
/* END */

.page-storelist {
	overflow: hidden;
}

/* Store chooser */
section#choose_store {
	display: flex;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
section.store-chooser-wrapper {
	width: 100%;
	margin: auto;
	text-align: center;
	overflow-y: auto;
	height: auto;
	padding: 0;
	position: relative;
}

@media (max-width:768px) {
	section.store-chooser-wrapper {
		padding: 10px;
	}
}

@media (max-width:1380px) {
	.buttonCont {
		visibility: visible !important;
	}
}

section.store-chooser-wrapper>div {
	max-width: 800px;
	margin: auto;
}
section.store-chooser-wrapper h1 {
	font-size: 42px;
}
section.store-chooser-wrapper select {
	width: fit-content;
	margin: 10px auto 20px;
	text-align: justify;
	/* For Edge */
	text-align-last: center;
	padding: 10px 55px 10px 25px;
	font-size: 16px;
}
section.store-chooser-wrapper .select-wrap:after {
	height: 22px;
	width: 22px;
	top: 8px;
}
.store-choose-inner {
	display: block;
	height: auto;
}
section.store-chooser-wrapper div.opening-times-container {
	flex-direction: row;
}
section.store-chooser-wrapper div.opening-times-container .opening-times {
	display: inline-block;
	width: auto;
	text-align: center;
	margin: 0 20px;
}
@media (max-width:450px) {
	section.store-chooser-wrapper h1 {
		font-size: 34px;
	}
	section.store-chooser-wrapper div.opening-times-container .opening-times {
		width: 100%;
		text-align: center;
		margin: 10px 0;
	}
}
section.store-chooser-wrapper .store-chooser-form {
	margin: 20px 0 0 0;
}
section.store-chooser-wrapper .store-chooser-form .select-wrap {
	margin: auto;
}
section.store-chooser-wrapper address {
	display: flex;
	flex-direction: column;
	font-style: normal;
	font-size: 16px;
	margin: 0px 0 20px 0;
}
.store-chooser-form h4 {
	font-weight: normal;
	font-size: 16px;
}
.company-details {
	margin-top: 20px;
}
section.store-chooser-wrapper .company-details a {
	display: block;
	position: relative;
	font-size: 16px;
	white-space: nowrap;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	margin: 10px auto 20px auto;
	padding: 14px 30px;
	border: none;
	height: auto;
	box-sizing: border-box;
	background-color: var(--accent-color);
	color: var(--secondary-color);
	width: fit-content;
	width: -moz-fit-content;
}
.select-wrap {
	position: relative;
	width: fit-content;
}
/* END */

/* Show times dropdown */
.show-times {
	display: inline-block;
	margin: 0;
	cursor: pointer;
	font-size: 16px;
	color: var(--accent-color);
}
.show-times:after {
	content: '';
	display: inline-block;
	width: 10px;
	height: 8px;
	position: relative;
	top: 1px;
	left: 5px;
	background-image: url('../img/down.png');
	background-repeat: no-repeat;
	background-size: contain;
}
.show-times.clicked:after {
	transform: rotate(180deg);
	top: -1px;
}
/* END */

/* Search Box */
.search-wrap {
	position: fixed;
	width: 100%;
	top: 70px;
	padding: 0;
	transition: transform .25s ease;
	z-index: 10;
}
.search-inner {
	position: relative;
	width: 100%;
	max-width: 800px;
	margin: auto;
}
input#search {
	box-shadow: 0 1px 2px rgb(0 0 0 / 18%);
}
.search-wrap button {
	position: absolute;
	top: 0;
	width: 48px;
	height: 48px;
	padding: 15px;
	margin: 0;
	cursor: pointer;
	z-index: 13;
	background-color: var(--accent-color);
}
.search-wrap button svg {
	color: #979797;
	margin: 0;
}
#search input {
	padding: 16px 14px 12px 14px;
}
#search_btn {
	right: 0;
}
#search_btn svg {
	color: #FFF;
}
#reset_search {
	right: 48px;
	width: 48px;
	padding: 16px 18px;
	background-color: unset;
	display: none;
}
div#main-wrapper.search_box_shown main {
	margin-top: 118px;
}
/* END */

/* Floating checkout button */
.buttonCont {
	width: 100%;
	position: fixed;
	visibility: hidden;
	left: 0;
	bottom: 0;
	height: 90px;
	background-color: #FAFAFA;
	z-index: 900;
}
.floatingCheckoutButton {
	position: fixed;
	bottom: 20px;
	left: 20px;
	height: 50px;
	width: calc(100% - 40px);
	max-width: 760px;
	color: var(--secondary-color);
	background-color: var(--accent-color);
	text-align: center;
	padding-top: 15px;
	z-index: 999;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: normal;
	text-decoration: none;
}
a.floatingCheckoutButton span, section.products .product .options button > span {
	margin: 0 5px;
}
.floatingCheckoutButton:hover {
	background-color: var(--accent-color);
}
@media (min-width:800px) {
	.floatingCheckoutButton {
		left: calc(50% - 380px) !important;
	}
}
/* END */

/* Scroll down indicator */
.scroll-down {
	position: fixed;
	bottom: 0;
	left: 0;
	height: 60px;
	width: 100%;
	display: none;
	justify-content: center;
	align-items: flex-end;
	flex-wrap: wrap;
	z-index: 1;
	background-color: rgba(250, 250, 250, 0.8);
	align-content: flex-end;
	transition: opacity 0.2s ease-in-out;
	cursor:pointer;
}
.scroll-down .scroll-icon {
	margin-bottom: 15px !important;
	background-color: var(--accent-color);
	-webkit-mask-image: url('/assets/_common/fa-icons/svg/movedown-arrow.svg');
	mask-image: url('/assets/_common/fa-icons/svg/movedown-arrow.svg');
	mask-size: cover;
	width: 30px;
	height: 30px;
	display: inline-block;
	vertical-align: middle;
}
/* END */

div.stock{
	width: 100%;
	padding: 10px 0 0 0;
}

.out-of-stock{
	font-size: small !important;
	color: #bb1e10;
	line-height: 40px;
}

.price.out-of-stock{
	line-height: 24px !important;
	min-width: 86px;
}

.out-of-stock.at{
	line-height: unset;
	min-width: 105px;
	text-align: right;
}

.in-stock{
	font-size: small;
	color: orange;
}

.out-of-stock-option{
	opacity: 0.25;
}

.qty-container .out-of-stock{
	width: 120px;
	display: inline-block;
	text-align: center;
}

.stock-box{
	position: absolute !important;
	width: 100%;
	left: 0;
	text-align: center;
	line-height: 24px;
}

.in-stock.stock-box{
	background: papayawhip;
}

.out-of-stock.stock-box{
	background: rgba(187,30,16,0.2);
}

/* Eat Out To Help Out Button */
a.eotho-adjustment {
	display: inline-block;
	vertical-align: top;
	height: auto;
	width: 100%;
	box-sizing: border-box;
	font-family: var(--p-font);
	padding: 0 1rem;
	cursor: pointer;
	text-transform: uppercase;
	font-size: 15px;
	background-color: transparent;
	color: var(--accent-color);
	padding: 0;
	font-size: 15px;
	margin-bottom: 20px;
}

img.eotho-adjustment {
	width: 100%;
}
/* END */


/* Billing stage */

.ccicon {
    height: 38px;
    position: absolute;
    right: 6px;
    margin-top:-49px;
    width: 60px;
}
.cciconindividual {
    height: 28px;
    position: relative;
    width: 50px;
    top:1px;
    margin-left:1px;
    margin-bottom:5px;
    float:right;
}

.card-expire-col{
	width:50%;
	display:inline-block;
	float:left;
	padding: 0px 7px 0px 0px;
}
.card-cvv-col{
	width:50%;
	display:inline-block;
	float:left;
	padding: 0px 0px 0px 7px;
}

.button.add-new-card{
	background-color: transparent;
	color: var(--accent-color);
	border: 1px solid var(--accent-color);
	height: auto;
	padding: 14px 0;
	font-size: 15px;
	width: 100%;
}

.button.add-new-card:hover{
	background-color: var(--accent-color);
	color: #fff;
}


.saved-card{
	cursor: pointer;
	padding:10px;background:#f2f2f2; margin-top:8px; display: flex;
}
.saved-card:hover{
	background:#e2e2e2;
}

.manage-cards{
	color: var(--accent-color);
	cursor: pointer;
}

.delete-card{
	color:var(--accent-color); 
}

.delete-card:hover{
	color:#e45858
}

/* END */

/* Hosted Payments */

/* Generic */

p.test-mode-warning {
	font-weight: 400;
	position: relative;
	margin: 0px 15px;
	padding: 16px;
	color: var(--primary-color);
	background-color: var(--warning-color);
	text-align: center;
}

/* Stripe */

div#stripe-error-message p.form_error {
	background-color: #AA3838;
	color: var(--secondary-color);
	font-weight: 400;
	position: relative;
	margin: 10px 0 0 0;
	padding: 10px;
	border: 1px solid
}

button#stripe-submit {
	margin-top: 10px !important;
}

/* Gateway redirect page */

main.processing-container .spin-loader {
	width: 40px;
	height: 40px;
	animation: rotate 1.5s linear infinite;
}

main.processing-container .spin-loader circle:nth-child(2) {
	stroke-dasharray: 18.84955592153876 169.64600329384882;
	animation: dash 1.5s linear infinite, color 1.5s linear infinite;
}

main.processing-container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: calc(100vh - 70px);
	margin-top: -70px;
}

@keyframes rotate {
	0% {
		transform: rotate(0deg);
	}
	50% {
		transform: rotate(180deg);
	}
	100% {
		transform: rotate(720deg);
	}
}

@keyframes dash {
	0% {
		stroke-dasharray: 18.84955592153876 169.64600329384882;
	}
	50% {
		stroke-dasharray: 94.2477796076938 94.24777960769377;
	}
	100% {
		stroke-dasharray: 18.84955592153876 169.64600329384882;
	}
}

p.processing {
	font-size: 1rem;
}

/* PaymentSense, Sagepay - stage_billing_view */

.order-billing .card_details p.test-mode-warning {
	margin: 0 0 5px 0;
}

/* PSConnect-E - hosted_payment_connect_e, hosted_payment_connect_e_stored_card_choice */

.order-billing.connect-e p.test-mode-warning {
	margin: 0 0 15px 0;
}

.order-billing.connect-e-choice p.test-mode-warning {
	margin: 0 15px 15px 15px;
}

/* END */

/* Announcements */

.announcement{
	margin: 0 0 10px 0;
	padding: 10px;
	border: 1px solid;
}

.announcement p{
	margin-top:2px;
	margin-bottom:2px;
}

.announcement-error{
	background-color: #AA3838;
	color: var(--secondary-color);
	font-weight: 400;
	position: relative;
}

/* END */

/* Cart View Minimum Spend Error */

p.min-spend-error {
	margin: 0 0 10px 0;
	padding: 10px;
	border: 1px solid;
	background-color: #AA3838;
	color: var(--secondary-color);
	font-weight: 400;
	position: relative;
}

/* END */
/* Reservations */
.reservations-container {
	padding: 10px;
}
button.book-a-table {
	margin: 20px 0 5px 0;
}
@media (min-width: 725px) {
	.reservations-container {
		padding: 30px 50px;
	}
}
/* END */

.product_notes {
	padding: 0 20px 0 20px;
}

.cart_product_notes {
	padding-left: 5px;
	display: block;
	font-size: 0.8rem
}

/* Tickets/Voucher/Membership Styling - Order Table View */
.ticket-details-container,
.voucher-details-container,
.membership-container {
	display: flex;
	flex-direction: row;
	padding-right: 5px;
}

.ticket-details-text,
.voucher-details-text,
.membership-text {
	padding: 2px 0 0 10px;
	font-size: 0.8em;
}

.ticket-details-icon,
.voucher-details-icon,
.membership-icon {
	width: 13px;
	padding: 1px 0 0 0;
}

.ticket-name,
.voucher-name {
	padding: 5px 0 5px 0;
}

.ticket-download-view,
.voucher-download-view {
	display: -webkit-flex;
	display: block;
	padding: 15px 0 0 0;
}

.order-table-view {
	border-bottom: 0px solid #C7C7C7;
}

.download-container {
	padding: 15px 0 15px 0;
	border-top: 1px solid #C7C7C7;
}

.ticket-item,
.voucher-item {
	display: flex;
	flex-direction: row;
	width: 100%;
	justify-content: space-between;
	padding: 0 0 5px 0;
}

.ticket-download-button,
.voucher-download-button {
	width: 30%;
}

.event .ticket-types-inner {
	padding: 0px 15px 0px 15px !important;
}

.event .ticket-types {
	padding: 70px 0 90px 0 !important;
}
.ticketing-event-component {
	padding: 15px 0 0 0;
}

.event .actions-container {
	padding: 0 20px 20px 20px;
}

.ticket-download-button .btn,
.voucher-download-button .btn {
	margin-top: 0px !important;
}

.li-event-cover-all {
	position: absolute;
	width: 100%;
	height: 100%;
}

section.events .event .ticket-date-range {
	font-family: var(--h-font);
	font-size: 14px;
}

section.events .event .ticket-from-text {
	font-size: 14px;
	margin: auto 0px 2px 0px;
}

section.events .event .title-wrap .price {
	font-size: 20px;
	padding: 0px 0px 0px 10px;
}

section.events .event .title-wrap .price .ticket-free-text {
	text-transform: uppercase;
}

section.events .event .ticket-description {
	font-size: 15px;
}
/* END */

/* Spin Loader */
.spin-loader {
	display: inline;
	vertical-align: middle;
	height: 18px;
	width: 30px;
	margin-top: -3px;
	margin-left: -6px;
	transition: 0.1s;
}
.spin-loader circle {
	stroke: var(--accent-color);
}
.btn-primary .spin-loader circle{
    stroke:white !important
}
/* END */

/* BottomModal */
.bottom-modal{
	display:block;
	z-index: 981;
	position:fixed;
	left:0px;
	top:100%;
	width:100%;
	height:100%;
	justify-content:center;
	align-items:center;
	transition:500ms;
	transition-property:'top';
	overflow-y:scroll
}
.bottom-modal .close-btn{
	width:15px;
	height:15px;
	margin-right:20px;
	cursor:pointer;
	margin-top:-5px;
	opacity:1.0
}
.bottom-modal .close-btn:hover{
	opacity:0.8
}
.bottom-modal-content{
	margin-top:0px;
	margin:0px auto;
	width:100%;
	min-height:100%;
	background:#FAFAFA;
	box-shadow:0 2px 10px rgba(0, 0, 0, 0.1)
}
.bottom-modal-inner{
	width:100%;
	margin:0px auto;
	padding:20px;
}
.bottom-modal-header-content{
	width:100%;
	margin:0px auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:100%
}

.bottom-modal-header-content .center-content img {
	max-height: 55px;
	max-width: 250px;
}

@media (max-width: 650px) {
	.bottom-modal-header-content .center-content img {
		max-width: 150px;
	}
}

@media (min-width: 992px) { 
	.bottom-modal-inner{
		width:490px;
		padding:20px;
	}    
	.bottom-modal-header-content{
		width:500px;
	}
}
.bottom-modal-header{
	height:70px;
	width:100%;
	background:white;
	box-shadow:0 2px 10px rgba(0, 0, 0, 0.1)
}
.bottom-modal.open{
	top:0%
}

.bottom-modal img {
	max-width: 150px;
}
/* END */

/* Font Awesome Icons sizes/styles */
.fa {
	text-align: center;
}

.fa-aligned {
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	width: 50px;
}

.icon-13px {
	font-size: 13px;
	width: 18px;
}

.icon-16px {
	font-size: 16px;
	width: 18px;
}

.icon-18px {
	font-size: 18px;
}

.icon-20px {
	font-size: 20px;
}

.icon-24px {
	font-size: 24px;
}

.icon-chevron {
	color: #333;
}
/* END */

.delivery_option_buttons {
	display: flex;
	flex-wrap: wrap;
}

button.delivery-option-button {
	font-size: 15px;
	flex-basis: 32%;
	margin: 0 1%;
	height: 100px;
	padding: 10px;
	white-space: normal;
	font-family: var(--p-font);
}

button.delivery-option-button.disabled {
	color: black;
	background-color: #efefef;
	border-color: #efefef !important;
}

button.delivery-option-button.column-0 {
	margin-left: 0;
}

button.delivery-option-button.column-2 {
	margin-right: 0;
}

button.delivery-option-button.selected {
	border-width: 5px !important;
}

label.marketing_opt_in {
	width : calc(100% - 20px);
	vertical-align: top;
}/* END */


/* Event Reservation styles */

.event_reservation_timer_container{
	position: absolute;
	margin-top: 6px;
	margin-left: -33px;
}

.event-reservation-timer{
	background:#333;
	color:white;
	padding:5px;
	border-radius:4px;
}

.event-reservation-timer .event-res-timer-arrow {
	background-color: #333;
	color: #333;
	text-align: center;
	border-radius: 6px;
	padding: 5px 0;
	position: absolute;
	z-index: 1;
	top: 0px;
	right: 25px;
	margin-top:-19px;
}

.event-reservation-timer .event-res-timer-arrow::after {
	content: "";
	position: absolute;
	border-width: 8px;
	border-style: solid;
	border-color:  transparent transparent #333 transparent;
}
/* ChefGuard */
.chefguard-message {
	background-color: #FFF3CD;
	box-shadow: 0px 2px 5px #0000001A;
	padding: 20px;
	margin: 30px 0;
	border-radius: 5px;
	display: flex;
	align-items: center;
}
.chefguard-message p {
	margin: 0;
	font-size: 15px;
}
.chefguard-message i {
	font-size: 35px;
	padding-right: 8px;
}
/* END */

/* Switch Input */
div.switch {
	cursor: pointer;
	-webkit-user-select: none;  /* Chrome all / Safari all */
	-moz-user-select: none;     /* Firefox all */
	-ms-user-select: none;      /* IE 10+ */
	user-select: none;          /* Likely future */  
}
div.switch div {
	position: relative;
	width: 74px;
	height: 25px;
}
div.switch p, div.switch > div {
	display: inline-block;
	vertical-align: top;
}
div.switch select {
	position: absolute;
	left: -9999px;
	opacity: 0;
	z-index: -1;
}
div.switch p {
	margin: 0;
}
div.switch div.rail {
	border: 1px solid #CECECE;
	background-color: #CECECE;
	height: 29px;
	width: 51px;
	position: absolute;
	top: 0px;
	left: 6px;
	border-radius: 17px;
	margin-left: 5px;
}
div.switch > div {
	margin-top: 1px;
	padding-left: 12px;
	padding-right: 12px;
}
div.switch div.selector {
	background-color: #FFF;
	height: 25px;
	width: 25px;
	margin-top: -3px;
	position: absolute;
	top: 5px;
	left: 13px;
	border-radius: 20px;
	transition: left 0.1s ease-in-out, color 0.1s ease-in-out;
}

div.switch div.selector.on {
	left: 35px;
}
div.switch div.rail.on {
	background-color: #34C759;
}
/* END */

/* info-slides
used for: Customer sign up prompt */

.no-click-background {
	display: flex;
	background-color: rgba(0, 0, 0, .5);
	z-index: 99998;
	width: 100%;
	height: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	justify-content: center;
}

.slide-container {
	width: 350px;
	position: relative;
	align-items: center;
	display: flex;
}

.info-slides-prompt {
	border-radius: 5px;
	display: block;
	color: white;
	text-align: center;
	background-color: var(--accent-color);
	position: absolute;
	width: 100%;
}

.info-slides-prompt .btn-secondary:not(:disabled):hover {
	background-color: #fff;
	color:  var(--accent-color);
}

.info-slides-prompt .skip {
	top: 15px;
	right:20px;
	position: absolute;
	cursor: pointer;
}

.info-slides-prompt .skip .fa-xmark {
	font-size: 32px;
}

.info-slides-prompt .next-arrow, .info-slides-prompt .prev-arrow {
	font-size: 32px;
	cursor: pointer;
}

.info-slides-prompt .spacer {
	width: 32px;
}

.info-slides-prompt .pagination {
	width: 75%;
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 20px;
}

.info-slides-image {
	align-items: center;
	font-size: 150px;
	padding-bottom: 105px;
	margin-bottom: 8%;
}

.info-slides-text {
	margin-top: 15%;
	margin-left: 5%;
	margin-bottom: 15%;
	width: 90%;
	display: block;
	color: white;
}

.info-slides-controls {
	width: 100%;
	right: 0;
	font-size: 55px;
	display: flex;
	position: absolute;
	align-items: center;
	flex-direction: row;
	justify-content: space-between;
	padding: 20px 20px 20px 20px;
	bottom: 8%;
	flex-wrap: wrap;
}

.info-slides-controls .btn {
	margin:0;
	margin-top: 15px;

}

.info-slides-signup {
	width: 100%;
	position: absolute;
	bottom: 0;
}

.info-slides-signup .sign-up-btn {
	border: none !important;
	border-radius: 0 0 5px 5px;
}

.info-slides-controls i.fa-circle{
	font-size: 10px;
}
/* END */

/* Barclaycard form */
.flex-microform {
	font-size: 15px;
	background: #EFEFEF;
	padding : 14;
	-webkit-transition: background 200ms;
	transition: background 200ms;
}
#number-container.card_details.flex-microform
{
	font-size: 15px;
	height: 36px;
	padding: 14px;
	height: 48px;
}
#securityCode-container.flex-microform
{
	font-size: 15px;
	height: 36px;
	padding: 14px;
	height: 48px;
}
address {
	/* some browsers default italic */
	font-style: normal;
}

/* Statement of daily calorie needs */
.calorie_statement {
	width: 100%;
	text-align: center;
	font-size: 10pt;
	padding-bottom: 20px;
}

.calorie_statement.bottom {
	position: fixed;
    bottom: 70px;
}

@media (min-width: 800px) {
	.calorie_statement.bottom {
		max-width: 800px
	}
}
/* END */

/* Select2 Style Overrides */
.select2-container .select2-selection--single {
	height: 48px !important;
	border: none;
	background-color: #EFEFEF;
	color: #000;
	font-size: 16px;
	font-family: inherit;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #000;
	line-height: 46px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	border: none;
	border-bottom: 2px solid var(--accent-color);
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
	background-color: var(--accent-color);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	width: 40px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border: none;
	height: 30px;
	width: 30px;
	background-image: linear-gradient(45deg, transparent 50%, var(--accent-color) 50%), linear-gradient(135deg, var(--accent-color) 50%, transparent 50%);
	background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), 100% 0;
	background-size: 5px 5px, 5px 5px, 2.5em 2.5em;
	background-repeat: no-repeat;
	left: 36%;
	top: 10%;
}

.select2-dropdown.select2-dropdown--below {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	border: none;
}

.select2-search.select2-search--dropdown {
	margin: 6px;
}

.select2-results__option {
	padding: 8px;
}

.select2-container--default .select2-results > .select2-results__options {
	max-height: 350px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
	padding-left: 10px;
}
/* END */


/* voucher email selection */
.voucher-email-wrapper {
	width: 90%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin: auto;
	margin-top: 20px;
	margin-bottom: 20px;
	column-gap: 10px;
}
.voucher-email {
	background-color: #eee;
	display: flex;
	flex-basis: 50%;
	justify-content: space-between;
	padding: 15px;
	align-items: center;
	cursor: pointer;
}
.voucher-email div {
	flex-basis: 100%;
}
.voucher-email h4 {
	flex-basis: 100%;
	font-weight: normal;
	cursor: pointer;
}
.voucher-email-wrapper .radio {
	position: relative;
	width: 20px;
	height: 20px;
	background-color: #FFFFFF;
	border-radius: 50%;
	border: 1px solid #b9b9b9;
	flex-shrink: 0;
	margin-right: 10px;
}
.voucher-email-wrapper .radio span {
	width: 14px;
	height: 14px;
	background-color: var(--accent-color);
	border-radius: 50%;
	position: absolute;
	top: 2px;
	left: 2px;
	display: none;
}
.voucher-email-wrapper .voucher-email.selected .radio span {
	display: block;
}
.voucher-email-details {
	width: 90%;
	display: none;
	flex-direction: column;
	margin: auto;
	font-weight: normal;
	font-family: var(--h-font);
}
.voucher-email-details h3 {
	font-weight: normal !important;
}
.voucher-email-details h4 {
	font-weight: normal !important;
}
/* END */

/* Associated Items */
.associated-items-placeholder {
	width: 800px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
	background-color: var(--secondary-color);
	z-index: 9999;
	overflow: hidden;
	display: flex;
}

.associated-items-placeholder.opened {
	opacity: 1;
}

.associated-items-placeholder .topheader.menu {
	padding: 10px;
}

.associated-items-placeholder .products {
	height: 100%;
	justify-content: space-between;
}

.associated-item-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	overflow-y: auto;
}

.associated-item {
	margin: 5px;
	width: 30%;
	display: flex;
	flex-direction: column;
	border: solid;
	border-width: 1px;
	border-color: #dddddd;
	border-radius: 1px;
}

.assoc-product-image-container {
	width: 100%;
	color: #ffffff;
	align-self: center;
}

.assoc-product-image-container.active {
	animation: revealInBtm .5s both ease;
	-webkit-animation: revealInBtm .5s both ease;
}

.associated-item .details {
	width: 100%;
	flex: 0.2;
	padding-left: 10px;
	padding-right: 10px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}

.associated-item .product-name-price {
	width: 100%;
	padding: 5px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	text-align: center;
}

.associated-item .quantity {
	width: 100%;
	padding-top: 5px;
	padding-bottom: 5px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5px;
}
.qty-plus,.qty-minus {
	height: 40px;
	width: 40px;
}

.associated-item .allergens-calories {
	padding: 5px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	text-align: center;
	font-size: 12px;
	height: 20px;
	width: 100%;
}

.allergens-calories .product-properties {
	margin: 0px;
	width: 70%;
	text-align: left;
}

.allergens-calories .calories {
	right: 0px;
	width: 30%;
	text-align: right;
}

.expand.products {
	display: flex;
	flex-direction: column;
}

@media (max-width: 840px) {
	.associated-items-placeholder {
		width: 95vw;
	}
	.associated-item .details .product-name-price h2 {
		font-size: 16px !important;
	}
	.associated-item .details .qty-plus, .associated-item .details .qty-minus {
		height: 30px;
		width: 30px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.allergens-calories .product-properties .assoc-allergen-info .warning-text {
		font-size: 10px;
	}
}

@media (min-width: 412px) {
	.waves, .circles, .stripes, .triangles {
		transform: scale(1.43);
		align-self: center;
	}
}

@media (max-width: 412px) {
	.associated-item {
		width: 80%;
	}
	.associated-item .details .product-name-price h2 {
		font-size: 20px !important;
	}
	.associated-item .details .qty-plus, .associated-item .details .qty-minus {
		height: 40px;
		width: 40px;
	}
	.allergens-calories .product-properties .assoc-allergen-info .warning-text {
		font-size: 12px;
	}
}

@media (max-width: 525px) {
	.waves, .circles, .stripes, .triangles {
		transform: scale(1.5);
		align-self: center;
	}
}

.expand .nav-buttons-solid-background {
	padding: 15px;
	z-index: 999;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	color: var(--secondary-color);
	background-color: white;
	min-height: 70px;
}

.nav-buttons-solid-background .btn-outline {
	color: var(--accent-color);
	border: 1px solid var(--accent-color) !important;
	margin-right: 10px;
	text-decoration: none;
}

.nav-buttons-solid-background .btn-primary {
	text-decoration: none;
}

.nav-buttons-solid-background .btn {
	margin-top: 0px;
}

/* END */