/* -------------------------------------------------------------------------- *
 * Atom - A text banner
 * -------------------------------------------------------------------------- */
.a_banner {
	display: inline-block;
	padding: 0.500rem 1rem;
	border-radius: 1.500rem;
}

/* ----- Icon ----- */
.a_banner .material-symbols-rounded {
	position: relative;
	bottom: -0.375rem;
	margin: -0.500rem 0.250rem 0 0;
}



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Atom - Background Video
 * -------------------------------------------------------------------------- */
.a_bgVideo {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

	.a_bgVideo ._videoPlayer {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		min-height: 100%;
		height: 100%;
		pointer-events: none;
		overflow: hidden;
	}

		.a_bgVideo ._videoPlayer iframe {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			width: 100%;
			height: 56.25vw;
			min-height: 100%;
		}
/* -------------------------------------------------------------------------- *
 * Atom - Blockquote
 * -------------------------------------------------------------------------- */
.a_blockquote {
	margin: 0;
	padding: 0;
}

	.a_blockquote blockquote {
		position: relative;
		margin: 0;
		padding: 0;
		border: none;
		line-height: 1em;
		font-style: normal;
	}
	
		.a_blockquote blockquote  p {
			font-size: 2.500rem;
			font-weight: 300;
			font-style: italic;
			line-height: 3rem;
		}

			.a_blockquote blockquote p:last-child {
				margin-bottom: 0;
			}
	
		.a_blockquote blockquote  p strong {
			font-weight: 500;
		}

		.a_blockquote figcaption.author {
			display: block;
			font-style: normal;
			font-weight: 400;
			font-size: 1.250rem;
		}


/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.a_blockquote blockquote  p {
		font-size: 2.000rem;
		line-height: 2.750rem;
	}
}
/* -------------------------------------------------------------------------- *
 * Molecule - Blog Post Meta
 * -------------------------------------------------------------------------- */
.a_blogPostMeta {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1.5625rem;
	font-weight: 500;
	margin: 0 0 1rem 0;
	line-height: 1.1;
	color: var(--colorSecondary);
}

/* -------------------------------------------------------------------------- *
 * Atom - Standard button element
 * -------------------------------------------------------------------------- */
.a_button, .a_button:visited {
	display: inline-block;
	position: relative;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0.500rem;
	border: 0.125rem solid transparent;
	border-radius: 0.250rem;
	outline: none;
	background: var(--colorPrimary);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1em;
	color: var(--colorWhite);
	text-align: center;
	vertical-align: middle;
	transition: all 0.25s ease-in-out;
	overflow: hidden;
}

	.a_button:hover {
		background-color: var(--colorPrimary-dark);
		cursor: pointer;
	}

	.a_button ._content {
		margin: 0 0.500rem;
	}

	.a_button .material-symbols-rounded {
		margin: -0.500rem 0 -0.31250rem 0;
		vertical-align: middle;
	}

	.a_button .material-symbols-rounded.-after {
		margin: -0.5rem 0 -0.31250rem 0;
		vertical-align: middle;
	}

	/* ----- Dark Mode Override ----- */
	.-themeDark .a_button {
		color: var(--colorBlack);
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Grey colour variant ----- */
.a_button.-colorGreyLight {
	background-color: var(--colorGrey-light);
	border: 0.125rem solid var(--colorGrey-light);
	color: var(--colorSecondary);
}

	.a_button.-colorGreyLight:hover {
		background-color: var(--colorGrey);
		border-color: var(--colorGrey);
		color: var(--colorSecondary);
	}

/* ----- Secondary colour variant ----- */
.a_button.-colorSecondary {
	border-color: var(--colorSecondary);
	background-color: var(--colorSecondary);
	color: var(--colorWhite);
}

	.a_button.-colorSecondary:hover {
		border-color: var(--colorSecondary-dark);
		background-color: var(--colorSecondary-dark);
		color: var(--colorWhite);
	}

/* ----- Ghost + Secondary colour variant ----- */
.a_button.-ghost {
	background-color: var(--colorWhite);
	border: 0.125rem solid var(--colorSecondary);
	color: var(--colorSecondary);
}
	
/* ----- White variant -----
.a_button.-colorWhite {
	border-color:var(--colorWhite);
	background-color:var(--colorWhite);
	color: var(--colorWhite);
} */

/* ----- Ghost + White variant -----
.a_button.-ghost.-colorWhite {
	background-color:transparent;
	border-color:var(--colorWhite);
	color:var(--colorWhite);
} */

/* ----- Tiny -----
.a_button.-tiny,
.a_button.-tiny:visited {
	padding: 0.3125rem 1.00rem 0.250rem 1rem;
	border-width: 0.0625rem;
	font-size: 0.750rem;
	text-transform: uppercase;
	color: var(--colorWhite);
}
 */
/* ----- Small -----
.a_button.-small {
	padding: 0.3126rem 0.500rem;
	font-size: 0.750rem;
	font-weight: 600;
} */

/* ----- Large ----- */
.a_button.-large {
	padding: 1rem 2rem;
	font-size: 1.500rem;
	font-weight: 400;
	border-radius: 0.500rem;
}

/* ----- Wider ----- */
.a_button.-wider {
	padding: 1.250rem 9.500rem;
}

/* ----- Widest ----- */
.a_button.-widest {
	padding: 1.250rem 2.500rem;
	box-sizing: border-box;
	width:100%;
	max-width: 29rem;
}


/* ----- Waiting ----- */
.a_button:disabled {
	cursor: not-allowed;
	background-color: var(--colorOffBlack);
}

.a_button:disabled:hover {
	animation-name: none;
}

/* ----- Context Menu Button ----- */
.-contextMenuBtn {
	height: 1.750rem;
	padding: 0 0.125rem;
	border: 0;
	border-radius: 0.250rem;
	outline: 0;
	background-color: transparent;
	transition: all 0.25s ease-in-out;
}
	
	/* ----- Hover ----- */
	.-contextMenuBtn:hover {
		cursor: pointer;
		background-color: var(--colorOffWhite);
	}

	.-contextMenuBtn .material-symbols-rounded {
		position: relative;
		bottom: -0.125rem;
		font-size: 1.500rem;
		color: var(--colorOffBlack);
	}


/* -------------------------------------------------------------------------- *
 * Pagiantion
 * -------------------------------------------------------------------------- */
.a_button.-pagination,
.a_button.-pagination:visited {
	padding: 0.750rem 0.500rem;
	min-width: 1rem;
	margin: 0 0.250rem;
	white-space: nowrap;
	color: var(--colorWhite);
}

	.a_button.-pagination.-prev .material-symbols-rounded {
		
	}

	.a_button.-pagination.-next .material-symbols-rounded {
		
	}

	.a_button.-pagination.-active {
		background-color: var(--colorSecondary);
		border-color: var(--colorSecondary);
		color: var(--colorWhite);
		animation-name: none;
		cursor: not-allowed;
	}

	.a_button.-pagination.-disabled {
		background-color: var(--colorGrey);
		border-color: var(--colorGrey);
		animation-name: none;
		cursor: not-allowed;
	}



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll-
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls-
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl-
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts-
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml-
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms-
	 * ---------------------------------------- */
	
}

/* -------------------------------------------------------------------------- *
 * Atom - Burger Button
 * -------------------------------------------------------------------------- */
.a_buttonBurger {
	position: relative;
	top: -0.500rem;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: none;
	border-radius: 0.400rem;
	background: var(--colorSecondary);
	font-size:1rem;
	transition: all 0.25s ease-in-out;
}

	.a_buttonBurger ._line {
		position: absolute;
		top: calc(50% - 0.055rem);
		left: calc(50% - 0.625rem);
		width: 1.250rem;
		height: 0.18rem;
		border-radius: 0.1875rem;
		background-color: var(--colorWhite);
		transform-origin: center;
		transition: all 0.25s ease-in-out;
	}

	.a_buttonBurger ._lineOne {
		top: calc(50% - 0.480rem);
	}

	.a_buttonBurger ._lineTwo {
		opacity: 1;
	}

	.a_buttonBurger ._lineThree {
		top: calc(50% + 0.350rem);
	}

	.a_buttonBurger:hover {
		cursor: pointer;
	}

	.a_buttonBurger ._btnContent {
		font-size: 0;
		opacity: 0;
	}


