@keyframes processing {
	100% {
		transform: rotate(360deg);
	}
}

@font-face {
	font-family: 'icomoon';
	src: url('/fonts/icomoon.eot?n280kg');
	src: url('/fonts/icomoon.eot?n280kg#iefix') format('embedded-opentype'),
		url('/fonts/icomoon.ttf?n280kg') format('truetype'),
		url('/fonts/icomoon.woff?n280kg') format('woff'),
		url('/fonts/icomoon.svg?n280kg#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
}

:root {
	
	--colour-primary-100: #F5F9FC;
	--colour-primary-200: #363650;
	--colour-primary-220: #555573;
	--colour-primary-250: #132E56;
	--colour-primary-500: #EE7218;
	--colour-primary-550: #D15800;

	--colour-neutral-000: #fff;
	--colour-neutral-010: #fbfbfb;
	--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: #4e4e4e;
	--colour-a: #ee7218;
	--colour-a-hover: #D15800;

	--keyline-default: 1px solid var(--colour-neutral-100);
	
	--keyline-transparent: 1px solid transparent;

	--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-montserrat: Montserrat, 'Century Gothic', CenturyGothic, 'Apple Gothic', AppleGothic, sans-serif;
	--font-outfit: Outfit;
	--font-poppins: Poppins, 'Century Gothic', CenturyGothic, 'Apple Gothic', AppleGothic, sans-serif;

	--font-default: var(--font-poppins);
}

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;
}
.site-credits a,
a[href^="mailto:"] {
	text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
form {
	margin: 0;
}

h1,
.h1 {
	margin: 0.333333333333em 0;
	font-size: 3em;
	font-weight: 700;
	line-height: 1.041666666667;
	letter-spacing: -1px;
	font-size: clamp(1.875rem, 1.2188rem + 1.5vw, 3rem);
}
h2,
.h2 {
	margin: 0.444444444444em 0;
	font-size: 2.25em;
	font-weight: 700;
	line-height: 1.222222222222;
	letter-spacing: -1px;
	font-size: clamp(1.25rem, 1.0625rem + 1vw, 2.25rem);
}
h3,
.h3 {
	margin: 0.571428571429em 0;
	font-size: 1.75em;
	font-weight: 700;
	line-height: 1.285714285714;
	letter-spacing: -1px;
}
h4,
.h4 {
	margin: 0.8em 0;
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0px;
}
h5,
.h5 {
	margin: 0.888888888889em 0;
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.555555555556;
	letter-spacing: 0px;
}
h6,
.h6 {
	margin: 1em 0;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0px;
}
p,
ul,
ol,
table,
pre,
hr,
.page-nav,
.page-nav-detailed,
.standard-form .label,
.font-size-default {
	margin: 1em 0;
	font-size: 1em;
	line-height: 1.875;
	letter-spacing: 0px;
}

.alternative-line-height {
	line-height: 1.5;
}

.font-size-down-1,
.font-size-down-1-module :is(p, ul, ol, table) {
	margin: 1.066666666667em 0;
	font-size: 0.9375em;
	line-height: 1.333333333333;
}

.font-size-down-2,
.font-size-down-2-module :is(p, ul, ol, table),
.footer-panel ul,
.breadcrumb {
	margin: 1.142857142857em 0;
	font-size: 0.875em;
	line-height: 1.714285714286;
}

.reset-to-base-font-size {
	font-size: 1rem !important;
	line-height: 1;
}

th,
td {
	padding: 0.625em 1em;
}
th:nth-child(1),
td:nth-child(1) {
	padding-left: 2em;
}
th:nth-last-child(1),
td:nth-last-child(1) {
	padding-right: 2em;
}

b,
strong,
th {
	font-weight: 700;
}

ul ul,
ul ol,
ol ul,
ol ol,
ul p,
ol p,
ul table,
ol table {
	line-height: inherit;
}
ul ul,
ul ol,
ol ul,
ol ol {
	font-size: 1em;
	margin-top: 0;
}
nav ul,
form ol,
form ul {
	margin-right: 0;
	margin-left: 0;
	padding: 0;
	list-style: none;
}
form ol,
form ul,
form p {
	font-size: 1em;
	line-height: inherit;
}

fieldset {
	margin: 0;
	padding: 0;
	border: none;
}
legend {
	display: block;
	width: 100%;
	padding: 0;
}
input,
button,
select,
textarea,
.pseudo-button {
	background-color: var(--form-control-bg);
	color: var(--form-control-fg);
	border: var(--form-control-border);
	font-family: var(--font-default);

	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;
}
input,
select,
textarea,
button {
	font-size: 1em;
	line-height: 1.875;
}
input,
select,
textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 3.875em;
	padding: 0.9375em;
}
html > body textarea {
	height: auto;
	margin: 0;
}
input:focus,
select:focus,
textarea:focus {
	border-color: #9cf;

}
input:-moz-focusring,
select:-moz-focusring,
textarea:-moz-focusring {
	outline: transparent;
}
input::-moz-focus-inner,
button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

input[type="radio"],
input[type="checkbox"] {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
}
input[type="search"] {
	-webkit-border-radius: 0;
	-webkit-appearance: none;
}
input[type="submit"],
input[type="button"] {
	-webkit-appearance: none;
}

input.readonly,
select.readonly,
textarea.readonly {
	background-color: #f9f9f9;
	border-color: #f9f9f9;
}
input.readonly:focus,
select.readonly:focus,
textarea.readonly:focus {
	border-color: #f9f9f9;

	box-shadow: none;
}

.alternative-form-controls {
	--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: #ee7218;
	--button-fg: #fff;
	--button-border-colour: #ee7218;
	--button-hover-bg: #d15800;
	--button-hover-fg: #fff;
	--button-hover-border-colour: #d15800;
}

.submit.button-alt,
.pseudo-submit.button-alt,
.pseudo-button.button-alt {
	--button-bg: #fff;
	--button-fg: #ee7218;
	--button-border-colour: #fff;
	--button-hover-bg: #F4F4F4;
	--button-hover-fg: #ee7218;
	--button-hover-border-colour: #F4F4F4;
}

.button-standard {
	display: inline-block;
	vertical-align: top;
	min-height: 3.111111111111111em;
	padding: 0.7777777777777778em 1.777777777777778em;
	border: 0;
	text-align: center;
	text-decoration: none;
	font-weight: 800;
	margin: 0;
	align-content: center;
}

.button-standard-rounded {
	border-radius: 1.875rem;
}

.button-standard-with-icon .button-text {
	display: inline-block;
	vertical-align: top;
	position: relative;
	padding-right: 1.5em;
}
.button-standard-with-icon .button-text .icon-icomoon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	font-size: 0.8888888888888889em;
}
.button-small {
	display: inline-block;
	vertical-align: top;
	padding: 0.375em 1.25em;
	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: 50%;
	transform: translateY(-50%);
	font-size: 1em;
}
.button-small-with-icon-right .button-text {
	padding-right: 1.25em;
}
.button-small-with-icon-right .icon-icomoon {
	right: 0;
}
.button-small-with-icon-left .button-text {
	padding-left: 1.25em;
}
.button-small-with-icon-left .icon-icomoon {
	left: 0;
}

