@keyframes processing {
	100% {
		transform: rotate(360deg);
	}
}

@font-face {
	font-family: "icomoon";
	src: url("/fonts/icomoon.eot?sr89uz");
	src: url("/fonts/icomoon.eot?sr89uz#iefix") format("embedded-opentype"),
		url("/fonts/icomoon.ttf?sr89uz") format("truetype"),
		url("/fonts/icomoon.woff?sr89uz") format("woff"),
		url("/fonts/icomoon.svg?sr89uz#icomoon") format("svg");
	font-weight: normal;
	font-style: normal;
}

/**
* @license
* MyFonts Webfont Build ID 849298
*
* The fonts listed in this notice are subject to the End User License
* Agreement(s) entered into by the website owner. All other parties are
* explicitly restricted from using the Licensed Webfonts(s).
*
* You may obtain a valid license from one of MyFonts official sites.
* http://www.fonts.com
* http://www.myfonts.com
* http://www.linotype.com
*
*/

/**
 * @license
 * MyFonts Webfont Build ID 3867246, 2020-12-16T11:57:38-0500
 * 
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are 
 * explicitly restricted from using the Licensed Webfonts(s).
 * 
 * You may obtain a valid license at the URLs below.
 * 
 * Webfont: undefined by undefined
 * URL: https://www.myfonts.comundefined
 * Copyright: Copyright � 2023 Monotype Imaging Inc. All rights reserved.
 * 
 * � 2023 MyFonts Inc. */

@font-face {
	font-family: "Bordonaro Spur";
	src: url("/fonts/BordonaroSpur/font.woff2") format("woff2"),
		url("/fonts/BordonaroSpur/font.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "Gotham";
	src: url("/fonts/gotham-bold-webfont.woff2") format("woff2"),
		url("/fonts/gotham-bold-webfont.woff") format("woff");
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: "Gotham";
	src: url("/fonts/gotham-medium-webfont.woff2") format("woff2"),
		url("/fonts/gotham-medium-webfont.woff") format("woff");
	font-weight: 350;
	font-style: normal;
}

@font-face {
	font-family: "Gotham";
	src: url("/fonts/gotham-book-webfont.woff2") format("woff2"),
		url("/fonts/gotham-book-webfont.woff") format("woff");
	font-weight: 325;
	font-style: normal;
}

:root {
	--colour-old-bone: #f3f3f3;
	--colour-bone: #eceee8;
	--colour-grey: #808080;
	--colour-powder-blue: #a7d8d8;
	--colour-red: #ed1650;
	--colour-red-hover: #e2023f;
	--colour-blue: #0b1c32;
	--colour-blue-hover: #0e294c;
	--colour-gold: #d2be68;
	--colour-gold-hover: #d9be49;

	--colour-negative: var(--colour-red);
	--colour-success: var(--colour-powder-blue);

	--colour-white: #fff;
	--colour-neutral-030: #f4f4f4;
	--colour-neutral-050: #efefef;

	--colour-neutral-300: #ededed;
	--colour-neutral-400: #d9d9d9;
	--colour-neutral-900: #000;

	--colour-white-10pc: rgba(255, 255, 255, 0.1);
	--colour-white-20pc: rgba(255, 255, 255, 0.2);

	--colour-default-bg: #fff;
	--colour-default-fg: var(--colour-blue);
	--colour-a: var(--colour-red);
	--colour-a-hover: var(--colour-red-hover);

	--keyline-default: 1px solid var(--colour-neutral-300);
	--keyline-neutral-400: 1px solid var(--colour-neutral-400);

	--form-control-bg: #fff;
	--form-control-fg: var(--colour-default-fg);
	--form-control-border: 1px solid #d9d9d9;

	--button-bg: #666;
	--button-fg: #fff;
	--button-border-colour: var(--button-bg);
	--button-hover-bg: #333;
	--button-hover-fg: #fff;
	--button-hover-border-colour: var(--button-hover-bg);

	--border-radius-small: 0.25rem;
	--border-radius-standard: calc(var(--border-radius-small) * 2);

	--gutter-0-px: 10;

	--gutter-0: calc(var(--gutter-0-px) / 16 * 1rem);
	--gutter-1: calc(var(--gutter-0) * 2);
	--gutter-2: calc(var(--gutter-1) * 2);

	--grid-adjust-0: calc(var(--gutter-0) * -1);
	--grid-adjust-1: calc(var(--grid-adjust-0) * 2);
	--grid-adjust-2: calc(var(--grid-adjust-1) * 2);

	--gutter-0-to-1-clamp: clamp(
		var(--gutter-0),
		calc((var(--gutter-0-px) / 768) * 100vw),
		var(--gutter-1)
	);
	--grid-adjust-0-to-1-clamp: calc(var(--gutter-0-to-1-clamp) * -1);

	--gutter-1-to-2-clamp: calc(var(--gutter-0-to-1-clamp) * 2);
	--grid-adjust-1-to-2-clamp: calc(var(--gutter-1-to-2-clamp) * -1);

	--font-default: Gotham, Arial, Helvetica, sans-serif;

	--drop-shadow-1: 0 4px 4px 0 rgba(0, 0, 0, 0.1);
}

html {
	margin: 0;
	padding: 0;
	background-color: var(--colour-default-bg);
	color: var(--colour-default-fg);
}
body {
	margin: 0;
	padding: 0;
	font-family: var(--font-default);
	font-weight: 325;

	-webkit-text-size-adjust: 100%;
}

a,
.pseudo-link {
	color: var(--colour-a);
}
a:hover,
a:focus,
a:active,
.pseudo-link:hover,
.pseudo-link:focus,
.pseudo-link:active,
a:hover .pseudo-link,
a:focus .pseudo-link,
a:active .pseudo-link {
	color: var(--colour-a-hover);
}
.pseudo-link {
	text-decoration: underline;
	cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
form {
	margin: 0;
}

h1,
.h1 {
	margin: 1rem 0 3rem;
	font-size: clamp(2.875em, 5.9895833333vw, 5em); /* min @ 768 */
	line-height: 1;
}
h2,
.h2 {
	margin: 1rem 0 2rem;
	font-size: clamp(2.875em, 5.9895833333vw, 3.75em); /* min @ 768 */
	line-height: 0.8;
}
.font-size-up-3,
.font-size-up-3-module :is(p, ul, ol, table),
h3,
.h3 {
	margin: 0.444444444444em 0;
	font-size: 2.25em;
	line-height: 0.833333333333;
}
h4,
.h4 {
	margin: 0.666666666667em 0;
	font-size: 1.5em;
	font-weight: 400;
	line-height: 1.166666666667;
	letter-spacing: normal;
}
h5,
.h5,
.font-size-up-1,
.font-size-up-1-module :is(p, ul, ol, table) {
	margin: 0.8em 0;
	font-size: 1.25em;
	line-height: 1.5;
	letter-spacing: -0.02em;
}
h5,
.h5 {
	font-weight: 700;
}
h6,
.h6,
p,
ul,
ol,
table,
pre,
hr,
.standard-form .label,
.standard-form .label.replace-form-control .text,
.basket-variable .label,
.font-size-default,
.font-size-default-module :is(p, ul, ol, table) {
	margin: 1rem 0;
	font-size: clamp(1rem, 2.0833333333vw, 1.125rem); /* min @ 768 */
	line-height: 1.666666666667;
	letter-spacing: -0.02em;
}

.alternative-line-height {
	line-height: 1.333333333333;
}
h6,
.h6 {
	font-weight: 400;
	line-height: 1.333333333333;
}

.nav-main ul a,
.page-nav,
.page-nav-detailed,
.basket-variable.type-radio .optionlabel,
.font-size-down-1,
.font-size-down-1-module :is(p, ul, ol, table) {
	margin: 1rem 0;
	font-size: clamp(0.875rem, 1.8229166667vw, 1rem); /* min @ 768 */
	line-height: 1.5;
	letter-spacing: normal;
}

.font-size-down-2,
.font-size-down-2-module :is(p, ul, ol, table),
.nav-main .standard-sf a,
.nav-main .sf-mega .page-list-level-2 a {
	margin: 1rem 0;
	font-size: clamp(0.75rem, 1.5625vw, 0.875rem); /* min @ 768 */
	line-height: 1.428571428571;
	letter-spacing: normal;
}

.font-size-down-3,
.breadcrumb {
	margin: 1rem 0;
	font-size: 0.75em;
	line-height: 1.3333333333;
}

.reset-to-base-font-size {
	font-size: 1rem !important;
	line-height: 1;
}

th,
td {
	padding: 1rem;
}

b,
strong,
th {
	font-weight: 700;
}

ul ul,
ul ol,
ol ul,
ol ol,
ul p,
ol p,
ul table,
ol table {
	line-height: inherit;
}
ul ul,
ul ol,
ol ul,
ol ol {
	font-size: 1em;
	margin-top: 0;
}
nav ul,
form ol,
form ul {
	margin-right: 0;
	margin-left: 0;
	padding: 0;
	list-style: none;
}
form ol,
form ul,
form p {
	font-size: 1em;
	line-height: inherit;
}

fieldset {
	margin: 0;
	padding: 0;
	border: none;
}
legend {
	display: block;
	width: 100%;
	padding: 0;
}
input,
button,
select,
textarea,
.pseudo-button {
	background-color: var(--form-control-bg);
	color: var(--form-control-fg);
	border: var(--form-control-border);
	font-family: var(--font-default);
	font-weight: 325;

	box-sizing: border-box;
	background-clip: padding-box;

	border-radius: var(--border-radius-small);

	transition: background-color 0.2s ease, color 0.2s ease,
		border-color 0.2s ease, box-shadow 0.2s ease;
}
input,
select,
textarea,
button {
	font-size: 1rem;
	line-height: 1.875;
}
input,
select,
textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 3.25em;
	padding: 0.625em;
}
.child-list-order-by-form input[type="checkbox"] {
	height: 3.25em;
	padding: 0.625em;
}
html > body textarea {
	height: auto;
	margin: 0;
}
input:focus,
select:focus,
textarea:focus {
	border-color: var(--colour-powder-blue);

	box-shadow: 0 0 0.222222222222em -0.055555555556em var(--colour-powder-blue);
}
input:-moz-focusring,
select:-moz-focusring,
textarea:-moz-focusring {
	outline: transparent;
}
input::-moz-focus-inner,
button::-moz-focus-inner {
	padding: 0;
	border: 0;
}
input::placeholder {
	font-weight: 300;
	text-overflow: ellipsis;
	opacity: 1;
}

input[type="radio"],
input[type="checkbox"] {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
}
input[type="search"],
input[type="submit"],
input[type="button"] {
	-webkit-appearance: none;
}

input.readonly,
select.readonly,
textarea.readonly {
	--form-control-bg: #f9f9f9;
	--form-control-fg: var(--colour-grey);
}
input.readonly:focus,
select.readonly:focus,
textarea.readonly:focus {
	border-color: #d9d9d9;

	box-shadow: none;
}

.alternative-form-controls {
	--form-control-bg: var(--colour-white);
	--form-control-fg: var(--colour-default-fg);
	--form-control-border: 1px solid var(--colour-grey);
}

button,
.button,
.submit,
.pseudo-button {
	background-color: var(--button-bg);
	color: var(--button-fg);
	border-color: var(--button-border-colour);
	cursor: pointer;
}
.pseudo-button {
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
}
button:hover,
button:focus,
button:active,
.button:hover,
.button:focus,
.button:active,
.submit:hover,
.submit:focus,
.submit:active,
html > body a:hover .pseudo-button,
html > body a:focus .pseudo-button,
html > body a:active .pseudo-button,
html > body .pseudo-button:hover,
html > body .pseudo-button:focus,
html > body .pseudo-button:active {
	background-color: var(--button-hover-bg);
	color: var(--button-hover-fg);
	border-color: var(--button-hover-border-colour);
}
.submit,
.pseudo-submit {
	--button-bg: var(--colour-red);
	--button-fg: #fff;
	--button-border-colour: var(--button-bg);
	--button-hover-bg: var(--colour-red-hover);
	--button-hover-fg: #fff;
	--button-hover-border-colour: var(--button-hover-bg);
}

.button-cw-1 {
	--button-bg: var(--colour-blue);
	--button-fg: #fff;
	--button-border-colour: var(--button-bg);
	--button-hover-bg: var(--colour-blue-hover);
	--button-hover-fg: #fff;
	--button-hover-border-colour: var(--button-hover-bg);
}

.button-cw-4 {
	--button-bg: var(--colour-gold);
	--button-fg: #fff;
	--button-border-colour: var(--button-bg);
	--button-hover-bg: var(--colour-gold-hover);
	--button-hover-fg: #fff;
	--button-hover-border-colour: var(--button-hover-bg);
}

.button-cw-alternative {
	--button-bg: #fff;
	--button-fg: var(--colour-red);
	--button-border-colour: var(--button-bg);
	--button-hover-bg: var(--colour-blue);
	--button-hover-fg: #fff;
	--button-hover-border-colour: var(--button-hover-bg);
}

.button-cw-alternative-2 {
	--button-bg: var(--colour-default-bg);
	--button-fg: var(--colour-blue);
	--button-border-colour: var(--colour-neutral-400);
	--button-hover-bg: var(--colour-neutral-300);
	--button-hover-fg: var(--colour-blue);
	--button-hover-border-colour: var(--button-border-colour);
}

.button-pseudo-link {
	--button-bg: var(--colour-default-bg);
	--button-fg: var(--colour-a);
	--button-border-colour: var(--button-bg);
	--button-hover-bg: var(--button-bg);
	--button-hover-fg: var(--colour-a-hover);
	--button-hover-border-colour: var(--button-hover-bg);
}

.button-standard {
	--button-text-font-size: clamp(0.875rem, 1.8229166667vw, 1rem);
	--button-text-line-height: 1.25;
	--button-rounded-border-radius: 1.5rem;
	--button-with-icon-button-text-padding: 2rem;
	--button-with-icon-icon-size: 1.25rem;

	display: inline-block;
	vertical-align: top;
	padding: 1rem 1.5rem;
	border-width: 0;
	font-size: 1rem;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}

.button-standard-small {
	--button-rounded-border-radius: 1.3125rem;
	--button-with-icon-button-text-padding: 1.25rem;

	padding: 0.375rem 1.25rem;
}

.button-standard .button-text {
	font-size: var(--button-text-font-size);
	font-weight: 700;
	line-height: var(--button-text-line-height);
	text-transform: uppercase;
}

.button-rounded {
	border-radius: var(--button-rounded-border-radius);
}

.button-with-icon .button-text {
	display: inline-block;
	vertical-align: top;
	position: relative;
}
.button-with-icon .button-text .icon-icomoon {
	position: absolute;
	top: 50%;
	font-size: var(--button-with-icon-icon-size);

	transform: translateY(-50%);
}

.button-with-icon-right .button-text {
	padding-right: var(--button-with-icon-button-text-padding);
}
.button-with-icon-right .button-text .icon-icomoon {
	right: 0;
}
.button-with-icon-left .button-text {
	padding-left: var(--button-with-icon-button-text-padding);
}
.button-with-icon-left .button-text .icon-icomoon {
	left: 0;
}

.button-standard-alternative {
	padding: 0.9375rem 1.5rem;
	border-width: 1px;
	border-style: solid;
}
.button-standard-alternative .button-text {
	font-weight: 350;
	text-transform: none;
}

/* ----------- IOS only ----------- */
/* prevent zoom on select:focus behaviour */
/*
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3), only screen and (min-device-width: 375px) and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 3) {
	select {
		font-size: 1rem;
	}
}
*/

img {
	max-width: 100%;
	height: auto;
	border: 0;
}
address {
	font-style: normal;
}
object {
	display: block;
}
iframe {
	display: block;
	margin: 0;
	border: 0;
}
pre,
code {
	background-color: #f0f0f0;
	color: #000;
	border: 1px solid #ccc;
	font-family: monospace;
}
pre {
	padding: 1em;
	overflow: auto;
}
hr {
	height: 1px;
	background-color: #ccc;
	color: #ccc;
	border: 0;
}

/* ------ Helper Styles ------ */
.clear-self:before,
.clear-self:after {
	content: "";
	display: table;
}
.clear-self:after {
	clear: both;
}
.left {
	float: left;
}
.right {
	float: right;
}
.text-left {
	text-align: left;
}
.text-centre {
	text-align: center;
}
.text-right {
	text-align: right;
}
.float-container {
	clear: left;
	float: left;
	width: 100%;
}
.ib {
	display: inline-block;
}
.remove {
	display: none !important;
}
.js .remove-if-js-enabled {
	display: none !important;
}
.no-js .remove-if-no-js {
	display: none !important;
}
.hidden,
.js .hidden-if-js-enabled {
	opacity: 0;
	visibility: hidden;
}
.overflow-auto {
	overflow: auto;
}
.overflow-hidden {
	overflow: hidden;
}
.nowrap {
	white-space: nowrap;
}
.hide-text {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
}
.relative {
	position: relative;
}
.list-reset {
	margin-right: 0;
	margin-left: 0;
	padding: 0;
	list-style: none;
}
.bg-cover {
	background-repeat: no-repeat;
	background-position: 50% 50%;

	background-size: cover;
}

.flex-space-between {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: var(--flex-space-between-gap, var(--gutter-1-to-2-clamp));
}
.flex-space-between > * {
	margin-top: 0;
	margin-bottom: 0;
}

.flex-vertical-space {
	--flex-vertical-gap: 1rem;

	display: flex;
	flex-direction: column;
	align-items: start;
	row-gap: var(--flex-vertical-gap);
}
.flex-vertical-space > * {
	margin-top: 0;
	margin-bottom: 0;
}

h4,
.h4,
h5,
.h5,
h6,
.h6,
.font-family-default,
.font-gotham {
	font-family: var(--font-default);
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
.font-family-bordonaro-spur {
	font-family: "Bordonaro Spur", Calibri, Candara, Segoe, Segoe UI, Optima,
		Arial, sans-serif;
	font-weight: normal;
	letter-spacing: normal;
}

.gradient-overlay {
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.33) 100%
	);
}

