@-webkit-keyframes processing {
	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes processing {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@font-face {
	font-family: "icomoon";
	src: url("/fonts/icomoon.eot?sl5li9");
	src:
		url("/fonts/icomoon.eot?sl5li9#iefix") format("embedded-opentype"),
		url("/fonts/icomoon.ttf?sl5li9") format("truetype"),
		url("/fonts/icomoon.woff?sl5li9") format("woff"),
		url("/fonts/icomoon.svg?sl5li9#icomoon") format("svg");
	font-weight: normal;
	font-style: normal;
}

html {
	margin: 0;
	padding: 0;
	background-color: #fff;
	color: #142631;
}
body {
	margin: 0;
	padding: 0;
	font-family:
		Poppins, "Century Gothic", CenturyGothic, "Apple Gothic", AppleGothic,
		sans-serif;
	font-weight: 400;

	-webkit-text-size-adjust: 100%;
}

a,
.pseudo-link {
	color: #8c0017;
	text-decoration: none;
}
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: #142631;
}
.pseudo-link {
	text-decoration: underline;
	cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
form {
	margin: 0;
}

h1,
.h1 {
	margin: 0.444444444444em 0;
	font-size: 2.25em;
	font-weight: 700;
	line-height: 1.111111111111;
}
h2,
.h2 {
	margin: 0.666666666667em 0;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.166666666667;
}
h3,
.h3 {
	margin: 1em 0;
	font-size: 1.25em;
	line-height: 1.2;
	font-weight: 700;
}
h4,
.h4 {
	margin: 1.111111111111em 0;
	font-size: 1.125em;
	line-height: 1.666666666666667;
	font-weight: 700;
	letter-spacing: -0.02em;
}
h5,
.h5,
h6,
.h6 {
	font-weight: 700;
	margin: 0.625em 0;
	font-size: 1em;
	line-height: 1.25;
}
p,
ul,
ol,
table,
pre,
hr,
.page-nav,
.page-nav-detailed,
.standard-form .label,
.basket-variable .label,
.font-size-default {
	margin: 1.066666666667em 0;
	font-size: 0.9375em;
	line-height: 2;
}

.alternative-line-height {
	line-height: 1.2;
}

.font-size-down-1,
.font-size-down-1-module p,
.font-size-down-1-module ul,
.font-size-down-1-module ol,
.font-size-down-1-module table {
	margin: 1em 0;
	font-size: 0.875em;
	line-height: 1.285714285714;
}
.font-size-down-1.alternative-line-height,
.font-size-down-1-module.alternative-line-height p,
.font-size-down-1-module.alternative-line-height ul,
.font-size-down-1-module.alternative-line-height ol,
.font-size-down-1-module.alternative-line-height table {
	line-height: 1.7142857;
}

.font-size-down-2,
.font-size-down-2-module p,
.font-size-down-2-module ul,
.font-size-down-2-module ol,
.font-size-down-2-module table,
.breadcrumb {
	margin: 0.769230769231em 0;
	font-size: 0.8125em;
	line-height: 1.230769230769;
}
.font-size-down-3 {
	margin: 0.8333333333em 0;
	font-size: 0.75em;
	line-height: 1.1666666667;
}

.reset-to-base-font-size {
	font-size: 1rem !important;
	line-height: 1;
}

th,
td {
	padding: 0.666666666667em 1.066666666667em;
}
th:nth-child(1),
td:nth-child(1) {
	padding-left: 2.133333333333em;
}
th:nth-last-child(1),
td:nth-last-child(1) {
	padding-right: 2.133333333333em;
}

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: #ededed;
	color: #151a20;
	border: 1px solid #e6e6e6;
	font-family:
		Poppins, "Century Gothic", CenturyGothic, "Apple Gothic", AppleGothic,
		sans-serif;

	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;

	-webkit-background-clip: padding-box;
	-moz-background-clip: padding;
	background-clip: padding-box;

	-webkit-transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
	-o-transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
	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: 1em;
	line-height: 1.875;
}
input,
select,
textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 3.875em;
	padding: 0.9375em;
}
textarea {
	height: auto;
	margin: 0;
}
input:focus,
select:focus,
textarea:focus {
	border-color: #9cf;
}
input:-moz-focusring,
select:-moz-focusring,
textarea:-moz-focusring {
	outline: transparent;
}
input::-moz-focus-inner,
button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

input[type="radio"],
input[type="checkbox"] {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
}
input[type="search"] {
	-webkit-border-radius: 0;
	-webkit-appearance: none;
}
input[type="submit"],
input[type="button"] {
	-webkit-appearance: none;
}

input.readonly,
select.readonly,
textarea.readonly {
	background-color: #f9f9f9;
	border-color: #f9f9f9;
}
input.readonly:focus,
select.readonly:focus,
textarea.readonly:focus {
	border-color: #f9f9f9;

	box-shadow: none;
}

.alternative-form-controls input,
.alternative-form-controls select,
.alternative-form-controls textarea,
.alternative-form-controls .replace-form-control .replacement-control {
	background-color: #fff;
	color: #142631;
	border-color: #e6e6e6;
}

button,
.button,
.submit,
.pseudo-button {
	cursor: pointer;
}
.pseudo-button {
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
}
button,
.button,
.pseudo-button-default {
	background-color: #666;
	color: #fff;
	border-color: #666;
}
button:hover,
button:focus,
button:active,
.button:hover,
.button:focus,
.button:active,
a:hover .pseudo-button-default,
a:focus .pseudo-button-default,
a:active .pseudo-button-default,
.pseudo-button-default:hover,
.pseudo-button-default:focus,
.pseudo-button-default:active {
	background-color: #333;
	color: #fff;
	border-color: #333;
}
.submit,
html > body .pseudo-submit {
	background-color: #8c0017;
	color: #fff;
	border-color: #8c0017;
}
.submit:hover,
.submit:focus,
.submit:active,
html > body a:hover .pseudo-submit,
html > body a:focus .pseudo-submit,
html > body a:active .pseudo-submit,
html > body .pseudo-submit:hover,
html > body .pseudo-submit:focus,
html > body .pseudo-submit:active {
	background-color: #4d0002;
	color: #fff;
	border-color: #4d0002;
}

.button-standard {
	display: inline-block;
	vertical-align: top;
	min-height: 4em;
	padding: 1em 2em;
	border: 0;
	text-align: center;
	text-decoration: none;
	border-radius: 0.25em;
}

.button-standard-rounded {
	border-radius: 2rem;
}

.button-standard-with-icon .button-text {
	display: inline-block;
	vertical-align: top;
	position: relative;
	padding-right: 2em;
}
.button-standard-with-icon .button-text .icon-icomoon {
	position: absolute;
	top: 0.533333333333em;
	right: 0;
}

