@keyframes processing {
   100% {
      transform: rotate(360deg);
   }
}

@font-face {
   font-family: 'icomoon';
   src: url('/fonts/icomoon.eot?rylt0y');
   src: url('/fonts/icomoon.eot?rylt0y#iefix') format('embedded-opentype'),
      url('/fonts/icomoon.ttf?rylt0y') format('truetype'),
      url('/fonts/icomoon.woff?rylt0y') format('woff'),
      url('/fonts/icomoon.svg?rylt0y#icomoon') format('svg');
   font-weight: normal;
   font-style: normal;
}

:root {

   --colour-primary-blue: #00528a;
   --colour-primary-grey: #999;

   --colour-neutral-000: #fff;
   --colour-neutral-030: #f4f4f4;
   --colour-neutral-050: #efefef;
   --colour-neutral-100: #e6e6e6;
   --colour-neutral-200: #8a8a8a;
   --colour-neutral-900: #000;

   --colour-default-bg: #fff;
   --colour-default-fg: #000;
   --colour-a: var(--colour-primary-blue);
   --colour-a-hover: #8a8a8a;

   --keyline-default: 1px solid var(--colour-neutral-100);

   --form-control-bg: #f4f4f4;
   --form-control-fg: #151a20;
   --form-control-border: 1px solid #e6e6e6;

   --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 * 1em);
   --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-barlow-condensed: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
   --font-libre-franklin: "Libre Franklin", Arial, sans-serif;

   --font-default: var(--font-barlow-condensed);
}

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: 400;

   -webkit-text-size-adjust: 100%;
}

a,
.pseudo-link {
   color: var(--colour-a);
   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: var(--colour-a-hover);
}

.pseudo-link {
   text-decoration: underline;
   cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
form {
   margin: 0;
}

h1,
.h1 {
   margin: 0.6em 0;
   font-size: 2.5em;
   line-height: 1;
}

h2,
.h2,
.font-size-up-3 {
   margin: 0.75em 0;
   font-size: 2em;
   line-height: 1.1875;
}

h3,
.h3,
.font-size-up-2 {
   margin: 1em 0;
   font-size: 1.5em;
   line-height: 1.25;
}

h4,
.h4,
.font-size-up-1 {
   margin: 0.727272727273em 0;
   font-size: 1.375em;
   line-height: 1.181818181818;
}

h5,
.h5,
h6,
.h6 {
   margin: 0.888888888889em 0;
   font-size: 1.125em;
   line-height: 1.333333333333;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.font-2 {
   font-family: var(--font-libre-franklin);
   font-weight: 600;
}

p,
ul,
ol,
table,
pre,
hr,
.page-nav,
.page-nav-detailed,
.standard-form .label,
.basket-variable .label,
.font-size-default {
   margin: 0.888888888889em 0;
   font-size: 1.125em;
   line-height: 1.333333333333;
}

.alternative-line-height {
   line-height: 1;
}

.font-size-down-1,
.font-size-down-1-module :is(p, ul, ol, table),
.breadcrumb {
   margin: 1em 0;
   font-size: 1em;
   line-height: 1.125;
}

.font-size-down-2,
.font-size-down-2-module :is(p, ul, ol, table) {
   margin: 1.066666666667em 0;
   font-size: 0.9375em;
   line-height: 1.2;
}

.font-size-down-3 {
   margin: 1.142857142857em 0;
   font-size: 0.875em;
   line-height: 1.2857142857;
}

.reset-to-base-font-size {
   font-size: 1rem !important;
   line-height: 1;
}

th,
td {
   padding: 0.555555555556em 0.888888888889em;
}

th:nth-child(1),
td:nth-child(1) {
   padding-left: 1.777777777778em;
}

th:nth-last-child(1),
td:nth-last-child(1) {
   padding-right: 1.777777777778em;
}

b,
strong,
th {
   font-weight: 600;
}

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);

   box-sizing: border-box;
   background-clip: padding-box;

   transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
   border-radius: 0.25rem;
}

input,
select,
textarea,
button {
   font-size: 1.125em;
   line-height: 1.5;
}

input,
select,
textarea {
   display: block;
   width: 100%;
   max-width: 100%;
   height: 3.1111111111em;
   padding: 0.8333333333em;
}

html>body textarea {
   height: auto;
   margin: 0;
}

input:focus,
select:focus,
textarea:focus {
   border-color: #9cf;

   box-shadow: 0 0 0.222222222222em -0.055555555556em #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 {
   --form-control-bg: var(--colour-neutral-000);
   --form-control-fg: var(--colour-default-fg);
}

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-primary-blue);
   --button-fg: var(--colour-neutral-000);
   --button-border-colour: var(--colour-primary-blue);
   --button-hover-bg: var(--colour-neutral-900);
   --button-hover-fg: var(--colour-neutral-000);
   --button-hover-border-colour: var(--colour-neutral-900);
}

html>body .button-cw-1 {
   background-color: var(--colour-neutral-900);
   color: var(--colour-neutral-000);
   border-color: var(--colour-neutral-900);
}

html>body .button-cw-1:hover,
html>body .button-cw-1:focus,
html>body .button-cw-1:active,
html>body a:hover .button-cw-1,
html>body a:focus .button-cw-1,
html>body a:active .button-cw-1 {
   background-color: var(--colour-primary-blue);
   color: var(--colour-neutral-000);
   border-color: var(--colour-primary-blue);
}

.button-standard {
   display: inline-block;
   vertical-align: top;
   min-height: 3.111111111111em;
   padding: 0.833333333333em 1.666666666667em;
   border: 0;
   font-weight: 600;
   text-align: center;
}

.button-standard-rounded {
   border-radius: 1.75rem;
}

.button-standard-with-icon .button-text {
   display: inline-block;
   vertical-align: top;
   position: relative;
   padding-right: 1.666666666667em;
}

.button-standard-with-icon .button-text .icon-icomoon {
   position: absolute;
   top: 0.3125em;
   right: 0;
   font-size: 0.8888888889em;
}

.button-small {
   display: inline-block;
   vertical-align: top;
   padding: 0.333333333333em 1.111111111111em;
   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.25em;
   font-size: 0.888888888889em;
}

.button-small-with-icon-right .button-text {
   padding-right: 1.111111111111em;
}

.button-small-with-icon-right .icon-icomoon {
   right: 0;
}

.button-small-with-icon-left .button-text {
   padding-left: 1.111111111111em;
}

.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;
}

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;
}

.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;
}

.icomoon-ul-bullet-module ul,
.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;
}

.font-1 {
   font-family: var(--font-barlow-condensed);
}

.font-default {
   font-family: var(--font-default);
}

/* ------ 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;
}

.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;
}

/* 18px font-size assumed */
.icomoon-ul-bullet-module ul {
   margin: 1.3333333333em 0;
}

.icomoon-ul-bullet-module ul li {
   position: relative;
   margin: 1.3333333333em 0;
   padding: 0 0 0 1.7777777778em;
}

.icomoon-ul-bullet-module ul li:before {
   display: block;
   position: absolute;
   top: 0;
   left: 0;
   font-size: 1.3333333333em;
   color: #8cc63e;
}

@supports (display: grid) {

   .list-columns-module ul,
   .list-columns-module ol {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
      column-gap: clamp(1.25rem, 2.6041666667vw, 2.5rem);
      row-gap: 1.5rem;
   }

   .list-columns-module ul li,
   .list-columns-module ol li {
      margin: 0;
   }
}

.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;
   vertical-align: bottom;
}

.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 input {
   height: 2.625em;
}

.data-table .quantity-table-col,
.data-table .quantity-to-purchase,
.data-table .basket-line-quantity {
   width: 4em;
}

