@-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?sr09uz');
	src: url('/fonts/icomoon.eot?sr09uz#iefix') format('embedded-opentype'),
		url('/fonts/icomoon.ttf?sr09uz') format('truetype'),
		url('/fonts/icomoon.woff?sr09uz') format('woff'),
		url('/fonts/icomoon.svg?sr09uz#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
}

html {
	margin: 0;
	padding: 0;
	background-color: #fff;
	color: #4f4f4f;
}
body {
	margin: 0;
	padding: 0;
	font-family: Outfit;
	font-weight: 400;

	-webkit-text-size-adjust: 100%;
}

a,
.pseudo-link {
	color: #15bdef;
	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: #0071bb;
}
.pseudo-link {
	text-decoration: underline;
	cursor: pointer;
}
.site-content .site-content-body a[href^="mailto:"] {
	text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
form {
	margin: 0;
}

h1,
.h1 {
	margin: 0.25em 0;
	font-size: 4em;
	font-size: clamp(1.875rem, 1.4766rem + 2.125vw, 4rem);
	font-weight: 800;
	line-height: 1.125;
}
h2,
.h2 {
	margin: 0.333333333333em 0;
	font-size: 3em;
	font-size: clamp(1.375rem, 1.0703rem + 1.625vw, 3rem);
	font-weight: 500;
	line-height: 1.166666666667;
}
h3,
.h3 {
	margin: 0.5em 0;
	font-size: 2em;
	font-size: clamp(1.125rem, 0.9609rem + 0.875vw, 2rem);
	font-weight: 700;
	line-height: 1.25;
}
h4,
.h4 {
	margin: 0.666666666667em 0;
	font-size: 1.5em;
	font-size: clamp(1.125rem, 1.0547rem + 0.375vw, 1.5rem);
	font-weight: 700;
	line-height: 1.333333333333;
}
h5,
.h5 {
	margin: 0.8em 0;
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1.2;   
}
h6,
.h6 {
	margin: 1em 0;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.25;
}
p,
ul,
ol,
table,
pre,
hr,
.page-nav,
.page-nav-detailed,
.standard-form .label,
.font-size-default {
	margin: 0.888888888889em 0;
	font-size: 1em;
	line-height: 1.777777777778;
}

.alternative-line-height {
	line-height: 1;
}

.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,
.breadcrumb {
	margin: 1.066666666667em 0;
	font-size: 0.9375em;
	line-height: 1.6;
}

.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 {
	margin: 1.142857142857em 0;
	font-size: 0.875em;
	line-height: 1.714285714286;
}

.font-size-up-1,
.font-size-up-1-module p,
.font-size-up-1-module ul,
.font-size-up-1-module ol,
.font-size-up-1-module table {
	margin: 1.066666666667em 0;
	font-size: 1.125em;
	line-height: 1.6;
}

.reset-to-base-font-size {
	font-size: 1rem !important;
	line-height: 1;
}

th,
td {
	padding: 0.555555555556em 0.888888888889em;
}
th:nth-child(1),
td:nth-child(1) {
	padding-left: 1.777777777778em;
}
th:nth-last-child(1),
td:nth-last-child(1) {
	padding-right: 1.777777777778em;
}

b,
strong,
th {
	font-weight: 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: #f4f4f4;
	color: #151a20;
	border: 1px solid #e6e6e6;
	font-family: Outfit;

	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;

	-webkit-background-clip: padding-box;
	-moz-background-clip: padding;
	background-clip: padding-box;

	-webkit-transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	-o-transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
input,
select,
textarea,
button {
	font-size: 1em;
	line-height: 2;
}
input,
select,
textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 4em;
	padding: 0.9375em;
}
textarea {
	height: auto;
	margin: 0;
}
input:focus,
select:focus,
textarea:focus {
	border-color: #9cf;

}
input:-moz-focusring,
select:-moz-focusring,
textarea:-moz-focusring {
	outline: transparent;
}
input::-moz-focus-inner,
button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

input[type="radio"],
input[type="checkbox"] {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
}
input[type="search"] {
	-webkit-border-radius: 0;
	-webkit-appearance: none;
}
input[type="submit"],
input[type="button"] {
	-webkit-appearance: none;
}

input.readonly,
select.readonly,
textarea.readonly {
	background-color: #f9f9f9;
	border-color: #f9f9f9;
}
input.readonly:focus,
select.readonly:focus,
textarea.readonly:focus {
	border-color: #f9f9f9;

	box-shadow: none;
}

.alternative-form-controls input,
.alternative-form-controls select,
.alternative-form-controls textarea,
.alternative-form-controls .replace-form-control .replacement-control {
	background-color: #fff;
	color: #4f4f4f;
	border-color: #e6e6e6;
}

button,
.button,
.submit,
.pseudo-button {
	cursor: pointer;
}
.pseudo-button {
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
}
button,
.button,
.pseudo-button-default {
	background-color: #666;
	color: #fff;
	border-color: #666;
}
button:hover,
button:focus,
button:active,
.button:hover,
.button:focus,
.button:active,
a:hover .pseudo-button-default,
a:focus .pseudo-button-default,
a:active .pseudo-button-default,
.pseudo-button-default:hover,
.pseudo-button-default:focus,
.pseudo-button-default:active {
	background-color: #333;
	color: #fff;
	border-color: #333;
}
.submit,
html > body .pseudo-submit {
	background-color: #15bdef;
	color: #fff;
	border-color: #15bdef;
}
.submit:hover,
.submit:focus,
.submit:active,
html > body a:hover .pseudo-submit,
html > body a:focus .pseudo-submit,
html > body a:active .pseudo-submit,
html > body .pseudo-submit:hover,
html > body .pseudo-submit:focus,
html > body .pseudo-submit:active {
	background-color: #0071bb;
	color: #fff;
	border-color: #0071bb;
}

html > body .pseudo-submit.button-alt {
	background-color: transparent;
	color: #fff;
	border-color: #fff;
}
html > body .pseudo-submit.button-alt:hover,
html > body .pseudo-submit.button-alt:focus,
html > body .pseudo-submit.button-alt:active {
	background-color: rgba(0,0,0,.1);
}

.button-standard {
	display: inline-block;
	vertical-align: top;
	min-height: 4em;
	padding: 1em 1.875em;
	text-align: center;
	text-decoration: none;
	border-width: 2px;
}

.button-standard-rounded {
	border-radius: 1.722222222222rem;
}

.button-standard .button-text.font-size-up-1 {
	margin: 0;
	font-weight: 700;
}

.button-standard-with-icon .button-text {
	display: inline-block;
	vertical-align: top;
	position: relative;
	padding-right: 1.666666666667em;
}
.button-standard-with-icon .button-text .icon-icomoon {
	position: absolute;
	top: 0.388888888889em;
	right: 0;
}

.button-small {
	display: inline-block;
	vertical-align: top;
	padding: 0.333333333333em 1.111111111111em;
	text-align: center;
	text-decoration: none;
}
.button-small-with-icon .button-text {
	display: inline-block;
	vertical-align: top;
	position: relative;
}
.button-small-with-icon .button-text .icon-icomoon {
	position: absolute;
	top: 0.5em;
	font-size: 0.888888888889em;
}
.button-small-with-icon-right .button-text {
	padding-right: 1.111111111111em;
}
.button-small-with-icon-right .icon-icomoon {
	right: 0;
}
.button-small-with-icon-left .button-text {
	padding-left: 1.111111111111em;
}
.button-small-with-icon-left .icon-icomoon {
	left: 0;
}

/* ----------- IOS only ----------- */
/* prevent zoom on select:focus behaviour */
/*
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-width: 320px) and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 3), only screen and (min-device-width: 375px) and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 3) {
	select {
		font-size: 1rem;
	}
}
*/

img {
	max-width: 100%;
	height: auto;
	border: 0;
	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,
.icomoon-ul-bullet-module ul {
	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-outfit {
	font-family: Outfit;
}
.font-poppins {
	font-family: Poppins, 'Century Gothic', CenturyGothic, 'Apple Gothic', AppleGothic, sans-serif;
}

.text-underline,
.list-project-categories .selected .link-text {
	text-decoration: underline;
}

/* ------ 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;
}

.data-table,
.webwiz_table {
	width: 100%;
	border-collapse: collapse;
}
.data-table tr,
.webwiz_table tr {
	border-bottom: 1px solid #e6e6e6;
}
.data-table th,
.data-table td,
.webwiz_table th,
.webwiz_table td {
	text-align: left;
}
.data-table thead th,
.data-table thead td {
	line-height: 1;
	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: 0.888888888889em;
	font-size: 1rem;
}
.data-table .quantity-table-col,
.data-table .quantity-to-purchase,
.data-table .basket-line-quantity {
	width: 5em;
}
.data-table .image-table-col {
	width: 120px;
}
.data-table .image-module {
	max-width: 120px;
	margin-right: 0;
	margin-left: auto;
}
.data-table .image-module img {
	display: block;
}
.data-table .image-module .no-img {
	padding: 0 0 100%;
}
.data-table-controls {
	display: flex;
	align-items: baseline;
	column-gap: 0.5rem;
}
.data-table .ajax-submit-button-icon-only {
	color: #202020;
	font-size: 0.888888888889em;
	line-height: 1;
}
.data-table .ajax-submit-button-icon-only:hover,
.data-table .ajax-submit-button-icon-only:focus,
.data-table .ajax-submit-button-icon-only:active {
	color: #0071bb;
}

.alternate-tbody-row-stripes tr {
	border-bottom: 0;
}
.alternate-tbody-row-stripes tbody tr:nth-child(even) {
	background-color: #e6e6e6;
}

html > body .data-table tr.system-highlight-product {
	background-color: #fefeb0;
	color: #4f4f4f;
}

/*
@media all and (max-width: em) {
	.responsive-data-table thead {
		display: none;
	}
	.responsive-data-table tr {
		display: block;
		margin-bottom: 1em;
		border-bottom: none;
	}
	.responsive-data-table tbody tr:after {
		content: '';
		display: table;
		clear: both;
	}
	.responsive-data-table tbody td {
		display: block;
		clear: left;
		float: left;
		width: 100%;
		border-bottom: 1px solid #e6e6e6;
		text-align: right;

		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.responsive-data-table tbody td:last-child {
		border-bottom: none;
	}
	.responsive-data-table tbody td:before {
		content: attr(data-label);
		float: left;
		margin-right: 1em;
	}
}
*/

.link-with-icon {
	display: inline-block;
	vertical-align: top;
	position: relative;
	font-weight: 500;
	text-decoration: none;
}
.link-with-icon .icon-icomoon {
	position: absolute;
	top: 50%;
	font-size: 1.5em;
	transform: translateY(-50%);
}

.link-with-icon-right {
	padding-right: 2em;
}
.link-with-icon-right .icon-icomoon {
	right: 0;
}

.link-with-icon-left {
	padding-left: 2em;
}
.link-with-icon-left .icon-icomoon {
	left: 0;
}

.font-size-down-1 .link-with-icon .icon-icomoon {
	top: 0.25em;
	font-size: 1.5em;
}
.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 {
	-webkit-transition: -webkit-transform 0.25s;
	-o-transition: -o-transform 0.25s;
	transition: transform 0.25s;
}
.form-submit-success.submit-form-scale-out-on-success form {
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	-o-transform: scale(0);
	transform: scale(0);
}

.submit-form-slide-up-on-success:before,
.submit-form-slide-up-on-success:after {
	content: "";
	display: table;
}
.submit-form-slide-up-on-success:after {
	clear: both;
}
.submit-form-slide-up-on-success ol,
.submit-form-slide-up-on-success ul {
	margin-top: 0;
}

.form-success-msg,
.form-fail-msg,
.form-captchafail-msg,
.form-denied-msg {
	display: none;
	opacity: 0;
}

.form-submit-success .form-success-msg,
.form-submit-fail .form-fail-msg,
.form-captchafail .form-captchafail-msg,
.form-denied .form-denied-msg {
	display: block;
	opacity: 1;

	-webkit-transition: opacity 0.25s;
	-o-transition: opacity 0.25s;
	transition: opacity 0.25s;
}

.ajax-submit-button {
	position: relative;
	/*min-width: em;*/
}
a.ajax-submit-button {
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
}
.ajax-submit-button:disabled,
.ajax-submit-button[disabled] {
	pointer-events: none;
	cursor: default;
}
.ajax-submit-button .stage {
	display: block;
	position: relative;
}
.ajax-submit-button .button-text {
	display: inline-block;
	vertical-align: top;
}
.ajax-submit-button .processing-animation {
	display: none;
	position: absolute;
	top: 0;
	left: 50%;
	font-size: 1em;
	text-align: center;

	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}
.ajax-submit-button .processing-animation:before {
	display: block;

	-webkit-animation: processing 1s linear infinite;
	animation: processing 1s linear infinite;
}
.ajax-submit-button.processing,
.ajax-submit-button.ajax-success,
.ajax-submit-button.ajax-fail {
	pointer-events: none;
}
.ajax-submit-button.processing .button-text,
.ajax-submit-button.ajax-success .button-text,
.ajax-submit-button.ajax-fail .button-text {
	visibility: hidden;
}
.ajax-submit-button.processing .processing-animation {
	display: block;
}
.ajax-submit-button .ajax-message {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.ajax-submit-button .ajax-message .icon-icomoon {
	display: inline-block;
	vertical-align: top;
	margin-left: 0.166666666667em;
	font-size: 1em;
}
.ajax-submit-button .ajax-message .icon-icomoon:only-child {
	margin-right: 0.166666666667em;
}
.ajax-submit-button.ajax-success .success-message {
	display: block;
}
.ajax-submit-button.ajax-fail {
	background-color: #c00;
	color: #fff;
	border-color: #c00;

	-webkit-transition: background-color 0.2s, border-color 0.2s;
	-o-transition: background-color 0.2s, border-color 0.2s;
	transition: background-color 0.2s, border-color 0.2s;
}
.ajax-submit-button.ajax-fail .fail-message {
	display: block;
}

.ajax-submit-button-icon-only {
	background-color: #efefef;
	padding: 0.75em;
	border: 0;
	line-height: 1;

	border-radius: 50%;
}
.ajax-submit-button-icon-only:hover,
.ajax-submit-button-icon-only:focus,
.ajax-submit-button-icon-only:active {
	background-color: #d6d6d6;
}
.ajax-submit-button-icon-only .processing-animation {
	top: 0;
	font-size: 1em;
}
.ajax-submit-button-icon-only .ajax-message .icon-icomoon {
	margin: 0;
	font-size: 1em;
}

.ajax-submit-button-alternative {
	position: relative;
	padding: 0 0 0 2em;
	background-color: transparent;
	border: 0;
}
.ajax-submit-button-alternative:hover,
.ajax-submit-button-alternative:focus,
.ajax-submit-button-alternative:active {
	background-color: transparent;
}
.ajax-submit-button-alternative .icon-icomoon {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.5em;
}
.ajax-submit-button-alternative .processing-animation {
	display: none;
	top: 0.1em;
	font-size: 1.25em;
}
.ajax-submit-button-alternative .button-text {
	display: block;
	margin: 0;
}
.ajax-submit-button-alternative .button-text span {
	margin: 0;
}
.ajax-submit-button-alternative.processing .button-icon {
	display: none;
}
.ajax-submit-button-alternative.processing .processing-animation {
	display: block;
}
.ajax-submit-button-alternative.processing .processing-animation:before {
	-webkit-animation: processing 1s linear infinite;
	animation: processing 1s linear infinite;
}

.hide-reveal-chevron {
	position: absolute;
	font-style: normal;
	line-height: 1;

	transition: transform 0.15s;
}
.selected .hide-reveal-chevron {
	transform: rotate(90deg) !important;
}
.deselected .hide-reveal-chevron {
	transform: rotate(0deg) !important;
}

.hide-reveal-plus-minus,
.hide-reveal-plus-minus-line {
	display: block;
}
.hide-reveal-plus-minus {
	position: absolute;
}
.hide-reveal-plus-minus-line:first-child {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;

	transform: rotate(-90deg);

	-webkit-transition: -webkit-transform 0.15s;
	-o-transition: -o-transform 0.15s;
	transition: transform 0.15s;
}
.selected .hide-reveal-plus-minus-line:first-child {
	transform: rotate(0deg) !important;
}
.deselected .hide-reveal-plus-minus-line:first-child {
	transform: rotate(-90deg) !important;
}

.replace-form-control {
	display: block;
	position: relative;
	padding: 0 0 0 1.75em;
}
.replace-form-control .text {
	display: block;
	margin-top: 0;
	margin-bottom: 0;
}
.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 #e6e6e6;

	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 .icon-icomoon {
	position: absolute;
	top: 0.65625em;
	left: 0.625em;
	font-size: 2em;
}

.download-list {
	font-size: 1em;
}
.download-list li {
	margin: 1em 0;
}

.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;
	padding: .5em;

	transition: color 0.2s;
}
.social-media-list a:hover,
.social-media-list a:focus,
.social-media-list a:active {
	color: #151a20 !important;
}
.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%);
}

.embedded-map {
	padding: 0 0 100%;
}
.embedded-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media all and (min-width: 37.5em) {
	.embedded-map {
		padding: 0 0 56.25%;
	}
}

.embedded-video {
	padding: 0 0 56.25%;
}
.embedded-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hover-overlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	color: #fff;
	opacity: 0;

	transition: opacity 0.15s;
}
.hover-overlay {
	background-color: rgba(0, 0, 0, 0.25);
}
a:hover .hover-overlay,
a:focus .hover-overlay,
a:active .hover-overlay {
	opacity: 1;
}