.button-small {
	display: inline-block;
	vertical-align: top;
	padding: 0.4em 1.333333333333em;
	text-align: center;
	text-decoration: none;
}
.button-small-with-icon .button-text {
	display: inline-block;
	vertical-align: top;
	position: relative;
}
.button-small-with-icon .button-text .icon-icomoon {
	position: absolute;
	top: 0.4375em;
	font-size: 1.066666666667em;
}
.button-small-with-icon-right .button-text {
	padding-right: 1.333333333333em;
}
.button-small-with-icon-right .icon-icomoon {
	right: 0;
}
.button-small-with-icon-left .button-text {
	padding-left: 1.333333333333em;
}
.button-small-with-icon-left .icon-icomoon {
	left: 0;
}

/* ----------- 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;
	display: block;
}
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;
}
.cw-4 hr {
	background-color: #696496;
}

/* ------ 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;
}
.no-js .remove-if-no-js {
	display: none;
}
.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%;

	-webkit-background-size: cover;
	background-size: cover;
}

.font-poppins {
	font-family:
		Poppins, "Century Gothic", CenturyGothic, "Apple Gothic", AppleGothic,
		sans-serif;
}
.vertical-align-middle {
	vertical-align: middle !important;
}

/* ------ Shared Modules ------ */
.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: 0.5rem;
	overflow: hidden;
}
.border-radius-small {
	border-radius: 0.25rem;
	overflow: hidden;
}
.border-radius-round {
	border-radius: 50%;
	overflow: hidden;
}

.data-table,
.webwiz_table {
	width: 100%;
	border-collapse: collapse;
}
.data-table tr,
.webwiz_table tr {
	border-bottom: 1px solid #e6e6e6;
}
.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.2;
	vertical-align: bottom;
	text-transform: uppercase;
}
.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: 1.066666666667em;
	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 {
	color: #045084;
	font-size: 1.066666666667em;
	line-height: 1;
}
.data-table .ajax-submit-button-icon-only:hover,
.data-table .ajax-submit-button-icon-only:focus,
.data-table .ajax-submit-button-icon-only:active {
	color: #142631;
}

.alternate-tbody-row-stripes tr {
	border-bottom: 0;
}
.alternate-tbody-row-stripes tbody tr:nth-child(even) {
	background-color: #e6e6e6;
}

html > body .data-table tr.system-highlight-product {
	background-color: #fefeb0;
	color: #142631;
}

/*
@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: 1px solid #e6e6e6;
		text-align: right;

		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		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 {
	display: inline-block;
	vertical-align: top;
	position: relative;
	font-weight: 700;
	text-decoration: none;
}
.link-with-icon .icon-icomoon {
	position: absolute;
	top: 0.4375em;
	font-size: 1.066666666667em;
}

.link-with-icon-right {
	padding-right: 1.333333333333em;
}
.link-with-icon-right .icon-icomoon {
	right: 0;
}

.link-with-icon-left {
	padding-left: 1.333333333333em;
}
.link-with-icon-left .icon-icomoon {
	left: 0;
}

.font-size-down-1 .link-with-icon .icon-icomoon {
	top: 0;
	font-size: 1.333333333333em;
}
.font-size-down-1 .link-with-icon-right {
	padding-right: 1.666666666667em;
}
.font-size-down-1 .link-with-icon-left {
	padding-left: 1.666666666667em;
}

.submit-form-scale-out-on-success form {
	-webkit-transition: -webkit-transform 0.25s;
	-o-transition: -o-transform 0.25s;
	transition: transform 0.25s;
}
.form-submit-success.submit-form-scale-out-on-success form {
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	-o-transform: scale(0);
	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;

	-webkit-transition: opacity 0.25s;
	-o-transition: opacity 0.25s;
	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: 0;
	left: 50%;
	font-size: 1em;
	text-align: center;

	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}
.ajax-submit-button .processing-animation:before {
	display: block;

	-webkit-animation: processing 1s linear infinite;
	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.2em;
	font-size: 1em;
}
.ajax-submit-button .ajax-message .icon-icomoon:only-child {
	margin-right: 0.2em;
}
.ajax-submit-button.ajax-success .success-message {
	display: block;
}
.ajax-submit-button.ajax-fail {
	background-color: #c00;
	color: #fff;
	border-color: #c00;

	-webkit-transition:
		background-color 0.2s,
		border-color 0.2s;
	-o-transition:
		background-color 0.2s,
		border-color 0.2s;
	transition:
		background-color 0.2s,
		border-color 0.2s;
}
.ajax-submit-button.ajax-fail .fail-message {
	display: block;
}

.ajax-submit-button-icon-only {
	background-color: #efefef;
	padding: 0.75em;
	border: 0;
	line-height: 1;

	border-radius: 50%;
}
.ajax-submit-button-icon-only:hover,
.ajax-submit-button-icon-only:focus,
.ajax-submit-button-icon-only:active {
	background-color: #d6d6d6;
}
.ajax-submit-button-icon-only .processing-animation {
	top: 0;
	font-size: 1em;
}
.ajax-submit-button-icon-only .ajax-message .icon-icomoon {
	margin: 0;
	font-size: 1em;
}

.ajax-submit-button-alternative {
	position: relative;
	padding: 0 0 0 2em;
	background-color: transparent;
	border: 0;
}
.ajax-submit-button-alternative:hover,
.ajax-submit-button-alternative:focus,
.ajax-submit-button-alternative:active {
	background-color: transparent;
}
.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 {
	-webkit-animation: processing 1s linear infinite;
	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 {
	color: #fd6363;
}
.remove-from-wish-list-button:hover,
.remove-from-wish-list-button:focus,
.remove-from-wish-list-button:active {
	color: #8a8a8a;
}

.add-to-wish-list-button {
	color: #8a8a8a;
}
.add-to-wish-list-button:hover,
.add-to-wish-list-button:focus,
.add-to-wish-list-button:active {
	color: #e45959;
}

.wish-list-button-icon-only {
	padding: 0.75em;
	background-color: #efefef;

	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 {
	position: absolute;
	font-style: normal;
	line-height: 1;

	transition: transform 0.15s;
}
.selected .hide-reveal-chevron {
	transform: rotate(90deg) !important;
}
.deselected .hide-reveal-chevron {
	transform: rotate(0deg) !important;
}

.hide-reveal-plus-minus,
.hide-reveal-plus-minus-line {
	display: block;
}
.hide-reveal-plus-minus {
	position: absolute;
}
.hide-reveal-plus-minus-line:first-child {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;

	transform: rotate(-90deg);

	-webkit-transition: -webkit-transform 0.15s;
	-o-transition: -o-transform 0.15s;
	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;
}

.replace-form-control {
	display: block;
	position: relative;
	padding: 0 0 0 1.75em;
}
.replace-form-control .text {
	display: block;
	margin-top: 0;
	margin-bottom: 0;
	color: #515259;
}
.replace-form-control input,
.replace-form-control .replacement-control {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;

	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.replace-form-control input {
	opacity: 0;
	margin: 0;
}
.replace-form-control .replacement-control {
	width: 0.875em;
	height: 0.875em;
	border: 1px solid #767676;
	border-radius: 0.25em;

	transition: background-color 0.15s;
}
.replace-form-control:hover .replacement-control,
.replace-form-control input:focus + .replacement-control {
	background-color: #efefef;
}
.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-status-indicator {
	top: 0.0625em;
	left: 0.0625em;
	font-size: 0.75em;
}

.msg {
	padding: 1em;
	text-align: center;
}
.success {
	background-color: #eaf5ea;
	color: #393;
}
.error {
	background-color: #fae5e5;
	color: #c00;
}
.info {
	background-color: #ccf;
	color: #006;
}

.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-heading {
	text-transform: uppercase;
}
.download-link .icon-icomoon {
	position: absolute;
	top: 0.7em;
	left: 0.666666666667em;
	font-size: 1.875em;
}

.download-list {
	font-size: 1em;
}
.download-list li {
	margin: 1em 0;
}

.social-media-list {
	margin: 0 -0.5em;
	font-size: 1em;
	line-height: 1;
}
.social-media-list li {
	display: inline-block;
	vertical-align: top;
	margin: 0.5em;
}
.social-media-list a {
	display: block;
	transition: color 0.2s;
}
.search-form .submit .icon-icomoon,
.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;

	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.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%;
	}
}

.embedded-video {
	padding: 0 0 56.25%;
}
.embedded-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hover-overlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	color: #fff;
	opacity: 0;

	transition: opacity 0.15s;
}
.hover-overlay {
	background-color: rgba(0, 0, 0, 0.5);
}
a:hover .hover-overlay,
a:focus .hover-overlay,
a:active .hover-overlay {
	opacity: 1;
}

.hover-overlay-content {
	position: absolute;
	width: 100%;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
}
.hover-overlay-content img {
	margin-left: auto;
	margin-right: auto;
}

.icon-icomoon,
.icon-icomoon:before {
	display: block;
}
.icon-icomoon {
	/* 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-chevron-down:before {
	content: "\e913";
}
.icon-chevron-left:before {
	content: "\e91b";
}
.icon-chevron-right:before {
	content: "\e914";
}
.icon-log-out:before {
	content: "\e915";
}
.icon-thumbs-up:before {
	content: "\e91c";
}
.icon-heart:before {
	content: "\e916";
}
.icon-saved:before {
	content: "\e917";
}
.icon-star-full:before {
	content: "\e918";
}
.icon-user:before {
	content: "\e919";
}
.icon-instagram:before {
	content: "\e909";
}
.icon-menu:before {
	content: "\e912";
}
.icon-file-empty:before {
	content: "\e90a";
}
.icon-linkedin:before {
	content: "\e90b";
}
.icon-vimeo:before {
	content: "\e90c";
}
.icon-pinterest:before {
	content: "\e90d";
}
.icon-facebook:before {
	content: "\e90e";
}
.icon-youtube:before {
	content: "\e90f";
}
.icon-twitter:before {
	content: "\e910";
}
.icon-question:before {
	content: "\e900";
}
.icon-warning:before {
	content: "\e901";
}
.icon-info:before {
	content: "\e902";
}
.icon-cross:before {
	content: "\e903";
}
.icon-tick:before {
	content: "\e904";
}
.icon-spinner:before {
	content: "\e905";
}
.icon-basket:before {
	content: "\e91a";
}
.icon-pdf:before {
	content: "\e906";
	color: #ee3f24;
}
.icon-xlsx:before {
	content: "\e907";
	color: #217346;
}
.icon-docx:before {
	content: "\e908";
	color: #2b579a;
}
.icon-search:before {
	content: "\e911";
}

.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 {
	max-width: 80em;
	margin-right: auto;
	margin-left: auto;
	padding-right: 1.25em;
	padding-left: 1.25em;
}

.wrapper.no-gutter {
	padding-right: 0;
	padding-left: 0;
}

.max-content-width-wrapper {
	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;
}

/*
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
*/