.data-table .image-table-col {
   width: 120px;
}

.data-table .image-module {
   max-width: 120px;
}

.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: #000;
   --button-hover-fg: var(--colour-primary-blue);

   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-100);
}

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 {
   display: inline-block;
   vertical-align: top;
   position: relative;
   font-weight: 600;
   text-decoration: none;
}

.link-with-icon .icon-icomoon {
   position: absolute;
   top: 0.25em;
   font-size: 0.888888888889em;
}

.link-with-icon-right {
   padding-right: 1.111111111111em;
}

.link-with-icon-right .icon-icomoon {
   right: 0;
}

.link-with-icon-left {
   padding-left: 1.111111111111em;
}

.link-with-icon-left .icon-icomoon {
   left: 0;
}

.font-size-down-1 .link-with-icon .icon-icomoon {
   top: 0.25em;
   font-size: 1em;
}

.font-size-down-1 .link-with-icon-right {
   padding-right: 1.25em;
}

.font-size-down-1 .link-with-icon-left {
   padding-left: 1.25em;
}

.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: #c00;
   color: #fff;
   border-color: #c00;

   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: #fd6363;
   --button-hover-fg: #8a8a8a;
}

.add-to-wish-list-button {
   --button-fg: #8a8a8a;
   --button-hover-fg: #e45959;
}

.wish-list-button-icon-only {
   padding: 0.75em;
   background-color: var(--colour-neutral-050);

   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);

   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;
}

.replace-form-control input,
.replace-form-control .replacement-control {
   display: block;
   position: absolute;
   top: 0.25em;
   left: 0;
}

.replace-form-control input {
   opacity: 0;
   margin: 0;
}

.replace-form-control .replacement-control {
   width: 1.125em;
   height: 1.125em;
   border: 1px solid var(--colour-neutral-100);

   transition: background-color 0.15s;
}

.replace-form-control:hover .replacement-control,
.replace-form-control input:focus+.replacement-control {
   background-color: var(--colour-neutral-050);
}

.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: 1em;
}

.replace-checkbox .replacement-control {
   border-radius: 0.25rem;
}

.msg {
   padding: 1em;
   text-align: center;
}

.msg ul {
   display: inline-block;
   text-align: left;
}

.success {
   background-color: #eaf5ea;
   color: #393;

}

.error {
   background-color: #fae5e5;
   color: #c00;

}

.info {
   background-color: #ccf;
   color: #006;


}

.download-list {
   font-size: 1em;
}

.download-list li {
   margin: 1em 0;
}

.download-list a {
   display: block;
   position: relative;
   padding: 0.4375em 0 0.4375em 2.5em;
}

.download-list-heading {
   margin: 0;
   font-weight: 400;
}

.download-list .icon-icomoon {
   position: absolute;
   top: 0;
   left: 0;
   font-size: 2em;
}

.social-media-list {
   margin: -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;
   padding: 0.75em;
   background-color: #1a1a1a;
   color: #fff;

   border-radius: 50%;

   transition: background-color 0.2s, text-shadow 0.2s;
}

.social-media-list a:hover,
.social-media-list a:focus,
.social-media-list a:active {
   background-color: #262626;
   color: #fff !important;

   text-shadow: 0 0 2px #fff;
}

.social-media-list .icon-icomoon {
   font-size: 1em;
}

.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%);
}

.embedded-map {
   padding: 0 0 576px;
}

.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-default {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   color: var(--colour-neutral-000);
   opacity: 0;

   transition: opacity 0.15s;
}

.hover-overlay-default {
   background-color: rgba(0, 0, 0, 0.05);
}

.hover-overlay-default-darker {
   background-color: rgba(0, 0, 0, 0.2);
}

.hover-overlay-default .icon-icomoon {
   position: absolute;
   top: 50%;
   left: 0;
   width: 100%;
   font-size: 0;
   text-align: center;

   transform: translateY(-50%);

   transition: font-size 0.2s;
}

a:hover .hover-overlay-default,
a:focus .hover-overlay-default,
a:active .hover-overlay-default,
.mfp-gallery-initialised .content:hover .hover-overlay-default,
.mfp-gallery-initialised .content:focus .hover-overlay-default,
.mfp-gallery-initialised .content:active .hover-overlay-default {
   opacity: 1;
}

.mfp-gallery-initialised .content:hover .icon-icomoon,
.mfp-gallery-initialised .content:focus .icon-icomoon,
.mfp-gallery-initialised .content:active .icon-icomoon {
   font-size: 3em;
}

.icon-icomoon,
.icon-icomoon:before {
   display: block;
}

.icomoon-ul-bullet-module ul li:before,
.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-stars:before {
	content: "\e92c";
}

.icon-localoffer:before {
	content: "\e925";
}

.icon-user-tick:before {
   content: "\e913";
}

.icon-external-link:before {
   content: "\e91d";
}

.tick-square-ul-bullet-module li:before,
.icon-check-square:before {
   content: "\e926";
}

.icon-list:before {
   content: "\e927";
}

.icon-play-circle:before {
   content: "\e928";
}

.icon-award:before {
   content: "\e929";
}

.icon-mail:before {
   content: "\e92a";
}

.icon-shopping-cart:before {
   content: "\e92b";
}

.icon-arrow-left:before {
   content: "\e92d";
}

.icon-arrow-right:before {
   content: "\e92e";
}

.icon-phone:before {
   content: "\e92f";
}

.icon-carbon-neutral:before {
   content: "\e930";
}

.icon-user:before {
   content: "\e931";
}

.icon-delivery-van:before {
   content: "\e90b";
}

.icon-file-cross:before {
   content: "\e90d";
}

.icon-twitter:before {
   content: "\e918";
}

.icon-xls:before {
   content: "\e902";
   color: #217346;
}

.icon-xlsx:before {
   content: "\e902";
   color: #217346;
}

.icon-doc:before {
   content: "\e903";
   color: #2b579a;
}

.icon-docx:before {
   content: "\e903";
   color: #2b579a;
}

.icon-pdf:before {
   content: "\e904";
   color: #ee3f24;
}

.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-search:before {
   content: "\e91f";
}

.icon-basket:before {
   content: "\e91a";
}

.icon-bin:before {
   content: "\e91b";
}

.icon-heart:before {
   content: "\e91c";
}

.icon-home:before {
   content: "\e91e";
}

.icon-chevron-left:before {
   content: "\e907";
}

.icon-chevron-right:before {
   content: "\e90a";
}

.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-cross:before {
   content: "\e916";
}

.icon-tick:before {
   content: "\e917";
}

.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;
}

/* ------ 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;
   margin: 0.75em 0;
   line-height: 1;
}

.vat-switch-module button {
   display: inline-block;
   margin: 0;
   padding: 0;
   background-color: transparent;
   border: 0;
   font-weight: 700;
   text-decoration: none;
}

.vat-switch-module .switch-module {
   display: inline-block;
   vertical-align: middle;
   width: 2.75em;
   margin: 0 0.1875em;
   padding: 0.125em;

   border-radius: 1.5em;
}

.vat-switch-module .switch {
   display: block;
   width: 1.25em;
   height: 1.25em;

   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: auto;
}

/* ------ Layout ------ */

.wrapper {
   max-width: 88.75em;
   margin-right: auto;
   margin-left: auto;
   padding-right: 1.25em;
   padding-left: 1.25em;
}

.wrapper-2 {
   max-width: 65em;
}

.wrapper-3 {
   max-width: 95em;
}