/* ----------- IOS only ----------- */
/* prevent zoom on select:focus behaviour */
/*
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3), only screen and (min-device-width: 375px) and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 3) {
	select {
		font-size: 1rem;
	}
}
*/

img {
	max-width: 100%;
	height: auto;
	border: 0;
	display: block;
}
address {
	font-style: normal;
}
object {
	display: block;
}
iframe {
	display: block;
	margin: 0;
	border: 0;
}
pre,
code {
	background-color: #f0f0f0;
	color: #000;
	border: 1px solid #ccc;
	font-family: monospace;
}
pre {
	padding: 1em;
	overflow: auto;
}
hr {
	height: 1px;
	background-color: #ccc;
	color: #ccc;
	border: 0;
}

/* ------ Helper Styles ------ */
.clear-self:before,
.clear-self:after {
	content: '';
	display: table;
}
.clear-self:after {
	clear: both;
}
.left {
	float: left;
}
.right {
	float: right;
}
.text-left {
	text-align: left;
}
.text-centre {
	text-align: center;
}
.text-right {
	text-align: right;
}
.float-container {
	clear: left;
	float: left;
	width: 100%;
}
.ib {
	display: inline-block;
}
.remove {
	display: none !important;
}
.js .remove-if-js-enabled {
	display: none;
}
.no-js .remove-if-no-js {
	display: none;
}
.hidden,
.js .hidden-if-js-enabled {
	opacity: 0;
	visibility: hidden;
}
.overflow-auto {
	overflow: auto;
}
.overflow-hidden {
	overflow: hidden;
}
.nowrap {
	white-space: nowrap;
}
.hide-text {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
}
.relative {
	position: relative;
}
.list-reset {
	margin-right: 0;
	margin-left: 0;
	padding: 0;
	list-style: none;
}
.bg-cover {
	background-repeat: no-repeat;
	background-position: 50% 50%;

	background-size: cover;
}
.text-underline {
	text-decoration: underline !important;
}

.font-1,
h1,
.h1,
h2 {
	font-family: var(--font-montserrat);
}
.font-2 {
	font-family: var(--font-outfit);
}
.font-3 {
	font-family: var(--font-poppins);
}

.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;
}
.border-radius-round {
	border-radius: 50%;
	overflow: hidden;
}

.data-table,
.webwiz_table {
	width: 100%;
	border-collapse: collapse;
}
.data-table tr,
.webwiz_table tr {
	border-bottom: 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.25;
	vertical-align: bottom;
	text-transform: uppercase;
}
.data-table thead a {
	text-decoration: none;
}
.data-table tbody th,
.data-table tbody td {
	vertical-align: middle;
}
.data-table p:nth-child(1) {
	margin-top: 0;
}
.data-table p:nth-last-child(1) {
	margin-bottom: 0;
}
.data-table input,
.data-table select,
.data-table textarea {
	font-size: 1em;
	font-size: 1rem;
}
.data-table .quantity-table-col,
.data-table .quantity-to-purchase,
.data-table .basket-line-quantity {
	width: 5em;
}
.data-table .image-table-col {
	width: 120px;
}
.data-table .image-module {
	max-width: 120px;
	margin-right: 0;
	margin-left: auto;
}
.data-table .image-module img {
	display: block;
}
.data-table .image-module .no-img {
	padding: 0 0 100%;
}
.data-table-controls {
	display: flex;
	align-items: baseline;
	column-gap: 0.5rem;
}
.data-table .ajax-submit-button-icon-only {
	--button-fg: #4e4e4e;
	--button-hover-fg: #ee7218;

	font-size: 1em;
	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: 700;
	text-decoration: none;
}
.link-with-icon .icon-icomoon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1em;
}

.link-with-icon-right {
	padding-right: 1.25em;
}
.link-with-icon-right .icon-icomoon {
	right: 0;
}

.link-with-icon-left {
	padding-left: 1.25em;
}
.link-with-icon-left .icon-icomoon {
	left: 0;
}

.font-size-down-1 .link-with-icon .icon-icomoon {
	top: 0.125em;
	font-size: 1.066666666667em;
}
.font-size-down-1 .link-with-icon-right {
	padding-right: 1.333333333333em;
}
.font-size-down-1 .link-with-icon-left {
	padding-left: 1.333333333333em;
}

.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.1875em;
	font-size: 1em;
}
.ajax-submit-button .ajax-message .icon-icomoon:only-child {
	margin-right: 0.1875em;
}
.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;
}

.hide-reveal-chevron {
	position: absolute;
	font-style: normal;
	line-height: 1;

	transition: transform 0.15s;
}
.selected .hide-reveal-chevron {
	transform: rotate(180deg) !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.0625em;
	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: #efefef;
}
.replace-form-control .replacement-control-status-indicator {
	display: block;
	position: absolute;

	opacity: 0;

	transform: scale(0);

	transition: opacity 0.15s, transform 0.15s;
}
.replace-form-control
	input:checked
	+ .replacement-control
	.replacement-control-status-indicator {
	opacity: 1;

	transform: scale(1);
}

.replace-radio .replacement-control {
	border-radius: 0.625rem;
}
.replace-radio .replacement-control-status-indicator {
	display: block;
	top: 0.125em;
	left: 0.125em;
	width: 0.875em;
	height: 0.875em;

	border-radius: 0.4375rem;
}

.replace-checkbox .replacement-control-status-indicator {
	top: 0.0625em;
	left: 0.0625em;
	font-size: 1em;
}

.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-link {
	display: block;
	position: relative;
	padding: 0.3125em 0.625em 0.3125em 3.75em;
	text-decoration: none;
	text-align: left;
}
.download-link:hover,
.download-link:focus,
.download-link:active {
	background-color: rgba(0, 0, 0, 0.0333333333);

	transition: background-color 0.2s;
}
.download-link-heading {
	text-transform: uppercase;
}
.download-link .icon-icomoon {
	position: absolute;
	top: 0.75em;
	left: 0.714285714286em;
	font-size: 1.75em;
}

.download-list {
	font-size: 1em;
}
.download-list li {
	margin: 1em 0;
}

ul.social-media-list {
	margin: 1em -0.75em;
	font-size: 1em;
	line-height: 1;
}

.social-media-list li {
	display: inline-block;
	vertical-align: top;
	margin: 0.75em;
}

.social-media-list a {
	display: block;
	text-decoration: none;
	border-radius: 0.25em;
	background: rgba(255,255,255,.1);
	
	
	transition: color 0.2s;
	text-decoration: none !important;
}

.social-media-list a:hover,
.social-media-list a:focus,
.social-media-list a:active {
	background-color: #fff;
	color: var(--colour-primary-500);
}

.social-media-list .icon-icomoon {
	font-size: 1.25em;
	padding: 0.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;

	transform: translateY(-50%);
}