.grid-adjust-0,
.grid-adjust-0-to-1 {
	margin-right: -0.625em;
	margin-left: -0.625em;
}

.grid-adjust-1,
.grid-adjust-1-to-2 {
	margin-right: -1.25em;
	margin-left: -1.25em;
}

.gutter-0,
.gutter-0-to-1 {
	padding-right: 0.625em;
	padding-left: 0.625em;
}

.gutter-1,
.gutter-1-to-2 {
	padding-right: 1.25em;
	padding-left: 1.25em;
}

.gutter-2 {
	padding-right: 2.5em;
	padding-left: 2.5em;
}

@media all and (min-width: 48em) {
	.wrapper,
	.gutter-1-to-2 {
		padding-right: 2.5em;
		padding-left: 2.5em;
		padding-right: clamp(1.25em, 2.60417vw, 2.5em);
		padding-left: clamp(1.25em, 2.60417vw, 2.5em);
	}

	.grid-adjust-0-to-1 {
		margin-right: -1.25em;
		margin-left: -1.25em;
		margin-right: clamp(-1.25em, -1.30208vw, -0.625em);
		margin-left: clamp(-1.25em, -1.30208vw, -0.625em);
	}
	.grid-adjust-1-to-2 {
		margin-right: -2.5em;
		margin-left: -2.5em;
		margin-right: clamp(-2.5em, -2.60417vw, -1.25em);
		margin-left: clamp(-2.5em, -2.60417vw, -1.25em);
	}

	.gutter-0-to-1 {
		padding-right: 1.25em;
		padding-left: 1.25em;
		padding-right: clamp(0.625em, 1.30208vw, 1.25em);
		padding-left: clamp(0.625em, 1.30208vw, 1.25em);
	}
}

/* ------ Colourways ------ */

.cw-1,
.cw-1-base {
	background-color: #8c0017;
	color: #fff;
}
.cw-1 a {
	color: #e3e3e3;
}
.cw-1 a:hover,
.cw-1 a:focus,
.cw-1 a:active {
	color: #fff;
}

.cw-2,
.cw-2-base {
	background-color: #045084;
	color: #fff;
}
.cw-2 a {
	color: #e3e3e3;
}
.cw-2 a:hover,
.cw-2 a:focus,
.cw-2 a:active {
	color: #fff;
}

.cw-3,
.cw-3-base {
	background-color: #142631;
	color: #fff;
}
.cw-3 a {
	color: #fff;
}
.cw-3 a:hover,
.cw-3 a:focus,
.cw-3 a:active {
	color: #e3e3e3;
}

.cw-4,
.cw-4-base {
	background: rgb(56, 69, 139);
	background: linear-gradient(
		90deg,
		rgba(56, 69, 139, 1) 0%,
		rgba(76, 52, 110, 1) 100%
	);
	color: #fff;
}
.cw-4 a {
	color: #fff;
}
.cw-4 a:hover,
.cw-4 a:focus,
.cw-4 a:active {
	color: #9ebbcf;
}

.cw-neutral-030 {
	background-color: #f4f4f4;
	color: #142631;
}

.cw-neutral-050 {
	background-color: #efefef;
	color: #142631;
}

.cw-default,
.cw-default-base {
	background-color: #fff;
	color: #142631;
}
.cw-default a {
	color: #8c0017;
}
.cw-default a:hover,
.cw-default a:focus,
.cw-default a:active {
	color: #142631;
}