/* ------ Shared Modules ------ */
.list-inline {
	--list-inline-gap: 1rem;

	display: flex;
	flex-wrap: wrap;
	gap: var(--list-inline-gap);
}

.force-aspect-ratio {
	position: relative;
	padding: 0 0 100%;
	overflow: hidden;
}
.force-aspect-ratio img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	max-height: 100%;

	transform: translate(-50%, -50%);
}

.border-radius-standard {
	border-radius: var(--border-radius-standard);
	overflow: hidden;
}
.border-radius-small {
	border-radius: var(--border-radius-small);
	overflow: hidden;
}

.jq-animate-count {
	display: inline-block;
}
.js .jq-animate-count.reserve-space {
	position: relative;
	visibility: hidden;
}
.js .jq-animate-count .counter {
	position: absolute;
	left: 0;
	visibility: visible;
}

.data-table,
.webwiz_table {
	width: 100%;
	border-collapse: collapse;
}
.data-table tr,
.webwiz_table tr {
	border-bottom: var(--keyline-default);
}
.data-table th,
.data-table td,
.webwiz_table th,
.webwiz_table td {
	text-align: left;
}
.data-table thead th,
.data-table thead td {
	line-height: 1.333333333333;
	vertical-align: bottom;
}
.data-table.font-size-down-1 th,
.data-table.font-size-down-1 td {
	line-height: 1.25;
}
.data-table thead a {
	text-decoration: none;
}
.data-table tbody th,
.data-table tbody td {
	vertical-align: middle;
}
.data-table p:nth-child(1) {
	margin-top: 0;
}
.data-table p:nth-last-child(1) {
	margin-bottom: 0;
}
.data-table input,
.data-table select,
.data-table textarea {
	font-size: 0.888888888889em;
	font-size: 1rem;
}
.data-table .quantity-table-col,
.data-table .quantity-to-purchase,
.data-table .basket-line-quantity {
	width: 5em;
}
.data-table .image-table-col {
	width: 120px;
}
.data-table .image-module {
	max-width: 120px;
	margin-right: 0;
	margin-left: auto;
}
.data-table .image-module img {
	display: block;
}
.data-table .image-module .no-img {
	padding: 0 0 100%;
}
.data-table-controls {
	display: flex;
	align-items: baseline;
	column-gap: 0.5rem;
}
.data-table .ajax-submit-button-icon-only {
	--button-fg: var(--colour-default-fg);
	--button-hover-fg: var(--colour-red-hover);

	font-size: 0.888888888889em;
	line-height: 1;
}

.alternate-tbody-row-stripes tr {
	border-bottom: 0;
}
.alternate-tbody-row-stripes tbody tr:nth-child(even) {
	background-color: var(--colour-neutral-300);
}

.alternate-tbody-row-stripes-2 tbody tr:nth-child(odd) {
	background-color: #fff;
}
.alternate-tbody-row-stripes-2 tbody tr:nth-child(even) {
	background-color: var(--colour-neutral-030);
}

html > body .data-table tr.system-highlight-product {
	background-color: #fefeb0;
	color: var(--colour-default-fg);
}

/*
@media all and (max-width: em) {
	.responsive-data-table thead {
		display: none;
	}
	.responsive-data-table tr {
		display: block;
		margin-bottom: 1em;
		border-bottom: none;
	}
	.responsive-data-table tbody tr:after {
		content: '';
		display: table;
		clear: both;
	}
	.responsive-data-table tbody td {
		display: block;
		clear: left;
		float: left;
		width: 100%;
		border-bottom: var(--keyline-default);
		text-align: right;

		box-sizing: border-box;
	}
	.responsive-data-table tbody td:last-child {
		border-bottom: none;
	}
	.responsive-data-table tbody td:before {
		content: attr(data-label);
		float: left;
		margin-right: 1em;
	}
}
*/

.link-with-icon {
	/*
	--link-with-icon-padding: 1.375rem;
	--link-with-icon-icon-top: 0.4375rem;
	--link-with-icon-icon-font-size: 1.125rem;
	*/
	--link-with-icon-padding: 1.625rem;
	--link-with-icon-icon-top: 0.25rem;
	--link-with-icon-icon-font-size: 1.25rem;
	--link-with-icon-icon-hover-anim-range: 0.25rem;

	display: inline-block;
	vertical-align: top;
	position: relative;
	text-decoration: none;
}

.font-size-up-1 .link-with-icon {
	--link-with-icon-padding: 1.5rem;
	--link-with-icon-icon-top: 0.4375rem;
	--link-with-icon-icon-font-size: 1rem;
}

.font-size-down-1 .link-with-icon {
	--link-with-icon-padding: 1.25rem;
	--link-with-icon-icon-top: 0.3125rem;
	--link-with-icon-icon-font-size: 1rem;
}

.font-size-down-2 .link-with-icon {
	--link-with-icon-padding: 1.25rem;
	--link-with-icon-icon-top: 0.125rem;
	--link-with-icon-icon-font-size: 1rem;
}

.link-with-icon {
	display: inline-block;
	vertical-align: top;
	position: relative;
	text-decoration: none;
}
.link-with-icon .icon-icomoon {
	position: absolute;
	top: var(--link-with-icon-icon-top);
	font-size: var(--link-with-icon-icon-font-size);
}

.link-with-icon-right {
	padding-right: var(--link-with-icon-padding);
}
.link-with-icon-right .icon-icomoon {
	right: 0;
}

.link-with-icon-hover-anim.link-with-icon-right {
	padding-right: calc(
		var(--link-with-icon-padding) +
			var(--link-with-icon-icon-hover-anim-range)
	);
}
.link-with-icon-hover-anim.link-with-icon-right .icon-icomoon {
	right: var(--link-with-icon-icon-hover-anim-range);

	transition: right 0.1s ease-out;
}
.link-with-icon-hover-anim.link-with-icon-right:hover .icon-icomoon,
.link-with-icon-hover-anim.link-with-icon-right:focus .icon-icomoon,
.link-with-icon-hover-anim.link-with-icon-right:active .icon-icomoon,
a:hover .link-with-icon-hover-anim.link-with-icon-right .icon-icomoon,
a:focus .link-with-icon-hover-anim.link-with-icon-right .icon-icomoon,
a:active .link-with-icon-hover-anim.link-with-icon-right .icon-icomoon {
	right: 0;
}

.link-with-icon-left {
	padding-left: var(--link-with-icon-padding);
}
.link-with-icon-left .icon-icomoon {
	left: 0;
}

.submit-form-scale-out-on-success form {
	transition: transform 0.25s;
}
.form-submit-success.submit-form-scale-out-on-success form {
	transform: scale(0);
}

.submit-form-slide-up-on-success:before,
.submit-form-slide-up-on-success:after {
	content: "";
	display: table;
}
.submit-form-slide-up-on-success:after {
	clear: both;
}
.submit-form-slide-up-on-success ol,
.submit-form-slide-up-on-success ul {
	margin-top: 0;
}

.form-success-msg,
.form-fail-msg,
.form-captchafail-msg,
.form-denied-msg {
	display: none;
	opacity: 0;
}

.form-submit-success .form-success-msg,
.form-submit-fail .form-fail-msg,
.form-captchafail .form-captchafail-msg,
.form-denied .form-denied-msg {
	display: block;
	opacity: 1;

	transition: opacity 0.25s;
}

.ajax-submit-button {
	position: relative;
	/*min-width: em;*/
}
a.ajax-submit-button {
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
}
.ajax-submit-button:disabled,
.ajax-submit-button[disabled] {
	pointer-events: none;
	cursor: default;
}
.ajax-submit-button .stage {
	display: block;
	position: relative;
}
.ajax-submit-button .button-text {
	display: inline-block;
	vertical-align: top;
}
.ajax-submit-button .processing-animation {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 1em;
	text-align: center;

	transform: translate(-50%, -50%);
}
.ajax-submit-button .processing-animation:before {
	display: block;

	animation: processing 1s linear infinite;
}
.ajax-submit-button.processing,
.ajax-submit-button.ajax-success,
.ajax-submit-button.ajax-fail {
	pointer-events: none;
}
.ajax-submit-button.processing .button-text,
.ajax-submit-button.ajax-success .button-text,
.ajax-submit-button.ajax-fail .button-text {
	visibility: hidden;
}
.ajax-submit-button.processing .processing-animation {
	display: block;
}
.ajax-submit-button .ajax-message {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.ajax-submit-button .ajax-message .icon-icomoon {
	display: inline-block;
	vertical-align: top;
	margin-left: 0.166666666667em;
	font-size: 1em;
}
.ajax-submit-button .ajax-message .icon-icomoon:only-child {
	margin-right: 0.166666666667em;
}
.ajax-submit-button.ajax-success .success-message {
	display: block;
}
.ajax-submit-button.ajax-fail {
	background-color: var(--colour-negative);
	color: #fff;
	border-color: var(--colour-negative);

	transition: background-color 0.2s, border-color 0.2s;
}
.ajax-submit-button.ajax-fail .fail-message {
	display: block;
}

.ajax-submit-button-icon-only {
	--button-bg: var(--colour-neutral-050);
	--button-hover-bg: #d6d6d6;

	padding: 0.75em;
	border: 0;
	line-height: 1;

	border-radius: 50%;
}
.ajax-submit-button-icon-only .processing-animation {
	font-size: 1em;
}
.ajax-submit-button-icon-only .ajax-message .icon-icomoon {
	margin: 0;
	font-size: 1em;
}

.ajax-submit-button-alternative {
	--button-bg: transparent;
	--button-hover-bg: transparent;

	position: relative;
	padding: 0 0 0 2em;
	background-color: transparent;
	border: 0;
	text-align: left;
}
.ajax-submit-button-alternative .icon-icomoon {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.5em;
}
.ajax-submit-button-alternative .processing-animation {
	display: none;
	top: 0.1em;
	font-size: 1.25em;
}
.ajax-submit-button-alternative .button-text {
	display: block;
	margin: 0;
}
.ajax-submit-button-alternative .button-text span {
	margin: 0;
}
.ajax-submit-button-alternative.processing .button-icon {
	display: none;
}
.ajax-submit-button-alternative.processing .processing-animation {
	display: block;
}
.ajax-submit-button-alternative.processing .processing-animation:before {
	animation: processing 1s linear infinite;
}

.system-wish-list-control-module {
	opacity: 0;
	visibility: hidden;
}
.js-wish-list-buttons-initialised .system-wish-list-control-module {
	opacity: 1;
	visibility: visible;
}

.wish-list-button {
	display: none;
}

.product-in-wish-list .remove-from-wish-list-button,
.product-not-in-wish-list .add-to-wish-list-button {
	display: block;
}

.remove-from-wish-list-button {
	--button-fg: var(--colour-red);
	--button-hover-fg: var(--colour-grey);
}
.add-to-wish-list-button {
	--button-fg: var(--colour-grey);
	--button-hover-fg: var(--colour-red-hover);
}

.wish-list-button-icon-only {
	padding: 0.75em;
	background-color: var(--colour-old-bone);

	border-radius: 50%;
}
.wish-list-button-icon-only:hover,
.wish-list-button-icon-only:focus,
.wish-list-button-icon-only:active {
	background-color: #d6d6d6;
}

.wish-list-control-module button .icon-icomoon {
	font-size: 1em;
}
.wish-list-control-module button .processing-animation {
	top: 0;
}

.hide-reveal-chevron {
	font-style: normal;
	line-height: 1;

	transition: transform 0.15s;
}
.selected .hide-reveal-chevron {
	transform: rotate(90deg);
}
.deselected .hide-reveal-chevron {
	transform: rotate(0deg);
}

.hide-reveal-plus-minus {
	--hide-reveal-line-width: 10px;

	display: block;
	position: relative;
	width: var(--hide-reveal-line-width);
}
.hide-reveal-plus-minus-line {
	display: block;
	height: 2px;
}
.hide-reveal-plus-minus-line:first-child {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;

	transform: rotate(-90deg);

	transition: transform 0.15s;
}
.selected .hide-reveal-plus-minus-line:first-child {
	transform: rotate(0deg) !important;
}
.deselected .hide-reveal-plus-minus-line:first-child {
	transform: rotate(-90deg) !important;
}

.hide-reveal-icon-border {
	padding: 2px;
	border-width: 2px;
	border-style: solid;

	border-radius: var(--border-radius-small);
}
.hide-reveal-plus-minus-border {
	height: var(--hide-reveal-line-width);
}

.replace-form-control {
	--replace-form-control-top-pos: 0;

	display: block;
	position: relative;
	padding: 0 0 0 2rem;
}
.replace-form-control .text {
	display: block;
	margin-top: 0;
	margin-bottom: 0;
}
.replace-form-control input,
.replace-form-control .replacement-control {
	display: block;
	position: absolute;
	top: var(--replace-form-control-top-pos);
	left: 0;
}
.replace-form-control input {
	opacity: 0;
	margin: 0;
}
.replace-form-control .replacement-control {
	width: 1.125em;
	height: 1.125em;
	background-color: var(--form-control-bg);
	border: var(--form-control-border);

	transition: background-color 0.15s;
}
.replace-form-control:hover .replacement-control,
.replace-form-control input:focus + .replacement-control {
	background-color: var(--colour-old-bone);
}
.replace-form-control .replacement-control-status-indicator {
	display: block;
	position: absolute;

	opacity: 0;

	transform: scale(0);

	transition: opacity 0.15s, transform 0.15s;
}
.replace-form-control
	input:checked
	+ .replacement-control
	.replacement-control-status-indicator {
	opacity: 1;

	transform: scale(1);
}

.replace-radio .replacement-control {
	border-radius: 0.625rem;
}
.replace-radio .replacement-control-status-indicator {
	display: block;
	top: 0.125em;
	left: 0.125em;
	width: 0.875em;
	height: 0.875em;

	border-radius: 0.4375rem;
}

.replace-checkbox .replacement-control {
	border-radius: var(--border-radius-small);
}
.replace-checkbox .replacement-control-status-indicator {
	top: 0.0625em;
	left: 0.0625em;
	font-size: 1em;
}

.msg {
	padding: 1em;
	font-weight: 350;
	text-align: center;
	border-radius: var(--border-radius-standard);
}
.msg ul {
	display: inline-block;
	text-align: left;
}
.success {
	--colour-a: #fff;
	--colour-a-hover: var(--colour-blue);

	background-color: var(--colour-red);
	color: #fff;
}
.error {
	--colour-a: #fff;
	--colour-a-hover: var(--colour-blue);

	background-color: var(--colour-negative);
	color: #fff;
}
.info {
	--colour-a: #fff;
	--colour-a-hover: #fff;

	background-color: var(--colour-gold);
	color: #fff;
}

.basket-countdown-message {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	opacity: 0;
	visibility: hidden;

	transition: opacity 0.25s, visibility 0.25s;
}
.basket-countdown-message.countdown-timer-initialised {
	opacity: 1;
	visibility: visible;
}
.basket-countdown-message .icon-icomoon {
	font-size: 2rem;
}
.basket-countdown-message p {
	margin: 0;
}

.download-link {
	display: block;
	position: relative;
	padding: 0.3125em 0.625em 0.3125em 3.75em;
	text-decoration: none;
	text-align: left;
}
.download-link:hover,
.download-link:focus,
.download-link:active {
	background-color: rgba(0, 0, 0, 0.0333333333);

	transition: background-color 0.2s;
}
.download-link .icon-icomoon {
	position: absolute;
	top: 0.75em;
	left: 0.714285714286em;
	font-size: 1.75em;
}

.download-list {
	font-size: 1em;
}
.download-list li {
	margin: 1em 0;
}

.social-media-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin: 0;
	font-size: 1em;
	line-height: 1;
}
.social-media-list a {
	display: block;
	padding: 0.875rem;
	background-color: var(--colour-white-10pc);
	color: #fff;
	text-decoration: none;

	border-radius: 50%;

	transition: background-color 0.2s;
}
.social-media-list a:hover,
.social-media-list a:focus,
.social-media-list a:active {
	color: var(--colour-gold);
}
.social-media-list .icon-icomoon {
	font-size: 1.25em;
}

