html,
body {
	margin: 0px;
	padding: 0px;
	background-color: #efefef;
	font-family: Verdana, Arial;
}

img {
	border: 0px;
}

h1,
h2,
h3,
h4,
h5,
h6,
form,
p {
	margin: 0px;
}

a {
	color: #0066CC;
}

a:hover {
	text-decoration: none;
}

.outer-wrapper {
	text-align: center;
	width: 100%;
}

.inner-wrapper {
	margin: auto;
	text-align: left;
	width: 924px;
}

/* Tour listing */
#tour-listing {
	padding: 42px 0px 72px;
}

#tour-listing>h1 {
	margin-bottom: 28px;
	color: #17324d;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 42px;
	font-weight: normal;
	line-height: 1.1;
}

.tour-card {
	overflow: hidden;
	border: 1px solid #d9e1e5;
	border-radius: 12px;
	background-color: #ffffff;
	box-shadow: 0px 10px 28px rgba(23, 50, 77, 0.08);
}

.tour-card-featured {
	display: flex;
	min-height: 310px;
}

.tour-card-image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background-color: #e4f0ec;
	background-image: linear-gradient(135deg, #e4f0ec 0%, #c6dfd8 100%);
	color: #236253;
}

.tour-card-featured>.tour-card-image {
	flex: 0 0 42%;
}

.tour-card-standard>.tour-card-image {
	height: 180px;
}

.tour-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tour-card-image-placeholder {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 32px;
	font-style: italic;
}

.tour-card-content {
	padding: 30px 34px;
}

.tour-card-featured>.tour-card-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
}

.tour-card-label {
	margin-bottom: 12px;
	color: #b35c2b;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.tour-card h2,
.tour-card h3,
.tour-card-list>h2 {
	color: #17324d;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: normal;
}

.tour-card h2 {
	margin-bottom: 16px;
	font-size: 32px;
	line-height: 1.15;
}

.tour-card h3 {
	margin-bottom: 12px;
	font-size: 25px;
	line-height: 1.2;
}

.tour-card-text {
	color: #52626d;
	font-size: 14px;
	line-height: 1.7;
}

.tour-card-text p {
	margin-bottom: 12px;
}

.tour-card-text p:last-child {
	margin-bottom: 0px;
}

.tour-card-list {
	padding-top: 48px;
}

.tour-card-list>h2 {
	margin-bottom: 20px;
	font-size: 30px;
}

.tour-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0px, 1fr));
	gap: 24px;
}

.tour-card-standard .tour-card-content {
	padding: 24px 26px 28px;
}

@media (max-width: 960px) {
	.inner-wrapper {
		width: calc(100% - 40px);
	}

	#tour-listing {
		padding-top: 32px;
	}
}

@media (max-width: 680px) {
	#tour-listing>h1 {
		font-size: 34px;
	}

	.tour-card-featured {
		display: block;
	}

	.tour-card-featured>.tour-card-image {
		height: 220px;
	}

	.tour-card-grid {
		display: block;
	}

	.tour-card-standard {
		margin-bottom: 20px;
	}

	.tour-card-content {
		padding: 24px;
	}

	.tour-card h2 {
		font-size: 28px;
	}
}

/* Tour listing award-style refresh */
html,
body {
	background-color: #f5f1ea;
	color: #172c3c;
	font-family: Arial, Helvetica, sans-serif;
}

#tour-listing {
	position: relative;
	padding: 78px 0px 120px;
}

#tour-listing:before {
	position: absolute;
	top: 24px;
	right: -92px;
	z-index: 0;
	color: rgba(23, 44, 60, 0.045);
	content: "TOURS";
	font-family: Arial, Helvetica, sans-serif;
	font-size: 170px;
	font-weight: bold;
	letter-spacing: -12px;
	line-height: 1;
	pointer-events: none;
}

#tour-listing>* {
	position: relative;
	z-index: 1;
}

.tour-listing-intro {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 46px;
}

.tour-listing-kicker {
	margin-bottom: 16px;
	color: #c6633d;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 1.4;
	text-transform: uppercase;
}

.tour-listing-intro h1 {
	max-width: 700px;
	color: #172c3c;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 70px;
	font-weight: normal;
	letter-spacing: -3px;
	line-height: 0.98;
}

.tour-listing-note {
	padding-bottom: 5px;
	color: #52626d;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 17px;
	font-style: italic;
	line-height: 1.4;
	text-align: right;
}

.tour-card {
	border: 0px;
	border-radius: 0px;
	box-shadow: 0px 24px 50px rgba(23, 44, 60, 0.12);
}

.tour-card-featured {
	display: grid;
	grid-template-columns: minmax(0px, 0.92fr) minmax(0px, 1.08fr);
	min-height: 470px;
	background-color: #172c3c;
}

.tour-card-image {
	background-color: #cce5de;
	background-image: linear-gradient(145deg, #dff1eb 0%, #a7d1c6 100%);
	color: #1d6256;
}

.tour-card-image:before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 280px;
	height: 280px;
	border: 1px solid rgba(29, 98, 86, 0.2);
	border-radius: 50%;
	content: "";
	transform: translate(-50%, -50%);
}

.tour-card-image:after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 390px;
	height: 1px;
	background-color: rgba(29, 98, 86, 0.18);
	content: "";
	transform: translate(-50%, -50%) rotate(-45deg);
}

.tour-card-featured>.tour-card-image {
	flex: none;
}

.tour-card-index {
	position: absolute;
	top: 26px;
	left: 28px;
	z-index: 3;
	color: inherit;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 2px;
}

.tour-card-image img {
	position: relative;
	z-index: 2;
}

.tour-card-image-placeholder {
	position: relative;
	z-index: 2;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 60px;
	font-style: italic;
	letter-spacing: -2px;
}

.tour-card-featured .tour-card-content {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 54px 58px 42px;
	color: #f5f1ea;
}

.tour-card-content-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.tour-card-label {
	margin-bottom: 0px;
	color: #f5a47d;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.tour-card-mark {
	color: rgba(245, 241, 234, 0.6);
	font-size: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.tour-card-featured h2 {
	max-width: 440px;
	margin-top: 76px;
	margin-bottom: 24px;
	color: #f5f1ea;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 51px;
	font-weight: normal;
	letter-spacing: -2px;
	line-height: 0.98;
}

.tour-card-text {
	color: #52626d;
	font-size: 14px;
	line-height: 1.75;
}

.tour-card-featured .tour-card-text {
	max-width: 490px;
	color: rgba(245, 241, 234, 0.76);
}

.tour-card-text p {
	margin-bottom: 13px;
}

.tour-card-text p:last-child {
	margin-bottom: 0px;
}

.tour-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: auto;
	padding-top: 28px;
	border-top: 1px solid rgba(245, 241, 234, 0.2);
	color: rgba(245, 241, 234, 0.64);
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

.tour-card-footer span:last-child {
	color: #f5a47d;
	color: #172c3c;
}

.tour-card-list {
	padding-top: 104px;
}

.tour-card-list-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 32px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(23, 44, 60, 0.22);
}

.tour-card-list-heading .tour-listing-kicker {
	margin-bottom: 0px;
}

.tour-card-list-heading h2 {
	color: #172c3c;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 44px;
	font-weight: normal;
	letter-spacing: -1.5px;
	line-height: 1;
}

.tour-card-list-heading h2 span {
	color: #c6633d;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 30px;
}

.tour-card-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0px, 1fr));
	gap: 24px;
}

.tour-card-standard {
	grid-column: 2 / span 5;
	overflow: hidden;
	background-color: #fffdf9;
	border-left: 4px solid #f5a47d;
	box-shadow: 0px 18px 36px rgba(23, 44, 60, 0.09);
	transition: box-shadow 220ms ease, transform 220ms ease;
}

.tour-card-standard:nth-child(even) {
	grid-column: 7 / span 5;
	margin-top: 74px;
}

.tour-card-standard:hover {
	box-shadow: 0px 28px 50px rgba(23, 44, 60, 0.15);
	transform: translateY(-8px);
}

.tour-card-standard .tour-card-image {
	height: 230px;
}

.tour-card-standard .tour-card-content {
	min-height: 245px;
	padding: 28px 30px 26px;
}