.alternative-link a,
.alternative-link .pseudo-link {
	color: #142631;
}
.alternative-link a:hover,
.alternative-link a:focus,
.alternative-link a:active,
.alternative-link .pseudo-link:hover,
.alternative-link .pseudo-link:focus,
.alternative-link .pseudo-link:active,
.alternative-link a:hover .pseudo-link,
.alternative-link a:focus .pseudo-link,
.alternative-link a:active .pseudo-link {
	color: #8c0017;
}

.cw-neutral-200-foreground {
	color: #8a8a8a;
}

.cw-default-foreground {
	color: #142631;
}

.cw-positive-foreground {
	color: #00a642;
}
.cw-negative-foreground {
	color: #c00;
}
.cw-warning-foreground {
	color: #e4aa0e;
}

.cw-1-foreground {
	color: #8c0017;
}
.cw-2-foreground {
	color: #045084;
}
.cw-3-foreground {
	color: #9ebbcf;
}

.keyline-default {
	border: 1px solid #e6e6e6;
}

/* ------ Modules ------ */
.site-header {
	position: relative;
	z-index: 3;
}

form#vat-switch-module {
	margin: 10px;
}

.site-header-top .grid-adjust-default {
	display: flex;
	justify-content: left;
}
.site-header-top .site-header-top-inner:has(.site-header-message) {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-column-gap: 2em;
	width: 100%;
	align-items: center;
}
.site-header-top .vat-switch-module {
	justify-self: right;
}

@media all and (max-width: 25em) {
	.site-header-top .site-header-top-inner {
		grid-template-columns: 1fr;
	}
	.site-header-message {
		display: none;
	}
	.site-header-top .vat-switch-module {
		justify-self: center;
		margin-top: 1em;
		margin-bottom: 1em;
	}
}

.logo a {
	display: block;
	margin: 0.625em auto;
}
.logo img {
	display: block;
}

@media all and (max-width: 46.1875em) {
	.site-header-masthead {
		position: relative;
	}
	.logo a {
		display: inline-block;
		vertical-align: top;
		margin-right: 9.375em;
	}
}

@media all and (min-width: 46.25em) {
	.logo,
	.adj-to-logo {
		display: inline-block;
		vertical-align: middle;

		box-sizing: border-box;
	}
	.logo {
		width: 17%;
	}
	.adj-to-logo {
		width: 83%;
		text-align: right;
	}
	.basket-summary-link-site-header {
		top: 0 !important;
	}
	.basket-summary-link-site-header a {
		color: #fff;
	}

	@supports (display: flex) {
		.site-header-masthead > .wrapper > .grid-adjust-0-to-1,
		.site-header-masthead .adj-to-logo {
			display: flex;
			align-items: center;
			justify-content: end;
		}
	}
}

.search-form-content {
	position: relative;
	max-width: 404px;
	display: grid;
	grid-template-columns: 1fr 3.75em;
}
.search-form input,
.search-form .submit {
	display: block;
}
.search-form input {
	width: 100%;
	height: 3.75em;
	min-height: auto;
	padding: 1em;
	font-size: 1em;
	line-height: 1.2727272727;
	background-color: #fff;
	color: #000;
	border-radius: 0.25rem 0 0 0.25rem;
}
.search-form .submit {
	padding: 0;
	border-radius: 0 0.25rem 0.25rem 0;
}
.search-form .submit .icon-icomoon {
	font-size: 1.25em;
}

.nav-main {
	margin-right: -1.25em;
	margin-left: -1.25em;
}
.nav-main a {
	display: block;
	padding: 0.5em 1em;
	font-size: 0.875em;
}
.nav-main ul {
	display: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	font-size: 1em;
}

.basket-summary-link-site-header {
	display: inline-block;
	position: absolute;
	/*top: 3.3975em;*/
	top: clamp(0rem, -2.4367rem + 13.9241vw, 0.6875rem);
	right: 1.25em;
	font-weight: 700;
	text-transform: uppercase;
}
.basket-summary-link-site-header a {
	display: block;
	position: relative;
	padding: 0.4166666667em 0 0.4166666667em 2.6666666667em;
}
.basket-summary-link-site-header .icon-icomoon {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2em;
}

.logged-in nav > ul > li.login-menu-item {
	display: none;
}
.logged-out nav > ul > li.my-account-menu-item {
	display: none;
}
.basket-added-success-summary-actions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(12.5em, 1fr));
	grid-column-gap: 1em;
	grid-row-gap: 1em;
}
.basket-added-success-summary-actions p {
	margin: 0;
}
.basket-added-success-summary-actions .button-standard {
	padding: 1em 1em;
}

@media all and (max-width: 22.4375em) {
	.nav-main .nav-btn {
		margin-top: 0;
		margin-bottom: 0;
	}
	.nav-main .nav-btn a {
		position: relative;
		padding-right: 2.1111111111em;
		background-color: #d8e2ea;
		color: #142631;
	}
	.nav-main .nav-btn .icon-icomoon {
		position: absolute;
		top: 0.6111111111em;
		right: 0.5555555556em;
	}
	.nav-main ul.show,
	.nav-main ul:target {
		display: block;
	}
	.basket-summary-product-items,
	.basket-summary-sub-total-price {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 1px;
		height: 1px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
}

@media all and (min-width: 22.5em) {
	.nav-main .nav-btn {
		display: none;
	}
	.nav-main > ul {
		display: block;
	}
	.nav-main > ul > li {
		display: inline-block;
		vertical-align: top;
	}
}

@media all and (min-width: 22.5em) and (max-width: 44.9375em) {
	.nav-main {
		background-color: #d8e2ea;
		color: #142631;
	}
	.nav-main > ul > li {
		width: 33.3333333333%;
	}
}

@media all and (min-width: 45em) {
	.nav-main {
		margin-right: 0;
		margin-left: 0;
		text-align: center;
	}
	.basket-summary-link-site-header {
		right: clamp(1.25em, 2.6041666667vw, 2.5em);
	}
	.nav-main li {
		position: relative;
	}
	.nav-main ul ul {
		display: none;
		position: absolute;
		background: #89acc6;
		color: #fff;
		padding: 0;
		top: 100%;
		left: 0;
		line-height: 1.2307692307692307692307692307692;
		z-index: 900;
		text-align: left;
		font-size: 1em;
		margin: 1.25em 0;
		width: max-content;
		max-width: 20em;
	}
	.nav-main ul li.sfHover > ul,
	.nav-main ul li:hover > ul {
		display: block;
	}
	.nav-main ul ul a {
		padding: 1em;
		color: #fff;
	}
	.nav-main ul ul a:active,
	.nav-main ul ul a:focus,
	.nav-main ul ul a:hover {
		color: #000;
	}
}

@media all and (min-width: 65.9375em) {
	.nav-main {
		display: inline-block;
		text-align: right;
	}
	.nav-main > ul > li {
		vertical-align: baseline;
	}
	.basket-summary-link-site-header {
		position: static;
		margin-left: 0.875em;
		margin-left: clamp(0.875em, 1.4583333333vw, 1.75em);
	}
	.site-header-top .grid-adjust-default {
		justify-content: right;
	}
	.basket-summary-link-site-header a {
		color: initial;
	}
}

.nav-focus-site-header ul {
	font-size: 1em;
	margin: 0.625em 0;
}

.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,
.site-footer-1-3 {
	display: inline-block;
	vertical-align: top;
	width: 100%;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	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%;
	}

	@supports (display: flex) {
		.member-content-panel {
			display: flex;
		}
	}
}