.embedded-map {
	padding: 0 0 50%;
}
.embedded-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media all and (min-width: 48em) {
	.embedded-map {
		padding: 0 0 100%;
	}
}
@media all and (min-width: 72.5em) {
	.embedded-map {
		padding: 0 0 123.030303030303%;
	}
}

.embedded-video {
	padding: 0 0 100%;
}
.embedded-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hover-overlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	color: #fff;
	opacity: 0;

	transition: opacity 0.15s;
}
.hover-overlay {
	background-color: rgba(0, 0, 0, 0.25);
}
a:hover .hover-overlay,
a:focus .hover-overlay,
a:active .hover-overlay {
	opacity: 1;
}

.gallery-image .hover-overlay {
	background-color: rgba(0, 0, 0, 0.25);
	color: #fff;
}
.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);
}


.grid-child .accreditation-grid-item .content .caption {
	margin-top: -1em;
}
.grid-child .accreditation-grid-item .content .image-module {
	max-width: 202px;
   box-sizing: border-box;
}
@media all and (min-width: 31.25em) {
	.grid-child .accreditation-grid-item .content {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		grid-column-gap: 1.5em;
	}
}

.link-panel-item .content .image-module-container .image-module {
	max-width: 180px;
	margin: 0 auto;
}

.vacancy-module .site-content-sub-heading {
	margin-top: .75em;
}
.vacancy-module .grid-adjust-0-to-1 > .grid-child {
	margin-top: 0;
	margin-bottom: 0;
}
.vacancy-grid-item .vacancy-grid-item-heading {
	border-bottom: var(--keyline-default);
	padding-bottom: .625em;
}
.vacancy-grid-item .summary {
	font-weight: 600;
}
.vacancy-grid-item .summary p {
	margin: .625em 0;
	line-height: 1.5;
}

.related-logo-carousel .grid-item {
	width: auto;
	vertical-align: middle;
}

.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-arrow-right-small:before {
  content: "\e926";
}
.icon-arrow-left:before {
  content: "\e927";
}
.icon-chevron-right-thick:before {
  content: "\e928";
}
.icon-project-set-2:before {
  content: "\e929";
}
.icon-project-set-3:before {
  content: "\e92a";
}
.icon-project-set-4:before {
  content: "\e92b";
}
.icon-project-set-1:before {
  content: "\e92c";
}
.icon-delivery-van:before {
	content: "\e90b";
}
.icon-file-cross:before {
	content: "\e90d";
}
.icon-chevron-left:before {
	content: "\e907";
}
.icon-chevron-right:before,
.breadcrumb li:before {
	content: "\e90a";
}
.icon-chevron-down:before {
	content: "\e92d";
}
.icon-arrow-right:before {
	content: "\e913";
}
.icon-file-text:before {
	content: "\e90e";
}
.icon-filter:before {
	content: "\e921";
}
.icon-log-out:before {
	content: "\e90f";
}
.icon-twitter:before {
	content: "\e918";
}
.icon-file-empty:before {
	content: "\e912";
}
.icon-xls:before,
.icon-xlsx:before {
	content: "\e902";
	color: #217346;
}
.icon-doc:before,
.icon-docx:before {
	content: "\e903";
	color: #2b579a;
}
.icon-pdf:before {
	content: "\e904";
	color: #ee3f24;
}
.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-user:before {
	content: "\e91d";
}
.icon-home:before {
	content: "\e91e";
}
.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-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-play-circle:before {
	content: "\e925";
}
.icon-tick:before,
.body-text .custom-ul li: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;
}

/* ------ Layout ------ */

.wrapper {
	max-width: 88.75em;
	margin-right: auto;
	margin-left: auto;
}

.wrapper.wrapper-narrow {
	max-width: 77.5em;
}

.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;
}
.content-module-4 {
	margin-top: 4em;
	margin-bottom: 4em;
}

/*
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-0-to-1.adjust-for-3-up {
	--gutter-0-to-1-clamp: clamp(0.625rem, 1.3020833333vw, 1.375rem);
	--grid-adjust-0-to-1-clamp: calc(var(--gutter-0-to-1-clamp) * -1);
}
.grid-adjust-0-to-1.adjust-for-related-logos {
	--gutter-0-to-1-clamp: clamp(0.625rem, 0.3848rem + 1.2813vw, 1.90625rem);
	--grid-adjust-0-to-1-clamp: calc(var(--gutter-0-to-1-clamp) * -1);
}
.grid-adjust-0-to-1.adjust-for-accreditations {
	--gutter-0-to-1-clamp: clamp(1.25rem, 1.0156rem + 1.25vw, 2.5rem);
	--grid-adjust-0-to-1-clamp: calc(var(--gutter-0-to-1-clamp) * -1);
}
@media all and (min-width: 88.75em) {
	.grid-adjust-1-to-2.adjust-for-feature-section {
		--gutter-1-to-2-clamp: clamp(1.9375rem, 1.5742rem + 1.9375vw, 3.875rem);
		--grid-adjust-1-to-2-clamp: calc(var(--gutter-1-to-2-clamp) * -1);
	}
}
.grid-adjust-0-to-1.adjust-for-site-contact-section {
	--gutter-0-to-1-clamp: clamp(0.625rem, 1.3020833333vw, 0.9375rem);
	--grid-adjust-0-to-1-clamp: calc(var(--gutter-0-to-1-clamp) * -1);
}

.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);
}

.wrapper,
.gutter-1,
.gutter-1-to-2 {
	padding-right: var(--gutter-1);
	padding-left: var(--gutter-1);
}
.wrapper,
.gutter-1-to-2 {
	padding-right: var(--gutter-1-to-2-clamp);
	padding-left: var(--gutter-1-to-2-clamp);
}

.gutter-2 {
	padding-right: var(--gutter-2);
	padding-left: var(--gutter-2);
}

.wrapper.slider-panel-wrapper {
	margin-right: 0;
	max-width: 102em;
}
.wrapper.slider-panel-wrapper .site-content-1-1 {
	padding-right: 0;
}

/* ------ Colourways ------ */

.cw-1,
.cw-1-base {
	background-color: var(--colour-primary-200);
	color: var(--colour-neutral-000);
}
.cw-1 {
	--colour-a: var(--colour-primary-000);
	--colour-a-hover: var(--colour-neutral-100);
}

.cw-2,
.cw-2-base {
	background-color: var(--colour-primary-220);
	color: var(--colour-neutral-000);
}
.cw-2 {
	--colour-a: var(--colour-primary-000);
	--colour-a-hover: var(--colour-neutral-100);
}

.cw-3,
.cw-3-base {
	background-color: var(--colour-primary-500);
	color: var(--colour-neutral-000);
}
.cw-3 {
	--colour-a: var(--colour-primary-000);
	--colour-a-hover: var(--colour-neutral-100);
}

.cw-4,
.cw-4-base {
	background-color: var(--colour-primary-100);
	color: var(--colour-neutral-500);
}
.cw-4 {
	--colour-a: var(--colour-primary-500);
	--colour-a-hover: var(--colour-primary-550);
}

.cw-neutral-010 {
	background-color: var(--colour-neutral-010);
	color: var(--colour-default-fg);
}