.tour-card-standard .tour-card-content-top {
	margin-bottom: 34px;
}

.tour-card-standard .tour-card-mark {
	color: #c6633d;
	font-size: 10px;
}

.tour-card-standard h3 {
	margin-bottom: 16px;
	color: #172c3c;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 33px;
	font-weight: normal;
	letter-spacing: -1px;
	line-height: 1;
}

.tour-card-standard .tour-card-footer {
	border-top-color: rgba(23, 44, 60, 0.16);
	color: #52626d;
}

@media (max-width: 960px) {
	#tour-listing {
		padding-top: 54px;
	}

	#tour-listing:before {
		right: -35px;
		font-size: 120px;
	}

	.tour-listing-intro h1 {
		font-size: 58px;
	}

	.tour-card-featured .tour-card-content {
		padding: 44px 40px 34px;
	}

	.tour-card-featured h2 {
		margin-top: 54px;
		font-size: 43px;
	}
}

@media (max-width: 680px) {
	#tour-listing {
		padding: 40px 0px 70px;
	}

	#tour-listing:before {
		display: none;
	}

	.tour-listing-intro {
		display: block;
		margin-bottom: 32px;
	}

	.tour-listing-intro h1 {
		font-size: 51px;
		letter-spacing: -2px;
	}

	.tour-listing-note {
		margin-top: 22px;
		padding-bottom: 0px;
		text-align: left;
	}

	.tour-card-featured {
		display: block;
	}

	.tour-card-featured>.tour-card-image {
		height: 290px;
	}

	.tour-card-featured .tour-card-content {
		padding: 34px 26px 28px;
	}

	.tour-card-featured h2 {
		margin-top: 52px;
		font-size: 39px;
	}

	.tour-card-content-top {
		align-items: flex-start;
	}

	.tour-card-mark {
		max-width: 120px;
		text-align: right;
	}

	.tour-card-list {
		padding-top: 66px;
	}

	.tour-card-list-heading {
		display: block;
	}

	.tour-card-list-heading h2 {
		margin-top: 18px;
		font-size: 38px;
	}

	.tour-card-grid {
		display: block;
	}

	.tour-card-standard,
	.tour-card-standard:nth-child(even) {
		margin: 0px 0px 24px;
	}

	.tour-card-standard .tour-card-image {
		height: 210px;
	}

	.tour-card-standard .tour-card-content {
		min-height: 0px;
		padding: 25px 24px 24px;
	}

	.tour-card-standard .tour-card-content-top {
		margin-bottom: 28px;
	}

	.tour-card-standard h3 {
		font-size: 31px;
	}
}

/* Tour listing layout and imagery refresh */
.inner-wrapper {
	width: calc(100% - 64px);
	max-width: 1180px;
}

#tour-listing {
	padding-top: 88px;
}

#tour-listing:before {
	right: -48px;
	font-size: 190px;
}

.tour-listing-intro h1 {
	max-width: 900px;
	font-size: clamp(64px, 7.5vw, 100px);
}

.tour-card-featured {
	grid-template-columns: minmax(0px, 1.06fr) minmax(0px, 0.94fr);
	min-height: 540px;
}

.tour-card-featured .tour-card-content {
	padding: 68px 72px 46px;
}

.tour-card-featured h2 {
	max-width: 560px;
	margin-top: 88px;
	font-size: clamp(52px, 5vw, 76px);
}

.tour-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tour-card-standard {
	grid-column: 1 / span 5;
}

.tour-card-standard:nth-child(even) {
	grid-column: 8 / span 5;
}

@media (max-width: 960px) {
	.inner-wrapper {
		width: calc(100% - 48px);
	}

	#tour-listing {
		padding-top: 64px;
	}

	#tour-listing:before {
		right: -30px;
		font-size: 135px;
	}

	.tour-listing-intro h1 {
		font-size: 64px;
	}

	.tour-card-featured {
		grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr);
		min-height: 480px;
	}

	.tour-card-featured .tour-card-content {
		padding: 48px 42px 36px;
	}

	.tour-card-featured h2 {
		margin-top: 56px;
		font-size: 48px;
	}
}

@media (max-width: 680px) {
	.inner-wrapper {
		width: calc(100% - 32px);
	}

	#tour-listing {
		padding-top: 42px;
	}

	.tour-listing-intro h1 {
		font-size: 52px;
	}

	.tour-card-featured {
		display: block;
	}

	.tour-card-featured>.tour-card-image {
		height: 300px;
	}

	.tour-card-featured .tour-card-content {
		padding: 34px 26px 28px;
	}

	.tour-card-featured h2 {
		margin-top: 54px;
		font-size: 42px;
	}

	.tour-card-standard,
	.tour-card-standard:nth-child(even) {
		grid-column: auto;
	}
}

/* Responsive overflow guard */
html,
body {
	overflow-x: hidden;
}

#tour-listing:before {
	right: 0px;
}

@media (max-width: 960px) {
	#tour-listing:before {
		right: 0px;
	}
}

/* Product-list header and footer treatment */
header {
	position: relative;
	z-index: 5;
	overflow: hidden;
	background-color: #172c3c;
	color: #f5f1ea;
}

/* header:after {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 34%;
	height: 2px;
	background-color: #f5a47d;
	content: "";
} */

header .inner-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 86px;
}

/* header .inner-wrapper:before {
	color: #f5f1ea;
	content: "BOOK DEMO / DISTILLERY";
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 2px;
} */

#nav {
	margin-left: auto;
}

#nav ul {
	display: flex;
	align-items: center;
	margin: 0px;
	padding: 0px;
	list-style: none;
}

#nav li {
	position: relative;
	margin-left: 30px;
}

#nav li:first-child {
	margin-left: 0px;
}

#nav li:not(:last-child):after {
	position: absolute;
	top: 50%;
	right: -18px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #f5a47d;
	content: "";
	transform: translateY(-50%);
}

#nav a {
	color: rgba(245, 241, 234, 0.72);
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 1.4px;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 180ms ease;
}

#nav a:hover,
#nav .current a {
	color: #f5a47d;
}

footer {
	position: relative;
	overflow: hidden;
	margin-top: 86px;
	background-color: #172c3c;
	color: #f5f1ea;
}

/* footer:before {
	position: absolute;
	top: 18px;
	right: -15px;
	color: rgba(245, 241, 234, 0.045);
	content: "TASTE";
	font-size: 150px;
	font-weight: bold;
	letter-spacing: -10px;
	line-height: 1;
	pointer-events: none;
} */

#footer {
	position: relative;
	z-index: 1;
	min-height: 270px;
	padding-top: 54px;
	padding-bottom: 40px;
	box-sizing: border-box;
}

#company {
	display: grid;
	grid-template-columns: minmax(0px, 1fr) minmax(240px, 0.65fr);
	grid-template-rows: auto 1fr;
	column-gap: 80px;
	height: 100%;
}

#contact {
	grid-column: 1;
	grid-row: 1;
}

/* #contact:before {
	display: block;
	margin-bottom: 18px;
	color: #f5a47d;
	content: "Come say hello";
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 2px;
	text-transform: uppercase;
} */

#contact a {
	display: inline-block;
	margin-bottom: 8px;
	color: #f5f1ea;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	text-decoration: none;
}

#contact a:hover {
	color: #f5a47d;
}

#company-info {
	display: flex;
	grid-column: 1 / span 2;
	grid-row: 2;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-top: 50px;
	padding-top: 18px;
	border-top: 1px solid rgba(245, 241, 234, 0.2);
	color: rgba(245, 241, 234, 0.58);
	font-size: 10px;
	letter-spacing: 1px;
	line-height: 1.5;
	text-transform: uppercase;
}

#address {
	max-width: 420px;
}

@media (max-width: 960px) {
	header .inner-wrapper {
		min-height: 76px;
	}

	footer {
		margin-top: 70px;
	}

	#footer {
		min-height: 250px;
	}
}