@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%;
	}
}

.breadcrumb {
	margin-right: 0;
	margin-left: 0;
	padding: 0;
}
.breadcrumb li,
.breadcrumb li:before {
	display: inline-block;
}
.breadcrumb li:before {
	content: "\0000a0>\0000a0";
	position: relative;
	top: 0;
	width: 0;
	height: 0;
	margin: 0 0.5em 0 0.4em;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	border-width: 0.4em 0 0.4em 0.7em;
	border-style: inset none inset solid;
	border-color: transparent #ccc;
}
.breadcrumb li:first-child:before {
	content: normal;
}
.breadcrumb a {
	text-decoration: none;
}

.page-body-text-module:empty {
	display: none;
}
.wrapper:has(
	.site-content-body #main-page-editorial .page-body-text-module:empty
) {
	display: none;
}

.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.266666666667em;
}

@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;
	}
}

@media all and (min-width: 60em) {
	.site-content-section-with-side-image .content {
		max-width: 374px;
	}

	.site-content-section-with-side-image-right .image-module {
		position: relative;
		left: 66.666666666667%;
	}
	.site-content-section-with-side-image-right .text-module {
		position: relative;
		left: -33.33333333333%;
	}

	.site-content-section-with-side-image-right .image-module .content {
		margin-right: 0;
		margin-left: auto;
	}

	.site-content-section-with-side-image-left .text-module .content {
		margin-right: 0;
		margin-left: auto;
	}
}

.feature-intro-panel-module {
	position: relative;
	z-index: 2;
}

.feature-intro-panel {
	display: none;
}
.feature-intro-panel:first-child {
	display: block;
}
.feature-intro-panel .image-module {
	height: 438px;
	padding: 0 0 36.45833333333333%;
}
.feature-intro-panel-heading {
	margin: 0;
}
.feature-intro-panel .button-standard {
	text-transform: uppercase;
}

@media all and (max-width: 59.9375em) {
	.feature-intro-panel .image-module {
		height: auto;
	}
	.feature-panel-heading {
		color: #fff;
	}
	.feature-with-carousel {
		padding-bottom: 254px;
		margin-bottom: 0 !important;
	}
}

@media all and (min-width: 60em) {
	.feature-intro-panel .image-module {
		padding: 0;
	}

	.feature-intro-panel {
		position: relative;
	}
	.feature-intro-panel-overlay {
		position: absolute;
		top: 50%;
		left: 0;
		z-index: 2;
		width: 100%;

		transform: translateY(-50%);
	}
	.feature-intro-panel-overlay-content {
		max-width: 38em;
	}
}

.top-image-module {
	position: relative;
	min-height: 180px;
}
.top-image-overlay {
	position: relative;
	z-index: 2;
	margin-right: auto;
	margin-left: auto;
}
.main-page-detail .top-image-overlay-content {
	max-width: 37.25em;
	margin-left: auto;
	margin-right: auto;
}
.top-image-overlay-content:has(.search-form-content) {
	margin-top: 3em;
	margin-bottom: 3.5em;
}
.top-image-overlay-content .search-form-content {
	margin-left: auto;
	margin-right: auto;
}

@supports (display: flex) {
	.top-image-module {
		display: flex;
		align-items: center;
	}
	.top-image-overlay {
		flex: 1 1 auto;
	}

	@media all and (min-width: 60em) {
		.top-image-overlay {
			position: static;
		}
	}
}

.feature-panel-heading {
	margin-top: 2em;
}
.feature-with-carousel {
	margin-bottom: 254px;
}
.feature-with-carousel .feature-panel-wrapper {
	margin-bottom: -254px;
}
.feature-panel.grid-item .container {
	max-width: 310px;
}

@media (min-width: 48em) {
	.feature-panel.grid-item .container {
		max-width: 330px;
	}
}

.slider-list {
	margin-right: 0;
	margin-left: 0;
	border-width: 0 0 1px;
	font-size: 1em;
	line-height: inherit;
	text-align: left;
}
.slider-list .slider-title,
.slider-list .slider-content {
	position: relative;
}
.slider-list .slider-title {
	margin: 0;
	border-width: 1px 0 0;
	font-size: 1em;
	line-height: inherit;
	z-index: 2;
}
.slider-list .slider-title:first-child {
	border-top-width: 0;
}
.slider-list .slider-title a {
	display: block;
	position: relative;
	padding: 1em 2em 1em 0;
	text-decoration: none;

	-webkit-transition:
		background-color 0.15s,
		color 0.15s;
	-o-transition:
		background-color 0.15s,
		color 0.15s;
	transition:
		background-color 0.15s,
		color 0.15s;
}
.slider-list .slider-title a:hover,
.slider-list .slider-title a:focus,
.slider-list .slider-title a:active {
	background-color: #f6f6f6;
}
.slider-list .slider-title-text {
	display: block;
	margin: 0;
}
.slider-title .hide-reveal-icon {
	position: absolute;
	top: 1.25em;
	right: 0;
	width: 1em;
}
.slider-list .slider-content {
	display: none;
	z-index: 1;
	margin: 0;
	padding: 0.0625em 0 1em;
}
.slider-list .slider-content:target {
	display: block;
}

.simple-form {
	display: inline-block;
	vertical-align: top;
	text-align: left;
}
.simple-form .label {
	display: inline-block;
	vertical-align: top;
	margin: 0 0 0.533333333333em;
}
.simple-form .visible-form-controls {
	margin-top: -0.75em;
}
.simple-form input,
.simple-form select,
.simple-form button {
	width: 100%;
	display: inline-block;
	vertical-align: top;
}
.simple-form button {
	margin-top: 0.8em;
	margin-bottom: 0;
	padding: 1em;
}
.simple-form input,
.simple-form select {
	margin-top: 0.75em;
	margin-bottom: 0;
}

.quick-order-upload-form label,
.quick-order-upload-form .label-text,
.quick-order-upload-form .label-text-small {
	display: block;
	margin: 0;
}

@media all and (min-width: 31.25em) {
	.simple-form .visible-form-controls {
		margin-left: -0.75em;
	}
	.simple-form input,
	.simple-form select {
		width: 18em;
		margin-left: 0.75em;
	}
	.simple-form .visible-form-controls .label {
		margin-left: 0.8em;
	}
	.simple-form button {
		width: auto;
		margin-left: 0.8em;
	}

	.quick-order-upload-form label {
		display: inline-block;
	}
	.quick-order-upload-form .label-text {
		display: inline-block;
		vertical-align: middle;
		margin: 0.4em 0;
		text-align: left;
	}
	.quick-order-upload-form input {
		display: inline-block;
		vertical-align: middle;
		margin-top: 0.375em;
		margin-bottom: 0.375em;
	}
}

.standard-form-module {
	max-width: 42.5em;
}
.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.533333333333em;
}
.standard-form .label.replace-form-control {
	margin: 0;
}