.cw-neutral-030 {
	background-color: var(--colour-neutral-030);
	color: var(--colour-primary-200);
}

.cw-neutral-050 {
	background-color: var(--colour-neutral-050);
	color: var(--colour-default-fg);
}

.cw-default,
.cw-default-base {
	background-color: var(--colour-default-bg);
	color: var(--colour-default-fg);
}
.cw-default {
	--colour-a: #ee7218;
	--colour-a-hover: #363650;
}

.alternative-link a,
.alternative-link .pseudo-link {
	--colour-a: #4e4e4e;
	--colour-a-hover: #ee7218;
}

.cw-1 .alternative-link a,
.cw-1 .alternative-link .pseudo-link,
.cw-2 .alternative-link a,
.cw-2 .alternative-link .pseudo-link {
	--colour-a: var(--colour-neutral-000);
	--colour-a-hover: var(--colour-primary-500);
}
.cw-3 .alternative-link a,
.cw-3 .alternative-link .pseudo-link {
	--colour-a: var(--colour-neutral-000);
	--colour-a-hover: var(--colour-primary-200);
}

.cw-neutral-200-foreground {
	color: var(--colour-neutral-200);
}

.cw-default-foreground {
	color: var(--colour-default-fg);
}

.cw-positive-foreground {
	color: #00a642;
}
.cw-negative-foreground {
	color: #c00;
}
.cw-warning-foreground {
	color: #e4aa0e;
}

.cw-1-foreground {
	color: var(--colour-primary-200);
}
.cw-2-foreground {
	color: var(--colour-primary-500);
}

.cw-1 .cw-1-foreground,
.cw-2 .cw-1-foreground,
.cw-3 .cw-1-foreground,
.cw-1 .cw-default-foreground,
.cw-2 .cw-default-foreground,
.cw-3 .cw-default-foreground {
	color: var(--colour-neutral-000);
}

.keyline-default {
	border: var(--keyline-default);
}

.keyline-transparent {
	border: var(--keyline-transparent);
}

/* ------ Modules ------ */
.site-header {
   position: relative;
   z-index: 3;
   border-bottom: 1px solid #e6e6e6;
}

@media all and (min-width: 46.25em) {
   .site-header {
      position: sticky;
      top: 0;
      width: 100%;
      background: #fff;
   }
}

.logo a {
   display: block;
   max-width: 228px;
   margin: 0.5em auto;
}

.logo img {
   display: block;
}

.header-button .button-standard {
	padding-top: .625em;
	padding-bottom: .625em;
	margin-left: 1em;
	font-weight: 600;
	line-height: 1.25;
	min-height: 3.25em;
	align-content: center;
	padding-right: 2em;
	padding-left: 2em;
}

@media all and (min-width: 28.75em) {
	.logo {
		margin-bottom: -3em;
		position: relative;
	}
}

@media all and (min-width: 45em) {
   .adj-to-logo-container {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
   }
}

@media all and (min-width: 45em) {

   .logo,
   .adj-to-logo {
      display: inline-block;
      vertical-align: middle;

      -webkit-box-sizing: border-box;
      box-sizing: border-box;
   }

   .logo {
      width: 19%;
   }

   .adj-to-logo {
      width: 81%;
   }

   .adj-to-logo-container {
      justify-content: flex-end;
   }
}
@media all and (max-width: 74.9375em) {
   .site-header .header-button {
      display: none;
   }
}
@media all and (min-width: 75em) {
   .nav-main > ul > li:has(a[href^="/contact-us"]) {
      display: none;
   }
}

@media all and (min-width: 100em) {
	.logo {
		z-index: 4;
	}
}

.nav-main a {
	display: block;
	text-decoration: none;
}
.nav-main ul {
	display: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	line-height: 1;
}
.nav-main > ul > li > a {
	font-weight: 600;
	position: relative;
}
.nav-main ul a {
	line-height: 1;
	margin: 0.5em 1em;
}
.nav-main ul a.sf-with-ul {
	position: relative;
	padding-right: 1.5em;
}
.nav-main ul a.sf-with-ul .icon-icomoon {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	font-size: 1.125em;
}

.nav-main .sf-mega {
	display: none;
	text-align: left;
}
.nav-main .sf-mega ul {
	display: block;
	max-width: 79.125em;
	margin-left: auto;
}
.nav-main .sf-mega ul a {
	margin: 0;
}
.nav-main .sf-mega ul > li.gutter-0-to-1 > a {
	padding-bottom: 1em;
	border-bottom: 1px solid #e6e6e6;
}
.nav-main .sf-mega {
	font-weight: 600;
}
.nav-main .sf-mega ul ul a {
	font-weight: 500;
	font-size: 1em;
	padding-top: 0.9333333333333333em;
	padding-bottom: 0.9333333333333333em;
}

.nav-main .standard-sf li:first-child,
.nav-main .sf-mega li:first-child {
	border-top: 0;
}
.nav-main .standard-sf li a {
	padding: 1em 0;
	margin-top: 0;
	margin-bottom: 0;
	position: relative;
	padding-right: 1em;
}
.nav-main .standard-sf li a .icon-icomoon {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	font-size: 1.125em;
	color: #a3a3a3;
}
.nav-main > ul > li > a .icon-icomoon {
	font-size: 1.125em;
	margin-left: .125em;
}

@media all and (max-width: 46.1875em) {
	.nav-main {
		position: absolute;
		top: 0;
		right: 0;
		text-align: right;
		background: var(--colour-neutral-010);
	}
	.nav-main .nav-btn {
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.nav-main .nav-btn a {
		padding: 0.875em 0;
		line-height: 1;
	}
	.nav-main ul {
		text-align: left;
	}
	.nav-main ul:target {
		display: block;
	}
	.nav-main .show {
		display: block;
	}
	.nav-main .nav-btn .icon-icomoon {
		display: inline-block;
		vertical-align: middle;
		font-size: 1.5em;
		margin-right: 0.75em;
	}
	.nav-main .sf-mega,
	.nav-main .standard-sf {
		margin-bottom: 1em;
	}
	.nav-main > ul > li > a {
		padding: .625em 0;
	}
	.nav-main .sf-mega ul a {
		margin: 0;
	}
	.logo {
		display: inline-block;
		vertical-align: middle;
	}
	.nav-main .sf-mega ul li:first-of-type {
		margin-top: 1em;
	}
	.nav-main .sf-mega ul ul li:last-of-type {
		margin-bottom: 1em;
	}
}

@media all and (min-width: 46.25em) {
	.nav-main .nav-btn {
		display: none;
	}

	.nav-main > ul {
		display: block;
	}
	.nav-main > ul > li {
		display: inline-block;
		vertical-align: top;
	}

	.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;
		width: 300px;
		box-sizing: border-box;
		font-size: 1em;
		font-weight: 600;
		padding: .5em 1.25em;
	}
	.nav-main li.enable-mega-menu {
		position: static;
	}
	.nav-main .sf-mega {
		border-top: 1px solid #eee;
		width: 100%;
		border-bottom: 1px solid #eee;
		text-align: center;
	}
	.nav-main .sf-mega li {
		text-align: left;
	}

	.nav-main .overflowing-dropdown {
		position: static;
	}
	.nav-main .overflowing-dropdown .standard-sf {
		right: 0;
		left: auto;
	}
	.nav-main .sf-mega ul > li > ul > li {
		width: 100%;
		padding: 0;
		margin: 0;
	}
	.nav-main .sf-mega .grid-adjust-0-to-1 {
		margin-left: -1em;
		margin-right: -1em;
	}
	.nav-main .sf-mega .gutter-0-to-1 {
		padding-left: 1em;
		padding-right: 1em;
	}
	.nav-main .standard-sf li a {
		margin: 0;
	}
   .nav-main .sf-mega ul > li {
      display: inline-block;
      vertical-align: top;

      box-sizing: border-box;
   }
   .nav-main .sf-mega ul > li {
      width: 33.3333333333%;
      margin-bottom: 1.5em;
   }
	.nav-main {
		flex-grow: 1;
	}
	.nav-main > ul > li,
	.nav-main ul a {
		display: flex;
	}
	.nav-main ul a {
		margin: 0 clamp(0.8125rem, -1.8125rem + 3.5vw, 1.25rem);
		align-items: center;
		padding-top: 0.9333333333333333em;
    	padding-bottom: 0.9333333333333333em;
	}
	.nav-main > ul {
		height: 100%;
		display: flex;
		justify-content: flex-end;
		flex-wrap: wrap;
	}
}


