/* -------------------------------------------------------------------------- *
 * 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 - 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, .a_button:visited {
	display: inline-block;
	position: relative;
	padding: 0.6125rem 0.875rem;
	border: none;
	border-radius: 0.500rem;
	outline: none;
	background: var(--colorPrimary);
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1em;
	color: var(--colorWhite-perpetual);
	text-align: center;
	vertical-align: middle;
	transition: all 0.25s ease-in-out;
	overflow: hidden;
}

	.a_button:hover {
		border: none;
		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;
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
.a_button.-ghost, .a_button.-ghost:visited {
	border: 0.125rem solid var(--colorPrimary);
	background-color:transparent;
	color: var(--colorPrimary);
}

	.a_button.-ghost:hover {
		background-color: var(--colorPrimary);
		color: var(--colorWhite);
	}

.a_button.-ghost.-white, .a_button.-ghost.-white:visited {
	border: 0.125rem solid var(--colorWhite);
	background-color: transparent;
	color: var(--colorWhite);
}

.a_button.-ghost.-white:hover {
	background-color: var(--colorWhite);
	color: var(--colorBlack);
}


/* -------------------------------------------------------------------------- *
 * Pagiantion
 * -------------------------------------------------------------------------- */
.a_button.-pagination,
.a_button.-pagination:visited {
	padding-right: 0;
	padding-left: 0;
	min-width: 2rem;
	margin: 0 0.250rem;
	border: none;
	white-space: nowrap;
	color: var(--colorWhite-perpetual);
}

	.a_button.-pagination.-prev .material-symbols-rounded {
		
	}

	.a_button.-pagination.-next .material-symbols-rounded {
		
	}

	.a_button.-pagination.-active {
		background-color: var(--colorPrimary-dark);
		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;
	z-index: 200;
	width: 3rem;
	height: 3rem;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 1rem;
	transition: all 0.25s ease-in-out;
}

	.a_buttonBurger ._line {
		position: absolute;
		top: calc(50% - 0.1875rem);
		left: calc(50% - 1.250rem);
		width: 2.500rem;
		height: 0.375rem;
		border-radius: 0.1875rem;
		background-color: var(--colorWhite);
		transform-origin: center;
		transition: all 0.25s ease-in-out;
	}

	.a_buttonBurger ._lineOne {
		top: calc(50% - 1rem);
	}

	.a_buttonBurger ._lineTwo {
		opacity: 1;
	}

	.a_buttonBurger ._lineThree {
		top: calc(50% + 0.6875rem);
	}

	.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.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 {
		
	}


/* ----- 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-
	 * ---------------------------------------- */
	.a_buttonBurger {
		width: 2rem;
		height: 2rem;
	}

		.a_buttonBurger ._line {
			left: calc(50% - 1rem);
			width: 2rem;
			height: 0.250rem;
		}

		.a_buttonBurger ._lineOne {
			top: calc(50% - 0.875rem);
		}

		.a_buttonBurger ._lineThree{
			top: calc(50% + 0.500rem);
		}

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms-
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Atom - Sidebar expand/collapse toggle button
 * -------------------------------------------------------------------------- */
.a_buttonSidebar {
	display: block;
	margin: 0;
	padding: 0.250rem;
	border: 0;
	outline: none;
	background: transparent;
}

	.a_buttonSidebar:hover {
		cursor: pointer;
	}

	.a_buttonSidebar ._iconIsOpen,
	.a_buttonSidebar ._iconIsCollapsed {
		font-size: 1.500rem;
		color: var(--colorWhite-perpetual);
	}


	.a_buttonSidebar.-isOpen ._iconIsOpen {
		display: block;
	}

	.a_buttonSidebar.-isOpen ._iconIsCollapsed {
		display: none;
	}


	.a_buttonSidebar.-isCollapsed ._iconIsOpen {
		display: none;
	}

	.a_buttonSidebar.-isCollapsed ._iconIsCollapsed {
		display: block;
	}