.no-img,
.embedded-map,
.embedded-video {
	position: relative;
	height: 0;
	overflow: hidden;
	text-align: center;
}
.no-img,
.embedded-map,
.embedded-video {
	background-color: rgba(0, 0, 0, 0.1);
}
.no-img,
.embedded-map {
	color: #000;
}
a:hover .no-img,
a:focus .no-img,
a:active .no-img,
a.no-img:hover,
a.no-img:focus,
a.no-img:active {
	background-color: rgba(0, 0, 0, 0.2);
}
a:hover .no-img,
a:focus .no-img,
a:active .no-img,
a.no-img:hover,
a.no-img:focus,
a.no-img:active {
	color: #000;
}
.no-img p {
	position: absolute;
	top: 50%;
	left: 5%;
	width: 90%;
	margin: 0 !important;

	transform: translateY(-50%);
}
.no-img .no-img-content {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 65%;

	transform: translate(-50%, -50%);
}
.no-img .no-img-content img {
	margin: auto;
}

.embedded-map {
	padding: 0 0 100%;
}
.embedded-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media all and (min-width: 37.5em) {
	.embedded-map {
		padding: 0 0 56.25%;
	}
}

@media all and (min-width: 60em) {
	.embedded-map {
		padding: 0 0 700px;
	}
}

.embedded-video {
	padding: 0 0 56.25%;
}
.embedded-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hover-overlay,
.selected-item-overlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.1);
	color: #fff;
	opacity: 0;

	transition: opacity 0.15s;
}
a:hover .hover-overlay,
a:focus .hover-overlay,
a:active .hover-overlay {
	opacity: 1;
}

.selected-item-overlay {
	background-color: rgba(12, 29, 50, 0.25);
}