.icon-icomoon,
.icon-icomoon:before {
	display: block;
}
.icon-icomoon,
.icomoon-ul-bullet-module ul li:before {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'icomoon' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-delivery-van:before {
	content: "\e90b";
}
.icon-file-cross:before {
	content: "\e90d";
}
.icon-chevron-down:before {
	content: "\e926";
}
.icon-chevron-left:before {
	content: "\e907";
}
.icon-chevron-right:before,
.breadcrumb li:before {
	content: "\e90a";
}
.icon-arrow-left:before {
	content: "\e927";
}
.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-tick:before,
.tick-ul-bullet-module 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: 95em;
	margin-right: auto;
	margin-left: auto;
	padding-right: 1.25em;
	padding-left: 1.25em;
}

.wrapper.no-gutter {
	padding-right: 0;
	padding-left: 0;
}

.max-content-width-wrapper {
	max-width: 1920px;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.content-module {
	margin-top: 1em;
	margin-bottom: 1em;
}
.content-module-1 {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}
.content-module-2 {
	margin-top: 2em;
	margin-bottom: 2em;
}
.content-module-3 {
	margin-top: 3em;
	margin-bottom: 3em;
}
.content-module-4 {
	margin-top: 4em;
	margin-bottom: 4em;
}
.content-module-5 {
	margin-top: 5em;
	margin-bottom: 5em;
}


/*
NEW GUTTER SYSTEM
=================

OLD TO NEW KEY:

.grid-adjust-fixed-half = .grid-adjust-0
.grid-adjust-default = .grid-adjust-0-to-1
.grid-adjust-fixed-full = .grid-adjust-1
.grid-adjust-double = .grid-adjust-1-to-2
.gutter-fixed-half = .gutter-0
.gutter-default = .gutter-0-to-1
.gutter-fixed-full = .gutter-1
.gutter-double = .gutter-1-to-2
.gutter-fixed-double = .gutter-2
*/

.grid-adjust-0,
.grid-adjust-0-to-1 {
	margin-right: -0.625em;
	margin-left: -0.625em;
}

.grid-adjust-1,
.grid-adjust-1-to-2 {
	margin-right: -1.25em;
	margin-left: -1.25em;
}

.gutter-0,
.gutter-0-to-1 {
	padding-right: 0.625em;
	padding-left: 0.625em;
}

.gutter-1,
.gutter-1-to-2 {
	padding-right: 1.25em;
	padding-left: 1.25em;
}

.gutter-2 {
	padding-right: 2.5em;
	padding-left: 2.5em;
}

@media all and (min-width: 48em) {
	.wrapper,
	.gutter-1-to-2 {
		padding-right: 2.5em;
		padding-left: 2.5em;
		padding-right: clamp(1.25em, 2.60417vw, 2.5em);
		padding-left: clamp(1.25em, 2.60417vw, 2.5em);
	}

	.grid-adjust-0-to-1 {
		margin-right: -1.25em;
		margin-left: -1.25em;
		margin-right: clamp(-1.25em, -1.30208vw, -0.625em);
		margin-left: clamp(-1.25em, -1.30208vw, -0.625em);
	}
	.grid-adjust-1-to-2 {
		margin-right: -2.5em;
		margin-left: -2.5em;
		margin-right: clamp(-2.5em, -2.60417vw, -1.25em);
		margin-left: clamp(-2.5em, -2.60417vw, -1.25em);
	}

	.gutter-0-to-1 {
		padding-right: 1.25em;
		padding-left: 1.25em;
		padding-right: clamp(0.625em, 1.30208vw, 1.25em);
		padding-left: clamp(0.625em, 1.30208vw, 1.25em);
	}
}

/* ------ Colourways ------ */

.cw-1,
.cw-1-base {
	background-color: #0071BB;
	color: #fff;
}
.cw-1 a {
	color: #fff;
}
.cw-1 a:hover,
.cw-1 a:focus,
.cw-1 a:active {
	color: #999;
}

.cw-2,
.cw-2-base {
	background-color: #15BDEF;
	color: #fff;
}
.cw-2 a {
	color: #fff;
}
.cw-2 a:hover,
.cw-2 a:focus,
.cw-2 a:active {
	color: #999;
}

.cw-3,
.cw-3-base {
	background-color: #202020;
	color: #fff;
}
.cw-3 a {
	color: #fff;
}
.cw-3 a:hover,
.cw-3 a:focus,
.cw-3 a:active {
	color: #15bdef;
}

.cw-4,
.cw-4-base {
	background-color: #000;
	color: #fff;
}
.cw-4 a {
	color: #fff;
}
.cw-4 a:hover,
.cw-4 a:focus,
.cw-4 a:active {
	color: #999;
}

.cw-neutral-100 {
	background-color: #f0f0f0;
	color: #4f4f4f;
}

.cw-neutral-030 {
	background-color: #f4f4f4;
	color: #4f4f4f;
}

.cw-neutral-050 {
	background-color: #efefef;
	color: #4f4f4f;
}

.cw-default,
.cw-default-base {
	background-color: #fff;
	color: #4f4f4f;
}
.cw-default a {
	color: #15bdef;
}
.cw-default a:hover,
.cw-default a:focus,
.cw-default a:active {
	color: #0071bb;
}

.alternative-link a,
.alternative-link .pseudo-link {
	color: #202020;
}
.alternative-link a:hover,
.alternative-link a:focus,
.alternative-link a:active,
.alternative-link .pseudo-link:hover,
.alternative-link .pseudo-link:focus,
.alternative-link .pseudo-link:active,
.alternative-link a:hover .pseudo-link,
.alternative-link a:focus .pseudo-link,
.alternative-link a:active .pseudo-link {
	color: #0071bb;
}

.cw-neutral-100-foreground {
	color: #F0F0F0;
}
.cw-neutral-200-foreground {
	color: #8a8a8a;
}
.cw-neutral-800-foreground,
.top-image-module.w-out-top-img .top-image-heading {
	color: #202020;
}

.cw-default-foreground {
	color: #4f4f4f;
}

.cw-positive-foreground {
	color: #00a642;
}
.cw-negative-foreground {
	color: #c00;
}
.cw-warning-foreground {
	color: #e4aa0e;
}

.cw-1-foreground {
	color: #0071BB;
}
.cw-2-foreground,
.list-project-categories .selected .link-text {
	color: #15BDEF;
}
.cw-3-foreground {
	color: #202020;
}

.keyline-default {
	border: 1px solid #e6e6e6;
}

/* ------ Modules ------ */
.site-header {
	position: relative;
	z-index: 3;
}

.logo a {
	display: block;
	margin: .75em 0;
}
.logo img {
	display: block;
}


.contact-site-header {
	display: none;
	text-align: left;
}
.contact-site-header ul {
	margin: 0;
	line-height: 1;
}
.contact-site-header-intro,
.contact-site-header-telephone-number {
	display: block;
	margin: 0;
	font-weight: 700;
}
.contact-site-header .tel abbr,
.contact-site-header .email abbr,
.contact-site-header-email a {
	text-decoration: none;
	font-weight: 500;
}
@media all and (max-width: 739px) {
	.contact-site-header,
	.ices-img,
	.adj-to-logo {
		display: inline-block;
		vertical-align: middle;
	}
	.ices-img  {
		margin-left: 1em;
	}
}
@media all and (max-width: 560px) {
	.contact-site-header {
		display: none;
	}
}

@media all and (min-width: 20em) and (max-width: 46.1875em) {
	.site-header-masthead > .wrapper {
		position: relative;
	}
}

@media all and (min-width: 46.25em) {
	.logo,
	.adj-to-logo {
		display: inline-block;
		vertical-align: middle;

		box-sizing: border-box;
	}
	.logo {
		width: 15%;
	}
	.adj-to-logo {
		width: 85%;
		text-align: right;
	}

	@supports (display: flex) {
		.site-header-masthead > .wrapper > .grid-adjust-0-to-1,
		.site-header-masthead .adj-to-logo {
			display: flex;
			align-items: center;
			justify-content: end;
		}
	}
}

@media all and (min-width: 60em) {
	.contact-site-header {
		display: inline-block;
		vertical-align: middle;
		margin-left: 2.5em;
		margin-right: 1.875em;
	}
	.nav-main {
		padding-right: 1.25em;
		border-right: 2px solid #e6e6e6;
	}
}

.nav-main a {
	display: block;
	text-decoration: none;
}
.nav-main ul {
	display: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	line-height: 1;
	font-size: .9375em;
}
.nav-main > ul > li > a {
	font-weight: 600;
	position: relative;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.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 > ul > li > a:hover,
.nav-main > ul > li > a:focus,
.nav-main > ul > li > a:active,
.nav-main > ul > li.sfHover > a,
.no-js .nav-main > ul > li:hover > a {
	background-color: transparent;
	color: #15bdef;
}

.nav-main .sf-mega {
	display: none;
	text-align: left;
}
.nav-main .sf-mega ul {
	display: block;
}
.nav-main .sf-mega ul a {
	font-weight: 700;
	padding: 0.75em 0;
	font-size: 1.125em;
}
.nav-main .sf-mega ul > li.gutter-0-to-1 > a {
	padding-bottom: 1em;
}
.nav-main .sf-mega ul ul a {
	font-weight: 500;
	font-size: 1em;
}

.nav-main .standard-sf li,
.nav-main .sf-mega li {
	border-top: 1px solid #efefef;
}
.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: #fff;
	}
	.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;
	}
}