/* ----- 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 - 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);
	}

		.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(--colorText);
	text-align: left;
	font-weight: 500;
	font-size: 1rem;
	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);
		color: var(--colorWhite-perpetual);
		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-radius: 0.250rem;
		border: 0.125rem solid var(--colorTileBdr);
		background-color: var(--colorTileBg);
		text-align: center;
		user-select: none;
	}

		.a_inputCheckbox ._checkbox svg {
			position: relative;
			width: 1.125rem;
			height: 1.125rem;
			fill: var(--colorTileBg);
		}

	.a_inputCheckbox ._input {
		width: 0;
		height: 0;
		margin: 0;
		padding: 0;
		opacity: 0;
	}

		.a_inputCheckbox ._input:checked + ._checkbox {
			border-color: var(--colorSecondary-dark);
			background-color: var(--colorSecondary);
		}

		.a_inputCheckbox ._input:checked + ._checkbox svg {
		}

	.a_inputCheckbox ._input:disabled {

	}

		.a_inputCheckbox ._input:disabled + ._checkbox  {
			background-color: var(--colorGrey-light);
		}

			.a_inputCheckbox ._input:disabled + ._checkbox:hover  {
				cursor: not-allowed;
			}

		.a_inputCheckbox ._input:disabled + ._checkbox svg  {
			fill: var(--colorGrey-light);
		}



/* ----- Colour variants ----- */
.-bgPrimary .a_inputCheckbox ._checkbox {
	border-color: var(--colorWhite);
}

	.-bgPrimary .a_inputCheckbox ._input:checked + ._checkbox {
		border-color: var(--colorSecondary);
		background-color: var(--colorSecondary);
	}

		.-bgPrimary .a_inputCheckbox ._input:checked + ._checkbox svg {
			fill: var(--colorOffBlack);
		}



/* -------------------------------------------------------------------------- *
 * 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);
	}

/* ----- Colour Variants ----- */
.-bgPrimary .a_inputRadio ._radioButton {
	box-shadow: 0 0 0 0.0625em var(--colorWhite);
	-webkit-box-shadow: 0 0 0 0.0625em var(--colorWhite);
	-moz-box-shadow: 0 0 0 0.0625em var(--colorWhite);
}

	.-bgPrimary .a_inputRadio input:checked ~ ._radioButton {
		background-color: var(--colorOffBlack);
	}
/* -------------------------------------------------------------------------- *
 * 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.500rem 2.500rem 0.500rem 1.500rem;
		border-radius: 0.500rem;
		border: 0.125rem solid var(--colorTileBdr);
		outline: none;
		background-color: transparent;
		font-size: 1.125rem;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}

	.a_inputSelect select:disabled {
		cursor: not-allowed;
	}

	.a_inputSelect select::-ms-expand {
		display: none;
	}

	.a_inputSelect ._select {
		position: relative;
		z-index: 1;
		border-radius: 0.500rem;
		background-color: var(--colorTileBg);
	}

	.a_inputSelect .material-symbols-rounded {
		position: absolute;
		right: 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;
	font-family: Arial Rounded MT Bold, 'Arial Rounded MT Bold', Helvetica Rounded, Arial, sans-serif;
	font-weight: 700;
	color: var(--colorBlack);
}

	.a_navItem:hover,
	.a_navItem:visited:hover {
		border-bottom: none;
		color: var(--colorPrimary);
	}

		.a_navItem span._content {
			font-family: 'Arial Rounded MT Bold', Helvetica Rounded, Arial, sans-serif;
			font-weight: 700;
		}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */

/* ----- Active ----- */
.a_navItem.-active,
.a_navItem.-active:visited {
	border-bottom: none;
	color: var(--colorPrimary);
}

	.a_navItem.-active:hover {
		border-bottom: none;
		color: var(--colorPrimary);
		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
	 * ---------------------------------------- */

	#siteTopbar ul.m_navList li .a_navItem {
		font-size: 1.750rem;
	}

	#siteTopbar ul.m_navList li .a_navItem.-highlight {
		color: var(--colorWhite);
		padding: 0;
		border: none;
	}

	#siteTopbar ul.m_navList li .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
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Atom - Timeline Content
 * -------------------------------------------------------------------------- */
.a_timelineContent {
}

   .a_timelineContent ._content {
      margin: 2rem;
      padding: 0 0 1.750rem 0; 
      border-bottom: 0.250rem dotted var(--colorPrimary);
   }

      .a_timelineContent p:last-child {
         margin-bottom: 0;
      }