@media (max-width: 680px) {
	header:after {
		width: 48%;
	}

	header .inner-wrapper {
		display: block;
		padding-top: 25px;
		padding-bottom: 24px;
	}

	header .inner-wrapper:before {
		display: block;
		margin-bottom: 20px;
		font-size: 10px;
	}

	#nav {
		margin-left: 0px;
	}

	#nav ul {
		flex-wrap: wrap;
		gap: 12px 24px;
	}

	#nav li {
		margin-left: 0px;
	}

	#nav li:not(:last-child):after {
		display: none;
	}

	footer {
		margin-top: 56px;
	}

	footer:before {
		top: 32px;
		right: -20px;
		font-size: 100px;
	}

	#footer {
		min-height: 300px;
		padding-top: 42px;
		padding-bottom: 30px;
	}

	#company {
		display: block;
	}

	#company-info {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
		margin-top: 44px;
	}

	#contact a {
		font-size: 18px;
	}
}

/* Booking page layout */
/* html,
body {
	background-color: #f5f1ea;
	color: #172c3c;
	font-family: Arial, Helvetica, sans-serif;
}

html,
body {
	overflow-x: hidden;
}

header {
	position: relative;
	z-index: 5;
	overflow: hidden;
	background-color: #172c3c;
	color: #f5f1ea;
}

header .inner-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 86px;
}

footer {
	position: relative;
	overflow: hidden;
	margin-top: 86px;
	background-color: #172c3c;
	color: #f5f1ea;
} */

#booking-outer {
	padding: 78px 0px 0px;
}

#booking-outer>.inner-wrapper {
	width: 100%;
	max-width: none;
}

#booking_form {
	margin: 0px;
}

#booking-information {
	display: grid;
	gap: 24px;
	margin-bottom: 32px;
}

#booking-information:empty {
	display: none;
	margin: 0px;
}

#booking-information>*,
#booking-information table {
	box-sizing: border-box;
	width: 100%;
	border: 0px;
	border-left: 4px solid #f5a47d;
	background-color: #fffdf9;
	box-shadow: 0px 18px 36px rgba(23, 44, 60, 0.09);
}

#booking-information h1,
#booking-information h2,
#booking-information h3 {
	color: #172c3c;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: normal;
}

#booking-information table {
	border-collapse: collapse;
	border-left-width: 4px;
}

#booking-information th,
#booking-information td {
	padding: 18px 22px;
	border-bottom: 1px solid rgba(23, 44, 60, 0.12);
	text-align: left;
}

#booking-information tr:last-child th,
#booking-information tr:last-child td {
	border-bottom: 0px;
}

#booking-details-inner {
	display: grid;
	grid-template-areas:
		"status status"
		"main review";
	grid-template-columns: minmax(0px, 1fr) minmax(300px, 360px);
	align-items: start;
	gap: 32px;
}

#booking-details-inner>.error-container {
	grid-area: status;
	box-sizing: border-box;
	padding: 14px 18px;
	border-left: 4px solid #c6633d;
	background-color: rgba(198, 99, 61, 0.1);
	color: #7a3523;
	font-size: 13px;
	line-height: 1.5;
}

.error-container .error-heading {
	display: block;
	margin-bottom: 4px;
	font-weight: bold;
}

#main-inner-wrapper {
	grid-area: main;
	min-width: 0px;
}

#main-inner-container {
	min-width: 0px;
	background-color: #fffdf9;
	box-shadow: 0px 18px 36px rgba(23, 44, 60, 0.09);
}

.booking_help {
	margin-bottom: 18px;
	color: #52626d;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 17px;
	font-style: italic;
	line-height: 1.5;
}

#main-inner-container fieldset {
	box-sizing: border-box;
	margin: 0px;
	padding: 0px;
	border: 0px;
	background-color: #fffdf9 !important;
}

.booking-section-heading {
	box-sizing: border-box;
	margin: 0px;
	padding: 22px 26px;
	background-color: #172c3c;
	color: #f5f1ea;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 29px;
	font-weight: normal;
	line-height: 1.1;
}

.asterisk_help {
	margin-top: 8px;
	color: rgba(245, 241, 234, 0.62);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: normal;
	letter-spacing: 1px;
	line-height: 1.3;
	text-transform: uppercase;
}

#customer-fields {
	padding: 26px;
}

#customer-fields .field-row {
	margin-bottom: 14px;
}

#customer-fields .field-row:last-child {
	margin-bottom: 0px;
}

#customer-fields .field-row>br {
	display: none;
}

#customer-fields .input_holder {
	display: grid;
	grid-template-columns: minmax(112px, 0.32fr) minmax(0px, 0.68fr);
	align-items: center;
	column-gap: 16px;
}

#customer-fields .input_holder label {
	float: none !important;
	width: auto !important;
	color: #172c3c;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.5px;
}

#customer-fields .input_holder input,
#customer-fields .input_holder select {
	float: none !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0px;
	height: 48px;
	padding: 0px 13px;
	border: 1px solid #cbd8d5;
	border-radius: 0px;
	background-color: #f5f1ea;
	color: #172c3c;
	font: inherit;
	font-size: 14px;
	outline: none;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

#customer-fields .input_holder select {
	padding-right: 10px;
}

#customer-fields .input_holder input:focus,
#customer-fields .input_holder select:focus {
	border-color: #1d6256;
	box-shadow: 0px 0px 0px 3px rgba(29, 98, 86, 0.14);
}

#customer-fields .input_error {
	grid-column: 2;
	font-size: 11px;
}

#payment-review {
	grid-area: review;
	min-width: 0px;
}

#payment-review-inner {
	position: sticky;
	top: 24px;
	background-color: #172c3c;
	color: #f5f1ea;
	box-shadow: 0px 18px 36px rgba(23, 44, 60, 0.14);
	width: 360px;
	
	position: static!important;
	inset: 0!important;
}

.temp_holder.contained_sticky_box {
	display: none!important;
}

#payment-review-inner .booking-section-heading {
	padding: 28px 26px 20px;
	border-bottom: 1px solid rgba(245, 241, 234, 0.2);
}

#payment-review-inner .booking-section-inner {
	padding: 22px 26px;
}

#booking-items-review:empty {
	display: none;
}

#payment-review .sub-total,
#payment-review #total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	color: rgba(245, 241, 234, 0.66);
	font-size: 11px;
	letter-spacing: 1px;
	line-height: 1.5;
	text-transform: uppercase;
}

#payment-review #total {
	margin: 0px 0px 22px;
	padding-top: 18px;
	border-top: 1px solid rgba(245, 241, 234, 0.2);
	color: #f5a47d;
	font-size: 13px;
	font-weight: bold;
}

#payment-review #booking-sub-total,
#payment-review #total-price {
	color: #f5f1ea;
	font-size: 18px;
	letter-spacing: 0px;
}

#payment-review .promo_code_holder {
	margin: 20px 0px 18px;
	padding: 0px;
	border: 0px;
}

#payment-review #promo_code_inner {
	display: grid;
	grid-template-columns: minmax(0px, 1fr) auto;
	gap: 8px;
}

#payment-review #promotion {
	box-sizing: border-box;
	width: 100% !important;
	height: 44px;
	padding: 0px 12px;
	border: 1px solid rgba(245, 241, 234, 0.32);
	border-radius: 0px;
	background-color: transparent;
	color: #f5f1ea;
	font: inherit;
	font-size: 12px;
}

#payment-review #promotion::placeholder {
	color: rgba(245, 241, 234, 0.58);
}

#payment-review #promo_code_button input,
#payment-review .pay_online,
#payment-review .booking_continue button {
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid #f5a47d;
	border-radius: 0px;
	font: inherit;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

#payment-review #promo_code_button input,
#payment-review .pay_online {
	background-color: #f5a47d;
	color: #172c3c;
}

#payment-review #promo_code_button input:hover,
#payment-review .pay_online:hover {
	border-color: #f5f1ea;
	background-color: #f5f1ea;
}

#payment-review .booking_data_newsletter_signup_holder,
#payment-review .booking_data_terms_and_conditions_holder {
	float: none !important;
	margin: 0px;
	padding: 0px !important;
	color: rgba(245, 241, 234, 0.7);
	font-size: 11px;
	line-height: 1.5;
}

#payment-review .booking_data_newsletter_signup_holder {
	margin-bottom: 8px;
}

#payment-review .ap_checkbox_label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	width: auto !important;
}

#payment-review .checkbox_input {
	flex: 0 0 auto;
	margin: 2px 0px 0px !important;
	accent-color: #f5a47d;
}