/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Active ----- */
.a_buttonBurger.-active {
	
}
	.a_buttonBurger.-active ._lineOne
	{
		top: calc(50% - 0.095em);
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.a_buttonBurger.-active ._lineTwo
	{
		opacity: 0;
	}

	.a_buttonBurger.-active ._lineThree
	{
		top: calc(50% - 0.095em);
		-ms-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.a_buttonBurger.-active:hover {
		
	}


/* ----- Admin Sidebar Toggle ----- */
.a_buttonBurger._adminSidebarToggle {
	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 100;
}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll-
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls-
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl-
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts-
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml-
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms-
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Atom - Website Carbon Badge
 * -------------------------------------------------------------------------- */
.a_websiteCarbonBadge {
	position: relative;
	display: inline-block;
	padding: 0 0 1rem 1rem;
	overflow: hidden;
}

	/* ------ Icon ------ */
	.a_websiteCarbonBadge ._ecoIcon {
		position: absolute;
		top: 0;
		left: 0;
		width: 1.750rem;
		height: 1.750rem;
		padding: 0.500rem;
		border: 0.1875rem solid var(--colorPrimary-dark);
		border-radius: 50%;
		background-color: var(--colorOffBlack-dark);
	}

		.a_websiteCarbonBadge ._ecoIcon svg {
			width: 1.750rem;
			height: 1.750rem;
			fill: var(--colorWhite);
		}

	/* ------ Inner Content ------ */
	.a_websiteCarbonBadge ._innerContent {
		padding-left: 1.5rem;
		border: 0.1875rem solid var(--colorPrimary-dark);
		border-radius: 0.750rem 0.8750rem 0.8750rem 0;
		font-size: 0.875rem;
	}

		.a_websiteCarbonBadge ._innerContent sub {

		}

	.a_websiteCarbonBadge ._innerContent ._carbonPerView {
		display: inline-block;
		padding: 0.250rem 0.500rem 0 0.750rem;
	}

	.a_websiteCarbonBadge ._innerContent ._carbonLink {
		display: inline-block;
		padding: 0.250rem 0.500rem;
		border: none;
		border-radius: 0 0.50rem 0.50rem 0;
		color: var(--colorWhite);
		background-color: var(--colorPrimary-dark);
		font-weight: 700;
	}

	/* ------ Outter Content ------ */
	.a_websiteCarbonBadge ._outterContent {

	}

	.a_websiteCarbonBadge ._outterContent ._carbonComparison {
		display: inline-block;
		margin-top: 0.250rem;
		padding-left: 0.750rem;
		font-size: 0.875rem;
	}


/* -------------------------------------------------------------------------- *
 * Atom - Contact Detail Link
 * -------------------------------------------------------------------------- */
.a_contactDetail {
	display: flex;
	align-items: center;
	padding: 1rem 0;
	border: none;
	color: var(--colorWhite);
	font-size: 1.375rem;
	font-weight: 700;
	transition: all 0.25s ease-in-out;
	
}

	.a_contactDetail:visited {
		color: var(--colorWhite);
	}

	.a_contactDetail:hover {
		border: none;
		color: var(--colorSecondary);
	}

	.a_contactDetail .material-symbols-rounded {
		font-size: 2rem;
		margin-right: 0.750rem;
	}

	.a_contactDetail svg {
		width: 2rem;
		height: 2rem;
		margin-right: 0.750rem;
	}
/* -------------------------------------------------------------------------- *
 * Atom - Context Menu Item
 * -------------------------------------------------------------------------- */
.a_contextMenuItem ._contextButton {
	width: 100%;
	margin: 0;
	padding: 0.750rem 1rem 0.750rem 0.500rem;
	border: 0;
	outline: none;
	color: var(--colorWhite);
	text-align: left;
	font-weight: 400;
	line-height: 1em;
	transition: all 0.25s ease-in-out;
	overflow: hidden;
	white-space: nowrap;
	background: transparent;
}

	.a_contextMenuItem ._contextButton .material-symbols-rounded {
		margin: -0.5rem 0.500rem -0.31250rem 0;
		vertical-align: middle;
		transition: all 0.25s ease-in-out;
	}

	.a_contextMenuItem ._contextButton:hover {
		background-color: var(--colorPrimary-dark);
		cursor: pointer;
	}
/* -------------------------------------------------------------------------- *
 * Atom - Checkbox input
 * -------------------------------------------------------------------------- */
.a_inputCheckbox {
	user-select: none;
	padding: 0 0 0.250rem 0;
}

	.a_inputCheckbox ._checkbox {
		position: relative;
		top: 0.250rem;
		display: inline-block;
		width: 1.125rem;
		height: 1.125rem;
		border: 0;
		background-color: var(--colorWhite);
		text-align: center;
		user-select: none;
	}

		.a_inputCheckbox ._checkbox svg {
			position: relative;
			width: 1.125rem;
			height: 1.125rem;
			fill: var(--colorWhite);
		}

	.a_inputCheckbox ._input {
		width: 0;
		height: 0;
		margin: 0;
		padding: 0;
		opacity: 0;
	}

		.a_inputCheckbox ._input:checked + ._checkbox {
			border-color: var(--colorPrimary);
			background-color: var(--colorPrimary);
		}

		.a_inputCheckbox ._input:checked + ._checkbox svg {
		}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Atom - Radio Input + Label
 * -------------------------------------------------------------------------- */

.a_inputRadio {
	display: block;
	margin: 0 0 0.3125rem 0;
}

	.a_inputRadio label {
		padding:0;
	}

	.a_inputRadio:hover {
		cursor: pointer;
	}
	.a_inputRadio ._radioButton {
		display: inline-block;
		position: relative;
		top: 0.125em;
		box-sizing: border-box;
		width: 1rem;
		height: 1rem;
		margin-right: 0.250rem;
		border: 0;
		background-color: var(--colorWhite);
	}

	.a_inputRadio input {
		display: none;
	}

	.a_inputRadio input:checked ~ ._radioButton {
		background-color: var(--colorPrimary);
	}
/* -------------------------------------------------------------------------- *
 * Atom - Form Select dropdown
 * -------------------------------------------------------------------------- */
.a_inputSelect {
	position: relative;	
}

	.a_inputSelect select {
		position: relative;
		z-index: 2;
		display: inline-block;
		box-sizing: border-box;
		width: 100%;
		padding: 0.750rem 2.500rem 0.750rem 1.500rem;
		border: 0;
		outline: none;
		background-color: transparent;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}

	.a_inputSelect select::-ms-expand {
		display: none;
	}

	.a_inputSelect ._select {
		position: relative;
		z-index: 1;
		background-color: var(--colorWhite);
	}

	.a_inputSelect .material-symbols-rounded {
		position: absolute;
		right: 0.125rem;
		top: 0.125rem;
		z-index: 1;
		font-size: 2.500rem;
		color: var(--colorOffBlack);
		transition: all 0.25s ease-in-out;
	}

		.a_inputSelect select:hover {
			cursor: pointer;
		}
/* -------------------------------------------------------------------------- *
 * Atom - Checkbox Toggle
 * -------------------------------------------------------------------------- */
.a_inputToggle {
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 0.500rem;
	padding: 0;
	user-select: none;
}

	.a_inputToggle ._label {
		display: inline-block;
		position: relative;
		bottom: -0.0625rem;
	}

	.a_inputToggle ._toggle {
		display: inline-block;
	}

	.a_inputToggle ._toggleRail {
		display: grid;
		grid-template-columns: 1fr 1fr;
		position: relative;
		align-self: flex-end;
		width: auto;
		height: 1.750rem;
		margin: 0;
		border-radius: 1rem;
		background-color: var(--colorGrey);
		color: var(--colorOffBlack);
	}

	.a_inputToggle ._toggleSlider {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		width: 50%;
		height: 1.750rem;
		border-radius: 0.875rem;
		background-color: var(--colorPrimary);
		transition: all 0.25s ease-in-out;
	}

		.a_inputToggle:hover ._toggleSlider {
			background-color: var(--colorPrimary-light)
		}

	.a_inputToggle input {
		display: block;
		position: absolute;
		z-index: 3;
		width: 3rem;
		height: 1.750rem;
		margin: 0;
		opacity: 0;
	}

		.a_inputToggle input:hover {
			cursor:pointer;
		}

		.a_inputToggle input:checked ~ ._toggleSlider {
			left: 50%;
		}

	.a_inputToggle ._toggleFalse {
		position: relative;
		z-index: 3;
		grid-column-start: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 0.750rem;
		font-size: 0.875rem;
		transition: all 0.25s ease-in-out;
	}

	.a_inputToggle ._toggleTrue {
		position: relative;
		z-index: 3;
		grid-column-start: 2;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 0.750rem;
		font-size: 0.875rem;
		transition: all 0.25s ease-in-out;
	}

		.a_inputToggle input:not(:checked) ~ ._toggleFalse,
		.a_inputToggle input:checked ~ ._toggleTrue {
			color: var(--colorWhite);
		}


/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Left align ----- */
	.a_inputToggle.-left label
	{
		flex-direction: row-reverse;
	}

	.a_inputToggle.-left ._toggleRail
	{
		margin: 0 0.5rem 0 0;
	}

/* ----- Secondary colour variant ----- */
.a_inputToggle.-colorSecondary ._toggleSlider {
	background-color:var(--colorSecondary);
}
	.a_inputToggle.-colorSecondary label:hover ._toggleSlider {
		background-color:var(--colorSecondary-light);
	}

/* ----- Grey colour variant ----- */
.a_inputToggle.-colorGrey .toggleSlider {
	background-color:var(--colorGrey);
}
	.a_inputToggle.-colorGrey label:hover ._toggleSlider {
		background-color:var(--colorGrey-light);
	}
/* -------------------------------------------------------------------------- *
 * Atom - Loading Animation
 * -------------------------------------------------------------------------- */
.a_loading {
	display: inline-block;
	width: 3.25em;
	transform-origin: center;
	animation: a_loadingRotate 2s linear infinite;
}

	.a_loading circle {
		fill: none;
		stroke: var(--colorPrimary);
		stroke-width: 2;
		stroke-dasharray: 1, 200;
		stroke-dashoffset: 0;
		stroke-linecap: round;
		animation: a_loadingDash 1.5s ease-in-out infinite;
	}

@keyframes a_loadingRotate {
	100% {
		transform: rotate(360deg);
	}
}

@keyframes a_loadingDash {
	0% {
		stroke-dasharray: 1, 200;
		stroke-dashoffset: 0;
	}

	50% {
		stroke-dasharray: 90, 200;
		stroke-dashoffset: -35px;
	}

	100% {
		stroke-dashoffset: -125px;
	}
}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Atom - Nav Item
 * -------------------------------------------------------------------------- */
.a_navItem,
.a_navItem:visited {
	border: none;
	font-size: 1.125rem;
	color: var(--colorSecondary);
}

	.a_navItem:hover,
	.a_navItem:visited:hover {
		border-bottom: none;
		color: var(--colorSecondary);
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */

/* ----- Active ----- */
.a_navItem.-active,
.a_navItem.-active:visited {
	border-bottom: none;
	color: var(--colorSecondary);
}

	.a_navItem.-active:hover {
		border-bottom: none;
		color: var(--colorSecondary);
		cursor: pointer;
	}

/* ----- Highlight ----- */
.a_navItem.-highlight {
	position: relative;
	display: block;
	padding: 0.500rem 2rem;
	border-radius: 1.500rem;
	border: 0.125rem solid var(--colorSecondary);
	color: var(--colorSecondary);
	transition: all 0.25s ease-in-out;
	overflow: hidden;
	animation-duration: 1s;
	animation-delay: 0;
	animation-iteration-count: 1;
	animation-timing-function: ease-in-out;
}

	.a_navItem.-highlight:hover {
		
	}


		#siteTopbar ul.m_navList li .a_navItem .material-symbols-rounded {
			display: none;
			float: right;
			font-weight: 700;
		}

/* -------------------------------------------------------------------------- *
 * Admin - Nav Item
 * -------------------------------------------------------------------------- */
.o_adminSideBar .a_navItem, .o_adminSideBar .a_navItem:visited {
	display: block;
	padding: 0.875rem 1.500rem 0.875rem 1.500rem;
	border: none;
	border-left: transparent solid 0.250rem;
	color: var(--colorBlack);
	transition: all 0.25s ease-in-out;
	text-decoration: none;
}

	.o_adminSideBar .a_navItem:hover {
		background-color: var(--colorOffWhite-dark);
	}

		.o_adminSideBar .a_navItem .material-symbols-rounded {
			vertical-align: middle;
			margin: -0.250rem 0.50rem 0 0;
		}

/* ----- Active ----- */
.o_adminSideBar .a_navItem.-active {
	border: none;
	border-left: var(--colorPrimary) solid 0.250rem;
	background-color: var(--colorOffWhite-dark);
}



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */

	#siteTopbar .a_navItem {
		font-size: 1.250rem;
	}

	#siteTopbar .a_navItem.-highlight {
		color: var(--colorWhite);
		padding: 0;
		border: none;
	}

	#siteTopbar .a_navItem .material-symbols-rounded {
		display: inline-block;
		float: right;

	}
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - Price
 * -------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------- *
 * Molecule - Cart Item
 * -------------------------------------------------------------------------- */