@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;
		margin-top: 1em;
	}

	.nav-main li.enable-mega-menu {
		position: static;
	}
	.nav-main .sf-mega {
		width: 100%;
		border-bottom: 1px solid #eee;
	}

	.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: -0.9375em;
		margin-right: -0.9375em;
	}
	.nav-main .sf-mega .gutter-0-to-1 {
		padding-left: 0.9375em;
		padding-right: 0.9375em;
	}
	.nav-main .standard-sf li a {
		margin: 0;
	}
}

@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: 1600px) {
	.nav-main {
		flex-grow: 1;
	}
	.nav-main > ul > li,
	.nav-main ul a {
		display: flex;
	}
	.nav-main ul a {
		margin: 0 1.25em;
		align-items: center;
		padding-top: 0.9333333333333333em;
    	padding-bottom: 0.9333333333333333em;
	}
	.nav-main > ul {
		height: 100%;
		display: flex;
		justify-content: flex-end;
	}
}

.site-content {
	position: relative;
	z-index: 1;
}
.site-content:not(.feature-page-content) {
	margin-bottom: 3em;
}
.site-content:not(.feature-page-content):has(.child-list-module) {
	margin-bottom: 6.5em;
}
.site-content:not(.feature-page-content):has(.cta-panel) {
	margin-bottom: 1em;
}


