/* -------------------------------------------------------------------------- *
 * Atom - Blockquote
 * -------------------------------------------------------------------------- */
.a_blockquote {
	margin: 0;
	padding: 0;
	opacity: 0.75;
	filter: blur(1rem);
	transition: all 0.5s ease-in-out 0s;
}

	.a_blockquote blockquote {
		position: relative;
		margin: 0;
		padding: 0 2rem;
		border: none;
		line-height: 1em;
		font-style: normal;
	}
	
		.a_blockquote blockquote  p {
			font-size: 0;
			transition: all 0.25s ease-in-out 0.5s;
		}

		.a_blockquote figcaption.author {
			display: block;
			padding-top: 0;
			font-size: 0;
			font-style: normal;
			font-weight: 800;
			transition: all 0.25s ease-in-out 0.5s;
		}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Active variant ----- */
.a_blockquote.-active {
	opacity: 1;
	filter: blur(0rem);
	transition: all 0.5s ease-in-out 0.75s;
}
	.a_blockquote.-active blockquote  p {
		font-size: 1.500rem;
		transition: all 0.25s ease-in-out 0.5s;
	}
	.a_blockquote.-active  figcaption.author {
		padding-top: 1.500rem;
		font-size: 1.250rem;
		transition: all 0.25s ease-in-out 0.5s;
	}

/* -------------------------------------------------------------------------- *
 * Atom - Standard button element
 * -------------------------------------------------------------------------- */
.a_button {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0.9125rem 0.750rem;
	border: 0.125rem solid transparent;
	border-radius: 1.500rem;
	outline: none;
	background: var(--colorPrimary);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1em;
	color: var(--colorWhite);
	text-align: center;
	transition: background-color 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.5rem 0 -0.31250rem 0;
		vertical-align: middle;
	}

	.a_button .material-symbols-rounded.-after {
		margin: -0.5rem 0 -0.31250rem 0;
		vertical-align: middle;
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Ghost variant ----- */
.a_button.-ghost {
	background-color: transparent;
	border: 0.125rem solid var(--colorPrimary);
	color: var(--colorOffBlack);
}

	.a_button.-ghost:hover {
		background-color: transparent;
	}

/* ----- Secondary colour variant ----- */
.a_button.-colorSecondary {
	border-color: var(--colorSecondary);
	background-color: var(--colorSecondary);
	color: var(--colorOffBlack);
}

/* ----- Ghost + Secondary colour variant ----- */
.a_button.-ghost.-colorSecondary {
	background-color: transparent;
	border-color: 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);
}

/* ----- Small ----- */
.a_button.-small {
	padding: 0.750rem 1.500rem;
}

/* ----- Large ----- */
.a_button.-large {
	font-size: 1.250rem;
}

/* ----- Wider ----- */
.a_button.-wider {
	padding-right: 3.500rem;
	padding-left: 3.500rem;
}

/* ----- Widest ----- */
.a_button.-widest {
	box-sizing: border-box;
	width:100%;
}


/* ----- Waiting ----- */
.a_button:disabled {
	cursor: not-allowed;
	background-color: var(--colorOffBlack);
}

.a_button:disabled:hover {
	animation-name: none;
}


/* -------------------------------------------------------------------------- *
 * 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-
	 * ---------------------------------------- */
	
}

/* -------------------------------------------------------------------------- *
 * Default styles
 * -------------------------------------------------------------------------- */
.a_buttonBurger {
	position: relative;
	width: 2.500rem;
	height: 2.500rem;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	font-size:1rem;
	transition: all 0.25s ease-in-out;
	z-index:3;
}

	.a_buttonBurger ._line
	{
		position: absolute;
		top: calc(50% - 0.125em);
		width: 100%;
		height: 0.250em;
		border-radius: 0.125em;
		background-color: var(--colorWhite);
		transform-origin: center;
		transition: all 0.25s ease-in-out;
	}
	.a_buttonBurger ._lineOne
	{
		top: calc(20% - 0.125em);
	}

	.a_buttonBurger ._lineTwo
	{
		opacity: 1;
	}

	.a_buttonBurger ._lineThree
	{
		top: calc(80% - 0.125em);
	}

	.a_buttonBurger:hover {
		cursor: pointer;
	}

	.a_buttonBurger ._btnContent {
		font-size: 0;
		opacity: 0;
	}