#payment-review a {
	color: #f5a47d;
}

#payment-review .pay_online {
	display: block;
	width: 100%;
	margin-top: 24px;
}

#payment-review .booking_continue {
	margin-top: 14px;
	color: rgba(245, 241, 234, 0.58);
	font-size: 12px;
	text-align: center;
}

#payment-review .booking_continue button {
	min-height: auto;
	padding: 0px;
	border: 0px;
	background: transparent;
	color: #f5a47d;
	font-size: 11px;
}

#payment-review .booking_continue button:hover {
	color: #f5f1ea;
}

@media (max-width: 960px) {
	.inner-wrapper {
		width: calc(100% - 48px);
	}

	#booking-outer {
		padding-top: 64px;
	}

	#booking-details-inner {
		grid-template-columns: minmax(0px, 1fr) minmax(270px, 320px);
		gap: 24px;
	}

	#payment-review-inner .booking-section-heading,
	#payment-review-inner .booking-section-inner {
		padding-left: 22px;
		padding-right: 22px;
	}
}

@media (max-width: 760px) {
	#booking-details-inner {
		grid-template-areas:
			"status"
			"main"
			"review";
		grid-template-columns: minmax(0px, 1fr);
	}

	#payment-review-inner {
		position: static;
	}
}

@media (max-width: 680px) {
	.inner-wrapper {
		width: calc(100% - 32px);
	}

	header .inner-wrapper {
		display: block;
		padding-top: 25px;
		padding-bottom: 24px;
	}

	#booking-outer {
		padding-top: 42px;
	}

	#booking-information {
		gap: 16px;
		margin-bottom: 24px;
	}

	#booking-details-inner {
		gap: 22px;
	}

	.booking_help {
		font-size: 16px;
	}

	.booking-section-heading {
		padding: 20px 20px;
		font-size: 25px;
	}

	#customer-fields {
		padding: 20px;
	}

	#customer-fields .input_holder {
		display: block;
	}

	#customer-fields .input_holder label {
		display: block;
		margin-bottom: 7px;
	}

	#customer-fields .input_error {
		display: block;
	}

	#payment-review-inner .booking-section-heading,
	#payment-review-inner .booking-section-inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	#payment-review #promo_code_inner {
		grid-template-columns: 1fr;
	}

	#payment-review #promo_code_button input {
		width: 100%;
	}

	footer {
		margin-top: 56px;
	}
}

/* Populated booking review and promotion treatment */
#booking-items-review {
	display: grid;
	gap: 12px;
	margin-bottom: 20px;
}

#booking-items-review .booking-item {
	box-sizing: border-box;
	padding: 17px 16px 16px;
	border: 1px solid rgba(245, 241, 234, 0.2);
	border-left: 3px solid #cce5de;
	background-color: rgba(245, 241, 234, 0.07);
}

#booking-items-review .line-name {
	display: block;
	margin-bottom: 7px;
	color: #f5f1ea;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 21px;
	line-height: 1.15;
}

#booking-items-review .booking-item>div:first-child>div {
	color: rgba(245, 241, 234, 0.62);
	font-size: 10px;
	letter-spacing: 1px;
	line-height: 1.5;
	text-transform: uppercase;
}

#booking-items-review .booking-item strong {
	color: #f5f1ea;
	font-weight: normal !important;
}

#booking-items-review [data-type="tickets"] {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid rgba(245, 241, 234, 0.16);
}

#booking-items-review .ticket-row {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 6px;
	color: rgba(245, 241, 234, 0.72);
	font-size: 12px;
}

#booking-items-review [data-type="ticket-quantity"],
#booking-items-review [data-type="ticket-st"],
#booking-items-review [data-type="ticket-up"] {
	color: #f5a47d;
	font-weight: bold;
}

#booking-promotions {
	display: block !important;
	margin: 0px 0px 20px;
}

#booking-promotions .promotions-inner {
	box-sizing: border-box;
	padding: 15px 16px 14px;
	border: 1px solid rgba(245, 164, 125, 0.72);
	border-left: 3px solid #f5a47d;
	background-color: rgba(245, 164, 125, 0.13);
}

#booking-promotions #promotions-list {
	display: grid;
	gap: 10px;
}

#booking-promotions #promotions-list .booking-item {
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(245, 164, 125, 0.28);
}

#booking-promotions #promotions-list .booking-item:last-child {
	padding-bottom: 0px;
	border-bottom: 0px;
}

#booking-promotions .promotion-name {
	margin-bottom: 7px;
	color: #f5f1ea;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
}

#booking-promotions .promotion-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

#booking-promotions .promotion-saving {
	color: #f5a47d;
	font-size: 15px;
	font-weight: bold;
	white-space: nowrap;
}

#booking-promotions .promotion-tag {
	color: rgba(245, 241, 234, 0.7);
	font-size: 10px;
	letter-spacing: 0.5px;
	line-height: 1.4;
	text-align: right;
}

#booking-promotions .sub-total {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid rgba(245, 164, 125, 0.28);
}

#booking-promotions #promotion-total {
	color: #f5a47d !important;
	font-size: 16px;
	font-weight: bold;
}

#booking-promotions .border-bottom {
	display: none;
}

@media (max-width: 680px) {
	#booking-items-review .booking-item {
		padding: 15px 14px 14px;
	}

	#booking-items-review .ticket-row {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	#booking-promotions .promotions-inner {
		padding: 14px;
	}

	#booking-promotions .promotion-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	#booking-promotions .promotion-tag {
		text-align: left;
	}
}

/* Booking item selector */
#booking-items {
	margin-bottom: 32px;
}

#booking-items .booking-item {
	box-sizing: border-box;
	border-left: 4px solid #f5a47d;
	background-color: #fffdf9;
	box-shadow: 0px 18px 36px rgba(23, 44, 60, 0.09);
}

#booking-items .booking_item_inner {
	padding: 24px 28px;
	background-color: #172c3c;
	color: #f5f1ea;
}

#booking-items .booking_item_inner .name {
	display: inline-block;
	margin: 0px;
	color: #f5f1ea;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 32px;
	font-weight: normal;
	letter-spacing: -0.5px;
	line-height: 1.05;
}

#booking-items .tour-icon {
	display: inline-block;
	width: 9px;
	height: 9px;
	margin: 0px 10px 4px 0px;
	border-radius: 50%;
	background-color: #f5a47d;
}

#booking-items .modify-details-wrapper {
	background-color: #fffdf9;
}

#booking-items .modify_details_inner{
	padding: 26px 28px 28px;
}

#booking-items .remove_tour_bg {
	padding: 0px 28px 28px;
}

#booking-items .remove_tour_bg .remove_tour {
	color: #c6633d;
	font-size: 11px;
    font-weight: bold;
    letter-spacing: 1.8px;
    line-height: 1.4;
    text-transform: uppercase;
	text-decoration: underline;
  	text-underline-offset: 3px;
}

#booking-items .remove_tour_bg .remove_tour:hover {
	text-decoration: none;
}

#booking-items .subheading {
	margin-bottom: 14px;
	color: #c6633d;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 1.8px;
	line-height: 1.4;
	text-transform: uppercase;
}

#booking-items .travellers-container {
	display: grid;
	grid-template-columns: repeat(4, minmax(0px, 1fr)) !important;
	gap: 16px;
}

#booking-items .travellers {
	min-width: 0px;
	padding: 16px;
	border: 1px solid #d9e5e1;
	background-color: #f5f1ea;
}

#booking-items .traveller-type {
	margin-bottom: 10px;
	color: #172c3c;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.5px;
}

#booking-items .traveller-type label {
	color: #172c3c;
}

#booking-items .quantity-select {
	display: flex;
	align-items: center;
	gap: 6px;
}

#booking-items .input-changer {
	position: static !important;
	flex: 0 0 34px;
	width: 34px;
	height: 38px;
	padding: 0px;
	border: 1px solid #1d6256;
	border-radius: 0px;
	background-color: #cce5de;
	color: #172c3c;
	font: inherit;
	cursor: pointer;
}

#booking-items .input-changer:before {
	font-size: 20px;
	line-height: 1;
}

#booking-items .input-changer[data-control-type="decrease"]:before {
	content: "−";
}