@media all and (min-width: 30em) and (max-width: 39.9375em) {
	.logo img {
		margin: 0 auto;
	}
	.adj-to-logo {
		text-align: center;
	}
}

@media all and (max-width: 47.9375em) {
	   .nav-main ul a .icon-icomoon {
	   		   display: none;
	   }
}
@media all and (min-width: 70.75em) {
	.nav-main .standard-sf {
		margin-top: 2.5625em;
		border: 1px solid #e6e6e6;
		border-top: 0;
	}
}

.site-content {
	position: relative;
	z-index: 1;
}
.site-content:not(.feature-page-content) {
	margin-bottom: 6.5em;
}

.site-content-1-1,
.site-content-1-2,
.site-content-1-3,
.site-content-2-3,
.site-content-1-4,
.site-content-3-4,
.site-content-1-5,
.site-content-4-5,
.site-content-2-5,
.site-content-3-5 {
	display: inline-block;
	vertical-align: top;
	width: 100%;

	box-sizing: border-box;
}

@media all and (min-width: 48em) {
	.site-content-1-2 {
		width: 50%;
	}
	.push-site-content-1-2 {
		position: relative;
		left: 50%;
	}
	.pull-site-content-1-2 {
		position: relative;
		left: -50%;
	}
   .site-content-2-5.vam,
   .site-content-3-5.vam,
   .site-content-1-2.vam {
      vertical-align: middle;
   }

   .push-site-content-2-5,
   .pull-site-content-2-5,
   .push-site-content-3-5,
   .pull-site-content-3-5 {
      position: relative;
   }

   .push-site-content-2-5 {
      left: 40%;
   }

   .pull-site-content-2-5 {
      left: -40%;
   }

   .push-site-content-3-5 {
      left: 60%;
   }

   .pull-site-content-3-5 {
      left: -60%;
   }

   .site-content-2-5 {
      width: 40%;
   }

   .site-content-3-5 {
      width: 60%;
   }
   .page-section-w-main-img .site-content-2-5 {
      width: 37.33333333333333%;
   }

   .page-section-w-main-img .site-content-3-5 {
      width: 62.66666666666667%;
   }
   .page-section-w-main-img .push-site-content-2-5 {
      left: 37.33333333333333%;
   }

   .page-section-w-main-img .pull-site-content-3-5 {
      left: -62.66666666666667%;
   }
	.section-holder-section .site-content-3-5 {
		width: 54.38435072213979%;
	}
	.section-holder-section .site-content-2-5 {
		width: 45.61564927786021%;
	}
   .section-holder-section .push-site-content-2-5 {
      left: 45.61564927786021%;
   }

   .section-holder-section .pull-site-content-3-5 {
      left: -54.38435072213979%;
   }

}

@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%;
	}

}

@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;
	font-weight: 500;
	text-align: right;
	margin-top: .875em;
	margin-bottom: .875em;
}
.breadcrumb li,
.breadcrumb li:before {
	display: inline-block;
}
.breadcrumb li:before {
	font-family: 'icomoon';
	font-size: 1.083333333333333em;
	color: #b0b0b0;
	vertical-align: middle;
	font-weight: 400;
}
.breadcrumb li:first-child:before {
	content: normal;
}
.breadcrumb a {
	text-decoration: none;
}

.site-content-body:has(.page-body-text-module:empty) > .site-content-1-1:first-of-type,
.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.25em;
}

@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;
	}
}

.slideshow-panel-module {
	overflow: hidden;
}
.slideshow-panel {
	display: none;
}
.slideshow-panel:first-child {
	display: block;
}
.slideshow-panel-spacer {
	height: 0;
	padding: 0 0 36.4583333333%;
}
.slideshow-panel-overlay-content {
	color: #fff;
}

.slideshow-panel-strapline {
	font-size: 1.125em;
	line-height: 1.666666666666667;
}

@media all and (max-width: 59.9375em) {
	.slideshow-panel-overlay {
		background-image: url("/images/slideshow-panel-bg.jpg");
	}
}

@media all and (min-width: 60em) {
	.slideshow-panel {
		position: relative;
	}
	.slideshow-panel .image-module {
		width: 52.9375%;
    	left: 47%;
		position: relative;
		z-index: 1;
	}
	.slideshow-panel-overlay-chevron-1 {
	  position: absolute;
	  height: 100%;
	  background: rgba(0,0,0,0.65);
	  top: 0;
	  left: 0;
	  width: 55.5%;
	  z-index: 2;
	  overflow: hidden;
	  clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0% 100%, 0% 0%);
	}
	.slideshow-panel-overlay-chevron-2 {
	  position: absolute;
	  height: 100%;
	  background: var(--colour-primary-500);
	  top: 0;
	  width: 52.25%;
	  z-index: 3;
	  left: 0;
	  overflow: hidden;
	  clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0% 100%, 0% 0%);
	}
	.slideshow-panel .image-module-bg-panel {
		width: 49%;
		z-index: 4;
		left: 0;
		position: absolute;
		clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0% 100%, 0% 0%);
	}
	.slideshow-panel .image-module,
	.slideshow-panel .image-module-bg-panel {
		display: inline-block;
		box-sizing: border-box;
		vertical-align: top;
	}
	.slideshow-panel-spacer,
	.slideshow-panel-bg-panel-spacer {
		height: 476px;
		padding: 0;
	}
	.slideshow-panel-overlay {
		position: absolute;
		top: calc(50%);
		left: 0;
		z-index: 4;
		width: 100%;

		transform: translateY(calc(-50%));
	}
	.slideshow-panel-overlay-content {
		width: 39.3975%;

		box-sizing: border-box;
	}
}
.slideshow-panel-link-text .pseudo-submit {
	display: inline-block;
	vertical-align: top;
	width: 100%;
}
.slideshow-panel-link-text {
	display: flex;
	row-gap: 1em;
	flex-direction: column;
}