/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */
.a_buttonBurger.-active {
	
}
	.a_buttonBurger.-active ._lineOne
	{
		top: calc(50% - 0.125em);
		-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.125em);
		-ms-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.a_buttonBurger.-active:hover {
		
	}

.a_buttonBurger.-colorSecondary .line {
	background-color: var(--colorSecondary);
}

.a_buttonBurger.-colorOffBlack .line {
	background-color: var(--colorOffBlack);
}


/* -------------------------------------------------------------------------- *
 * 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 - Link that looks like a button
 * -------------------------------------------------------------------------- */
.a_buttonLink,
.a_buttonLink:visited {
	display: inline-block;
	position: relative;
	vertical-align: bottom;
	padding: 0.750rem 0.500rem 0.6125rem 0.500rem;
	border: 0.125rem solid var(--colorWhite);
	border-radius: .3rem;
	outline: none;
	background: var(--colorPrimary);
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1em;
	color: var(--colorBlack);
	background-color: var(--colorSecondary);
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.25s ease-in-out;
	overflow: hidden;
}

	.a_buttonLink:hover {
		background-color: var(--colorSecondary);
		border-color: var(--colorSecondary);
		cursor: pointer;
	}

	.a_buttonLink ._content {
		margin: 0 0.500rem;
	}

	.a_buttonLink .material-symbols-rounded {
		margin: -0.5rem 0 -0.31250rem 0;
		vertical-align: middle;
	}

	.a_buttonLink .material-symbols-rounded.-after {
		margin: -0.5rem 0 -0.31250rem 0;
		vertical-align: middle;
	}


/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Primary colour variant ----- */
.a_buttonLink.-colorPrimary {
	border-color: var(--colorPrimary);
	background-color: var(--colorPrimary);
	color: var(--colorWhite);
}

	.a_buttonLink.-colorPrimary:hover {
		border-color: var(--colorSecondary);
		background-color: var(--colorSecondary);
	}

/* ----- Wide Buttons ------ */
.a_buttonLink.-wide {
	min-width: 18rem;
}
/* -------------------------------------------------------------------------- *
 * 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 - Image with Caption
 * -------------------------------------------------------------------------- */
.a_imgWithCaption {
	position: relative;
	margin: 0;
	padding: 0;
}

	.a_imgWithCaption figcaption {
		padding: 0.750rem 0 0 0;
		font-size: 1.125rem;
		font-weight: 200;
		text-align: center;
		color: var(--colorOffBlack);
	}

	.a_imgWithCaption.-fullWidth img {
		width: 100%;
	}
/* -------------------------------------------------------------------------- *
 * Atom - Checkbox input
 * -------------------------------------------------------------------------- */