.icon-icomoon,
.icon-icomoon:before {
	display: block;
}
.icon-icomoon,
.breadcrumb li:before {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: "icomoon" !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


.icon-flavour-4:before {
  content: "\e93e";
}
.icon-flavour-3:before {
  content: "\e93d";
}
.icon-flavour-2:before {
  content: "\e93d";
}
.icon-upload-light:before {
  content: "\e939";
}
.icon-download-light:before {
  content: "\e93a";
}
.icon-years-excellence:before {
  content: "\e93c";
}
.icon-open-a-trade-account:before {
  content: "\e93b";
}
.icon-store:before {
	content: "\e938";
}
.icon-heart-fill:before {
	content: "\e933";
}
.icon-tech-support:before {
	content: "\e913";
}
.icon-filter-slider:before {
	content: "\e932";
}
.icon-shopping-bag:before {
	content: "\e934";
}
.icon-close:before {
	content: "\e931";
}
.icon-play-circle:before {
	content: "\e925";
}
.icon-delivery-van:before {
	content: "\e90b";
}
.icon-upload:before {
	content: "\e935";
}
.icon-download:before {
	content: "\e936";
}
.icon-grapes:before {
	content: "\e91a";
}
.icon-independent:before {
	content: "\e91d";
}
.icon-price-tag-star:before {
	content: "\e91f";
}
.icon-rocket:before {
	content: "\e926";
}
.icon-search:before {
	content: "\e927";
}
.icon-service:before {
	content: "\e928";
}
.icon-user:before {
	content: "\e929";
}
.icon-wine-bottle-glass:before {
	content: "\e92a";
}
.icon-wine-glass:before {
	content: "\e92b";
}
.icon-clock:before {
	content: "\e92c";
}
.icon-mail:before {
	content: "\e92d";
}
.icon-phone:before {
	content: "\e92e";
}
.icon-cross-circle:before {
	content: "\e924";
}
.icon-filter:before {
	content: "\e921";
}
.icon-log-out:before {
	content: "\e90f";
}
.icon-map-pin:before {
	content: "\e915";
}
.icon-key:before {
	content: "\e920";
}
.icon-bin:before {
	content: "\e91b";
}
.icon-heart:before {
	content: "\e91c";
}
.icon-home:before {
	content: "\e91e";
}
.icon-history:before {
	content: "\e937";
}
.icon-arrow-left:before {
	content: "\e92f";
}
.icon-arrow-right:before {
	content: "\e930";
}
.icon-eye:before {
	content: "\e922";
}
.icon-sort:before {
	content: "\e923";
}
.icon-file-text:before {
	content: "\e90e";
}
.icon-instagram:before {
	content: "\e905";
}
.icon-menu:before {
	content: "\e919";
}
.icon-files-empty:before {
	content: "\e911";
}
.icon-linkedin:before {
	content: "\e906";
}
.icon-youtube:before {
	content: "\e908";
}
.icon-facebook:before {
	content: "\e909";
}
.icon-stopwatch:before {
	content: "\e90c";
}
.icon-file-tick:before {
	content: "\e910";
}
.icon-file-empty:before {
	content: "\e912";
}
.icon-cherry:before {
	content: "\e914";
}
.icon-spinner:before {
	content: "\e901";
}
.icon-pencil:before {
	content: "\e900";
}
.icon-warning:before {
	content: "\ed4f";
}
.icon-question:before {
	content: "\ed55";
}
.icon-info:before {
	content: "\ed63";
}
.icon-file-cross:before {
	content: "\e90d";
}
.icon-twitter:before {
	content: "\e918";
}
.icon-chevron-left:before {
	content: "\e907";
}
.icon-chevron-right:before,
.breadcrumb li:before {
	content: "\e90a";
}
.icon-cross:before {
	content: "\e916";
}
.icon-tick:before {
	content: "\e917";
}
.icon-xls:before,
.icon-xlsx:before {
	content: "\e902";
	color: #217346;
}
.icon-doc:before,
.icon-docx:before {
	content: "\e903";
	color: #2b579a;
}
.icon-pdf:before {
	content: "\e904";
	color: #ee3f24;
}

.skip-link {
	position: absolute;
	top: 0;
	left: -999em;
	padding: 0.5em;
	font-size: 1.2em;
	line-height: 1.333;
	text-decoration: none;
	z-index: 3;
}
.skip-link:focus,
.skip-link:active {
	left: 0;
	background-color: #000;
	color: #fff;
}

/* ------ Layout ------ */

.wrapper {
	--wrapper-max-width: 95rem;

	max-width: var(--wrapper-max-width);
	margin-right: auto;
	margin-left: auto;
}
.wrapper-2 {
	--wrapper-max-width: 78.75rem;
}
.wrapper-3 {
	--wrapper-max-width: 62.875rem; /* used on account login page */
}

.wrapper.no-gutter {
	padding-right: 0;
	padding-left: 0;
}

.max-content-width-wrapper {
	--wrapper-max-width: 1920px;

	max-width: 1920px;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.content-module {
	margin-top: 1em;
	margin-bottom: 1em;
}
.content-module-1 {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}
.content-module-2 {
	margin-top: 2em;
	margin-bottom: 2em;
}
.content-module-3 {
	margin-top: 3em;
	margin-bottom: 3em;
}
.content-module-4 {
	margin-top: 4.5em;
	margin-bottom: 4.5em;
}

/*
NEW GUTTER SYSTEM
=================

OLD TO NEW KEY:

.grid-adjust-fixed-half = .grid-adjust-0
.grid-adjust-default = .grid-adjust-0-to-1
.grid-adjust-fixed-full = .grid-adjust-1
.grid-adjust-double = .grid-adjust-1-to-2
.gutter-fixed-half = .gutter-0
.gutter-default = .gutter-0-to-1
.gutter-fixed-full = .gutter-1
.gutter-double = .gutter-1-to-2
.gutter-fixed-double = .gutter-2
*/

.adjust-for-3-up {
	--gutter-0: 0.6875rem;
	--grid-adjust-0: calc(var(--gutter-0) * -1);
}

.grid-adjust-0 {
	margin-right: var(--grid-adjust-0);
	margin-left: var(--grid-adjust-0);
}
.grid-adjust-0-to-1 {
	margin-right: var(--grid-adjust-0-to-1-clamp);
	margin-left: var(--grid-adjust-0-to-1-clamp);
}

.grid-adjust-1 {
	margin-right: var(--grid-adjust-1);
	margin-left: var(--grid-adjust-1);
}
.grid-adjust-1-to-2 {
	margin-right: var(--grid-adjust-1-to-2-clamp);
	margin-left: var(--grid-adjust-1-to-2-clamp);
}

.gutter-0 {
	padding-right: var(--gutter-0);
	padding-left: var(--gutter-0);
}
.gutter-0-to-1 {
	padding-right: var(--gutter-0-to-1-clamp);
	padding-left: var(--gutter-0-to-1-clamp);
}

.gutter-1 {
	padding-right: var(--gutter-1);
	padding-left: var(--gutter-1);
}
.wrapper,
.gutter-1-to-2 {
	padding-right: var(--gutter-1-to-2-clamp);
	padding-left: var(--gutter-1-to-2-clamp);
}

.gutter-2 {
	padding-right: var(--gutter-2);
	padding-left: var(--gutter-2);
}

/* ------ Colourways ------ */

.cw-1,
.cw-1-base {
	--colourway-fg: var(--colour-white);

	background-color: var(--colour-blue);
	color: var(--colourway-fg);
}
.cw-1 {
	--colour-a: var(--colour-gold);
	--colour-a-hover: var(--colour-gold-hover);
}
.cw-1-alternative-link {
	--colour-a: var(--colour-white);
	--colour-a-hover: var(--colour-gold-hover);
}

.cw-2,
.cw-2-base {
	--colourway-fg: var(--colour-white);

	background-color: var(--colour-red);
	color: var(--colourway-fg);
}
.cw-2 {
	--colour-a: var(--colour-white);
	--colour-a-hover: var(--colour-gold);
}

.cw-3,
.cw-3-base {
	--colourway-fg: var(--colour-blue);

	background-color: var(--colour-powder-blue);
	color: var(--colourway-fg);
}
.cw-3 {
	--colour-a: var(--colour-white);
	--colour-a-hover: var(--colour-blue);
}

.cw-4,
.cw-4-base {
	--colourway-fg: var(--colour-white);

	background-color: var(--colour-gold);
	color: var(--colourway-fg);
}
.cw-4 {
	--colour-a: var(--colour-white);
	--colour-a-hover: var(--colour-blue);
}

.cw-5,
.cw-5-base {
	--colourway-fg: var(--colour-default-fg);

	background-color: var(--colour-bone);
	color: var(--colourway-fg);
}

.cw-6,
.cw-6-base {
	--colourway-fg: var(--colour-default-fg);

	background-color: var(--colour-old-bone);
	color: var(--colourway-fg);
}

.cw-neutral-030 {
	--colourway-fg: var(--colour-default-fg);

	background-color: var(--colour-neutral-030);
	color: var(--colourway-fg);
}

.cw-neutral-050 {
	--colourway-fg: var(--colour-default-fg);

	background-color: var(--colour-neutral-050);
	color: var(--colourway-fg);
}

.cw-neutral-300 {
	--colourway-fg: var(--colour-default-fg);

	background-color: var(--colour-neutral-300);
	color: var(--colourway-fg);
}

.cw-default,
.cw-default-base {
	--colourway-fg: var(--colour-default-fg);

	background-color: var(--colour-default-bg);
	color: var(--colourway-fg);
}
.cw-5,
.cw-6,
.cw-default {
	--colour-a: var(--colour-red);
	--colour-a-hover: var(--colour-red-hover);
}

a.cw-1,
a.cw-2,
a.cw-3,
a.cw-4,
a.cw-5,
a.cw-6,
a.cw-neutral-030,
a.cw-neutral-050,
a.cw-neutral-300,
a.cw-default {
	--colour-a-hover: var(--colourway-fg);
}

.alternative-link a,
.alternative-link .pseudo-link {
	--colour-a: var(--colour-blue);
	--colour-a-hover: var(--colour-gold);
}

.cw-1-foreground {
	color: var(--colour-blue);
}
.cw-2-foreground {
	color: var(--colour-red);
}
.cw-3-foreground {
	color: var(--colour-powder-blue);
}
.cw-4-foreground {
	color: var(--colour-gold);
}
.cw-5-foreground {
	color: var(--colour-bone);
}
.cw-6-foreground {
	color: var(--colour-old-bone);
}
.cw-neutral-200-foreground,
.cw-grey-foreground {
	color: var(--colour-grey);
}

.cw-1-foreground,
.cw-default-foreground {
	color: var(--colour-default-fg);
}

.cw-positive-foreground {
	color: var(--colour-success);
}
.cw-negative-foreground {
	color: var(--colour-negative);
}
.cw-warning-foreground {
	color: #e4aa0e;
}

.keyline-neutral-400 {
	border: var(--keyline-neutral-400);
}
.keyline-default {
	border: var(--keyline-default);
}

/* ------ Modules ------ */
.site-header {
	position: relative;
	z-index: 4;

	box-shadow: var(--drop-shadow-1);
}
.site-header a,
.site-header .pseudo-link {
	text-decoration: none;
}

@media all and (min-width: 80em) and (min-height: 54.25em) {
	.site-header {
		position: sticky;
		top: 0;
		left: 0;
		width: 100%;
	}
}

.site-header-main {
	position: relative;
	z-index: 2;
	padding-top: clamp(1rem, 2.0833333333vw, 1.25rem); /* min @ 768 */
	padding-bottom: clamp(1rem, 2.0833333333vw, 1.25rem);
	overflow-x: clip;
}
.site-header-main-content {
	align-items: center;
}

.logo a {
	display: block;
	max-width: clamp(92px, 11.9791666667vw, 184px); /* min @ 768 */
	margin: 0 auto;
}
.logo img {
	display: block;
}

.nav-focus-site-header > ul {
	--nav-icon-size: clamp(1.25rem, 2.6041666667vw, 1.5rem); /* min @ 768 */

	display: flex;
	flex-wrap: wrap;
	gap: var(--nav-icon-size);
	justify-content: center;
	margin: 0;
}
.nav-focus-site-header > ul > li > a {
	display: block;
	position: relative;
}
.nav-focus-site-header-icon {
	font-size: var(--nav-icon-size);
}
.nav-focus-site-header a:has(.icon-heart-fill) {
	--colour-a: var(--colour-red);
}

.nav-focus-site-header .supplementary-icon {
	position: absolute;
	top: 0.3125rem;
	right: -0.3125rem;
	padding: 0.125rem;
	font-size: 0.625rem;

	border-radius: 0.4375rem;
}

.basket-link-site-header-module > a {
	display: flex !important;
	align-items: end;
}
.basket-link-site-header-module .basket-summary-product-count {
	min-width: 1rem;
	margin-left: -0.375rem;
	padding: 0.125rem;
	font-size: 0.75rem;
	font-weight: 350;
	line-height: 1.3333333333;
	text-align: center;

	border-radius: 0.625rem;
}

@media all and (max-width: 29.9375em),
	all and (min-width: 48em) and (max-width: 59.9375em) {
	.nav-focus-site-header .non-essential-item {
		display: none;
	}
}

.search-form {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	min-height: 100%;

	transition: transform 0.25s, opacity 0.15s, visibility 0.15s;
}
.search-form:target,
.search-form.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.search-form,
.search-form.hide {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-100%);
}

.search-form__form {
	display: flex;
}
.search-form__form > .wrapper {
	display: flex;
	flex: 1 1 auto;
	gap: 1.5rem;
	align-items: center;
	justify-content: center;
	padding-top: 1.125em;
	padding-bottom: 1.125em;
}

.search-form-content {
	flex: 1 1 auto;
	max-width: 25rem;
	position: relative;
}
.search-form input {
	height: 3.125em;
	padding: 0.75em 3.5rem 0.75rem 0.75rem;
	font-size: 1em;
	line-height: 1.5;
}
.search-form input::placeholder {
	color: var(--colour-grey);
}
.search-form .search-form-submit {
	--button-bg: transparent;
	--button-fg: var(--colour-blue);
	--button-hover-bg: transparent;
	--button-hover-fg: var(--colour-blue-hover);

	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	padding: 0;
	border: 0;
}
.search-form .search-form-submit .icon-icomoon,
.search-form-close-module .icon-icomoon {
	font-size: 1.5rem;
}

.nav-main a {
	display: block;
	text-decoration: none;
}
.nav-main ul {
	display: none;
	margin-top: 0;
	margin-bottom: 0;
	font-size: 1em;
	line-height: 1;
}
.nav-main ul a {
	margin: 0 !important;
	font-weight: 350;
}
.nav-main ul ul a {
	display: inline-block;
	vertical-align: top;
}

.nav-main > ul {
	display: block;
}
.nav-main > ul > li.sfHover > a,
.no-js .nav-main > ul > li:hover > a {
	color: var(--colour-gold);
}
.nav-main > ul > li > a > .icon-icomoon {
	display: none;
}

.nav-main .sf-mega {
	display: none;
	text-align: left;
}

.nav-main .sf-mega > .wrapper > :first-child {
	margin-top: 1rem;
}
.nav-main .sf-mega > .wrapper > :last-child {
	margin-bottom: 2.5rem;
}

.nav-main .sf-mega .page-list-level-1 {
	display: grid;
	gap: 1rem 1.375rem;
}
.nav-main .sf-mega .page-list-level-2 {
	margin-top: 1em;
}

.nav-main a.view-all-link {
	--colour-a: var(--colour-red);

	display: flex;
	gap: 0.375rem;
	align-items: center;
	font-weight: 350 !important;
	text-transform: lowercase;
}

.nav-main .sf-mega .page-list-level-2 {
	display: flex;
}
.nav-main .sf-mega .page-list-level-2 a,
.nav-main .standard-sf a {
	font-weight: 325;
}

.nav-main .standard-sf li {
	margin: 1rem 0;
}

.header-focus-panels {
	position: relative;
	z-index: 1;
}

.header-focus-panel-slider {
	padding: 0.5625em 2em;
	text-align: center;
}

.header-focus-panel-item {
	display: none;
}
.header-focus-panel-item:first-child {
	display: block;
}

.header-focus-panel-text {
	margin: 0;
	font-weight: 350;
}
.header-focus-panel-link {
	display: block;
	margin: 0;
}

.basket-countdown-site-header {
	padding-top: 1em;
	padding-bottom: 1em;
	border-top: 1px solid var(--colour-bone);
}
.basket-countdown-site-header .basket-countdown-message p {
	font-weight: 350;
}

@media all and (min-width: 20em) {
	.site-header-main-content {
		flex-direction: row;
		gap: var(--gutter-1-to-2-clamp);
	}
	.site-header .adj-to-logo {
		display: flex;
		flex: 1 1 auto;
		align-items: center;
		justify-content: end;
		gap: var(--gutter-1-to-2-clamp);
	}
}

@media all and (max-width: 47.9375em) {
	.nav-main {
		--close-icon-size: 1.5rem;

		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		width: 100%;
		padding: var(--gutter-1-to-2-clamp);
		border-top: var(--keyline-default);

		box-sizing: border-box;

		transition: transform 0.25s, opacity 0.15s, visibility 0.15s;

		box-shadow: var(--drop-shadow-1);
	}
	.nav-main:target,
	.nav-main.show {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}
	.nav-main,
	.nav-main.hide {
		opacity: 0;
		visibility: hidden;
		transform: translateX(100%);
	}

	.nav-main-close-module {
		position: absolute;
		z-index: 2;
		top: var(--gutter-1-to-2-clamp);
		right: var(--gutter-1-to-2-clamp);
	}
	.nav-main-close-module .icon-icomoon {
		font-size: var(--close-icon-size);
	}

	.nav-main > ul {
		margin: 4rem var(--close-icon-size) 2rem;
		border-bottom: var(--keyline-default);
	}
	.nav-main > ul > li {
		padding: 0.625rem 0;
		border-top: var(--keyline-default);
	}

	.nav-main ul a {
		display: inline-block;
		vertical-align: top;
		font-size: 1rem;
	}

	.nav-main .sf-mega,
	.nav-main .standard-sf {
		margin-bottom: 1em;
	}

	.nav-main .sf-mega .wrapper {
		padding-right: 0;
		padding-left: 0;
	}
	.nav-main .sf-mega .page-list-level-1 > li {
		padding-bottom: 1rem;
		border-bottom: var(--keyline-default);
	}
	.nav-main .sf-mega .page-list-level-1 > li:last-child {
		border-bottom: 0;
	}
	.nav-main .sf-mega .wrapper > div:last-child:has(> .grid-child-nav-main-promo-panel) {
		display: none;
	}

	.nav-main .standard-sf {
		padding: 0;
	}

	.nav-main .show {
		display: block;
	}
}

@media all and (min-width: 48em) {
	.site-header {
		display: flex;
		flex-direction: column;
	}
	.site-header-main {
		width: 100%;
	}

	.nav-main {
		flex: 1 1 auto;
	}
	.nav-main .nav-btn,
	.nav-main-close-module {
		display: none;
	}

	.nav-main > ul {
		--nav-main-ul-gap: var(--gutter-1-to-2-clamp);

		display: flex;
		justify-content: center;
		gap: var(--nav-main-ul-gap);
	}
	.nav-main > ul > li > a > .hover-area {
		display: none;
	}
	.nav-main > ul > li:has(.sf-mega, .standard-sf) > a {
		display: flex;
		gap: 0.375rem;
		align-items: center;
	}
	.nav-main > ul > li:has(.sf-mega, .standard-sf) > a > .icon-icomoon {
		display: block;
		transform: rotate(90deg);
	}
	.nav-main > ul > li:has(.sf-mega) > a {
		position: relative;
	}

	/**
	* The following declaration blocks solve the problem of when the anchor
	* does not reach right up to the edge of the mega menu div. This can cause
	* the mega menu to disappear entirely or slide down twice if the user
	* is not quick enough.
	*
	* The Fix:
	* An element with a class of .hover-area is sized to fit larger than the
	* <a> area, and vertically behind where the top edge of the mega menu would
	* appear. It is only shown whilst the list item / mega menu is being shown.
	*/
	.nav-main > ul > li:has(.sf-mega) > a > .hover-area {
		position: absolute;
		top: 0;
		left: calc(
			var(--nav-main-ul-gap) * -1
		); /* horizontally centre hit area */
		width: calc(
			100% + calc(var(--nav-main-ul-gap) * 2)
		); /* increase horizontal hit area */
		height: 300%; /* arbitrary percentage to make sure that all of the gap between anchor and .sf-mega is covered */
	}
	.nav-main > ul > li:has(.sf-mega):hover > a > .hover-area,
	.nav-main > ul > li.sfHover:has(.sf-mega):hover > a > .hover-area {
		display: block;
	}

	.nav-main li {
		position: relative;
		z-index: 1;
	}
	.nav-main li.sfHover,
	.no-js .nav-main li:hover {
		z-index: 2;
	}

	.nav-main .sf-mega,
	.nav-main .standard-sf {
		position: absolute;
		top: 100%;
		z-index: 3;
		line-height: 1;
		text-align: left;
	}

	.nav-main li.enable-mega-menu {
		position: static;
	}
	.nav-main .sf-mega {
		left: 0;
		width: 100%;
		border-top: var(--keyline-default);

		box-shadow: var(--drop-shadow-1);
	}

/*
	.nav-main .sf-mega > .wrapper > :first-child {
		margin-top: 1rem;
	}
	.nav-main .sf-mega > .wrapper > :last-child {
		margin-bottom: 2.5rem;
	}

	.nav-main .sf-mega .page-list-level-1 {
		display: grid;
		gap: 1rem 1.375rem;
	}
	.nav-main .sf-mega .page-list-level-1 > li {
		border-right: var(--keyline-default);
	}
	.nav-main .sf-mega .page-list-level-2 {
		margin-top: 1em;
	}
*/

	.nav-main .sf-mega .page-list-level-1 > li {
		border-right: var(--keyline-default);
	}

	.nav-main .standard-sf {
		left: var(--grid-adjust-1);
		width: 14.6875rem;

		box-shadow: var(--drop-shadow-1);

		box-sizing: border-box;
	}
	.nav-main .standard-sf li:first-child {
		margin-top: 1.5rem;
	}

	.nav-main .grid-child-nav-main-promo-panel {
		display: block;
	}

	.nav-main-promo-panel .content {
		container: nav-main-promo-panel / inline-size;
	}
	.nav-main-promo-panel .image-module {
		display: none;
	}
	.nav-main-promo-panel .text-module {
		padding: clamp(1.25rem, 8.3550913838cqw, 2rem);
		text-align: left;
	}
	.nav-main-promo-panel .text-module p {
		font-weight: 400;
	}

	/*
	.nav-main .overflowing-dropdown {
		position: static;
	}
	.nav-main .overflowing-dropdown .standard-sf {
		right: 0;
		left: auto;
	}
	*/

	.header-focus-panels {
		order: -1;
		z-index: 3;
	}
	.header-focus-panel-link {
		display: inline-block;
		vertical-align: middle;
		margin-left: 1rem;
	}

	.nav-main-trigger-module {
		display: none;
	}
}

@media all and (min-width: 48em) and (max-width: 59.9375em) {
	.nav-main .sf-mega .page-list-level-1 {
		grid-template-columns: repeat(3, 1fr);
	}
	.nav-main .sf-mega .page-list-level-1 > li:nth-child(3n) {
		border-right: 0;
	}
}

@media all and (min-width: 60em) {
	.nav-main .sf-mega .page-list-level-1 {
		grid-template-columns: repeat(6, 1fr);
	}
	.nav-main .sf-mega .page-list-level-1 > li:nth-child(6n) {
		border-right: 0;
	}
}

@media all and (min-width: 75em) {
	.grid-child-nav-main-promo-panel .nav-main-promo-panel .content {
		display: flex;
	}
	.nav-main-promo-panel .image-module {
		display: block;
		width: 48.8%;

		background-color: rgba(0, 0, 0, 0.1);
	}
	.nav-main-promo-panel .text-module {
		width: 51.2%;

		box-sizing: border-box;
	}

	.nav-main-promo-panel .text-module:only-child {
		width: 100%;
	}
}

.site-content {
	position: relative;
	z-index: 1;
}

.site-content-1-1,
.site-content-1-2,
.site-content-1-3,
.site-content-2-3,
.site-content-1-4,
.site-content-3-4,
.site-content-1-5,
.site-content-4-5 {
	display: inline-block;
	vertical-align: top;
	width: 100%;

	box-sizing: border-box;
}

@media all and (min-width: 48em) {
	.site-content-1-2 {
		width: 50%;
	}
	.push-site-content-1-2 {
		position: relative;
		left: 50%;
	}
	.pull-site-content-1-2 {
		position: relative;
		left: -50%;
	}
}

@media all and (min-width: 60em) {
	.site-content-1-3 {
		width: 33.3333333333%;
	}
	.site-content-2-3 {
		width: 66.6666666667%;
	}

	.site-content-1-4,
	.site-content-1-5 {
		width: 25%;
	}
	.site-content-3-4,
	.site-content-4-5 {
		width: 75%;
	}

	.push-site-content-1-4,
	.push-site-content-1-5 {
		position: relative;
		left: 25%;
	}
	.pull-site-content-3-4,
	.pull-site-content-4-5 {
		position: relative;
		left: -75%;
	}

	.margin-left-site-content-1-4 {
		width: 100%;
	}

	.grid-child-product-aside {
		padding-right: calc(var(--gutter-0) * 3);
	}
}

@media all and (min-width: 80em) {
	.site-content-1-5 {
		width: 20%;
	}
	.site-content-4-5 {
		width: 80%;
	}

	.push-site-content-1-5 {
		left: 20%;
	}
	.pull-site-content-4-5 {
		left: -80%;
	}

	.margin-left-site-content-1-4 {
		width: 75%;
		margin-left: 25%;
	}
}

.top-promo-panel-module > .grid-adjust {
	margin-bottom: 1em;
}

.top-image-module .top-image {
	display: block;
    width: 100%;

}

.breadcrumb {
	margin-right: 0;
	margin-left: 0;
	padding: 0;
	font-weight: 350;
}
.breadcrumb li {
	display: inline-block;
}
.breadcrumb li:before {
	display: inline-block;
	vertical-align: top;
	margin: 0.125rem 0.1875rem 0;
	color: var(--colour-neutral-400);
}
.breadcrumb li:first-child:before {
	content: normal;
}
.breadcrumb a {
	text-decoration: none;
}
.breadcrumb h1 {
	display: inline;
	margin: 0;
	font-family: var(--font-default);
	font-size: 1em;
	font-weight: 350;
	line-height: inherit;
}

.site-content-body-text.text-centre ul {
	list-style-position: inside;
}

.page-body-text-module {
	/*
	padding-top: 1em;
	padding-bottom: 1em;
	*/
	padding-top: 1.125em;
	padding-bottom: 1.125em;
}

.page-body-text-module:first-child {
	padding-top: 2.5em;
}

.page-body-text-module:last-child {
	padding-bottom: 2.5em;
}

.page-body-text-module:empty {
	display: none;
}

.page-body-text-module .pseudo-button {
	margin-top: 1rem;
}

@media all and (min-width: 48em) {
	.page-body-text-module {
		/*
		padding-top: 2em;
		padding-bottom: 2em;
		padding-top: clamp(1em, 2.0833333333vw, 2em);
		padding-bottom: clamp(1em, 2.0833333333vw, 2em);
		*/
		padding-top: 2.25em;
		padding-bottom: 2.25em;
	}

	.page-body-text-module:first-child {
		padding-top: 5em;
		padding-top: clamp(2.5em, 5.2083333333vw, 5em);
	}

	.page-body-text-module:last-child {
		padding-bottom: 5em;
		padding-bottom: clamp(2.5em, 5.2083333333vw, 5em);
	}
}

.site-content-body-text {
	padding-top: 0 !important;
}
.main-page-detail:not(:nth-last-child(2)) .site-content-body-text:last-child,
.main-page-editorial:not(:last-child) .site-content-body-text:last-child,
.site-content-body-text:not(:last-child) {
	padding-bottom: 0 !important;
}
.h1 + .site-content-body-text {
	margin-top: -1rem;
}

.h1 + .site-content-body-text:empty + .page-body-text-module {
	padding-top: 0;
}

.site-content-body-text > :first-child {
	margin-top: 0;
}
.site-content-body-text > :last-child {
	margin-bottom: 0;
}

.news-article-detail .page-body-text-module {
	padding-top: 0;
}

.content-section {
	margin-top: -1em;
	overflow: hidden;
}
.content-section img {
	display: block;
	margin: 1em auto;
}
.content-section .body-text-image-block {
	margin-right: 0;
	margin-left: 0;
}
.content-section li {
	margin-top: 0.222222222222em;
}

@media all and (min-width: 37.5em) {
	.content-section .body-text-image-right {
		float: right;
		margin-right: 0;
		margin-left: 1em;
	}
	.content-section .body-text-image-left {
		float: left;
		margin-right: 1em;
		margin-left: 0;
	}
}

.site-content-section-with-side-image .image-column,
.site-content-section-with-side-image .text-column {
	display: inline-block;
	width: 100%;

	box-sizing: border-box;
}

.site-content-section-with-side-image .image-column {
	padding-bottom: 1em;
}
.site-content-section-with-side-image .image-module {
	position: relative;
	max-width: 634px;
	/*
	margin-right: auto;
	margin-left: auto;
	*/
}

.site-content-section-with-side-image .side-image {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.site-content-section-with-side-image .side-image-2 {
	position: absolute;
	top: 50px;
	right: 0;
	border: 10px solid var(--colour-bone);
}
.site-content-section-with-side-image .side-image-2 img {
	display: block;
}

.site-content-section-with-side-image-2.site-content-section-with-side-image
	.side-image-1 {
	margin-left: 0;
}

.site-content-section-with-side-image-2 .image-module {
	position: relative;
	padding-bottom: 70px;
}

@media all and (min-width: 48em) {
	.site-content-section-with-side-image .image-module {
		margin-right: 0;
		margin-left: 0;
	}

	.site-content-section-with-side-image .image-column {
		position: relative;
		vertical-align: middle;
		width: 40%;
		padding-bottom: 0;
	}
	.site-content-section-with-side-image .text-column {
		position: relative;
		vertical-align: middle;
		width: 60%;
	}

	.site-content-section-with-side-image-right .image-column {
		left: 60%;
	}

	.site-content-section-with-side-image-right .text-column {
		left: -40%;
	}

	.site-content-section-with-side-image-2 .image-column {
		width: 60%;
	}
	.site-content-section-with-side-image-2.site-content-section-with-side-image-left
		.image-module,
	.site-content-section-with-side-image-right .site-content-body-text {
		margin-right: 15.2406417112299%;
	}

	.site-content-section-with-side-image-2 .text-column {
		width: 40%;
	}

	.site-content-section-with-side-image-2.site-content-section-with-side-image-right
		.image-column {
		left: 40%;
	}
	.site-content-section-with-side-image-2.site-content-section-with-side-image-right
		.image-module,
	.site-content-section-with-side-image-left .site-content-body-text {
		margin-left: 15.2406417112299%;
	}

	.site-content-section-with-side-image-2.site-content-section-with-side-image-right
		.text-column {
		left: -60%;
	}

	.site-content-section-with-side-image-2 .site-content-body-text {
		margin-right: 0;
		margin-left: 0;
	}
}

.feature-section {
	border-bottom: 1px solid var(--colour-white-10pc);
}
.feature-section .text-module {
	padding-top: 1.5em;
	padding-bottom: 0.5em;
}

.feature-section .text-module-alternative .feature-section-title {
	margin-bottom: 2.5rem;
}

@media all and (max-width: 59.9375em) {
	.feature-section .content {
		min-height: 0 !important;
	}
}

@media all and (min-width: 60em) {
	.feature-section .content {
		position: relative;
	}

	.feature-section .content .wrapper {
		position: relative;
		z-index: 2;
	}

	.feature-section-image {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		padding-bottom: 0 !important;
	}

	.feature-section .text-module {
		margin-top: 2.5em;
		margin-bottom: 2.5em;

		box-sizing: border-box;
	}
	.feature-section .text-module-standard {
		max-width: 30.875em;
	}
	.feature-section .text-module-alternative {
		max-width: 38.75em;
	}

	.feature-section-alternative-overlay {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 60em;
		height: 100%;
		background: linear-gradient(
			to right,
			rgba(0, 0, 0, 0.33) 0%,
			rgba(0, 0, 0, 0) 100%
		);
	}

	@supports (display: flex) {
		.feature-section .content {
			display: flex;
			align-items: center;
		}

		.feature-section .content .wrapper {
			flex: 1 1 auto;
		}
	}
}

.accordion {
	text-align: left;
}
.accordion:empty {
	display: none;
}
.accordion-item-heading {
	margin: 0;
}
.accordion-trigger {
	--button-hover-bg: var(--colour-gold);

	display: flex;
	align-items: center;
	width: 100%;
	font-weight: 700;
	text-align: left;

	transition: background-color 0.15s, color 0.15s;
}
.accordion-trigger:not([class*="keyline-"]) {
	border: 0;
}
.accordion-trigger-text {
	flex: 1 1 auto;
	margin: 0;
}
.js .accordion-item-content {
	display: none;
}

.js-accordion-initialised .accordion-trigger {
	cursor: pointer;
}

.accordion-1 {
	border-width: 0 0 1px;
}
.accordion-1 .accordion-trigger {
	padding: 1.5em 0.1875em 1.5em 0;
	border-width: 1px 0 0;
}
.accordion-1 .accordion-item-content {
	padding: 0 0 0.5em;
}

.accordion-2 {
	--accordion-h-padding: var(--gutter-0-to-1-clamp);
}
.accordion-2 > li {
	margin: 1em 0;
}
.accordion-2 .accordion-trigger {
	/*
	--button-bg: var(--colour-neutral-030);
	--button-fg: var(--colour-default-fg);
	--button-hover-bg: var(--colour-neutral-050);
	--button-hover-fg: var(--colour-default-fg);
	*/

	padding: 1.125em var(--accordion-h-padding);
}
.accordion-2 .accordion-item-content {
	padding: 0.5em var(--accordion-h-padding);
}

/* contact styles */

@media all and (max-width: 47.9375em) {
	.main-page-detail.contact-us .h1 {
		margin-bottom: 2rem;
	}
}

.main-page-detail.contact-us .main-page-editorial {
	/*
	margin-top: 2.5em;
	*/
	margin-bottom: 5em;
}

.main-page-detail.contact-us .main-page-editorial img {
	display: block;
}

.contact-site-content-list {
	font-size: 1em;
	line-height: 1;
	letter-spacing: normal;
}

.contact-site-content-list > li {
	position: relative;
	margin: 1.5em 0;
	padding-left: 4em;
}

.contact-site-content-list .bullet-icon {
	position: absolute;
	top: 0.5625rem;
	left: 0;
	font-size: 1.5em;
}

@media all and (min-width: 60em) {
	.contact-module-site-content {
		position: relative;
		padding-right: 50%;
	}

	.contact-site-content {
		position: absolute;
		top: 0;
		right: 0;
		width: 50%;
		height: 100%;
		padding-right: clamp(3em, 4.1666666667vw, 5em);
		padding-left: clamp(3em, 4.1666666667vw, 5em);

		box-sizing: border-box;
	}

	@supports (display: flex) {
		.contact-site-content {
			display: flex;
			align-items: center;
		}
	}
}

@media all and (min-width: 80em) {
	.contact-module-site-content {
		padding-right: 33.3333333333%;
	}

	.contact-site-content {
		width: 33.3333333333%;
	}
}

.simple-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	align-items: center;
}
.simple-form label {
	align-self: center;
	margin: 0;
	font-weight: 350;
}
.simple-form-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	flex: 1 1 auto;
}
.simple-form select,
.simple-form input {
	width: 100%;
}
.simple-form button {
	margin: 0;
}