@media all and (min-width: 33.75em) {
	.slideshow-panel-link-text {
		display: flex;
		column-gap: 1.5em;
		row-gap: 0;
		flex-direction: row;
	}
	.slideshow-panel-link-text .pseudo-submit {
		width: auto;
	}	
}

.top-image-module {
	position: relative;
	min-height: 400px;
}
.top-image-module.w-out-top-img {
	min-height: auto;
	padding: 2em 0;
}
.top-image-overlay {
	position: relative;
	z-index: 2;
	margin-right: auto;
	margin-left: auto;
}
.top-image-body-text p {
	font-weight: 500;
}
.top-image-gradient-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.main-page-detail .top-image-overlay-content {
	max-width: 43.75em;
}
.top-image-gradient-overlay.dark-overlay {
	background: linear-gradient(to right, rgba(0, 0, 0,.6), rgba(25, 25, 25, 0));
}
.top-image-gradient-overlay.darker-overlay {
	background: linear-gradient(to right, rgba(0, 0, 0, .8), rgba(25, 25, 25, 0));
}
@supports (display: flex) {
	.top-image-module {
		display: flex;
		align-items: center;
	}
	.top-image-overlay {
		flex: 1 1 auto;
	}

	@media all and (min-width: 60em) {
		.top-image-overlay {
			position: static;
		}
	}
}

/* ------ Main Section / Section ------ */

.section-with-side-image-left .side-image-with-drop-shadow,
.section-with-side-image-right .side-image-with-drop-shadow {
   position: relative;
   max-width: 480px;
   padding-bottom: 7.695%;
}

.section-with-side-image-left .side-image-with-drop-shadow {
   padding-left: 7.695%;
}

.section-with-side-image-right .side-image-with-drop-shadow {
   padding-right: 7.695%;
}

.section-with-side-image-left .main-image,
.section-with-side-image-right .main-image {
   position: relative;
   z-index: 1;
}

.section-with-side-image-left .side-image-drop-shadow,
.section-with-side-image-right .side-image-drop-shadow {
   width: 92.31%;
   height: 92.31%;
   position: absolute;
   bottom: 0;
}

.section-with-side-image-left .side-image-drop-shadow {
   left: 0;
}

.section-with-side-image-right .side-image-drop-shadow {
   right: 0;
}

.site-content-body .video-icon {
	position: absolute;
	top: 50%;
	left: 44%;
	transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 100%;
	z-index: 2;
	transition: left .5s ease-in-out;
}
.site-content-body:has(.side-image-with-drop-shadow) .video-icon {
	left: 14%;
}
.site-content-body .video-icon .icon-icomoon {
	font-size: 5em;
	color: #fff;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	transition: transform .25s ease-in-out, background-color .25s ease-in-out, border .5s ease-in-out, font-size .25s ease-in-out;
	border-radius: 50%;
	border: 4px solid transparent;
}

.main-image-video-link {
	display: inline-flex;
	flex-wrap: wrap;
}
.main-image-video-link .video-link-hover-text {
	background: #fff;
	display: inline-flex;
	align-self: center;
	padding: .25em .5em;
	border-radius: .5em;
	font-weight: 500;
	opacity: 0;
	margin-left: .5em;
	transition: opacity .5s ease-in-out;
}

@media all and (min-width: 80em) {
	.site-content-body .video-icon:has(a:hover) {
		left: 28%;
	}
	.site-content-body:has(.side-image-with-drop-shadow) .video-icon:has(a:hover) {
		left: 0;
	}
	.main-image-video-link:hover .icon-icomoon {
		transform: rotate(-120deg);
		color: #ee7218;
		background-color: #fff;
		border: 4px solid #fff;
		font-size: 800%;
	}
	.main-image-video-link:hover .video-link-hover-text {
		opacity: 1;
	}
}

.section-divider {
	padding: 1.5em 0 0 0;
	border-width: 1px 0 0 0;
	margin-bottom: 3em;
}
.section-divider:last-of-type {
	margin-bottom: 0;
}

.section-holder-section {
	margin-top: 4.375em;
	margin-bottom: 4.375em;
}
.section-holder-section:has(.slider-panel-wrapper) {
	margin-bottom: -1em;
	margin-top: 7em;
}

.section-section-module:nth-of-type(2) .section-holder-section,
.section-divider .section-holder-section {
	margin-top: 1.5em;	
}
.feature-page-detail .section-section-module:nth-last-of-type(1) .section-holder-section,
.section-section-module:nth-last-of-type(1) .section-holder-section:has(form) {
	margin-bottom: 0;
}
.main-page-detail:has(.wrapper > .breadcrumb) .wrapper:has(.page-body-text-module:empty) + .section-section-module .section-holder-section {
	margin-top: 0;
}
.section-section-body-text-module.site-content-body-text.site-content-body-text-narrow {
	max-width: 36.25em;
}


.slider-list {
	margin-right: 0;
	margin-left: 0;
	border-width: 0 0 1px;
	font-size: 1em;
	line-height: inherit;
	text-align: left;
}
.slider-list .slider-title,
.slider-list .slider-content {
	position: relative;
}
.slider-list .slider-title {
	margin: .75em 0;
	font-size: 1em;
	line-height: inherit;
	z-index: 2;
}
.slider-list .slider-title a {
	display: block;
	position: relative;
	padding: 1.5em 3em;
	text-decoration: none;

	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: var(--colour-primary-200);
}
.slider-list .slider-title-text {
	display: block;
	margin: 0;
}
.slider-title .hide-reveal-icon {
	position: absolute;
	top: 1.755em;
	right: 3em;
	width: 1em;
}
.slider-list .slider-content {
	display: none;
	z-index: 1;
	margin: 0;
	padding: 0 3em;
}
.slider-list .slider-content:target {
	display: block;
}

.simple-form {
	display: inline-block;
	vertical-align: top;
	text-align: left;
}
.simple-form .label {
	display: inline-block;
	vertical-align: top;
	margin: 0 0 0.5em;
}
.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.75em;
	margin-bottom: 0;
	padding: 0.9375em;
}
.simple-form input,
.simple-form select {
	margin-top: 0.75em;
	margin-bottom: 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.75em;
	}
	.simple-form button {
		width: auto;
		margin-left: 0.75em;
	}

}

.standard-form-module {
	max-width: 41.875em;
}
.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.5em;
}
.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,
		.vacancy-application-form ol {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1rem clamp(1.25rem, 2.60417vw, 2.5rem);
		}
		.contactus-form li,
		.vacancy-application-form li {
			margin: 0;
		}
		.contactus-form .contactus-subject-container,
		.contactus-form .contactus-message-container,
		.vacancy-application-form li:nth-last-of-type(1) {
			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;
}