.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: 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,
.grid-adjust-1-to-2 {
   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,
.gutter-0-to-1 {
   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,
.gutter-1-to-2 {
   padding-right: var(--gutter-1);
   padding-left: var(--gutter-1);
}

.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 {
   background-color: var(--colour-neutral-900);
   color: var(--colour-neutral-000);
}

.cw-1 {
   --colour-a: var(--colour-neutral-000);
   --colour-a-hover: var(--colour-primary-grey);
}

.cw-2,
.cw-2-base {
   background-color: var(--colour-primary-blue);
   color: var(--colour-neutral-000);
}

.cw-2 {
   --colour-a: var(--colour-neutral-000);
}

.cw-3,
.cw-3-base {
   background-color: #a52768;
   color: #fff;
}

.cw-3 a {
   color: #fff;
}

.cw-4,
.cw-4-base {
   background-color: #f7931d;
   color: #fff;
}

.cw-4 a {
   color: #fff;
}

.cw-5,
.cw-5-base,
.cw-5-overlay,
.cw-positive {
   background-color: #8cc63e;
   color: #fff;
}

.cw-5-overlay {
   background-color: rgba(140, 198, 62, 0.9);
}

.cw-5 a {
   color: #fff;
}

.cw-6,
.cw-6-base,
.cw-negative {
   background-color: #ed1c24;
   color: #fff;
}

.cw-6 a {
   color: #fff;
}

.cw-neutral-030 {
   background-color: var(--colour-neutral-030);
   color: var(--colour-neutral-900);
}

.cw-neutral-050 {
   background-color: var(--colour-neutral-050);
   color: var(--colour-neutral-900);
}

.cw-neutral-100 {
   background-color: var(--colour-neutral-100);
   color: var(--colour-neutral-900);
}

.cw-neutral-200 {
   background-color: var(--colour-neutral-200);
   color: var(--colour-neutral-000);
}

.cw-default-overlay {
   background-color: rgba(255, 255, 255, 0.5);
   color: var(--colour-neutral-900);
}

.cw-default,
.cw-default-base {
   background-color: var(--colour-default-bg);
   color: var(--colour-neutral-900);
}

.cw-default {
   --colour-a: var(--colour-primary-blue);
   --colour-a-hover: #8a8a8a;
}

.alternative-link a,
.alternative-link .pseudo-link {
   --colour-a: #000;
   --colour-a-hover: #8a8a8a;
}

.cw-neutral-blue-foreground {
   color: var(--colour-primary-blue);
}

.cw-neutral-200-foreground {
   color: var(--colour-neutral-200);
}

.cw-default-foreground {
   color: var(--colour-default-fg);
}

.cw-positive-foreground {
   color: #8cc63e;
}

.cw-negative-foreground {
   color: #ed1c24;
}

.cw-warning-foreground {
   color: #e4aa0e;
}

.keyline-default {
   border: var(--keyline-default);
}

/* ------ Modules ------ */
.site-header {
   position: relative;
   z-index: 3;
}

.site-header-masthead {
   text-align: center;
}

.site-header-masthead-top-item {
   display: inline-block;
   margin: 0.5em 0.75em;
}

.contact-site-header .contact-info {
   margin: -0.375em -0.75em;
}

.contact-site-header .contact-info li {
   display: inline-block;
   position: relative;
   margin: 0.375em 0.75em;
   padding-left: 1.375em;
}

.contact-site-header .contact-info .text {
   margin: 0;
}

.contact-site-header .contact-info .icon-icomoon {
   position: absolute;
   top: 0.3125em;
   left: 0;
}

.vat-switch-heading {
   display: inline-block;
   margin: 0 0.2222222222em 0 0;
   font-weight: 400;
}

.vat-switch-module button {
   display: inline-block;
   margin: 0;
   padding: 0;
   background-color: transparent;
   border: 0;
   font-weight: 600;

   text-transform: lowercase;
}

.vat-switch-module .switch-module {
   display: inline-block;
   vertical-align: middle;
   width: 2.75em;
   margin: 0 0.1875em;
   padding: 0.125em;

   border-radius: 1.5em;
}

.vat-switch-module .switch {
   display: block;
   width: 1.25em;
   height: 1.25em;

   border-radius: 50%;
}

.logo a {
   display: block;
   max-width: 150px;
   margin: 0 auto;
}

.logo img {
   display: block;
}

.search-form-content {
   position: relative;
}

.search-form input,
.search-form .submit {
   display: block;
}

.search-form input {
   width: 100%;
   height: 2.545454545em;
   min-height: auto;
   padding: 0.5909090909em 3.2727272727em 0.5909090909em 0.727272727em;
   font-size: 1.375em;
   line-height: 1.2727272727;
   background-color: var(--colour-neutral-000);
   color: var(--colour-default-fg);

   border-radius: 0.25rem 0 0 0.25rem;
}

.search-form .submit {
   position: absolute;
   top: 0;
   right: 0;
   height: 3.5em;
   padding: 1em;
   font-size: 1em;
   border: 0;

   border-radius: 0 0.25rem 0.25rem 0;
}

.search-form .submit .icon-icomoon {
   font-size: 1.5em;
}

.nav-focus-site-header ul {
   margin: 0 -0.625em;
   margin: 0 clamp(-1.25em, -2.60416666667vw, -0.625em);
   font-size: 1em;
   line-height: 1;
   text-align: center;
}

.nav-focus-site-header li {
   display: inline-block;
   padding: 0 0.625em;
   padding: 0 clamp(0.625em, 2.60416666667vw, 1.25em);
   border-left: 1px solid var(--colour-neutral-050);
}

.nav-focus-site-header li:first-child {
   border-left: 0;
}

.nav-focus-site-header a {
   display: block;

   transition: color 0.2s;
}

.nav-focus-site-header .icon-icomoon {
   position: relative;
   width: 1em;
   height: 1em;
   font-size: 1.5em;
   margin: 0 auto 0.25em;
}

.nav-focus-site-header .icon-icomoon:before {
   position: absolute;
   top: 0;
   left: 50%;

   transform: translateX(-50%);
}

.nav-focus-site-header .link-text {
   margin: 0;
}

@media all and (max-width: 29.9375em),
all and (min-width: 48em) and (max-width: 57.4375em) {
   .nav-focus-site-header .non-essential-item {
      display: none;
   }
}

.basket-link-site-header-module>a {
   position: relative;
}

.basket-summary-product-count {
   position: absolute;
   top: -0.5em;
   right: -0.5em;
   width: 1.2857142857em;
   margin: 0;
   padding: 0.07142857em;
   font-weight: 700;
   text-align: center;

   border-radius: 0.7142857em;
}

@media all and (min-width: 22.5em) {
   .logo a {
      margin-left: 0;
   }
}

@media all and (min-width: 22.5em) and (max-width: 47.9375em) {
   .nav-focus-site-header {
      position: absolute;
      top: 0.25em;
      right: 0.625em;
   }
}

@media all and (max-width: 39.9375em) {
   .contact-site-header {
      display: none;
   }
}

@media all and (max-width: 47.9375em) {
   .search-form {
      margin-top: 0.25em !important;
   }
}

@media all and (min-width: 48em) {
   .site-header-masthead-top {
      margin-right: -0.75em;
      text-align: right;
   }

   .logo,
   .adj-to-logo {
      display: inline-block;
      vertical-align: bottom;
      box-sizing: border-box;
   }

   .logo {
      width: 25%;
   }

   .adj-to-logo {
      width: 75%;
      text-align: right;
   }

   .nav-focus-site-header,
   .search-form {
      display: inline-block;
      vertical-align: middle;
   }

   .search-form {
      width: 17.5em;
      margin-left: 2.5em;
   }

   @supports (display: flex) {
      .site-header-masthead-main {
         display: flex;
      }

      .adj-to-logo {
         display: flex;
         flex-direction: row-reverse;
         column-gap: clamp(2.5rem, 5.2083333333vw, 3rem);
         align-items: center;
      }

      .search-form {
         flex: 1 1 auto;
         max-width: 27.75em;
         margin-left: 0;
      }
   }
}

@media all and (min-width: 60em) {
   .logo a {
      position: absolute;
      bottom: 0;
      left: 0;
      max-width: clamp(150px, 15.625vw, 220px);
   }
}

.nav-main {
   position: relative;
}

.nav-main a {
   display: block;
}

.nav-main ul {
   display: none;
   margin-top: 0;
   margin-bottom: 0;
   padding: 0;
   font-size: 1em;
   line-height: 1;
}

.nav-main .link-text-with-icon {
   display: inline-block;
   vertical-align: top;
   position: relative;
   padding-right: 1.125em;
}

.nav-main .link-text-with-icon .icon-icomoon {
   position: absolute;
   top: 0;
   right: 0;

   transform: rotate(90deg);
}

.nav-main>ul {
   border-width: 0 0 1px;
   border-style: solid;
   border-color: var(--colour-neutral-050);
}

.nav-main>ul>li>a {
   padding: 1em 1.25em;
   font-size: 1em;
   line-height: 1.25;
   color: var(--colour-neutral-900);
}

.nav-main>ul>li>a:hover,
.nav-main>ul>li>a:focus,
.nav-main>ul>li>a:active,
.nav-main>ul>li.sfHover>a,
.no-js .nav-main>ul>li:hover>a {
   background-color: var(--colour-neutral-030);
   color: var(--colour-neutral-900);
}

.nav-main ul ul li {
   display: inline-block;
   vertical-align: top;
   width: 100%;
   margin: 0.5625em 0;

   box-sizing: border-box;
}

.nav-main ul ul a {
   display: inline-block;
   vertical-align: top;
   font-size: 0.9375em;
   line-height: 1.2;
   color: var(--colour-neutral-900);
}

.nav-main ul ul a:hover,
.nav-main ul ul a:focus,
.nav-main ul ul a:active {
   color: var(--colour-neutral-200);
}

.nav-main .sf-mega {
   display: none;
   text-align: left;
}

.nav-main .sf-mega .wrapper:nth-child(1) {
   padding-top: 0.9375em;
   padding-bottom: 0.9375em;
}

.nav-main .sf-mega ul {
   display: block;
}

.nav-main .standard-sf {
   padding-right: 1.25em;
   padding-left: 1.25em;
}

.nav-main .standard-sf li {
   padding-right: 0;
   padding-left: 0;
}

.nav-main .standard-sf li:nth-child(1) {
   margin-top: 1.5em;
}

.nav-main .standard-sf li:nth-last-child(1) {
   margin-bottom: 1.5em;
}

@media all and (min-width: 22.5em) {
   .nav-main .sf-mega li {
      width: 50%;
   }
}

@media all and (max-width: 39.9375em) {
   .nav-main .nav-btn {
      margin-top: 0;
      margin-bottom: 0;
   }

   .nav-main .nav-btn a {
      padding: 0.8888888889em 1.1111111111em;
      background-color: var(--colour-neutral-900);
      color: var(--colour-neutral-000);
   }

   .nav-main .nav-btn .icon-icomoon {
      display: inline-block;
      vertical-align: top;
      margin: 0.1666666667em 0 0 0.2222222222em;
   }

   .nav-main ul:target {
      display: block;
   }

   .nav-main .show {
      display: block;
   }

   .nav-main .sf-mega,
   .nav-main .standard-sf {
      margin-bottom: 1em;
   }
}

@media all and (min-width: 40em) {
   .nav-main .nav-btn {
      display: none;
   }

   .nav-main>ul {
      display: block;
      border-width: 1px 0;
   }

   .nav-main>ul>li {
      display: inline-block;
      vertical-align: top;
   }

   .nav-main>ul>li>a {
      padding: 1em clamp(1.25em, 3.3333333333vw, 2em);
   }

   .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%;
      left: 0;
      z-index: 3;
      line-height: 1;
      text-align: left;
   }

   .nav-main li.enable-mega-menu {
      position: static;
   }

   .nav-main .sf-mega {
      width: 100%;
   }

   .nav-main .sf-mega li {
      width: 33.3333333333%;
   }

   .nav-main .overflowing-dropdown {
      position: static;
   }

   .nav-main .standard-sf {
      width: 18.75em;
      padding-right: clamp(1.25em, 3.3333333333vw, 2em);
      padding-left: clamp(1.25em, 3.3333333333vw, 2em);

      box-sizing: border-box;
   }

   .nav-main .overflowing-dropdown .standard-sf {
      right: 0;
      left: auto;
   }
}

@media all and (min-width: 40em) and (max-width: 59.9375em) {
   .nav-main>ul>li {
      width: 33.3333333333%;
   }

   .nav-main .sf-mega {
      top: auto;
   }
}

@media all and (min-width: 60em) {
   .nav-main {
      text-align: center;
   }

   .nav-main ul ul {
      text-align: left;
   }

   .nav-main>ul {
      border-bottom-width: 0;
   }

   .nav-main:last-child>ul {
      border-bottom-width: 1px;
   }

   .nav-main>ul>li>a {
      padding: 1em clamp(1.25em, 2.0833333333vw, 2em);
   }

   .nav-main .sf-mega li {
      width: 25%;
   }

   .nav-main .standard-sf {
      padding: 0 clamp(1.25em, 2.0833333333vw, 2em);
   }
}

.header-focus-panel-list {
   display: none;
   padding: 0 2px;
   font-size: 1em;
   line-height: 1;
}

.site-header-focus-item {
   display: inline-block;
   vertical-align: top;
   width: 33.3333333333%;
   border-left: 1px solid #4d4d4d;
   text-align: center;

   box-sizing: border-box;
}

.site-header-focus-item:first-child {
   border-left: 0;
}

.site-header-focus-item .content {
   display: inline-block;
   vertical-align: top;
   position: relative;
   padding-left: 3.5em;
   text-align: left;
}

.site-header-focus-item .icon-icomoon {
   position: absolute;
   top: 0;
   left: 0;
   font-size: 2.5em;
}

.site-header-focus-item-text {
   padding: 0.125em 0;
}

.site-header-focus-item-heading {
   margin: 0;
   text-transform: uppercase;
}

.site-header-focus-item-caption {
   margin: 0;
}

@media all and (min-width: 60em) {
   .header-focus-panel-list {
      display: block;
   }
}

/* feature styles */

.site-content-feature {
   padding-bottom: 0;
}

.slideshow-panel-module {
   overflow: hidden;
}

.slideshow-panel {
   display: none;
}

.slideshow-panel:first-child {
   display: block;
}

.js .slideshow-panel-overlay {
   opacity: 0;
   visibility: hidden;
}

.slideshow-panel-content {
   position: relative;
   min-height: 404px;
}

.slideshow-panel-heading {
   margin: 1.5rem 0;
   font-size: clamp(2.5em, 5.2083333333vw, 3.5em);
}

.slideshow-panel-strapline {
   margin: 1.0909090909em 0;
}

@media all and (min-width: 48em) {
   .slideshow-panel-content {
      height: 404px;
   }

   .slideshow-panel-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 55.8333333333%;
      height: 100%;
      clip-path: polygon(0 0, 100% 0, calc(100% - 72px) 100%, 0 100%);
   }

   .slideshow-panel-overlay-container {
      max-width: 750px;
      max-width: calc(750px + clamp(1.25em, 2.6041666667vw, 2.5em));
      max-height: 100%;
      margin-right: 72px;
      margin-left: auto;
      overflow: auto;
   }
}