/* -------------------------------------------------------------------------- *
 * Atom - Timeline Feature
 * -------------------------------------------------------------------------- */
.a_timelineFeature {
   
}

   .a_timelineFeature ._featureContent {
      position: relative;
      display: grid;
      grid-template-columns: 4.500rem 1fr;
      grid-template-rows: 1fr 1fr 0;
      grid-gap: 0;
      width: auto;
      margin: 1rem;
      padding: 1.250rem 1rem 1rem 1rem;
      border: 0.250rem solid var(--colorPrimary);
      border-radius: 1rem;
      text-align: left;
   }

   .a_timelineFeature ._icon {
      grid-column: 1;
      grid-row: 1 / span 2;
   }

      .a_timelineFeature ._icon .material-symbols-rounded {
         font-size: 4rem;
         color: var(--colorPrimary);
      }

   .a_timelineFeature ._heading {
      grid-column: 2;
      grid-row: 1;
      padding-top: 0.250rem;
      font-size: 2rem;
      font-weight: 900;
      text-align: left;

   }

   .a_timelineFeature ._description {
      grid-column: 2;
      grid-row: 2;
      font-weight: 400;
      font-size: 1.125rem;
      text-align: left;
   }

   .a_timelineFeature .a_button {
      position: absolute;
      right: 2rem;
      bottom: -1rem;
   }
/* -------------------------------------------------------------------------- *
 * Atom - Timeline Content
 * -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- *
 * Atom - Timeline Content
 * -------------------------------------------------------------------------- */
.a_timelineImage {
   margin: 1rem;
}

   .a_timelineImage ._image {
      border-radius: 0.500rem;
      overflow: hidden;
   }
/* -------------------------------------------------------------------------- *
 * Atom - Timeline Content
 * -------------------------------------------------------------------------- */
.a_timelineStatistic {
}

   .a_timelineStatistic ._statisticContent {
      display: grid;
      grid-template-columns: 5.500rem 1fr;
      grid-template-rows: 1fr 1fr 0;
      grid-gap: 0.500rem;
      width: auto;
      margin: 1rem;
      padding: 1.250rem 1rem 0.250rem 1rem;
      border: 0.250rem solid var(--colorPrimary);
      border-radius: 1rem;
   }

   .a_timelineStatistic ._icon {
      grid-column: 1;
      grid-row: 1 / span 2;
   }

      .a_timelineStatistic ._icon .material-symbols-rounded {
         font-size: 5rem;
         color: var(--colorPrimary);
      }

   .a_timelineStatistic ._statistic {
      grid-column: 2;
      grid-row: 1;
      padding-top: 1rem;
      font-size: 3.500rem;
      font-weight: 900;

   }

   .a_timelineStatistic ._description {
      grid-column: 2;
      grid-row: 2;
      font-weight: 400;
      font-size: 1.500rem;
   }
/* -------------------------------------------------------------------------- *
 * Atom - Descriptive Name
 * -------------------------------------------------------------------------- */
.a_devTemplate {
	
}

/* ----- 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 - 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;
	display: inline-block;
	text-align: right;
}

	.m_contextMenu ._contextMenuFlyout {
		position: absolute;
		top: 0;
		right: 1.375rem;
		z-index: 501;
		display: block;
		min-width: 14rem;
		height: 0;
		padding: 0;
		border: 0 solid var(--colorTileBdr);
		border-radius: 0.500rem;
		background-color: var(--colorTileBg);

		filter: drop-shadow(0 0 0.75rem rgba(0, 0, 0, 0.5));
		opacity: 0;
		overflow: hidden;
	}

		.m_contextMenu ._contextMenuFlyout ._contextMenuList {
			position: relative;
			z-index: 2;
			display: block;
			width: 100%;
			margin: 0;
			padding: 0.125rem 0;
			list-style: none;
		}

		.m_contextMenu ._contextMenuFlyout.-active {
			right: 2.250rem;
			height: auto;
			padding: 0.250rem 0;
			border: 0.0625rem solid var(--colorTileBdr);
			opacity: 1;
			overflow: visible;
		}

	.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 - 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
 * -------------------------------------------------------------------------- */