.site-content-1-1,
.site-content-1-2,
.site-content-1-3,
.site-content-2-3,
.site-content-1-4,
.site-content-3-4,
.site-content-1-5,
.site-content-4-5 {
	display: inline-block;
	vertical-align: top;
	width: 100%;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.site-section-container.site-sections-narrow .site-section {
	max-width: 83.75em;
	margin-left: auto;
	margin-right: auto;
}
.site-section-container .section-divider {
	border-bottom: 1px solid #f4f4f4;
	padding-bottom: 2em;
	margin-bottom: 2em;
}

.site-content-section-with-side-image-left .side-image-with-drop-shadow,
.site-content-section-with-side-image-right .side-image-with-drop-shadow {
   position: relative;
   max-width: 480px;
   padding-bottom: 7.695%;
}
.site-content-section-with-side-image-left .side-image-with-drop-shadow {
   padding-left: 7.695%;
}
.site-content-section-with-side-image-right .side-image-with-drop-shadow {
   padding-right: 7.695%;
}
.site-content-section-with-side-image-left .main-image,
.site-content-section-with-side-image-right .main-image {
   position: relative;
   z-index: 1;
}
.site-content-section-with-side-image-left .side-image-drop-shadow,
.site-content-section-with-side-image-right .side-image-drop-shadow {
   width: 64%;
   height: 62%;
   position: absolute;
   bottom: 0;
}
.site-content-section-with-side-image-left .side-image-drop-shadow {
   left: 0;
}
.site-content-section-with-side-image-right .side-image-drop-shadow {
   right: 0;
}

@media all and (min-width: 48em) {
	.site-content-1-2 {
		width: 50%;
	}
	.push-site-content-1-2 {
		position: relative;
		left: 50%;
	}
	.pull-site-content-1-2 {
		position: relative;
		left: -50%;
	}
}

@media all and (min-width: 60em) {
	.site-content-1-3 {
		width: 33.3333333333%;
	}
	.site-content-2-3 {
		width: 66.6666666667%;
	}

	.site-section-container .site-content-1-3 {
		width: 37.5%;
	}
	.site-section-container .site-content-2-3 {
		width: 62.5%;
	}
	.site-section-container .site-content-2-3 > div {
		max-width: 740px;
	}
	.site-section-container.site-sections-narrow .site-content-1-3 {
		width: 42.25352112676056%;
	}
	.site-section-container.site-sections-narrow .site-content-2-3 {
		width: 57.74647887323944%;
	}
	.site-content-section-with-side-image-left .site-content-2-3,
	.site-content-section-with-side-image-left .site-content-1-3 {
		position: relative;
	}
	.site-section-container .site-content-section-with-side-image-left .site-content-2-3 {
		left: 37.5%;
	}
	.site-section-container .site-content-section-with-side-image-left .site-content-1-3 {
		left: -62.5%;
	}
	.site-section-container.site-sections-narrow .site-content-section-with-side-image-left .site-content-2-3 {
		left: 42.25352112676056%;
	}
	.site-section-container.site-sections-narrow .site-content-section-with-side-image-left .site-content-1-3 {
		left: -57.74647887323944%;
	}

	.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%;
	}
	.main-project-detail .site-content-1-4 {
		width: 22%;
	}
	.main-project-detail .site-content-3-4 {
		width: 78%;
	}

}