@supports (display: flex) {
   .slideshow-panel-content {
      display: flex;
   }

   .slideshow-panel-overlay {
      display: flex;
      align-items: center;
      position: relative;
   }
}

.feature-panel-heading {
   text-transform: uppercase;
}

.feature-panel-caption {
   margin-top: -0.4444444444em;
}

.focus-panel .content {
   position: relative;
   text-align: left;
   justify-content: center;
}

.focus-panel .text-module {
   position: relative;
   z-index: 2;
   max-width: 21.25em;
}

.focus-panel-heading {
   margin: 0.5em 0;
}

.focus-panel .gradient-overlay {
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
   width: 100%;
   height: 100%;
}

.focus-panel-cw-light .content {
   background-color: var(--colour-neutral-030);
   color: var(--colour-neutral-900);
}

.focus-panel-cw-light .gradient-overlay {
   background: linear-gradient(to right,
         rgba(206, 241, 252, 1) 0,
         rgba(255, 255, 255, 0) 480px);
}

.focus-panel-cw-dark .content {
   background-color: var(--colour-neutral-200);
   color: var(--colour-neutral-000);
}

.focus-panel-cw-dark .gradient-overlay {
   background: linear-gradient(to right, rgba(0, 0, 0, 1) 0, rgba(0, 0, 0, 0.46) 280px, rgba(0, 0, 0, 0) 480px);
}