.a_inputCheckbox {
	user-select: none;
}

	.a_inputCheckbox ._checkbox {
		position: relative;
		top: 0.250rem;
		display: inline-block;
		width: 1.125rem;
		height: 1.125rem;
		border-radius: 0.500rem;
		border: 0.125rem solid var(--colorGrey);
		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.1875em solid var(--colorWhite);
		border-radius: 0.5em;
		background-color: var(--colorWhite);
		box-shadow: 0 0 0 0.0625em var(--colorGrey);
		-webkit-box-shadow: 0 0 0 0.0625em var(--colorGrey);
		-moz-box-shadow: 0 0 0 0.0625em var(--colorGrey);
	}

	.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-radius: 1.500rem;
		border: 0.125rem solid var(--colorGrey);
		outline: none;
		background: transparent;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}

	.a_inputSelect select::-ms-expand {
		display: none;
	}

	.a_inputSelect .material-symbols-rounded {
		position: absolute;
		right: 0.125rem;
		bottom: 0;
		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;
	padding: 0;
	user-select: none;
}

	.a_inputToggle ._label {
		display:inline-block;
		position: relative;
		top: -0.375rem;
	}

	.a_inputToggle ._toggleRail {
		display: inline-block;
		position: relative;
		align-self: flex-end;
		width: 3rem;
		height: 1.5rem;
		margin: 0 0 0 0.5rem;
		border-radius: 1rem;
		background-color: var(--colorGrey);
		color: var(--colorOffBlack);
	}

	.a_inputToggle ._toggleSlider {
		position: absolute;
		z-index: 2;
		top: 0;
		left: 0;
		width: 1.5rem;
		height: 1.5rem;
		border-radius: 0.875rem;
		background-color: var(--colorPrimary);
		transition: all 0.25s ease-in-out;
	}
		.a_inputToggle label:hover ._toggleSlider {
			background-color: var(--colorPrimary-light)
		}

	.a_inputToggle input {
		display: block;
		position: absolute;
		z-index: 3;
		width: 3rem;
		height: 1.5rem;
		margin: 0;
		opacity: 0;
	}

		.a_inputToggle input:hover {
			cursor:pointer;
		}

		.a_inputToggle input:checked ~ ._toggleSlider {
			left: 1.5rem;
		}

		.a_inputToggle input:active ~ .-toggleSlider {
			width: 2rem;
		}

		.a_inputToggle input:checked:active ~ .-toggleSlider {
			left: 1rem;
		}

	.a_inputToggle ._toggleTrue {
		position: absolute;
		z-index: 1;
		top: 0.375rem;
		left: 0.375rem;
		font-size: 0.750em;
	}

	.a_inputToggle ._toggleFalse {
		position: absolute;
		z-index: 1;
		top: 0.375rem;
		right: 0.375rem;
		font-size: 0.750em;
	}


/* -------------------------------------------------------------------------- *
 * 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 - Nav Item
 * -------------------------------------------------------------------------- */
.a_navItem,
.a_navItem:visited {
	border: none;
	font-size: 1.125rem;
}

	.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;
	}


/* -------------------------------------------------------------------------- *
 * 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 - 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 - Gallery Modal
 * -------------------------------------------------------------------------- */