.m_cartItem .cart-item {
	display: flex;
	align-items: center;
	border: 1px solid #ccc;
	padding: 1rem;
	border-radius: 8px;
}

.m_cartItem .product-image {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 8px;
	margin-right: 1rem;
}

.m_cartItem .product-details {
	flex: 1;
}

.m_cartItem .quantity-control {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.m_cartItem .quantity-button {
	background-color: #007bff;
	color: white;
	border: none;
	border-radius: 4px;
	width: 30px;
	height: 30px;
	cursor: pointer;
}

	.m_cartItem .quantity-button:hover {
		background-color: #0056b3;
	}

.m_cartItem .product-price {
	text-align: right;
}

/* -------------------------------------------------------------------------- *
 * Molecule - Contact Details
 * -------------------------------------------------------------------------- */
.m_contactDetails {
	margin: 0;
	padding: 0;
	list-style: none;
}



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

	.m_contactDetails {

	}

		.m_contactDetails li {
			display: inline-block;
			width: 100%;
		}

			.m_contactDetails li .a_contactDetail {
				display: inline-block;
			}
}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - Context Menu
 * -------------------------------------------------------------------------- */
.m_contextMenu {
	position: relative;
	text-align: right;
}

	.m_contextMenu ._contextMenuFlyout {
		position: absolute;
		top: -0.250rem;
		right: 1.500rem;
		z-index: 501;
		display: block;
		width: 16rem;
		height: 0;
		filter: drop-shadow(0 0 0.75rem rgba(0, 0, 0, 0.5));
		transition: all 0.25s ease-in-out;
	
		opacity: 0;
		overflow: hidden;
	}

		.m_contextMenu ._contextMenuFlyout ._contextMenuList {
			position: relative;
			z-index: 2;
			display: block;
			width: 100%;
			margin: 0;
			padding: 0.125rem 0;
			background-color: var(--colorPrimary);
			list-style: none;
		}

		.m_contextMenu ._contextMenuFlyout.-active {
			right: 2.250rem;
			height: auto;
			opacity: 1;
			overflow: visible;
		}

		.m_contextMenu ._contextMenuFlyout ._contextMenuPointer {
			position: absolute;
			top: 0.750rem;
			right: -0.375rem;
			z-index: 1;
			width: 0.8750rem;
			height: 0.8750rem;
			transform: rotate(45deg);
			background-color: var(--colorPrimary);
		}

	.m_contextMenu ._contextMenuOverlay {
		display: none;

		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 500;
		background-color: transparent;
		opacity: 0;
	}

		.m_contextMenu ._contextMenuFlyout.-active + ._contextMenuOverlay {
			display: block;
		}
/* -------------------------------------------------------------------------- *
 * Molecule - Danger Zone Panel
 * -------------------------------------------------------------------------- */
.m_dangerZone {
	box-sizing: border-box;
	padding: 1rem 1.250rem;
	border: 0.125rem solid var(--colorDanger);
	border-radius: 0.250rem;
}

	.m_dangerZone h3 {
		margin-bottom: 1.500rem;
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - Tag List
 * -------------------------------------------------------------------------- */
.m_listTags {
	
}

	.m_listTags .a_button {
		position:relative;
		z-index: 4;
		margin: 0 0.500rem 0 0;
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Nav List
 * -------------------------------------------------------------------------- */
.m_navList {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin:0;
	padding:0;
	list-style:none;
}

	.m_navList li {
		
	}

#siteTopbar .m_navList {
	font-size:1.250rem;
	font-weight: 500;
}

	#siteTopbar .m_navList li {
		display: inline-block;
		padding: 0 0 0 1.500rem;
	}

	#siteTopbar .m_navList  li:not(:last-child) {
		padding-right: 0.850rem;
	}

	#siteTopbar .m_navList li:last-child {
        padding-left: 1.650rem;
	}



/* -------------------------------------------------------------------------- *
 * Admin Sidebar Navigation
 * -------------------------------------------------------------------------- */
.o_adminSideBar .m_navList {
	width: 100%;
}

.o_adminSideBar ._navList {
	display: block;
	list-style: none;
	margin: 0;
	padding: 6.500rem 0 0 0;
}

	.o_adminSideBar ._navList li {
		display: block;
		width: 100%;
	}


/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	#siteTopbar .m_navList {
		padding: 1rem;
	} 

	#siteTopbar .m_navList li {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - Breadcrumb list
 * -------------------------------------------------------------------------- */
nav.m_navListBreadcrumb {
	
}

	ul.m_navListBreadcrumb {
		display: flex;
		list-style: none;
		margin: 0;
		padding: 0;
		font-weight: 500;
	}

		ul.m_navListBreadcrumb li {
			display: flex;
			align-items: center;
		}

		ul.m_navListBreadcrumb li  .a_navItem {
			color: var(--colorSecondary);
		}

			ul.m_navListBreadcrumb li  .a_navItem:hover {
				color: var(--colorSecondary);
				font-weight: 600;
			}

		ul.m_navListBreadcrumb li .material-symbols-rounded {
			margin: 0 0.250rem;
			color: var(--colorOffBlack-dark);
			font-size: 1.750rem;
		}

		ul.m_navListBreadcrumb li  .a_navItem.-disabled {
			color: var(--colorText);
			opacity: 0.5;
		}

			ul.m_navListBreadcrumb li  .a_navItem.-disabled:hover {
				cursor: default;
			}


/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */

/* ----- Primary coloured chevrons ----- */
nav.m_navListBreadcrumb.-chevronPrimary li .material-symbols-rounded {
	color: var(--colorPrimary);
}



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - In page contents list
 * -------------------------------------------------------------------------- */
.m_navListPageContents {
	
}

	.m_navListPageContents ul {
		margin: 0;
		padding: 0;
		border-left: 0.0625rem solid var(--colorGrey-light);
		list-style: none;
		font-weight: 500;
	}

		.m_navListPageContents ul li {
			margin: 0 0 0.750rem 0;
			padding: 0 0 0 1rem;
		}

		.m_navListPageContents ul li a,
		.m_navListPageContents ul li a:visited {
			color: var(--colorWhite);
			text-decoration: none;
			transition: all 0.25s ease-in-out;
			font-weight: 300;
		}

			.m_navListPageContents ul li a:hover {
				color: var(--colorWhite);
				text-decoration: none;
				font-weight: 600;
			}
/* -------------------------------------------------------------------------- *
 * Molecule - Pagination List
 * -------------------------------------------------------------------------- */
.m_navListPagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

	.m_navListPagination ._ellipsis {
		display: inline-block;
		padding: 0 0.500rem;
	}