.standard-form li.required .label:after,
.basket-variable.required .label:after {
	content: "\0000a0*";
	color: #c00;
}

.standard-form input[type="checkbox"],
.standard-form input[type="radio"] {
	vertical-align: middle;
}
.standard-form .submit,
.standard-form .button {
	display: block;
	width: auto;
}

@supports (display: grid) {
	@media all and (min-width: 30em) {
		.contactus-form ol,
		.newmember-form ol,
		.submitcompany-form ol {
			display: grid;
			grid-template-columns: 1fr 1fr;
			column-gap: clamp(1.25rem, 2.60417vw, 2.5rem);
			row-gap: 1rem;
		}
		.contactus-form li,
		.newmember-form li,
		.submitcompany-form li {
			margin: 0;
		}
		.contactus-form .contactus-subject-container,
		.contactus-form .contactus-message-container,
		.submitcompany-form .submitcompany-environmentalimprovements-container {
			grid-column: 1 / span 2;
		}
	}
}

.video-module {
	border-width: 1px 0 0;
}
.video-module:first-child {
	border-top: 0;
}
.video-module-caption {
	text-transform: uppercase;
}

.page-video video {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
}

.child-list-options-handheld {
	border-width: 1px 0;
}
.child-list-options-handheld .option-module {
	border-width: 1px 0 0;
	border-style: solid;
	border-color: #e6e6e6;
}
.child-list-options-handheld .option-module:first-child {
	border: none;
}
.child-list-options-handheld p {
	margin: 0;
}
.child-list-options-handheld .button-small {
	display: block;
	background-color: #fff;
}

@media all and (min-width: 18.75em) {
	.child-list-options-handheld .option-module {
		display: inline-block;
		vertical-align: top;
		width: 50%;

		box-sizing: border-box;
	}
	.child-list-options-handheld .option-module {
		border-width: 0 0 0 1px;
	}
}

.product-carousel .product-grid-info-container {
	padding: 0 1.875em 0.5em;
}
.product-grid-info-container p {
	margin: 0.5em 0;
}
.product-grid-info-container:hover p.pseudo-anchor,
.product-grid-info-container:focus p.pseudo-anchor,
.product-grid-info-container:active p.pseudo-anchor {
	color: #9ebbcf;
}
.product-carousel
	.grid-item
	a:hover
	.product-grid-info-container
	p.cw-1-foreground,
.product-carousel
	.grid-item
	a:focus
	.product-grid-info-container
	p.cw-1-foreground,
.product-carousel
	.grid-item
	a:active
	.product-grid-info-container
	p.cw-1-foreground {
	color: #36478d;
}
.product-grid-item-heading:has(.icon-icomoon),
.product-info-heading:has(.icon-icomoon) {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-column-gap: 0.5em;
	align-items: end;
	align-items: center;
}
.product-grid-item-heading .icon-icomoon {
	font-size: 1.25em;
}
.product-detail-price-module p {
	margin: 0;
}
.product-info-module .product-info {
	padding-left: 2em;
	padding-right: 2em;
}

@media all and (min-width: 20em) {
	/*
  .product-detail-total-price,
  .product-detail-unit-price {
    display:inline-block
  }
  */
	.product-detail-unit-price {
		border-left: 1px solid #dfdfdf;
	}
}

.company-info-panel-summary-list dd {
	font-weight: 700;
	margin: 0 0 2em;
}
.company-info-panel-summary-list dd:first-of-type {
	margin-bottom: 1em;
}
.product-info-heading .icon-icomoon {
	font-size: 1.333333333333333em;
}
.product-info-heading {
	margin-top: 1.25em;
}

@media all and (min-width: 22.5em) {
	@supports (display: grid) {
		.company-info-panel-summary-list {
			display: grid;
			grid-template-columns: auto 1fr;
			column-gap: 2em;
		}
	}
}

.product-detail-purchase-form .quantity-to-purchase {
	width: 6em;
	text-align: center;
}
.product-detail-purchase-form-purchase-controls .label,
.product-detail-purchase-form-purchase-controls button,
.product-detail-purchase-form-purchase-controls input {
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.625em;
	margin-left: 0.625em;
}
.button-cw-2 {
	background-color: #142631;
	color: #fff;
	border-color: #142631;
}
.product-detail-purchase-form .submit.ajax-submit-button {
	margin-right: 0;
}

.product-filter-heading {
	margin: 0 4.444444444444em 0.666666666667em 0;
}
.clear-all-module {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
}
.clear-all-module a {
	text-decoration: none;
}
.product-filter .toggle-filter-visibility-trigger {
	display: block;
	position: relative;
	padding: 1em 1.5em 1em 0;
	border-top: 1px solid #e6e6e6;
}
.product-filter .toggle-filter-visibility-trigger .text {
	display: block;
	margin: 0;
	font-weight: 700;
}
.product-filter .toggle-filter-visibility-trigger .hide-reveal-icon {
	top: 1.222222222222em;
	right: 0;
	font-size: 1.125em;
}
.product-filter .section ul {
	margin: 0;
	padding: 0 0 0.625em;
}
.product-filter .section li {
	margin: 0.25em 0 0;
}
.product-filter .section li:first-child {
	margin-top: 0;
}

.product-filter .submit {
	display: block;
	width: 100%;
}

.js .product-filter .section ul {
	display: none;
}

.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: #8c0017;
}

.product-filter .toggle-filter-visibility-trigger .icon-icomoon {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.75em;
}
.product-filter .toggle-filter-visibility-trigger.selected .icon-icomoon {
	rotate: 180deg;
	transform: translateY(50%);
}

.child-list-options-module-heading {
	margin-top: 0;
}
.child-list-options-form {
	padding: 0.5em 0.75em;
}
.child-list-options-form ol {
	margin: 0;
}
.child-list-options-form li {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	padding: 0.5em 0.75em;

	box-sizing: border-box;
}
.child-list-options-form .label {
	display: inline-block;
	margin: 0.533333333333em;
	margin-left: 0;
}
.child-list-options-form select,
.child-list-options-form input {
	display: inline-block;
	height: auto;
	padding: 0.625em 0.75em;
}
.apply-child-list-options-module .submit {
	display: block;
	width: 100%;
	margin: 0;
}

@supports (display: flex) {
	@media all and (min-width: 22.5em) and (max-width: 59.9375em) {
		.child-list-options-form .visible-form-controls {
			display: flex;
		}
		.child-list-options-form .visible-form-controls .label {
			flex: 1 1 auto;
		}
	}
}

@media all and (max-width: 59.9375em) {
	.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: 22.5em) {
	.child-list-options-form select,
	.child-list-options-form input {
		width: auto;
	}
}

@media all and (min-width: 60em) {
	.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,
	.child-list-options-form .apply-child-list-options-module {
		display: none;
	}

	.child-list-options-handheld-target.mfp-hide {
		display: block !important;
	}
}

