/*!
Theme Name: im_exports_s
Theme URI: http://underscores.me/
Author: Ballyhoo
Author URI: https://ballyhoo.co.uk
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: im_exports_s
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

im_exports_s is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
:root {
	--white: #fff;
	--primary-colour-900-opacity: color-mix(in oklch, var(--primary-colour-900, #1a1a1a), transparent 20%);
	--secondary-colour-900-opacity: color-mix(in oklch, var(--secondary-colour-900, #030401), transparent 20%);
	--secondary-colour-800-opacity: color-mix(in oklch, var(--secondary-colour-800, #25310b), transparent 20%);
	--header-bg: linear-gradient(
        180deg,
        var(--secondary-colour-900-opacity) 0%,
        var(--secondary-colour-800-opacity) 70%
    );
	--gradient: linear-gradient(259deg in oklch, var(--gradient-colour-from) 20%, var(--gradient-colour-to) 75.7%);
	--header-linear-gradient: linear-gradient(
        in oklch 180deg,
        var(--secondary-colour-900) 30%,
        var(--secondary-colour-800) 100%
    );
	--menu-linear-gradient: linear-gradient(
        in oklch 180deg,
        var(--secondary-colour-900) 50%,
        var(--secondary-colour-800) 100%
    );
	--flourish-ratio: calc(100 / 192);
	--space-10-20: clamp(10px, calc(10px + (10 * ((100vw - 400px) / 1520))), 20px);
	--space-10-30: clamp(10px, calc(10px + (20 * ((100vw - 400px) / 1520))), 30px);
	--space-10-50: clamp(10px, calc(10px + (40 * ((100vw - 400px) / 1520))), 50px);
	--space-15-20: clamp(15px, calc(15px + (5 * ((100vw - 400px) / 1520))), 20px);
	--space-15-30: clamp(15px, calc(15px + (30 * ((100vw - 400px) / 1520))), 30px);
	--space-15-40: clamp(15px, calc(15px + (25 * ((100vw - 400px) / 1520))), 40px);
	--space-15-50: clamp(15px, calc(15px + (35 * ((100vw - 400px) / 1520))), 50px);
	--space-15-70: clamp(15px, calc(15px + (55 * ((100vw - 400px) / 1520))), 70px);
	--space-15-100: clamp(15px, calc(15px + (85 * ((100vw - 400px) / 1520))), 100px);
	--space-20-30: clamp(20px, calc(20px + (10 * ((100vw - 400px) / 1520))), 30px);
	--space-20-40: clamp(20px, calc(20px + (20 * ((100vw - 400px) / 1520))), 40px);
	--space-20-50: clamp(20px, calc(20px + (30 * ((100vw - 400px) / 1520))), 50px);
	--space-25-40: clamp(25px, calc(25px + (15 * ((100vw - 400px) / 1520))), 40px);
	--space-30-50: clamp(30px, calc(30px + (20 * ((100vw - 400px) / 1520))), 50px);
	--space-30-70: clamp(30px, calc(30px + (40 * ((100vw - 400px) / 1520))), 70px);
	--space-30-80: clamp(30px, calc(30px + (50 * ((100vw - 400px) / 1520))), 80px);
	--space-30-100: clamp(30px, calc(30px + (70 * ((100vw - 400px) / 1520))), 100px);
	--space-40-100: clamp(40px, calc(40px + (60 * ((100vw - 400px) / 1520))), 100px);
}

.wp-block-columns {
	margin-top: var(--space-30-50);
	margin-bottom: var(--space-30-70);
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	font-size: clamp(16px, calc(16px + (2 * ((100vw - 400px) / 1520))), 18px);
	scrollbar-gutter: stable;
	overflow-x: hidden;
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-h);
}

html:has(.main-navigation.toggled) {
	overflow-y: hidden;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------

# Layouts
--------------------------------------------------------------*/
.entry-content,
.entry-header,
.site-footer,
.van-container {
	width: 100%;
}

.entry-content > *,
.entry-header > *,
.site-footer > *,
.van-container > * {
	padding-inline: var(--space-15-50);
}

.entry-content > *:not(.alignfull):not(.wp-block-contact-form-7-contact-form-selector):not(.certifications):not(
.main-footer
):not(.custom-block):not(.wp-block-media-text):not(.full-width),
.entry-header > *:not(.alignfull):not(.wp-block-contact-form-7-contact-form-selector):not(.certifications):not(
.main-footer
):not(.custom-block):not(.wp-block-media-text):not(.full-width),
.site-footer > *:not(.alignfull):not(.wp-block-contact-form-7-contact-form-selector):not(.certifications):not(
.main-footer
):not(.custom-block):not(.wp-block-media-text):not(.full-width),
.van-container > *:not(.alignfull):not(.wp-block-contact-form-7-contact-form-selector):not(.certifications):not(
.main-footer
):not(.custom-block):not(.wp-block-media-text):not(.full-width) {
	width: 100%;
	max-width: 1230px;
}

.entry-content .alignfull,
.entry-header .alignfull,
.site-footer .alignfull,
.van-container .alignfull {
	padding: 0;
}

.entry-content,
.van-container {
	position: relative;
	background-color: var(--primary-colour-100);
}

.add-bottom-margin {
	margin-bottom: var(--space-30-50);
}

.add-top-margin {
	margin-bottom: var(--space-30-50);
}

body:not(.single-post) div + .wp-block-heading,
body:not(.single-post) .entry-content > .wp-block-heading:first-child,
body:not(.single-post) .entry-content > p:first-child {
	margin-top: var(--space-30-50) !important;
}

.no-sidebar .site {
	display: grid;
	grid-template-columns: auto;
	grid-template-areas: "header" "main" "footer";
}

.no-sidebar .site {
	display: grid;
	grid-template-columns: auto;
	grid-template-areas: "header" "main" "footer";
}

/*--------------------------------------------------------------

# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--primary-text-colour);
	font-family: "Outfit", sans-serif;
	font-size: 1rem;
	line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 var(--space-20-30);
	clear: both;
	line-height: 110%;
	font-weight: 700;
}

h1.flourish.arrow-flourish,
h2.flourish.arrow-flourish,
h3.flourish.arrow-flourish,
h4.flourish.arrow-flourish,
h5.flourish.arrow-flourish,
h6.flourish.arrow-flourish {
	position: relative;
	width: fit-content;
	z-index: 10;
}

h1.flourish.arrow-flourish::after,
h2.flourish.arrow-flourish::after,
h3.flourish.arrow-flourish::after,
h4.flourish.arrow-flourish::after,
h5.flourish.arrow-flourish::after,
h6.flourish.arrow-flourish::after {
	position: absolute;
	content: var(--arrow-flourish);
	top: calc((clamp(40px, calc(40px + (17 * ((100vw - 400px) / 1520))), 57px)) / 2);
	right: -40px;
}

.wp-block-media-text h2.wp-block-heading {
	margin-top: 0 !important;
}

h1 {
	margin: 0;
	font-size: clamp(54px, calc(54px + (60 * ((100vw - 400px) / 1520))), 114px);
}

h2 {
	margin: 0 0 var(--space-20-50);
	font-size: clamp(40px, calc(40px + (17 * ((100vw - 400px) / 1520))), 57px);
}

h2.flourish {
	margin: 0 0 var(--space-30-50);
	width: fit-content !important;
}

h3 {
	font-size: clamp(25px, calc(25px + (7 * ((100vw - 400px) / 1520))), 32px);
	font-weight: 600;
}

h4 {
	font-size: clamp(16px, calc(16px + (2 * ((100vw - 400px) / 1520))), 18px);
}

span.green-underline {
	position: relative;
	display: inline-block;
	padding-bottom: 12px;
	background-image: url("./images/text-flourish.svg");
	background-repeat: no-repeat;
	background-position: 0 calc(100% - 6px);
	background-size: auto clamp(15px, calc(15px + (7 * ((100vw - 400px) / 1520))), 22px);
}

.taper {
	display: inline-block;
	width: fit-content;
	position: relative;
	z-index: 1;
}

.taper::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -12px;
	width: 100%;
	height: auto;
	aspect-ratio: 400 / 20;
	/* tweak visually if needed */
	background: var(--taper) no-repeat center;
	background-size: cover;
	z-index: -1;
	background-position: 0 0;
}

@media (min-width: 1024px) {
	.taper::after {
		bottom: -10px;
	}
}

.taper.with-line-break::after {
	bottom: -13px;
}

@media (min-width: 599px) {
	.taper.with-line-break::after {
		width: 60%;
		bottom: -15px;
	}
}

@media (min-width: 1024px) {
	.taper.with-line-break::after {
		bottom: -12px;
	}
}

.home .side-images-text-block .taper::after {
	bottom: -21px;
}

p {
	font-weight: 400;
	margin: 0 0 var(--space-20-30);
}

@media (min-width: 1920px) {
	p {
		margin-bottom: 30px;
	}
}

p.lede {
	font-size: clamp(20px, calc(20px + (4 * ((100vw - 400px) / 1520))), 24px);
	font-weight: 600;
	line-height: 160%;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

.wp-block-pullquote {
	padding: 0 var(--space-15-50);
	margin: 0 0 20px;
}

@media (min-width: 1920px) {
	.wp-block-pullquote {
		margin-bottom: 30px;
	}
}

blockquote {
	margin: 0 0 30px;
	text-align: left;
}

@media (min-width: 1920px) {
	blockquote {
		margin-bottom: 70px;
	}
}

blockquote :last-child {
	margin: 0;
}

blockquote p {
	font-family: Georgia, serif;
	margin-bottom: 10px;
	font-size: clamp(20px, calc(20px + (4 * ((100vw - 400px) / 1520))), 24px);
	font-style: italic;
	font-weight: 400;
}

blockquote cite {
	font-style: normal;
	font-size: clamp(16px, calc(16px + (2 * ((100vw - 400px) / 1520))), 18px);
	font-weight: 400;
	text-transform: uppercase;
}

.wp-block-image img {
	border-radius: 5px;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Outfit", sans-serif;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: "Outfit", sans-serif;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

.wp-element-caption {
	text-align: center;
	font-size: 14px;
}

.newsletter-signup-block.alignfull {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--menu-linear-gradient);
	padding: var(--space-30-70) var(--space-15-100);
	min-height: 478px;
}

@media (min-width: 1200px) {
	.newsletter-signup-block.alignfull {
		min-height: 360px;
	}
}

.newsletter-signup-block.alignfull * {
	color: #fff;
	text-align: center;
}

.newsletter-signup-block.alignfull .container {
	position: relative;
}

.newsletter-signup-block.alignfull form input {
	margin-left: -52px;
	text-align: left;
	outline: none;
	color: var(--primary-text-colour);
}

.newsletter-signup-block.alignfull .signup-arrow {
	transition: all 1s ease-out .2s;
	line-height: 0;
	transform: translateX(-50%);
	left: 50%;
}

@media (min-width: 1200px) {
	.newsletter-signup-block.alignfull .signup-arrow {
		transition: all 1s ease-out .2s;
	}
}

.newsletter-signup-block.alignfull .signup-arrow.signup-arrow-1 {
	position: absolute;
	top: calc(50% - 115px - 30px);
	left: 50%;
}

@media (min-width: 1200px) {
	.newsletter-signup-block.alignfull .signup-arrow.signup-arrow-1 {
		right: calc(50% - 100px);
		transform: translateX(50%) translateY(-50%);
		top: calc(50%);
	}
}

.newsletter-signup-block.alignfull .signup-arrow.signup-arrow-1::before {
	content: var(--newsletter-arrow-up);
}

@media (min-width: 1200px) {
	.newsletter-signup-block.alignfull .signup-arrow.signup-arrow-1::before {
		content: var(--newsletter-arrow-right);
	}
}

.newsletter-signup-block.alignfull .signup-arrow.signup-arrow-2 {
	position: absolute;
	bottom: calc(50% - 115px - 30px);
}

@media (min-width: 1200px) {
	.newsletter-signup-block.alignfull .signup-arrow.signup-arrow-2 {
		bottom: unset;
		top: 50%;
		left: calc(50% - 100px);
		transform: translateX(-50%) translateY(-50%);
	}
}

.newsletter-signup-block.alignfull .signup-arrow.signup-arrow-2::before {
	content: var(--newsletter-arrow-down);
}

@media (min-width: 1200px) {
	.newsletter-signup-block.alignfull .signup-arrow.signup-arrow-2::before {
		content: var(--newsletter-arrow-left);
	}
}

.newsletter-signup-block.alignfull .inner-wrapper {
	scale: 1 0;
	overflow: hidden;
	position: relative;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	transition: all 1s ease-out .2s;
}

@media (min-width: 1200px) {
	.newsletter-signup-block.alignfull .inner-wrapper {
		white-space: nowrap;
		scale: unset;
		max-width: 0;
		transition: all 1.5s ease-out .8s;
	}
}

.newsletter-signup-block.alignfull.in-view .inner-wrapper {
	scale: 1 1;
	max-height: 300px;
}

@media (min-width: 1200px) {
	.newsletter-signup-block.alignfull.in-view .inner-wrapper {
		scale: unset;
		max-width: 770px;
	}
}

.newsletter-signup-block.alignfull.in-view .signup-arrow-1 {
	top: calc(-30px - 115px);
}

@media (min-width: 1200px) {
	.newsletter-signup-block.alignfull.in-view .signup-arrow-1 {
		top: 50%;
		right: -50px;
	}
}

.newsletter-signup-block.alignfull.in-view .signup-arrow-2 {
	bottom: calc(-30px - 115px);
}

@media (min-width: 1200px) {
	.newsletter-signup-block.alignfull.in-view .signup-arrow-2 {
		bottom: unset;
		left: -50px;
	}
}

.side-images-text-block {
	max-width: unset !important;
	padding: var(--space-30-50) 15px var(--space-30-70);
	overflow: hidden;
}

@media (min-width: 1024px) {
	.side-images-text-block {
		padding-inline: 0;
	}
}

.side-images-text-block .container {
	display: flex;
	flex-direction: column;
	gap: 30px;
	text-align: center;
	justify-content: center;
}

@media (min-width: 1024px) {
	.side-images-text-block .container {
		flex-direction: row;
		gap: 50px;
	}
}

.side-images-text-block .image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right;
}