/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.m_navListPagination ._ellipsis {
		padding: 0 0.250rem;
	}
}

/* -------------------------------------------------------------------------- *
 * Molecule - Sitemap Nav List
 * -------------------------------------------------------------------------- */
.m_navListSitemap {
	margin: 0;
	padding: 0 0 0 1.500rem;
	border-left: 0.0625rem solid var(--colorGrey);
	list-style: none;
}

	.m_navListSitemap li {
		margin: 0.500rem 0 0 0;
		font-size: 1.250rem;
		font-weight: 400;
	}
/* -------------------------------------------------------------------------- *
 * Atom / Molecule / Organism / View - Name
 * -------------------------------------------------------------------------- */
.m_carouselPagination {
	padding-top: 3rem;
}

	.m_carouselPagination ul {
		margin: 0;
		padding: 0;
		list-style: none;
		text-align: center;
	}

		.m_carouselPagination ul li {
			display: inline-block;
		}

		.m_carouselPagination ul li button {
			display: inline-block;
			width: 0.750rem;
			height: 0.750rem;
			margin: 0 0.500rem;
			padding: 0;
			border: none;
			outline:	none;
			border-radius: 0.500rem;
			background-color: var(--colorOffBlack);
			transition: all 0.25s ease-in-out;
		}
		.m_carouselPagination ul li button:hover {
			width: 2rem;
			cursor: pointer;
		}

			.m_carouselPagination ul li button.-active {
				display: inline-block;
				width: 3rem;
				background-color: var(--colorPrimary);
			}
/* -------------------------------------------------------------------------- *
 * Molecule - Share this page component
 * -------------------------------------------------------------------------- */
.m_navSharePage {
	padding-top: 3rem;
}

	.m_navSharePage ._shareOptions {
		margin: 0;
		padding: 0;
		list-style: none;
	}

		.m_navSharePage ._shareOptions li {
			display: inline-block;
		}

		.m_navSharePage ._shareOptions ._shareBtn {
			display: block;
			box-sizing: border-box;
			width: 2.750rem;
			height: 2.750rem;
			margin-right: 0.250rem;
			padding: 0.750rem;
			border-radius: 1.500rem;
		}	

			.m_navSharePage ._shareOptions ._shareBtn svg {
				width: 1.250rem;
				height: 1.250rem;
				fill: var(--colorGrey-light);
			}

		.m_navSharePage ._shareOptions ._shareBtn.-linkedin {
			background-color: #1D9BD0;
		}

		.m_navSharePage ._shareOptions ._shareBtn.-facebook {
			background-color: #3E5A8E;
		}

		.m_navSharePage ._shareOptions ._shareBtn.-email {
			background-color: var(--colorPrimary-dark);
		}
/* -------------------------------------------------------------------------- *
 * Molecule - Password Validation
 * -------------------------------------------------------------------------- */
.m_passwordValidation {
	margin: 0;
	padding: 0;
	list-style: none;
}
	
	.m_passwordValidation li {
		margin: 0.250rem 0;
	}

	.m_passwordValidation .material-symbols-rounded {
		vertical-align: middle;
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
.m_passwordValidation li ._iconValid {
		display: none;
	}

.m_passwordValidation li.-invalid ._iconInvalid {
		display: inline-block;
	}
.m_passwordValidation li.-invalid ._iconValid {
		display: none;
	}

.m_passwordValidation li.-valid ._iconInvalid {
		display: none;
	}

.m_passwordValidation li.-valid ._iconValid {
		display: inline-block;
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Nav Section List
 * -------------------------------------------------------------------------- */
ul.m_sectionList {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin:0;
	padding:0;
	list-style:none;
}

	ul.m_sectionList  li {
		
	}

#siteTopbar .m_sectionList {
	font-size:1.250rem;
	font-weight: 500;
}

	#siteTopbar .m_sectionList li {
		display: inline-block;
	}

    #siteTopbar .m_sectionList li:not(:last-child) {
        padding: 0 0.850rem;
    }

    #siteTopbar .m_sectionList li:last-child {
        padding-left: 0.850rem;
        padding-right: 1.650rem;
        border-right: 2px solid var(--colorTertiary);
    }

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */

    #siteTopbar .m_sectionList {
        padding: 1rem 1rem 0 1rem;
    }

    #siteTopbar .m_sectionList li {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #siteTopbar .m_sectionList li:last-child {
        padding-bottom: 1.500rem !important;
        border-right: 0;
        border-bottom: 2px solid var(--colorTertiary);
    }
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - Team Modal
 * -------------------------------------------------------------------------- */
.m_teamModal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 800;
	width: 100%;
	height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: all 0.5s ease-in-out;
}

	.m_teamModal .overlayBg {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 801;
		height: 0;
		background-color: color-mix(in srgb, var(--colorSecondary) 90%, transparent);
		opacity: 0;
		transition: opacity 0.25s ease-in-out;
	}

	.m_teamModal .row {
		width: 100%;
		max-height: 75%;
	}

	.m_teamModal img {
		position: relative;
		z-index: 802;
		opacity: 0;
		max-width: 88vw;
		max-height: 100vh;
		transition: opacity 0.25s ease-in-out;
	}

	.m_teamModal  ._galleryPrev {
		position: absolute;
		bottom: -4rem;
		left: 0;
		z-index: 803;
	}

	.m_teamModal  ._galleryNext {
		position: absolute;
		bottom: -4rem;
		right: 0;
		z-index: 803;
	}

	.m_teamModal.-active {
		height: 100vh;
	}

		.m_teamModal.-active .overlayBg {
			height: 100vh;
			opacity: 1;
		}

		.m_teamModal.-active img {
			opacity: 1;
		}

		.m_teamModal.-active ._galleryPrev.-ghost, 
		.m_teamModal.-active ._galleryNext.-ghost {
			width: 140px;
			padding: 0.725rem 0.500rem;
			border-radius: 0.400rem;
			border-color: var(--colorWhite);
			color: var(--colorWhite);
			font-size: 1.25rem;
			background-color: transparent;
		}

		.m_teamModal.-active ._galleryPrev.-ghost ._content,
		.m_teamModal.-active ._galleryNext.-ghost ._content {
			position: relative;
			top: 1px;
		}

		.m_teamModal.-active ._galleryPrev.-ghost:hover,
		.m_teamModal.-active ._galleryNext.-ghost:hover {
			background-color: var(--colorWhite);
			color: var(--colorSecondary);
			border-color: var(--colorWhite);
		}

		.m_teamModal.-active ._modalClose {
			position: absolute;
			right: 0;
			top: -4rem;
			background-color: var(--colorTertiary);
			z-index: 803;
			max-width: 36px;
			display: flex;
			justify-content: center;
			align-items: center;
		}

/* --- Team Modal Styles --- */
.m_teamModal ._modalTeam {
	display: flex;
	background: var(--colorWhite);
	box-shadow: 0 2px 24px rgba(0,0,0,0.18);
	max-width: calc(1440px - 32px);
	margin: auto;
	position: relative;
	z-index: 802;
	width: 100%;
}

.m_teamModal ._modalTeamLeft {
	padding: 4rem;
}

.m_teamModal ._modalTeamLeft p {
	line-height: 1.1;
}

.m_teamModal ._teamModalRight {
	background: var(--colorPrimary);
	color: var(--colorWhite);
	margin-left: auto;
}