@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: .5em;
	margin-bottom: .5em;
}
.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;
}

.page-body-text-module:empty {
	display: none;
}

/* 16px font-size assumed */
.icomoon-ul-bullet-module ul {
	margin: 1.125em 0;
}
.icomoon-ul-bullet-module ul li {
	position: relative;
	margin: .75em 0;
	padding: 0.375em 0 0.375em 2.5em;
}
.ul-bullet-columns-module ul li {
	padding-right: 5em;
	margin-top: .5em;
	margin-bottom: .5em;
}
.icomoon-ul-bullet-module ul li:before {
	display: block;
	position: absolute;
	top: .125em;
	left: 0;
	width: 1em;
	height: 1em;
	font-size: 1.777777777777778em;
	color: #15bdef;
	text-align: center;


	box-sizing: border-box;
}
.main-project-detail .ul-bullet-columns-module ul {
	margin-top: 2em;
	margin-bottom: 2em;
}
.main-project-detail .site-content-sub-heading {
	margin-top: 0;
}
.main-project-detail .project-info p:first-of-type {
	margin-top: 0;
}
.main-project-detail .project-info p {
	margin-bottom: 2em;
}

.main-project-detail .project-info li {
   margin-bottom: 2em;
}
@supports (display: grid) {
	@media all and (min-width: 21.25em) {
		.ul-bullet-columns-module ul {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(21em, 1fr));
			column-gap: 1.25rem;
		}
	}
}
@media all and (min-width: 48em) {
   .main-project-detail .site-content-3-4 {
      border-left: 1px solid #e6e6e6;
   }
}