.list-project-categories .label {
   display: block;
   position: relative;
}

.list-project-categories .label input {
   position: absolute;
   top: 0;
   left: 0;
   opacity: 0;
}

.list-project-categories {
	margin-bottom: 4em;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 16px;
	row-gap: 16px;
	justify-content: left;
}

.list-project-categories li {
	flex: 1 0 auto;
	text-align: center;
}

.list-project-categories li .label {
	padding: .75em 1.375em;
	background: var(--colour-neutral-030);
	margin: 0;
	font-weight: 600;
	color: var(--colour-primary-500);
}
.list-project-categories li:first-of-type .label {
	padding-left: 2em;
	padding-right: 2em;
}

.list-project-categories .selected .label {
	color: var(--colour-neutral-000);
	background: var(--colour-primary-500);
}

.list-project-categories .label:hover,
.list-project-categories .label:focus,
.list-project-categories .label:active {
	color: var(--colour-a-hover);
	cursor: pointer;
}

.list-project-categories .selected .label:hover,
.list-project-categories .selected .label:focus,
.list-project-categories .selected .label:active {
	background-color: var(--colour-a-hover);
	color: var(--colour-neutral-000);
}
.list-project-categories li .link-text {
	margin: 0;
}

.main-project-detail .project-info .project-info-item {
	margin-bottom: 2em;
}
.main-project-detail .project-info h4 + p {
	margin-top: -.5em;
}
.main-project-detail .content-section {
	margin: 0;
}
.main-project-detail .content-section img {
	margin-top: 0;
	margin-bottom: 0;
}
.main-project-detail .site-section-container > div:last-of-type,
.main-project-detail .site-section-container > div p:last-of-type,
.main-project-detail .site-section-container > div ul:last-of-type,
.main-project-detail .site-section-container > div ol:last-of-type {
	margin-bottom: 0;
}

/* ------ CTA Panel ------ */

.cta-panel {
   margin: clamp(2.5rem, 1.0714rem + 4.5714vw, 4rem) 0;
}

.cta-panel .content {
   padding: 0.625em clamp(1.25rem, -1.4286rem + 8.5714vw, 5rem);
}

.cta-panel .text-module {
   max-width: 43.75em;
}

@supports (display: flex) {
   .cta-panel {
      display: flex;
      align-items: center;
   }
}


.article-grid-item .date-created {
	position: absolute;
	right: 0;
	bottom: 0;
	background: var(--colour-primary-500);
	color: #fff;
	padding: .75em 1.5em;
	margin: 0;
	border-radius: 0.25em 0 0.25em 0;
	z-index: 2;
}

.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: #fff;
}

@media all and (min-width: 18.75em) {
	.child-list-options-handheld .option-module {
		display: inline-block;
		vertical-align: top;
		width: 50%;

		box-sizing: border-box;
	}
	.child-list-options-handheld .option-module {
		border-width: 0 0 0 1px;
	}
}

.child-list-options-module-heading {
	margin-top: 0;
}
.child-list-options-form {
	padding: 0.5em 0.75em;
}
.child-list-options-form ol {
	margin: 0;
}
.child-list-options-form li {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	padding: 0.5em 0.75em;

	box-sizing: border-box;
}
.child-list-options-form .label {
	display: inline-block;
	margin: 0.5em;
	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,
.grid-adjust-0-to-1.adjust-for-accreditations .grid-child.grid-child-accreditations {
	margin: 0 auto;
	padding: 0;
	font-size: 1em;
	list-style: none;
}
.grid-item {
	width: 100%;

	box-sizing: border-box;
}
.grid-child.partner-link-list .grid-item {
	vertical-align: middle;
	width: auto;
}
.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-3-up .container {
	max-width: 444px;
}
.grid-child-3-up.grid-child .grid-item {
	text-align: left;
}
.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.grid-child-page-list .no-img {
	padding: 0 0 67.56756756756757% 0;
}

.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);
}
.grid-adjust-0-to-1.adjust-for-accreditations > .grid-child > .grid-item {
	padding-top: var(--gutter-1);
	padding-bottom: var(--gutter-1);
}

/* 2 up grid */

@media all and (min-width: 48em) {
	.grid-child-2-up .grid-item {
		width: 50%;
	}
	.grid-child-2-up .grid-item.double-width-item {
		width: 100%;
	}
	.main-project-detail .site-content-3-4 {
		border-left: 1px solid #e6e6e6;
	}
}

/* 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%;
	}
	.main-project-detail .site-content-1-4 {
		width: 27%;
	}
	.main-project-detail .site-content-3-4 {
		width: 73%;
	}
}

/* 4 up grid */

@media all and (min-width: 30em) {
	.grid-child-4-up .grid-item {
		width: 50%;
	}
}

@media all and (min-width: 48em) {
	.grid-child-4-up .grid-item {
		width: 33.3333333333333%;
	}

	@media all and (max-width: 59.9375em) {
		.grid-child-4-up.no-3-up .grid-item {
			width: 50%;
		}
	}
}

@media all and (min-width: 60em) {
	.grid-child-4-up .grid-item {
		width: 25%;
	}
}

/* 5 up grid */

@media all and (min-width: 30em) {
	.grid-child-5-up .grid-item {
		width: 50%;
	}
}

@media all and (min-width: 48em) {
	.grid-child-5-up .grid-item {
		width: 33.3333333333333%;
	}
}

@media all and (min-width: 60em) {
	.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: 80em) {
	.grid-child-5-up .grid-item {
		width: 20%;
	}

	.site-content-4-5 .grid-child-5-up .grid-item {
		width: 25%;
	}
}

/* 6 up grid */

@media all and (min-width: 30em) {
	.grid-child-6-up .grid-item {
		width: 50%;
	}
}

@media all and (min-width: 48em) {
	.grid-child-6-up .grid-item {
		width: 33.3333333333333%;
	}
}

@media all and (min-width: 60em) {
	.grid-child-6-up .grid-item {
		width: 25%;
	}
}

@media all and (min-width: 80em) {
	.grid-child-6-up .grid-item {
		width: 16.6666666666667%;
	}
}

.partner-links-heading {
	font-weight: 700;
	font-size: 1.25em;
	line-height: 1.5;
}
.grid-child .grid-item .site-partner-link-item-text a {
	text-decoration: underline;
}
.partner-link-list.grid-child {
	margin: .5em auto;
}
.site-partner-link-item-text p {
	margin: 0;
}

.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;
}

.body-text .custom-ul {
   padding: 0;
   list-style: none;
   margin-bottom: 0;
}

.body-text .custom-ul li {
   position: relative;
   margin: 0.875em 0;
   padding-left: 2.25em;
   line-height: 1.6666666666666667;
}

.body-text .custom-ul li:before {
   position: absolute;
   top: 0;
   left: 0;
   padding: 0.5em;
   border-radius: 50%;
   background-color: var(--colour-primary-500);
   color: #fff;
   font-family: 'icomoon' !important;
   font-size: 0.75em;
   line-height: 1;
   text-shadow: none;
}