.feature-carousel-section {
   position: relative;
   padding-bottom: 2.25em;
   text-align: center;
}

.feature-carousel-section-content {
   border-width: 0;
}

.feature-carousel-heading {
   margin: 0;
}

.feature-carousel-section .grid-adjust-0:last-child {
   margin-bottom: 0;
}

.feature-carousel-section+.feature-carousel-section {
   margin-top: -2.125em;
}

.feature-carousel-section+.feature-carousel-section .feature-carousel-section-content {
   border-width: 1px 0 0;
}

.feature-carousel-section+.feature-carousel-section .feature-carousel-heading {
   margin-top: 1.5em;
}

.feature-body-text-section .overlay-panel {
	/* CUSTOMER WANTED IT FULL WIDTH
   max-width: 43.75em;
   */
   padding-top: 1em;
   padding-bottom: 1em;

   box-sizing: border-box;
}

.feature-body-text {
   margin-top: -0.5em;
}

.feature-body-text-section .link-module {
   margin-bottom: 1em;
}

@supports (display: flex) {
   .feature-body-text-section .content {
      display: flex;
      align-items: center;
   }

   .feature-body-text-section .content .wrapper {
      flex: 1 1 auto;
   }
}

.related-logo-section {
   padding-top: 1em;
   padding-bottom: 1em;
}

.related-logo-section .grid-child-related-logo .content {
   margin-right: 2em;
   margin-left: 2em;
}

.related-logo-carousel.grid-child {
   padding-right: 3.75em;
   padding-left: 3.75em;
}

.grid-child-related-logo .grid-item {
   width: auto;
   vertical-align: middle;
}

.grid-child-related-logo img {
   margin-right: auto;
   margin-left: auto;
}

.mailinglist-form-module {
   border-width: 1px 0 0;
   text-align: center;
}

.mailinglist-form-intro .mailinglist-form-module-heading,
.mailinglist-form-intro p {
   margin: 0.75rem 0;
}

.mailinglist-form input {
   display: block;
   width: 100%;
   height: 2.545454545em;
   margin: 0.3636363636em 0;
   padding: 0.636363636em 1em;
}

.mailinglist-form .submit {
   display: block;
   width: 100%;
   margin: 0.4444444444em 0;
}

.mailinglist-form .ajax-submit-button .icon-icomoon {
   font-size: 1em;
}

@media all and (min-width: 48em) {
   .mailinglist-form input {
      display: inline-block;
      vertical-align: top;
      width: 13.636363636em;
      margin: 0 0.3636363636em;
   }

   .mailinglist-form .submit {
      display: inline-block;
      vertical-align: top;
      width: 16.6666666667em;
      margin: 0 0.4444444444em;
   }
}

/* article styles */

.article-date-created {
   margin: 0.6666666667em 0;
   font-weight: 600;
   text-transform: uppercase;
}

.article-grid-item .content {
   text-align: left;
}

.article-header-module {
   padding-bottom: 2.25em;
   border-width: 0 0 1px;
   text-align: center;
}

html>body .page-body-text-module {
   margin-top: 1.5em;
}

.page-body-text-module.text-centre {
   max-width: 58.75em;
   margin-right: auto;
   margin-left: auto;
}

.page-body-text-module:empty {
   display: none;
}

.site-content-body-text:empty {
   display: none;
}

.article-page-detail .site-content-body-text:empty+.sections-module-without-jump-menu .site-section-separate:first-child {
   padding-top: 0;
   border-width: 0;
}

.nav-side {
   padding: 0.5em 1.5em;
}

.nav-side li {
   margin: 1.6em 0;
}

.nav-side a {
   text-decoration: underline;

   transition: color 0.25s;
}

.site-section-separate {
   padding: 2em 0;
   border-top: 1px solid #e6e6e6;
}

.sections-module-with-jump-menu {
   border-top: 1px solid #e6e6e6;
}

.sections-module-with-jump-menu .site-section-separate:first-child {
   border-top: 0;
}

.site-content-sub-sub-heading {
   font-weight: 600;
}

.site-content-sub-heading+.site-content-sub-sub-heading {
   margin-top: -0.6666666667em;
}

.site-section .media-module img {
   display: block;
   margin-right: auto;
   margin-left: auto;
}

.team-member-module .media-module-content {
   max-width: 300px;
}

.team-member-module .no-img {
   padding: 0 0 100%;
}



.site-content {
   position: relative;
   z-index: 1;
   padding-bottom: 2em;
}

.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,
.member-content-body,
.member-content-aside {
   display: inline-block;
   vertical-align: top;
   width: 100%;

   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}

.site-content-section-with-side-media .media-module-content a {
   display: inline-block;
   vertical-align: top;
}

.site-content-section-with-side-media .text-module {
   text-align: center;
}

.site-content-section-with-side-media .text-module-content {
   display: inline-block;
   vertical-align: top;
   text-align: left;
}

@media all and (min-width: 48em) {
   .site-content-1-2 {
      width: 50%;
   }

   .site-content-1-2.vertical-align-middle {
      vertical-align: middle;
   }

   .site-content-section-with-side-media-right .media-module,
   .push-site-content-1-2 {
      position: relative;
      left: 50%;
   }

   .site-content-section-with-side-media-right .text-module,
   .pull-site-content-1-2 {
      position: relative;
      left: -50%;
   }

   .site-content-section-with-side-media-right .media-module-content {
      padding-left: 1.875em;
      padding-left: clamp(1.25em, 2.6041666667vw, 1.875em);
   }

   .site-content-section-with-side-media-right .text-module-content {
      padding-right: 1.875em;
      padding-right: clamp(1.25em, 2.6041666667vw, 1.875em);
   }

   .site-content-section-with-side-media-right .media-module img {
      margin-left: 0;
   }

   .site-content-section-with-side-media-right .text-module {
      text-align: right;
   }

   .site-content-section-with-side-media-left .media-module-content {
      padding-right: 1.875em;
      padding-right: clamp(1.25em, 2.6041666667vw, 1.875em);
   }

   .site-content-section-with-side-media-left .text-module-content {
      padding-left: 1.875em;
      padding-left: clamp(1.25em, 2.6041666667vw, 1.875em);
   }

   .site-content-section-with-side-media-left .media-module img {
      margin-right: 0;
   }

   .site-content-section-with-side-media-left .text-module {
      text-align: left;
   }
}

