@-webkit-keyframes processing {
	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes processing {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@font-face {
	font-family: "icomoon";
	src: url("/fonts/icomoon.eot?kfvcfz");
	src: url("/fonts/icomoon.eot?kfvcfz#iefix") format("embedded-opentype"),
		url("/fonts/icomoon.ttf?kfvcfz") format("truetype"),
		url("/fonts/icomoon.woff?kfvcfz") format("woff"),
		url("/fonts/icomoon.svg?kfvcfz#icomoon") format("svg");
	font-weight: normal;
	font-style: normal;
}

html {
	margin: 0;
	padding: 0;
	background-color: #fff;
	color: #202020;
}
body {
	margin: 0;
	padding: 0;
	font-family: Poppins, "Century Gothic", CenturyGothic, "Apple Gothic",
		AppleGothic, sans-serif;
	font-weight: 400;

	-webkit-text-size-adjust: 100%;
}

a,
.pseudo-link {
	color: #7cb32f;
}
a:hover,
a:focus,
a:active,
.pseudo-link:hover,
.pseudo-link:focus,
.pseudo-link:active {
	color: #999;
}
.pseudo-link {
	text-decoration: underline;
	cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
form {
	margin: 0;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
	font-weight: 700;
}

h1,
.h1 {
	margin: 0.555555555556em 0;
	font-size: 2.25em;
	line-height: 1.111111111111;
	letter-spacing: -0.03em;
}
h2,
.h2 {
	margin: 0.666666666667em 0;
	font-size: 1.875em;
	line-height: 1.2;
}
h3,
.h3 {
	margin: 0.416666666667em 0;
	font-size: 1.5em;
	line-height: 1.25;
}
h4,
.h4 {
	margin: 0.5em 0;
	font-size: 1.25em;
	line-height: 1.5;
}
h5,
.h5 {
	margin: 0.5555555556em 0;
	font-size: 1.125em;
	line-height: 1.6666666667;
	line-height: 1.3333333333;
}
h6,
.h6,
.font-size-up-2 {
	margin: 0.625em 0;
	font-size: 1em;
	line-height: 1.25;
}
.font-size-up-1 {
	margin: 0.6666666667em 0;
	font-size: 0.9375em;
	line-height: 1.6;
}
p,
ul,
ol,
table,
pre,
hr,
.page-nav,
.page-nav-detailed,
.font-size-default {
	margin: 0.714285714286em 0;
	font-size: 0.875em;
	line-height: 1.714285714286;
}

.alternative-line-height {
	line-height: 1.2857142857;
}

.font-size-down-1,
.font-size-down-1-module p,
.font-size-down-1-module ul,
.font-size-down-1-module ol,
.font-size-down-1-module table {
	margin: 0.769230769231em 0;
	font-size: 0.8125em;
	line-height: 1.384615384615;
}

.font-size-down-2,
.font-size-down-2-module p,
.font-size-down-2-module ul,
.font-size-down-2-module ol,
.font-size-down-2-module table,
.breadcrumb {
	margin: 0.833333333333em 0;
	font-size: 0.75em;
	line-height: 1.333333333333;
}

.font-size-default .font-size-down-2 {
	font-size: 0.857142857em;
}

th,
td {
	padding: 0.357142857143em;
}
b,
strong,
th {
	font-weight: 700;
}

ul ul,
ul ol,
ol ul,
ol ol,
ul p,
ol p,
ul table,
ol table {
	line-height: inherit;
}
ul ul,
ul ol,
ol ul,
ol ol {
	font-size: 1em;
	margin-top: 0;
}
nav ul,
form ol,
form ul {
	margin-right: 0;
	margin-left: 0;
	padding: 0;
	list-style: none;
}
form ol,
form ul,
form p {
	font-size: 1em;
	line-height: inherit;
}

fieldset {
	margin: 0;
	padding: 0;
	border: none;
}
legend {
	display: block;
	width: 100%;
	padding: 0;
}
input,
button,
select,
textarea,
.pseudo-button {
	background-color: #ededed;
	color: #202020;
	border: 1px solid #ededed;
	font-family: Poppins, "Century Gothic", CenturyGothic, "Apple Gothic",
		AppleGothic, sans-serif;
	font-size: 1em;
	line-height: inherit;

	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;

	-webkit-background-clip: padding-box;
	-moz-background-clip: padding;
	background-clip: padding-box;

	-webkit-transition: background-color 0.2s ease, color 0.2s ease,
		border-color 0.2s ease, box-shadow 0.2s ease;
	-o-transition: background-color 0.2s ease, color 0.2s ease,
		border-color 0.2s ease, box-shadow 0.2s ease;
	transition: background-color 0.2s ease, color 0.2s ease,
		border-color 0.2s ease, box-shadow 0.2s ease;
}
input:focus,
select:focus,
textarea:focus {
	border-color: #9cf;

	box-shadow: 0 0 0.285714285714em -0.071428571429em #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="search"] {
	-webkit-border-radius: 0;
	-webkit-appearance: none;
}
input[type="submit"],
input[type="button"] {
	-webkit-appearance: none;
}

button,
.button,
.submit,
.pseudo-button {
	cursor: pointer;
}
.pseudo-button {
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
}
button,
.button,
.pseudo-button-default {
	background-color: #666;
	color: #fff;
	border-color: #666;
}
button:hover,
button:focus,
button:active,
.button:hover,
.button:focus,
.button:active,
a:hover .pseudo-button-default,
a:focus .pseudo-button-default,
a:active .pseudo-button-default,
.pseudo-button-default:hover,
.pseudo-button-default:focus,
.pseudo-button-default:active {
	background-color: #333;
	color: #fff;
	border-color: #333;
}

.submit,
.pseudo-submit {
	background-color: #8fc13a;
	color: #fff;
	border-color: #8fc13a;
}

html > body .button-cw-3 {
	background-color: #5eb4a6;
	color: #fff;
	border-color: #5eb4a6;
}

html > body .button-cw-4 {
	background-color: #202020;
	color: #fff;
	border-color: #202020;
}

.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: #000;
	color: #fff;
	border-color: #000;
}

html > body a:hover .button-cw-4,
html > body a:focus .button-cw-4,
html > body a:active .button-cw-4,
html > body .button-cw-4:hover,
html > body .button-cw-4:focus,
html > body .button-cw-4:active {
	color: #999;
}

/* ----------- 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;
}
.js .hidden-if-js-enabled {
	opacity: 0;
	visibility: hidden;
}
.js .visible-if-js-enabled {
	opacity: 1;
	visibility: visible;
}
.overflow-auto {
	overflow: auto;
}
.nowrap {
	white-space: nowrap;
}
.hide-text {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
}
.relative {
	position: relative;
}
.list-reset {
	margin-right: 0;
	margin-left: 0;
	padding: 0;
	list-style: none;
}
.bg-cover {
	background-repeat: no-repeat;
	background-position: 50% 50%;

	-webkit-background-size: cover;
	background-size: cover;
}

.font-poppins {
	font-family: Poppins, "Century Gothic", CenturyGothic, "Apple Gothic",
		AppleGothic, sans-serif;
}

/* ------ Mini Modules ------ */
.data-table {
	width: 100%;
	border-collapse: collapse;
}
.data-table tr {
	border-bottom: 1px solid #eee;
}
.data-table th,
.data-table td {
	vertical-align: top;
	text-align: left;
}
.data-table thead th {
	text-transform: uppercase;
}
.data-table .control {
	display: inline-block;
	margin: 0 0.01785714375em;
	text-decoration: none;
}

.webwiz_table th,
.webwiz_table td {
	text-align: left;
}

/*
@media all and (max-width: em) {
	.responsive-data-table thead {
		display: none;
	}
	.responsive-data-table tr {
		display: block;
		margin-bottom: 1em;
		border-bottom: none;
	}
	.responsive-data-table tbody tr:after {
		content: '';
		display: table;
		clear: both;
	}
	.responsive-data-table tbody td {
		display: block;
		clear: left;
		float: left;
		width: 100%;
		border-bottom: 1px solid #eee;
		text-align: right;

		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.responsive-data-table tbody td:last-child {
		border-bottom: none;
	}
	.responsive-data-table tbody td:before {
		content: attr(data-label);
		float: left;
		margin-right: 1em;
	}
}
*/

.standard-button {
	position: relative;
	font-weight: 700;
}
.standard-button-icon {
	position: absolute;
}

.font-size-up-2 .standard-button,
.standard-button.font-size-up-2 {
	padding: 1.0625em 1.75em;
}

.font-size-up-2 .standard-button-with-icon,
.standard-button-with-icon.font-size-up-2 {
	padding-right: 3.375em;
}
.font-size-up-2 .standard-button-icon {
	top: 1em;
	right: 1.5555555556em;
	font-size: 1.125em;
}

.submit-form-scale-out-on-success form {
	-webkit-transition: -webkit-transform 0.25s;
	transition: transform 0.25s;
}
.form-submit-success.submit-form-scale-out-on-success form {
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
}

.submit-form-slide-up-on-success:before,
.submit-form-slide-up-on-success:after {
	content: "";
	display: table;
}
.submit-form-slide-up-on-success:after {
	clear: both;
}
.submit-form-slide-up-on-success ol,
.submit-form-slide-up-on-success ul {
	margin-top: 0;
}

.form-success-msg,
.form-fail-msg,
.form-captchafail-msg,
.form-denied-msg {
	display: none;
	opacity: 0;
}

.form-submit-success .form-success-msg,
.form-submit-fail .form-fail-msg,
.form-captchafail .form-captchafail-msg,
.form-denied .form-denied-msg {
	display: block;
	opacity: 1;

	-webkit-transition: opacity 0.25s;
	-o-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

.ajax-submit-button {
	position: relative;
	/*min-width: em;*/
}
.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: block;
}
.ajax-submit-button .processing-animation {
	display: none;
	position: absolute;
	top: 0;
	left: 50%;
	font-size: 1em;
	text-align: center;

	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
.ajax-submit-button .processing-animation:before {
	display: block;

	-webkit-animation: processing 1s linear infinite;
	animation: processing 1s linear infinite;
}
.ajax-submit-button.processing .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-right: 0.214285714286em;
	margin-left: 0.214285714286em;
	font-size: 1em;
}
.ajax-submit-button.ajax-success .success-message {
	display: block;
}
.ajax-submit-button.ajax-fail {
	background-color: #c00;
	border-color: #c00;

	-webkit-transition: background-color 0.2s, border-color 0.2s;
	-o-transition: background-color 0.2s, border-color 0.2s;
	transition: background-color 0.2s, border-color 0.2s;
}
.ajax-submit-button.ajax-fail .fail-message {
	display: block;
}

.ajax-submit-button.font-size-up-2 .processing-animation,
.font-size-up-2 .ajax-submit-button .processing-animation,
.ajax-submit-button.font-size-up-2 .ajax-message .icon-icomoon,
.font-size-up-2 .ajax-submit-button .ajax-message .icon-icomoon {
	font-size: 1.25em;
}
.ajax-submit-button.font-size-up-2 .ajax-message .icon-icomoon,
.font-size-up-2 .ajax-submit-button .ajax-message .icon-icomoon {
	margin-right: 0.15em;
	margin-left: 0.15em;
}

.msg {
	margin: 1.42857142857em 0;
	padding: 1em;
	text-align: center;
}
.success {
	background-color: #eaf5ea;
	color: #393;

	box-shadow: 0 0 0.5em #393;
}
.error {
	background-color: #fae5e5;
	color: #c00;

	box-shadow: 0 0 0.5em #c00;
}
.info {
	background-color: #ccf;
	color: #006;

	box-shadow: 0 0 0.5em #006;
}

.download-list {
	font-size: 1em;
}
.download-list li {
	margin: 0.625em 0;
}
.download-list a {
	display: block;
	position: relative;
	padding: 0.3125em 0.625em 0.3125em 3.75em;
	text-decoration: none;
}
.download-list a:hover,
.download-list a:focus,
.download-list a:active {
	background-color: rgba(0, 0, 0, 0.0333333333);

	transition: background-color 0.2s;
}
.download-list-heading {
	text-transform: uppercase;
}
.download-list .icon-icomoon {
	position: absolute;
	top: 0.5em;
	left: 1em;
	font-size: 1.25em;
}

.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;
	text-decoration: none;

	transition: color 0.2s;
}
.social-media-list .icon-icomoon {
	font-size: 1.5em;
}

.no-img,
.embedded-map,
.embedded-video {
	position: relative;
	height: 0;
	overflow: hidden;
	text-align: center;
}
.no-img,
.embedded-map,
.embedded-video {
	background-color: rgba(0, 0, 0, 0.1);
}
.no-img,
.embedded-map {
	color: #000;
}
a:hover .no-img,
a:focus .no-img,
a:active .no-img,
a.no-img:hover,
a.no-img:focus,
a.no-img:active {
	background-color: rgba(0, 0, 0, 0.2);
}
a:hover .no-img,
a:focus .no-img,
a:active .no-img,
a.no-img:hover,
a.no-img:focus,
a.no-img:active {
	color: #000;
}
.no-img p {
	position: absolute;
	top: 50%;
	left: 5%;
	width: 90%;
	margin: 0 !important;

	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.image-sizer,
.product-grid-item .image-module img {
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 100%;
	width: auto !important;
	max-height: 100%;
	margin: 0;
	transform: translate(-50%, -50%);
}

.image-sizer-spacer {
	height: 0;
	padding: 0 0 100%;
	overflow: auto;
}

.grid-child .no-img + .image-sizer-spacer {
	padding: 0;
}

.embedded-map-module {
	max-width: 620px;
}

.embedded-map {
	padding: 0 0 100%;
}

.embedded-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media all and (min-width: 37.5em) {
	.embedded-map {
		padding: 0 0 64.516129%;
	}
}

.embedded-video {
	padding: 0 0 56.25%;
}
.embedded-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.icon-icomoon,
.icon-icomoon:before {
	display: block;
}
.icon-icomoon {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: "icomoon" !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-logo2:before {
  content: "\e91c";
}
.icon-plus:before {
  content: "\e91b";
}
.icon-logo:before {
  content: "\e91a";
}
.icon-file:before {
	content: "\e904";
}
.icon-xls:before {
	content: "\e900";
	color: #217346;
}
.icon-doc:before {
	content: "\e901";
	color: #2b579a;
}
.icon-pdf:before {
	content: "\e902";
	color: #ee3f24;
}
.icon-instagram:before {
	content: "\e903";
}
.icon-cross:before {
	content: "\e918";
}
.icon-tick:before {
	content: "\e919";
}
.icon-linkedin:before {
	content: "\e905";
}
.icon-vimeo:before {
	content: "\e906";
}
.icon-pinterest:before {
	content: "\e907";
}
.icon-twitter:before {
	content: "\e908";
}
.icon-youtube:before {
	content: "\e909";
}
.icon-facebook:before {
	content: "\e90a";
}
.icon-spinner:before {
	content: "\e90b";
}
.icon-player:before {
	content: "\e90c";
}
.icon-enlarge:before {
	content: "\e90d";
}
.icon-clock:before {
	content: "\e90e";
}
.icon-checkbox-checked:before {
	content: "\e90f";
}
.icon-arrow-right:before {
	content: "\e910";
}
.icon-envelope:before {
	content: "\e911";
}
.icon-phone:before {
	content: "\e912";
}
.icon-menu:before {
	content: "\e913";
}
.icon-tools:before {
	content: "\e914";
}
.icon-chevron-right:before {
	content: "\e915";
}
.icon-recycle:before {
	content: "\e916";
}
.icon-search:before {
	content: "\e917";
}

/*.bg-sprite {
	background-image: url('/images/bg-sprites.png');
	background-repeat: no-repeat;
	background-position: 0 -100px;
}*/

.skip-link {
	position: absolute;
	top: 0;
	left: -999em;
	padding: 0.5em;
	font-size: 1.2em;
	line-height: 1.333;
	text-decoration: none;
	z-index: 3;
}
.skip-link:focus,
.skip-link:active {
	left: 0;
	background-color: #000;
	color: #fff;
}

/* ------ Layout ------ */
.wrapper {
	max-width: 87.5em;
	margin-right: auto;
	margin-left: auto;
	padding-right: 1.25em;
	padding-left: 1.25em;
}

.max-content-width-wrapper {
	max-width: 1920px;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.grid-adjust-default {
	margin-right: -0.625em;
	margin-left: -0.625em;
}
.gutter-default {
	padding-right: 0.625em;
	padding-left: 0.625em;
}
.gutter-fixed-half {
	padding-right: 0.625em;
	padding-left: 0.625em;
}
.gutter-fixed-full {
	padding-right: 1.25em;
	padding-left: 1.25em;
}

@media all and (min-width: 48em) {
	.wrapper {
		padding-right: 2.5em;
		padding-left: 2.5em;
		padding-right: clamp(1.25em, 2.6041666667vw, 2.5em);
		padding-left: clamp(1.25em, 2.6041666667vw, 2.5em);
	}
	.grid-adjust-default {
		margin-right: -1.25em;
		margin-left: -1.25em;
		margin-right: clamp(-1.25em, -1.3020833333vw, -0.625em);
		margin-left: clamp(-1.25em, -1.3020833333vw, -0.625em);
	}
	.gutter-default {
		padding-right: 1.25em;
		padding-left: 1.25em;
		padding-right: clamp(0.625em, 1.3020833333vw, 1.25em);
		padding-left: clamp(0.625em, 1.3020833333vw, 1.25em);
	}
}

/* ------ Colourways ------ */

/* COLOURWAYS */

.cw-1,
.cw-1-base {
	background-color: #8fc13a;
	color: #fff;
}
.cw-1-1,
.cw-1-1-base {
	background-color: #95ca4a;
	color: #fff;
}
.cw-1-2,
.cw-1-2-base {
	background-color: #7cb32f;
	color: #fff;
}
.cw-1 a {
	color: #e3efce;
}
.cw-1 a:hover,
.cw-1 a:focus,
.cw-1 a:active {
	color: #000;
}

.cw-2,
.cw-2-base {
	background-color: #5db47e;
	color: #fff;
}
.cw-2-1,
.cw-2-1-base {
	background-color: #71c691;
	color: #fff;
}
.cw-2 a {
	color: #d6ecdf;
}
.cw-2 a:hover,
.cw-2 a:focus,
.cw-2 a:active {
	color: #aedabf;
}

.cw-3,
.cw-3-base {
	background-color: #5eb4a6;
	color: #fff;
}
.cw-3-1,
.cw-3-1-base {
	background-color: #79c9c4;
	color: #fff;
}
.cw-3 a {
	color: #d7ece9;
}
.cw-3 a:hover,
.cw-3 a:focus,
.cw-3 a:active {
	color: #afdad3;
}

.cw-4,
.cw-4-base {
	background-color: #202020;
	color: #fff;
}
.cw-4-alternative-link a {
	color: #fff;
}
.cw-4-alternative-link a:hover,
.cw-4-alternative-link a:focus,
.cw-4-alternative-link a:active {
	color: #999;
}

.cw-5,
.cw-5-base,
.webwiz_table thead th,
.webwiz_table thead td {
	background-color: #f3f3f3;
	color: #202020;
}

.cw-default,
.cw-default-base {
	background-color: #fff;
	color: #202020;
}
.cw-default a {
	color: #7cb32f;
}
.cw-default a:hover,
.cw-default a:focus,
.cw-default a:active {
	color: #999;
}

.cw-1-foreground {
	color: #7cb32f;
}

.cw-1-1-foreground {
	color: #95ca4a;
}

.cw-2-foreground {
	color: #5db47e;
}

.cw-2-1-foreground {
	color: #71c691;
}

.cw-3-foreground {
	color: #5eb4a6;
}

.cw-3-1-foreground {
	color: #79c9c4;
}

.cw-4-foreground,
.cw-default-foreground {
	color: #202020;
}

.keyline-default {
	border: 1px solid #eee;
}

/* ------ Modules ------ */
.site-header {
	position: relative;
	z-index: 3;
	text-align: center;
}

.logo,
.adj-to-logo {
	display: inline-block;
	vertical-align: middle;
	width: 100%;

	box-sizing: border-box;
}

.logo a {
	display: block;
	max-width: 290px;
	margin: 20px 0;
}
.logo img {
	display: block;
}

.nav-top,
.nav-main {
	margin: 0.9375em 0;
}
.nav-top {
	position: relative;
}
.nav-top ul {
	margin: -0.25em -0.5em;
	font-size: 1em;
	letter-spacing: 0.05em;
	line-height: 1;
}
.nav-top li {
	display: inline-block;
	padding: 0.25em 0.5em;
	box-sizing: border-box;
}
.nav-top a {
	display: block;
	margin: 0;
	text-decoration: none;
}

.search-form {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 1;
	width: 100%;
	margin-top: 0.625em;

	filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.4));
}
.search-form.show {
	display: block;
}
.search-form:target {
	display: block;
}
.visible-form-inputs {
	position: relative;
	padding-right: 2.125em;
}
.search-form input {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.285714285714em;
}
.search-form .submit {
	position: absolute;
	top: 0;
	right: 0;
	padding: 0.375em;
}
.search-form .submit .icon-icomoon {
	font-size: 1.25em;
}
.search-form .callout-arrow {
	position: absolute;
	bottom: 100%;
	left: 50%;
	left: calc(50% + 1.875em);
	width: 0;
	height: 0;
	border-width: 0 0.625em 0.25em;
	border-style: none inset solid;
	border-color: transparent transparent #fff;

	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.nav-main a {
	display: block;
	text-decoration: none;
}
.nav-main ul {
	display: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	letter-spacing: 0.05em;
}
.nav-main ul a {
	color: #202020;
}

.nav-main > ul:first-of-type > li > a {
	position: relative;
	padding-right: 1em;
}
.nav-main > ul:first-of-type > li > a:after {
	content: ">";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	color: #7cb32f;

	transform: rotate(90deg);
}
.nav-main > ul:first-of-type > li > a:only-child {
	padding-right: 0;
}
.nav-main > ul:first-of-type > li > a:only-child:after {
	content: normal;
}

.nav-main ul ul {
	font-size: 1em;
}

@media all and (max-width: 18.6875em) {
	.logo a {
		margin-bottom: 0;
	}
	.nav-main {
		margin-right: -1.25em;
		margin-bottom: 0;
		margin-left: -1.25em;
	}
}

@media all and (min-width: 18.75em) {
	.logo,
	.adj-to-logo {
		width: 50%;
	}
	.adj-to-logo {
		text-align: right;
	}

	.search-form {
		min-width: 16.25em;
		max-width: 20em;
		margin-right: -0.9375em;
	}
	.search-form .callout-arrow {
		right: 0.75em;
		left: auto;

		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
	}
}

@media all and (min-width: 30em) {
	.logo {
		width: 33.3333333333%;
	}
	.adj-to-logo {
		width: 66.6666666667%;
	}
}

@media all and (max-width: 47.9375em) {
	.nav-top .link-text {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 1px;
		height: 1px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	.nav-main .nav-btn {
		margin-top: 0;
		margin-bottom: 0;
		font-weight: 400;
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}
	.nav-main .nav-btn a {
		padding: 0 0.5em;
		background-color: #f6f6f6;
		color: #202020;
	}
	.nav-main .nav-btn .icon-icomoon {
		display: inline-block;
		font-size: 0.857142857em;
		margin-left: 0.25em;
	}

	.nav-main ul:target {
		display: block;
	}
	.nav-main ul.show {
		display: block;
	}
	.nav-main ul a {
		padding: 0.230769em 0.53846153846em;
	}

	@media all and (min-width: 18.75em) {
		.nav-main .nav-btn {
			display: inline-block;
			vertical-align: top;
		}
	}
}

@media all and (min-width: 48em) {
	/*
	.site-header {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
	}
	*/

	.site-header.pinned {
		position: fixed;
		top: 0;
		width: 100%;
	}

	.logo {
		width: 25%;
	}
	.adj-to-logo {
		width: 75%;
	}

	.nav-top,
	.nav-main {
		display: inline-block;
		vertical-align: top;
		width: 100%;
		margin: 1.9230769230769% 0;
	}

	.nav-top li {
		vertical-align: top;
	}
	.nav-top .link-text,
	.nav-top .contact-list-item .icon-icomoon {
		display: inline-block;
	}
	.nav-top .contact-list-item .icon-icomoon {
		margin-right: 0.3846153846em;
	}
	.nav-top .search-list-item a .icon-icomoon {
		font-size: 1.3846153846em;
	}

	.search-form .callout-arrow {
		right: 0.9375em;
	}

	.nav-main .nav-btn {
		display: none;
	}

	.nav-main > ul {
		display: block;
		margin-right: -0.625em;
		margin-left: -0.625em;
		margin-right: clamp(-1.53846153846em, -1.35135135135vw, -0.769230769em);
		margin-left: clamp(-1.53846153846em, -1.35135135135vw, -0.769230769em);
	}
	.nav-main > ul > li {
		display: inline-block;
		vertical-align: top;
		margin-right: 0.625em;
		margin-left: 0.625em;
		margin-right: clamp(0.769230769em, 1.35135135135vw, 1.53846153846em);
		margin-left: clamp(0.769230769em, 1.35135135135vw, 1.53846153846em);
	}

	.nav-main li {
		position: relative;
	}
	.nav-main ul ul {
		position: absolute;
		top: 100%;
		left: -0.769230769em;
		width: 16em;
		padding-top: 1em;
		text-align: left;
	}
	.nav-main ul ul li {
		background-color: #f6f6f6;
		color: #202020;
	}
	.nav-main ul ul a {
		padding: 0.46153846em 0.769230769em;
	}

	.no-js .nav-main li:hover > a,
	.nav-main li.sfHover > a {
		color: #999;
	}
	.no-js .nav-main li:hover > ul,
	.nav-main .sfHover > ul {
		display: block;
	}

	@media all and (max-width: 53.6875em) {
		.nav-main > ul > li:first-child {
			display: none;
		}
	}
}

.site-content {
	position: relative;
	z-index: 1;
}

.site-content-1-1,
.site-content-1-2,
.site-content-1-2-max-content-width,
.site-content-1-3,
.site-content-2-3,
.site-content-45pc,
.site-content-55pc {
	display: inline-block;
	vertical-align: top;
	width: 100%;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

@media all and (min-width: 48em) {
	.site-content-1-2 {
		width: 50%;
	}

	.site-content-1-3 {
		width: 33.3333333333%;
	}
	.site-content-2-3 {
		width: 66.6666666667%;
	}

	.site-content-45pc {
		width: 45%;
	}
	.site-content-55pc {
		width: 55%;
	}

	.side-image-module:first-child {
		margin-top: 0.625em;
	}
}

@media all and (min-width: 60em) {
	.site-content-1-2-max-content-width {
		width: 50%;
	}
	.push-site-content-1-2-max-content-width {
		position: relative;
		left: 50%;
	}
	.pull-site-content-1-2-max-content-width {
		position: relative;
		left: -50%;
	}
}

.slideshow-module {
	overflow: hidden;
}
.slideshow-panel {
	display: none;
}
.slideshow-panel:first-child {
	display: block;
}
.slideshow-panel-spacer {
	height: 0;
	padding: 0 0 45.42857142857%;
}

.js .slideshow-panel-overlay {
	opacity: 0;
	visibility: hidden;
}
.slideshow-panel-title,
.slideshow-panel-body-text {
	font-weight: 700;
}
.slideshow-panel-title {
	line-height: 1;
	letter-spacing: -0.05em;
}
.slideshow-panel-body-text {
	margin: 1em 0;
	line-height: 1.2;
	letter-spacing: -0.03em;
}
.slideshow-panel-link-text {
	margin: 1.25em 0;
}

.slideshow-module .slick-dots {
	position: absolute;
	z-index: 100;
	top: 0.3125em;
	right: 0.3125em;
}

@media all and (min-width: 48em) {
	.slideshow-panel {
		position: relative;
	}
	.slideshow-panel-spacer {
		height: 636px;
		padding: 0;
	}
	.slideshow-panel-overlay {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;

		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	.slideshow-panel-overlay-content {
		width: 50%;
	}

	.slideshow-panel-title {
		margin: 0.34em 0;
		margin: clamp(1.25rem, 2.297297297vw, 2.125rem) 0;
		font-size: 6.25em;
		font-size: clamp(2.25em, 6.7567567567vw, 6.25em);
	}
	.slideshow-panel-body-text {
		margin: 0.9444444444em 0;
		margin: clamp(1.25rem, 2.297297297vw, 2.125rem) 0;
		font-size: 2.25em;
		font-size: clamp(1.25em, 2.432432432vw, 2.25em);
		line-height: 1.1111111111;
	}
	.slideshow-panel-link-text {
		margin: clamp(1.25rem, 2.297297297vw, 2.125rem) 0;
	}

	.slideshow-module .slick-dots {
		top: auto;
		right: auto;
		bottom: 1.125em;
		width: 100%;
		text-align: left;
	}
}

.top-image-overlay-text {
	letter-spacing: -0.05em;
}

@supports (display: flex) {
	.top-image-module {
		display: flex;
	}
	.top-image-module > .wrapper {
		display: flex;
		flex: 1 1 auto;
	}
	.top-image-overlay-text {
		align-self: center;
	}
}

@media all and (min-width: 48em) {
	.top-image-overlay-text {
		margin: clamp(1.25rem, 3.125vw, 4.1875rem) 0;
		font-size: clamp(2.25em, 4.6875vw, 3.75em);
		line-height: 1.1;
	}
}

.breadcrumb {
	margin: 1.3333333333em 0;
	padding: 0;
}
.breadcrumb li,
.breadcrumb li:before {
	display: inline-block;
}
.breadcrumb li:before {
	content: "\0000a0>\0000a0";
}
.breadcrumb li:first-child:before {
	content: normal;
}
.breadcrumb a {
	text-decoration: none;
}

@media all and (min-width: 48em) {
	.breadcrumb {
		text-align: right;
	}
}

.site-content-body {
	margin-top: -0.625em;
}

.body-text-module ul {
	margin-right: 0;
	margin-left: 0;
	padding-right: 0;
	padding-left: 0;
	list-style-type: none;
}
.body-text-module ul li {
	position: relative;
	margin: 0.7142857em 0;
	padding-left: 2.57142857em;
}
.body-text-module ul li:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "\e90f";
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: "icomoon" !important;
	font-size: 1.7142857em;
	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;
}

.site-content-heading span {
	display: block;
}

.site-content-sub-heading {
	font-weight: 400;
}

.page-intro-heading-left-module {
	margin: 1.875em 0;
}

@media all and (min-width: 48em) {
	.page-intro-heading-left-module {
		position: relative;
		margin-top: 3.125em;
		margin-bottom: 5.625em;
	}
	.page-intro-heading-left-module .divider {
		position: absolute;
		top: 1.25em;
		bottom: 1.25em;
		left: 45%;
		width: 1px;
		background-color: #eee;
	}
	.page-intro-heading-module,
	.page-intro-body-text-module {
		vertical-align: middle;
	}
	.page-intro-heading-module {
		padding-right: 1.875em;
		padding-right: clamp(0.9375em, 1.953125vw, 1.875em);
		text-align: right;
	}
	.page-intro-body-text-module {
		padding-left: 1.5em;
		padding-left: clamp(0.75em, 1.5625vw, 1.5em);
	}

	.site-content-sub-heading {
		max-width: 20em;
		margin-right: 0;
		margin-left: auto;
	}
}

.content-module {
	margin-top: 0.625em;
	margin-bottom: 0.625em;
}

.content-module-2 {
	margin-top: 1.25em;
	margin-bottom: 1.25em;
}
.content-module-2.video-container {
  margin-top: -2em;
	text-align: center;
}
.content-module-3 {
	margin-top: 1.875em;
	margin-bottom: 1.875em;
}

.content-module-4 {
	margin-top: 3.125em;
	margin-bottom: 3.125em;
}

.feature-page-section ul {
	list-style-position: inside;
	list-style-type: none;
	padding-left: 0;
}
.feature-page-section ul li {
	display: inline-block;
	width: 100%;
	text-align: left;
	padding-left: 1.625em;
	box-sizing: border-box;
	padding-right: .5em;
}
@media all and (min-width: 900px) {
	.feature-page-section ul li {
		width: 50%;
	}
}
.feature-page-section ul li:before {
	content: '\e91b';
	font-size: 14px;
	line-height: .875;
	margin-right: 0;
	color: #7cb32f;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.content-section {
	margin-top: -0.625em;
	overflow: hidden;
}
.content-section img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0.625em auto;
}
.content-section img.block {
	margin-right: 0;
	margin-left: 0;
}
.content-section li {
	margin-top: 0.285714285714em;
}

@media all and (min-width: 37.5em) {
	.content-section img.pull-right {
		float: right;
		margin-right: 0;
		margin-left: 0.625em;
	}
	.content-section img.pull-left {
		float: left;
		margin-right: 0.625em;
		margin-left: 0;
	}
}
@media all and (min-width: 48em) {
	.page-intro-heading-left-module + .feature-page-section {
		margin-top: -4.5em;
	}
	.feature-page-section {
		text-align: left;
	}
}

.side-image-module .container {
	max-width: 440px;
}
.side-image-module img {
	display: block;
}

.focus-section {
	background-color: #000;
}
.focus-section-image-col {
	background-color: rgba(0, 0, 0, 0.1);
}
.focus-section img {
	display: block;
}
.focus-section .no-img {
	padding: 0 0 56.25%;
	background-color: transparent;
}

.focus-section-text-col {
	background-position: 0 -90px;
	background-size: 200%;
}

.focus-section-text {
	max-width: 38.75em;
	margin-right: auto;
	margin-left: auto;
	padding: 1.25em 2.5em;
}

@media all and (min-width: 60em) {
	.focus-section-text {
		padding-right: clamp(2.5em, 4.1666666667vw, 5em);
		padding-left: clamp(2.5em, 4.1666666667vw, 5em);
	}

	.focus-section-text-left .focus-section-text {
		margin-right: 0;
	}
	.focus-section-text-right .focus-section-text {
		margin-left: 0;
	}

	@supports (display: flex) {
		.focus-section {
			display: flex;
		}
		.focus-section .wrapper {
			display: flex;
			flex: 1 1 auto;
		}
		.site-content-1-2-max-content-width {
			display: flex;
			flex: 1 1 auto;
			flex-direction: column;
			justify-content: center;
		}
	}
}

.secondary-focus-section {
	margin: 4.125em 0;
	background-color: #000;
}
.secondary-focus-section-text {
	padding-top: 1.25em;
	padding-bottom: 1.25em;
}

@supports (display: flex) {
	.secondary-focus-section > .wrapper {
		display: flex;
	}
	.secondary-focus-section-text {
		align-self: center;
	}
}

.standard-form {
	max-width: 38.75em;
}
.text-centre .standard-form {
	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-bottom: 0.2142857em;
}

.standard-form li.required .label:after,
#basket_default .required {
	background-color: transparent;
	color: #c00;
}
.standard-form li.required .label:after {
	content: "\0000a0*";
}
.standard-form input,
.standard-form select,
.standard-form textarea {
	width: 100%;
	padding: 0.857142857143em;
	vertical-align: top;
}
.standard-form input[type="checkbox"],
.standard-form input[type="radio"] {
	width: auto;
	margin: 0.285714285714em 0 0;
	border: 0;
	vertical-align: middle;
}
.standard-form .submit,
.standard-form .button {
	display: block;
	width: auto;
}

.contactus-gdpr-declaration-item p {
	margin: 0;
}

@media all and (min-width: 30em) and (max-width: 47.9375em),
	all and (min-width: 60em) {
	@supports (display: grid) {
		.contactus-form ol {
			display: grid;
			grid-template-columns: 1fr 1fr;
			column-gap: 1rem;
			row-gap: 0.875rem;
		}
		.contactus-form li {
			margin: 0;
		}
		.contactus-enquiry-item,
		.contactus-gdpr-declaration-item {
			grid-column: span 2;
		}
	}
}

.contact-site-content li {
	margin-top: 1.42857142857em;
	margin-bottom: 1.42857142857em;
}
.contact-site-content a {
	text-decoration: none;
}

@media all and (min-width: 48em) {
	.contact-page-main-image:first-child {
		margin-top: 1.25em;
	}
	.contact-site-content-panel:first-child {
		margin-top: 1.625em;
	}
}

.child-list-module {
	padding-top: 1.25em;
	padding-bottom: 2.5em;
	background-position: 50% -90px;
}

.child-list-module-intro {
	max-width: 57.5em;
	margin-right: auto;
	margin-left: auto;
}

.grid-child {
	margin: -0.625em auto;
	padding: 0;
	font-size: 1em;
	list-style: none;
}
.grid-child .grid-item {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	text-align: center;
}
.grid-child .grid-item a {
	text-decoration: none;
}

.grid-child .container {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	margin: 0.625em 0;
}
.grid-child .content {
	display: block;
	margin: 0 0.625em;

	text-align: left;
}
.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;
}

@media all and (min-width: 48em) {
	.grid-child {
		margin: -1.25em 0;
		margin: clamp(-1.25em, -1.3020833333vw, -0.625em) 0;
	}
	.grid-child .container {
		margin: 1.25em 0;
		margin: clamp(0.625em, 1.3020833333vw, 1.25em) 0;
	}
	.grid-child .content {
		margin: 0 1.25em;
		margin: 0 clamp(0.625em, 1.3020833333vw, 1.25em);
	}
}

@media all and (min-width: 30em) {
	.grid-child-3-up .grid-item {
		width: 50%;
	}
}

@media all and (min-width: 45em) {
	.grid-child-3-up .grid-item {
		width: 33.3333333333%;
	}
}

@media all and (min-width: 22.5em) {
	.grid-child-4-up .grid-item {
		width: 50%;
	}
}

@media all and (min-width: 40em) {
	.grid-child-4-up .grid-item {
		width: 33.3333333333333%;
	}
}

@media all and (min-width: 60em) {
	.grid-child-4-up .grid-item {
		width: 25%;
	}
}

.default-grid-item .no-img {
	padding: 0 0 68.1818181818%;
}

.default-grid-text {
	padding: 0.8125em 1.25em;
}

@media all and (min-width: 48em) {
	.default-grid-text {
		padding: 1em 1.5625em;
		padding: clamp(0.8125em, 1.6927083333vw, 1em)
			clamp(1.25em, 2.6041666667vw, 1.5625em);
	}
}

.search-grid-item .image-container {
	position: relative;
	height: 0;
	padding: 0 0 68.125%;
}
.search-grid-item .image-container img {
	position: absolute;
	top: 50%;

	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.product-grid-item .no-img {
	padding: 0 0 66.6666666667%;
}

.focus-panel .no-img {
	padding: 0 0 122.7272727272%;
}
.focus-panel-heading {
	position: relative;
	margin-top: 1em;
	padding-left: 2em;
}
.focus-panel-heading .icon-icomoon {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.5em;
}

.grid-child .related-logo {
	vertical-align: middle;
	width: auto;
}

.related-logo-module .grid-adjust-default {
	margin-right: clamp(-2.25em, -1.875vw, -1.25em);
	margin-left: clamp(-2.25em, -1.875vw, -1.25em);
}
.related-logo-module .grid-child {
	margin-top: clamp(-2.25em, -1.875vw, -1.25em);
	margin-bottom: clamp(-2.25em, -1.875vw, -1.25em);
}
.related-logo .container {
	margin-top: clamp(1.25em, 1.875vw, 2.25em);
	margin-bottom: clamp(1.25em, 1.875vw, 2.25em);
}
.related-logo .content {
	margin-right: clamp(1.25em, 1.875vw, 2.25em);
	margin-left: clamp(1.25em, 1.875vw, 2.25em);
}

.feature-panels-module {
	background-color: #000;
}

.feature-panel-grid {
	margin: 0;
	font-size: 1em;
}

.feature-panel {
	display: inline-block;
	vertical-align: top;
	width: 100%;
}
.feature-panel img {
	display: block;
}

.feature-panel-text-spacer {
	background-position: -150px 0;
	background-size: 250%;
}

.feature-panel-text-gutter {
	padding: 0.75em 1.25em;
	padding: clamp(0.75em, 4.6875vw, 1.875em) clamp(1.25em, 7.8125vw, 3.125em);
}

.feature-panel-image-module a {
	display: block;
}

.feature-panel-text-overlay-panel {
	position: relative;
	top: -2em;
	top: clamp(-5em, -12.5vw, -2em);
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
.feature-panel-text-overlay-panel .content {
	pointer-events: auto;
}

.feature-panel-text-overlay-panel-container {
	max-width: 33.75em;
	margin-right: auto;
	margin-left: auto;
}

.feature-panel-text-overlay-arrows .arrow {
	display: none;
	position: absolute;
	width: 0;
	height: 0;
}
.feature-panel-text-overlay-arrows .arrow-top,
.feature-panel-text-overlay-arrows .arrow-bottom {
	left: 50%;
	border-width: 0.875em 1.25em;
	border-right-color: transparent;
	border-left-color: transparent;

	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
.feature-panel-text-overlay-arrows .arrow-top {
	display: block;
	bottom: 100%;
	border-top-width: 0;
	border-style: none inset solid;
}
.feature-panel-text-overlay-arrows .arrow-bottom {
	top: 100%;
	border-bottom-width: 0;
	border-style: solid inset none;
}
.feature-panel-text-overlay-arrows .arrow-right,
.feature-panel-text-overlay-arrows .arrow-left {
	top: 50%;
	border-width: 1.25em 0.875em;
	border-top-color: transparent;
	border-bottom-color: transparent;

	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.feature-panel-text-overlay-arrows .arrow-right {
	left: 100%;
	border-right-width: 0;
	border-style: inset none inset solid;
}
.feature-panel-text-overlay-arrows .arrow-left {
	right: 100%;
	border-left-width: 0;
	border-style: inset solid inset none;
}

.feature-panel-heading {
	line-height: 1;
}

.feature-panel-text-overlay-panel .pseudo-button {
	background-color: #fff;
	color: #202020;
	border-color: #fff;
}

.feature-panel-text-only .feature-panel-text-spacer {
	position: relative;
	height: 0;
	padding: 0 0 100%;
}
.feature-panel-text-only .feature-panel-text-standard-panel {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	max-height: 100%;
	overflow: auto;

	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);

	box-sizing: border-box;
}
.feature-panel-text-only .pseudo-button {
	background-color: #202020;
	color: #fff;
	border-color: #202020;
}

@supports (display: flex) {
	.feature-panel-text-overlay-panel-container {
		flex: 0 1 auto;
	}
}

@media all and (min-width: 40em) {
	.feature-panel {
		width: 50%;
	}

	.feature-panel-text-gutter {
		padding: clamp(0.75em, 1.875vw, 1.875em) clamp(1.25em, 3.125vw, 3.125em);
	}

	.feature-panel-text-overlay-panel {
		top: clamp(-5em, -5vw, -2em);
	}

	@media all and (max-width: 79.9375em) {
		@supports (display: flex) {
			.feature-panel:nth-child(even) .flex-container {
				display: flex;
				flex-direction: column-reverse;
			}
			.feature-panel:nth-child(even) .feature-panel-text-overlay-panel {
				top: clamp(2em, 5vw, 5em);
				display: flex;
				flex-direction: column;
				justify-content: end;
			}
			.feature-panel:nth-child(even) .arrow-top {
				display: none;
			}
			.feature-panel:nth-child(even) .arrow-bottom {
				display: block;
			}
		}
	}
}

@media all and (min-width: 50em) {
	.feature-panel-text-module .feature-panel-text-spacer {
		position: relative;
		height: 0;
		padding: 0 0 100%;
	}
	.feature-panel-text-overlay-panel {
		position: absolute;
	}
	.feature-panel-text-overlay-panel-container {
		max-height: 100%;
	}
	.feature-panel-text-overlay-panel .content {
		max-height: 100%;
		overflow: auto;

		box-sizing: border-box;
	}

	@media all and (max-width: 79.9375em) {
		@supports (display: flex) {
			.feature-panel:nth-child(even) .feature-panel-text-overlay-panel {
				top: 0;
				bottom: clamp(-5em, -5vw, -2em);
			}
		}
	}
}

@media all and (min-width: 80em) {
	.feature-panel {
		width: 33.3333333333%;
	}

	.feature-panel-text-gutter {
		padding: clamp(0.75em, 1.5625vw, 1.875em)
			clamp(1.25em, 2.6041666667vw, 3.125em);
	}

	.feature-panel-text-overlay-arrows .arrow {
		display: none;
	}

	.feature-panel-text-overlay-panel {
		top: clamp(-5em, -4.1666666667vw, -2em);
	}

	.feature-panel-span-2 {
		width: 66.6666666667%;
	}
	.feature-panel-span-2 .feature-panel-image-module,
	.feature-panel-span-2 .feature-panel-text-module {
		display: inline-block;
		vertical-align: top;
		width: 50%;
	}
	.feature-panel-span-2 .feature-panel-text-only .feature-panel-text-spacer {
		padding: 0 0 50%;
	}

	.feature-panel-span-2.feature-panel-image-first
		.feature-panel-text-overlay-panel-container {
		margin-left: 0;
	}
	.feature-panel-span-2.feature-panel-text-first
		.feature-panel-text-overlay-panel-container {
		margin-right: 0;
	}

	.feature-panel-span-2.feature-panel-image-first .arrow-left {
		display: block;
	}
	.feature-panel-span-2.feature-panel-text-first .arrow-right {
		display: block;
	}

	.feature-panel-span-2.feature-panel-text-first .feature-panel-image-module,
	.feature-panel-span-2.feature-panel-text-first .feature-panel-text-module {
		position: relative;
	}
	.feature-panel-span-2.feature-panel-text-first .feature-panel-image-module {
		left: 50%;
	}
	.feature-panel-span-2.feature-panel-text-first .feature-panel-text-module {
		left: -50%;
	}

	.feature-panel-span-2 .feature-panel-text-overlay-panel {
		top: 0;
	}

	.feature-panel-span-2.feature-panel-image-first
		.feature-panel-text-overlay-panel {
		left: -6.25em;
	}
	.feature-panel-span-2.feature-panel-text-first
		.feature-panel-text-overlay-panel {
		right: -6.25em;
	}

	@supports (display: flex) {
		.feature-panel-span-1.feature-panel-image-first .arrow-top {
			display: block;
		}
		.feature-panel-span-1.feature-panel-text-first .arrow-bottom {
			display: block;
		}

		.feature-panel-span-1.feature-panel-text-first .flex-container {
			display: flex;
			flex-direction: column-reverse;
		}
		.feature-panel-span-1.feature-panel-text-first
			.feature-panel-text-overlay-panel {
			top: 0;
			bottom: clamp(-5em, -4.1666666667vw, -2em);
			display: flex;
			flex-direction: column;
			justify-content: end;
		}

		.feature-panel-span-2 .feature-panel-text-overlay-panel {
			display: flex;
			flex-direction: column;
			justify-content: center;
		}
	}
}

.page-nav,
.page-nav-detailed {
	text-align: center;
}
.page-nav .page-list {
	font-weight: 700;
}
.page-nav .page-list span,
.page-nav .page-list a {
	margin-right: 0.125em;
	margin-left: 0.125em;
}
.page-nav .page-list a {
	font-weight: 400;
}
.page-nav .prev,
.page-nav .next,
.page-nav-detailed .first,
.page-nav-detailed .prev,
.page-nav-detailed .next,
.page-nav-detailed .last {
	color: #999;
}

.page-nav-detailed > div,
.page-nav-detailed > div:before {
	display: inline-block;
	vertical-align: top;
}
.page-nav-detailed > div:before {
	margin-right: 0.5em;
	margin-left: 0.5em;
	content: " | ";
}
.page-nav-detailed .first:before,
.page-nav-detailed .prev:before,
.page-nav-detailed .next:before,
.page-nav-detailed .last:before {
	color: #202020;
}
.page-nav-detailed > div:first-child:before {
	content: normal;
}

@media all and (min-width: 25.875em) {
	.page-nav {
		display: inline-block;
		position: relative;
	}
	.page-nav .page-list {
		margin-right: 6.25em;
		margin-left: 6.25em;
	}
	.page-nav .prev,
	.page-nav .next {
		position: absolute;
		top: 0;
	}
	.page-nav .prev {
		left: 0;
	}
	.page-nav .next {
		right: 0;
	}
}

.product-media,
.product-media-nav-container {
	max-width: 680px;
}
.product-media {
	margin-bottom: 20px;
	margin-bottom: clamp(10px, 2.6041666667vw, 20px);
}
.product-media-nav-container {
	margin-top: 20px;
	margin-top: clamp(10px, 2.6041666667vw, 20px);
}
.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-detail .embedded-video-module .embedded-video {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;

	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.product-media .mfp-gallery .icon-icomoon {
	position: absolute;
	bottom: 14px;
	left: 17px;
	font-size: 1.5em;
	opacity: 0;
}
.product-media .mfp-gallery:hover .icon-icomoon,
.product-media .mfp-gallery:focus .icon-icomoon,
.product-media .mfp-gallery:active .icon-icomoon,
.product-media-nav a:hover .icon-icomoon,
.product-media-nav a:focus .icon-icomoon,
.product-media-nav a:active .icon-icomoon {
	color: #000;
}

.product-media.mfp-initialised .mfp-gallery {
	cursor: pointer;
}
.product-media.mfp-initialised .mfp-gallery .icon-icomoon {
	opacity: 1;

	transition: opacity 0.25s, color 0.15s;
}

.product-media-nav {
	margin: -10px;
	margin: clamp(-10px, -1.3020833333vw, -5px);
	font-size: 1em;
}
.product-media-nav .item {
	display: inline-block;
	vertical-align: top;
	width: 25%;
}
.product-media-nav .container {
	margin-top: 10px;
	margin-bottom: 10px;
	margin-top: clamp(5px, 1.3020833333vw, 10px);
	margin-bottom: clamp(5px, 1.3020833333vw, 10px);
}
.product-media-nav .content {
	display: block;
	position: relative;
	margin-right: 10px;
	margin-left: 10px;
	margin-right: clamp(5px, 1.3020833333vw, 10px);
	margin-left: clamp(5px, 1.3020833333vw, 10px);
	overflow: hidden;
	text-decoration: none;
}
.product-media-nav .video-screen-cap-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.product-media-nav .video-screen-cap img {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;

	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.product-media-nav .icon-icomoon {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 2.125em;

	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);

	transition: color 0.15s;
}

@media all and (min-width: 48em) {
	.product-media {
		margin-bottom: 20px;
		margin-bottom: clamp(10px, 1.35135135135vw, 20px);
	}
	.product-media-nav-container {
		margin-top: 20px;
		margin-top: clamp(10px, 1.35135135135vw, 20px);
	}

	.product-media-nav {
		margin: -10px;
		margin: clamp(-10px, -0.67567567567vw, -5px);
		font-size: 1em;
	}
	.product-media-nav .container {
		margin-top: 10px;
		margin-bottom: 10px;
		margin-top: clamp(5px, 0.67567567567vw, 10px);
		margin-bottom: clamp(5px, 0.67567567567vw, 10px);
	}
	.product-media-nav .content {
		margin-right: 10px;
		margin-left: 10px;
		margin-right: clamp(5px, 0.67567567567vw, 10px);
		margin-left: clamp(5px, 0.67567567567vw, 10px);
	}

	.product-media-nav .icon-icomoon {
		font-size: 3.75em;
	}
}

.product-detail-slider-panels {
	border-width: 1px 0 0;
}
.product-detail-slider-panels .slider-panel {
	border-width: 0 0 1px;
}
.product-detail-slider-panels .slider-panel-heading {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0.9444444444em 1.6666666667em 0.9444444444em 0;
}
.product-detail-slider-panels .slider-panel-heading .hide-reveal-icon {
	position: absolute;
	top: 1.4em;
	right: 0.4666666667em;
	font-size: 0.8333333333em;

	transition: transform 0.15s;
}
.product-detail-slider-panels.jq-slider-panels-initialised
	.slider-panel-heading {
	cursor: pointer;
}
.product-detail-slider-panels.jq-slider-panels-initialised
	.slider-panel-heading:hover,
.product-detail-slider-panels.jq-slider-panels-initialised
	.slider-panel-heading:focus,
.product-detail-slider-panels.jq-slider-panels-initialised
	.slider-panel-heading:active {
	background-color: #f6f6f6;

	transition: background-color 0.15s;
}
.product-detail-slider-panels
	.slider-panel:first-child
	.slider-panel-heading
	.hide-reveal-icon,
.product-detail-slider-panels .slider-panel-heading.selected .hide-reveal-icon {
	transform: rotate(-90deg);
}
.product-detail-slider-panels .slider-panel-heading .hide-reveal-icon,
.product-detail-slider-panels
	.slider-panel-heading.deselected
	.hide-reveal-icon,
.product-detail-slider-panels
	.slider-panel:first-child
	.slider-panel-heading.deselected
	.hide-reveal-icon {
	transform: rotate(90deg);
}
.product-detail-slider-panels .hide-reveal-icon {
	visibility: hidden;
}
.product-detail-slider-panels.jq-slider-panels-initialised
	.slider-panel-heading
	.hide-reveal-icon {
	visibility: visible;
}

.js .product-detail-slider-panels .slider-panel-content {
	display: none;
}
.js
	.product-detail-slider-panels
	.slider-panel:first-child
	.slider-panel-content {
	display: block;
}

.product-summary-module {
	border-radius: 0.25em;
}

.product-summary-grid {
	font-size: 1em;
	line-height: 1;
}
.product-summary-item {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	text-align: center;

	box-sizing: border-box;
}
.product-summary-item .icon-icomoon {
	margin: 0.1666666667em 0;
	font-size: 3.375em;
}
.product-summary-item .union-flag {
	background-image: url("/images/union-flag.png");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
.product-summary-item p {
	font-weight: 700;
}

@media all and (min-width: 14.375em) {
	.product-summary-item {
		width: 50%;
	}
}

@media all and (min-width: 26.25em) {
	.product-summary-item {
		width: 25%;
	}
	.product-summary-item .icon-icomoon {
		font-size: clamp(1.875em, 7.03125vw, 3.375em);
	}
}

@media all and (min-width: 48em) {
	.product-detail .site-content-1-2 .content-module-4:first-child {
		margin-top: 1.25em;
	}

	.product-summary-item .icon-icomoon {
		font-size: clamp(1.875em, 3.6486486486vw, 3.375em);
	}
}

@media all and (min-width: 37.5em) and (max-width: 47.9375em),
	all and (min-width: 72.5em) {
	.adj-to-product-enquiry-button-col,
	.product-enquiry-button-col {
		display: inline-block;
		vertical-align: middle;
		width: 50%;
		position: relative;
	}
	.adj-to-product-enquiry-button-col {
		left: 50%;
	}
	.product-enquiry-button-col {
		left: -50%;
	}
	.adj-to-product-enquiry-button-col p,
	.product-enquiry-button-col p {
		margin: 0;
	}

	.product-enquiry-button {
		margin-right: 1.25em;
	}
}

@media all and (min-width: 45em) and (max-width: 47.9375em),
	all and (min-width: 90em) {
	.adj-to-product-enquiry-button-col {
		left: 40%;
		width: 60%;
	}
	.product-enquiry-button-col {
		left: -60%;
		width: 40%;
	}
}

.site-footer {
	position: relative;
	z-index: 2;
}
.site-footer a {
	text-decoration: none;
}

.site-footer-1-4 {
	display: inline-block;
	vertical-align: top;
	width: 100%;

	box-sizing: border-box;
}

.footer-panel-heading {
	margin: 1.1111111111em 0;
}

.footer-section {
	padding-top: 0.4375em;
	padding-bottom: 0.4375em;
	border-top: 1px solid #2e2e2e;
}
.footer-section-main {
	padding-top: 0.75em;
	padding-bottom: 2.5em;
	border-top: 0;
}

.nav-footer li {
	margin: 1.5em 0;
}

.contact-site-footer ul {
	margin-top: -0.5em;
	line-height: 1.8333333333;
}
.contact-site-footer li {
	margin: 0.6666666667em 0;
}

@media all and (min-width: 30em) {
	.site-footer-1-4 {
		width: 50%;
	}
}

@media all and (min-width: 60em) {
	.site-footer-1-4 {
		width: 25%;
	}
}

.cookies-eu-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 4;
	width: 100%;
	color: #fff;
}
.cookies-eu-banner {
	background-color: rgba(0, 0, 0, 0.75);
}
.cookies-eu-banner a {
	white-space: nowrap;
}
.cookies-eu-banner .pseudo-button {
	vertical-align: baseline;
	padding: 0.142857em 0.7142857em;
	font-weight: 700;
}

@media all and (max-width: 47.9375em) {
	.cookies-eu-banner .text {
		display: block;
		margin-bottom: 1em;
	}
}

@media all and (min-width: 48em) {
	.cookies-eu-banner .pseudo-button {
		margin-left: 0.2857142857em;
	}
}