#booking-items .input-changer[data-control-type="increase"]:before {
	content: "+";
}

#booking-items .input-changer:hover {
	background-color: #f5a47d;
}

#booking-items .tour-select {
	flex: 1;
	min-width: 0px;
}

#booking-items .ticket_qty {
	box-sizing: border-box;
	width: 100% !important;
	height: 38px;
	padding: 0px 10px;
	border: 1px solid #cbd8d5;
	border-radius: 0px;
	background-color: #fffdf9;
	color: #172c3c;
	font: inherit;
	font-size: 14px;
	text-align: center;
}

#booking-items .ticket_qty::-webkit-outer-spin-button,
#booking-items .ticket_qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
	/* <-- Apparently some margin are still there even though it's hidden */
}

#booking-items .date-time-outer {
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid rgba(23, 44, 60, 0.16);
}

#booking-items .date-time-outer .subheading {
	margin-bottom: 8px;
}

#booking-items .calendar_input_holder {
	position: relative;
	display: block;
}

#booking-items .calendar_input {
	box-sizing: border-box;
	width: 100% !important;
	height: 48px;
	padding: 0px 44px 0px 13px;
	border: 1px solid #cbd8d5;
	border-radius: 0px;
	background-color: #f5f1ea;
	color: #172c3c;
	font: inherit;
	font-size: 14px;
}

#booking-items .cds {
	position: absolute;
	top: 50%;
	right: 13px;
	width: 18px;
	height: 18px;
	border: 1px solid #1d6256;
	border-radius: 50%;
	transform: translateY(-50%);
	cursor: pointer;
}

#booking-items .cds:before,
#booking-items .cds:after {
	position: absolute;
	background-color: #1d6256;
	content: "";
}

#booking-items .cds:before {
	top: 8px;
	left: 4px;
	width: 8px;
	height: 1px;
}

#booking-items .cds:after {
	top: 4px;
	left: 8px;
	width: 1px;
	height: 8px;
}

#booking-items .calendar_input:focus,
#booking-items .ticket_qty:focus {
	border-color: #1d6256;
	box-shadow: 0px 0px 0px 3px rgba(29, 98, 86, 0.14);
	outline: none;
}

@media (max-width: 680px) {
	#booking-items {
		margin-bottom: 24px;
	}

	#booking-items .booking_item_inner {
		padding: 20px;
	}

	#booking-items .booking_item_inner .name {
		font-size: 28px;
	}

	#booking-items .modify_details_inner {
		padding: 22px 20px 20px;
	}

	/* #booking-items .travellers-container {
		grid-template-columns: minmax(0px, 1fr) !important;
		gap: 12px;
	} */

	#booking-items .travellers {
		padding: 14px;
	}

	#booking-items .date-time-outer {
		margin-top: 20px;
		padding-top: 18px;
	}
}

/* Booking item layout refinements */
/* #booking-items .travellers-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
	gap: 16px;
} */

#booking-items .calendar_input_holder {
	width: 200px;
	max-width: 100%;
}

#booking-items .calendar_input {
	width: 200px !important;
	max-width: 100%;
}

.booking_help {
	margin: 0px;
	padding: 22px 26px;
}

@media (max-width: 960px) {
	/* #booking-items .travellers-container {
		grid-template-columns: repeat(2, minmax(0px, 1fr)) !important;
	} */
}

@media (max-width: 680px) {
	/* #booking-items .travellers-container {
		grid-template-columns: minmax(0px, 1fr) !important;
		gap: 12px;
	} */

	#booking-items .calendar_input_holder,
	#booking-items .calendar_input {
		width: 100% !important;
		max-width: 200px;
	}

	.booking_help {
		padding: 20px;
	}
}

/* Booking traveller row sizing */
/* #booking-items .travellers-container {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

#booking-items .travellers-container > .travellers {
	flex: 1 1 calc(25% - 12px);
	min-width: 200px;
}

@media (max-width: 960px) {
	#booking-items .travellers-container > .travellers {
		flex-basis: calc(50% - 8px);
		min-width: 0;
	}
}

@media (max-width: 680px) {
	#booking-items .travellers-container > .travellers {
		flex-basis: 100%;
	}
} */

/* Booking traveller grid responsiveness */
#booking-items .travellers-container {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0px, 1fr)) !important;
	gap: 16px;
}

#booking-items .travellers,
#booking-items .quantity-select,
#booking-items .tour-select.passenger-select {
	min-width: 0px;
}

#booking-items .tour-select.passenger-select {
	flex: 1 1 68px;
}

#booking-items .ticket_qty {
	min-width: 56px;
}

@media (max-width: 1199px) {
	#booking-items .travellers-container {
		grid-template-columns: repeat(3, minmax(0px, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	#booking-items .travellers-container {
		grid-template-columns: repeat(2, minmax(0px, 1fr)) !important;
		gap: 12px;
	}

	#booking-items .travellers {
		padding: 12px;
	}

	#booking-items .quantity-select {
		flex-wrap: wrap;
	}

	#booking-items .tour-select.passenger-select {
		flex: 1 1 56px;
	}

	#booking-items .ticket_qty {
		min-width: 56px;
	}
}

/* Booking traveller controls responsive layout */
#booking-items .travellers-container {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(156px, 1fr)) !important;
	gap: 16px;
}

#booking-items .travellers {
	min-width: 0px;
}

#booking-items .quantity-select {
	display: grid;
	grid-template-columns: 30px minmax(56px, 1fr) 30px;
	grid-template-columns: 30px 45px 30px;
	align-items: center;
	gap: 6px;
	min-width: 0px;
}

#booking-items .input-changer {
	flex: none;
	width: 30px;
	min-width: 30px;
}

#booking-items .tour-select.passenger-select {
	width: auto;
	min-width: 0px;
}

#booking-items .ticket_qty {
	width: 100% !important;
	min-width: 0px !important;
}

@media (max-width: 1199px) {
	#booking-items .travellers-container {
		/* grid-template-columns: repeat(3, minmax(156px, 1fr)) !important; */
	}
}

@media (max-width: 767px) {
	#booking-items .travellers-container {
		grid-template-columns: repeat(2, minmax(156px, 1fr)) !important;
		gap: 12px;
	}

	#booking-items .travellers {
		padding: 12px;
	}
}

@media (max-width: 420px) {
	#booking-items .travellers-container {
		/* grid-template-columns: minmax(0px, 1fr) !important; */
	}
}

/* Booking layout overlap containment */
#booking-details-inner,
#main-inner-wrapper,
#main-inner-container,
#booking-items,
#booking-items .booking-item,
#booking-items .booking_item_inner,
#booking-items .modify-details-wrapper,
#booking-items .modify_details_inner {
	box-sizing: border-box;
	min-width: 0px;
	max-width: 100%;
}

#booking-items,
#booking-items .booking-item,
#booking-items .booking_item_inner,
#booking-items .modify-details-wrapper {
	position: relative;
}

#booking-items .booking_item_inner {
	display: flow-root;
	height: auto;
	overflow-wrap: anywhere;
}

@media (max-width: 900px) {
	#booking-details-inner {
		grid-template-areas:
			"status"
			"main"
			"review";
		grid-template-columns: minmax(0px, 1fr);
	}

	#payment-review-inner {
		position: static;
	}
}

/* Booking page responsive final layout */
html,
body {
	overflow-x: hidden;
}

#booking-outer,
#booking-outer>.inner-wrapper,
#booking-details-inner,
#main-inner-wrapper,
#main-inner-container,
#booking-items,
#booking-items .booking-item/* ,
#payment-review,
#payment-review-inner  */{
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0px;
}

#booking-details-inner {
	align-items: start;
}

#booking-items .booking_item_inner {
	display: flow-root;
	height: auto;
	max-width: 100%;
	overflow-wrap: anywhere;
}

/* #payment-review-inner {
	width: 100%;
} */

@media (min-width: 1200px) {
	#booking-details-inner {
		grid-template-columns: minmax(0px, 1fr) minmax(320px, 360px);
		gap: 32px;
	}
}

@media (min-width: 901px) and (max-width: 1199px) {
	#booking-details-inner {
		grid-template-columns: minmax(0px, 1fr) minmax(280px, 320px);
		gap: 24px;
	}
}