.m_galleryModal {
	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_galleryModal .overlayBg {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 801;
		height: 0;
		background-color: rgba(28, 30, 35,0.8);
		opacity: 0;
		transition: opacity 0.25s ease-in-out;
	}

	.m_galleryModal img {
		position: relative;
		z-index: 802;
		opacity: 0;
		max-width: 88vw;
		max-height: 100vh;
		transition: opacity 0.25s ease-in-out;
	}

	.m_galleryModal  ._galleryPrev {
		position: fixed;
		top: 50%;
		left: -4rem;
		z-index: 803;
		transform: scale(0.4, 2);
		margin-top: -2rem;
	}

	.m_galleryModal  ._galleryNext {
		position: fixed;
		top: 50%;
		right: -4rem;
		z-index: 803;
		transform: scale(0.4, 2);
		margin-top: -2rem;

	}

	.m_galleryModal.-active {
		height: 100vh;
	}

		.m_galleryModal.-active .overlayBg {
			height: 100vh;
			opacity: 1;
		}

		.m_galleryModal.-active img {
			opacity: 1;
		}

		.m_galleryModal.-active ._galleryPrev {
			left: 1rem;
			transform: none;
		}

		.m_galleryModal.-active ._galleryNext {
			right: 1rem;
			transform: none;
		}
/* -------------------------------------------------------------------------- *
 * Molecule - Nav List
 * -------------------------------------------------------------------------- */
ul.m_navList {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin:0;
	padding:0;
	list-style:none;
}

	ul.m_navList  li {
		
	}



/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
body.-fullscreenNavOpen {
	overflow: hidden;
}



/* -------------------------------------------------------------------------- *
 * 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_siteTopBar nav.m_navList {
		position: fixed;
		top: 7.3125rem;
		right: -100%;
		z-index: 100;
		box-sizing: border-box;
		width: 100%;
		height: calc(100vh - 7.3125rem);
		padding: 2rem 0;
		background-color: var(--colorOffBlack);
		transition: all 0.5s ease-in-out;
		overflow: auto;
	}

	.o_siteTopBar nav.m_navList.-active {

		right: 0;
	}

		.o_siteTopBar ul.m_navList {
			flex-wrap: wrap;
		}

			.o_siteTopBar ul.m_navList  li {
				width: 100%;
				padding: 0.750rem 1.500rem;
				text-align: left;
			}

			.o_siteTopBar ul.m_navList  li .a_navItem {
				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_siteTopBar nav.m_navList {
		top: 9.500rem;
		height: calc(100vh - 9.500rem);
	}
}
@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(--colorWhite);
		}

			ul.m_navListBreadcrumb li  .a_navItem:hover {
				color: var(--colorOffBlack);
			}

		ul.m_navListBreadcrumb li .material-symbols-rounded {
			margin: 0 0.500rem;
			color: var(--colorOffBlack-dark);
			font-size: 2rem;
		}

		ul.m_navListBreadcrumb li  .a_navItem.-disabled {
			color: var(--colorOffWhite);
			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 {
	margin: 0 -1rem;
	padding: 2rem 2rem 1.250rem 2rem;
	background-color: var(--colorGrey-light);
}

	.m_navListPageContents ul {
		margin: 0;
		padding: 0;
		border-left: 0.0625rem solid var(--colorGrey-dark);
		list-style: none;
		font-weight: 400;
	}

		.m_navListPageContents ul li {
			margin: 0 0 0.750rem 0;
			padding: 0 0 0 1rem;
		}
/* -------------------------------------------------------------------------- *
 * 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 - Sidebar Content
 * -------------------------------------------------------------------------- */
.m_sidebarContent.-styleBordered {
	padding: 0.750rem 1.5rem;
	margin-top: 2rem;
	border: solid 0.125rem var(--colorPrimary);
	border-radius: 0.3125rem;
}

.m_sidebarContent.-styleGreenBackground {
	background-color: var(--colorPrimary);
	padding: 0.750rem 1.5rem;
	border-radius: 0.3125rem;
	color: var(--colorWhite);
}

	.m_sidebarContent.-styleGreenBackground h3 {
		color: var(--colorWhite);
	}

	.m_sidebarContent.-styleGreenBackground a,
	.m_sidebarContent.-styleGreenBackground a:visited {
		color: var(--colorWhite);
	}
/* -------------------------------------------------------------------------- *
 * Organism - Feedback section
 * -------------------------------------------------------------------------- */

.m_sidebarFeedback {
	background: var(--colorSecondary);
	padding: 1rem;
	border-radius: 0.3rem;
}

	.m_sidebarFeedback h5{
		letter-spacing: -0.05rem;
	}

	/* ----- Buttons ----- */
	.m_sidebarFeedback ._feedbackBtns {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 0;
		width: 12rem;
		margin: 0 auto;
	}

	.m_sidebarFeedback ._btnThumb {
		background: none;
		border: none;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		font-weight: 700;
		font-size: 1rem;
	}

		.m_sidebarFeedback ._btnThumb span {
			padding:0.500rem 0.250rem;
		}

		.m_sidebarFeedback ._btnThumb svg {
			width: 2rem;
		}

	/* ----- Form ----- */
	.m_sidebarFeedback textarea._improveFormText {
		width: 100%;
		height: 10rem;
		margin-top: 1rem;
		border: none;
		border-radius:0;
		outline: none;
	}


	.m_sidebarFeedback ._improveFormSubmit,
	.m_sidebarFeedback ._improveFormSubmit:visited {
		display: inline-block;
		position: relative;
		vertical-align: bottom;
		margin-top:1rem;
		margin: 0;
		padding: 0.9125rem 0.750rem;
		border: 1px solid var(--colorBlack);
		border-radius: .3rem;
		outline: none;
		background: var(--colorPrimary);
		font-size: 1rem;
		font-weight: 700;
		line-height: 1em;
		color: var(--colorWhite);
		text-align: center;
		transition: background-color 0.25s ease-in-out;
		overflow: hidden;
	}

.m_sidebarFeedback .form{
	display: flow-root;
}
/* -------------------------------------------------------------------------- *
 * Organism - Content section
 * -------------------------------------------------------------------------- */
.o_blockButton {
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Content section
 * -------------------------------------------------------------------------- */
.o_blockContent {

}

.o_blockContent.-styleBordered {
	padding: 0.750rem 1.5rem;
	margin-top: 2rem;
	border: solid 0.125rem var(--colorPrimary);
	border-radius: 0.3125rem;
}

.o_blockContent.-styleGreenBackground {
	background-color: var(--colorPrimary);
	padding: 0.750rem 1.5rem;
	border-radius: 0.3125rem;
	color: var(--colorWhite);
}

	.o_blockContent.-styleGreenBackground a,
	.o_blockContent.-styleGreenBackground a:visited {
		color: var(--colorWhite);
	}
/* -------------------------------------------------------------------------- *
 * Organism - Gallery Block
 * -------------------------------------------------------------------------- */
.o_blockGallery {

}

	.o_blockGallery ul._galleryThumbs {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}

		.o_blockGallery ._galleryThumbs li {
			display: block;
			box-sizing: border-box;
			width: 50%;
			padding: 0 0.500rem;
		}

			.o_blockGallery ._galleryThumbs li img {
				display: block;
			}

			.o_blockGallery ._galleryThumbs li ._galleryThumb {
				display: block;
				margin: 0;
				padding: 0;
				border: 0.0625rem solid var(--colorBlack);
				border-radius: 0;
				overflow: hidden;
				transition: transform 0.25s ease-in-out;
			}

			.o_blockGallery ._galleryThumbs li ._galleryThumb:hover {
				transform: scale(1.025);
				cursor: pointer;
			}
/* -------------------------------------------------------------------------- *
 * Organism - Content section
 * -------------------------------------------------------------------------- */
.o_contentSection.-styleWith-Border {
	border-radius: .3rem;
	border: solid 2px #000;
	padding: .7rem 1.4rem;
	margin-top: 2rem;
}
/* -------------------------------------------------------------------------- *
 * Organism - Site Hero
 * -------------------------------------------------------------------------- */
.o_heroSimple {
	margin-bottom: 1.500rem;
	padding: 7rem 0;
	color: var(--colorWhite);
	background-color: var(--colorBlack);
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	background-size: auto 100%;
}

	.o_heroSimple.-reducedHeight {
		padding: 4rem 0;
	}

	.o_heroSimple h1 {
		font-size: clamp(2vw,10vw,6.4rem);
	}
		.o_heroSimple ._subHeading {
			color: var(--colorSecondary);
			text-transform: uppercase;
			font-size: min(6vw, 2rem);
			font-weight: 400;
			color: var(--colorSecondary);
		}

	.o_heroSimple ._longContent {
		max-width: 34rem;
	}
/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
	/* ----- Centered ----- */
	.o_heroSimple.-smallHero main.row {
		padding: 1rem 0;
	}

.o_heroSimple.-smallHero  h1 {
	margin-bottom: 0;
}
/* -------------------------------------------------------------------------- *
 * 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 - Image Block
 * -------------------------------------------------------------------------- */
.o_imageSection {

}
.o_imageSection img {
	margin: 0 auto;
}
/* -------------------------------------------------------------------------- *
 * Organism - Sidebar
 * -------------------------------------------------------------------------- */
.o_sidebar
{
}

	.o_sidebar ._sidebarPanel
	{
		border-radius: .3rem;
		padding: .7rem 1.4rem;
		margin-top: 1rem;
		background-color: var(--colorPrimary);
		color: var(--colorWhite);
	}

/* -------------------------------------------------------------------------- *
 * Organism - Site Bottom Bar
 * -------------------------------------------------------------------------- */
.o_siteBottomBar {
	width:100%;
}

	.o_siteBottomBar .svg_mohLogo_icon_blue {
		max-width: 4rem;
	}

	.o_siteBottomBar ._siteBottomNav {

	}

		.o_siteBottomBar ._siteBottomNav ul {
			display: block;
			margin: 0;
			padding: 0;
			list-style: none;
		}
			
			.o_siteBottomBar ._siteBottomNav ul li {
				display: inline-block;
				min-width: 40%;
				padding: 0 0 1rem 0;
			}

				.o_siteBottomBar ._siteBottomNav ul li a {
					color: var(--colorWhite);
					border-bottom-color: var(--colorWhite);
				}

	.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 ._siteBottomNav ul li {
		width: 50%;
	}
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_siteBottomBar ._siteBottomNav ul li {
		width: 100%;
		text-align: center;
	}
}

/* -------------------------------------------------------------------------- *
 * Default styles
 * -------------------------------------------------------------------------- */
.o_siteTopBar {
	width: 100%;
	min-width: 320px;
	height: 7.3125rem;
	background-color: var(--colorPrimary);
	transition: background-color 0.5s ease-in-out;
}

	.o_siteTopBar ._topBarLogo {
		width: clamp(0rem,79vw,8rem);
		display: block;
		margin: 0.6rem 0;
	}

	.o_siteTopBar ._siteTitle {
		margin-bottom: 0.500rem;
		font-size: 1.875rem;
		color: var(--colorSecondary);
	}

	/* ----- Navigation ----- */
	.o_siteTopBar .m_navList {
		
	}

		.o_siteTopBar .m_navList .a_navItem {
			display: inline-block;
			padding: 0 1rem;
			border-right: 0.125rem solid var(--colorWhite);
			text-transform: uppercase;
			text-decoration: none;
			font-weight: 400;
			line-height: 1rem;
			color: var(--colorWhite);
			letter-spacing: 0.125rem;
		}

			.o_siteTopBar .m_navList .a_navItem.-active {
				color: var(--colorSecondary);
			}

		.o_siteTopBar .m_navList li:last-of-type .a_navItem {
			padding-right: 0;
			border-right: 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
	 * ---------------------------------------- */
	.o_siteTopBar ul.m_navList li .a_navItem {
		padding: 0;
		font-size: 1.500rem;
	}
}

@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */
	.o_siteTopBar ._siteTitle {
		font-size: 1.500rem;
	}
}