.m_navList ul._navList {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin:0;
	padding:0;
	list-style:none;
	font-size: 1.250rem;
}

	.m_navList ul._navList  li {
		display: inline-block;
		padding: 0 1rem;
		border-right: 0.125rem solid var(--colorGrey);
		line-height: 1rem;
	}

		.m_navList ul._navList  li:first-of-type {
			padding-left: 0;
		}

		.m_navList ul._navList  li:last-of-type {
			border-right: none;
			padding-right: 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
	 * ---------------------------------------- */
	.m_navList {
		justify-content: flex-end;
		max-height: 0;
		padding: 0;
		overflow: hidden;
		transition: all 0.25s ease-in-out;
	}

		.m_navList ul._navList {
			flex-wrap: wrap;
			transition: all 0.25s ease-in-out;
		}

			.m_navList ul._navList li {
				width: 100%;
				padding: 0.500rem 0.7500rem;
				border-right: none;
				text-align: right;
				transition: all 0.25s ease-in-out;
			}

				.m_navList ul._navList  li:last-of-type {
					padding: 0.500rem 0.7500rem;
				}

	.m_navList.-active {
		max-height: 16rem;
		padding: 1rem 0;
	}


}
@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(--colorText);
		}

			ul.m_navListBreadcrumb li  .a_navItem:hover {
				color: var(--colorOffBlack);
			}

		ul.m_navListBreadcrumb li .material-symbols-rounded {
			margin: 0 0.250rem;
			color: var(--colorOffBlack);
			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);
		list-style: none;
		font-weight: 400;
	}

		.m_navListPageContents ul li {
			margin: 0 0 0.750rem 0;
			padding: 0 0 0 1rem;
		}
/* -------------------------------------------------------------------------- *
 * 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;
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Feature Item Tile
 * -------------------------------------------------------------------------- */
.m_tileFeature {
	
}

	.m_tileFeature ._tile {
		position: relative;
		display: grid;
		grid-template-columns: 3.250rem 1fr;
		grid-gap: 1rem;
		align-items: center;
		padding: 1rem;
		background-color: var(--colorWhite);
		box-shadow: 0.250rem 0.250rem 0.75rem 0 rgba(0,0,0,0.1);
	}

		.m_tileFeature ._tile ._tileIcon {

		}

		.m_tileFeature ._tile ._tileContent {

		}

		.m_tileFeature ._tile ._tileLink {
			position: absolute;
			top: 0;
			left: 0;
			z-index: 2;
			width: 100%;
			height: 100%;
			border-bottom: none;
		}

	.m_tileFeature img {
		display: inline-block;
	}






/* -------------------------------------------------------------------------- *
 * 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 - Descriptive Name
 * -------------------------------------------------------------------------- */
.m_devTemplate {
	
}

/* ----- 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 - Content section
 * -------------------------------------------------------------------------- */
.o_blockContent {
	padding: 0 1rem;
	border-radius: 0.500rem;
}

	.o_blockContent.-hasIcon {

	}

		.o_blockContent.-hasIcon .col
		{
			display: grid;
			grid-template-columns: 3.250rem 1fr;
			grid-gap: 1rem;
		}


/* ------ Colour Variatsion ------ */
.o_blockContent.-bgOffWhite {
	padding: 0;
}

.o_blockContent.-bgWhite {
	box-shadow: 0.250rem 0.250rem 0.75rem 0 rgba(0,0,0,0.1);
}

.o_blockContent.-bgPrimary {
	color: var(--colorWhite);
}

.o_blockContent.-bgBlack {
	color: var(--colorWhite);
}

.o_blockContent.-bgGrey-dark {
	color: var(--colorWhite);
}


/* -------------------------------------------------------------------------- *
 * 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
	 * ---------------------------------------- */
	.o_blockContent.-bgWhite {
		padding: 0;
		margin: 0 1rem;
	}
}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Downloads Block
 * -------------------------------------------------------------------------- */