@media all and (min-width: 75em) {
   .body-text .custom-ul.custom-ul-columns {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 1em;
   }
	.section-section-module .grid-adjust-1-to-2:has(form) .site-content-1-2:nth-child(1) {
		padding-right: 5.25em;
	}
	.section-section-module .grid-adjust-1-to-2:has(form) .site-content-1-2:nth-child(2) {
		padding-left: 5.25em;
	}
}

.section-section-body-text-module .section-section-w-main-img .site-content-3-5 {
	width: 50.41047604854438%;
}
.section-section-body-text-module .section-section-w-main-img .site-content-2-5 {
	width: 49.58952395145562%;
}
.section-section-body-text-module .custom-ul li {
	margin: 2.75em 0;
}

.section-section-module .grid-child .link-text {
	margin-bottom: 0;
}
.section-angle {
	position: relative;
	width: 100%;
	height: 60px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
	margin-top: -4.5em;
}
.section-section-module:has(+ .section-angle) {
	padding-bottom: 4em;
}
.wrapper:has(+ .section-angle) {
	padding-bottom: 6em;
}
.section-angle + .section-section-module .section-holder-section {
	margin-top: 3.375em;
}
@media all and (min-width: 40em) {
	.section-section-module .side-link-container {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: flex-end;
	}
	.section-section-module .side-link-container .side-link {
		justify-self: end;
	}
}
.section-section-module .side-link-container .link-with-icon {
	font-weight: 400;
	transition: padding .25s ease-in-out;
}
.section-section-module .side-link-container .side-link .icon-icomoon {
	font-size: 1.5em;
}
.section-section-module .side-link-container .side-link .link-with-icon {
	padding-right: 2em;
}
.section-section-module .side-link-container .side-link .link-with-icon:hover {
	padding-right: 2.375em;
}

.slider-panel .swiper-step-divider {
  position:relative;
  width: calc(100% + 3.75rem);
  height: 0.125rem;
  background-color: var(--colour-primary-500);
  margin-top: 2.5rem;
  margin-bottom: 2.625rem;
}
.slider-panel .swiper-step-divider::before {
  position:absolute;
  top: 50%;
  left: 0;
  width: 2rem;
  height: 2rem;
  background-color: #fff;
  box-shadow: 0 .1875rem .375rem rgba(140,152,164,.25);
  border-radius: 50%;
  transform: translateY(-50%);
  content: ""
}
.slider-panel .swiper-step-divider::after {
  position: absolute;
  top: 50%;
  left: .5rem;
  width: 1rem;
  height: 1rem;
  background-color: var(--colour-primary-500);
  border-radius: 50%;
  transform: translateY(-50%);
  content: ""
}

.slider-panel .text-module p {
	margin-right: 1.5em;
}
.slider-panel-carousel .slider-panel.slick-current .swiper-step-divider::before {
	left: 1em;
}
.slider-panel-carousel .slider-panel.slick-current .swiper-step-divider::after {
	left: 1.5em;
}
.site-content-sub-heading.w-slider-panels {
	padding-right: 140px;
}


.info-panel-section {
	margin-bottom: -1em;
}
.info-panel-heading {
	margin-bottom: -.25em;
}


.page-nav,
.page-nav-detailed {
	text-align: center;
}
.page-nav .page-list {
	font-weight: 700;
}
.page-nav .page-list a {
	font-weight: 400;
}
.page-nav .prev,
.page-nav .next,
.page-nav-detailed .first,
.page-nav-detailed .prev,
.page-nav-detailed .next,
.page-nav-detailed .last {
	color: #999;
}

.page-nav-detailed > div,
.page-nav-detailed > div:before {
	display: inline-block;
	vertical-align: top;
}
.page-nav-detailed > div:before {
	margin-right: 0.5em;
	margin-left: 0.5em;
	content: ' | ';
}
.page-nav-detailed .first:before,
.page-nav-detailed .prev:before,
.page-nav-detailed .next:before,
.page-nav-detailed .last:before {
	color: 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;
	}
}

/* product styles */

.flash-text {
	position: absolute;
	top: 0.625em;
	left: 0;
	z-index: 3;
	padding: 0.5em 1em;
}
.flash-text p {
	margin: 0;
	font-weight: 700;
	text-transform: uppercase;
}

.product-table-purchase-form .purchase-button {
	display: block;
	margin-right: 0;
	margin-left: auto;
}

.site-contact-section .site-content-1-2:has(.grid-adjust-0-to-1:empty) {
	display: none;
}
@media all and (max-width: 72.5em) {
	.site-contact-section .site-content-1-2:has(.site-content-1-2) {
		width: 100%;
	}
	.site-contact-section .site-content-1-2:has(.site-content-1-2) .site-content-1-2 {
		left: 0;
	}
}
.site-contact-section:last-of-type {
	border-top: 1px solid var(--colour-neutral-100);
	padding-top: 2em;
	margin-top: 2em;
}
@media all and (min-width: 72.5625em) {
	.site-contact-section .site-content-1-2:nth-child(3),
	.site-contact-section .site-content-1-2:nth-child(4) {
		margin-top: 2em;
	}
}

.grid-child.grid-child-related-logo {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.footer-section-main {
	padding-top: 1.5em;
	padding-bottom: 1.5em;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}

.site-footer-container {
	margin-right: -0.625em;
	margin-left: -0.625em;
}
.footer-panel-heading {
	margin-bottom: 1.25em;
}
.contact-site-footer li.tel {
	margin: 2em 0;
}
.nav-footer li,
.contact-site-footer li {
	margin: 1.142857142857143em 0;
}

@media all and (min-width: 48em) {
	.site-footer-container {
		margin-right: -1.25em;
		margin-left: -1.25em;
		margin-right: clamp(-1.25em, -1.30208vw, -0.625em);
		margin-left: clamp(-1.25em, -1.30208vw, -0.625em);
	}
}

.site-footer-1-4 {
	display: inline-block;
	vertical-align: top;
	width: 100%;

	box-sizing: border-box;
}
@media all and (min-width: 30em) {
	.site-footer-1-4 {
		width: 50%;
	}
}
@media all and (min-width: 60em) {
	.site-footer-1-4 {
		width: 25%;
	}
}

@supports (display: grid) {
	.site-footer-container {
		grid-template-columns: 1fr;
		display: grid;
		grid-column-gap: 1.25em;
		grid-row-gap: .5em;
		margin: 0;
	}
	.site-footer-1-4 {
		width: 100%;
		padding: 0;
	}
	@media all and (min-width: 37.5em) {
		.site-footer-container {
			grid-template-columns: 1fr 1fr;
		}
	}
	@media all and (min-width: 67.5em) {
		.site-footer-container {
			grid-template-columns: 1fr 1fr 1fr 1fr;
		}
		
		.footer-section-main .site-footer-container .site-footer-1-4:nth-child(3) .address {
			margin-bottom: 2.785714285714286em;
		}
	}
}

.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;
	}
}

.linkedin-feed .eFUpYn {
    max-width: none !important;
}