@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%;
   }

   .sections-module-with-jump-menu .site-content-3-4 {
      padding-left: 1.875em;
   }

   @supports (display: flex) {
      .sections-module-with-jump-menu>.grid-adjust-0 {
         display: flex;
         flex-wrap: wrap;
      }

      .nav-side {
         position: -webkit-sticky;
         position: sticky;
         top: 3em;
      }
   }

   .member-content-body {
      position: relative;
      left: 23.02631579%;
      width: 76.97368421%;
   }

   .member-content-aside {
      position: relative;
      left: -76.97368421%;
      width: 23.02631579%;
   }

   @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: "\/";
   margin: 0 0.3125em;
}

.breadcrumb li:first-child:before {
   content: normal;
}

.breadcrumb a {
   text-decoration: none;
}

@media all and (min-width: 48em) {
   .breadcrumb {
      text-align: right;
   }
}

.body-text-panel {
   padding-top: 0.5em;
   padding-bottom: 1em;
}

.js .limited-site-content-body-text {
   position: relative;
   height: 1.5em;
   overflow: hidden;

   transition: height 0.5s;
}

.js .limited-site-content-body-text.text-hidden::after {
   content: " ";
   display: block;
   position: absolute;
   top: 0;
   right: 0;
   width: 100px;
   height: 100%;
}

.js .cw-neutral-030 .limited-site-content-body-text.text-hidden::after {
   background: linear-gradient(to right,
         rgba(255, 255, 255, 0),
         rgba(244, 244, 244, 1) 50%);
}

.js .limited-site-content-body-text :first-child {
   margin-top: 0;
}

.js .limited-site-content-body-text :last-child {
   margin-bottom: 0;
}

.limited-site-content-body-text-toggle-module {
   max-height: 3em;
   opacity: 1;
   overflow: hidden;

   transition: max-height 0.2s, opacity 0.2s;
}

.limited-site-content-body-text-toggle-module p {
   margin: 0;
}

.limited-site-content-body-text-toggle .icon-icomoon {
   transform: rotate(90deg);
}

.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.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;
   }
}

.contact-site-content li {
   margin: 0.8888888889em 0;
}

@media all and (min-width: 60em) {
   .contact-site-content-module .embedded-map {
      max-width: 460px;
      margin-right: 0;
      margin-left: auto;
   }
}

.slider-list {
   margin-right: 0;
   margin-left: 0;
   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 article:first-child .slider-title {
   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;
   font-weight: 600;
}

.slider-title .hide-reveal-icon {
   position: absolute;
   top: 1.6875em;
   right: 0.125em;
   width: 0.75em;
}

.slider-title .hide-reveal-plus-minus-line {
   height: 0.125em;
}

.slider-list .slider-content {
   display: none;
   z-index: 1;
   margin: 0;
   padding: 0.0625em 0 1em;
}

.slider-list .slider-content:target {
   display: block;
}

.testimonial {
   margin: 0;
   padding: 2em 1.875em 2.75em;
   padding: 2em clamp(1.25em, 2.6041666667vw, 1.875em) 2.75em;
   border-width: 1px 0 0;
   text-align: left;
}

.testimonial .body-text {
   font-style: italic;
}

.testimonial cite span {
   display: block;
   margin: 0.25rem 0;
   font-style: normal;
}

@media all and (min-width: 48em) {
   li:nth-child(odd) .testimonial {
      padding-left: 0;
   }

   li:nth-child(even) .testimonial {
      padding-right: 0;
   }
}

.simple-form {
   display: inline-block;
   vertical-align: top;
   text-align: left;
}

.simple-form .label {
   display: inline-block;
   vertical-align: top;
   margin: 0 0 0.444444444444em;
}

.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.666666666667em;
   margin-bottom: 0;
   padding: 0.833333333333em;
}

.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.666666666667em;
   }

   .simple-form button {
      width: auto;
      margin-left: 0.666666666667em;
   }

   .quick-order-upload-form label {
      display: inline-block;
   }

   .quick-order-upload-form .label-text {
      display: inline-block;
      vertical-align: middle;
      margin: 0.333333333333em 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: 43.75em;
}

.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 {
   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 {
         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-container,
      .contactus-form .contactus-message-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;
}

.child-list-options-handheld {
   border-width: 1px 0;
}

.child-list-options-handheld .option-module {
   border-top: var(--keyline-default);
}

.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: var(--colour-neutral-000);
}

@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-filter-heading {
   margin: 0 3.333333333333em 0.5em 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: var(--keyline-default);
}

.product-filter .toggle-filter-visibility-trigger .text {
   display: block;
   margin: 0;
   font-weight: 700;
}

.product-filter-form .hide-reveal-plus-minus .hide-reveal-plus-minus-line {
   height: 0.111111em;
}

.product-filter .toggle-filter-visibility-trigger .hide-reveal-icon {
   top: 1.444444444444444em;
   right: 0;
   font-size: 1.125em;
   width: 0.5555555555555556em;
}

.product-filter .section ul {
   margin: 0;
   padding: 0 0 0.625em;
}

.product-filter .section li {
   margin: 1em 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: var(--colour-a-hover);
}

.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%;

   box-sizing: border-box;
}

.child-list-options-form .label {
   display: inline-block;
   margin: 0.444444444444em;
   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%;

   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;
}

.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: var(--grid-adjust-0) auto;
}

.grid-adjust-0-to-1>.grid-child {
   margin-top: var(--grid-adjust-0-to-1-clamp);
   margin-bottom: var(--grid-adjust-0-to-1-clamp);
}

.grid-adjust-0>.grid-child .grid-item,
.grid-adjust-0-to-1>.grid-child .grid-item {
   padding: var(--gutter-0);
}

.grid-adjust-0-to-1>.grid-child .grid-item {
   padding: var(--gutter-0-to-1-clamp);
}

/* 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 */

@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%;
   }
}

/* 4 up grid */

.grid-child-4-up {
   max-width: 360px;
}

@media all and (min-width: 30em) {
   .grid-child-4-up .grid-item {
      width: 50%;
   }

   .grid-child-4-up {
      max-width: none;
   }
}

@media all and (min-width: 45em) {
   .grid-child-4-up .grid-item {
      width: 33.3333333333333%;
   }
}

@media all and (min-width: 60em) {
   .grid-child-4-up .grid-item {
      width: 25%;
   }
}

/* 5 up grid */

.grid-child-5-up .container {
   max-width: 268px;
}

@media all and (min-width: 30em) {
   .grid-child-5-up .grid-item {
      width: 50%;
   }
}

@media all and (min-width: 37.25em) {
   .grid-child-5-up .grid-item {
      width: 33.3333333333333%;
   }
}

@media all and (min-width: 55.25em) {
   .grid-child-5-up .grid-item {
      width: 25%;
   }

   .site-content-4-5 .grid-child-5-up .grid-item {
      width: 33.3333333333%;
   }
}

@media all and (min-width: 73.25em) {
   .grid-child-5-up .grid-item {
      width: 20%;
   }

   .site-content-4-5 .grid-child-5-up .grid-item {
      width: 25%;
   }
}

.default-grid-item-heading {
   margin-top: 0.545454545em;
}

/* gallery image styles */

.gallery-image .hover-overlay {
   background-color: rgba(0, 0, 0, 0.25);
   color: var(--colour-neutral-000);
}

.gallery-image .hover-overlay .icon-icomoon {
   position: absolute;
   top: 50%;
   left: 0;
   width: 100%;
   font-size: 2.5em;
   text-align: center;

   transform: translateY(-50%) scale(0);

   transition: transform 0.2s;
}

.mfp-gallery-initialised .mfp-popup {
   cursor: pointer;
}