.o_blockDownloads {
	padding: 1rem 2rem;
	border-radius: 0.500rem;
}

	.o_blockDownloads .col {
		display: grid;
		grid-template-columns: 3.250rem 1fr;
		grid-gap: 1rem;
	}


	.o_blockDownloads ._downloads {
		display: block;
		margin: 0;
		padding: 0;
		list-style: none;
	}

		.o_blockDownloads ._downloads li {

		}

			.o_blockDownloads ._downloads li a {
				position: relative;
				display: block;
				padding-left: 1.500rem;
				border-bottom: none;
				text-decoration: underline;
			}

				.o_blockDownloads ._downloads li a:hover {
					text-decoration: none;
				}

				.o_blockDownloads ._downloads li a img {
					display: block;
					position: absolute;
					top: 0.125rem;
					left: 0.125rem;
				}


/* ------ Colour Variatsion ------ */
.o_blockDownloads.-bgOffWhite {
	padding: 0;
}

.o_blockDownloads.-bgWhite {
	box-shadow: 0.250rem 0.250rem 0.75rem 0 rgba(0,0,0,0.1);
}

.o_blockDownloads.-bgPrimary {
	color: var(--colorWhite);
}

.o_blockDownloads.-bgBlack {
	color: var(--colorWhite);
}

.o_blockDownloads.-bgGrey-dark {
	color: var(--colorWhite);
}
/* -------------------------------------------------------------------------- *
 * Organism - Features List
 * -------------------------------------------------------------------------- */
.o_blockFeatures {
	
}

/* ----- Colour variants ----- */
.o_blockFeatures.-bgPrimary {
	color: var(--colorWhite);
}

.o_blockFeatures.-bgOffBlack {
	color: var(--colorWhite);
}
/* -------------------------------------------------------------------------- *
 * 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 {
}

	.o_blockImage img {
		margin: 0 auto;
	}

		.o_blockImage img.-fullWidth {
			margin: 0 auto;
			border-radius: 0;
		}

		.o_blockImage img.-containerWidth {
			margin: 0 auto;
			border-radius: 1rem;
		}

		.o_blockImage img.-contentWidth {
			margin: 0 auto;
			border-radius: 1rem;
		}

	/* --- Caption --- */
	.o_blockImage ._imgWithCaption {
		position: relative;
		margin: 0;
		padding: 0;
	}

		.o_blockImage ._imgWithCaption figcaption {
			padding: 0.750rem 0 0 0;
			font-size: 1.125rem;
			font-weight: 400;
			text-align: center;
			color: var(--colorBlack);
		}
/* -------------------------------------------------------------------------- *
 * Organism - Blog Post hero space
 * -------------------------------------------------------------------------- */
.o_heroLandingPage {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 20.25rem;
	padding: 2rem 0;
	color: var(--colorWhite);
	background-color: var(--colorBlack);
}

	.o_heroLandingPage ._heroBg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
	}

	.o_heroLandingPage ._heroContent {
		padding: 0.750rem 1rem;
		border-radius: 0.500rem;
		background-color: rgba(21,20,20,0.6)
	}


/* -------------------------------------------------------------------------- *
 * 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
	 * ---------------------------------------- */
	.o_heroLandingPage {
		min-height: 12rem;
		padding-bottom: 0;
	}

		.o_heroLandingPage ._heroContent .-txtLarger {
			font-size: 0.875rem;
		}
}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}

/* -------------------------------------------------------------------------- *
 * Organism - Site Hero
 * -------------------------------------------------------------------------- */
.o_heroMinimal {

}

	.o_heroSimple main.row {
		padding: 4rem 0;
	}

		
/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */ 
/* -------------------------------------------------------------------------- *
 * Organism - Site Hero
 * -------------------------------------------------------------------------- */
.o_heroSimple {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 20.25rem;
	padding: 2rem 0;
	color: var(--colorWhite);
	background-color: var(--colorBlack);
}

	.o_heroSimple ._heroBg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
	}

	.o_heroSimple ._heroContent {
		padding: 0.750rem 1rem;
		border-radius: 0.500rem;
		background-color: rgba(21,20,20,0.6)
	}

	
/* -------------------------------------------------------------------------- *
 * 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
	 * ---------------------------------------- */
	.o_heroSimple {
		min-height: 12rem;
		padding-bottom: 0;
	}

		.o_heroSimple ._heroContent .-txtLarger {
			font-size: 0.875rem;
		}
}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * 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 - Site Bottom Bar
 * -------------------------------------------------------------------------- */