@media all and (min-width: 30em) {
	.simple-form-controls {
		flex-wrap: nowrap;
	}
	.simple-form input,
	.simple-form select {
		max-width: 18em;
	}
	.simple-form button {
		width: auto;
	}
}

.quick-order-search-form .simple-form-controls {
	justify-content: center;
}

.quick-order-upload-form {
	justify-content: center;
}
.quick-order-upload-form .label-text-main,
.quick-order-upload-form .label-text-small {
	display: block;
	margin: 0;
	text-align: left;
}

@media all and (min-width: 30em) {
	.quick-order-upload-form label {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.375em 0.75em;
	}
}

.standard-form-module {
	max-width: 45em;
}
.text-centre .standard-form-module {
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}
.standard-form li {
	margin: 1em 0;
}
.standard-form li:first-child {
	margin-top: 0;
}

.standard-form .label,
.standard-form input,
.standard-form select,
.standard-form textarea {
	display: inline-block;
}

.standard-form .label {
	margin: 0 0 0.444444444444em;
}
.standard-form .label.replace-form-control {
	--replace-form-control-top-pos: 0.3125rem;

	margin: 0;
	font-size: 1em;
	line-height: 1;
}
.standard-form .label.replace-form-control .text {
	margin: 0;
}

.standard-form li.required .label:after,
.basket-variable.required .label:after {
	content: "\0000a0*";
	color: var(--colour-red);
}

.standard-form input[type="checkbox"],
.standard-form input[type="radio"] {
	vertical-align: middle;
}
.standard-form .submit,
.standard-form .button {
	display: block;
	width: auto;
}

.memberlogin-member_rememberme-item {
	margin: 2rem 0 !important;
}

@supports (display: grid) {
	@media all and (min-width: 30em) {
		.contactus-form ol,
		.newmember-form ol {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1rem clamp(1.25rem, 2.60417vw, 2.5rem);
		}
		.contactus-form li,
		.newmember-form li {
			margin: 0;
		}
		.contactus-form .contactus-subject-item,
		.contactus-form .contactus-message-item,
		.newmember-form .newmember-company-item {
			grid-column: 1 / span 2;
		}
	}
}

.timeline-item-list {
	position: relative;
}
.timeline-item-list:after {
	content: " ";
	position: absolute;
	top: 0;
	left: 0.75rem;
	width: 1px;
	height: 100%;
	background-color: var(--colour-neutral-400);
}
.timeline-item {
	position: relative;
	margin: 1.5rem 0;
}
.timeline-item-content {
	display: grid;
	grid-template-columns: 2.5rem 1fr;
	align-items: center;
}
.timeline-item-text-panel {
	position: relative;
	z-index: 2;
	max-width: 30.875rem;
	margin-right: 0;
	margin-left: auto;
	padding: var(--gutter-1) var(--gutter-1) 1.5rem;

	box-sizing: border-box;
}
.timeline-item-text-panel-header {
	display: flex;
	flex-direction: column-reverse;
	justify-content: start;
}
.timeline-item-year {
	margin: 0;
}
.timeline-item-text-panel-body {
	--flex-vertical-gap: 0.625rem;
}
.timeline-item-text-panel-body p {
	margin: 0;
}
.timeline-item-title {
	font-weight: 700;
	line-height: 1.6666666667;
}
.timeline-item-bullet {
	order: -1;
	position: relative;
	z-index: 2;
	width: 1.0625rem;
	height: 1.0625rem;
	border: 0.25rem solid #fff;

	border-radius: 50%;

	box-shadow: var(--drop-shadow-1);
}
.timeline-item .connecting-line {
	position: absolute;
	top: 50%;
	left: 0.75rem;
	border-width: 1px 0 0;
	width: calc(100% - 0.75rem);
	z-index: 1;
}

@media all and (min-width: 22.5em) {
	.timeline-item-text-panel {
		display: grid;
		grid-template-columns: 34.562211fr 65.437789fr;
		gap: var(--gutter-1);
	}
	.timeline-item-year {
		text-align: center;
	}
}

@media all and (min-width: 48em) {
	.timeline-item-list:after {
		left: 50%;
	}
	.timeline-item:nth-child(odd) {
		margin-right: 50%;
	}
	.timeline-item:nth-child(odd) .timeline-item-content {
		grid-template-columns: 1fr 2.5rem;
	}
	.timeline-item:nth-child(odd) .timeline-item-text-panel {
		margin-right: auto;
		margin-left: 0;
	}
	.timeline-item:nth-child(odd) .timeline-item-bullet {
		order: 0;
		margin-left: 28px;
	}

	.timeline-item:nth-child(even) {
		margin-left: 50%;
	}
	.timeline-item:nth-child(even) .timeline-item-bullet {
		margin-left: -12px;
	}
}

.video-module {
	border-width: 1px 0 0;
}
.video-module:first-child {
	border-top: 0;
}
.video-module-caption {
	text-transform: uppercase;
}

.page-filter-button-list {
	--list-inline-gap: clamp(0.5rem, 2.08604954367666vw, 1rem); /* max @ 767 */
}
.page-filter-button-list li {
	flex: 1 1 auto;
}
.page-filter-button-list .pseudo-button {
	display: block;
}

@media all and (min-width: 48em) {
	.page-filter-button-list li {
		flex: 0 1 auto;
	}
}

.child-list-info {
	margin: 0;
	font-weight: 350;
}

.child-list-options-form.processing,
.product-filter .filter-form.processing {
	opacity: 0.5;
	pointer-events: none;

	transition: opacity 0.25s;
}

.product-filter-heading {
	display: flex;
	flex-direction: row-reverse;
	justify-content: start;
	align-items: center;
	gap: 1rem;
}
.product-filter-heading .icon-icomoon {
	font-size: 2rem;
}

.product-search-form-content {
	position: relative;
}
.product-search-form-content input {
	padding-right: 3.5rem;
	padding-left: 1rem;
}
.product-search-form-content .submit {
	--button-bg: transparent;
	--button-fg: var(--colour-blue);
	--button-hover-bg: transparent;
	--button-hover-fg: var(--colour-blue-hover);

	position: absolute;
	top: 0.8125rem;
	right: 1rem;
	width: auto;
	padding: 0;
	border: 0;
}
.product-search-form-content .submit .icon-icomoon {
	font-size: 1.5rem;
}

.clear-all-module a {
	text-decoration: none;
}
.product-filter .toggle-filter-visibility-trigger {
	display: block;
	position: relative;
	padding: 1.1875em 2.125em 1.1875em 0;
	border-top: var(--keyline-default);
}
.product-filter .toggle-filter-visibility-trigger .text {
	display: block;
	margin: 0;
	font-weight: 400;
}
.product-filter .toggle-filter-visibility-trigger .hide-reveal-icon {
	position: absolute;
	top: 1.375rem;
	right: 0;
	font-size: 1.125em;
}
.product-filter .section ul {
	max-height: 21.5rem;
	margin: 0 0 1rem;
	padding: 0;
	overflow: auto;
}
.product-filter .section li {
	margin: 1em 0 0;
}
@media all and (max-width: 59.9375em) {
	.product-filter .section ul,
	.product-filter .section li .label {
		min-height: 1.25em;
	}
}
.product-filter .section li:first-child {
	margin-top: 0;
}
.product-filter .replace-form-control .text {
	font-weight: 350;
}

.product-filter .replacement-control {
	border-color: var(--colour-grey);
}
.product-filter-form .submit {
	display: block;
	width: 100%;
}

.js .product-filter-form .section ul {
	display: none;
}

.js
	.product-filter-form:not(:has(.toggle-filter-visibility-trigger.selected))
	.section:first-child
	ul {
	display: block;
}
.js
	.product-filter-form:not(:has(.toggle-filter-visibility-trigger.selected))
	.section:first-child
	.hide-reveal-icon {
	transform: rotate(90deg);
}
.js
	.product-filter-form:not(:has(.toggle-filter-visibility-trigger.selected))
	.section:first-child
	.deselected
	.hide-reveal-icon {
	transform: rotate(0deg);
}

.jq-filter-collapse-enabled .toggle-filter-visibility-trigger {
	cursor: pointer;
}
.jq-filter-collapse-enabled .toggle-filter-visibility-trigger:hover,
.jq-filter-collapse-enabled .toggle-filter-visibility-trigger:focus,
.jq-filter-collapse-enabled .toggle-filter-visibility-trigger:active {
	color: var(--colour-a-hover);
}

@media all and (min-width: 60em) {
	.product-filter .jq-filter-enabled .submit {
		display: none;
	}
}

.child-list-options-module {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem var(--gutter-1-to-2-clamp);
	align-items: center;
	justify-content: space-between;
}
.child-list-options-module .product-filter-link {
	display: block;
}

.child-list-options-form .form-options {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem var(--gutter-1-to-2-clamp);
}

.child-list-options-form .visible-form-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	align-items: center;
}
.child-list-options-form .label {
	display: block;
	margin: 0;
	font-weight: 350;
}
.child-list-options-form input {
	display: block;
	width: auto;
}
.child-list-options-form select {
	display: block;
	flex: 1 1 auto;
	width: auto;
	field-sizing: content;
}

@media all and (max-width: 29.9375em) {
	.child-list-options-module .primary-col,
	.child-list-options-module .secondary-col {
		width: 100%;
	}

	.child-list-options-form .visible-form-controls {
		width: 100%;
	}
}

@media all and (max-width: 47.9375em) {
	.child-list-options-form .items-per-page-controls {
		display: none;
	}

	/* old - begin */
	.child-list-items-per-page-form {
		display: none;
	}
	/* old - end */
}

@media all and (min-width: 48em) {
	.child-list-options-module .primary-col {
		display: flex;
		flex-wrap: wrap;
		gap: 0.625rem var(--gutter-1-to-2-clamp);
	}
}

@media all and (max-width: 59.9375em) {
	.child-list-options-module .child-list-info {
		display: none;
	}

	.js .grid-child-product-aside,
	.child-list-options-handheld-target {
		display: none;
	}
	.child-list-options-handheld-target:target {
		display: block;
	}

	.mfp-content .child-list-options-handheld-target {
		display: block;
	}
}

@media all and (min-width: 60em) {
	.product-filter-link-module {
		display: none;
	}

	.child-list-options-form li {
		width: 50%;
		text-align: right;
	}
	.child-list-options-form li:first-child {
		text-align: left;
	}

	.child-list-options-handheld,
	.child-list-options-module-heading,
	.js .child-list-options-form .apply-child-list-options-module {
		display: none;
	}

	.child-list-options-handheld-target.mfp-hide {
		display: block !important;
	}
}

.grid-child {
	--grid-child-gutter: 0em;

	--grid-item-unit-width: calc(
		(var(--wrapper-max-width) + calc(var(--grid-child-gutter) * 2)) /
			var(--grid-child-max-cols, 1)
	);

	--grid-child-max-width: calc(
		var(--grid-item-unit-width) * var(--grid-child-current-cols, 1)
	);

	max-width: var(--grid-child-max-width, auto);
	margin: calc(var(--grid-child-gutter) * -1) auto;
	padding: 0;
	font-size: 1em;
	list-style: none;
}
.grid-item {
	width: 100%;
	padding: var(--grid-child-gutter);

	box-sizing: border-box;
}
.grid-child .grid-item {
	display: inline-block;
	vertical-align: top;
	text-align: center;
}
.grid-child .grid-item a {
	text-decoration: none;
}
.grid-child .container {
	display: inline-block;
	vertical-align: top;
	width: 100%;
}
.grid-child .content {
	display: block;
	position: relative;
}
.grid-child .image-module {
	position: relative;
}
.grid-child img {
	display: block;
}
.grid-child .no-img {
	height: 0;
	padding: 0 0 100%;
	overflow: hidden;
}

.grid-child-flex-normalise {
	display: flex;
	flex-wrap: wrap;
}
.grid-child-flex-normalise.text-centre {
	justify-content: center;
}
.grid-child-flex-normalise .grid-item {
	display: flex;
}
.grid-child-flex-normalise .container,
.grid-child-flex-normalise .content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	/*align-items: center;*/
}
.grid-child-flex-normalise .flex-expand-this {
	flex: 1 0 auto;
}

.no-flexwrap .grid-child-flex-normalise,
.no-flexwrap .grid-child-flex-normalise .container,
.no-flexwrap .grid-child-flex-normalise .content {
	display: block;
}
.no-flexwrap .grid-child-flex-normalise .grid-item {
	display: inline-block;
}