@media (max-width: 920px) {
	#booking-details-inner {
		grid-template-areas:
			"status"
			"main"
			"review";
		grid-template-columns: minmax(0px, 1fr);
		gap: 24px;
	}

	#payment-review-inner {
		position: static;
	}
}

@media (max-width: 767px) {
	#booking-outer {
		padding-top: 36px;
	}

	#booking-details-inner {
		gap: 20px;
	}

	#booking-items .booking_item_inner,
	#booking-items .modify_details_inner,
	#payment-review-inner .booking-section-inner,
	#booking-items .remove_tour_bg {
		padding-left: 20px;
		padding-right: 20px;
	}

	#booking-items .travellers-container {
		grid-template-columns: repeat(2, minmax(156px, 1fr)) !important;
		gap: 12px;
	}
}

@media (max-width: 420px) {
	#booking-items .travellers-container {
		/* grid-template-columns: minmax(0px, 1fr) !important; */
	}

	#booking-items .booking_item_inner,
	#booking-items .modify_details_inner,
	#payment-review-inner .booking-section-inner,
	#booking-items .remove_tour_bg {
		padding-left: 16px;
		padding-right: 16px;
	}

	#payment-review-inner .booking-section-heading,
	.booking-section-heading {
		padding-left: 16px;
		padding-right: 16px;
	}
}

#booking-items .travellers-container {
	display: grid !important;
	grid-template-columns: repeat(4, 150px) !important;
	gap: 16px;
}

@media (max-width: 1120px) {
	#booking-items .travellers-container {
		grid-template-columns: repeat(3, 150px) !important;
	}
}

@media (max-width: 900px) {
	#booking-items .travellers-container {
		grid-template-columns: repeat(4, 150px) !important;
	}
}

@media (max-width: 730px) {
	#booking-items .travellers-container {
		grid-template-columns: repeat(3, 150px) !important;
	}
}

@media (max-width: 767px) {
	#booking-items .quantity-select {
		grid-template-columns: 30px 1fr 30px;
	}
}

@media (max-width: 560px) {
	#booking-items .travellers-container {
		grid-template-columns: repeat(2, 150px) !important;
	}
}

@media (max-width: 420px) {
	#booking-items .travellers-container {
		grid-template-columns: repeat(2, 150px) !important;
		grid-template-columns: repeat(2, 125px) !important;
		gap: 6px;
	}

	#booking-items .quantity-select {
		grid-template-columns: 30px 36px 30px;
		gap: 4px;
	}

	#booking-items .travellers {
		padding: 9px;
	}

	#booking-items .ticket_qty {
		padding: 0px 5px;
	}
}

/* Responsive generic image logo */
#logo {
	display: block;
	flex: 0 0 76px;
	width: 76px;
	max-width: 100%;
	line-height: 0;
}

#logo img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}

@media (max-width: 960px) {
	#logo {
		flex-basis: 68px;
		width: 68px;
	}
}

@media (max-width: 680px) {
	#logo {
		flex-basis: 60px;
		width: 60px;
	}
}

@media (max-width: 420px) {
	#logo {
		flex-basis: 52px;
		width: 52px;
	}
}


/* Tour card booking CTA */
.tour-card-book {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-width: 142px;
	padding: 13px 16px 12px;
	border: 1px solid #f5a47d;
	background-color: #f5a47d;
	box-sizing: border-box;
	color: #172c3c !important;
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 1.5px;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.tour-card-book span {
	color: inherit;
	font-size: 16px;
	font-weight: normal;
	line-height: 0.65;
	transition: transform 180ms ease;
}

.tour-card-book:hover,
.tour-card-book:focus-visible {
	border-color: #c6633d;
	background-color: #c6633d;
	color: #fffdf9 !important;
	transform: translateY(-2px);
}

.tour-card-book:hover span,
.tour-card-book:focus-visible span {
	transform: translate(2px, -2px);
}

.tour-card-book:focus-visible {
	outline: 2px solid #f5a47d;
	outline-offset: 4px;
}

.tour-card-featured .tour-card-book {
	border-color: #f5f1ea;
	background-color: #f5f1ea;
}

.tour-card-featured .tour-card-book:hover,
.tour-card-featured .tour-card-book:focus-visible,
.tour-card-featured .tour-card-book:hover span {
	border-color: #f5a47d;
	background-color: transparent;
	color: #f5a47d !important;
}

.tour-card-standard .tour-card-book {
	min-width: 134px;
	padding: 11px 14px 10px;
}

.tour-card-footer .tour-card-book {
	margin-left: auto;
}

.tour-card-list .tour-card .tour-card-book:hover span {
	color: #fff;
}

@media (max-width: 680px) {
	.tour-card-footer .tour-card-book {
		margin-left: 0px;
	}
}

/* Payment page layout and Worldpay form */
#booking-information,
#booking-details,
#booking-details-inner,
/* #payment-review, */
#worldpay-form-holder,
.worldpay-form-holder {
	box-sizing: border-box;
	min-width: 0px;
	max-width: 100%;
}

#booking-information {
	width: 100%;
	margin-bottom: 32px;
}

#booking-details {
	width: 100%;
}

#booking-details-inner {
	grid-template-areas:
		"status status"
		"main review"
		"worldpay review";
	grid-template-columns: minmax(0px, 1fr) minmax(300px, 360px);
	grid-template-columns: minmax(0px, 1fr) 360px;
	grid-auto-rows: max-content;
	align-items: start;
	column-gap: 32px;
	row-gap: 24px;
	row-gap: 0px;
}

#booking-details-inner>#main-inner-wrapper {
	grid-area: main;
	min-width: 0px;
}

#booking-details-inner>#payment-review {
	grid-area: review;
	min-width: 0px;
}

#booking-details-inner>#worldpay-form-holder,
#booking-details-inner>.worldpay-form-holder {
	grid-area: worldpay;
	grid-area: main;
}

#worldpay-form-holder,
.worldpay-form-holder {
	width: 100%;
	margin: 0px;
	padding: 26px;
	border-top: 4px solid #f5a47d;
	background-color: #fffdf9;
	background-color: #fff;
	box-shadow: 0px 18px 36px rgba(23, 44, 60, 0.09);
	overflow: visible;
	overflow-wrap: anywhere;
}

/* #worldpay-form-holder > *,
.worldpay-form-holder > *,
#worldpay-form-holder form,
.worldpay-form-holder form {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0px;
}

#worldpay-form-holder h1,
#worldpay-form-holder h2,
#worldpay-form-holder h3,
.worldpay-form-holder h1,
.worldpay-form-holder h2,
.worldpay-form-holder h3 {
        margin-top: 0px;
        color: #172c3c;
        font-family: Georgia, "Times New Roman", serif;
        font-weight: normal;
}

#worldpay-form-holder .field-row,
.worldpay-form-holder .field-row,
#worldpay-form-holder .input_holder,
.worldpay-form-holder .input_holder {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0px;
        margin-bottom: 14px;
}

#worldpay-form-holder label,
.worldpay-form-holder label {
        display: block;
        margin-bottom: 7px;
        color: #172c3c;
        font-size: 12px;
        font-weight: bold;
        letter-spacing: 0.5px;
}

#worldpay-form-holder input:not([type="submit"]):not([type="button"]):not([type="checkbox"]),
#worldpay-form-holder select,
#worldpay-form-holder textarea,
.worldpay-form-holder input:not([type="submit"]):not([type="button"]):not([type="checkbox"]),
.worldpay-form-holder select,
.worldpay-form-holder textarea {
        box-sizing: border-box;
        display: block;
        width: 100% !important;
        max-width: 100%;
        min-width: 0px;
        min-height: 46px;
        padding: 10px 13px;
        border: 1px solid #cbd8d5;
        border-radius: 0px;
        background-color: #f5f1ea;
        color: #172c3c;
        font: inherit;
        font-size: 14px;
}

#worldpay-form-holder textarea,
.worldpay-form-holder textarea {
        min-height: 96px;
        resize: vertical;
}

#worldpay-form-holder table,
.worldpay-form-holder table {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
}

#worldpay-form-holder th,
#worldpay-form-holder td,
.worldpay-form-holder th,
.worldpay-form-holder td {
        box-sizing: border-box;
        max-width: 100%;
        padding: 10px 0px;
        border-bottom: 1px solid rgba(23, 44, 60, 0.12);
        text-align: left;
        overflow-wrap: anywhere;
}

#worldpay-form-holder iframe,
.worldpay-form-holder iframe {
        display: block;
        width: 100%;
        max-width: 100%;
        border: 0px;
}

#worldpay-form-holder input[type="submit"],
#worldpay-form-holder button,
.worldpay-form-holder input[type="submit"],
.worldpay-form-holder button {
        box-sizing: border-box;
        max-width: 100%;
        min-height: 46px;
        padding: 11px 18px;
        border: 1px solid #f5a47d;
        border-radius: 0px;
        background-color: #f5a47d;
        color: #172c3c;
        font: inherit;
        font-size: 11px;
        font-weight: bold;
        letter-spacing: 1px;
        text-transform: uppercase;
        cursor: pointer;
        transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

#worldpay-form-holder input[type="submit"]:hover,
#worldpay-form-holder button:hover,
.worldpay-form-holder input[type="submit"]:hover,
.worldpay-form-holder button:hover {
        border-color: #172c3c;
        background-color: #172c3c;
        color: #f5f1ea;
} */