.o_siteBottomBar {
	width:100%;
	padding: 2rem 0 1rem 0;
	background-color: var(--colorBlack);
	color: var(--colorWhite);
}

	.o_siteBottomBar ._siteBottomNav {

	}

		.o_siteBottomBar ._siteBottomNav ul {
			display: block;
			margin: 0;
			padding: 0;
			list-style: none;
			line-height: 1rem;
		}
			
			.o_siteBottomBar ._siteBottomNav ul li {
				display: inline-block;
				padding: 0 1rem;
				border-right: 0.125rem solid var(--colorWhite);
			}

				.o_siteBottomBar ._siteBottomNav ul li:first-of-type {
					padding-left: 0;
				}

				.o_siteBottomBar ._siteBottomNav ul li:last-of-type {
					border-right: none;
				}

				.o_siteBottomBar ._siteBottomNav ul li a {
					color: var(--colorWhite);
					border-bottom: none;
					font-size: 1rem;
				}

	.o_siteBottomBar p {
		font-size: 1rem;
	}

	
/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Site Top Bar
 * -------------------------------------------------------------------------- */
.o_siteTopBar {
	width: 100%;
	/*height: 8.625rem;*/
	min-width: 320px;

	._upperHdr {
		background-color: var(--colorPrimary);

		._topBarLogo {
			display: block;
			position: relative;
			border-bottom: none;
		}

		._siteTitle {
			margin: 0;
			font-size: 1.750rem;
			font-family: Arial Rounded MT Bold, 'Arial Rounded MT Bold', Helvetica Rounded, Arial, sans-serif;
			font-weight: 700;
		}
	}

	._lowerHdr {
		background-color: var(--colorWhite);
	}

}

/* -------------------------------------------------------------------------- *
 * 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 {
		/*height: 6.250rem;
		overflow-x: clip;*/
	}
	.o_siteTopBar ._lowerHdr {
		/*height: 0;*/
	}

	.o_siteTopBar ._upperHdr ._siteControls {
		display: grid;
		grid-template-columns: 1fr 3rem;
		grid-gap: 1rem;
		align-items: center;
	}

	.o_siteTopBar.-tl-navOpen {
		background-color: var(--colorOffBlack);
	}		
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */
	.o_siteTopBar ._upperHdr ._siteTitle {
		font-size: 1.250rem;
	}
}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.o_siteTopBar ._upperHdr ._siteControls {
		grid-template-columns: 1fr 2rem;
		grid-gap: 0.750rem;
	}
	.o_siteTopBar ._upperHdr ._siteTitle {
		font-size: 1rem;
	}
}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_siteTopBar ._upperHdr ._siteTitle {
		font-size: 0.625rem;
	}
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Small Print Code Section
 * -------------------------------------------------------------------------- */
.o_smallPrintCode {
	padding-bottom: 2rem;
}
/* -------------------------------------------------------------------------- *
 * Organism - Small Print Content Section
 * -------------------------------------------------------------------------- */
.o_smallPrintContent {
	padding-bottom: 2rem;
}
/* -------------------------------------------------------------------------- *
 * Organism - Descriptive Name
 * -------------------------------------------------------------------------- */
.o_devTemplate {
	
}

/* ----- 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 - Error view
 * -------------------------------------------------------------------------- */
.v_errorPage {
	display: flex;
	flex-grow: 2;
	align-items: center;
	height: 100%;
}
/* -------------------------------------------------------------------------- *
 * View - Form complete / success
 * -------------------------------------------------------------------------- */
.v_formComplete {
	display: flex;
	align-items: center;
	height: 100%;
}
/* -------------------------------------------------------------------------- *
 * View - Home View
 * -------------------------------------------------------------------------- */
.v_home {
	
}

	.v_home ._sidebar {
		padding: 1.500rem;
		border-radius: 0.500rem;
		background-color: var(--colorGrey-dark);
		color: var(--colorWhite);
	}

/* -------------------------------------------------------------------------- *
 * View - Human Sitemap
 * -------------------------------------------------------------------------- */
.v_humanSitemap {
	height: 100%;
}