.grid-child {
	margin: 0 auto;
	padding: 0;
	font-size: 1em;
	list-style: none;
}
.grid-item {
	width: 100%;
}
.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.feature-carousel .no-img {
	padding: 0 0 50.72463768115942%;
}
.grid-child.grid-child-product .no-img {
	padding: 0 0 65.51724137931034%;
	background-color: rgba(255, 255, 255, 0.2);
}

.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;
}
.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-adjust-0-to-1 .grid-child {
	margin: -0.625em auto;
}
.grid-adjust-0 .grid-child .container,
.grid-adjust-0-to-1 .grid-child .container {
	margin: 0.625em 0;
}
.grid-adjust-0 .grid-child .content,
.grid-adjust-0-to-1 .grid-child .content {
	margin: 0 0.625em;
}

@media all and (min-width: 48em) {
	.grid-adjust-0-to-1 .grid-child {
		margin-top: -1.25em;
		margin-bottom: -1.25em;
		margin-top: clamp(-1.25em, -1.30208vw, -0.625em);
		margin-bottom: clamp(-1.25em, -1.30208vw, -0.625em);
	}
	.grid-adjust-0-to-1 .grid-child .container {
		margin: 1.25em 0;
		margin: clamp(0.625em, 1.30208vw, 1.25em) 0;
	}
	.grid-adjust-0-to-1 .grid-child .content {
		margin: 0 1.25em;
		margin: 0 clamp(0.625em, 1.30208vw, 1.25em);
	}
}

/* 3 up grid */

@media all and (min-width: 48em) {
	.grid-child-3-up .grid-item {
		width: 50%;
	}
}

@media all and (min-width: 60em) {
	.grid-child-3-up .grid-item {
		width: 33.3333333333%;
	}
}

@media all and (max-width: 495px) {
	.site-content-3-4 .grid-child-3-up .grid-item .container {
		max-width: 310px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media all and (min-width: 496px) {
	.site-content-3-4 .grid-child-3-up .grid-item {
		width: 50%;
	}
}
@media all and (min-width: 640px) {
	.site-content-3-4 .grid-child-3-up .grid-item {
		width: 33.333333333%;
	}
}

/* 4 up grid */

@media all and (min-width: 30em) {
	.grid-child-4-up .grid-item {
		width: 50%;
	}
}

@media all and (min-width: 48em) {
	.grid-child-4-up .grid-item {
		width: 33.3333333333333%;
	}

	@media all and (max-width: 59.9375em) {
		.grid-child-4-up.no-3-up .grid-item {
			width: 50%;
		}
	}
}

@media all and (min-width: 60em) {
	.grid-child-4-up .grid-item {
		width: 25%;
	}
}

.simple-panel .content {
	padding-top: 1em;
	padding-bottom: 1em;
	text-align: left;
}
.simple-panel .body-text-module ul {
	list-style: disc;
}
.simple-panel .button-standard {
	width: 100%;
}
.simple-panel .standard-form a {
	text-decoration: underline;
}

.page-nav,
.page-nav-detailed {
	text-align: center;
}
.page-nav .page-list {
	font-weight: 700;
}
.page-nav .page-list a {
	font-weight: 400;
}
.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: #142631;
}
.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;
	}
}

/* product styles */

.flash-text {
	position: absolute;
	top: 0.625em;
	left: 0;
	z-index: 3;
	padding: 0.5em 1em;
}
.flash-text p {
	margin: 0;
	font-weight: 700;
	text-transform: uppercase;
}

.product-table-purchase-form .purchase-button {
	display: block;
	margin-right: 0;
	margin-left: auto;
}

/* member styles */

.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 1em;
	border-left: 3px solid #8a8a8a;
}
.member-dashboard-summary-list li:first-child {
	border-left: 0;
}
.member-dashboard-summary-list li p {
	margin: 0;
}

.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 {
	display: block;
	position: relative;
	padding: 0.5625em 1.5em 0.5625em 2.5em;
	color: #151a20;
	text-decoration: none;
}
.nav-member-content-panel a:hover,
.nav-member-content-panel a:focus,
.nav-member-content-panel a:active {
	color: #8a8a8a;
}
.nav-member-content-panel a.selected {
	color: #8c0017;
}
.nav-member-content-panel .bullet-icon {
	position: absolute;
	top: 1em;
	left: 0;
	width: 1em;
	font-size: 1.375em;
	text-align: center;
}
.nav-member-content-panel .arrow-icon {
	position: absolute;
	top: 3.75em;
	right: 1em;
	font-size: 0.5em;
}

.member-dashboard-grid-panel {
	width: 100%;
}
.member-dashboard-grid-panel .content {
	position: relative;
	padding: 0.5em 1.5em;
	text-align: left;
}
.member-dashboard-grid-panel-heading {
	position: relative;
	padding-left: 1.75em;
}
.member-dashboard-grid-panel .bullet-icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	font-size: 1.25em;
	text-align: center;
}

.member-dashboard-summary-grid-panel-value {
	font-weight: 700;
}

@media all and (min-width: 40em) {
	.member-dashboard-grid-panel {
		width: 50%;
	}
}

@media all and (min-width: 57.5em) and (max-width: 59.9375em),
	all and (min-width: 80em) {
	.member-dashboard-grid-panel {
		width: 33.3333333333%;
	}
}

@media all and (min-width: 80em) {
	.site-content-4-5 .grid-adjust-member-dashboard-grid {
		margin-right: -0.6875em;
		margin-left: -0.6875em;
	}
}

.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;
}

/* 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-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: 1em;
}
/*
.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 {
	position: relative;
	margin: 0;
	padding-left: 1.333333333333em;
}
.basket-form .type-checkbox input {
	position: absolute;
	top: 50%;
	left: 0;

	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.basket-line-item th,
.basket-line-item td {
	padding-top: 1.6em;
	padding-bottom: 1.6em;
}
.basket-line-item .remove-item-module {
	/*
	margin-top: 0.5em;
	*/
}
.basket-line-item .remove-link {
	font-weight: 400;
}

.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.533333333333em;
	padding-bottom: 0.533333333333em;
}
.basket-summary-table th:nth-child(1) {
	padding-left: 0;
	font-weight: 400;
	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.533333333333em;
}
.basket-variable .label {
	display: inline-block;
	vertical-align: top;
}

.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 {
	-webkit-animation: processing 1s linear infinite;
	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;
}

.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: 1.066666666667em !important;
		padding-left: 1.066666666667em !important;
		border-bottom: 1px solid #e6e6e6;
		text-align: right;

		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		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: 1em;
			margin-bottom: 3em;
		}
	}
}

/* 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;
}

/* quick order styles */
.quick-order-search-module {
	visibility: hidden;
}
.quick-order-search-module.show {
	visibility: visible;
}

/* 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;
}
.outstanding-invoices-form .submit.show {
	visibility: visible;
}

/* invoice popup styles */
.invoice-print-instructions {
	background-color: #eee;
	border: 1px solid #999;
}

.invoice-product-list-table thead tr {
	background-color: #ccc;
	border-bottom: 1px solid #999;
}
.invoice-product-list-table .first-invoice-total-row {
	border-top: 1px solid #999;
}
.invoice-product-list-table .first-invoice-total-row th,
.invoice-product-list-table .first-invoice-total-row td {
	padding-top: 0.666666666667em;
}