@media (max-width: 1199px) {
	#booking-details-inner {
		grid-template-columns: minmax(0px, 1fr) minmax(280px, 320px);
		grid-template-columns: minmax(0px, 1fr) 300px;
		column-gap: 24px;
	}

	#payment-review-inner {
		width: 300px;
	}

	#worldpay-form-holder,
	.worldpay-form-holder {
		padding: 22px;
	}
}

@media (max-width: 900px) {

	#booking-details-inner>#worldpay-form-holder,
	#booking-details-inner>.worldpay-form-holder {
		grid-area: worldpay;
	}

	#booking-details-inner {
		grid-template-areas:
			"status"
			"main"
			"review"
			"worldpay";
		grid-template-columns: minmax(0px, 1fr);
		row-gap: 20px;
	}

	#payment-review-inner {
		position: static;
        position: unset !important;
		width: 100%;
	}
}

@media (max-width: 680px) {
	#booking-information {
		margin-bottom: 24px;
	}

	#worldpay-form-holder,
	.worldpay-form-holder {
		padding: 20px;
	}

	/* #worldpay-form-holder table,
        .worldpay-form-holder table {
                table-layout: auto;
        }

        #worldpay-form-holder th,
        #worldpay-form-holder td,
        .worldpay-form-holder th,
        .worldpay-form-holder td {
                display: block;
                width: 100%;
                padding: 8px 0px;
        } */
}

@media (max-width: 420px) {

	#worldpay-form-holder,
	.worldpay-form-holder {
		padding: 16px;
	}

	/*  #worldpay-form-holder input[type="submit"],
        #worldpay-form-holder button,
        .worldpay-form-holder input[type="submit"],
        .worldpay-form-holder button {
                width: 100%;
        } */
}

/* Payment layout refinement: keep the review sidebar beside Worldpay */
/* #booking-details-inner {
        display: grid;
        grid-template-areas:
                "status status"
                "main review"
                "worldpay review";
        grid-template-columns: minmax(0px, 1fr) minmax(300px, 360px);
        grid-auto-rows: max-content;
        align-items: start;
        column-gap: 32px;
        row-gap: 24px;
}

#booking-details-inner > #main-inner-wrapper {
        grid-area: main;
        min-width: 0px;
}

#booking-details-inner > #payment-review {
        grid-area: review;
        align-self: start;
        min-width: 0px;
        max-width: 100%;
}

#booking-details-inner > #worldpay-form-holder {
        grid-area: worldpay;
        align-self: start;
        min-width: 0px;
        max-width: 100%;
}

#payment-review-inner,
#worldpay-form-holder {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0px;
}

#payment-review-inner {
        position: sticky;
        top: 24px;
}

#worldpay-form-holder {
        overflow: visible;
        overflow-wrap: anywhere;
}

@media (min-width: 901px) and (max-width: 1199px) {
        #booking-details-inner {
                grid-template-columns: minmax(0px, 1fr) minmax(280px, 320px);
                column-gap: 24px;
        }
}

@media (max-width: 900px) {
        #booking-details-inner {
                grid-template-areas:
                        "status"
                        "main"
                        "review"
                        "worldpay";
                grid-template-columns: minmax(0px, 1fr);
                row-gap: 20px;
        }

        #payment-review-inner {
                position: static;
        }

        #payment-review,
        #worldpay-form-holder {
                width: 100%;
        }
}

@media (max-width: 680px) {
        #worldpay-form-holder {
                padding: 20px;
        }
}

@media (max-width: 420px) {
        #worldpay-form-holder {
                padding: 16px;
        }
} */
/* Booking information structure and responsive treatment */
#booking-information {
	display: grid;
	grid-template-columns: minmax(0px, 1fr);
	gap: 20px;
	width: 100%;
	max-width: 100%;
	margin: 0px 0px 32px;
	min-width: 0px;
}

#booking-information:empty {
	display: none;
	margin: 0px;
}

#booking-information>*,
#booking-information table {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0px;
	border: 0px;
	border-left: 4px solid #f5a47d;
	background-color: #fffdf9;
	box-shadow: 0px 18px 36px rgba(23, 44, 60, 0.09);
	overflow-wrap: anywhere;
}

#booking-information>* {
	padding: 22px 26px;
}

#booking-information table {
	border-collapse: collapse;
	table-layout: fixed;
}

#booking-information h1,
#booking-information h2,
#booking-information h3 {
	margin-top: 0px;
	color: #172c3c;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: normal;
	line-height: 1.2;
}

#booking-information p:last-child,
#booking-information ul:last-child,
#booking-information ol:last-child,
#booking-information table:last-child {
	margin-bottom: 0px;
}

#booking-information th,
#booking-information td {
	box-sizing: border-box;
	width: auto;
	max-width: 100%;
	padding: 15px 18px;
	border-bottom: 1px solid rgba(23, 44, 60, 0.12);
	color: #172c3c;
	text-align: left;
	vertical-align: top;
	overflow-wrap: anywhere;
	word-break: break-word;
}

#booking-information th {
	width: 34%;
	color: #52626d;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 0.6px;
	text-transform: uppercase;
}

#booking-information td {
	font-size: 14px;
	line-height: 1.5;
}

#booking-information tr:last-child th,
#booking-information tr:last-child td {
	border-bottom: 0px;
}

#booking-information a {
	color: #1d6256;
	color: #263a49;
	overflow-wrap: anywhere;
}

#booking-information img,
#booking-information iframe {
	display: block;
	max-width: 100%;
	height: auto;
}

@media (max-width: 960px) {
	#booking-information {
		gap: 16px;
		margin-bottom: 28px;
	}

	#booking-information>* {
		padding: 20px 22px;
	}

	#booking-information th,
	#booking-information td {
		padding: 13px 15px;
	}
}

@media (max-width: 680px) {
	#booking-information {
		gap: 14px;
		margin-bottom: 24px;
	}

	#booking-information>* {
		padding: 18px 20px;
	}

	#booking-information table {
		table-layout: auto;
	}

	#booking-information th,
	#booking-information td {
		display: block;
		width: 100%;
		padding: 9px 0px;
	}

	#booking-information th {
		padding-bottom: 3px;
		border-bottom: 0px;
	}

	#booking-information td {
		padding-top: 3px;
	}
}

@media (max-width: 420px) {
	#booking-information {
		gap: 12px;
		margin-bottom: 20px;
	}

	#booking-information>* {
		padding: 16px;
	}

	#booking-information h1 {
		font-size: 25px;
	}

	#booking-information h2 {
		font-size: 22px;
	}
}

/* Booking timer */

#countdown_holder {
	text-align: center;
	font-size: 0px;
	width: 175px;
	position: relative;
	/* margin-top: -10px; */
}

#countdown {
	font-family: "proxima_nova";
	font-weight: 500;
	overflow: visible;
	width: 175px;
	height: 64px;
}

.rotor_group {
	position: relative;
	float: left;
	padding-right: 15px;
}

.rotor_group:last-child {
	padding-right: 0
}