.grid-adjust-0 > .grid-child {
	--grid-child-gutter: var(--gutter-0);
}
.grid-adjust-0-to-1 > .grid-child {
	--grid-child-gutter: var(--gutter-0-to-1-clamp);
}
.grid-adjust-1 > .grid-child {
	--grid-child-gutter: var(--gutter-1);
}

/* 2 up grid */

@media all and (min-width: 48em) {
	.grid-child-2-up .grid-item {
		width: 50%;
	}
	.grid-child-2-up .grid-item.double-width-item {
		width: 100%;
	}
}

/* 3 up grid */

.grid-child-3-up {
	--grid-child-max-cols: 3;
}

@media all and (min-width: 48em) {
	.grid-child-3-up {
		--grid-child-current-cols: 2;
	}
	.grid-child-3-up .grid-item {
		width: 50%;
	}
}

@media all and (min-width: 60em) {
	.grid-child-3-up {
		--grid-child-current-cols: 3;

		max-width: none;
	}
	.grid-child-3-up .grid-item {
		width: 33.3333333333%;
	}
}

/* 4 up grid */

.grid-child-4-up {
	--grid-child-max-cols: 4;
}

@media all and (min-width: 30em) {
	.grid-child-4-up {
		--grid-child-current-cols: 2;
	}
	.grid-child-4-up .grid-item {
		width: 50%;
	}

	.grid-child-4-up .grid-item-double-width {
		width: 100%;
	}
}

@media all and (min-width: 48em) {
	.grid-child-4-up {
		--grid-child-current-cols: 3;
	}
	.grid-child-4-up .grid-item {
		width: 33.3333333333333%;
	}

	@media all and (max-width: 59.9375em) {
		.grid-child-4-up.no-3-up {
			--grid-child-current-cols: 2;
		}
		.grid-child-4-up.no-3-up .grid-item {
			width: 50%;
		}
		.grid-child-4-up.no-3-up .grid-item-double-width {
			width: 100%;
		}
	}
}

@media all and (min-width: 60em) {
	.grid-child-4-up {
		max-width: none;
	}
	.grid-child-4-up .grid-item {
		width: 25%;
	}

	.grid-child-4-up .grid-item-double-width {
		width: 50%;
	}

	.site-content-3-4 .grid-child-4-up .grid-item {
		width: 33.3333333333%;
	}
}

/* 5 up grid */

.grid-child-5-up {
	--grid-child-max-cols: 5;
}

.grid-adjust-0-to-1 > .grid-child-5-up .content {
	max-width: 17em;
}

@media all and (min-width: 30em) {
	.grid-child-5-up {
		--grid-child-current-cols: 2;
	}
	.grid-child-5-up .grid-item {
		width: 50%;
	}
}

@media all and (min-width: 48em) {
	.grid-child-5-up {
		--grid-child-current-cols: 3;
	}
	.grid-child-5-up .grid-item {
		width: 33.3333333333333%;
	}
}

@media all and (min-width: 60em) {
	.grid-child-5-up {
		--grid-child-current-cols: 4;
	}
	.grid-child-5-up .grid-item {
		width: 25%;
	}

	.site-content-4-5 .grid-child-5-up {
		--grid-child-current-cols: 3;
	}
	.site-content-4-5 .grid-child-5-up .grid-item {
		width: 33.3333333333%;
	}
}

@media all and (min-width: 80em) {
	.grid-child-5-up {
		max-width: none;
	}
	.grid-child-5-up .grid-item {
		width: 20%;
	}

	.site-content-4-5 .grid-child-5-up .grid-item {
		width: 25%;
	}
}

@supports (display: grid) {
	.grid-child-css-grid-module {
		margin-right: 0;
		margin-left: 0;
	}
	.grid-child-css-grid-module .grid-child {
		display: grid;
		grid-template-columns: repeat(var(--grid-child-current-cols), 1fr);
		gap: calc(var(--grid-child-gutter) * 2);
		max-width: calc(
			var(--grid-child-max-width) - calc(var(--grid-child-gutter) * 2)
		);
		margin-top: 0;
		margin-bottom: 0;
	}
	.grid-child-css-grid-module .grid-child .grid-item {
		width: auto;
		padding: 0;
	}
	.grid-child-css-grid-module .grid-child .promo-panel {
		grid-column-end: span var(--grid-child-current-cols);
	}
}

.default-grid-item .content {
	align-self: center;
}
.default-grid-item-heading {
	margin: 0.5rem 0;
}

.member-login-page {
	display: flex;
	flex-direction: row;
	align-items: center;
	min-height: 800px;
	padding: var(--gutter-1-to-2-clamp) 0;
	background-image: url("/images/supplementary/bg-member-login-page.jpg");

	box-sizing: border-box;
}
.member-login-page > .wrapper {
	flex: 1 1 auto;
}

.simple-panel {
	max-width: 32.125rem;
}
.simple-panel .content {
	container: simple-panel-content / inline-size;

	padding: clamp(0.5rem, -0.329rem + 4.1451vw, 1rem)
		clamp(1.25rem, -0.8225rem + 10.3627cqw, 2.5rem); /* min @ 320; max @ 513 */
	text-align: left;
}
.simple-panel .flex-double-margin-fix {
	min-height: 100%;
}
.simple-panel .body-text-module ul {
	list-style: disc;
}

.simple-panel .member-login-logo {
	display: block;
	width: clamp(
		60px,
		-1.5132rem + 35.0877cqw,
		120px
	); /* min @ 240; max @ 411 */
}

@container simple-panel-content (min-width: 15em) {
	.simple-panel .member-login-logo {
		position: absolute;
		bottom: 1.5em;
		right: 0;
	}
}

.team-member .image-module {
	position: relative;
	padding-top: 20px;
}

.team-member .image-module .bg-extender {
	position: absolute;
	top: 0;
	left: -50vw;
	z-index: -1;
	width: 150vw;
	height: 100%;
}

.team-member .image-container {
	position: relative;
}

.team-member .image-container img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--colour-old-bone);
}

.team-member .image-container .main-image {
	z-index: 2;
}

.team-member .image-container:hover .main-image {
	display: none;
}

.team-member .image-container:hover .main-image:only-child {
	display: block;
}

.team-member .image-container,
.team-member .no-img {
	padding: 0 0 73.1707317%;
}

.article-grid-item .container {
	container: article-grid-item-container / inline-size;
}
.article-grid-item .content {
	text-align: left;
}
.article-grid-item .image-module:has(img) {
	background-color: #fff;
}
.article-grid-item .image-module .image-spacer {
	aspect-ratio: 365 / 376;
	max-height: 376px;
}
.article-grid-item .image-module img {
	margin-inline: auto;
}
.article-grid-item .text-module {
	container: article-grid-item-text-module / inline-size;
}
.article-grid-item .text-module-content {
	--flex-vertical-gap: clamp(1.75rem, 3.6458333333vw, 2rem); /* min @ 768 */

	padding: var(--flex-vertical-gap)
		clamp(1.25rem, -0.7692rem + 11.5385vw, 2rem); /* max @ 385 */
}

@container article-grid-item-container (width > 37.1875em) {
	.article-grid-item .content {
		display: flex;
		flex-direction: row-reverse;
	}
	.article-grid-item .image-module {
		align-content: center;
		width: 48.6666666667%;
	}
	.article-grid-item .text-module {
		align-self: center;
		width: 51.3333333333%;
	}
}

.page-nav-w-showing-of-total {
	display: grid;
	/*gap: var(--gutter-0) var(--gutter-1-to-2-clamp);*/
	align-items: center;
	justify-items: center;
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-radius: var(--border-radius-small);
}
.page-nav-w-showing-of-total:has(.ajax-page-nav-paging-info.remove):has(.ajax-page-nav-module.remove) {
	display: none;
}
.js .page-nav-w-showing-of-total:has(.remove-if-js-enabled) {
	justify-content: center;
}
.page-nav-w-showing-of-total .page-list-next-prev {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gutter-0) var(--gutter-1);
	align-items: center;
}
.js .page-nav-w-showing-of-total .page-list-next-prev.remove-if-js-enabled {
	display: none;
}
.page-nav-w-showing-of-total .page-list-next-prev a {
	text-decoration: none;
}
.page-nav-w-showing-of-total .prev,
.page-nav-w-showing-of-total .next,
.page-nav-w-showing-of-total .page-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3125rem var(--gutter-0);
}
.page-nav-w-showing-of-total .prev a,
.page-nav-w-showing-of-total .next a {
	display: flex;
}
.page-nav-w-showing-of-total .prev a .icon-icomoon + .icon-icomoon,
.page-nav-w-showing-of-total .next a .icon-icomoon + .icon-icomoon {
	margin-left: -0.625rem;
}
.page-nav-w-showing-of-total .page-list {
	margin: 0;
}
.page-nav-w-showing-of-total .page-list span {
	font-weight: 700;
}

.page-nav,
.page-nav-detailed {
	text-align: center;
}
.page-nav .page-list {
	font-weight: 350;
}
.page-nav .page-list a {
	font-weight: 300;
}
.page-nav .prev,
.page-nav .next,
.page-nav-detailed .first,
.page-nav-detailed .prev,
.page-nav-detailed .next,
.page-nav-detailed .last {
	color: #999;
}

.page-nav-detailed > div,
.page-nav-detailed > div:before {
	display: inline-block;
	vertical-align: top;
}
.page-nav-detailed > div:before {
	margin-right: 0.5em;
	margin-left: 0.5em;
	content: " | ";
}
.page-nav-detailed .first:before,
.page-nav-detailed .prev:before,
.page-nav-detailed .next:before,
.page-nav-detailed .last:before {
	color: var(--colour-default-fg);
}
.page-nav-detailed > div:first-child:before {
	content: normal;
}

@media all and (min-width: 25.875em) {
	.page-nav {
		position: relative;
	}
	.page-nav .page-list {
		margin-right: 6.25em;
		margin-left: 6.25em;
	}
	.page-nav .prev,
	.page-nav .next {
		position: absolute;
		top: 0;
	}
	.page-nav .prev {
		left: 0;
	}
	.page-nav .next {
		right: 0;
	}
}

/* media module styles */

.product-media-module {
	position: relative;

	max-width: 365px;
}

.product-media-nav-container {
	margin-top: 16px;
}

.product-media .item {
	display: none;
}
.product-media .item.selected {
	display: block;
}
.product-media .mfp-gallery {
	position: relative;
}
.product-media img,
.product-media-nav img {
	display: block;
}
.product-media .no-img,
.product-media .embedded-video-module,
.product-media-nav .no-img {
	padding: 0 0 100%;
}
.product-media .embedded-video-module .embedded-video {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;

	transform: translateY(-50%);
}
.product-media .flash-image {
	width: 27.54820936639%;
}

.product-media .mfp-gallery .icon-icomoon {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	width: 1em;
	padding: 0.5rem;
	font-size: 1.5em;
	opacity: 0;
	text-align: center;

	border-radius: var(--border-radius-small);
}

.product-media.mfp-initialised .mfp-gallery {
	cursor: pointer;
}
.product-media.mfp-initialised .mfp-gallery .icon-icomoon {
	opacity: 1;

	transition: opacity 0.25s, background-color 0.15s;
}

.product-media-nav {
	margin: -8px;
}
.product-media-nav:empty {
	display: none;
}
.product-media-nav .item {
	display: inline-block;
	vertical-align: top;
	width: 25%;
}
.product-media-nav .image-module {
	position: relative;

	margin: 8px;
}
.product-media-nav.jq-swap-child-layer-initialised .nav-child .image-module {
	cursor: pointer;
}
.product-media-nav .item .icon-icomoon {
	display: none;
}
.product-media-nav .embedded-video-module .icon-icomoon {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	color: #fff;
	font-size: 2.125em;
	font-size: clamp(2.125em, 14.1666666667vw, 4em);

	transform: translate(-50%, -50%);

	transition: color 0.15s;
}

/* product styles */

.price-module {
	text-align: left;
}
.price-module .price {
	margin: 0;
}
.price-module .old-price {
	margin: 0;
	font-weight: 350;
}
.price-module .price-prefix,
.price-module .price-suffix {
	margin: 0;
	font-weight: 350;
	text-transform: lowercase;
	white-space: nowrap;
}

.stock-module-content {
	display: flex;
	gap: 0.25rem;
	align-items: center;
}
.stock-module .text {
	margin: 0;
	font-weight: 350;
	text-transform: lowercase;
	white-space: nowrap;
}
.stock-module .text a,
.stock-module .text .pseudo-link {
	text-decoration: none;
}
.stock-module .cw-grey-foreground .product-stock-notification-link {
	--colour-a: var(--colour-grey);
}

.flash-text {
	display: inline-block;
	vertical-align: top;
	padding: 0.5em 1em;
	border-radius: var(--border-radius-small);
}
.flash-image {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 3;
}

.flash-text p {
	margin: 0;
	font-weight: 350;
}

.product-summary-list {
	gap: 0.5rem 0;
	margin: 0 -0.75rem;
}
.product-summary-list li {
	padding: 0 0.75rem;
	border: var(--keyline-default);
	border-width: 0 0 0 2px;
}
.product-summary-list li:first-child {
	border-left: 0;
}
.product-summary-list p {
	margin: 0;
	font-weight: 350;
	/*text-transform: uppercase;*/
}
.product-summary-list p.uppercase {
	text-transform: uppercase;
}


.product-summary-list .country {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 0.5rem;
}
.product-summary-list .country img {
	display: block;
}

.key-points-list > li {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 0.5rem;
}
.key-points-list p {
	margin: 0;
	font-weight: 350;
}
.key-points-list .bullet-icon {
	width: 1em;
	text-align: center;

	border-radius: 1rem;
}
.key-points-list .bullet-icon.icon-icomoon {
	padding: 0.4375rem;
	font-size: 1.125rem;
}
.key-points-list .bullet-icon.initial {
	padding: 0.5625rem;
	font-size: 0.875rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1;
	text-transform: uppercase;
}

.purchase-form .purchase-controls {
	display: grid;
	gap: 0.5rem 0.75rem;
}
.purchase-form input {
	text-align: center;
}
.purchase-form .submit,
.product-grid-item .view-more-button {
	width: 100%;
	text-align: center;
}

@container (width > 10.875em) {
	.purchase-form .purchase-controls {
		grid-template-columns: 4.5rem 1fr;
	}
}

@container (width < 7.25em) or ((width > 10.875em) and (width < 12.1875em)) or (width >= 16.875em) {
	.purchase-form .purchase-controls .submit .button-text {
		padding-right: 0;
		padding-left: 0;
	}
	.purchase-form .purchase-controls .submit .button-text .icon-icomoon {
		display: none;
	}
}

@container (width < 16.875em) {
	.purchase-form .purchase-controls .submit .full-text {
		display: none;
	}
}

.product-grid-item .content {
	container: product-grid-item-content / inline-size;

	transition: border-color 0.15s;
}
.product-grid-item:hover .content {
	border-color: var(--colour-blue);
}
.product-grid-item a {
	flex: 1 1 auto;
	align-items: center;
	padding-top: var(--gutter-1);
	padding-bottom: var(--gutter-1);
	overflow: hidden;
}
.product-grid-item a:not(:only-child) {
	padding-bottom: 1rem;
}
.product-grid-item .image-module-wrapper {
	position: relative;
	width: 100%;
}
.product-grid-item .image-module {
	position: static;
	max-width: 250px;
	margin-right: auto;
	margin-left: auto;
}
.product-grid-item .flash-text {
	position: absolute;
	top: 0em;
	right: 0em;
	z-index: 3;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
}

.product-grid-item .flash-image {
	width: 30.95975232198%;
	margin-left: calc(var(--gutter-1) * -1);
}

.product-grid-item-header {
	flex: 1 1 auto;
}
.product-grid-item-heading,
.product-grid-item-type {
	margin: 0;
	font-weight: 350;
}

.product-grid-item-summary-list {
	justify-content: center;
}

.product-grid-price-and-main-action {
	padding-bottom: 1.25em;
}

.product-grid-price-and-stock {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gutter-0) var(--gutter-1);
	width: 100%;
}
.product-grid-price-module {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0 0.5rem;
	width: 100%;
}
.product-grid-stock-module {
	width: 100%;
}
.product-grid-stock-module .stock-module-content {
	justify-content: center;
}

@container product-grid-item-content (width > 17.5em) {
	.product-grid-price-and-stock {
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: last baseline;
	}
	.product-grid-price-module {
		justify-content: start;
		width: auto;
	}
	.product-grid-stock-module {
		width: auto;
	}
}

.promo-panel a {
	display: block;
}

.product-grid-main-action {
	container: product-grid-main-action / inline-size;
	width: 100%;
}