.m_teamModal ._teamModalImage {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.m_teamModal ._teamModalImage img {
	width: 100%;
	height: auto;
	object-fit: cover;
}
.m_teamModal ._teamModalContactCard {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: 1rem;
	padding: 2rem;
}
.m_teamModal ._teamModalContactCard span {
	font-weight: 600;
	margin-right: 0.25rem;
}
.m_teamModal ._teamModalContactCard a {
	color: var(--colorWhite);
	text-decoration: underline;
}

@media only screen and (max-width: 1000px) {

	.m_teamModal ._modalTeam {
		max-height: 70%;
	}

	.m_teamModal ._modalTeam .row {
		overflow-y: auto;
	}

	.m_teamModal ._modalTeamLeft {
		padding: 2rem;
	}

	.m_teamModal ._teamModalRight {
		display: flex;
		margin-left: 0;
		width: 100% !important;
	}

	.m_teamModal ._teamModalRight ._teamModalImage {
		display:none;
	}

	.m_teamModal ._teamModalRight ._teamModalContactCard {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.m_teamModal ._teamModalRight ._teamModalContactCard div {
		margin-right: 0.4rem;
	}

	.m_teamModal ._teamModalRight h4 {	
		flex-basis: 100%;
		flex-grow: 1;
		margin-bottom: 0.500rem;
	}
}

@media only screen and (max-width: 600px) {

	.m_teamModal ._modalTeamLeft h2 {
		line-height: 0.9;
	}

	.m_teamModal ._modalTeamLeft, .m_teamModal ._teamModalRight ._teamModalContactCard {
		padding: 1rem;
	}

	.m_teamModal ._teamModalRight {
		flex-direction: column;
	}

	.m_teamModal ._teamModalRight ._teamModalContactCard {
		flex-direction: column;
	}

	.m_teamModal ._teamModalRight h4 {
		flex-basis: auto;
	}
}
/* -------------------------------------------------------------------------- *
 * Molecule - Accordion Tile
 * -------------------------------------------------------------------------- */
.m_tileAccordion {
	padding-top: 2rem;
}

	.m_tileAccordion ._accordionHeading {
		display: inline-block;
		position: relative;
		box-sizing: border-box;
		width: 100%;
		padding: 0 4rem 0 0;
		border: none;
		outline: none;
		text-align: left;
		background-color: transparent;
		user-select: none;
			color: inherit;
	}
		.m_tileAccordion ._accordionHeading:hover {
			cursor: pointer;	
		}

		.m_tileAccordion ._accordionHeading .material-symbols-rounded {
			position:absolute;
			top: -0.500rem;
			right: 0;
			margin: 0 0.500rem;
			font-size: 2.500rem;
			transition: all 0.25s ease-in-out;
			color: inherit;
		}

			.m_tileAccordion ._accordionHeading.-active .material-symbols-rounded._accordionExpand {
				opacity: 0;
			}

		.m_tileAccordion ._accordionContent {
			max-height: 0;
			overflow: hidden;
			transition: all 0.25s ease-in-out;
		}
/* -------------------------------------------------------------------------- *
 * Molecule - Blog Post Tile
 * -------------------------------------------------------------------------- */
.m_tileBlogPost {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	color: var(--colorWhite);
	background-color: var(--colorPrimary);
}

	/*.m_tileBlogPost ._tileBg {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
	}*/

	.m_tileBlogPost ._tileLink {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 3;
		display: block;
		width: 100%;
		height: 100%;
		border: 0;
	}

	.m_tileBlogPost ._tileBody {
		box-sizing: border-box;
		width: 100%;
		padding: 2.000rem 2.500rem 0 2.500rem;
	}

	.m_tileBlogPost ._tileBody h3._tileHeading {
		color: var(--colorWhite);
	}



/* -------------------------------------------------------------------------- *
 * Molecule - Case Study Tile
 * -------------------------------------------------------------------------- */
.m_tileCaseStudy {
	display: flex;
	flex-direction: column;
	position: relative;
	color: var(--colorWhite);
	cursor: pointer;
}

	.m_tileCaseStudy ._tileImg {
		width: 100%;
		height: 0;
		padding-top: 50%;
		background-size: cover;
		background-position: center;
	}

	.m_tileCaseStudy ._tileImg.-noImage {
		position: relative;
		background-color: var(--colorPrimary);
	}

		.m_tileCaseStudy ._tileImg.-noImage h4 {
			position: absolute;
			top: calc(50% - 0.750rem);
			width: 100%;
			margin: 0;
			text-align: center;
			color: var(--colorWhite);
		}
	 
	/*.m_tileCaseStudy ._tileContent {
		flex-grow: 1;
		position: relative;
		padding: 1rem;
		
	}*/

	.m_tileCaseStudy ._tileLink {
		display: block;
		width: 100%;
		height: 100%;
		border: 0;
	}

		/*.m_tileCaseStudy ._tileContent ._contentBg {
			position: absolute;
			 top: 0;
			 left: 0;
			 z-index: 2;
			 width: 100%;
			 height: 100%;
			 background-color: var(--colorSecondary);
			 opacity: 0.9;
		}

		.m_tileCaseStudy ._tileContent ._content {
			position: relative;
			z-index: 3;
		}

			.m_tileCaseStudy ._tileContent ._content ._tileHeading {
				margin-bottom: 0;
				color: var(--colorWhite);
			}

			.m_tileCaseStudy ._tileContent ._content ._tileSummary {
				margin-bottom: 0;
			}*/
/* -------------------------------------------------------------------------- *
 * Molecule - Feature Item Tile
 * -------------------------------------------------------------------------- */
.m_tileFeature {
	padding: 1.500rem;
	background: var(--colorSecondary);
	color: var(--colorWhite);
}

    .m_tileFeature h3 {
		color: var(--colorWhite);
		font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
		font-weight: 400;
	}

	.m_tileFeature p {
		line-height: 1.2;
	}

	.m_tileFeature svg {
		width: 11.250rem;
		height: auto;
	}

	.m_tileFeature img {
		display: inline-block;
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - Logo cloud tile
 * -------------------------------------------------------------------------- */
.m_tileLogo {
	display: flex;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	box-sizing: border-box;
	padding: 0.750rem 0;
	border-radius: 1rem;
	background-color: var(--colorWhite);
}

	.m_tileLogo a {
		border-bottom: none;
		color: var(--colorOffBlack);
	}

	.m_tileLogo img {
		width: 100%;
		height: auto;
	}

	.m_tileLogo ._caption {
		margin: 1rem 0 0 0;
		font-size: 0.875rem;
		font-weight: 700;
	}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - Logo cloud tile
 * -------------------------------------------------------------------------- */
.m_tileLogo {
	display: flex;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	box-sizing: border-box;
	padding: 0.750rem 0;
	border-radius: 1rem;
	background-color: var(--colorWhite);
}

	.m_tileLogo a {
		border-bottom: none;
		color: var(--colorOffBlack);
	}

	.m_tileLogo img {
		width: 100%;
		height: auto;
	}

	.m_tileLogo ._caption {
		margin: 1rem 0 0 0;
		font-size: 0.875rem;
		font-weight: 700;
	}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - Price Tile
 * -------------------------------------------------------------------------- */
.m_tilePrice {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	height: 100%;
	padding: 1rem;
	border-radius: 1rem; 
	background-color: rgba(0, 0, 0, 0.05);
}


	.m_tilePrice ._tileContent {
		padding: 2rem 0.500rem 0.500rem 0.500rem;
	}

		.m_tilePrice ._tileContent h3._priceHeading {
			margin-bottom: 0.250rem;
			font-size: 1.250rem;
			color: var(--colorPrimary);
		}

		.m_tilePrice ._tileContent ._price {
			font-size: 3rem;
		}

		.m_tilePrice ._tileContent ul._priceFeatures {
			margin: 0;
			padding: 0 0 0 1.750rem;
			list-style: none;
		}

			.m_tilePrice ._tileContent ul._priceFeatures li {
				position: relative;
				padding-bottom: 0.500rem;
			}

				.m_tilePrice ._tileContent ul._priceFeatures li .material-symbols-rounded {
					position: absolute;
					top: 0.0625rem;
					left: -1.750rem;
					color: var(--colorPrimary);
				}

	/* ----- Header ----- */
	.m_tilePrice ._tileHeader {
		position: absolute;
		top: -1.250rem;
		left: 0;
		width: 100%;
		text-align: center;
	}

	/* ----- Footer ----- */
	.m_tilePrice ._tileFooter {
		padding-bottom: 1rem;
		text-align: center;
	}


/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - Statistic Tile
 * -------------------------------------------------------------------------- */
.m_tileStatistic {
	margin-top: 2rem;
	padding: 2rem 1rem;
	text-align: center;
	border-right: 0.125rem solid var(--colorGrey);
}

	.m_tileStatistic:nth-child(4n+4) {
		border-right: none;
	}

	.m_tileStatistic ._statistic {
		display: inline-block;
		width: 100%;
		font-size: 2rem;
		font-weight: 700;
	}

	.m_tileStatistic ._description {

	}

/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.m_tileStatistic:nth-child(2n+2) {
		border-right: none;
	}
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.m_tileStatistic {
		border-right: none;
		border-bottom: 0.125rem solid var(--colorGrey);
	}
	.m_tileStatistic:last-of-type {
		border-bottom: none;
	}
}
/* -------------------------------------------------------------------------- *
 * Molecule - Feature Item Tile
 * -------------------------------------------------------------------------- */
.m_tileTeamMember {
	 position: relative;
	color: var(--colorWhite);
	 min-height: 300px;
	 justify-content: flex-start;
	cursor: pointer;
}

	 .m_tileTeamMember ._teamBg {
		  position: absolute;
		  top: 0;
		  left: 0;
		  width: 100%;
		  height: 100%;
		  background-size: cover;
		  background-position: center;
		  z-index: 1;
	 }

	.m_tileTeamMember ._teamContent {
		position: relative;
		padding: 1rem;
		width: 100%;
		align-self: flex-end;
	}

		.m_tileTeamMember ._teamContent ._contentBg {
			position: absolute;
			 top: 0;
			 left: 0;
			 z-index: 2;
			 width: 100%;
			 height: 100%;
			 background-color: var(--colorPrimary);
			 opacity: 0.9;
		}

		.m_tileTeamMember ._teamContent ._content {
			position: relative;
			z-index: 3;
		}

	.m_tileTeamMember ._fullName {
		margin-bottom: 0.250rem;
		font-size: 1.250rem;
		font-weight: 400;
		line-height: 1.250rem;
		color: var(--colorWhite);
	}

	.m_tileTeamMember ._jobTitle {
		margin-top: 0;
		margin-bottom: 0;
		line-height: 1;
		font-weight: 300;
	}

	.m_tileTeamMember img {
		display: inline-block;
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Molecule - Timeline List Item
 * -------------------------------------------------------------------------- */
.m_tileTimeline {
	position: relative;
	padding: 0;
}

	.m_tileTimeline::before {
		content: '';
		position: absolute;
		top: 0.750rem;
		left: 0;
		width: 100%;
		height: 0.06125rem;
		background-color: var(--colorGrey);
	}

	.m_tileTimeline ._date {
		position: relative;
		display: inline-block;
		margin-bottom: 0.750rem;
		padding: 0 0.500rem 0 1.250rem;
		font-size: 0.875rem;
		font-weight: 700;
	}

		.m_tileTimeline ._date::before {
			content: '';
			position: absolute;
			top: 0.500rem;
			left: 0.250rem;
			width: 0.500rem;
			height: 0.500rem;
			border-radius: 0.250rem;
			background-color: var(--colorPrimary);
		}

	.m_tileTimeline ._heading {
		font-size: 1.500rem;
		font-weight: 700;
	}

	.m_tileTimeline ._description {

	}


/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Alert Modal
 * -------------------------------------------------------------------------- */
.o_adminAlert {
	position: fixed;
	top: 0;
	right: -100vw;
	z-index: 300;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	height: 100vh;
	transition: all 0.25s ease-in-out;
}

	.o_adminAlert.-active {
		right: 0;
	}

	.o_adminAlert ._overlayBg {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 300;
		width: 0;
		height: 100vh;
		opacity: 0;
		transition: all 0.25s ease-in-out;
	}

	.o_adminAlert.-active ._overlayBg {
		width: 100vw;
		background-color: var(--colorWhite);
		opacity: 0.7;
	}
	
	.o_adminAlert ._alertPanel {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		position: relative;
		z-index: 301;
		box-sizing:border-box;
		width: 34rem;
		height: auto;
		padding: 2rem 2rem 1rem 2rem;
		border: 0.125rem solid var(--colorOffWhite-dark);
		border-radius: 0.500rem;
		background-color: var(--colorOffWhite);
		transition: all 0.25s ease-in-out;
		overflow: auto;
	}

		.o_adminAlert.-active ._alertPanel {
			right: 0;
		}

	.o_adminAlert ._alertPanel ._contentInner {
		flex-grow: 1;
		text-align: center;
	}

	.o_adminAlert ._alertHdr {
		position: relative;
		text-align: center;
	}

		.o_adminAlert ._alertHdr h2 {
			margin: 0.250rem 0;
		}

	.o_adminAlert ._alertFtr {
		padding-top: 1rem;
		border-top: 0.0625rem solid var(--colorGrey-light);
	}



/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Descriptive Name
 * -------------------------------------------------------------------------- */
.o_adminBottomBar {
	
}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Side Drawer
 * -------------------------------------------------------------------------- */
.o_adminDrawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 200;
}

	.o_adminDrawer ._overlayBg {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 200;
		width: 0;
		height: 100vh;
		opacity: 0;
		transition: all 0.25s ease-in-out;
	}

	.o_adminDrawer.-active ._overlayBg {
		width: 100vw;
		background-color: var(--colorWhite);
		opacity: 0.7;
	}
	 /* ----- Drawer Content ----- */
	.o_adminDrawer ._drawerPanel {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		position: fixed;
		top: 0;
		right: -52rem;
		z-index: 201;
		box-sizing:border-box;
		width: 52rem;
		height: 100vh;
		padding: 2rem;
		border-left: 0.125rem solid var(--colorOffWhite-dark);
		background-color: var(--colorOffWhite);
		transition: all 0.25s ease-in-out;
		overflow: auto;
	}

		.o_adminDrawer.-active ._drawerPanel {
			right: 0;
		}

	.o_adminDrawer ._drawerPanel ._contentInner {
		flex-grow: 1;
	}

	/* ----- Drawer Header ----- */
	.o_adminDrawer ._drawerHdr {
		position: relative;
		padding-right: 3rem;
		padding-bottom: 3rem;
	}

		.o_adminDrawer ._drawerHdr .a_buttonIcon._closeDrawer {
			position:absolute;
			top: 0;
			right: 0;
		}

		.o_adminDrawer ._drawerHdr h2 {
			margin: 0.250rem 0;
		}

	/* ----- Drawer Footer ----- */
	.o_adminDrawer ._drawerFtr {
		padding-top: 1rem;
		border-top: 0.0625rem solid var(--colorGrey-light);
	}
/* -------------------------------------------------------------------------- *
 * Organism - Side bar
 * -------------------------------------------------------------------------- */

.o_adminSideBar {
	display: flex;
	flex-wrap: wrap;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
	box-sizing: border-box;
	height: 100%;
	width: 16.250rem;
	

	border-right: 0.125rem solid var(--colorOffWhite-dark);
	background-color: var(--colorOffWhite);


	overflow: auto;
	transition: left 0.25s ease-in-out;
}

	.o_adminSideBar ._footer {
		align-self: flex-end;
		width: 100%;
	}

.o_adminSideBar.-closed {
	left: -16.250rem;
}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .ms- / 2 columns
	 * ---------------------------------------- */
	
}
body
{
}
/* -------------------------------------------------------------------------- *
 * Organism - Anchor Block for home page
 * -------------------------------------------------------------------------- */
.o_blockAnchor {
	position: relative;
	top: -10rem;
}
/* -------------------------------------------------------------------------- *
 * Organism - Call to action
 * -------------------------------------------------------------------------- */
.o_blockCallToAction {
	padding: 5rem 0;
	color: var(--colorWhite);
	background-color: var(--colorPrimary);
}

/* -------------------------------------------------------------------------- *
 * Organism - Contact Form Block
 * -------------------------------------------------------------------------- */
.o_blockContactForm {
	margin: 1.500rem 0;
}




/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Content section
 * -------------------------------------------------------------------------- */
.o_blockContent {
	margin: 1.500rem 0;
}

.o_blockContent .container {
	
}

.o_blockContent h2:first-child,
.o_blockContent h4:first-child {
	/*margin-top: 1rem;*/
	/*padding-top: 0.5rem;*/
}

.o_blockContent h4 a {
	color: var(--colorSecondary);
}

/* ------ Colour Variatsion ------ */
.o_blockContent.-bgPrimary {
	color: var(--colorWhite);
}

.o_blockContent.-bgOffBlack {
	color: var(--colorWhite);
}
/* -------------------------------------------------------------------------- *
 * Organism - Logo Cloud
 * -------------------------------------------------------------------------- */
.o_blockCredentials {
	
}

	.o_blockCredentials .col.-brdrRgt {
		border-right: 0.125rem solid var(--colorPrimary);
	}

	/* ----- Logo Cloud List ----- */
	.o_blockCredentials ._logoCloud {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;
	}

		/* --- Alignment --- */
		.o_blockCredentials ._logoCloud.-hCenter {
			text-align: center;
		}

		.o_blockCredentials ._logoCloud.-hEnd {
			text-align: right;
		}

		/* --- Column widths --- */
		.o_blockCredentials ._logoCloud {
			 display: grid;
			 gap: 1rem;
		}
			.o_blockCredentials ._logoCloud.-logoCols2 {
				 grid-template-columns: repeat(2, 1fr);
			}
			.o_blockCredentials ._logoCloud.-logoCols4 {
				 grid-template-columns: repeat(4, 1fr);
			}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.o_blockCredentials .col.-brdrRgt {
		border-right: none;
	}
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.o_blockCredentials ._logoCloud.-logoCols4 {
			grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Features List
 * -------------------------------------------------------------------------- */
.o_blockFeatures {
	
}

	.o_blockFeatures ._features {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-auto-rows: 1fr;
		gap: 1.500rem;
		list-style: none;
		margin: 0;
		padding: 0;
	}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */

@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.o_blockFeatures ._features {
		grid-template-columns: 1fr 1fr;
	}
	
}

@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.o_blockFeatures ._features {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Gallery Block
 * -------------------------------------------------------------------------- */
.o_blockGallery {

}

	ul._galleryThumbs {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}

		._galleryThumbs li {
			display: block;
			box-sizing: border-box;
			width: 33.33%;
			padding: 0.500rem;
		}

			._galleryThumbs li img {
				display: block;
			}

			._galleryThumbs li ._galleryThumb {
				display: block;
				margin: 0;
				padding: 0;
				border: none;
				border-radius: 0.5rem;
				overflow: hidden;
				transition: transform 0.25s ease-in-out;
			}

			._galleryThumbs li ._galleryThumb:hover {
				transform: scale(1.025);
				cursor: pointer;
			}
/* -------------------------------------------------------------------------- *
 * Organism - Image Block
 * -------------------------------------------------------------------------- */
 .o_blockImage {
	position: relative;
	width: 100%;

}

		
/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Blog Posts Content List
 * -------------------------------------------------------------------------- */
.o_blockListBlogPosts {

}

	.o_blockListBlogPosts ._listBlogPosts {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-auto-rows: 1fr;
		gap: 1.500rem;
		margin: 1.500rem 0;
		padding: 0;
		list-style: none;
	}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */

@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.o_blockListBlogPosts ._listBlogPosts {
		grid-template-columns: 1fr 1fr;
	}
	
}

@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.o_blockListBlogPosts ._listBlogPosts {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Blog Posts Content List
 * -------------------------------------------------------------------------- */
.o_blockListCaseStudies {

}

	.o_blockListCaseStudies ._listCaseStudies {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-auto-rows: 1fr;
		gap: 1.500rem;
		margin: 1.500rem 0;
		padding: 0;
		list-style: none;
	}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */

@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */
	.o_blockListCaseStudies ._listCaseStudies {
		grid-template-columns: 1fr 1fr;
	}
	
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_blockListCaseStudies ._listCaseStudies {
		grid-template-columns: 1fr;
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Pricing Table
 * -------------------------------------------------------------------------- */
.o_blockPricing {
	
}

/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Blockquote carousel
 * -------------------------------------------------------------------------- */
.o_blockquote {
	margin: 1.500rem 0;
	/*aspect-ratio: 16/4;
    min-height: 350px;*/
	/*overflow: hidden;*/
}

	/* --- Background Image --- */
	.o_blockquote ._bgImg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
	}

	/* --- Quote Content --- */
	.o_blockquote ._content {
		position: relative;
		z-index: 2;
		padding: 2rem 1rem;
		color: var(--colorWhite);
	}

	.o_blockquote ._bgOverlay {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		mix-blend-mode: multiply;
	}


/* ----- Colour variants ----- */
/* - Background Primary - */
.o_blockquote.-bgPrimary {
	color: var(--colorWhite);
}
.o_blockquote.-bgPrimary .m_carouselPagination ul li button {
	background-color: var(--colorGrey-light);
}
.o_blockquote.-bgPrimary .m_carouselPagination ul li button.-active {
	background-color: var(--colorWhite);
}

/* - Background Off Black - */
.o_blockquote.-bgOffBlack {
	color: var(--colorWhite);
}
.o_blockquote.-bgOffBlack .m_carouselPagination ul li button {
	background-color: var(--colorGrey-light);
}
.o_blockquote.-bgOffBlack .m_carouselPagination ul li button.-active {
	background-color: var(--colorPrimary);
}

@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.o_blockquote .a_blockquote.-active blockquote p {
		font-size: 2rem;
	}
}

@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 3 columns
	 * ---------------------------------------- */
	.o_blockquote ._quoteWrapper {
		left: 6%;
	}

	.o_blockquote ._quoteWrapper div {
		min-width: auto;
	}

	.o_blockquote h4 {
		font-size: 1.2rem;
	}

	.o_blockquote .a_blockquote.-active blockquote p {
		font-size: 1.5rem;
	}

	.o_blockquote .a_blockquote.-active figcaption {
		font-size: 1.2rem;
	}
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_blockquote ._quoteWrapper {
		left: 6%;
		max-width: 280px;
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Statistics Content Block
 * -------------------------------------------------------------------------- */
.o_blockStatistics {
}

	.o_blockStatistics ul._statisticsList {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		margin: 0;
		padding: 0 2rem 2rem 2rem;
		border-radius: 2rem;
		background-color: rgba(0, 0, 0, 0.1);
		list-style: none;
	}

/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.o_blockStatistics ul._statisticsList {
		grid-template-columns: 1fr 1fr;
	}
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_blockStatistics ul._statisticsList {
		grid-template-columns: 1fr;
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Features List
 * -------------------------------------------------------------------------- */
.o_blockTeamMembers {
	
}

	.o_blockTeamMembers ._teamMembers {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 1.500rem;
		list-style: none;
		margin: 0;
		padding: 0;
	}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */

@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */
	.o_blockTeamMembers ._teamMembers {
		grid-template-columns: 1fr 1fr;
	}
	
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_blockTeamMembers ._teamMembers {
		grid-template-columns: 1fr;
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Timeline Content Block
 * -------------------------------------------------------------------------- */
.o_blockTimeline {
	overflow: hidden;
}

	.o_blockTimeline ._timelineList {
		margin: 0;
		padding: 0;
		list-style: none;
		overflow: visible;
	}

	/* ----- Swiper Overrides ----- */
	.o_blockTimeline .swiper-button-next,
	.o_blockTimeline .swiper-button-prev {
		top: auto;
		bottom: 0.750rem;
		user-select: none;
	}

		.o_blockTimeline .swiper-button-next:after,
		.o_blockTimeline .swiper-button-prev:after {
			display: none;
		}

		.o_blockTimeline .swiper-button-next .material-symbols-rounded,
		.o_blockTimeline .swiper-button-prev .material-symbols-rounded {
			font-size:4rem;
		}

	.o_blockTimeline .swiper-pagination {
		position: relative;
		padding: 1.500rem 0 0.500rem 0;
	}

		.o_blockTimeline .swiper-pagination .swiper-pagination-bullet {
			width: 0.750rem;
			height: 0.750rem;
			border-radius: 0.500rem;
			background-color: var(--colorOffBlack);
			opacity: 1;
			transition: all 0.25s ease-in-out;
		}

		.o_blockTimeline .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
			width: 3rem;
			background-color: var(--colorPrimary);
		}


/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
	@media only screen and (max-width: 1400px)
	{
		/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Blog post content block
 * -------------------------------------------------------------------------- */
.o_blogContent {
	margin: 1.500rem 0;
}

	.o_blogContent ._content {
		padding: 2rem 3rem;
	}

	.o_blogContent ._sidebar {
		padding: 0 0 1rem 0;
		background-color: var(--colorPrimary);
	}

		.o_blogContent ._sidebar ._content {
			padding: 2rem;
			color: var(--colorWhite);
		}

			.o_blogContent ._sidebar ._content h4 {
				color: var(--colorWhite);
			}
/* -------------------------------------------------------------------------- *
 * Organism - Blog post content block
 * -------------------------------------------------------------------------- */
.o_caseStudyContent {
	margin: 1.500rem 0;
}

	.o_caseStudyContent ._content {
		padding: 2rem 3rem;
	}

	.o_caseStudyContent ._sidebar {
		padding: 0 0 1rem 0;
		background-color: var(--colorPrimary);
	}

		.o_caseStudyContent ._sidebar ._content {
			padding: 2rem;
			color: var(--colorWhite);
		}

			.o_caseStudyContent ._sidebar ._content h4 {
				color: var(--colorWhite);
			}
/* -------------------------------------------------------------------------- *
 * Organism - Blog Post hero space
 * -------------------------------------------------------------------------- */
.o_heroBlogPost {
	position: relative;
	color: var(--colorWhite);
	background-color: var(--colorBlack);
}

	.o_heroBlogPost main.row {
		padding: 4rem 0;
	}

	.o_heroBlogPost ._heroBlogPostBg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */

.o_heroBlogPost .m_navListBreadcrumb li .a_navItem,
.o_heroBlogPost .m_navListBreadcrumb li .a_navItem.-disabled,
.o_heroBlogPost .m_navListBreadcrumb.-chevronPrimary li .material-symbols-rounded {
	color: var(--colorWhite);
}
/* -------------------------------------------------------------------------- *
 * Organism - Site Hero
 * -------------------------------------------------------------------------- */
 .o_heroHome {

}

	.o_heroHome ._heroBg {
		position: relative;
		width: 100%;
		margin: 0;
		padding: 28% 0 0 0;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
	}

	.o_heroHome ._heroBgVideo {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
	}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */
}
/* -------------------------------------------------------------------------- *
 * Organism - Site Hero
 * -------------------------------------------------------------------------- */
.o_heroMinimal {

}

	.o_heroMinimal ._heroBg {
		position: relative;
		width: 100%;
		margin: 0;
		padding: 28% 0 0 0;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
	}
/* -------------------------------------------------------------------------- *
 * Organism - Site Hero
 * -------------------------------------------------------------------------- */
 .o_heroSimple {

}

	.o_heroSimple ._heroBg {
		position: relative;
		width: 100%;
		margin: 0;
		padding: 28% 0 0 0;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
	}
/* -------------------------------------------------------------------------- *
 * Organism - Human Sitemap
 * -------------------------------------------------------------------------- */
.o_humanSitemap {
	
}

	.o_humanSitemap nav {
	
	}

		.o_humanSitemap nav ul {
			margin: 0;
			padding: 0;
			list-style:none;
		}

			.o_humanSitemap nav ul li {
				padding: 0.125rem 0;
				font-size: 1.250rem;
				font-weight: 400;
			}

				.o_humanSitemap nav ul li ul {
					margin: 0 0 0 0.500rem;
					padding: 0 0 0 1rem;
				}
/* -------------------------------------------------------------------------- *
 * Organism - Blog Posts List
 * -------------------------------------------------------------------------- */
.o_listAllBlogPosts {
	margin: 1.500rem 0 5rem 0;
}

	.o_listAllBlogPosts ._listBlogPosts {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-auto-rows: 1fr;
		gap: 1.500rem;
		margin: 1.500rem 0;
		padding: 0;
		list-style: none;
	}

	.o_listAllBlogPosts ._blogFilter {
		padding: 1.500rem 0;	
	}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */

@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.o_listAllBlogPosts ._listBlogPosts {
		grid-template-columns: 1fr 1fr;
	}
	
}

@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.o_listAllBlogPosts ._listBlogPosts {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Case Studies List (All)
 * -------------------------------------------------------------------------- */
.o_listAllCaseStudies {

}

	.o_listAllCaseStudies ._listCaseStudies {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-auto-rows: 1fr;
		gap: 1.500rem;
		margin: 1.500rem 0;
		padding: 0;
		list-style: none;
	}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */

@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */
	.o_listAllCaseStudies ._listCaseStudies {
		grid-template-columns: 1fr 1fr;
	}
	
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_listAllCaseStudies ._listCaseStudies {
		grid-template-columns: 1fr;
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Site Bottom Bar
 * -------------------------------------------------------------------------- */
.o_siteBottomBar {
	width:100%;
	margin: 0 0 6rem 0;
}

.o_siteBottomBar .container {
	
}

    .o_siteBottomBar ._siteBottomContact p {
		font-size: 1rem;
	}

	.o_siteBottomBar ._siteBottomContact a {
		border-bottom: 0;
		text-decoration: none;
		transition: all 0.25s ease-in-out;
	}

	.o_siteBottomBar ._siteBottomContact a:hover {
		border-bottom: 0.0625rem dotted var(--colorWhite);
	}

    .o_siteBottomBar #siteBtmBarLogo {
		max-width: 12rem;
		margin-bottom: 0.3rem;
	}

    .o_siteBottomBar ._siteBottomAddress {
		max-width: 21ch;
	}

	.o_siteBottomBar .a_button.-small {
		font-weight: 600;
		font-size: 1rem;
		border-radius: 0.400rem;
		padding: 0.625rem 1.2rem;
	}

	.o_siteBottomBar .a_button.-small ._content {
		position: relative;
		top: 1px;
	}

	.o_siteBottomBar .svg_mohLogo_icon_blue {
		max-width: 4rem;
	}

	.o_siteBottomBar ._siteBottomSmallPrint-wrapper {
		display: flex;
		justify-content: flex-end;
		align-items: end;
	}

	.o_siteBottomBar ._siteBottomNav {

	}

		.o_siteBottomBar ._siteBottomNav ul {
			display: block;
			margin: 0;
			padding: 0;
			list-style: none;
		}
			
			.o_siteBottomBar ._siteBottomNav ul li {
				display: inline-block;
				padding: 0 0.500rem;
			}

			.o_siteBottomBar ._siteBottomNav ul li:first-child {
				padding-left: 0;
			}

			.o_siteBottomBar ._siteBottomNav ul li:last-child {
				padding-right: 0;
			}

			.o_siteBottomBar ._siteBottomNav ul li:not(:last-child) {
				border-right: 1px solid var(--colorTertiary);
			}

				.o_siteBottomBar ._siteBottomNav ul li a {
					color: var(--colorWhite);
					border-bottom: 0;
					text-decoration: none;
					transition: all 0.25s ease-in-out;
				}

				.o_siteBottomBar ._siteBottomNav ul li a:hover {
					border-bottom: 0.0625rem dotted var(--colorWhite);
				}

		.o_siteBottomBar .siteBottomSmallPrint p a {
			color: var(--colorTertiary);
			font-weight: 500;
			border-bottom: 0;
			text-decoration: none;
			transition: color 0.25s ease-in-out;
		}

		.o_siteBottomBar .siteBottomSmallPrint p a:hover {
			border-bottom: 0.0625rem dotted var(--colorTertiary);
		}

	.o_siteBottomBar .siteBottomSmallPrint .-txtGrey-dark a {
		color: var(--colorGrey-dark);
		border-bottom-color: var(--colorGrey-dark);
	}

	
/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.o_siteBottomBar .container {
		max-width: 100%;
	}

	.o_siteBottomBar ._siteBottomSmallPrint-wrapper {
		justify-content: center;
		align-items: center;
		margin-top: 3rem;
	}
}

@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 3 columns
	 * ---------------------------------------- */
	.o_siteBottomBar ._siteBottomNav ul li {
		line-height: 0.950rem;
	}

	.o_siteBottomBar ._siteBottomNav ul li:first-child {
		padding-left: 0;
	}

	.o_siteBottomBar ._siteBottomNav ul li:nth-child(3) {
		border-right: 0;
	}

	.o_siteBottomBar ._siteBottomNav ul li:last-child{
		padding-left: 0;
		padding-right: 0;
	}
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_siteBottomBar ._siteBottomSmallPrint-wrapper {
		justify-content: flex-start;
		align-items: start;
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Site Top Bar
 * -------------------------------------------------------------------------- */
.o_siteTopBar {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 500;
	width: 100%;
	min-width: 320px;
	height:6.625rem;
	background-color: var(--colorWhite);
	transition: background-color 0.5s ease-in-out;
}

	.o_siteTopBar .container {
		height: 100%;
	}

		.o_siteTopBar .container .row {
			height: 100%;
			margin: 0 -1rem;
		}

		.o_siteTopBar ._navWrapper .a_button.-small {
			font-weight: 600;
			font-size: 1rem;
			border-radius: 0.400rem;
			padding: 0.3126rem 1.2rem;
		}

		.o_siteTopBar ._navWrapper .a_button.-small ._content {
			position: relative;
			top: 1px;
		}

		.o_siteTopBar ._topBarLink {
			text-decoration: none;
			border-bottom: 0;
			position: relative;
			top: 3.5px;
		}

		.o_siteTopBar ._topBarIconWrapper {
			display: inline-block;
			width: 2rem;
			height: 2rem;
			border-radius: 50%;
			background-color: var(--colorPrimary);
			transition: background-color 0.25s ease-in-out;
			text-align: center;
			line-height: 2.5rem;
		}

		.o_siteTopBar ._topBarIconWrapper:hover {
			background-color: var(--colorPrimary-dark);
		}

		.o_siteTopBar ._topBarIcon {
			width: 1rem;
			fill: var(--colorWhite);
		}

		.o_siteTopBar ._topBarLogo {
			display: block;
			position: relative;
			border-bottom: none;
		}
	._topBarLinks-small {
		display: none;
	}


/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
	@media only screen and (max-width: 1460px) {
		.o_siteTopBar .container .row {
			margin: 0;
		}
	}
	@media only screen and (max-width: 1400px) {
		/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	.o_siteTopBar.-tl-navOpen {
		background-color: var(--colorOffBlack);
	}	
	
	#siteTopbar #fullscreenNav {
		position: fixed;
		flex-direction: column;
		justify-content: flex-start;
		top: 6.625rem;
		right: -100%;
		box-sizing: border-box;
		width: 100%;
		height: calc(100vh - 6.625rem);
		padding: 2rem 0;
		background-color: var(--colorGrey-light);
		transition: all 0.5s ease-in-out;
		overflow: auto;
	}

	#siteTopbar #fullscreenNav.-active {
		right: 0;
	}

		#siteTopbar #fullscreenNav ul {
			flex-wrap: wrap;
		}

			#siteTopbar #fullscreenNav li {
				width: 100%;
				padding: 0.750rem 1.500rem;
				text-align: left;
			}

	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
}