.content-section {
	margin-top: -1em;
	overflow: hidden;
}
.content-section img {
	display: block;
	margin: 1em auto;
}
.content-section .body-text-image-block {
	margin-right: 0;
	margin-left: 0;
}
.content-section li {
	margin-top: 0.222222222222em;
}

@media all and (min-width: 37.5em) {
	.content-section .body-text-image-right {
		float: right;
		margin-right: 0;
		margin-left: 1em;
	}
	.content-section .body-text-image-left {
		float: left;
		margin-right: 1em;
		margin-left: 0;
	}
}
.slideshow-panel-module {
	margin-bottom: 1em;
}
.slideshow-panel {
	display: none;
	overflow: hidden;
}
.slideshow-panel:first-child {
	display: block;
}
.slideshow-panel .image-module {
	height: 800px;
	padding: 0 0 42.03888596952181%;
}
.slideshow-panel-strapline {
	font-weight: 400;
}
.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: 2em;
		row-gap: 0;
		flex-direction: row;
	}
	.slideshow-panel-link-text .pseudo-submit {
		width: auto;
	}	
}

@media all and (max-width: 59.9375em) {
	.slideshow-panel .image-module {
		height: auto;
	}
}

@media all and (min-width: 60em) {
	.slideshow-panel .image-module {
		padding: 0;
	}

	.slideshow-panel {
		position: relative;
	}
	.slideshow-panel-overlay {
		position: absolute;
		top: 50%;
		left: 0;
		z-index: 2;
		width: 100%;

		transform: translateY(-50%);
	}

	.slideshow-panel-overlay-content {
		max-width: 54.25em;
	}
}

.top-image-module {
	position: relative;
	min-height: 400px;
}
.top-image-module.w-out-top-img {
	min-height: 200px;
}
.top-image-overlay {
	position: relative;
	z-index: 2;
	margin-right: auto;
	margin-left: auto;
}
.top-image-body-text p {
	font-weight: 400;
}
.top-image-gradient-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.top-image-gradient-overlay.dark-overlay {
	background: linear-gradient(90deg, rgb(0, 0, 0,.625) 0%, rgba(255,255,255,0) 55%);
}
.top-image-gradient-overlay.darker-overlay {
	background: linear-gradient(to right, rgba(0, 0, 0,.7), rgba(255, 255, 255, 0))
}
.top-image-gradient-overlay.light-overlay {
	background: linear-gradient(90deg, rgba(239, 239, 239, .625) 0%, rgba(255,255,255,0) 55%);
}
@supports (display: flex) {
	.top-image-module {
		display: flex;
		align-items: center;
	}
	.top-image-overlay {
		flex: 1 1 auto;
	}

	@media all and (min-width: 60em) {
		.top-image-overlay {
			position: static;
		}
	}
}

.feature-projects-top {
	position: relative;
	background-image: url(/images/feature-projects-top.png);
	width: 100%;
	height: 110px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
}
.feature-projects {
	padding-bottom: 2em;
}
.feature-projects .grid-child  .grid-item .container {
	max-width: 24em;
	margin-left: auto;
	margin-right: auto;
}
@media all and (min-width: 760px) {
	.view-project-link-container {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: flex-end;
	}
	.view-project-link-container p {
		justify-self: end;
	}
}
.default-grid-item .content {
	filter: drop-shadow(rgba(0, 0, 0,0.1) 0px 2px 2px);
}
@media all and (min-width: 60em) {
	.default-grid-item .container {
		   margin: 1.25em 0 !important;
	}
}
.default-grid-item .content .text-container {
	padding: .5em 1.5em .25em;
}

.site-content-sub-heading {
	margin-bottom: 1em;
}

.feature-panel-heading {
	font-weight: 500;
	margin: .5em 0;
}
.feature-panel.grid-item img {
	max-width: 180px;
	margin: 0 auto;
	border-radius: 50%;
}

.slider-list {
	margin-right: 0;
	margin-left: 0;
	border-width: 0 0 1px;
	font-size: 1em;
	line-height: inherit;
	text-align: left;
}
.slider-list .slider-title,
.slider-list .slider-content {
	position: relative;
}
.slider-list .slider-title {
	margin: 0;
	border-width: 1px 0 0;
	font-size: 1em;
	line-height: inherit;
	z-index: 2;
}
.slider-list .slider-title:first-child {
	border-top-width: 0;
}
.slider-list .slider-title a {
	display: block;
	position: relative;
	padding: 1em 2em 1em 0;
	text-decoration: none;

	-webkit-transition: background-color 0.15s, color 0.15s;
	-o-transition: background-color 0.15s, color 0.15s;
	transition: background-color 0.15s, color 0.15s;
}
.slider-list .slider-title a:hover,
.slider-list .slider-title a:focus,
.slider-list .slider-title a:active {
	background-color: #f6f6f6;
}
.slider-list .slider-title-text {
	display: block;
	margin: 0;
}
.slider-title .hide-reveal-icon {
	position: absolute;
	top: 1.25em;
	right: 0;
	width: 1em;
}
.slider-list .slider-content {
	display: none;
	z-index: 1;
	margin: 0;
	padding: 0.0625em 0 1em;
}
.slider-list .slider-content:target {
	display: block;
}