.product-grid-wish-list-module {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 2;
}
.product-grid-item .wish-list-button {
	--button-bg: transparent;
	--button-hover-bg: transparent;

	padding: 0;

	border-radius: 0;
}
.product-grid-item .wish-list-button .button-icon {
	font-size: 1.5rem;
}

/* product detail styles */

.product-detail:nth-last-child(2) {
	padding-bottom: 5em;
}

.product-detail-primary-main {
	container: product-detail-primary-main / inline-size;
}

@media all and (min-width: 45em) {
	.product-detail-primary-main,
	.product-detail-primary-aside {
		display: inline-block;
		vertical-align: top;

		box-sizing: border-box;
	}

	.product-detail-primary-main {
		width: 60%;
		padding: 0 calc(var(--gutter-0) * 3);
	}
	.product-detail-primary-main:only-child {
		width: 100%;
		max-width: 48.125em;
	}
	.product-detail-primary-aside {
		width: 40%;
	}
}

@media all and (min-width: 75em) {
	.product-detail-primary-main {
		width: 66.6666666667%;
	}
	.product-detail-primary-aside {
		width: 33.3333333333%;
	}
}

.product-detail-summary-module {
	--flex-vertical-gap: 0.5rem;
}
.product-detail-skip-to-body-text-link {
	font-weight: 350;
}

.product-detail-price-and-stock {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	align-items: end;
}

.product-detail-main-action {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.product-detail-purchase-form {
	container: product-detail-purchase-form / inline-size;
	flex: 1 1 auto;
	max-width: 18.375em;
}

.product-detail-wish-list-button {
	--button-bg: #fff;
	--button-hover-bg: var(--button-bg);

	padding: 0.8125rem;
	border: 1px solid var(--colour-grey);

	border-radius: var(--border-radius-small);
}
.product-detail-wish-list-button .button-icon {
	font-size: 1.5rem;
}

@container (width < 17.5em) {
	.product-detail-wish-list-forms-module {
		width: 100%;
	}
}

.product-detail-supplementary-list {
	gap: 1rem 2rem;
}
.product-detail-supplementary-list > li {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 0.5rem;
}
.product-detail-supplementary-list a {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
}
.product-detail-supplementary-list .text {
	margin: 0;
	font-weight: 350;
}
.product-detail-supplementary-list .icon-icomoon {
	font-size: 2.5rem;
}

.product-code .label {
	font-weight: 350;
}

.aside-panel {
	padding: clamp(0.875rem, 1.8229166667vw, 1rem)
		clamp(1.3125rem, 2.734375vw, 1.5rem); /* min @ 768 */

	border-radius: var(--border-radius-standard);
}

.additional-info-panel .additional-info {
	--flex-vertical-gap: 0.5rem;

	padding: 1em 0;
	border-width: 1px 0 0;
}
.additional-info-panel .additional-info:first-child {
	border: 0;
}

.additional-info-flex-row-reverse {
	display: flex;
	flex-direction: row-reverse;
	gap: 0.75rem;
	align-items: center;
	justify-content: start;
}
.additional-info-flex-row-reverse .text {
	margin: 0;
}

.additional-info-flex-row-reverse .country-flag {
	display: block;
	margin-right: 0.1875rem;
	margin-left: 0.1875rem;
}

.additional-info-bullet-icon {
	width: 1em;
	padding: 0.4375rem;
	font-size: 1.125rem;
	text-align: center;

	border-radius: 1rem;
}

.table-row-price-module .price {
	font-weight: 350;
}

.product-table-purchase-form .purchase-button {
	display: block;
	margin-right: 0;
	margin-left: auto;
}

/* feature styles */

.feature-intro-panel {
	overflow: hidden;
}

.feature-intro-panel {
	display: none;
}
.feature-intro-panel:first-child {
	display: block;
}

.feature-intro-panel-media {
	aspect-ratio: 1 / 0.3645833333;
}

.feature-intro-panel-text {
	--flex-vertical-gap: 2rem;

	max-width: 25.875em;
	padding-top: 2em;
	padding-bottom: 2em;
}
.feature-intro-panel-links {
	--list-inline-gap: 1rem 1.5rem;
}

.js .feature-intro-panel-media,
.js .feature-intro-panel-heading,
.js .feature-intro-panel-body-text,
.js .feature-intro-panel-links li {
	opacity: 0;
	visibility: hidden;
	will-change: transform, opacity;
}

@media all and (max-width: 37.4375em) {
	.feature-intro-panel-text {
		padding-bottom: 4.25rem;
	}
}

@media all and (min-width: 37.5em) {
	.feature-intro-panel-content {
		display: flex;
		align-items: center;
		position: relative;
		min-height: 700px;
	}
	.feature-intro-panel-content > .wrapper {
		flex: 1 1 auto;
		position: relative;
		z-index: 2;
	}

	.feature-intro-panel-media {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		aspect-ratio: auto;
	}
	.feature-intro-panel-text {
		width: 75%;
		max-width: 38.875em;
	}
}

.usp-panel {
	border-style: solid;
	border-color: rgba(255, 255, 255, 0.2);
	border-width: 1px 0 0;
}
.usp-panel:first-child {
	border: 0;
}
.usp-panel .container {
	align-items: start;
}
.usp-panel .content {
	display: grid;
	grid-template-columns: 60px 1fr;
	align-items: center;
	gap: var(--gutter-1);
	padding: 0 var(--gutter-1) 0.5em;
	text-align: left;
}


.usp-panel .icon-icomoon {
	margin-top: 0.5rem;
	font-size: 60px;
}
.usp-panel-heading {
	margin: 0;
	text-wrap: balance;
}

@media all and (max-width: 47.9375em) {
	.usp-panel .content {
		grid-template-columns: 50px 1fr;
	}
	.usp-panel .icon-icomoon {
		font-size: 50px;
	}
	.usp-panel-heading {
		font-size: 1.875rem;
	}
}

@media all and (min-width: 48em) {
	.usp-panel-module {
		padding-top: 1em;
		padding-bottom: 1em;
	}

	.grid-child-usp-panel {
		row-gap: 1rem;
	}
	.grid-child-usp-panel .grid-item {
		width: min(33.3333333333%, 20rem);
	}

	.usp-panel {
		border-width: 0 0 0 1px;
	}
}

@media all and (min-width: 56.25em) {
	.usp-panel .content {
		padding-right: var(--gutter-2);
		padding-left: var(--gutter-2);
	}
}

/*
@media all and (min-width: 100em) {
	.grid-child-usp-panel {
		max-width: none;
	}
	.grid-child-usp-panel .grid-item {
		width: 16.6666666667%;
	}
}
*/

.feature-page-detail .site-content-sub-heading {
	margin-bottom: 2.5rem;
}

@media all and (min-width: 48em) {
	.feature-page-detail .site-content-section-no-side-image-2 .image-column,
	.feature-page-detail .site-content-section-no-side-image-2 .text-column {
		width: 50%;
	}

	.feature-page-detail
		.site-content-section-no-side-image-2.site-content-section-with-side-image-right
		.image-column {
		left: 50%;
	}
	.feature-page-detail
		.site-content-section-no-side-image-2.site-content-section-with-side-image-right
		.side-image {
		margin-right: 0;
	}

	.feature-page-detail
		.site-content-section-no-side-image-2.site-content-section-with-side-image-right
		.text-column {
		left: -50%;
	}
	.feature-page-detail
		.site-content-section-no-side-image-2.site-content-section-with-side-image-right
		.site-content-body-text {
		margin-right: 4.8387096774193548387096774193548%;
	}

	.feature-page-detail
		.site-content-section-no-side-image-2.site-content-section-with-side-image-left
		.side-image {
		margin: 0;
	}
	.feature-page-detail
		.site-content-section-no-side-image-2.site-content-section-with-side-image-left
		.site-content-body-text {
		margin-left: 4.8387096774193548387096774193548%;
	}
}

.feature-panel .container {
	container: feature-panel-container / inline-size;
}
.feature-panel .content {
	--feature-panel-width: 365;
	--feature-panel-height: 365;
	--feature-panel-padding: clamp(1.25rem, -6.25rem + 40cqw, 2.5rem);

	position: relative;
	justify-content: center;
	aspect-ratio: 1 /
		calc(var(--feature-panel-height) / var(--feature-panel-width));
}
.feature-panel.grid-item-double-width .content {
	--feature-panel-width: 750;
	--feature-panel-padding: clamp(1.25rem, -6.5rem + 20cqw, 2.5rem);
}
.feature-panel .text-module {
	--flex-vertical-gap: 2rem;

	position: relative;
	z-index: 2;
	align-items: end;
	max-width: 27.8125rem;
	margin-right: 0;
	margin-left: auto;
	padding: var(--feature-panel-padding);
	text-align: right;
}
.feature-panel .bg-text-module {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	opacity: 0.75;
}
.feature-panel .link-text-overlay {
	position: relative;
	z-index: 2;
	margin: auto 0 0;
	padding: 1.25rem var(--feature-panel-padding);
	text-align: left;
}
.feature-panel .link-text-overlay p {
	margin: 0;
	font-weight: 350;
}

@supports (-webkit-touch-callout: none) {
	.feature-panel .content:has(.text-module) {
		aspect-ratio: auto;
	}
}

.feature-carousel {
	padding-top: 0.5em;
	padding-bottom: 3.75rem;
}

.focus-panel-section-container {
	display: flex;
	align-items: center;
	min-height: 36.875rem;
	padding: 2.5em 0;
	background-image: var(--focus-panel-section-bg-image, url("/images/supplementary/bg-focus-panel-section.jpg"));
}
.focus-panel-section-content {
	flex: 1 1 auto;
}
.focus-panel-section .intro-module {
	--flex-vertical-gap: 2rem;

	align-items: center;
	max-width: 62.875rem;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.grid-child-focus-panel {
	width: 100%;
	max-width: 64.875rem;
	margin-right: auto;
	margin-left: auto;
}

.focus-panel .content {
	align-items: center;
	padding: 1rem;
	border-width: 1px 0 0;
	border-style: solid;
	border-color: var(--colour-white-20pc);
	text-align: center;
}
.focus-panel:first-child .content {
	border-width: 0;
}
.focus-panel .icon-icomoon {
	font-size: 3.75em;
}
.focus-panel-caption {
	text-transform: uppercase;
}

@media all and (min-width: 48em) {
	.grid-child-focus-panel {
		row-gap: 2rem;
	}

	.focus-panel {
		width: 33.333333333%;
	}
	.focus-panel .content {
		padding-top: 0;
		padding-bottom: 0;
		border-width: 0 0 0 1px;
	}
	.focus-panel:nth-child(3n + 1) .content {
		border-width: 0;
	}
}

.instagram-feed-module {
	--flex-vertical-gap: 2.5rem;

	align-items: center;
	padding-top: 4rem;
	padding-bottom: 4rem;
}
.instagram-feed-module .iframe-container {
	width: 100%;
	height: 0;
	padding: 0 0 33.4210526315789%;
}

/* member styles */

.nav-member-content-panel ul {
	margin: 0;
	font-size: 1em;
	line-height: 1;
}
.nav-member-content-panel li {
	border-top: 1px solid #d6d6d6;
}
.nav-member-content-panel li:first-child {
	border-top: 0;
}
.nav-member-content-panel a {
	--colour-a: #151a20;
	--colour-a-hover: #8a8a8a;

	display: block;
	position: relative;
	padding: 0.25em 1.5em 0.25em 2.5em;
	text-decoration: none;
}
.nav-member-content-panel a.selected {
	color: var(--colour-red);
}
.nav-member-content-panel .link-text {
	font-weight: 350;
}
.nav-member-content-panel .bullet-icon {
	position: absolute;
	top: 0.8333333333em;
	left: 0;
	width: 1em;
	font-size: 1.5em;
	text-align: center;
}
.nav-member-content-panel .arrow-icon {
	position: absolute;
	top: 50%;
	right: 0;
	font-size: 1.25em;

	transform: translateY(-50%);
}

.member-dashboard-grid-panel .content {
	position: relative;
	padding: 0.5em 1.5em;
	text-align: left;

	border-radius: var(--border-radius-standard);
}
.member-dashboard-grid-panel-heading {
	position: relative;
	padding-left: 1.75em;
}
.member-dashboard-grid-panel .bullet-icon {
	position: absolute;
	top: 0.125rem;
	left: 0;
	width: 1em;
	font-size: 1.5rem;
	text-align: center;
}
.member-dashboard-grid-panel .member-page-link {
	font-weight: 350;
	text-transform: lowercase;
}

.member-dashboard-summary-grid-panel-value {
	font-weight: 700;
}

.member-data-table .order-by-link {
	display: inline-block;
	vertical-align: top;
	position: relative;
	padding-right: 1em;
	color: #fff !important;
	text-decoration: none;
	opacity: 0.66;

	transition: opacity 0.15s;
}
.member-data-table .order-by-link .direction-icon {
	position: absolute;
	top: 0;
	right: 0;

	transition: transform 0.2s;
}
.member-data-table .order-by-link:hover,
.member-data-table .order-by-link:focus,
.member-data-table .order-by-link:active,
.member-data-table .order-by-link.active {
	opacity: 1;
}
.member-data-table .order-by-link.desired-direction-asc .direction-icon,
.member-data-table .order-by-link.active.current-direction-asc .direction-icon,
.member-data-table
	.order-by-link.active.current-direction-desc:hover
	.direction-icon,
.member-data-table
	.order-by-link.active.current-direction-desc:focus
	.direction-icon,
.member-data-table
	.order-by-link.active.current-direction-desc:active
	.direction-icon {
	transform: rotate(-90deg);
}
.member-data-table .order-by-link.desired-direction-desc .direction-icon,
.member-data-table .order-by-link.active.current-direction-desc .direction-icon,
.member-data-table
	.order-by-link.active.current-direction-asc:hover
	.direction-icon,
.member-data-table
	.order-by-link.active.current-direction-asc:focus
	.direction-icon,
.member-data-table
	.order-by-link.active.current-direction-asc:active
	.direction-icon {
	transform: rotate(90deg);
}

.member-order-detail-table th,
.member-order-detail-table td {
	background-color: rgba(0, 0, 0, 0.03);
}

.member-order-detail-table thead tr:first-child th,
.member-order-detail-table thead tr:first-child td {
	background-color: rgba(0, 0, 0, 0.5);
}

.member-order-detail-table .re-order-column {
	background-color: transparent;
	border-left: 2px solid #f4f4f4;
}
.member-order-detail-table .re-order-column + .re-order-column {
	border-left: 0;
}

/* account dashboard styles */

.member-my-account-wrapper {
	/*--wrapper-max-width: 56.5em;*/
	--wrapper-max-width: 60em;

	max-width: var(--wrapper-max-width);
	margin-right: auto;
	margin-left: auto;
}

.basket-countdown-member-content-body {
	padding: 1.5em var(--gutter-1-to-2-clamp);

	border-radius: var(--border-radius-standard);
}
.basket-countdown-member-content-body .wrapper {
	padding-right: 0;
	padding-left: 0;
}
.basket-countdown-member-content-body .basket-countdown-message p {
	font-weight: 700;
}

.member-dashboard-summary-list {
	margin: -0.5em -1em;
	font-size: 1em;
	line-height: 1;
}
.member-dashboard-summary-list li {
	display: inline-block;
	vertical-align: top;
	margin: 0.5em 0;
	padding: 0 0.75em;
	border-left: 2px solid var(--colour-blue);
}
.member-dashboard-summary-list li:first-child {
	border-left: 0;
}
.member-dashboard-summary-list li p {
	margin: 0;
}

.account-dashboard-outstanding-invoices-module {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}
.account-dashboard-outstanding-invoices-module p {
	margin: 0;
}

.member-featured-products {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	border-top: var(--keyline-neutral-400);
}
.member-featured-products-header {
	margin-bottom: 2.5em;
}
.member-featured-products-heading {
	margin-bottom: 1.5rem;
}

/* quick order styles */
.quick-order-search-module {
	visibility: hidden;
}
.quick-order-search-module.show {
	visibility: visible;
}

/* cherry pick styles */

.search-cherry-pick-form ol {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: var(--gutter-1) var(--gutter-1-to-2-clamp);
}
.search-cherry-pick-form li {
	flex: 1 1 auto;
	margin: 0;
}
.search-cherry-pick-form .form-control-date-range .date-inputs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3125rem 0.625rem;
}
.search-cherry-pick-form .submit {
	--button-text-font-size: 1rem;

	width: 100%;
}

@media all and (max-width: 28.6875em) {
	.search-cherry-pick-form .form-control-date-range input {
		flex: 1 1 100%;
	}
}

@media all and (min-width: 28.75em) {
	.search-cherry-pick-form .form-control-date-range .date-inputs {
		flex-wrap: nowrap;
	}
}

/* outstanding invoice table styles */
.outstanding-invoices-table .pay-col {
	text-align: center;
}
.outstanding-invoices-table .pay-col input {
	visibility: hidden;
}
.jq-process-invoice-checkbox-initialised
	.outstanding-invoices-table
	.pay-col
	input {
	visibility: visible;
}
.outstanding-invoices-table .total-to-pay {
	text-align: right;
	visibility: hidden;
}
.outstanding-invoices-table .total-to-pay.show {
	visibility: visible;
}

.outstanding-invoices-form .submit {
	visibility: hidden !important;
}
.outstanding-invoices-form .submit.show {
	visibility: visible !important;
}

/* basket styles */

.system-basket-no-contents .system-basket-form {
	display: none;
}
.system-basket-has-contents .system-empty-basket {
	display: none;
}

.system-order-type-delivery .system-remove-on-delivery {
	display: none;
}
.system-order-type-collection .system-remove-on-collection {
	display: none;
}

.system-minimum-order-total-reached
	.system-remove-if-minimum-order-total-reached {
	display: none;
}
.system-minimum-order-total-not-reached
	.system-remove-if-minimum-order-total-not-reached {
	display: none;
}

.system-delivery-services-available
	.system-remove-if-delivery-services-available {
	display: none;
}
.system-delivery-services-unavailable
	.system-remove-if-delivery-services-unavailable {
	display: none;
}

.basket-container .site-content-1-3 {
	container: basket-container-1-3 / inline-size;
}

.basket-form .grouped-form-controls .submit {
	margin: 0;
	width: 100%;
	padding: 0.6875rem 0.5rem;
	border: 0;
	font-weight: 700;
	text-transform: uppercase;
}

.basket-form .grouped-form-controls input,
.basket-form .grouped-form-controls select {
	border-radius: 0;
}
.basket-form .grouped-form-controls input:nth-child(1),
.basket-form .grouped-form-controls button:nth-child(1) {
	border-radius: 0.25rem 0.25rem 0 0;
}
.basket-form .grouped-form-controls input:nth-last-child(1),
.basket-form .grouped-form-controls button:nth-last-child(1) {
	border-radius: 0 0 0.25rem 0.25rem;
}

.basket-form .type-checkbox .label,
.basket-form .type-radio .optionlabel {
	position: relative;
	margin: 0;
	padding-left: 1.5rem;
}
.basket-form .type-checkbox input,
.basket-form .type-radio input {
	position: absolute;
	top: 0.5rem;
	left: 0;
}

.basket-form .type-radio li {
	margin: 0.5rem 0;
}
.basket-form .type-radio input {
	top: 0.1875rem;
}

.basket-line-item th,
.basket-line-item td {
	padding-top: 1.333333333333em;
	padding-bottom: 1.333333333333em;
}
.basket-line-item a {
	text-decoration: none;
}
.basket-line-item .remove-link-module {
	margin-top: 0.5em;
}

.basket-line-item .remove-link {
	font-weight: 350;
}
.basket-line-item .remove-link .processing-animation {
	display: none;
	top: 0.25rem;
	right: 0.125rem;
	font-size: 0.75rem;
}
.basket-line-item .remove-link .processing-animation:before {
	animation: processing 1s linear infinite;
}

.basket-line-item .remove-link.processing .link-icon {
	display: none;
}
.basket-line-item .remove-link.processing .processing-animation {
	display: block;
}

@media all and (min-width: 40em) {
	.js .basket-line-item-quantity-module {
		padding-top: calc(calc(clamp(0.75rem, 1.5625vw, 0.875rem) * 1.428571428571) + 0.5em);
	}
}

.basket-order-summary {
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	padding: clamp(0.25em, 3.3333333333cqw, 1em)
		clamp(1.25em, 6.6666666667cqw, 2em);
}
.basket-order-summary-section {
	border-top: 1px solid #d9d9d9;
}
.basket-order-summary .user-input-item .label {
	display: inline-block;
	vertical-align: top;
	margin: 0 0 0.5em;
}

.basket-summary-table {
	width: 100%;
}
.basket-summary-table th,
.basket-summary-table td {
	padding-top: 0.444444444444em;
	padding-bottom: 0.444444444444em;
}
.basket-summary-table th:nth-child(1) {
	padding-left: 0;
	font-weight: 300;
	text-align: left;
}
.basket-summary-table td:nth-last-child(1) {
	padding-right: 0;
	text-align: right;
}
.basket-summary-table .order-total th,
.basket-summary-table .order-total td {
	font-weight: 700;
}

.basket-section-heading {
	margin: 0;
	padding-top: 0.625em;
	padding-bottom: 0.625em;
	font-size: 1em;
	line-height: 1;
}
.basket-section-heading-text {
	margin: 0;
}
.basket-section-content {
	border-width: 1px 0 0;
}

.basket-variable-list {
	padding: 0;
	list-style: none;
}
.basket-variable {
	margin: 1em 0;
}
.basket-variable .label,
.basket-variable .value {
	margin: 0 0 0.444444444444em;
}
.basket-variable .label {
	display: inline-block;
	vertical-align: top;
}
.collection-notice {
	margin-top: -0.5em;
}
.sooner-delivery-caption {
	margin-top: 0.5rem;
}

.collection-address span {
	display: block;
}
.collection-address span:empty {
	display: none;
}

.link-contact-info-container {
	visibility: hidden;
}
.link-contact-info-container.jq-contact-info-link-initialised {
	visibility: visible;
}

.select-saved-delivery-address {
	visibility: hidden;
}
.select-saved-delivery-address.jq-select-saved-delivery-address-initialised {
	visibility: visible;
}

.saved-delivery-address-list {
	display: none;
	margin: 0;
	padding: 0;
	font-size: 1em;
}
.mfp-content .saved-delivery-address-list {
	display: block;
}
.address-list-item {
	position: relative;
	margin: 1em 0;
	padding: 1em;
	cursor: pointer;
}
.address-list-item:hover,
.address-list-item:focus {
	background-color: #f5f5f5;

	transition: background-color 0.15s;
}
.address-list-item.selected {
	background-color: #e5f2ff;
	border-color: #9cf;
	pointer-events: none;
}
.address-list-item .processing-icon {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0;
	visibility: hidden;
	font-size: 1.5em;

	transform: translate(-50%, -50%);
}
.address-list-item.processing .delivery-address-selection {
	opacity: 0;
	visibility: hidden;

	transition: opacity 0.15s, visibility 0.15s;
}
.address-list-item.processing .processing-icon {
	opacity: 1;
	visibility: visible;

	transition: opacity 0.15s, visibility 0.15s;
}
.address-list-item.processing .processing-icon:before {
	animation: processing 1s linear infinite;
}

.billing-delivery-address-same-container {
	visibility: hidden;
}
.billing-delivery-address-same-container.jq-delivery-billing-address-link-initialised {
	visibility: visible;
}

#bv-form-control-delivery-post-code {
	scroll-margin-top: 100px;
}