.mfp-gallery-initialised .mfp-popup:hover .hover-overlay,
.mfp-gallery-initialised .mfp-popup:focus .hover-overlay,
.mfp-gallery-initialised .mfp-popup:active .hover-overlay {
   opacity: 1;
}

.mfp-gallery-initialised .mfp-popup:hover .hover-overlay .icon-icomoon,
.mfp-gallery-initialised .mfp-popup:focus .hover-overlay .icon-icomoon,
.mfp-gallery-initialised .mfp-popup:active .hover-overlay .icon-icomoon {
   transform: translateY(-50%) scale(1);
}

.simple-panel .content {
   /*
   flex-direction: row !important;
   */
   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: var(--colour-primary-grey);
}

.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: 480px;
}

.product-media-nav-container {
   margin-top: 12px;
}

.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 .mfp-gallery .icon-icomoon {
   position: absolute;
   bottom: 0.8em;
   left: 0.8em;
   width: 1em;
   padding: 0.5em;
   font-size: 1.25em;
   opacity: 0;
   text-align: center;
}

.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: -6px;
}

.product-media-nav .item {
   display: inline-block;
   vertical-align: top;
   width: 33.3333333333%;
}

.product-media-nav .image-module {
   position: relative;
   margin: 6px;
}

.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: var(--colour-neutral-000);
   font-size: 2.125em;
   font-size: clamp(2.125em, 14.1666666667vw, 4em);
   z-index: 2;

   transform: translate(-50%, -50%);

   transition: color 0.15s;
}

.product-media-nav .video-thumb-container .overlay {
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.4);
}

@media all and (min-width: 60em) {
   .product-media-module {
      margin-right: 1.25em;
   }
}

/* product styles */

.stock-module .text {
   margin: 0;
   font-weight: 600;
}

.price-module .price {
   margin: 0;
   font-weight: 700;
}

.price-module .price-prefix,
.price-module .price-suffix {
   margin: 0;
   text-transform: lowercase;
   white-space: nowrap;
}

.flash-text {
   position: absolute;
   top: 1em;
   right: 1em;
   z-index: 3;
   margin-left: 1em;
   padding: 0.5em 1em;
}

.flash-text p {
   margin: 0;
   font-weight: 600;
}

.purchase-form .purchase-controls {
   position: relative;
}

.purchase-form input,
.purchase-form .submit,
.product-grid-item .pseudo-button {
   display: block;
   width: 100%;
   margin: 0.75rem 0;
   text-align: center;
}

.purchase-form input {
   padding-right: 0.5em;
   padding-left: 0.5em;
}

.purchase-form .submit,
.purchase-form .pseudo-button {
   margin: 0;
   padding-right: 1em;
   padding-left: 1em;
}

.product-table-purchase-form .purchase-button {
   display: block;
   margin-right: 0;
   margin-left: auto;
}

.product-grid-item .content {
   container: product-grid-item-content / inline-size;
   text-align: left;
}

.product-grid-item a {
   display: block;
}

.product-grid-item .image-module {
   margin-bottom: 0.75em;
}

.product-grid-item-heading {
   margin: 0.4444444444em 0;
   font-weight: 600;
}

.product-grid-summary-grid {
   margin: 0.75em 0;
}

.product-grid-summary-grid>li {
   margin: 0.75em 0;
}

.product-grid-summary-grid p {
   margin: 0;
}

@supports (display: flex) {
   .product-grid-item a {
      display: flex;
      flex-direction: column;
      flex: 1 1 auto;
   }

   .product-grid-item-heading {
      flex: 1 1 auto;
      margin-top: 0;
   }

   .product-grid-summary-grid {
      margin-top: 0;
   }

   .parent-link-button-container {
      margin: 0;
   }

   .parent-link-button-container .pseudo-button {
      margin: 0;
   }
}

@supports (display: grid) {
   .product-grid-summary-grid {
      display: grid;
      grid-template-columns: auto auto;
      column-gap: 1.25rem;
      row-gap: 0.75rem;
      align-items: baseline;
   }

   .product-grid-summary-grid>li {
      margin: 0;
   }

   .product-grid-summary-stock,
   .product-grid-summary-uoi {
      grid-column-start: 2;
      text-align: right;
   }
}

@container product-grid-item-content (min-width: 13.125em) {
   .product-list-purchase-form .purchase-controls {
      padding-left: 4.75em;
   }

   .product-list-purchase-form .quantity-to-purchase {
      position: absolute;
      top: 0;
      left: 0;
      width: 3.7777777778em;
      margin: 0;
   }
}

.product-detail-green-logo-list {
   margin: -8px;
}

.product-detail-green-logo-list li {
   display: inline-block;
   vertical-align: middle;
   margin: 8px;
}

.product-detail-green-logo-list a {
   display: block;
}

.product-detail-green-logo-list img {
   display: block;
}

.system-child-ajax-update-module {
   transition: opacity 0.15s, filter 0.15s;
}

.system-child-ajax-updating .system-child-ajax-update-module {
   opacity: 0.3;
   filter: grayscale(1);
   pointer-events: none;
}

.system-child-ajax-update-spinner {
   position: absolute;
   right: 0;
   bottom: 1.25em;
   opacity: 0;
   visibility: hidden;

   transition: opacity 0.15s, visibility 0.15s;
}

.system-child-ajax-updating .system-child-ajax-update-spinner {
   opacity: 1;
   visibility: visible;
}

.product-detail-purchase-module {
   border-width: 1px 0;
}

.product-detail-price-availability-module {
   margin: -0.5em -1em;
}

.product-detail-price-availability-module>div {
   display: inline-block;
   margin: 0.5em 1em;
}

.product-detail-price-module {
   margin: 0;
}

.product-detail-unit-price-module {
   margin: 0.25em 0 0;
}

.show-ex-vat-pricing .product-detail-unit-price-module .ex-vat-price,
.show-inc-vat-pricing .product-detail-unit-price-module .inc-vat-price {
   display: inline-block;
}

.product-detail-select-label {
   margin: 0 0 0.4444444444em;
   font-weight: 600;
}

.product-detail-select-module select {
   width: auto;
}

.product-detail-child-list-module .content {
   display: inline-block;
   vertical-align: top;
   max-width: 100%;
   position: relative;
   padding-right: 1.75em;

   box-sizing: border-box;
}

.product-detail-purchase-form .purchase-controls {
   max-width: 12em;
}

.product-detail-login-reminder {
   margin-top: 0.4444444444em;
}

@media all and (min-width: 15.625em) {
   .product-detail-purchase-form .purchase-controls {
      padding-left: 4.75em;
   }

   .product-detail-purchase-form .quantity-to-purchase {
      position: absolute;
      top: 0;
      left: 0;
      width: 3.7777777778em;
      margin: 0;
   }
}

.product-detail-summary-list li {
   margin: 0.8888888889em 0;
}

.product-detail-tabbed-panels .tabbed-content-nav .link,
.product-detail-tabbed-panels .heading-tab {
   display: block;
   padding: 0.4444444444em;
   color: #000;
   border: 1px solid var(--colour-neutral-100);
   font-weight: 600;
   text-align: center;
   text-decoration: none;

   border-radius: 0.2222222222em;
}

.product-detail-tabbed-panels .tabbed-content-nav .link {
   background-color: var(--colour-neutral-000);
}

.product-detail-tabbed-panels .tabbed-content-nav .link:hover,
.product-detail-tabbed-panels .tabbed-content-nav .link:focus,
.product-detail-tabbed-panels .tabbed-content-nav .link:active {
   background-color: var(--colour-neutral-050);
   color: var(--colour-default-fg);

   transition: background-color 0.15s;
}