.simple-form {
	display: inline-block;
	vertical-align: top;
	text-align: left;
}
.simple-form .label {
	display: inline-block;
	vertical-align: top;
	margin: 0 0 0.444444444444em;
}
.simple-form .visible-form-controls {
	margin-top: -0.75em;
}
.simple-form input,
.simple-form select,
.simple-form button {
	width: 100%;
	display: inline-block;
	vertical-align: top;
}
.simple-form button {
	margin-top: 0.666666666667em;
	margin-bottom: 0;
	padding: 0.833333333333em;
}
.simple-form input,
.simple-form select {
	margin-top: 0.75em;
	margin-bottom: 0;
}

@media all and (min-width: 31.25em) {
	.simple-form .visible-form-controls {
		margin-left: -0.75em;
	}
	.simple-form input,
	.simple-form select {
		width: 18em;
		margin-left: 0.75em;
	}
	.simple-form .visible-form-controls .label {
		margin-left: 0.666666666667em;
	}
	.simple-form button {
		width: auto;
		margin-left: 0.666666666667em;
	}

}

.standard-form-module {
	max-width: 43.75em;
}
.text-centre .standard-form-module {
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}
.standard-form li {
	margin: 1em 0;
}
.standard-form li:first-child {
	margin-top: 0;
}

.standard-form .label,
.standard-form input,
.standard-form select,
.standard-form textarea {
	display: inline-block;
}

.standard-form .label {
	margin: 0 0 0.444444444444em;
}
.standard-form .label.replace-form-control {
	margin: 0;
}

.standard-form li.required .label:after,
.basket-variable.required .label:after {
	content: '\0000a0*';
	color: #c00;
}

.standard-form input[type="checkbox"],
.standard-form input[type="radio"] {
	vertical-align: middle;
}
.standard-form .submit,
.standard-form .button {
	display: block;
	width: auto;
}

@supports (display: grid) {
	@media all and (min-width: 30em) {
		.contactus-form ol,
		.newmember-form ol {
			display: grid;
			grid-template-columns: 1fr 1fr;
			column-gap: clamp(1.25rem, 2.60417vw, 2.5rem);
			row-gap: 1rem;
		}
		.contactus-form li,
		.newmember-form li {
			margin: 0;
		}
		.contactus-form .contactus-subject-container,
		.contactus-form .contactus-message-container {
			grid-column: 1 / span 2;
		}
	}
}

.video-module {
	border-width: 1px 0 0;
}
.video-module:first-child {
	border-top: 0;
}
.video-module-caption {
	text-transform: uppercase;
}

.child-list-module + .child-list-module {
	margin-top: 3em;
}
.child-list-module + .child-list-module h3 {
	border-top: 1px solid #f4f4f4;
	padding-top: 1.5em;
}

.child-list-options-handheld {
	border-width: 1px 0;
}
.child-list-options-handheld .option-module {
	border-width: 1px 0 0;
	border-style: solid;
	border-color: #e6e6e6;
}
.child-list-options-handheld .option-module:first-child {
	border: none;
}
.child-list-options-handheld p {
	margin: 0;
}
.child-list-options-handheld .button-small {
	display: block;
	background-color: #fff;
}

@media all and (min-width: 18.75em) {
	.child-list-options-handheld .option-module {
		display: inline-block;
		vertical-align: top;
		width: 50%;

		box-sizing: border-box;
	}
	.child-list-options-handheld .option-module {
		border-width: 0 0 0 1px;
	}
}

.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.444444444444em;
	margin-left: 0;
}
.child-list-options-form select,
.child-list-options-form input {
	display: inline-block;
	height: auto;
	padding: 0.625em 0.75em;
}
.apply-child-list-options-module .submit {
	display: block;
	width: 100%;
	margin: 0;
}

@supports (display: flex) {
	@media all and (min-width: 22.5em) and (max-width: 59.9375em) {
		.child-list-options-form .visible-form-controls {
			display: flex;
		}
		.child-list-options-form .visible-form-controls .label {
			flex: 1 1 auto;
		}
	}
}

@media all and (max-width: 59.9375em) {
	.js .grid-child-product-aside,
	.child-list-options-handheld-target {
		display: none;
	}
	.child-list-options-handheld-target:target {
		display: block;
	}

	.mfp-content .child-list-options-handheld-target {
		display: block;
	}
}

@media all and (min-width: 22.5em) {
	.child-list-options-form select,
	.child-list-options-form input {
		width: auto;
	}
}

@media all and (min-width: 60em) {
	.child-list-options-form li {
		width: 50%;
		text-align: right;
	}
	.child-list-options-form li:first-child {
		text-align: left;
	}

	.child-list-options-handheld,
	.child-list-options-module-heading,
	.child-list-options-form .apply-child-list-options-module {
		display: none;
	}

	.child-list-options-handheld-target.mfp-hide {
		display: block !important;
	}
}

.grid-child {
	margin: 0 auto;
	padding: 0;
	font-size: 1em;
	list-style: none;
}
.grid-item {
	width: 100%;

	box-sizing: border-box;
}
.grid-child .grid-item {
	display: inline-block;
	vertical-align: top;
	text-align: center;
}
.grid-child .grid-item a {
	text-decoration: none;
}
.grid-child .container {
	display: inline-block;
	vertical-align: top;
	width: 100%;
}
.grid-child .content {
	display: block;
	position: relative;
}
.grid-child .image-module {
	position: relative;
}
.grid-child img {
	display: block;
}
.grid-child .no-img {
	height: 0;
	padding: 0 0 100%;
	overflow: hidden;
}
.grid-child .no-img {
	padding: 0 0 100%;
}