.basket-date-picker-refresh-msg-text {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
}
.basket-date-picker-refresh-msg-text .processing-animation:before {
	animation: processing 1s linear infinite;
}

.auto-register-msg {
	margin: 0;
}

.basket-continue-button {
	display: block;
	width: 100%;
}

@media all and (max-width: 39.9375em) {
	.basket-line-table th,
	.basket-line-table td {
		border: 0;
	}
	.basket-line-table thead,
	.basket-line-table tbody th {
		display: none;
	}
	.basket-line-table tr {
		display: block;
		margin-bottom: 1em;
		border-bottom: none;
	}
	.basket-line-table .basket-line-item {
		margin-bottom: 2em;
	}
	.basket-line-table tbody tr:after {
		content: "";
		display: table;
		clear: both;
	}
	.basket-line-table tbody td {
		display: block;
		clear: left;
		float: left;
		width: 100%;
		padding-right: 0.888888888889em !important;
		padding-left: 0.888888888889em !important;
		border-bottom: var(--keyline-default);
		text-align: right;

		box-sizing: border-box;
	}
	.basket-line-table tbody td:last-child {
		border-bottom: none;
	}
	.basket-line-table tbody td:before {
		content: attr(data-label);
		float: left;
		margin-right: 1em;
		font-weight: 700;
	}
	.basket-line-item .basket-line-quantity {
		margin-right: 0;
		margin-left: auto;
	}
}

@media all and (min-width: 40em) {
	.basket-line-table th:nth-child(1),
	.basket-line-table td:nth-child(1) {
		padding-left: 0;
	}
	.basket-line-table th:nth-last-child(1),
	.basket-line-table td:nth-last-child(1) {
		padding-right: 0;
	}
	.basket-line-table .image-table-col {
		width: 120px;
	}
}

@supports (display: flex) {
	@media all and (min-width: 20em) {
		.basket-form .grouped-form-controls {
			display: flex;
		}
		.basket-form .grouped-form-controls input:first-child,
		.basket-form .grouped-form-controls select:first-child {
			flex: 1 1 auto;
		}
		.basket-form .grouped-form-controls input:nth-child(1),
		.basket-form .grouped-form-controls button:nth-child(1) {
			border-radius: 0.25rem 0 0 0.25rem;
		}
		.basket-form .grouped-form-controls input:nth-last-child(1),
		.basket-form .grouped-form-controls button:nth-last-child(1) {
			border-radius: 0 0.25rem 0.25rem 0;
		}
		.basket-form .grouped-form-controls .submit {
			width: auto;
		}
	}

	@media all and (min-width: 40em) {
		.saved-delivery-address-module > div {
			display: flex;
		}
		.saved-delivery-address-module p {
			margin: 0;
		}
		.saved-delivery-address-module p:first-child {
			flex: 1 1 auto;
		}
	}

	/* should match breakpoint that puts basket summary table to side */
	@media all and (min-width: 60em) {
		.basket-form > .grid-adjust-0-to-1 {
			display: flex;
			flex-wrap: wrap;
		}
		.basket-order-summary {
			position: -webkit-sticky;
			position: sticky;
			top: 1.5em;
			margin-bottom: 3em;
		}
	}

	@media all and (min-width: 80em) and (min-height: 54.25em) {
		.basket-order-summary {
			top: 13.875em;
		}
	}
}

/* system styles */

.js .system-quantity-to-purchase {
	visibility: hidden;
}
.js .system-multiple-product-form .system-purchase-submit {
	visibility: hidden;
}
.js .system-grouped-purchase-form {
	visibility: hidden;
}
.js .system-purchase-events-initialised .system-quantity-to-purchase,
.js
	.system-purchase-events-initialised.system-multiple-product-form
	.system-purchase-submit,
.js
	.system-purchase-events-initialised
	.system-multiple-product-form
	.system-purchase-submit,
.js .system-purchase-events-initialised .system-grouped-purchase-form {
	visibility: visible;
}

.system-zero-stock-module {
	display: none;
}
.system-zero-stock .system-zero-stock-module,
.live-data-response-zero-stock .system-zero-stock-module {
	display: block;
}

.system-available-stock-module {
	display: none;
}
.system-stock-available .system-available-stock-module,
.live-data-response-stock-available .system-available-stock-module {
	display: block;
}

.basket-section .delivery-options {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}
.basket-section .delivery-option {
  position: relative;
  flex: 1;
  min-height: 190px;

  padding: 28px 22px;
  box-sizing: border-box;

  border: 2px solid #ddd;
  border-radius: 8px;
  background: #fff;

  cursor: pointer;
  transition: all 0.2s ease;
}
.basket-section .delivery-option:hover {
  border-color: #bbb;
}
.basket-section .delivery-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.basket-form .basket-section .type-radio li:has(.delivery-option) {
	margin: 0.5rem 0;
	display: inline-flex;
	flex: 1;
}
.basket-section .delivery-option:has(input:checked) {
  border-color: #e21d4f;
  background: #fff1f4;
}
.basket-section .option-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.basket-section .option-icon .icon-icomoon {
  font-size: 34px;
  margin-bottom: 12px;
}
.basket-section .option-details p + p {
  margin: -0.6153846153846154em 0 .75em;
  font-size: 0.8125em;
  line-height: 1.538461538461538;
}
.basket-section .option-details > p {
  margin-top: 0;
}
.basket-section .option-icon .icon-icomoon.icon-delivery-van {
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 6px;
}
.basket-section .delivery-option:has(input:checked) .option-icon .icon-icomoon {
  color: #e21d4f;
}
.basket-section .option-details p:last-of-type {
  font-size: 0.9375em;
  margin-top: 0;
}
.basket-section .checkmark {
  display: none;
  position: absolute;
  top: 14px;
  right: 14px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #e21d4f;
  color: #fff;
  align-items: center;
  justify-content: center;
  font-size: .75em;
  font-weight: bold;
}

.basket-section .delivery-option:has(input:checked) .checkmark {
  display: flex;
}

.site-footer {
	text-align: center;
}
.site-footer a {
	text-decoration: none;
}

.footer-section {
	padding-top: 2.5em;
	padding-bottom: 2.5em;
	border-top: 1px solid var(--colour-white-10pc);
}
.footer-section:first-child,
.footer-section-main {
	border-top: 0;
}

.mailinglist-site-footer-module {
	max-width: 38.75em;
	margin-right: auto;
	margin-left: auto;
}
.mailinglist-site-footer-heading {
	margin-top: 0;
}
.mailinglist-site-footer-module .visible-form-controls {
	position: relative;
	max-width: 20em;
	margin-right: auto;
	margin-left: auto;
}
.mailinglist-site-footer-module input {
	height: 3.75rem;
	padding: 0.875rem 3.75rem 0.875rem 1.5rem;
	border: 0;

	border-radius: 1.875rem;
}
.mailinglist-site-footer-module .submit {
	position: absolute;
	top: 0.375rem;
	right: 0.375rem;
	padding: 0.875rem;
	border: 0;
	line-height: 1;

	border-radius: 1.5rem;
}
.mailinglist-site-footer-module .submit .icon-icomoon {
	font-size: 1.25rem;
}

.footer-section-main > .wrapper > .flex-vertical-space {
	--flex-vertical-gap: 2rem;

	flex-direction: row;
	flex-wrap: wrap;
}

.footer-panel-heading {
	margin-top: 0;
	margin-bottom: 1.5rem;
	text-transform: uppercase;
	text-wrap: balance;
}
.footer-panel li {
	margin: 1rem 0 0;
}
.footer-panel > :last-child {
	margin-bottom: 0;
}

.contact-site-footer .label {
	text-transform: capitalize;
}

.site-footer-1-4 {
	display: inline-block;
	vertical-align: top;
	width: 100%;

	box-sizing: border-box;
}

@media all and (min-width: 37.5em) {
	.site-footer-1-4 {
		width: 50%;
	}

	.footer-panel {
		text-align: left;
	}
}

@media all and (min-width: 75em) {
	.site-footer-1-4 {
		width: 25%;
	}
}

.back-to-top-module {
	position: fixed;
	z-index: 3;
	right: clamp(1.25rem, 0.6746rem + 2.8768vw, 4.125rem);
	bottom: 6em;
	background: #fff;
	padding: 0.3125em;

	box-shadow: var(--drop-shadow-1);

	border-radius: var(--border-radius-small);

	opacity: 0;
	visibility: hidden;

	transition: opacity 0.5s, visibility 0.5s;
}

.back-to-top-module.show {
	opacity: 1;
	visibility: visible;
}

.back-to-top-link {
	display: block;
	text-decoration: none;
}

.back-to-top-module .label {
	display: block;
	margin-top: 0.5625rem;
	max-width: 3.125rem;
	font-size: 0.75em;
	line-height: 1.25;
	text-transform: uppercase;
	text-align: center;
	color: var(--colour-blue);
}

.back-to-top-link .icon-icomoon {
	width: 1em;
	padding: 0.6875rem;
	background-color: var(--colour-powder-blue);
	color: var(--colour-blue);
	font-size: 1.25em;
	margin: 0 auto;

	transform: rotate(-90deg);
}

.non-magnific-popup {
	display: flex;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 4;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.75);
	color: #fff;
	overflow: auto;
	align-items: center;
}
.non-magnific-popup .non-mfp-content {
	flex: 1 1 auto;
	max-width: 50em;
	margin: auto;
	padding-top: 1.25em;
	padding-bottom: 1.25em;
}
.non-magnific-popup-dismissed .non-mfp-content {
	transform: scale(0);

	transition: transform 0.25s;
}

.cookies-eu-banner-content {
	max-width: 40em;
	margin: auto;
}
.cookies-eu-banner .button-module {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.age-check-popup .mfp-content,
.age-check-popup .non-mfp-content {
	max-width: 31.25em;
	padding: 130px 30px;

	box-sizing: border-box;
}
.age-check-content {
	padding-bottom: 0.5em;
	text-align: center;

	border-radius: var(--border-radius-standard);
}

.age-check-popup-badge-module {
	max-width: 228px;
	margin-right: auto;
	margin-left: auto;
}
.age-check-popup-badge {
	display: block;
	margin: -50% 0 0;
}

.age-check-form .form-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}

.grecaptcha-badge {
	z-index: 99;
}

.stock-notification-form-popup .mfp-content {
  max-width: 400px;
}