.invoice-seller-details {
	padding-right: 0.3125em;
	padding-left: 0.3125em;
}

.invoice-seller-company-numbers-table > tr > th,
.invoice-seller-company-numbers-table > tbody > tr > th {
	padding-right: 0.416666666667em;
}

.footer-section {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.footer-section-main {
	padding: 2.25em 0;
}
.footer-panel li {
	margin: 1.0769230769em 0;
}

@media all and (min-width: 30em) {
	.site-footer-1-3 {
		width: 50%;
	}
	@media all and (max-width: 47.9375em) {
		.site-footer-1-3:nth-child(odd):last-child {
			width: 100%;
		}
	}
}

@media all and (min-width: 48em) {
	.site-footer-1-3 {
		width: 33.3333333333%;
	}
}

.cookies-eu-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 4;
	width: 100%;
	color: #fff;
}
.cookies-eu-banner {
	background-color: rgba(0, 0, 0, 0.75);
}
.cookies-eu-banner .pseudo-button {
	margin-left: 0.266666666667em;
	padding: 0.133333333333em 0.4em;
	vertical-align: baseline;
}

@media all and (max-width: 47.9375em) {
	.cookies-eu-banner .text {
		display: block;
		margin-bottom: 1em;
	}
	.cookies-eu-banner .pseudo-button {
		margin-left: 0;
	}
}

button.add-to-basket-button-disabled {
	/* background-color: #f4f4f4 !important; */
	background-color: #433d7d29 !important;
	border-color: #e5e5e5 !important;
	color: #483875;
	pointer-events: none !important;
}

/*Price-filter*/
/* .price-slider-container {
  position: relative;
  height: 6px;
  background: #ddd;
  border-radius: 3px;
  margin: 10px 20px 20px 20px;
}

.price-slider-range {
  position: absolute;
  height: 100%;
  background: #2a67ae;
  z-index: 2;
}

.price-slider-thumb {
  position: absolute;
  top: -6px;
  width: 20px;
  height: 18px;
  background: #2a67ae;
  border-radius: 50%;
  cursor: pointer;
  z-index: 3;
  transform: translateX(-50%);
	touch-action: none;
}

.price-slider-thumb:hover {
  background: #0056b3;
}

.price-values {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px; 
}

.price-slider-thumb.min-thumb {
    transform: translateX(-100%);
}

.price-slider-thumb.max-thumb {
    transform: translateX(0%);
} */

/*Price-filter*/
.price-slider-container {
	position: relative;
	height: 6px;
	background: #ddd;
	border-radius: 3px;
	margin: 10px 20px 20px 20px;
}

.price-slider-range {
	position: absolute;
	height: 100%;
	background: #2a67ae;
	z-index: 2;
}

.price-slider-thumb {
	position: absolute;
	top: -6px;
	width: 20px;
	height: 18px;
	background: #2a67ae;
	border-radius: 50%;
	cursor: pointer;
	z-index: 3;
	transform: translateX(-50%);
	touch-action: none;
}

.price-slider-thumb:hover {
	background: #0056b3;
}

.price-values {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.price-slider-thumb.min-thumb {
	transform: translateX(-100%);
}

.price-slider-thumb.max-thumb {
	transform: translateX(0%);
}

/*Price-filter (INC VAT)*/
.price-inc-vat-slider-container {
	position: relative;
	height: 6px;
	background: #ddd;
	border-radius: 3px;
	margin: 10px 20px 20px 20px;
}

.price-inc-vat-slider-range {
	position: absolute;
	height: 100%;
	background: #2a67ae;
	z-index: 2;
}

.price-inc-vat-slider-thumb {
	position: absolute;
	top: -6px;
	width: 20px;
	height: 18px;
	background: #2a67ae;
	border-radius: 50%;
	cursor: pointer;
	z-index: 3;
	transform: translateX(-50%);
	touch-action: none;
}

.price-inc-vat-slider-thumb:hover {
	background: #0056b3;
}

.price-inc-vat-values {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.price-inc-vat-slider-thumb.min-thumb {
	transform: translateX(-100%);
}

.price-inc-vat-slider-thumb.max-thumb {
	transform: translateX(0%);
}

.filter-row-price .price-filter-block {
	display: block;
	width: 100%;
}

.filter-row-price .price-slider-container,
.filter-row-price .price-inc-vat-slider-container {
	margin-left: 0;
	margin-right: 0;
}

.filter-row-price {
	padding: 0 30px;
}

/* ------ VAT switch styles ------ */

.ex-vat-price,
.inc-vat-price {
	display: none;
}
.show-ex-vat-pricing .ex-vat-price {
	display: block;
}
.show-inc-vat-pricing .inc-vat-price {
	display: block;
}

.vat-switch-module {
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
	text-transform: lowercase;
}
.vat-switch-module button {
	display: inline-block;
	margin: 0;
	padding: 0;
	background-color: transparent;
	font-weight: 400;
	color: #fff;
	border: none;
}
.vat-switch-module .switch-module {
	display: inline-block;
	vertical-align: middle;
	width: 2.75em;
	margin: 0 0.1875em;
	padding: 0.125em;
	background-color: #fff;
	cursor: pointer;

	border-radius: 1.5em;
}
.vat-switch-module .switch {
	display: block;
	width: 1.25em;
	height: 1.25em;
	background-color: #fec02f;
	margin-left: auto;

	border-radius: 50%;
}

.show-inc-vat-pricing .inc-vat-link,
.show-ex-vat-pricing .ex-vat-link {
	margin: 0;
	pointer-events: none;
}
.show-inc-vat-pricing .vat-switch-module .switch {
	margin-left: 0;
	margin-right: auto;
}

.product-detail-price-module .price-suffix,
.product-detail-price-module .product-detail-unit-price p,
.product-detail-price-module .product-detail-total-price p {
	white-space: nowrap;
}

.product-detail-price-module .inc-vat-price,
.company-info-panel-summary-list .price-suffix {
	margin-left: 0.6em;
}
.product-detail-price-module .price-suffix {
	margin-left: 0.35em;
}

/* default: show EX, hide INC */
#content .inc-vat-price {
	display: none;
}
#content .ex-vat-price {
	display: inline-block;
}

#content.show-inc-vat-pricing .inc-vat-price {
	display: inline-block;
}
#content.show-inc-vat-pricing .ex-vat-price {
	display: none;
}

#basket-link-site-header-module .inc-vat-price {
	display: none !important;
}
#basket-link-site-header-module .ex-vat-price {
	display: inline !important;
}

/* when INC mode is active anywhere */
.show-inc-vat-pricing #basket-link-site-header-module .inc-vat-price {
	display: inline !important;
}
.show-inc-vat-pricing #basket-link-site-header-module .ex-vat-price {
	display: none !important;
}

/* when EX mode is active */
.show-ex-vat-pricing #basket-link-site-header-module .ex-vat-price {
	display: inline !important;
}
.show-ex-vat-pricing #basket-link-site-header-module .inc-vat-price {
	display: none !important;
}