@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	._topBarLinks {
		display: none;
	}
	._topBarLinks-small {
		display: block;
	}

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Small Print Code Section
 * -------------------------------------------------------------------------- */
.o_smallPrintCode {
	padding-bottom: 2rem;
}
/* -------------------------------------------------------------------------- *
 * Organism - Small Print Content Section
 * -------------------------------------------------------------------------- */
.o_smallPrintContent {
	padding-bottom: 2rem;
}
/* -------------------------------------------------------------------------- *
 * Atom / Molecule / Organism / View - Name
 * -------------------------------------------------------------------------- */
.o_tileAdmin {

}

	.o_tileAdmin ._tile {
		border-radius: 0.500rem;
		border: 0.125rem solid var(--colorOffWhite-dark);
		background-color: var(--colorOffWhite);
	}

	.o_tileAdmin ._tileHeader {
		padding: 0.500rem 1rem;
		border-bottom: 0.125rem solid var(--colorOffWhite-dark);
	}

	.o_tileAdmin ._tileContent {
		padding: 1rem;
	}

	.o_tileAdmin ._tileFooter {
		padding-top: 1rem;
		text-align: center;
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .ms- / 2 columns
	 * ---------------------------------------- */
	
}
﻿/* -------------------------------------------------------------------------- *
 * View - Home
 * -------------------------------------------------------------------------- */