@media (min-width: 2660px) {
	.side-images-text-block .image img {
		object-fit: contain;
	}
}

.side-images-text-block .image.right-image img {
	object-position: left;
}

.side-images-text-block .text-area {
	flex-direction: row;
}

@media (min-width: 1024px) {
	.side-images-text-block .text-area {
		flex: 0 0 810px;
		max-width: 100%;
		margin-inline: 0;
	}
}

.side-images-text-block .text-area h2 {
	text-align: center;
	margin-bottom: 50px;
}

.side-images-text-block .text-area p {
	margin-bottom: 15px;
}

.side-images-text-block .text-area p:first-of-type {
	font-size: clamp(20px, calc(20px + (4 * ((100vw - 400px) / 1520))), 24px);
	font-weight: 600;
	line-height: 160%;
}

.side-images-text-block .text-area p:last-of-type {
	margin: 0;
}

.side-images-text-block .text-area .wp-block-button__link {
	margin-top: var(--space-15-50);
	width: fit-content;
}

.side-images-text-block .text-area :last-child {
	margin-bottom: 0;
}

.services-block {
	max-width: unset !important;
	position: relative;
	background: var(--primary-colour-200);
	display: flex;
	flex-direction: column;
	gap: var(--space-30-50);
	padding-top: var(--space-30-50);
	padding-bottom: var(--space-30-70);
}

.services-block h2 {
	margin: 0;
}

.services-block .image-wrap {
	overflow: hidden;
	flex: 0 0 auto;
	line-height: 0;
}