.grid-child-flex-normalise {
	display: flex;
	flex-wrap: wrap;
}
.grid-child-flex-normalise.text-centre {
	justify-content: center;
}
.grid-child-flex-normalise .grid-item {
	display: flex;
}
.grid-child-flex-normalise .container,
.grid-child-flex-normalise .content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
.grid-child-flex-normalise .flex-expand-this {
	flex: 1 0 auto;
}

.no-flexwrap .grid-child-flex-normalise,
.no-flexwrap .grid-child-flex-normalise .container,
.no-flexwrap .grid-child-flex-normalise .content {
	display: block;
}
.no-flexwrap .grid-child-flex-normalise .grid-item {
	display: inline-block;
}

.grid-adjust-0 .grid-child,
.grid-adjust-0-to-1 .grid-child {
	margin: 0 auto;
}
.grid-adjust-0 .grid-child .container,
.grid-adjust-0-to-1 .grid-child .container {
	margin: 0.625em 0;
}
.grid-adjust-0 .grid-child .content,
.grid-adjust-0-to-1 .grid-child .content {
	margin: 0 0.625em;
}

@media all and (min-width: 48em) {
	.grid-adjust-0-to-1 .grid-child .container {
		margin: 1.25em 0;
		margin: clamp(0.625em, 1.30208vw, 1.25em) 0;
	}
	.grid-adjust-0-to-1 .grid-child .content {
		margin: 0 1.25em;
		margin: 0 clamp(0.625em, 1.30208vw, 1.25em);
	}
	.grid-adjust-0-to-1:has(.related-logo-carousel) {
		margin: 0 -2.5em;
		margin: 0 clamp(-2.5em, 1.0156rem + 1.25vw, -1.25rem);
	}
	.grid-adjust-0-to-1:has(.related-logo-carousel) .grid-item .content {
		margin: 0 2.5em;
		margin: 0 clamp(1.25rem, 1.0156rem + 1.25vw, 2.5rem);
	}
}
.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-left: -0.75em;
   margin-right: -0.75em;
   margin-top: 0;
   margin-bottom: .5em;
}

.list-project-categories li {
   display: inline-block;
   vertical-align: middle;
}

.list-project-categories li .link-text {
   padding: 0.6666666666666667em;
   cursor: pointer;
   display: block;
   margin: 0;
}

.list-project-categories .link-text:hover,
.list-project-categories .link-text:focus,
.list-project-categories .link-text:active {
   color: #282828;
   text-decoration: underline;
}

.list-project-categories .selected .link-text:hover,
.list-project-categories .selected .link-text:focus,
.list-project-categories .selected .link-text:active {
   color: #202020;
   text-decoration: underline;
}

.related-logo-carousel .grid-item {
	width: auto;
	vertical-align: middle;
}
.feature-carousel-section {
	margin-bottom: 7em;
}
.related-logo-section {
	border-width: 1px 0 0 0;
	padding-top: 3em;
}


/* 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%;
	}
}

/* 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%;
	}
}

/* gallery image styles */

.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);
}

.simple-panel .content {
	padding-top: 1em;
	padding-bottom: 1em;
	text-align: left;
}
.simple-panel .body-text-module ul {
	list-style: disc;
}
.simple-panel .button-standard {
	width: 100%;
}
.simple-panel .standard-form a {
	text-decoration: underline;
}

.page-nav,
.page-nav-detailed {
	text-align: center;
}
.page-nav .page-list {
	font-weight: 700;
}
.page-nav .page-list a {
	font-weight: 400;
}
.page-nav .prev,
.page-nav .next,
.page-nav-detailed .first,
.page-nav-detailed .prev,
.page-nav-detailed .next,
.page-nav-detailed .last {
	color: #999;
}

.page-nav-detailed > div,
.page-nav-detailed > div:before {
	display: inline-block;
	vertical-align: top;
}
.page-nav-detailed > div:before {
	margin-right: 0.5em;
	margin-left: 0.5em;
	content: ' | ';
}
.page-nav-detailed .first:before,
.page-nav-detailed .prev:before,
.page-nav-detailed .next:before,
.page-nav-detailed .last:before {
	color: #4f4f4f;
}
.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;
	}
}

.cta-panel {
	text-align: left;
	display: flex;
	flex-direction: column;
	background-image: url(/images/cta-panel-bg.jpg);
	background-color: transparent;
	background-size: cover;
	padding: 2em clamp(1.875rem, 0.5391rem + 7.125vw, 9rem);
	position: relative;
	transition: background-blend-mode .2s ease, background-color .2s ease;
}
@media all and (min-width: 420px) {
	.cta-panel {	
		mask-image: url('/images/cta-panel-mask.svg');
		mask-size: 100%;
		mask-repeat: no-repeat;
		mask-position: top;
	}
}

html > body .cta-panel:has(.pseudo-submit:hover) {
	background-blend-mode: multiply;
	background-color: #15bdef;
}
.cta-panel-text-module,
.cta-panel-link-module {
	max-width: 44.375em;
}
.cta-caption {
	font-weight: 400;
}

.footer-section-main {
	padding-top: 1.5em;
	padding-bottom: 1.5em;
	border-top: 1px solid rgba(255,255,255,0.1);
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-panel-heading {
	margin-bottom: 1.25em;
	font-weight: 600;
}

.nav-footer a {
	color: #fff;
}
.nav-footer li,
.contact-site-footer li {
	margin: 1.0666666667em 0;
}

.site-footer-container {
	margin-right: -0.625em;
	margin-left: -0.625em;
}
@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: 27.5em) {
		.site-footer-container {
			grid-template-columns: 1fr 1fr;
		}
	}
	@media all and (min-width: 38.75em) {
		.site-footer-container {
			grid-template-columns: 1fr 1fr 1fr;
		}
	}
	@media all and (min-width: 50em) {
		.site-footer-container {
			grid-template-columns: 1fr 1fr 1fr 1fr;
		}
	}
}

.cookies-eu-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 4;
	width: 100%;
	color: #fff;
}
.cookies-eu-banner {
	background-color: rgba(0, 0, 0, 0.75);
}
.cookies-eu-banner .pseudo-button {
	margin-left: 0.222222222222em;
	padding: 0.111111111111em 0.333333333333em;
	vertical-align: baseline;
}

@media all and (max-width: 47.9375em) {
	.cookies-eu-banner .text {
		display: block;
		margin-bottom: 1em;
	}
	.cookies-eu-banner .pseudo-button {
		margin-left: 0;
	}
}