.v_blockContent {
	
}

/* -------------------------------------------------------------------------- *
 * View - Home
 * -------------------------------------------------------------------------- */
.v_blockContentHome {
	
}
﻿/* -------------------------------------------------------------------------- *
 * View - Blog List
 * -------------------------------------------------------------------------- */
.v_blogList {
	
}

/* -------------------------------------------------------------------------- *
 * View - Blog Post
 * -------------------------------------------------------------------------- */
.v_blogPost {
	
}
/* -------------------------------------------------------------------------- *
 * View - Error view
 * -------------------------------------------------------------------------- */
.v_errorPage {
	display: flex;
	flex-grow: 2;
	align-items: center;
	height: 100%;
	min-height: 90vh;
}

	.v_errorPage .container {
		min-height: 100%;
	}

	.v_errorPage .a_button {
		border-radius: 0.400rem;
		font-size: 1.25rem;
		padding: 0.725rem 0.500rem;
		width: 220px;
		margin-bottom: 0.5rem;
	}

	.v_errorPage .a_button.-ghost {
		color: var(--colorPrimary);
	}

	.v_errorPage .a_button.-ghost:hover {
		color: var(--colorWhite);
	}

		.v_errorPage .a_button ._content {
			position: relative;
			top: 1px;
		}

/* -------------------------------------------------------------------------- *
 * View - Form complete / success
 * -------------------------------------------------------------------------- */
.v_formComplete {
	display: flex;
	align-items: center;
	height: 100%;
}
/* -------------------------------------------------------------------------- *
 * View - Human Sitemap
 * -------------------------------------------------------------------------- */
.v_humanSitemap {
	height: 100%;
}

.v_humanSitemap a {
	font-weight: 500;
}

.v_humanSitemap a:hover {
	font-weight: 600;
}
.v_smallPrint {

}

   .v_smallPrint ._smallPrintIntro {
      margin: 1.500rem auto;
      padding: 2rem 0;
   }

    .v_smallPrint ._smallPrintNav {
        padding: 3rem 2rem 2rem 2rem;
    }

    .v_smallPrint ._smallPrintContent {
       padding: 2rem;
    }