.product-detail-tabbed-panels .text-panel {
   position: relative;
   margin-top: 3.625em;
}

.product-detail-tabbed-panels .text-panel:first-child {
   margin-top: 4.625em;
}

.product-detail-tabbed-panels .heading-tab {
   position: absolute;
   bottom: 100%;
   left: 0;
   margin: 0;
   background-color: var(--colour-neutral-050);

   box-sizing: border-box;
}

.product-detail-tabbed-panels .content-section {
   margin-top: 0;
}

.product-detail-tabbed-panels.jquery-tabbed-panels-initialised .text-panel {
   margin-top: 0;
}

.product-detail-tabbed-panels .tabbed-content-panel.inactive-panel {
   height: 0;
   padding: 0;
   overflow: hidden;
}

@media all and (min-width: 25.625em) {
   .product-detail-tabbed-panels .heading-tab {
      width: 50%;
   }

   .product-detail-tabbed-panels .tabbed-content-nav {
      margin: -0.2222222222em;
   }

   .product-detail-tabbed-panels .tabbed-content-nav li {
      display: inline-block;
      vertical-align: top;
      width: 50%;
   }

   .product-detail-tabbed-panels .tabbed-content-nav .link {
      margin: 0.2222222222em;
   }
}

@media all and (min-width: 40em) {
   .product-detail-tabbed-panels .heading-tab {
      width: 11.1111111111em;
   }

   .product-detail-tabbed-panels .tabbed-content-nav li {
      width: 11.5555555556em;
   }
}

.product-detail-tabbed-panels .tabbed-content-nav .selected {
   background-color: var(--colour-neutral-050);
   pointer-events: none;
}

/* member styles */

@media all and (min-width: 60em) {
   .member-content-aside {
      padding-right: clamp(1.25em, 2.0833333333vw, 2em);
      padding-left: clamp(1.25em, 2.0833333333vw, 2em);
   }
}

.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 var(--colour-neutral-200);
}

.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: var(--colour-neutral-200);
}

.nav-member-content-panel a.selected {
   color: var(--colour-primary-blue);
}

.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: 1.2em;
   right: 0;
   font-size: 1.25em;
}

.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: var(--colour-neutral-000) !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 var(--colour-neutral-030);
}

.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-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%;
   height: 3.1111111111em;
   padding: 0.8333333333em;
   border-radius: 0 0.25rem 0.25rem 0;
}

/*
.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.111111111111em;
}

.basket-form .type-checkbox input {
   position: absolute;
   top: 0.375em;
   left: 0;
   font-size: 1rem;
}

.basket-line-item th,
.basket-line-item td {
   padding-top: 1.333333333333em;
   padding-bottom: 1.333333333333em;
}

.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.444444444444em;
   padding-bottom: 0.444444444444em;
}

.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.444444444444em;
}

.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 {
   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: 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: 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 var(--colour-primary-grey);
}

.invoice-product-list-table thead tr {
   background-color: #ccc;
   border-bottom: 1px solid var(--colour-primary-grey);
}

.invoice-product-list-table .first-invoice-total-row {
   border-top: 1px solid var(--colour-primary-grey);
}

.invoice-product-list-table .first-invoice-total-row th,
.invoice-product-list-table .first-invoice-total-row td {
   padding-top: 0.555555555556em;
}

.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.3125em;
}

.footer-section.cw-1 {
   border-top: 1px solid #1a1a1a;
}

.footer-section:first-child {
   border-top: 0;
}

.footer-section-main {
   padding-top: 1.5em;
   padding-bottom: 2em;
}

@media all and (max-width: 50.5625em) {
   .footer-section-main .site-footer-1-4:has(.nav-footer) {
      display: none;
   }
}

.site-footer-1-4 {
   display: inline-block;
   vertical-align: top;
   width: 100%;

   box-sizing: border-box;
}

.footer-panel-heading {
   margin-bottom: 1.0909090909em;
   text-transform: uppercase;
}

.nav-footer li {
   margin: 0.8888888889em 0;
}

.contact-site-footer li {
   margin: 0.6666666667em 0;
}

@media all and (min-width: 50.625em) {
   .site-footer-1-4 {
      width: 50%;
   }
}

@media all and (min-width: 60em) {
   .site-footer-1-4 {
      width: 25%;
   }

   .site-credits {
      text-align: center;
   }
}

.cookie-button-muted {
   color: #4a4a4a !important;
   background-color: #fff !important;
   border: 1px solid #4a4a4a !important;
}

.cookies-eu-banner.cookies-eu-banner-new {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   background-color: rgba(0, 0, 0, .75);
   z-index: 1000;
   align-items: center
}

.cookies-eu-banner.cookies-eu-banner-new .wrapper {
   max-width: 50em;
   text-align: center;
   color: #000
}

.cookies-eu-banner.cookies-eu-banner-new .wrapper .cw-default {
   padding: 2em;
   border-radius: 8px
}

.cookies-eu-banner.cookies-eu-banner-new .pseudo-button {
   margin: 0 .5em;
   padding-right: .625em;
   padding-left: .625em;
   border: 0;
   padding-top: .5em;
   padding-bottom: .5em
}

.cookie-preferences-popup>.mfp-ajax-holder>.mfp-content {
   background-color: #fff;
   width: 50em;
   padding: 2em;
   border-radius: 8px
}

@media all and (max-width: 47.9375em) {
   .cookies-eu-banner .text {
      display: block;
      margin-bottom: 1em;
   }

   .cookies-eu-banner .pseudo-button {
      margin-left: 0;
   }
}





.free-delivery-reminder {
  background-color: #f4f4f4;       
  color: #00539b;
  border: 1px solid #00539b;
  border-radius: 5px;
  margin:5px;
}

/* styles for integrated promotional items in basket and tags - start */
tr.basket-line-item.integrated-promotional-item {
	position: relative;
}

tr.basket-line-item.integrated-promotional-item::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.05); /* adjust strength */
	pointer-events: none;
	border: 5px dashed #fcc551;
}

tr.basket-line-item.integrated-promotional-item td {
	padding: 1em;
}

.basket-promotional-tags-container {
	justify-content: left;
	gap: .5em;
	display: grid;
}

ul.basket-promotional-tags-container li {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 6px 12px 6px 6px;
	margin: 4px 6px;
	background: #f2f2f2;
	border-radius: 4px 6px 6px 4px;
	background-color: #fcc551;
}

ul.basket-promotional-tags-container li::before {
	content: "";
	position: absolute;
	left: -12px;
	top: 0;
	bottom: 0;
	width: 12px;
	background: #fcc551;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

ul.basket-promotional-tags-container li i:first-child {
	margin-right: 6px;
}

ul.basket-promotional-tags-container li i:last-child {
	margin-left: 6px;
}

ul#usedpromotionalcodes li {
	cursor: pointer;
	display: block;
}

ul#usedpromotionalcodes li i {
	display: inline-block;
}

ul#usedpromotionalcodes li:hover {
	background-color: #c00;
}

ul#usedpromotionalcodes li:hover::before {
	background-color: #c00;
}

/* styles for integrated promotional items in basket and tags - end */

.promotion-module-container {
	padding: 0 1em;
	border-color: #fcc551;
	border: 10px solid #fcc551;
}

.mfp-promotions-popup .mfp-container .mfp-content {
	background-color: white;
	padding: 2em;
	width: 90%;
}

/* Loyalty Points Styles Start */
#basket-loyalty-points-accrued table {
	background-color: #fcc551;
}

#basket-loyalty-points-accrued table th, #basket-loyalty-points-accrued table td {
	padding: 0.5em
}

.loyaltydisclaimer {
	background-color: #fcc551;
}
/* Loyalty Points Styles End */