.rotor_group:nth-child(1):before,
.rotor_group:nth-child(1):after {
	content: '';
	position: absolute;
	width: 5px;
	height: 5px;
	left: 85px;
	background-color: #DEDEDE;
	bottom: 20px;
}

.rotor_group:nth-child(1):after {
	bottom: 37px;
}

.rotor,
.rotor_leaf,
.rotor_top,
.rotor_bottom,
.rotor::after,
.rotor_leaf_flipped,
.rotor_leaf_front,
.rotor_leaf_rear {
	width: 39px !important;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.rotor {
	position: relative;
	float: left;
	width: 50px;
	height: 62px;
	margin: 0 2px 0 0;
	border-radius: 4px;
	font-size: 56px;
	text-align: center;
	perspective: 200px;
}

.rotor:after {
	content: '';
	z-index: 2;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 31px;
	border-radius: 0 0 4px 4px;
	display: none;
}

.rotor:last-child {
	margin-right: 0
}

.rotor_top,
.rotor_leaf_front {
	line-height: 62px;
	border-radius: 4px 4px 0 0;
	color: #0D42C9;
	background-color: #EFEFEF;
}

.rotor_bottom,
.rotor_leaf_rear {
	color: #0D42C9;
	background-color: #DEDEDE;
	border-radius: 0 0 4px 4px;
}

.rotor_top,
.rotor_bottom {
	overflow: hidden;
	position: absolute;
	width: 50px;
	height: 31px;
}

.rotor_leaf {
	z-index: 1;
	position: absolute;
	width: 50px;
	height: 62px;
	transform-style: preserve-3d;
	transition: transform 0s;
}

.rotor_leaf.flipped {
	transform: rotateX(-180deg);
	transition: all .5s ease-in-out
}

.rotor_leaf_front,
.rotor_leaf_rear {
	overflow: hidden;
	position: absolute;
	width: 50px;
	height: 31px;
	margin: 0;
	transform: rotateX(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.rotor_leaf_rear {
	line-height: 0;
	transform: rotateX(-180deg);
}

.rotor_bottom {
	bottom: 0;
	line-height: 0;
}

.last_minute .rotor,
.last_minute .rotor_top,
.last_minute .rotor_leaf_front,
.last_minute .rotor_bottom,
.last_minute .rotor_leaf_rear {
	color: #fff !important;
	background-color: #0D42C9 !important
}

.last_minute .rotor:after {
	border-top: solid 1px #fff;
}

.last_minute #seconds {
	color: #0D42C9;
}

.countdown_labels {
	font-size: 16px;
	margin-top: 1px;
}

.countdown_labels span {
	width: 77px;
	text-align: center;
	display: inline-block;
}

.countdown_labels .minutes {
	margin-right: 15px;
	margin-bottom: 31px;
}

#minutes_hider {
	display: none;
	position: absolute;
	width: 80px;
	height: 100px;
	background: #fff;
	top: 0px;
}

.last_minute #minutes_hider {
	display: block;
}

.expired {
	position: relative;
}

.expired::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	border-radius: 10px;
	content: '';
	padding: 70px;
	color: #fff;
	box-sizing: border-box;
	text-align: center;
	font-size: 30px;
}

#expiry_message {
	text-align: center;
	display: none;
	font-size: 25px;
	font-size: 16px;
	color: #fff;
	color: #bf866d;
	/* position: absolute; */
	/* left: calc(50% + 97px); */
	/* bottom: 250px; */
	z-index: 1;
	/* transform: translateX(-50%); */
}

#expiry_message span {
	font-size: 30px;
}

#expiry_message a {
	text-decoration: none;
}

@media screen and (max-width:978px) {
	#expiry_message {
		/* left: calc(50% + 1px);
		bottom: 289px; */
	}

	#countdown {
		display: inline-block;
	}
}
/* Cookie box visual treatment */
#cookiebox {
	box-sizing: border-box;
	left: 50%;
	right: auto !important;
	bottom: 24px;
	width: min(calc(100% - 48px), 860px);
	padding: 0px !important;
	border: 1px solid rgba(23, 44, 60, 0.18) !important;
	border-radius: 2px;
	background-color: #fffdf9 !important;
	box-shadow: 0px 22px 50px rgba(23, 44, 60, 0.22) !important;
	color: #172c3c !important;
	font-family: Arial, Helvetica, sans-serif !important;
	/* transform: translateX(-50%); */
}

#cookiebox_inner {
	box-sizing: border-box;
	position: relative;
	padding: 28px 32px 30px !important;
}

#cookiebox_heading {
	margin: 0px 48px 12px 0px !important;
	padding: 0px !important;
	color: #172c3c !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 27px !important;
	font-weight: normal;
	line-height: 1.1 !important;
}

#cookiebox_details {
	max-width: 720px;
	margin: 0px 48px 22px 0px !important;
	padding: 0px !important;
	color: #52626d !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
}

#cookiebox_close {
	position: absolute;
	top: 18px !important;
	right: 18px !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0px !important;
	padding: 0px !important;
	border: 1px solid rgba(23, 44, 60, 0.24) !important;
	border-radius: 50%;
	background-color: transparent !important;
	color: transparent !important;
	font-size: 0px !important;
	line-height: 1 !important;
}

#cookiebox_close:before {
	color: #172c3c;
	content: "×";
	font-family: Arial, Helvetica, sans-serif;
	font-size: 21px;
	font-weight: normal;
	line-height: 28px;
}

#cookiebox_accept,
#cookiebox_settings {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 44px;
	margin: 0px 8px 0px 0px !important;
	padding: 0px 19px !important;
	border-radius: 0px !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 11px !important;
	font-weight: bold;
	letter-spacing: 1.2px;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

#cookiebox_accept {
	border: 1px solid #c6633d !important;
	background-color: #c6633d !important;
	color: #fffdf9 !important;
}

#cookiebox_accept:hover,
#cookiebox_accept:focus-visible {
	border-color: #a94e2f !important;
	background-color: #a94e2f !important;
	color: #fffdf9 !important;
}

#cookiebox_settings {
	border: 1px solid #172c3c !important;
	background-color: transparent !important;
	color: #172c3c !important;
}

#cookiebox_settings:hover,
#cookiebox_settings:focus-visible {
	border-color: #172c3c !important;
	background-color: #172c3c !important;
	color: #f5f1ea !important;
}

#cookiebox_moreinfo {
	position: absolute;
	right: 28px;
	bottom: 30px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 32px;
	height: 32px;
	margin: 0px !important;
	padding: 0px !important;
	border: 1px solid #f5a47d !important;
	border-radius: 50%;
	background-color: #f5a47d !important;
	color: #172c3c !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 18px !important;
	font-weight: normal;
	line-height: 1 !important;
	text-decoration: none !important;
}

#cookiebox_close:focus-visible,
#cookiebox_moreinfo:focus-visible {
	outline: 2px solid #c6633d;
	outline-offset: 3px;
}

@media (max-width: 680px) {
	#cookiebox {
		bottom: 12px;
		width: calc(100% - 24px);
	}

	#cookiebox_inner {
		padding: 24px 20px 20px !important;
	}

	#cookiebox_heading {
		margin-right: 38px !important;
		margin-right: 80px !important;
		margin-bottom: 10px !important;
		font-size: 23px !important;
	}

	#cookiebox_details {
		margin: 0px 0px 16px !important;
		font-size: 12px !important;
		line-height: 1.55 !important;
	}

	#cookiebox_close {
		top: 16px !important;
		right: 16px !important;
	}

	#cookiebox_accept,
	#cookiebox_settings {
		display: flex !important;
		width: 100%;
		margin: 8px 0px 0px !important;
	}

	#cookiebox_moreinfo {
		top: 17px;
		right: 60px;
		bottom: auto;
	}
}

#payment_restart_timer {
    text-decoration: none;
	transition: all linear .4s;
}

#payment_restart_timer:hover {
    text-decoration: underline;
}

.booking_background {
    background: none !important;
    background-color: #f5f1ea !important;
}

/* .booking_background > div {
	background-color: #fffdf9 !important;
} */

.booking_processed {
	color: #172c3c !important;
}

a.print_vouchers_button {
	color: #172c3c !important;
	background-color: #f5a47d !important;
}