@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.o_siteTopBar {
		height: 9.500rem;
	}

	.o_siteTopBar ._topBarLogo {
		width: 6rem;
		margin:0;
	}
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_siteTopBar ._siteTitle {
		font-size: 1.125rem;
	}

	.o_siteTopBar ul.m_navList li .a_navItem {
		font-size: 1.250rem;
	}
}

﻿/* -------------------------------------------------------------------------- *
 * View - Home
 * -------------------------------------------------------------------------- */
.v_blockContent {
	
}

﻿/* -------------------------------------------------------------------------- *
 * View - Home
 * -------------------------------------------------------------------------- */
.v_blockContent {
	
}

/* -------------------------------------------------------------------------- *
 * View - Error view
 * -------------------------------------------------------------------------- */
.v_errorPage {
	display: flex;
	align-items: center;
	height: 100%;
}
/* -------------------------------------------------------------------------- *
 * View - Form complete / success
 * -------------------------------------------------------------------------- */
.v_formComplete {
	display: flex;
	align-items: center;
	height: 100%;
}
/* -------------------------------------------------------------------------- *
 * View - Human Sitemap
 * -------------------------------------------------------------------------- */
.v_humanSitemap {
	height: 100%;
}
/* -------------------------------------------------------------------------- *
 * View - Small Print & Legal Pages
 * -------------------------------------------------------------------------- */
.v_smallPrint {
	
}