.services-block .services-loop {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

@media (min-width: 768px) {
	.services-block .services-loop {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1200px) {
	.services-block .services-loop {
		grid-template-columns: repeat(4, 1fr);
	}
}

.services-block .services-loop .service-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	width: 100%;
	overflow: hidden;
}

.services-block .services-loop .service-card img:not(.im-freight-logo) {
	width: 100%;
	border-radius: 5px;
	margin-bottom: 20px;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.services-block .services-loop .service-card .image-imf-logo img {
	aspect-ratio: unset;
}

.services-block .services-loop .service-card .content {
	display: flex;
	flex-direction: column;
	height: auto;
	flex: 1;
}

.services-block .services-loop .service-card span {
	margin-top: auto;
}

.services-block .services-loop .service-card:first-of-type h3 {
	position: relative;
	z-index: 1;
}

.services-block .services-loop .service-card:first-of-type h3::before {
	position: absolute;
	content: var(--double-curve);
	bottom: -6px;
	right: 5px;
	z-index: -1;
}

@media (min-width: 1024px) {
	.services-block .services-loop .service-card:first-of-type h3::before {
		bottom: -8px;
	}
}

.services-block .services-loop .service-card:not(.im-freight):last-of-type {
	position: relative;
}

@media (min-width: 1200px) {
	.services-block .services-loop.two-column {
		grid-template-columns: repeat(2, 1fr);
	}
}

.services-block .services-loop.two-column .service-card {
	border-radius: 5px;
	overflow: hidden;
	background: linear-gradient(180deg, #25310b 36.6%, #485f13 100%);
	color: white;
	overflow: hidden;
}

@media (min-width: 1400px) {
	.services-block .services-loop.two-column .service-card {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
}

.services-block .services-loop.two-column .service-card img:not(.im-freight-logo) {
	width: 100%;
	border-radius: 0;
	margin: 0;
}

@media (min-width: 1400px) {
	.services-block .services-loop.two-column .service-card img:not(.im-freight-logo) {
		height: 100%;
		object-fit: cover;
	}
}

.services-block .services-loop.two-column .service-card:not(.im-freight)::after {
	all: unset;
}

.services-block .services-loop.two-column .service-card .content {
	display: flex;
	flex-direction: column;
	padding: var(--space-20-30) var(--space-15-50);
	gap: 20px;
}

@media (min-width: 1400px) {
	.services-block .services-loop.two-column .service-card .content {
		padding-left: 0;
	}
}

.services-block .services-loop.two-column .service-card .content h3 {
	font-size: 32px;
}

.services-block .services-loop.two-column .service-card .content h3::before {
	all: unset;
}

.services-block .services-loop.two-column .service-card .content a:not(.im-freight)::after {
	all: unset;
}

.services-block .services-loop.two-column .service-card .content p {
	font-weight: 400;
	margin-bottom: 0;
}

.services-block .services-loop.two-column .service-card .content p:first-of-type {
	font-size: clamp(20px, calc(20px + (4 * ((100vw - 400px) / 1520))), 24px);
	font-weight: 600;
	line-height: 160%;
}

.services-block .services-loop.two-column .service-card .content p:last-of-type {
	margin: 0;
}

.services-block .services-loop.two-column .service-card .content .wp-block-buttons,
.services-block .services-loop.two-column .service-card .content span.wp-block-button__link {
	margin-top: auto;
	margin-bottom: 0;
}

.services-block .services-loop.two-column .service-card .content .wp-block-buttons .wp-block-button__link:not(.im-freight),
.services-block .services-loop.two-column .service-card .content span.wp-block-button__link .wp-block-button__link:not(.im-freight) {
	color: var(--primary-text-colour);
	background: var(--White, #fff);
}

.services-block .services-loop.two-column .service-card.im-freight {
	position: relative;
	background: #fff;
	color: var(--primary-text-colour);
}

.services-block .services-loop.two-column .service-card.im-freight .im-exp-img {
	position: relative;
}

@media (min-width: 1400px) {
	.services-block .services-loop.two-column .service-card.im-freight .im-exp-img::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background: linear-gradient(180deg in oklch, #001d2f 26.59%, rgba(0, 29, 47, 0) 100%);
	}
}

.services-block .services-loop.two-column .service-card.im-freight .content {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: var(--space-20-30) var(--space-15-50) 30px;
}

@media (min-width: 1400px) {
	.services-block .services-loop.two-column .service-card.im-freight .content {
		padding-left: 0;
	}
}

@media (min-width: 1200px) {
	.services-block .services-loop.two-column .service-card.im-freight .content ul {
		flex-direction: column;
	}
}

@media (min-width: 1200px) {
	.services-block .services-loop.two-column .service-card.im-freight .content ul li {
		width: fit-content;
	}
}

.services-block .services-loop.two-column .service-card.im-freight .content h3 {
	margin: 0;
}

.services-block .services-loop.two-column .service-card.im-freight .content p:first-of-type {
	all: unset;
}

@media (min-width: 1400px) {
	.services-block .services-loop.two-column .service-card.im-freight .content .image-imf-logo {
		position: absolute;
		left: clamp(15px, calc(15px + (27 * ((100vw - 1400px) / 520))), 9999px);
	}
}

@media (min-width: 1400px) {
	.services-block .services-loop.two-column .service-card.im-freight .content .image-imf-logo .mobile {
		display: none;
	}
}

.services-block .services-loop.two-column .service-card.im-freight .content .image-imf-logo .desktop {
	display: none;
}

@media (min-width: 1400px) {
	.services-block .services-loop.two-column .service-card.im-freight .content .image-imf-logo .desktop {
		display: block;
	}
}

@media (min-width: 1400px) {
	.services-block .services-loop.two-column .service-card.im-freight .content .image-imf-logo .desktop img {
		margin: 0;
		width: clamp(290px, calc(290px + (60 * ((100vw - 1400px) / 520))), 9999px);
	}
}

.services-block .all-services {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.services-block .all-services {
		width: fit-content;
		position: absolute;
		top: var(--space-30-50);
		right: var(--space-15-50);
	}
}

.services-block .im-freight-forwarding {
	position: relative;
	border-radius: 5px;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 20px;
	overflow: hidden;
}

@media (min-width: 1024px) {
	.services-block .im-freight-forwarding {
		flex-direction: row;
		gap: 0;
		margin-top: var(--space-15-50);
	}
}

.services-block .im-freight-forwarding * {
	margin: 0;
}

.services-block .im-freight-forwarding img:not(.im-freight-logo) {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (min-width: 1024px) {
	.services-block .im-freight-forwarding img:not(.im-freight-logo) {
		width: 432px;
	}
}

.services-block .im-freight-forwarding .content {
	padding: 0 var(--space-15-30) 40px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 898px;
}

@media (min-width: 1024px) {
	.services-block .im-freight-forwarding .content {
		padding-bottom: 30px;
		padding-top: var(--space-20-30);
		justify-content: space-between;
	}
}

.services-block .im-freight-forwarding .im-freight-logo {
	padding: 0 var(--space-15-50) 20px;
}

@media (min-width: 1024px) {
	.services-block .im-freight-forwarding .im-freight-logo {
		position: absolute;
		right: 50px;
		bottom: 30px;
		padding: 0;
		width: 170px;
	}
}

@media (min-width: 1200px) {
	.services-block .im-freight-forwarding .im-freight-logo {
		all: unset;
		margin-left: auto;
		width: 350px;
		padding-right: var(--space-15-50);
	}
}

.wp-block-button__link.im-freight {
	background: #001d2f;
}

.wp-block-button__link.im-freight::after {
	content: url("./images/imff-button-icon.svg");
}

.wp-block-button__link.im-freight.im-export-banner {
	background: #25310b;
}

.wp-block-button__link.im-freight.im-export-banner::after {
	content: url("./images/button-icon.svg");
}

.services-loop:not(.two-column) .service-card .image-wrap {
	margin-bottom: 20px;
	line-height: 0;
	overflow: hidden;
	border-radius: 5px;
	flex: 0 0 auto;
}

.services-loop:not(.two-column) .service-card img:not(.im-freight-logo) {
	transition: all 0.2s linear;
	margin: 0;
}

.services-loop:not(.two-column) .service-card:hover img:not(.im-freight-logo) {
	scale: 1.03;
}

.news-media-block {
	padding: var(--space-30-50) var(--space-15-50) var(--space-30-70);
	position: relative;
}

@media (min-width: 1600px) {
	.news-media-block {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 50px 30px;
	}
}

.news-media-block .news-media-block-header {
	grid-column: span 2;
}

@media (min-width: 1600px) {
	.news-media-block .news-media-block-header * {
		margin: 0;
	}
}

.news-media-block .news-loop {
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 20px;
	gap: 30px;
}

@media (min-width: 768px) {
	.news-media-block .news-loop {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1400px) {
	.news-media-block .news-loop {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (min-width: 1600px) {
	.news-media-block .news-loop {
		grid-template-columns: repeat(2, 1fr);
		margin-bottom: 0;
	}
}

.news-media-block .wp-block-buttons.header {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: fit-content;
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.news-media-block .wp-block-buttons.header {
		flex-direction: row;
		gap: 20px;
	}
}

@media (min-width: 1024px) {
	.news-media-block .wp-block-buttons.header {
		position: absolute;
		top: var(--space-30-50);
		right: var(--space-15-50);
	}
}

.news-media-block .wp-block-buttons.header .wp-block-button {
	width: fit-content;
}

.nm-video-wrap {
	position: relative;
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 20px;
}

@media (min-width: 1600px) {
	.nm-video-wrap {
		height: 100%;
	}
}

.nm-video-wrap .nm-video {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

@media (min-width: 1600px) {
	.nm-video-wrap .nm-video {
		height: 100%;
	}
}

.nm-video-wrap .nm-video > div {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
}

.nm-video-wrap .nm-video iframe,
.nm-video-wrap .nm-video video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nm-video-wrap button:not([class^="cky"]) {
	all: unset;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 150px;
	background: var(--gradient);
	width: clamp(75px, calc(75px + (75 * ((100vw - 400px) / 1520))), 150px);
	height: clamp(75px, calc(75px + (75 * ((100vw - 400px) / 1520))), 150px);
	gap: 15px;
}

.nm-video-wrap button:not([class^="cky"])::after {
	all: unset;
	font-family: 'Font Awesome 7 Sharp';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	font-size: clamp(36px, calc(36px + (36 * ((100vw - 400px) / 1520))), 72px);
	font-weight: 900;
}

.nm-video-wrap button:not([class^="cky"]):focus {
	color: var(--citroen-green-800);
}

.nm-video-wrap button:not([class^="cky"])[aria-label=play-video]::after {
	content: '\f04b';
	margin-left: 6px;
}

.nm-video-wrap button:not([class^="cky"]):hover::after {
	transform: translateX(-50%);
}

.nm-video-wrap:has(.is-playing) button {
	opacity: 0;
	transition: opacity 0.3s ease;
}

.text-video-block {
	display: grid;
	gap: var(--space-20-50);
	padding-bottom: var(--space-30-70);
	padding-top: var(--space-30-50);
}

@media (min-width: 1024px) {
	.text-video-block {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1024px) {
	.text-video-block .content {
		padding: var(--space-15-50);
	}
}

.text-video-block .content :last-child {
	margin-bottom: 0;
}

.text-video-block .content .text {
	margin-bottom: 20px;
}

.text-video-block .content .text :last-child {
	margin: 0;
}

.text-video-block .content .text p:first-of-type {
	font-size: 1.25rem;
	font-weight: 600;
}

.text-video-block .video {
	max-width: 100%;
	grid-row-start: 1;
	aspect-ratio: 370 / 277;
	margin: 0;
}

@media (min-width: 1024px) {
	.text-video-block .video {
		aspect-ratio: 855 / 664;
		grid-row-start: unset;
	}
}

.text-video-block .video video {
	height: 100%;
}

.im-freight-block {
	background-color: #fff;
	padding: var(--space-30-50) var(--space-15-50) var(--space-30-70);
}

.im-freight-block .container {
	overflow: hidden;
	border-radius: 5px;
	display: grid;
	gap: 20px;
}

@media (min-width: 1024px) {
	.im-freight-block .container {
		grid-template-columns: repeat(2, 1fr);
		gap: 0;
	}
}

.im-freight-block .container .content {
	display: flex;
	flex-direction: column;
	gap: var(--space-20-30);
}

@media (min-width: 1024px) {
	.im-freight-block .container .content {
		padding: var(--space-15-50);
	}
}

.im-freight-block .container .content * {
	margin: 0;
}

.im-freight-block .container .content .im-freight-logo {
	margin-top: var(--space-20-50);
	max-width: 380px;
}

.im-freight-block .container img {
	grid-row-start: 1;
	width: 100%;
	border-radius: 5px;
}

@media (min-width: 1024px) {
	.im-freight-block .container img {
		grid-row-start: unset;
	}
}

.meet-team-block .team-members {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-20-30);
	padding-bottom: var(--space-30-70);
}

@media (min-width: 599px) {
	.meet-team-block .team-members {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.meet-team-block .team-members {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1400px) {
	.meet-team-block .team-members {
		grid-template-columns: repeat(4, 1fr);
	}
}

.meet-team-block .team-members .team-member {
	padding: var(--space-15-30);
	border-radius: 5px;
	background: var(--primary-colour-200, #C4E3A2);
}

.meet-team-block .team-members .team-member.has-flourish {
	position: relative;
	z-index: 1;
}

.meet-team-block .team-members .team-member.has-flourish::after {
	position: absolute;
	bottom: calc(-1 * var(--space-20-50));
	right: calc(-1 * var(--space-20-30) + 8px);
	content: var(--double-curve);
	z-index: -1;
}

.meet-team-block .team-members .team-member img {
	width: 100%;
	display: block;
	margin-bottom: var(--space-10-20);
	border-radius: 50%;
	overflow: hidden;
	aspect-ratio: 1;
	object-fit: cover;
}

.meet-team-block .team-members .team-member h3,
.meet-team-block .team-members .team-member p {
	margin-bottom: 0;
}

.meet-team-block .team-members .filler {
	display: none;
	place-self: center;
}

@media (min-width: 1200px) {
	.meet-team-block .team-members .filler {
		display: block;
	}
}

@media (min-width: 1400px) {
	.meet-team-block .team-members .filler {
		grid-column: span 2;
	}
}

.child-pages-block {
	padding: var(--space-30-50) var(--space-15-50) var(--space-30-70);
	background: var(--primary-colour-200, #c4e3a2);
}

.child-pages-block h2 {
	position: relative;
	width: fit-content;
	z-index: 10;
	padding-right: 60px;
}

.child-pages-block h2::after {
	position: absolute;
	top: 0;
	right: var(--space-15-30);
	content: var(--arrow-flourish);
	transform: translateY(0) translateX(0);
}

@media (min-width: 599px) {
	.child-pages-block h2::after {
		transform: translateY(0) translateX(100%);
	}
}

.child-pages-block .service-grid {
	display: grid;
	gap: var(--space-20-30);
}

@media (min-width: 768px) {
	.child-pages-block .service-grid {
		grid-auto-rows: 1fr;
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1400px) {
	.child-pages-block .service-grid > *:last-child:nth-child(odd) {
		grid-column: span 2;
	}
}

@media (min-width: 1400px) {
	.child-pages-block .service-grid > *:last-child:nth-child(odd) a {
		width: 100%;
		grid-template-columns: clamp(200px, calc(200px + (200 * ((100vw - 400px) / 1520))), 9999px) 1fr;
	}
}

.child-pages-block .service-grid article {
	display: flex;
	position: relative;
	border-radius: 5px;
	background: var(--primary-colour-100, #e0f1cd);
	padding: 30px var(--space-15-30) var(--space-20-30);
}

.child-pages-block .service-grid article:first-of-type::after {
	position: absolute;
	top: 30px;
	right: var(--space-15-30);
	transform: translateY(-100%);
}

.child-pages-block .service-grid article a {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-20-30);
}

@media (min-width: 1400px) {
	.child-pages-block .service-grid article a {
		display: grid;
		grid-template-columns: clamp(200px, calc(200px + (200 * ((100vw - 400px) / 1520))), 9999px) auto;
	}
}

.child-pages-block .service-grid article a img {
	border-radius: 5px;
	width: 100%;
	height: auto;
	align-self: center;
	aspect-ratio: 4 / 3;
}

.child-pages-block .service-grid article a .content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
}

@media (min-width: 768px) {
	.child-pages-block .service-grid article a .content {
		padding-right: 20px;
	}
}

.child-pages-block .service-grid article a .content * {
	margin: 0;
}

.latest-news-block {
	position: relative;
	padding: var(--space-30-50) var(--space-15-50) var(--space-30-70);
}

.latest-news-block h2 {
	margin-bottom: var(--space-20-40);
}

.latest-news-block .pills {
	margin-bottom: var(--space-20-50);
}

.latest-news-block .pills li {
	background: var(--primary-colour-200, #C4E3A2);
}

.latest-news-block .news-loop {
	display: grid;
	gap: var(--space-20-30);
	margin-bottom: var(--space-20-30);
}

@media (min-width: 768px) {
	.latest-news-block .news-loop {
		grid-template-columns: repeat(2, 1fr);
		margin-bottom: 0;
	}
}

@media (min-width: 1200px) {
	.latest-news-block .news-loop {
		grid-template-columns: repeat(3, 1fr);
	}
}

.latest-news-block .news-loop article {
	display: flex;
}

@media (min-width: 768px) {
	.latest-news-block .news-loop article:last-of-type {
		grid-column: span 2;
	}
}

@media (min-width: 1200px) {
	.latest-news-block .news-loop article:last-of-type {
		grid-column: span 1;
	}
}

@media (min-width: 768px) {
	.latest-news-block .news-loop article:last-of-type a img {
		aspect-ratio: 21 / 9;
	}
}

@media (min-width: 1200px) {
	.latest-news-block .news-loop article:last-of-type a img {
		aspect-ratio: revert-layer;
	}
}

.latest-news-block .news-loop article a {
	height: 100%;
}

.latest-news-block .news-loop article a img {
	object-fit: cover;
}

.latest-news-block .wp-block-buttons {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.latest-news-block .wp-block-buttons {
		width: fit-content;
		position: absolute;
		top: var(--space-30-50);
		right: var(--space-15-50);
	}
}

.downloads-block {
	padding-top: var(--space-30-50);
	padding-bottom: var(--space-30-70);
}

.downloads-block .download-cards {
	display: grid;
	gap: var(--space-20-30);
}

@media (min-width: 768px) {
	.downloads-block .download-cards {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1200px) {
	.downloads-block .download-cards {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

@media (min-width: 1600px) {
	.downloads-block .download-cards {
		grid-template-columns: repeat(4, 1fr);
	}
}

.downloads-block .news-card.download {
	aspect-ratio: 4 / 3;
	gap: 0;
}

.downloads-block .news-card.download h4 {
	margin-bottom: 10px;
}

.downloads-block .news-card.download h3 {
	margin-bottom: var(--space-20-30);
}

.downloads-block .wp-block-button__link::after {
	background: var(--gradient, linear-gradient(259deg, #96c11e 20%, #8cc250 75.7%));
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.gallery-block {
	background: var(--primary-colour-200, #c4e3a2);
	padding: var(--space-30-50) var(--space-15-50) var(--space-30-70);
}

@media (min-width: 1200px) {
	.gallery-block {
		display: grid;
		grid-template-columns: 3fr 1fr;
		gap: 0 var(--space-15-30);
	}
}

.gallery-block h2 {
	grid-column: span 2;
}

.gallery-block .gallery-swiper {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	height: fit-content;
}

.gallery-block .gallery-swiper .gallery-image {
	width: 100%;
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.gallery-block .gallery-swiper .swiper-controls {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-content: start;
	margin-top: 10px;
}

.gallery-block .gallery-swiper .swiper-controls .swiper-button-prev,
.gallery-block .gallery-swiper .swiper-controls .swiper-button-next {
	all: unset;
}

.gallery-block .gallery-swiper .swiper-controls .swiper-button-prev,
.gallery-block .gallery-swiper .swiper-controls .swiper-button-next,
.gallery-block .gallery-swiper .swiper-controls .open-lightbox {
	all: unset;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	border-radius: 60px;
	width: clamp(40px, calc(40px + (20 * ((100vw - 400px) / 1520))), 60px);
	height: clamp(40px, calc(40px + (20 * ((100vw - 400px) / 1520))), 60px);
	background: var(--icons-colour);
	cursor: pointer;
}

.gallery-block .gallery-swiper .swiper-controls .swiper-button-prev:hover::after,
.gallery-block .gallery-swiper .swiper-controls .swiper-button-next:hover::after,
.gallery-block .gallery-swiper .swiper-controls .open-lightbox:hover::after {
	transform: unset;
}

.gallery-block .gallery-swiper .swiper-controls .swiper-button-prev::after,
.gallery-block .gallery-swiper .swiper-controls .swiper-button-next::after,
.gallery-block .gallery-swiper .swiper-controls .open-lightbox::after {
	font-family: 'Font Awesome 7 Sharp';
	color: var(--primary-text-colour, #232415);
	font-size: clamp(18px, calc(18px + (11 * ((100vw - 400px) / 1520))), 29px);
	font-weight: 900;
}

.gallery-block .gallery-swiper .swiper-controls .swiper-button-prev::after {
	content: "\f060";
}

.gallery-block .gallery-swiper .swiper-controls .swiper-button-next::after {
	content: "\f061";
}

.gallery-block .gallery-swiper .swiper-controls .open-lightbox {
	margin-left: auto;
}

.gallery-block .gallery-swiper .swiper-controls .open-lightbox::after {
	content: "\f065";
}

.gallery-block .gallery-swiper .swiper-controls .swiper-count {
	margin: 0;
	color: #000;
}

.gallery-block .thumbs-swiper {
	display: none;
	width: 100%;
}

@media (min-width: 1200px) {
	.gallery-block .thumbs-swiper {
		display: block;
	}
}

.gallery-block .thumbs-swiper .swiper-slide {
	opacity: 0.4;
	cursor: pointer;
}

.gallery-block .thumbs-swiper .swiper-slide-thumb-active {
	opacity: 1;
}

.gallery-block .thumbs-swiper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.swiper img {
	border-radius: 5px;
}

.glightbox-clean .goverlay {
	background: rgba(0, 0, 0, 0.9);
}

.glightbox-clean button.gclose,
.glightbox-clean button.gprev,
.glightbox-clean button.gnext {
	color: var(--primary-text-colour);
	display: flex;
	flex: 1 1 auto;
	justify-content: center;
	align-items: center;
	border-radius: 60px;
	width: clamp(40px, calc(40px + (20 * ((100vw - 400px) / 1520))), 60px);
	height: clamp(40px, calc(40px + (20 * ((100vw - 400px) / 1520))), 60px);
	cursor: pointer;
	min-height: unset;
	max-height: unset;
	background-color: var(--icons-colour);
	opacity: 0.7;
}

.glightbox-clean button.gclose:hover,
.glightbox-clean button.gprev:hover,
.glightbox-clean button.gnext:hover {
	background-color: var(--primary-colour-400);
	opacity: 1;
}

.glightbox-clean button.gclose:hover::after,
.glightbox-clean button.gprev:hover::after,
.glightbox-clean button.gnext:hover::after {
	transform: none;
}

.glightbox-clean button.gclose svg,
.glightbox-clean button.gprev svg,
.glightbox-clean button.gnext svg {
	display: none;
}

.glightbox-clean button.gclose::after,
.glightbox-clean button.gprev::after,
.glightbox-clean button.gnext::after {
	font-family: 'Font Awesome 7 Sharp';
	content: "\f060";
}

.glightbox-clean button.gclose::after {
	content: "\f00d";
}

.glightbox-clean button.gnext::after {
	content: "\f061";
}

.videos-block {
	background: var(--primary-colour-200, #c4e3a2);
	padding: var(--space-30-50) var(--space-15-50) var(--space-30-70);
}

.videos-grid {
	display: grid;
	gap: var(--space-20-30);
}

@media (min-width: 1024px) {
	.videos-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1024px) {
	.videos-grid .video-feature {
		grid-column: 1;
	}
}

.videos-grid .video-stack {
	display: grid;
	gap: var(--space-20-30);
	align-content: start;
}

@media (min-width: 768px) {
	.videos-grid .video-stack {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1400px) {
	.videos-grid .video-stack {
		grid-column: 2;
	}
}

.videos-grid .video-card {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: 5px;
	aspect-ratio: 16 / 9;
}

.videos-grid .video-card .js-video {
	height: 100%;
	width: 100%;
}

.videos-grid .video-card iframe,
.videos-grid .video-card video {
	width: 100%;
	height: 100%;
	border-radius: 5px;
	object-fit: cover;
	display: block;
}

.videos-grid .video-card .play {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	transition: transform 0.15s ease-out, opacity 0.15s ease-out;
	opacity: 0.9;
}

.custom-player {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
}

.play-toggle:not([class^="cky"]) {
	all: unset;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 150px;
	background: var(--gradient, linear-gradient(135deg, #8bc34a, #4caf50));
	width: clamp(75px, calc(75px + (75 * ((100vw - 400px) / 1520))), 150px);
	height: clamp(75px, calc(75px + (75 * ((100vw - 400px) / 1520))), 150px);
	cursor: pointer;
}

.play-toggle:not([class^="cky"])::after {
	margin-left: 2px;
	font-family: 'Font Awesome 7 Sharp';
	font-weight: 900;
	content: "\f04b";
	/* play */
	font-size: clamp(36px, calc(36px + (36 * ((100vw - 400px) / 1520))), 72px);
	color: var(--primary-text-colour);
	margin-left: 12px;
}

.play-toggle:not([class^="cky"]) [aria-label="pause-video"]::after {
	content: "\f04c";
	margin-left: 0;
}

.custom-player.is-playing .play-toggle {
	opacity: 0;
	pointer-events: none;
}

/* Optional hover reveal while paused */
.custom-player:not(.is-playing) .play-toggle {
	opacity: 1;
}

.js-video.is-playing + .play-toggle {
	opacity: 0;
	pointer-events: none;
}

.video-ui {
	position: absolute;
	inset: 0;
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	transition: opacity 0.2s;
}

.custom-player:hover .video-ui {
	opacity: 1;
	pointer-events: auto;
}

.location-block {
	padding: var(--space-30-50) var(--space-15-50) var(--space-30-70);
	display: grid;
	gap: var(--space-20-50);
}

@media (min-width: 1024px) {
	.location-block {
		grid-template-columns: repeat(2, 1fr);
	}
}

.location-block .image {
	line-height: 0;
	overflow: hidden;
	border-radius: 5px;
}

.location-block .image img {
	width: 100%;
}

.location-block .map {
	overflow: hidden;
	border-radius: 5px;
	aspect-ratio: 1;
}

@media (min-width: 1024px) {
	.location-block .map {
		aspect-ratio: revert-layer;
	}
}

/* Elements
--------------------------------------------- */
.site-header {
	width: 100%;
	padding: var(--space-15-50) var(--space-15-50) clamp(15px, calc(15px + (10 * ((100vw - 400px) / 1520))), 25px);
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: sticky;
	top: 0;
	z-index: 20;
	transition: padding 0.5s ease;
	background: transparent;
}

.site-header.scrolled {
	background: var(--header-bg);
	padding: 10px var(--space-15-50);
}

@media (min-width: 1024px) {
	.site-header.scrolled {
		padding: 5px var(--space-15-50);
	}
}

.header-logo {
	padding-top: 4px;
	display: flex;
	align-items: center;
	line-height: 0;
}

.header-logo.desktop {
	display: none;
}

@media (min-width: 599px) {
	.header-logo.desktop {
		display: block;
		width: 170px;
	}
}

.header-logo.desktop a {
	line-height: 0;
}

@media (min-width: 599px) {
	.header-logo.mobile {
		display: none;
	}
}

.menu-toggle-container .menu-toggle {
	all: unset;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
	background: var(--gradient);
	width: 48px;
	height: 48px;
	line-height: 0;
	font-size: 0;
}

.menu-toggle-container .menu-toggle i {
	font-size: clamp(18px, calc(18px + (6 * ((100vw - 400px) / 1520))), 24px);
	color: var(--primary-text-colour);
}

.menu-toggle-container .menu-toggle::after {
	all: unset;
}

.menu-toggle-container.close button {
	display: flex;
	gap: 10px;
	align-items: center;
}

@media (min-width: 599px) {
	.menu-toggle-container.close button {
		font-size: 18px;
		width: fit-content;
		padding: 0 20px;
	}
}

.menu-toggle-container.close button i {
	font-size: 24px;
}

.menu-toggle-container.close button span {
	display: none;
}

@media (min-width: 599px) {
	.menu-toggle-container.close button span {
		display: block;
		color: var(--primary-text-colour);
		font-size: 18px;
		font-weight: 700;
	}
}

.entry-header {
	position: relative;
	background: var(--secondary-colour-900);
	padding-bottom: clamp(30px, calc(30px + (20 * ((100vw - 400px) / 1520))), 50px);
	padding-top: clamp(15px, calc(15px + (10 * ((100vw - 400px) / 1520))), 25px);
}

.entry-header:after {
	position: absolute;
	bottom: 50%;
	right: 0;
	transform: translateY(50%);
	display: block;
	content: "";
	width: 100%;
	aspect-ratio: 400 / 340;
	background: url("./images/footer-watermark.svg") no-repeat;
	background-size: cover;
	pointer-events: none;
}

@media (min-width: 1024px) {
	.entry-header:after {
		width: 50%;
	}
}

.entry-header h1 {
	color: #fff;
}

.entry-header .breadcrumbs {
	margin-bottom: 20px;
}

.entry-header .breadcrumbs span,
.entry-header .breadcrumbs a {
	color: var(--primary-colour-100);
	text-transform: uppercase;
	font-weight: 700;
}

.entry-header .breadcrumbs .separator::before {
	content: "";
	background: var(--button-icon);
	background-size: 12px 14px;
	width: 12px;
	height: 14px;
	display: inline-block;
	margin: 0 5px;
	vertical-align: middle;
}

body {
	background: linear-gradient(var(--secondary-colour-900), var(--secondary-colour-900)) 0 0/100% 200px no-repeat, var(--primary-colour-100);
	scroll-padding-top: var(--header-h);
}

footer {
	overflow: hidden;
}

footer ul:not(.pills) {
	padding-left: 0 !important;
	margin-left: 0;
	list-style: none;
}

footer ul:not(.pills) li {
	list-style: none;
	display: flex;
}

footer a:hover {
	color: var(--secondary-colour-400) !important;
}

footer .certifications {
	background: var(--secondary-colour-800);
	padding: var(--space-30-70) var(--space-15-50);
}

footer .certifications * {
	color: #fff;
}

footer .certifications p {
	margin-bottom: 30px;
}

@media (min-width: 1600px) {
	footer .certifications p {
		margin: 0;
	}
}

footer .certifications .certs {
	display: grid;
	grid-template-columns: 1fr auto;
	justify-content: space-between;
}

@media (min-width: 1200px) {
	footer .certifications .certs {
		grid-template-columns: 1fr 2fr;
		gap: 50px;
	}
}

@media (min-width: 1920px) {
	footer .certifications .certs {
		grid-template-columns: 1fr 3fr;
	}
}

footer .certifications .cert-heading {
	grid-column: span 2;
	margin-bottom: 30px;
}

@media (min-width: 1200px) {
	footer .certifications .cert-heading {
		grid-column: span 1;
		margin-bottom: 0;
	}
}

footer .certifications .cert-heading h2 {
	margin-bottom: 20px;
}

footer .certifications .cert-heading p {
	margin-bottom: 0;
}

footer .certifications .certs-container {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 2fr;
	align-items: center;
	gap: 20px;
	justify-content: flex-start;
}

@media (min-width: 768px) {
	footer .certifications .certs-container {
		gap: 30px;
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1200px) {
	footer .certifications .certs-container {
		grid-template-columns: repeat(6, auto);
		height: auto;
		gap: 30px;
		justify-content: space-between;
	}
}

footer .certifications .certs-container .cert {
	display: flex;
	justify-content: start;
	position: relative;
	height: clamp(116px, calc(116px + (44 * ((100vw - 400px) / 1520))), 160px);
}

@media (min-width: 768px) {
	footer .certifications .certs-container .cert {
		justify-content: center;
	}
}

footer .certifications .certs-container .cert .iso-image {
	width: fit-content;
}

footer .certifications .certs-container .cert img {
	border-radius: 5px;
	overflow: hidden;
	object-fit: contain;
	height: 100% !important;
}

footer .main-footer {
	padding: var(--space-40-100) var(--space-15-50) var(--space-20-30);
	background: var(--secondary-colour-900) url("./images/footer-watermark.svg");
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center calc(100% - 86px);
}

@media (min-width: 1024px) {
	footer .main-footer {
		background-size: calc(50% - 100px) auto;
		background-position: calc(100% - var(--space-15-50)) center;
	}
}

footer .main-footer * {
	color: #fff;
}

@media (min-width: 1024px) {
	footer .main-footer .footer-header {
		margin-bottom: var(--space-30-80);
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}

@media (min-width: 1024px) {
	footer .main-footer .footer-header .custom-logo {
		height: 200px;
		margin-bottom: 0;
	}
}

footer .main-footer .footer-header .subscribe {
	margin-bottom: 60px;
	max-width: 460px;
}

@media (min-width: 1024px) {
	footer .main-footer .footer-header .subscribe {
		margin-bottom: 0;
	}
}

@media (min-width: 1200px) {
	footer .main-footer .footer-header .subscribe {
		max-width: 760px;
	}
}

footer .main-footer .footer-header .subscribe h3 {
	text-align: center;
}

@media (min-width: 1024px) {
	footer .main-footer .footer-3-column {
		margin-bottom: var(--space-30-80);
		display: grid;
		grid-template-columns: repeat(3, auto);
		gap: clamp(50px, calc(50px + (20 * ((100vw - 1024px) / 896))), 70px);
	}
}

@media (min-width: 1024px) and (min-width: 1400px) {
	footer .main-footer .footer-3-column {
		grid-template-columns: repeat(3, max-content);
		gap: clamp(70px, calc(70px + (50 * ((100vw - 1400px) / 520))), 120px);
	}
}

footer .main-footer .contact h3,
footer .main-footer .information-nav h3,
footer .main-footer .connect h3 {
	margin-bottom: clamp(10px, calc(10px + (5 * ((100vw - 400px) / 1520))), 15px);
}

footer .main-footer .information-nav,
footer .main-footer .small-print {
	margin-bottom: 60px;
}

@media (min-width: 1024px) {
	footer .main-footer .information-nav,
	footer .main-footer .small-print {
		margin: 0;
	}
}

footer .main-footer .information-nav ul,
footer .main-footer .small-print ul {
	all: unset;
	display: grid;
	gap: 10px clamp(30px, calc(30px + (50 * ((100vw - 400px) / 1520))), 80px);
	grid-template-columns: 1fr 1fr;
}

@media (min-width: 599px) {
	footer .main-footer .information-nav ul,
	footer .main-footer .small-print ul {
		grid-template-columns: repeat(2, max-content);
	}
}

@media (min-width: 1024px) {
	footer .main-footer .information-nav ul.terms-menu,
	footer .main-footer .small-print ul.terms-menu {
		display: flex;
		gap: 10px;
	}
}

@media (min-width: 1024px) and (min-width: 1920px) {
	footer .main-footer .information-nav ul.terms-menu,
	footer .main-footer .small-print ul.terms-menu {
		gap: 20px;
	}
}

footer .main-footer .information-nav ul li,
footer .main-footer .small-print ul li {
	all: unset;
}

footer .main-footer .information-nav ul li::before,
footer .main-footer .small-print ul li::before {
	content: none;
}

footer .main-footer .information-nav ul li a,
footer .main-footer .small-print ul li a {
	all: unset;
	cursor: pointer;
}

@media (min-width: 1600px) {
	footer .main-footer .small-print {
		display: flex;
		justify-content: space-between;
	}
}

footer .main-footer .small-print ul li a {
	font-size: 16px;
}

@media (min-width: 1024px) {
	footer .main-footer .information-nav {
		grid-row-start: 1;
		grid-column-start: 2;
	}
}

footer .main-footer .information-nav ul li a {
	font-size: clamp(16px, calc(16px + (2 * ((100vw - 400px) / 1520))), 18px);
	font-weight: 700;
}

@media (min-width: 1024px) {
	footer .main-footer .connect {
		grid-column-start: 3;
	}
}

footer .main-footer .small-print {
	margin-bottom: 0;
}

footer .main-footer .small-print p {
	margin-bottom: 0;
	font-size: 16px;
}

footer .main-footer .small-print ul {
	margin-bottom: 20px;
}

@media (min-width: 1600px) {
	footer .main-footer .small-print ul {
		margin-bottom: 0;
	}
}

.contact {
	margin-bottom: 60px;
}

@media (min-width: 1024px) {
	.contact {
		margin: 0;
	}
}

.contact ul {
	all: unset;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.contact ul li {
	gap: 15px;
	font-weight: 700;
	line-height: 168.75%;
	align-items: center;
}

.contact ul li::before {
	top: unset;
	font-family: 'Font Awesome 7 Sharp';
	color: var(--icons-colour);
	font-size: 20px;
	font-weight: 900;
}

.contact ul li.address::before {
	content: '\f494';
	align-self: flex-start;
	margin-top: 2px;
}

.contact ul li.phone {
	gap: 20px;
}

.contact ul li.phone::before {
	content: '\f095';
}

.contact ul li.email {
	gap: 20px;
}

.contact ul li.email::before {
	content: '\f0e0';
}

.contact ul li address {
	margin: 0;
	font-style: normal;
}

.contact ul li a {
	text-decoration: none;
}

.connect {
	margin-bottom: 60px;
}

.connect h3 {
	margin-bottom: 10px;
}

.connect ul {
	all: unset;
	display: flex;
	gap: 20px;
}

.connect ul li::before {
	content: none;
}

.connect ul li a {
	text-decoration: none;
	font-size: 0;
}

.connect ul li a::before {
	font-family: "Font Awesome 7 Brands";
	color: var(--icons-colour);
	font-size: 30px;
	font-weight: 400;
}

.connect ul li a.linkedin::before {
	content: '\f08c';
}

.connect ul li a.facebook::before {
	content: '\f09a';
}

.connect ul li a.instagram::before {
	content: '\f16d';
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 20px 30px;
}

@media (min-width: 1920px) {
	ul,
	ol {
		margin-bottom: 30px;
	}
}

ul {
	padding-left: 35px !important;
	margin-left: 10px;
}

@media (min-width: 1024px) {
	ul {
		padding-left: 25px !important;
	}
}

ul.wp-block-list {
	padding-left: 30px !important;
}

@media (min-width: 1024px) {
	ul.wp-block-list {
		padding-left: 60px !important;
	}
}

ul.pills {
	all: unset;
	display: flex;
	gap: 10px;
	flex-flow: row wrap;
	padding: 0 !important;
	padding-left: 0 !important;
}

ul.pills li {
	all: unset;
	padding: 5px 14px;
	border-radius: 50px;
	background: #e0f2fe;
}

ul.pills li::before {
	content: none;
}

ul.pills li a {
	text-decoration: none;
	font-weight: 700;
}

ul.pills.im-export-banner li {
	background: #e0f1cd;
}

ul.is-style-checklist {
	margin-left: 0;
	padding: 0;
}

ul.is-style-checklist li {
	margin-left: 0;
	padding: 0;
	list-style: none;
	display: flex;
	gap: 8px;
	align-items: start;
}

ul.is-style-checklist li strong,
ul.is-style-checklist li a {
	display: contents;
}

ul.is-style-checklist li::before {
	all: unset;
	flex: 0 0 auto;
	content: url(./images/checklist.svg);
	display: block;
	width: 18px;
	height: 18px;
	margin-top: 2px;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

.wp-block-table {
	display: block;
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: #96c11e #fff;
	scroll-padding-inline: 20px;
}

.wp-block-table table {
	width: 100%;
	min-width: 800px;
	margin: 0 15px 20px 0;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--primary-colour-500);
	border-radius: 10px;
	overflow: hidden;
}

@media (min-width: 1024px) {
	.wp-block-table table {
		margin-right: 0;
		margin-bottom: 30px;
		min-width: unset;
	}
}

.wp-block-table table thead {
	border-bottom: none;
}

.wp-block-table table td,
.wp-block-table table th {
	min-width: 200px;
	word-break: break-word;
	border: 1px solid var(--primary-colour-500);
	border-width: 1px 1px 0 0;
}

.wp-block-table table tr th:last-child,
.wp-block-table table tr td:last-child {
	border-right: 0;
}

.wp-block-table table tbody tr:last-child td,
.wp-block-table table thead:last-child tr:last-child th {
	border-bottom: 0;
}

.wp-block-table table thead:first-child tr:first-child th {
	border-top: 0;
}

.wp-block-columns {
	gap: 30px;
}

.wp-block-column ul,
.wp-block-column ol {
	margin-left: 0;
	padding-left: 25px;
}

.wp-block-column ul {
	padding-left: 8px;
}

.wp-block-column :last-child {
	margin-bottom: 0;
}

.contact-form-block {
	background: var(--gradient);
	padding: var(--space-30-50) var(--space-15-50) var(--space-30-70);
}

.contact-form-block > * {
	margin-inline: auto;
	max-width: 760px;
}

.contact-form-block p.lede,
.contact-form-block h2,
.contact-form-block h3 {
	text-align: center;
}

.contact-form-block p.lede {
	margin-bottom: var(--space-20-30);
}

.contact-form-block h2 {
	margin-bottom: 20px;
}

@media (min-width: 768px) {
	.contact-form-block .columns {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
}

@media (min-width: 1024px) {
	body:has(.scrolled) #js-free-site-survey-form {
		max-height: 0;
	}
}

@media (min-width: 1024px) {
	body:has(.scrolled) #js-free-site-survey-form.is-open {
		max-height: 670px;
	}
}

#js-free-site-survey-form {
	overflow: hidden;
	z-index: 5000;
	border-radius: 5px 0 0 0;
	max-height: 0;
	position: absolute;
	right: 0;
	bottom: 0;
	transition: max-height 0.5s ease-out;
	background-color: var(--icons-colour);
	max-width: 500px;
}

#js-free-site-survey-form input::placeholder {
	color: var(--primary-text-colour);
	font-size: 16px;
	font-weight: 400;
}

#js-free-site-survey-form .container {
	display: flex;
	flex-direction: column;
	gap: 30px;
	padding: var(--space-30-50) var(--space-15-40) var(--space-30-50);
}

#js-free-site-survey-form .container > * {
	margin: 0;
}

#js-free-site-survey-form .container .form-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
}

#js-free-site-survey-form .container .form-head * {
	margin: 0;
}

#js-free-site-survey-form .container .form-head a {
	cursor: pointer;
}

#js-free-site-survey-form .container .form-head a i {
	font-size: 32px;
	font-weight: 400;
}

#js-free-site-survey-form .container button {
	width: 100%;
}

#js-free-site-survey-form.is-open {
	max-height: 670px;
}

#js-free-site-survey-form.is-closed {
	max-height: 0px;
}

.wpcf7 form:not(.newsletter-signup) p {
	margin-bottom: 0;
}

.wpcf7 form:not(.newsletter-signup) label {
	display: block;
	margin-bottom: 10px;
}

.wpcf7 form:not(.newsletter-signup) span {
	display: block;
}

.wpcf7 form:not(.newsletter-signup) span::before {
	font-family: 'Font Awesome 7 Sharp';
	font-size: 18px;
	position: absolute;
	top: 9px;
	left: 15px;
	font-weight: 900;
}

.wpcf7 form:not(.newsletter-signup) span[data-name="your-name"]::before {
	content: '\f007';
}

.wpcf7 form:not(.newsletter-signup) span[data-name="your-email"]::before {
	content: '\f0e0';
	top: 10px;
}

.wpcf7 form:not(.newsletter-signup) span[data-name="your-number"]::before {
	content: '\f095';
	top: 10px;
}

.wpcf7 form:not(.newsletter-signup) span[data-name="your-message"]::before {
	content: '\f075';
}

.wpcf7 form:not(.newsletter-signup) span[data-name="how-help"]::before {
	content: '\3f';
}

.wpcf7 form:not(.newsletter-signup) span[data-name="location"]::before {
	content: '\f3c5';
}

.wpcf7 form:not(.newsletter-signup) span:has(.wpcf7-not-valid-tip) input {
	border: 2px solid #c11e1e;
}

.wpcf7 form:not(.newsletter-signup) span:has(.wpcf7-not-valid-tip)::before {
	color: #c11e1e;
}

.wpcf7 form:not(.newsletter-signup) button {
	display: flex;
	margin-inline: auto;
	margin-top: var(--space-20-30);
}

@media (min-width: 768px) {
	.wpcf7 form:not(.newsletter-signup) button {
		width: 257px;
	}
}

.wpcf7 form:not(.newsletter-signup) button span.submit {
	opacity: 1;
	transition: opacity 0.4s ease-in;
}

.wpcf7 form:not(.newsletter-signup) button span.submitted {
	position: absolute;
	opacity: 0;
	transition: opacity 0.4s ease-in 0.5s;
}

.wpcf7 form:not(.newsletter-signup) button span.submitted::after {
	margin-left: 10px;
	font-family: 'Font Awesome 7 Sharp';
	content: '\f00c';
}

.wpcf7 form:not(.newsletter-signup).sent button::after {
	opacity: 0;
}

.wpcf7 form:not(.newsletter-signup).sent button span.submit {
	opacity: 0;
}

.wpcf7 form:not(.newsletter-signup).sent button span.submitted {
	opacity: 1;
}

.wpcf7 form:not(.newsletter-signup) .wpcf7-response-output {
	border: none;
	margin: 10px 0 0;
	text-align: center;
}

.wpcf7 form:not(.newsletter-signup) .terms {
	text-align: center;
}

.wpcf7 form:not(.newsletter-signup).invalid .wpcf7-response-output {
	text-align: left;
	margin-top: 30px;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	border-radius: var(--Radius---Field, 10px);
	background: #fce9e9;
	padding: 10px 20px 20px;
	color: var(--primary-text-colour);
	font-size: 18px;
	font-weight: 300;
}

.wpcf7 form:not(.newsletter-signup).invalid .wpcf7-response-output::before {
	margin-bottom: 10px;
	content: "Error";
	background: url("./images/error-icon.svg");
	background-repeat: no-repeat;
	background-position: 0 50%;
	padding-left: 40px;
	color: #c11e1e;
	font-size: 32px;
	font-weight: 600;
	line-height: 110%;
}

.wpcf7 form:not(.newsletter-signup) .wpcf7-not-valid-tip {
	display: none;
}

.newsletter-signup {
	position: relative;
}

.newsletter-signup + p {
	margin: 0;
}

.newsletter-signup input {
	border-radius: 10px 0 0 10px;
	border: none;
	color: var(--primary-text-colour);
}

.newsletter-signup input:focus-visible {
	outline: none;
}

.newsletter-signup .wp-block-button {
	position: absolute;
	right: 0;
	top: 0;
}

.newsletter-signup .wp-block-button button:not([class^="cky"]) {
	padding: 10px 20px;
	font-weight: 700;
	color: var(--primary-text-colour);
	min-height: 48px;
}

input {
	width: calc(100% - 52px);
	padding: 9px 60px 9px 10px;
	height: 48px;
}

input::placeholder {
	color: var(--primary-text-colour);
}

@media (max-width: 1024px) {
	.wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100% !important;
	}
	.wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
	}
	.wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}
}

.wp-block-media-text {
	background-color: var(--primary-colour-200);
	padding-top: var(--space-30-50);
	padding-bottom: var(--space-30-70);
	gap: var(--space-20-50);
	position: relative;
	grid-template-columns: repeat(2, 1fr);
}

.wp-block-media-text ul {
	padding-left: 8px;
}

.wp-block-media-text ul.is-style-checklist {
	padding: 0;
}

.wp-block-media-text.has-media-on-the-right {
	grid-template-columns: repeat(2, 1fr);
}

.wp-block-media-text.light-green {
	background-color: var(--primary-colour-100);
}

.wp-block-media-text > .wp-block-media-text__content {
	padding: 0;
	height: 100%;
}

@media (min-width: 1024px) {
	.wp-block-media-text > .wp-block-media-text__content {
		padding: var(--space-20-50);
	}
}

.wp-block-media-text > .wp-block-media-text__content :last-child {
	margin: 0;
}

.wp-block-media-text > .wp-block-media-text__content p:first-of-type {
	font-size: 1.25rem;
	font-weight: 600;
}

.wp-block-media-text > .wp-block-media-text__content iframe {
	border-radius: 5px;
}

@media (max-width: 1024px) {
	.wp-block-media-text > .wp-block-media-text__content iframe {
		aspect-ratio: 1;
	}
}

.wp-block-media-text.no-padding > .wp-block-media-text__content {
	padding: 0;
}

.wp-block-media-text .wp-block-media-text__media img {
	border-radius: 5px;
	overflow: hidden;
}

.wp-block-media-text.flourish.double-curve .wp-block-media-text__media {
	position: relative;
}

.wp-block-media-text.flourish.double-curve .wp-block-media-text__media::after {
	content: var(--doube-curve);
	position: absolute;
	bottom: -18px;
	right: calc(-1 * (var(--space-15-30) - 3px));
	line-height: 1;
}

@media (min-width: 1024px) {
	.wp-block-media-text.flourish.double-curve .wp-block-media-text__media::after {
		content: none;
	}
}

@media (min-width: 1024px) {
	.wp-block-media-text.flourish.double-curve .wp-block-media-text__content {
		position: relative;
	}
	.wp-block-media-text.flourish.double-curve .wp-block-media-text__content::after {
		content: var(--doube-curve);
		position: absolute;
		bottom: 0;
		right: 0;
	}
}

.has-wasabi-green-100-background-color {
	background-color: var(--primary-colour-100);
}

.has-picton-blue-100-background-color {
	background-color: var(--primary-colour-100);
}

/* Links
--------------------------------------------- */
a {
	color: var(--primary-text-colour);
	outline: none;
}

a:visited {
	color: var(--primary-text-colour);
}

a:hover, a:focus, a:active {
	color: var(--primary-text-colour);
}

a:focus {
	outline: none;
}

a:hover, a:active {
	outline: 0;
}

li a {
	display: contents;
	font-weight: 600;
}

p a:not(.footer-link) {
	display: inline-flex;
	width: fit-content;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

p a:not(.footer-link)::before {
	display: block;
	position: absolute;
	top: 0;
	left: -100%;
	background-color: var(--secondary-colour-400);
	width: 100%;
	height: 100%;
	content: '';
	transition: left .2s ease-out;
	z-index: -1;
}

p a:not(.footer-link):hover::before {
	left: 0;
}

/* Forms
--------------------------------------------- */
.wp-block-buttons {
	width: 100%;
	gap: var(--space-10-30);
	margin-bottom: var(--space-20-30);
}

.wp-block-buttons .wp-block-button {
	width: 100%;
}

@media (min-width: 768px) {
	.wp-block-buttons .wp-block-button .wp-block-button__link {
		width: fit-content;
	}
}

button:not([class^="cky"]),
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 50px;
	background: var(--secondary-colour-800);
	padding: 8px 20px;
	width: 100%;
	min-height: 48px;
	max-height: fit-content;
	height: auto;
	text-transform: uppercase;
	line-height: 1;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	gap: 10px;
	transition: all 0.3s ease-in;
}

@media (min-width: 768px) {
	button:not([class^="cky"]),
	input[type="button"],
	input[type="reset"],
	input[type="submit"],
	.wp-block-button__link {
		width: fit-content;
	}
}

button:not([class^="cky"])::after,
input[type="button"]::after,
input[type="reset"]::after,
input[type="submit"]::after,
.wp-block-button__link::after {
	display: inline-block;
	content: var(--button-icon);
}

button:not([class^="cky"]):hover, button:not([class^="cky"]):visited:hover,
input[type="button"]:hover,
input[type="button"]:visited:hover,
input[type="reset"]:hover,
input[type="reset"]:visited:hover,
input[type="submit"]:hover,
input[type="submit"]:visited:hover,
.wp-block-button__link:hover,
.wp-block-button__link:visited:hover {
	color: #fff;
	cursor: pointer;
}

button:not([class^="cky"]):hover::after, button:not([class^="cky"]):visited:hover::after,
input[type="button"]:hover::after,
input[type="button"]:visited:hover::after,
input[type="reset"]:hover::after,
input[type="reset"]:visited:hover::after,
input[type="submit"]:hover::after,
input[type="submit"]:visited:hover::after,
.wp-block-button__link:hover::after,
.wp-block-button__link:visited:hover::after {
	transform: translate(3px);
}

.download button:not([class^="cky"])::after, .download
input[type="button"]::after, .download
input[type="reset"]::after, .download
input[type="submit"]::after, .download
.wp-block-button__link::after {
	color: var(--primary-text-colour);
	font-family: 'Font Awesome 7 Sharp';
	font-size: 18px;
	content: "\f019";
}

.download button:not([class^="cky"]):hover::after, .download
input[type="button"]:hover::after, .download
input[type="reset"]:hover::after, .download
input[type="submit"]:hover::after, .download
.wp-block-button__link:hover::after {
	transform: translateX(0) translateY(2px);
}

.gradient-after.download button:not([class^="cky"])::after, .gradient-after.download
input[type="button"]::after, .gradient-after.download
input[type="reset"]::after, .gradient-after.download
input[type="submit"]::after, .gradient-after.download
.wp-block-button__link::after {
	background: var(--gradient, linear-gradient(259deg, #96c11e 20%, #8cc250 75.7%));
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.down button:not([class^="cky"])::after, .down
input[type="button"]::after, .down
input[type="reset"]::after, .down
input[type="submit"]::after, .down
.wp-block-button__link::after {
	transform: rotate(90deg);
}

@keyframes bounce {
	0%,
	100% {
		transform: rotate(90deg) translateX(0);
	}
	25% {
		transform: rotate(90deg) translateX(2px);
	}
	50% {
		transform: rotate(90deg) translateX(4px);
	}
	75% {
		transform: rotate(90deg) translateX(2px);
	}
}

.down button:not([class^="cky"]):hover::after, .down
input[type="button"]:hover::after, .down
input[type="reset"]:hover::after, .down
input[type="submit"]:hover::after, .down
.wp-block-button__link:hover::after {
	transform: rotate(90deg) translateX(3px);
	animation: bounce 0.6s ease-out 3 forwards;
}

button:not([class^="cky"]):active, button:not([class^="cky"]):focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus,
.wp-block-button__link:active,
.wp-block-button__link:focus {
	border-color: #aaa #bbb #bbb;
	color: #fff;
}

button:not([class^="cky"]):visited,
input[type="button"]:visited,
input[type="reset"]:visited,
input[type="submit"]:visited,
.wp-block-button__link:visited {
	color: #fff;
}

.secondary button:not([class^="cky"]), .secondary
input[type="button"], .secondary
input[type="reset"], .secondary
input[type="submit"], .secondary
.wp-block-button__link {
	min-height: clamp(48px, calc(48px + (13 * ((100vw - 400px) / 1520))), 61px);
	padding: 10px 30px;
	background: var(--secondary-button-colour);
	text-transform: none;
	font-weight: 600;
	font-size: 20px;
	color: var(--primary-text-colour);
	transition: all 0.1s ease-in;
}

.secondary button:not([class^="cky"]):hover, .secondary
input[type="button"]:hover, .secondary
input[type="reset"]:hover, .secondary
input[type="submit"]:hover, .secondary
.wp-block-button__link:hover {
	background: var(--secondary-colour-400, #b5e336);
}

.secondary button:not([class^="cky"])::after, .secondary
input[type="button"]::after, .secondary
input[type="reset"]::after, .secondary
input[type="submit"]::after, .secondary
.wp-block-button__link::after {
	content: none;
}

form:not(.newsletter-signup) input[type="text"],
form:not(.newsletter-signup) input[type="email"],
form:not(.newsletter-signup) input[type="url"],
form:not(.newsletter-signup) input[type="password"],
form:not(.newsletter-signup) input[type="search"],
form:not(.newsletter-signup) input[type="number"],
form:not(.newsletter-signup) input[type="tel"],
form:not(.newsletter-signup) input[type="range"],
form:not(.newsletter-signup) input[type="date"],
form:not(.newsletter-signup) input[type="month"],
form:not(.newsletter-signup) input[type="week"],
form:not(.newsletter-signup) input[type="time"],
form:not(.newsletter-signup) input[type="datetime"],
form:not(.newsletter-signup) input[type="datetime-local"],
form:not(.newsletter-signup) input[type="color"],
form:not(.newsletter-signup) textarea,
form:not(.newsletter-signup) select {
	min-height: 48px;
	color: #666;
	border: 1px solid #ccc;
	border-radius: 10px;
	padding: 8px 10px 8px 41px;
	width: 100%;
}

form:not(.newsletter-signup) input[type="text"]:focus,
form:not(.newsletter-signup) input[type="email"]:focus,
form:not(.newsletter-signup) input[type="url"]:focus,
form:not(.newsletter-signup) input[type="password"]:focus,
form:not(.newsletter-signup) input[type="search"]:focus,
form:not(.newsletter-signup) input[type="number"]:focus,
form:not(.newsletter-signup) input[type="tel"]:focus,
form:not(.newsletter-signup) input[type="range"]:focus,
form:not(.newsletter-signup) input[type="date"]:focus,
form:not(.newsletter-signup) input[type="month"]:focus,
form:not(.newsletter-signup) input[type="week"]:focus,
form:not(.newsletter-signup) input[type="time"]:focus,
form:not(.newsletter-signup) input[type="datetime"]:focus,
form:not(.newsletter-signup) input[type="datetime-local"]:focus,
form:not(.newsletter-signup) input[type="color"]:focus,
form:not(.newsletter-signup) textarea:focus,
form:not(.newsletter-signup) select:focus {
	color: #111;
}

select {
	appearance: none;
	color: var(--primary-text-colour);
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
.menu-buttons {
	display: flex;
	gap: 20px;
}

.menu-buttons .close {
	cursor: pointer;
}

@media (min-width: 1024px) {
	.menu-buttons .close {
		height: 50px;
	}
}

.menu-buttons .contact {
	display: none;
}

@media (min-width: 1024px) {
	.menu-buttons .contact {
		height: 50px;
		margin: 0;
		color: var(--white);
		text-decoration: none;
		display: flex;
		padding: 10px 20px;
		justify-content: center;
		align-items: center;
		gap: 15px;
		border-radius: 50px;
		border: 1px solid var(--white, #fff);
		font-weight: 700;
	}
}

.menu-buttons .contact::before {
	font-family: 'Font Awesome 7 Sharp';
	content: '\f0e0';
	font-weight: 900;
}

.main-navigation {
	position: fixed;
	display: flex;
	flex-direction: column;
	gap: 50px;
	padding: clamp(15px, calc(15px + (35 * ((100vw - 400px) / 1520))), 50px) clamp(15px, calc(15px + (35 * ((100vw - 400px) / 1520))), 50px) 50px;
	left: 0;
	top: 0;
	transform: translateY(-100%);
	width: 100%;
	height: calc(100dvh + 20px);
	background: var(--secondary-colour-900);
	transition: transform 0.5s ease-in;
	z-index: 9999999;
	border-bottom: 10px var(--secondary-colour-400);
}

.main-navigation ul {
	padding-left: 0 !important;
}

@media (min-width: 1024px) {
	.main-navigation {
		padding-bottom: 100px;
		gap: 0;
	}
}

.main-navigation::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	display: block;
	content: "";
	aspect-ratio: 400 / 340;
	background: url("./images/footer-watermark.svg") no-repeat;
	background-size: cover;
	pointer-events: none;
}

@media (min-width: 768px) {
	.main-navigation::before {
		right: 0;
		left: unset;
		height: 100%;
		width: auto;
	}
}

.main-navigation .nav-container {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow-y: auto;
	scrollbar-color: var(--secondary-colour-400) var(--primary-colour-100);
	scrollbar-width: thin;
}

@media (min-width: 1200px) {
	.main-navigation .nav-container {
		flex-flow: row wrap;
		gap: 100px;
	}
}

.main-navigation .nav-container .menu-primary-menu-container {
	display: flex;
	align-items: end;
	overflow: hidden;
}

@media (min-width: 1024px) {
	.main-navigation .nav-container .menu-primary-menu-container {
		margin-top: auto;
		margin-bottom: 50px;
	}
}

.main-navigation.toggled {
	transform: translateY(0);
}

.main-navigation::after {
	content: "";
	height: 20px;
	width: 100%;
	background-color: var(--secondary-colour-400);
	position: absolute;
	bottom: 0px;
	left: 0;
	right: 0;
}

.main-navigation * {
	color: #fff;
}

.main-navigation .menu-header {
	display: flex;
	justify-content: space-between;
	align-items: start;
	width: 100%;
	height: fit-content;
}

.main-navigation .menu-header .header-logo {
	padding-top: 0;
}

.main-navigation ul.menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.main-navigation ul.menu li {
	line-height: 1.1;
}

.main-navigation ul.menu li::before {
	all: unset;
}

.main-navigation ul.menu li a {
	display: block;
	font-size: 54px;
	font-weight: 700;
	text-decoration: none;
	color: #fff;
}

@media (min-width: 1024px) {
	.main-navigation ul.menu li a {
		font-size: clamp(54px, calc(54px + (60 * ((100vw - 1024px) / 896))), 114px);
	}
}

.main-navigation ul.menu li a:hover {
	color: var(--secondary-colour-400);
}

.main-navigation ul.menu li.current-menu-item a {
	color: var(--secondary-colour-400);
}

@media (min-width: 1024px) {
	.main-navigation .right {
		display: flex;
		flex-direction: column;
		gap: 100px;
		padding-right: 50px;
	}
}

.main-navigation .right .quick-links {
	margin-top: auto;
	display: none;
}

@media (min-width: 1200px) {
	.main-navigation .right .quick-links {
		display: block;
	}
}

.main-navigation .right .quick-links ul {
	list-style: none;
}

@media (min-width: 1024px) {
	.main-navigation .right .quick-links ul {
		display: grid;
		grid-template-columns: auto auto;
		gap: 10px 50px;
	}
}

@media (min-width: 1400px) {
	.main-navigation .right .quick-links ul {
		grid-template-columns: auto auto;
		gap: 10px 100px;
	}
}

@media (min-width: 1920px) {
	.main-navigation .right .quick-links ul {
		grid-template-columns: auto auto auto;
	}
}

.main-navigation .right .quick-links ul li a {
	font-size: 24px;
	font-weight: 600;
}

.main-navigation .right .info ul {
	list-style: none;
}

.main-navigation .right .info ul li {
	display: flex;
}

@media (min-width: 1200px) {
	.main-navigation .right .info {
		display: flex;
		gap: 50px;
	}
}

@media (min-width: 1400px) {
	.main-navigation .right .info {
		gap: 100px;
	}
}

.main-navigation .right .info .contact {
	margin-bottom: 30px;
}

@media (min-width: 1200px) {
	.main-navigation .right .info .contact {
		margin: 0;
	}
}

.main-navigation .right .info .contact a:hover {
	color: var(--secondary-colour-400);
}

.main-navigation .right .info .connect {
	margin-bottom: 0;
}

.main-navigation .right .info .connect h3 {
	margin-bottom: 20px;
}

.main-navigation .right .info .connect ul {
	list-style: none;
}

.main-navigation .right .info .connect li {
	line-height: 1;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 00;
}

.post ul:not(.pills) {
	padding-left: 40px !important;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

body {
	padding-bottom: clamp(75px, calc(75px + (5 * ((100vw - 400px) / 1520))), 80px);
}

.post h1 {
	margin-bottom: var(--space-20-30);
}

.post .entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-20-30);
}

.post .entry-meta .pills li {
	background-color: var(--primary-colour-400);
	color: var(--primary-text-colour);
}

.post .entry-meta time {
	color: var(--primary-colour-100, #e0f1cd);
	font-size: clamp(20px, calc(20px + (4 * ((100vw - 400px) / 1520))), 24px);
	font-weight: 600;
}

.post .intro {
	display: flex;
	flex-direction: column;
	padding: var(--space-30-50) 0 var(--space-30-70) 0;
	width: 100%;
	background: var(--primary-colour-100);
	z-index: 2;
	position: relative;
}

.post .intro > * {
	width: 100%;
	max-width: 920px;
	margin-inline: auto;
	padding-inline: var(--space-15-50);
}

@media (min-width: 1024px) {
	.post .intro > * {
		padding-inline: 0;
	}
}

.post .intro .post-thumbnail {
	width: 100%;
	line-height: 0;
	margin-bottom: var(--space-30-50);
}

@media (min-width: 1024px) {
	.post .intro .post-thumbnail {
		margin-bottom: 0;
		order: 2;
	}
}

.post .intro .post-thumbnail img {
	border-radius: 5px;
	width: 100%;
}

.post .intro p {
	font-size: clamp(20px, calc(20px + (4 * ((100vw - 400px) / 1520))), 24px);
	font-weight: 600;
	line-height: 160%;
}

.post .intro p:last-of-type {
	margin-bottom: 0;
}

@media (min-width: 1024px) {
	.post .intro p:last-of-type {
		margin-bottom: revert;
	}
}

.post .entry-content {
	padding-top: var(--space-30-50);
	padding-bottom: var(--space-30-70);
	background: var(--primary-colour-200);
}

.post .entry-content > *:not(.custom-block) {
	width: 100%;
	box-sizing: border-box;
	max-width: 920px !important;
	margin-inline: auto;
}

@media (min-width: 1024px) {
	.post .entry-content > *:not(.custom-block) {
		padding-inline: 0;
	}
}

.post .entry-content .share-links {
	display: flex;
	gap: 20px;
}

.post .entry-content .share-links p {
	margin: 0 10px 0 0;
}

.post .entry-content .share-links a {
	text-decoration: none;
	font-size: 24px;
	font-weight: 400;
}

.blog .entry-content,
.category .entry-content {
	padding-top: var(--space-15-50);
}

.blog .pills,
.category .pills {
	padding: 0 var(--space-15-50) var(--space-30-70);
}

.blog .pills li,
.category .pills li {
	background-color: var(--primary-colour-200);
}

.blog .pills li.active,
.category .pills li.active {
	font-weight: 900;
	background-color: var(--primary-colour-400);
}

.blog .news-loop,
.category .news-loop {
	display: grid;
	gap: 30px;
	padding-bottom: var(--space-30-70);
}

@media (min-width: 768px) {
	.blog .news-loop,
	.category .news-loop {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1200px) {
	.blog .news-loop,
	.category .news-loop {
		grid-template-columns: repeat(3, 1fr);
	}
}

.pagination ul {
	all: unest;
	margin: 0;
	display: flex;
	justify-content: center;
	gap: var(--space-15-20);
	padding: var(--space-30-50) 0 var(--space-30-70);
}

.pagination ul li {
	all: unset;
}

.pagination ul li a {
	all: unset;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 60px;
	width: clamp(40px, calc(40px + (20 * ((100vw - 400px) / 1520))), 60px);
	height: clamp(40px, calc(40px + (20 * ((100vw - 400px) / 1520))), 60px);
	background: var(--primary-colour-400, #8cc250);
	cursor: pointer;
	font-size: clamp(18px, calc(18px + (11 * ((100vw - 400px) / 1520))), 29px);
	font-weight: 600;
	text-decoration: none;
}

.pagination ul li a.next, .pagination ul li a.prev {
	font-size: 0;
}

.pagination ul li a.next::after, .pagination ul li a.prev::after {
	font-family: 'Font Awesome 7 Sharp';
	font-size: clamp(18px, calc(18px + (11 * ((100vw - 400px) / 1520))), 29px);
}

.pagination ul li a.next::after {
	content: "\f054";
}

.pagination ul li a.prev::after {
	content: "\f053";
}

.pagination ul li:has(.current) {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 60px;
	width: clamp(40px, calc(40px + (20 * ((100vw - 400px) / 1520))), 60px);
	height: clamp(40px, calc(40px + (20 * ((100vw - 400px) / 1520))), 60px);
	font-size: clamp(18px, calc(18px + (11 * ((100vw - 400px) / 1520))), 29px);
	font-weight: 600;
	background: var(--icons-colour);
}

.pagination ul li::before {
	all: unset;
}

.news-loop a.news-card {
	display: flex;
	position: relative;
	border-radius: 5px;
	width: 100%;
	overflow: hidden;
	text-decoration: none;
	aspect-ratio: 4 / 3;
}

.news-loop a.news-card img {
	display: block;
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.2s linear;
}

.news-loop a.news-card .post-info {
	display: flex;
	position: absolute;
	bottom: 0;
	flex-direction: column;
	border-radius: 0 5px 0 0;
	background: var(--primary-colour-200, #c4e3a2);
	padding: var(--space-15-20);
	width: clamp(300px, calc(300px + (50 * ((100vw - 400px) / 1520))), 350px);
	gap: 10px;
}

.news-loop a.news-card .post-info * {
	margin: 0;
}

.news-loop a.news-card .post-info h4 {
	text-transform: uppercase;
}

.news-loop a.news-card .post-info .meta {
	display: flex;
	font-size: 14px;
	gap: 3px;
}

.news-loop a.news-card:hover img {
	scale: 1.03;
}

a.news-card.download {
	display: flex;
	text-decoration: none;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	border-radius: 5px;
	background: var(--secondary-colour-400);
	padding: 40px;
	gap: 20px;
}

a.news-card.download * {
	margin: 0;
}

a.news-card.download h4 {
	text-transform: uppercase;
}

.news-media-two-col {
	display: grid;
	gap: var(--space-20-50);
	align-items: center;
}

@media (min-width: 1400px) {
	.news-media-two-col {
		justify-content: space-between;
		grid-template-columns: auto 1fr;
	}
}

.news-media-two-col h1 {
	width: fit-content;
}

.news-media-two-col ul.pills {
	z-index: 3000;
}

@media (min-width: 1400px) {
	.news-media-two-col ul.pills {
		margin-left: auto;
		justify-content: right;
	}
}

.news-media-two-col ul.pills li {
	display: flex;
	padding: 0;
}

.news-media-two-col ul.pills li a {
	border-radius: 50px;
	width: 100%;
	background: var(--primary-colour-400, #8cc250);
	height: clamp(47px, calc(47px + (31 * ((100vw - 400px) / 1520))), 78px);
	box-sizing: border-box;
	padding-inline: var(--space-15-30);
	display: flex;
	align-items: center;
	gap: var(--space-10-20);
	font-size: clamp(16px, calc(16px + (8 * ((100vw - 400px) / 1520))), 24px);
	text-transform: uppercase;
	transition: all 0.3s ease-in;
}

@media (min-width: 1400px) {
	.news-media-two-col ul.pills li a {
		flex: 1 1 49%;
	}
}

@media (min-width: 1920px) {
	.news-media-two-col ul.pills li a {
		flex: 1 1 auto;
	}
}

.news-media-two-col ul.pills li a:hover {
	background: var(--secondary-colour-400, #b5e336);
}

.news-media-two-col ul.pills li a::before {
	font-family: 'Font Awesome 7 Sharp';
	font-size: clamp(20px, calc(20px + (8 * ((100vw - 400px) / 1520))), 28px);
	font-weight: 900;
}

.news-media-two-col ul.pills li a.news::before {
	content: "\f0a1";
}

.news-media-two-col ul.pills li a.downloads::before {
	content: "\f019";
}

.news-media-two-col ul.pills li a.videos::before {
	content: "\f03d";
}

.news-media-two-col ul.pills li a.gallery-link::before {
	content: "\f302";
}

button[aria-controls="heroVideo"] {
	all: unset;
	margin-top: 6px;
	color: var(--primary-colour-100);
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 14px;
	margin-right: clamp(0px, calc(0px + (50 * ((100vw - 400px) / 1520))), 50px);
	cursor: pointer;
}

.scrolled button[aria-controls="heroVideo"] {
	display: none;
}

button[aria-controls="heroVideo"] span {
	display: block;
	position: relative;
	height: fit-content;
}

button[aria-controls="heroVideo"] span::before {
	content: "";
	display: flex;
	width: 30px;
	height: 30px;
	border-radius: 37.5px;
	border: 0.75px solid var(--primary-colour-100, #e0f1cd);
}

button[aria-controls="heroVideo"] span::after {
	content: "\f04b";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--primary-colour-100, #e0f1cd);
	font-family: 'Font Awesome 7 Sharp';
	font-size: 15px;
	font-weight: 900;
}

button[aria-controls="heroVideo"][aria-label="pause-video"] span::after {
	content: "\f04c";
}

button[aria-controls="heroVideo"]::after {
	all: unset;
}

.home {
	padding-bottom: clamp(75px, calc(75px + (5 * ((100vw - 400px) / 1520))), 80px);
}

.home header.site-header {
	background: transparent;
	z-index: 20;
	align-items: center;
	position: fixed;
}

@media (min-width: 1024px) {
	.home header.site-header {
		align-items: flex-start;
	}
}

.home header.site-header .desktop {
	display: block;
	width: clamp(160px, calc(160px + (140 * ((100vw - 400px) / 1520))), 300px);
}

@media (min-width: 1024px) {
	.home header.site-header .desktop {
		transition: width 0.5s ease;
	}
}

.home header.site-header .desktop a,
.home header.site-header .desktop img {
	width: 100%;
}

.home header.site-header .mobile {
	display: none;
}

.home header.site-header .menu-buttons {
	position: absolute;
	right: var(--space-15-50);
	transition: all 0.5s ease;
}

.home header.site-header.scrolled {
	background: var(--header-bg);
	padding: 10px var(--space-15-50);
}

@media (min-width: 1024px) {
	.home header.site-header.scrolled img {
		width: 170px;
	}
}

.home header.site-header.scrolled .menu-buttons {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.home header.entry-header {
	background: transparent;
	padding: 0;
	position: relative;
	overflow: hidden;
	height: calc(100svh - 75px);
}

.home header.entry-header::after {
	content: "";
	position: absolute;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%);
	transform: unset;
	z-index: 5;
}

.home header.entry-header .hero-video {
	padding: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	transform: translate(-50%, -50%);
	object-fit: cover;
	z-index: 1;
}

.home header.entry-header .container {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--header-h) var(--space-15-50) var(--space-15-50);
	height: 100%;
	z-index: 10;
}

.home header.entry-header .container h1 {
	max-width: 11ch;
}

.home header.entry-header .container h1.freight {
	max-width: unset;
}

.home header.entry-header .container h1 span.entry-title-divide {
	color: var(--secondary-colour-400);
}

.home header.entry-header .container .scrolling-header {
	line-height: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: var(--space-20-30);
}

.home header.entry-header .container .scrolling-header .im-image {
	display: flex;
	align-items: center;
	height: 50px;
}

.home header.entry-header .container .scrolling-header .im-image .im-image-container {
	height: clamp(22.2px, calc(22.2px + (10 * ((100vw - 400px) / 1520))), 30.2px);
	width: max-content;
	line-height: 0;
}

.home header.entry-header .container .scrolling-header .im-image img {
	height: 100%;
	margin-top: 1px;
	line-height: 0;
}

.home header.entry-header .container .scrolling-header h3 {
	line-height: 1;
	display: flex;
	gap: 5px;
	margin-bottom: 0;
	color: #fff;
	width: fit-content;
}

.home header.entry-header .container .scrolling-header .swiper {
	display: flex;
	align-items: center;
	max-width: 100%;
	height: 70px;
	margin: auto 0;
}

.home header.entry-header .container .scrolling-header .swiper .swiper-slide {
	display: flex;
	align-items: center;
}

.home header.entry-header .container .scrolling-header .swiper span.green {
	line-height: 1;
	display: block;
	color: var(--primary-colour-400);
	text-transform: uppercase;
	font-size: clamp(32px, calc(32px + (11 * ((100vw - 400px) / 1520))), 43px);
	font-weight: 800;
	color: var(--primary-colour-400);
}

.home .stats {
	padding: var(--space-30-50) var(--space-15-50);
	background-color: var(--primary-text-colour);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

@media (min-width: 1024px) {
	.home .stats {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1400px) {
	.home .stats {
		display: flex;
		flex-direction: row;
		padding: var(--space-15-50);
	}
}

.home .stats > div {
	line-height: 1;
	padding: 0 0 var(--space-30-50);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-15-30);
}

@media (min-width: 1400px) {
	.home .stats > div {
		padding: 50px 0 30px;
	}
}

.home .stats span {
	width: 100%;
	text-align: center;
	line-height: 1;
	background: var(--gradient);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 120px;
	font-weight: 700;
	letter-spacing: -6px;
}

.home .stats span.est {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -1.5px;
}

.home .stats p {
	margin: 0;
	color: var(--white);
	text-align: center;
	font-size: 28px;
	font-weight: 700;
}

.quick-links-home {
	height: clamp(75px, calc(75px + (5 * ((100vw - 400px) / 1520))), 80px);
	background: var(--gradient);
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 4000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 0 70px;
}

.quick-links-home h3.mobile {
	width: 100%;
	flex: 0 0 auto;
	margin: 0;
}

@media (min-width: 1400px) {
	.quick-links-home h3.mobile {
		display: none;
	}
}

.quick-links-home h3.mobile a {
	cursor: pointer;
	height: 100%;
	width: 100%;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-right: var(--space-15-50);
}

.quick-links-home h3.mobile a::after {
	font-family: 'Font Awesome 7 Sharp';
	content: "\f065";
	font-size: 32px;
	font-weight: 400;
}

.quick-links-home .menu-quick-links-homepage-container {
	width: 100%;
	height: 100%;
}

.quick-links-home .desktop {
	display: none;
}

@media (min-width: 1400px) {
	.quick-links-home .desktop {
		all: unset;
		display: flex;
		height: 100%;
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
}

.quick-links-home .desktop * {
	all: unset;
}

.quick-links-home .desktop li {
	display: flex;
	align-items: center;
	height: 100%;
}

.quick-links-home .desktop li::before {
	content: none;
}

.quick-links-home .desktop li a {
	cursor: pointer;
	font-size: clamp(18px, calc(18px + (6 * ((100vw - 1400px) / 520))), 24px);
	font-weight: 600;
}

@media (min-width: 1400px) {
	.quick-links-home .desktop li.js-book-site-survey {
		background: var(--secondary-colour-400, #b5e336);
		width: 500px;
	}
}

.quick-links-home .desktop li.js-book-site-survey a {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 30px;
}

@media (min-width: 1400px) {
	.quick-links-home .desktop li.js-book-site-survey a {
		justify-content: space-between;
		padding-inline: var(--space-15-40);
	}
}

.quick-links-home .desktop li.js-book-site-survey a::after {
	font-family: 'Font Awesome 7 Sharp';
	content: "\f065";
	font-size: 32px;
	font-weight: 400;
}

.post-type-archive-service .entry-header h1 {
	margin-bottom: var(--space-20-50);
}

.post-type-archive-service .entry-header .columns {
	max-width: unset;
}

@media (min-width: 1200px) {
	.post-type-archive-service .entry-header .columns {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 30px;
	}
}

.post-type-archive-service .entry-header .left {
	display: flex;
	flex-direction: column;
	z-index: 1;
	position: relative;
}

.post-type-archive-service .entry-header .left .menu-service-menu-container {
	margin-top: auto;
}

.post-type-archive-service .entry-header .left .menu-service-menu-container ul a {
	font-weight: 600;
}

.post-type-archive-service .entry-header .about-block {
	position: relative;
	z-index: 4000;
}

.post-type-archive-service .entry-header .about-block .container {
	border-radius: 5px;
	background: var(--primary-colour-200, #c4e3a2);
	padding: var(--space-15-30) var(--space-15-30) var(--space-20-30);
}

.post-type-archive-service .entry-header .about-block .container .wp-block-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 0;
}

@media (min-width: 1200px) {
	.post-type-archive-service .entry-header .about-block .container .wp-block-buttons {
		flex-direction: row;
		gap: 30px;
	}
	.post-type-archive-service .entry-header .about-block .container .wp-block-buttons * {
		width: fit-content;
	}
}

.post-type-archive-service .entry-header .about-block .container .wp-block-buttons a.explore::after {
	transform: rotate(90deg);
}

.post-type-archive-service .entry-header .about-block .container .wp-block-buttons a.download {
	color: var(--primary-text-colour);
	border: 1px solid var(--secondary-colour-800, #25310b);
	background: var(--secondary-colour-400, #b5e336);
}

.post-type-archive-service .entry-header .about-block .container .wp-block-buttons a.download::after {
	font-family: 'Font Awesome 7 Sharp';
	content: "\f019";
	font-size: 18px;
	font-weight: 900;
}

.post-type-archive-service .entry-header .service-menu {
	all: unset;
	display: flex;
	flex-flow: row wrap;
	gap: var(--space-10-20);
	margin-bottom: 20px;
	padding-left: 0 !important;
}

@media (min-width: 1200px) {
	.post-type-archive-service .entry-header .service-menu {
		margin-bottom: 0;
	}
}

.post-type-archive-service .entry-header .service-menu li {
	all: unset;
}

.post-type-archive-service .entry-header .service-menu li::before {
	content: none;
}

.post-type-archive-service .entry-header .service-menu li a {
	border-radius: 50px;
	background: var(--primary-colour-400, #8cc250);
	padding-inline: var(--space-15-20);
	text-decoration: none;
	text-transform: uppercase;
	height: clamp(47px, calc(47px + (14 * ((100vw - 400px) / 1520))), 61px);
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: clamp(16px, calc(16px + (8 * ((100vw - 400px) / 1520))), 24px);
	transition: all 0.3s ease-in;
}

.post-type-archive-service .entry-header .service-menu li a:hover {
	background: var(--secondary-colour-400, #b5e336);
}

.post-type-archive-service .entry-header .service-menu li a::before {
	display: flex;
	font-family: 'Font Awesome 7 Sharp';
	width: clamp(25px, calc(25px + (10 * ((100vw - 400px) / 1520))), 35px);
	font-size: clamp(20px, calc(20px + (8 * ((100vw - 400px) / 1520))), 28px);
	font-weight: 900;
	justify-content: center;
}

.post-type-archive-service .entry-header .service-menu li.freight a::before {
	content: "\f072";
}

.post-type-archive-service .entry-header .service-menu li.export a::before {
	content: "\f49a";
}

.post-type-archive-service .entry-header .service-menu li.consumables a::before {
	content: "\f4db";
}

.post-type-archive-service .entry-header .service-menu li.storage a::before {
	content: "\e4c7";
}

.post-type-archive-service .entry-header .service-menu li.timber a::before {
	content: "\f724";
}

.post-type-archive-service .entry-header .service-menu li.military a::before {
	content: "\f3ed";
}

.post-type-archive-service .entry-header .service-menu li.globe a::before {
	content: "\f0ac";
}

.post-type-archive-service .entry-header .service-menu li.europe a::before {
	content: "\f3c5";
}

.post-type-archive-service .entry-header .service-menu li.uk a::before {
	content: "\f277";
}

.post-type-archive-service .entry-header .service-menu li.logistics a::before {
	content: "\f46c";
}

.post-type-archive-service .entry-header .service-menu li.exports a::before {
	content: "\e795";
}

.post-type-archive-service .entry-content {
	padding: 0;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*# sourceMappingURL=style.css.map */