/* -------------------------------------------------------------------------- *
 * 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.500rem;
	border: 0.125rem solid transparent;
	outline: none;
	background: var(--colorSecondary);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1em;
	color: var(--colorPrimary-light);
	text-align: center;
	transition: background-color 0.25s ease-in-out;
	overflow: hidden;
}

	.a_button:hover {
		background-color: var(--colorSecondary);
		color: var(--colorPrimary);
		cursor: pointer;
	}

	.a_button ._content {
		margin: 0 0.500rem;
	}

	.a_button .material-symbols-rounded {
		margin: -0.500rem 0 -0.31250rem 0;
		vertical-align: middle;
	}

	.a_button .material-symbols-rounded.-after {
		margin: -0.5rem 0 -0.31250rem 0;
		vertical-align: middle;
	}

	/* ----- Dark Mode Override ----- */
	.-themeDark .a_button {
		color: var(--colorBlack);
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- 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.3126rem 0.500rem;
	font-size: 0.750rem;
	font-weight: 600;
}

/* ----- 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;
}

/* -------------------------------------------------------------------------- *
 * Atom - Burger Button
 * -------------------------------------------------------------------------- */
.a_buttonBurger {
	background-color: transparent;
	position: relative;
	top: 0.8rem;
	width: 3rem;
	height: 3rem;
	padding: 0;
	border: none;
	border-radius: 1.500rem;
	font-size:1rem;
	transition: all 0.25s ease-in-out;
}

	.a_buttonBurger ._line {
		position: absolute;
		top: calc(50% - 0.1875rem);
		left: calc(50% - 0.750rem);
		width: 1.500rem;
		height: 0.3125rem;
		border-radius: 0.1875rem;
		background-color: var(--colorWhite);
		transform-origin: center;
		transition: all 0.25s ease-in-out;
	}

	.a_buttonBurger ._lineOne {
		top: calc(50% - 0.8125rem);
	}

	.a_buttonBurger ._lineTwo {
		opacity: 1;
	}

	.a_buttonBurger ._lineThree {
		top: calc(50% + 0.4375rem);
	}

	.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;
}

/* -------------------------------------------------------------------------- *
 * Atom - Link that looks like a button
 * -------------------------------------------------------------------------- */
.a_buttonLink,
.a_buttonLink:visited {
	display: inline-block;
	position: relative;
	vertical-align: bottom;
	margin: 0;
	padding: 0.500rem 0.500rem;
	border: 0.125rem solid transparent;
	outline: none;
	background: var(--colorSecondary);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1em;
	color: var(--colorPrimary-light);
	text-align: center;
	transition: background-color 0.25s ease-in-out;
	overflow: hidden;
}

	.a_buttonLink:hover {
		background-color: var(--colorSecondary);
		color: var(--colorPrimary);
		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;
	}

	/* ----- Dark Mode Override ----- */
	.-themeDark .a_buttonLink {
		color: var(--colorBlack);
	}


/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Ghost variant ----- */
.a_buttonLink.-ghost {
	background-color: transparent;
	border: 0.125rem solid var(--colorPrimary);
	color: var(--colorOffBlack);
}

	.a_buttonLink.-ghost:hover {
		background: transparent;
	}

/* ----- Primary Dark colour variant ----- */
.a_buttonLink.-colorPrimary-dark {
	border-color: var(--colorPrimary-dark);
	background-color: var(--colorPrimary-dark);
	color: var(--colorWhite);
}

/* ----- Ghost + Primary Dark colour variant ----- */
.a_buttonLink.-ghost.-colorPrimary-dark {
	background-color: transparent;
	border-color: var(--colorPrimary-dark);
	color: var(--colorPrimary-dark);
}

/* ----- Secondary colour variant ----- */
.a_buttonLink.-colorSecondary {
	border-color: var(--colorSecondary);
	background-color: var(--colorSecondary);
	color: var(--colorOffBlack);
}
.a_buttonLink.-colorPrimary {
	border-color: var(--colorPrimary);
	background-color: var(--colorPrimary);
	color: var(--colorWhite);
}

/* ----- Ghost + Secondary colour variant ----- */
.a_buttonLink.-ghost.-colorSecondary {
	background-color: transparent;
	border-color: var(--colorSecondary);
	color: var(--colorSecondary);
}

/* ----- White variant ----- */
.a_buttonLink.-colorWhite {
	border-color:var(--colorWhite);
	background-color:var(--colorWhite);
	color: var(--colorWhite);
}

/* ----- Ghost + White variant ----- */
.a_buttonLink.-ghost.-colorWhite {
	background-color:transparent;
	border-color:var(--colorWhite);
	color:var(--colorWhite);
}

/* ----- Tiny ----- */
.a_buttonLink.-tiny,
.a_buttonLink.-tiny:visited {
	padding: 0.3125rem 1.00rem 0.250rem 1rem;
	border-width: 0.0625rem;
	font-size: 0.750rem;
	text-transform: uppercase;
	color: var(--colorWhite);
}
	
	.a_buttonLink.-tiny .material-symbols-rounded {
		margin: -0.4375rem 0.250rem -0.31250rem -0.500rem;
		font-size: 0.9375rem;
	}
	
	.a_buttonLink.-tiny .material-symbols-rounded.-after {
		margin: -0.4375rem -0.500rem -0.31250rem 0.250rem;
		font-size: 0.9375rem;
	}

/* ----- Small ----- */
.a_buttonLink.-small {
	padding: 0.750rem 1.500rem;
}

/* ----- Large ----- */
.a_buttonLink.-large {
	font-size: 1.250rem;
}

/* ----- Wider ----- */
.a_buttonLink.-wider {
	padding-right: 3.500rem;
	padding-left: 3.500rem;
}

/* -------------------------------------------------------------------------- *
 * Pagiantion
 * -------------------------------------------------------------------------- */
.a_buttonLink.-pagination,
.a_buttonLink.-pagination:visited {
	padding: 0.750rem 0.500rem;
	height: 1rem;
	min-width: 1rem;
	margin: 0 0.250rem;
	white-space: nowrap;
	color: var(--colorWhite);
	background-color: var(--colorGrey);
}

	.a_buttonLink.-pagination.-prev {
		background-color: var(--colorPrimary-light);
		color: var(--colorSecondary);
		margin-right: 1.500rem;
	}

	.a_buttonLink.-pagination.-prev .material-symbols-rounded {
		
	}

	.a_buttonLink.-pagination.-next {
		background-color: var(--colorPrimary-light);
		color: var(--colorSecondary);
		margin-left: 1.500rem;
	}

	.a_buttonLink.-pagination.-next .material-symbols-rounded {
		
	}

	.a_buttonLink.-pagination.-active {
		background-color: var(--colorSecondary);
		border-color: var(--colorSecondary);
		color: var(--colorPrimary-light);
		animation-name: none;
		cursor: not-allowed;
	}

	.a_buttonLink.-pagination.-disabled {
		background-color: var(--colorGrey-light);
		border-color: var(--colorGrey-light);
		color: var(--colorWhite);
		animation-name: none;
		cursor: not-allowed;
	}

	@media only screen and (max-width: 400px) {
		/* ---------------------------------------- *
		 * Mobile Small / .-ms-
		 * ---------------------------------------- */
		 .a_buttonLink,
		 .a_buttonLink:visited {
			width: calc(100% - 1.3rem);
		 }
	}
/* -------------------------------------------------------------------------- *
 * 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 {
		}
/* -------------------------------------------------------------------------- *
 * 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 - 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;
	}
}
/* -------------------------------------------------------------------------- *
 * Atom - Nav Item
 * -------------------------------------------------------------------------- */
.a_navItem,
.a_navItem:visited {
	border: none;
	font-size: 0.875rem;
	font-weight: 800;
	text-transform: uppercase;
}

	.a_navItem:hover,
	.a_navItem:visited:hover {
		border-bottom: none;
		color: var(--colorSecondary);
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */

/* ----- Active ----- */
.a_navItem.-active,
.a_navItem.-active:visited {
	border-bottom: none;
	color: var(--colorSecondary);
}

	.a_navItem.-active:hover {
		border-bottom: none;
		color: var(--colorSecondary);
		cursor: pointer;
	}

/* ----- Highlight ----- */
.a_navItem.-highlight {
	position: relative;
	display: block;
	padding: 0.500rem 2rem;
	border-radius: 1.500rem;
	border: 0.125rem solid var(--colorSecondary);
	color: var(--colorSecondary);
	transition: all 0.25s ease-in-out;
	overflow: hidden;
	animation-duration: 1s;
	animation-delay: 0;
	animation-iteration-count: 1;
	animation-timing-function: ease-in-out;
}

	.a_navItem.-highlight:hover {
		
	}


		#header ul.m_navList li .a_navItem .material-symbols-rounded {
			display: none;
			float: right;
			font-weight: 700;
		}

/* -------------------------------------------------------------------------- *
 * Admin - Nav Item
 * -------------------------------------------------------------------------- */
.o_adminSideBar .a_navItem, .o_adminSideBar .a_navItem:visited {
	display: block;
	padding: 0.875rem 1.500rem 0.875rem 1.500rem;
	border: none;
	border-left: transparent solid 0.250rem;
	color: var(--colorBlack);
	transition: all 0.25s ease-in-out;
	text-decoration: none;
}

	.o_adminSideBar .a_navItem:hover {
		background-color: var(--colorOffWhite-dark);
	}

		.o_adminSideBar .a_navItem .material-symbols-rounded {
			vertical-align: middle;
			margin: -0.250rem 0.50rem 0 0;
		}

/* ----- Active ----- */
.o_adminSideBar .a_navItem.-active {
	border: none;
	border-left: var(--colorPrimary) solid 0.250rem;
	background-color: var(--colorOffWhite-dark);
}



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */

@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */

	#header ul.m_navList li .a_navItem {
		font-size: 1.750rem;
	}

	#header ul.m_navList li .a_navItem.-highlight {
		color: var(--colorWhite);
		padding: 0;
		border: none;
	}

	#header ul.m_navList li .a_navItem .material-symbols-rounded {
		display: inline-block;
		float: right;

	}
}

/* -------------------------------------------------------------------------- *
 * Molecule - Contact Details
 * -------------------------------------------------------------------------- */
.m_contactDetails {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@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;
			}
}
/* -------------------------------------------------------------------------- *
 * Molecule - Ducument Molecule as a part of a Document List
 * -------------------------------------------------------------------------- */
.m_document {

}

	.m_document svg {
		width: 1rem;
		margin-right:1rem;
	}

	.m_document a {
		display: flex;
		align-items: center;
		border-top: 1px solid var(--colorBlack);
		padding:0.5rem 0;
		border-bottom:none;
	}
	.m_document:last-child a {
		border-bottom: 1px solid var(--colorBlack);
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Event Tile
 * -------------------------------------------------------------------------- */
.m_event {
	padding: 2rem;
}

	.m_event .title {
		font-size: 2rem;
		font-weight: 800;
		margin: 0 0 1rem 0;
		text-transform: uppercase;
		color: var(--colorPrimary);
		text-align: center;
		margin-bottom: 3rem;
	}

	.m_event strong {
		color: var(--colorPrimary);
	}

	.m_event .date {
		border-top: 1px solid var(--colorBlack);
		border-bottom: 1px solid var(--colorBlack);
		padding: 0.5rem 0;
	}

	.m_event .starttime {
		padding: 0.5rem 0;
	}

	.m_event .loaction {
		border-top: 1px solid var(--colorBlack);
		border-bottom: 1px solid var(--colorBlack);
		padding: 0.5rem 0;
		margin-bottom: 2rem;
	}

	.m_event .longdescription {
		margin-bottom: 5rem;
	}

		.m_event .longdescription p {
			font-size: 0.8rem;
		}

	.m_event svg {
		margin: 0;
		width: 2rem;
		padding: 0;
		transform: scaleX(-1);
		margin-right: 2rem;
	}

	.m_event .a_buttonLink, .m_event .a_buttonLink:visited {
		padding: 0;
		border: none;
	}

		.m_event .a_buttonLink ._content {
			margin: 0 2rem 0 0;
			display: flex;
			flex-direction: row;
			align-items: center;
		}
.m_formContact {

}

    .m_formContact h2 {
        text-transform: uppercase;
    }
.m_formJoin {

}
/* -------------------------------------------------------------------------- *
 * Molecule - Gallery Item
 * -------------------------------------------------------------------------- */
 .m_galleryItem {
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

	.m_galleryItem ._galleryImage {
		height: 100%;
	}

	.m_galleryItem ._galleryImage img {
		min-width: 100%;
		min-height: 100%;
		width: auto;
		height: auto;
		object-fit: cover;
	}

	.m_galleryItem ._galleryCaption {
		align-self: flex-start;
		padding: 1rem;
		color: var(--colorWhite);
		background: var(--colorPrimary);
	}
/* -------------------------------------------------------------------------- *
 * 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 - Logo Tile
 * -------------------------------------------------------------------------- */
 .m_logo {
	
 }

    .m_logo a {
        border-bottom: 0;
    }
  
    .m_logo img {
        max-width: 100%;
        object-fit: contain;
    }
/* -------------------------------------------------------------------------- *
 * Molecule - Nav List
 * -------------------------------------------------------------------------- */
.m_navList {
	display: flex;
	flex-direction: column;
}

ul.m_navList {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin:0;
	padding:0;
	list-style:none;
}

	ul.m_navList  li {
		
	}

#header .m_navList {
	font-size: 1.250rem;
	font-weight: 700;
}
.stb #header .m_navList div .a_buttonLink {
	padding:0.5rem 2.5rem;
}
	#header .m_navList div .a_buttonLink {
		font-size: 0.875rem;
	}

	#header .m_navList div .a_buttonLink:nth-child(2) {
		margin-left: 1rem;
		margin-right: 1rem;
	}

	#header .m_navList ._navList {
		margin-top: 0.6rem;
		margin-bottom: 0;
		padding-left: 0;
		margin-right: -0.500rem;
	}

		#header .m_navList  li {
			display:inline-block;
			padding: 0 0.500rem;
		}

	#header ._smallPrint {
		display: none;
	}

		#header ._smallPrint a {
			text-transform: uppercase;
			font-weight: 800;
			border-bottom: 0;
		}
		#header ._socialIcons a{
			width:1.8rem;
			display:block;
			float:left;
			margin-left:1rem;
			margin-top:0.1rem;
		}
#header ._socialIcons
{
	float:right;
}
#header ._navListMain {
	position: relative;
}
#header .triangle.-active.subnav {
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 1rem 1rem 1rem;
	border-color: transparent transparent var(--colorSecondary) transparent;
	transform: rotate(0deg);
	position: absolute;
	top: 1.6125rem;
	left:calc(50% - 1rem);
}
/* -------------------------------------------------------------------------- *
 * Admin Sidebar Navigation
 * -------------------------------------------------------------------------- */
.o_adminSideBar .m_navList {
	width: 100%;
}

.o_adminSideBar ._navList {
	display: block;
	list-style: none;
	margin: 0;
	padding: 6.500rem 0 0 0;
}

	.o_adminSideBar ._navList li {
		display: block;
		width: 100%;
	}


/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.m_navList {
		justify-content: start;
	}
	
	#header nav.m_navList {
		position: fixed;
		top: 6.5rem;
		right: -100%;
		box-sizing: border-box;
		width: 100%;
		height: calc(100vh - 6.2rem);
		padding: 0;
		background-color: var(--colorPrimary);
		transition: all 0.5s ease-in-out;
		overflow: auto;
		margin-right: 0;
	}

	#header nav.m_navList.-active {

		right: 0;
	}

		#header .m_navList div {
			display: flex;
			flex-direction: column;
			padding: 0.750rem 3.500rem;
		}

			#header .m_navList div .a_buttonLink {
				font-size: 1.175rem;
			}
		
			#header .m_navList div .a_buttonLink:nth-child(2) {
				margin: 1.5rem 0;
			}

		#header .m_navList ._navList {
			display: flex;
			flex-direction: column;
			padding-left: 0;
		}
	.stb #header .m_navList ._socialIcons {
		flex-direction: row;
		justify-content: center;
	}
		#header .m_navList ._navList li {
			width: 100%;
			padding: 0.750rem 0;
			text-align: center;
		}

			#header .m_navList ._navList li a {
				font-size: 1rem;
			}

		#header ._smallPrint {
			display: block;
		}
}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	#header .m_navList div .a_buttonLink {
		font-size: 0.875rem;
	}

	#header .m_navList ._navList li a {
		font-size: 0.875rem;
	}
}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	#header .m_navList div {
		padding: 0.750rem 2.500rem;
	}
}
/* -------------------------------------------------------------------------- *
 * 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-dark);
			font-size: 1.750rem;
		}

		ul.m_navListBreadcrumb li  .a_navItem.-disabled {
			color: var(--colorText);
			opacity: 0.5;
		}

			ul.m_navListBreadcrumb li  .a_navItem.-disabled:hover {
				cursor: default;
			}


/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */

/* ----- Primary coloured chevrons ----- */
nav.m_navListBreadcrumb.-chevronPrimary li .material-symbols-rounded {
	color: var(--colorPrimary);
}

/* -------------------------------------------------------------------------- *
 * 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 - Password Validation
 * -------------------------------------------------------------------------- */
.m_passwordValidation {
	margin: 0;
	padding: 0;
	list-style: none;
}
	
	.m_passwordValidation li {
		margin: 0.250rem 0;
	}

	.m_passwordValidation .material-symbols-rounded {
		vertical-align: middle;
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
.m_passwordValidation li ._iconValid {
		display: none;
	}

.m_passwordValidation li.-invalid ._iconInvalid {
		display: inline-block;
	}
.m_passwordValidation li.-invalid ._iconValid {
		display: none;
	}

.m_passwordValidation li.-valid ._iconInvalid {
		display: none;
	}

.m_passwordValidation li.-valid ._iconValid {
		display: inline-block;
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Team Card
 * -------------------------------------------------------------------------- */
.m_teamCard a{
	position: relative;
}
	.m_teamCard .heading {
		color: var(--colorWhite);
		text-align: center;
		text-transform:uppercase;
		padding:1rem;
		z-index:2;
		position:relative;
	}
		.m_teamCard .heading h3 {
			margin: 0;
			font-size: 1.5rem;
			font-weight: 200;
			color: var(--colorWhite);
		}
		.m_teamCard .heading h4 {
			margin: 0;
			font-size: 0.8rem;
			color: var(--colorWhite);
		}
	.m_teamCard svg {
		position: absolute;
		z-index:2;
	}
	.m_teamCard img{
		top:-2rem;
		position:relative;
		z-index:1;
		width:100%;
	}

/* -------------------------------------------------------------------------- *
 * Molecule - Accordion Tile
 * -------------------------------------------------------------------------- */
.m_tileAccordion {
	padding-top: 2rem;
}
	.m_tileAccordion h4 {
		font-size:	1.25rem;
	}

	.m_tileAccordion ._accordionHeading {
		display: inline-block;
		position: relative;
		box-sizing: border-box;
		width: 100%;
		padding: 0 4rem 0 4rem;
		border: none;
		outline: none;
		text-align: left;
		background-color: transparent;
		user-select: none;
		color: inherit;
	}
		.m_tileAccordion ._accordionHeading:hover {
			cursor: pointer;	
		}

		.m_tileAccordion ._accordionHeading .material-symbols-rounded {
			position:absolute;
			top: -0.500rem;
			left: 0;
			margin: 0 0.500rem;
			font-size: 2.500rem;
			transition: all 0.25s ease-in-out;
			color: inherit;
		}

			.m_tileAccordion ._accordionHeading.-active .material-symbols-rounded._accordionExpand {
				opacity: 0;
			}

		.m_tileAccordion ._accordionContent {
			max-height: 0;
			overflow: hidden;
			transition: all 0.25s ease-in-out;
		}
/* -------------------------------------------------------------------------- *
 * Molecule - Contact Detail Tile
 * -------------------------------------------------------------------------- */
.m_tileContact {
}

	.m_tileContact .inner {
		position: relative;
		
	}

	.m_tileContact h3 {
		position: relative;
		top: 0.9rem;
		font-size: 1.4rem;
		text-transform: uppercase;
		z-index: 1;
		text-align: center;
		
	}

	.m_tileContact h4 {
		font-size:1rem;
	}

	.m_tileContact svg {
		position: absolute;
		width: 100%;
		top: -0.8rem;
		left: 0;
	}

	.m_tileContact img {
		display: inline-block;
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Event Tile
 * -------------------------------------------------------------------------- */
.m_tileEvent {
	padding:2rem;
}

	.m_tileEvent .image {
		height: 15rem;
		position: relative;
		background-size: cover;	
	}
	.m_tileEvent .date {
		position: absolute;
		top: 0;
		right: 0;
		color: var(--colorSecondary);
		background-color: var(--colorPrimary);
		padding:0.25rem 1rem;
		font-weight:600;
	}
	.m_tileEvent .starttime, .m_tileEvent .loaction {
		padding-bottom: 1rem;
	}
	.m_tileEvent .title {
		font-size: 1rem;
		font-weight: bold;
		padding: 1rem 0;
		margin:0;
		text-transform:uppercase;
		color:var(--colorPrimary);
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Event List
 * -------------------------------------------------------------------------- */
.m_tileEventList {
}

	.m_tileEventList .image {
		height: 100%;
		position: relative;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.m_tileEventList .date {
		position: absolute;
		top: 0;
		left: 0;
		color: var(--colorSecondary);
		background-color: var(--colorPrimary);
		padding: 0.25rem 1rem;
		font-weight:600;
	}

	.m_tileEventList .starttime, .m_tileEvent .loaction {
		padding-bottom: 1rem;
	}

	.m_tileEventList .title {
		font-size: 1rem;
		font-weight: bold;
		padding: 1rem 0;
		margin: 0;
		text-transform: uppercase;
		color: var(--colorPrimary);
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Feature Item Tile
 * -------------------------------------------------------------------------- */
.m_tileFeature {
	
}

	.m_tileFeature div {
		position: relative;
	}

	.m_tileFeature h3 {
		position: relative;
		top: 0.9rem;
		font-size: 1.4rem;
		text-transform: uppercase;
		z-index: 1;
	}

	.m_tileFeature svg {
		position: absolute;
		width: 100%;
		top: -0.8rem;
		left: 0;
	}

	.m_tileFeature img {
		display: inline-block;
	}
.stb .m_tileFeature h3 {
			font-size: 2rem;
		top: 0.2rem;
	}

/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */

	@media only screen and (max-width: 400px) {
		/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
		.m_tileFeature h3 {
			top: 0.7rem;
		}
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Featured Event Tile
 * -------------------------------------------------------------------------- */
.m_tileFeaturedEvent {
	padding: 2rem;
}

	.m_tileFeaturedEvent .image {
		height: calc(100% + 2rem);
		position: relative;
		background-repeat: no-repeat;
		background-size: cover;
		margin: -1rem;
	}
	.m_tileFeaturedEvent .text {
		background-color: var(--colorGrey-light);
		padding:3rem;
		)
	}
	.m_tileFeaturedEvent .date {
		position: absolute;
		top: 0;
		right: 0;
		color: var(--colorSecondary);
		background-color: var(--colorPrimary);
		padding: 0.5rem 2rem;
		font-weight: 600;
	}
	.m_tileFeaturedEvent .starttime, .m_tileEvent .loaction {
		padding-bottom: 1rem;
	}
	.m_tileFeaturedEvent .title {
		font-size: 2rem;
		font-weight: bold;
		padding: 1rem 0;
		margin: 0;
		text-transform: uppercase;
		color: var(--colorPrimary);
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Pricing Tile
 * -------------------------------------------------------------------------- */
.m_tilePrice {
}

	.m_tilePrice .inner {
		position: relative;
		margin: 1rem 1rem 4rem;
	}

	.m_tilePrice h3 {
		position: relative;
		top: 0.9rem;
		font-size: 1.4rem;
		z-index: 1;
		text-align: center;
	}

	.m_tilePrice h4 {
		border-top: 1px solid var(--colorBlack);
	}

	.m_tilePrice svg {
		position: absolute;
		width: 100%;
		top: -0.8rem;
		left: 0;
	}

	.m_tilePrice img {
		display: inline-block;
		margin-bottom:2rem;
	}
	.m_tilePrice ul {
		padding: 1rem;
		font-weight: 600;
	}

	.m_tilePrice .a_buttonLink {
		width: 100%;
		margin-bottom: 1rem;
	}

	.m_tilePrice h5 {
		font-size: 1.5rem;
		border-top: 1px solid var(--colorBlack);
		padding: 0.5rem 0;
		border-bottom: 1px solid var(--colorBlack);
		margin-bottom: 2rem;
	}

	.stb .m_tilePrice h3 {
		font-size: 2rem;
		top: 0.2rem;
	}
/* -------------------------------------------------------------------------- *
 * Molecule - Trainer Tile
 * -------------------------------------------------------------------------- */
.m_trainer {
	position: relative;
}
 
    .m_trainer div {
        position: relative;
    }
 
    .m_trainer h4 {
        font-size: 1.2rem;
        text-transform: uppercase;
    }
 
    .m_trainer img {
        display: inline-block;
    }

    .m_trainer .swiper {
	}

	.m_trainer ._galleryPrev {
		position: absolute;
		top: 1rem;
		right: 0.97rem;
        z-index: 1;
	}

	.m_trainer ._galleryNext {
		position: absolute;
		top: 3.50rem;
		right: 0.97rem;
        z-index: 1;
	}
 
/* -------------------------------------------------------------------------- *
 * Molecule - Training Date Tile
 * -------------------------------------------------------------------------- */
.m_trainingDate .inner {
	text-align: center;
	max-width: 15rem;
	margin: auto;
}

/* -------------------------------------------------------------------------- *
 * Organism - "After Content" Block
 * -------------------------------------------------------------------------- */
.o_afterContent {
    position: relative;
}

    .o_afterContent h2 {
        text-transform: uppercase;
    }

    .o_afterContent ._logosLarge, .o_afterContent ._logosSmall {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        list-style-type: none;
        padding-left: 0;
        gap: 1rem;
    }

    .o_afterContent ._crunchyBtm svg {
        position: absolute;
    }

@media only screen and (max-width: 1000px) {
    /* ---------------------------------------- *
    * Tablet Large / .-tl- / 8 columns
    * ---------------------------------------- */
    .o_afterContent ._logosLarge li {
        flex: 0 0 calc(50% - 1rem) !important;
        max-width: calc(50% - 1rem) !important;
    }

    .o_afterContent ._logosSmall li {
        flex: 0 0 calc(30% - 1rem) !important;
        max-width: calc(30% - 1rem) !important;
    }
}
/* -------------------------------------------------------------------------- *
 * Organism - Banner Block
 * -------------------------------------------------------------------------- */
.o_banner {
    position: relative;
}

    .o_banner h2 {
        text-transform: uppercase;
    }

    .o_banner ._crunchyBtm svg {
        position: absolute;
        z-index: 1;
    }
/* -------------------------------------------------------------------------- *
 * Organism - Accordion Content Block
 * -------------------------------------------------------------------------- */
.o_blockAccordion {

}
/* -------------------------------------------------------------------------- *
 * Organism - Club Contacts Block
 * -------------------------------------------------------------------------- */
.o_blockClubContacts {

}

	.o_blockClubContacts ._contactsList {
		display: block;
		margin: 0;
		padding: 0;
		list-style: none;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-gap: 2rem;
	}

		.o_blockClubContacts ._contactsList li {
			display: block;
			
			margin: 0;
			padding: 0;
			list-style: none;
		}
/* -------------------------------------------------------------------------- *
 * Organism - Two Column Content Block
 * -------------------------------------------------------------------------- */
.o_blockContentTwoColumns {
	position: relative;
}

.o_blockContentTwoColumns ._featureBg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

	.o_blockContentTwoColumns .intro {
		text-align: center;
		
	}
	.o_blockContentTwoColumns ._crunchyBtm svg {
		position: absolute;
		z-index: 2;
	}


/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
.o_blockContentTwoColumns.-hasBgTexture {

}
.o_blockContentTwoColumns.-hasBgTexture h2 {
	color: var(--colorSecondary);
}
.o_blockContentTwoColumns.-hasBgTexture h3 {
	color: var(--colorWhite);
}
.o_blockContentTwoColumns.-hasBgTexture p {
	color: var(--colorWhite);
}
/* -------------------------------------------------------------------------- *
 * Organism - Divider Block, using the "Crunchy" SVG
 * -------------------------------------------------------------------------- */
.o_blockDivider {
	display: block;
	width: 100%;
	margin-bottom: -1px;
}

	.o_blockDivider svg {
		display: block;
	}
/* -------------------------------------------------------------------------- *
 * Organism - Documents Block
 * -------------------------------------------------------------------------- */
.o_blockDocuments {
}
	.o_blockDocuments h2 {
		color: var(--colorPrimary);
		text-transform: uppercase;
		font-size: 1.5rem;
		margin-top: 3rem;
		font-weight: 800;
	}
/* -------------------------------------------------------------------------- *
 * Organism - Latest Events Block
 * -------------------------------------------------------------------------- */
.o_blockEvents {
	overflow-x:hidden;
}

	.o_blockEvents .splide__arrow {
		width: 2rem;
		height: 2rem;
		padding: 0;
		border: none;
		cursor: pointer;
		position: absolute;
		top: 9rem;
		transition: opacity 0.3s;
	}

	.o_blockEvents .splide__arrow--next {
		right: -4rem;
	}

	.o_blockEvents .splide__arrow--prev {
		transform: scaleX(-1);
		left: -4rem;
	}

	.o_blockEvents .splide__arrow:disabled {
		opacity: 0.3;
		cursor: default;
	}
	.o_blockEvents ._crunchyBtm svg {
		position: absolute;
		z-index: 2;
	}
/* -------------------------------------------------------------------------- *
 * Organism - Pricing Table Block
 * -------------------------------------------------------------------------- */
.o_blockPricing {
	position:relative;
}

	.o_blockPricing .intro {
		text-align: center;
		margin-bottom: 1rem;
	}
		.o_blockPricing .intro h2 {

		}

	.o_blockPricing .svg_crunchyBottom {
		position: absolute;
		z-index: 2;
	}

/* -------------------------------------------------------------------------- *
 * Organism - Training Times Block
 * -------------------------------------------------------------------------- */
.o_blockTrainingTimes {
}

	.o_blockTrainingTimes .trainingTimes .col:nth-child(3n+1) .m_trainingDate, .o_blockTrainingTimes .trainingTimes .col:nth-child(3n+2) .m_trainingDate {
		border-right: 1px solid var(--colorBlack);
	}

	.o_blockTrainingTimes h2 {
		font-size: 2rem;
		font-weight: bold;
		text-transform: uppercase;
		color: var(--colorPrimary);
		margin-bottom: 2rem;
		text-align: center;
	}
	.o_blockTrainingTimes ._crunchyBtm svg {
		position: absolute;
		z-index: 2;
	}
/* -------------------------------------------------------------------------- *
 * Organism - Call To Action Block
 * -------------------------------------------------------------------------- */
.o_callToAction {
	padding: 2rem 0 3rem 0;
}

	.o_callToAction h2 {
		text-transform: uppercase;
		margin: 0.5rem 0 0 0;
	}

	.o_callToAction .a_buttonLink {
		background: var(--colorPrimary-light);
		border-color: var(--colorPrimary-light);
		color: var(--colorWhite);
	}

	.o_callToAction .a_buttonLink:hover {
		background: var(--colorPrimary);
		border-color: var(--colorPrimary);
	}
.stb .o_callToAction .a_buttonLink, .stb .o_callToAction .a_buttonLink:visited {
	padding: 0.5em 1rem;
	margin-top:0.5rem;
}
/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
 @media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.o_callToAction {
		padding: 3rem 0;
	}

}


/* -------------------------------------------------------------------------- *
 * Organism - Content section
 * -------------------------------------------------------------------------- */
 .o_contentSection {
    position: relative;
}

    .o_contentSection h1 {
        text-transform: uppercase;
        margin-bottom: 0.25rem;
    }

    .o_contentSection h2 {
        text-transform: uppercase;
        font-size: 1.6rem;
    }

    .o_contentSection ._crunchyBtm svg {
        position: absolute;
        z-index: 1;
    }
.stb .o_contentSection p
{
    color:var(--colorBlack);
}

/* -------------------------------------------------------------------------- *
 * Organism - Descriptive Name
 * -------------------------------------------------------------------------- */
.o_event {
}
	.o_event ._crunchyBtm svg {
		position: absolute;
		z-index: 1;
	}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Events List
 * -------------------------------------------------------------------------- */
.o_events {

}


	.o_events .m_tileEvent .image {
		background-size:cover;
	}
/* -------------------------------------------------------------------------- *
 * Organism - Featured Image Content Section
 * -------------------------------------------------------------------------- */
.o_featuredImageContentSection
{
	position: relative;
}


	/* ------ Vertical Alignment ------ */
	.o_featuredImageContentSection ._featureContent,
	.o_featuredImageContentSection ._featureImage
	{
		padding: 4rem 1rem 4rem 1rem;
	}

	.o_featuredImageContentSection .-imageBottom ._featureContent,
	.o_featuredImageContentSection .-imageBottom ._featureImage
	{
		padding: 4rem 1rem 0 1rem;
	}


	/* ------ Background Image ------ */
	.o_featuredImageContentSection ._featureBg
	{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
	}

	.o_featuredImageContentSection .a_buttonLink
	{
		margin-top: 1rem;
		color: var(--colorPrimary-light);
		border-color: transparent;
	}

	.o_featuredImageContentSection ._featureImage
	{

	}



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px)
{
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	.o_featuredImageContentSection ._featureImage img
	{
		bottom: -3.5rem;
	}
}

@media only screen and (max-width: 1200px)
{
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	.o_featuredImageContentSection ._featureImage img
	{
		bottom: -8rem;
	}
}

@media only screen and (max-width: 1000px)
{
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.o_featuredImageContentSection ._featureImage img
	{
		margin-left: auto;
		margin-right: auto;
		bottom: -2rem;
	}
}

@media only screen and (max-width: 800px)
{
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */
	.o_featuredImageContentSection ._featureContent
	{
		padding: 4rem 1rem 1rem 1rem;
	}
	.o_featuredImageContentSection ._featureImage
	{
		padding: 1rem 1rem 4rem 1rem;
	}

	
}
/* -------------------------------------------------------------------------- *
 * Organism - Site Bottom Bar
 * -------------------------------------------------------------------------- */
.o_footer {
	width: 100%;
	background-color: var(--colorPrimary);
}

	.o_footer div {
		background-repeat: no-repeat;
	}

	.o_footer ._bottomBarLogo {
		width: 100px;
	}

	.o_footer .col p:nth-child(2) {
		font-size: 1rem;
		font-weight: 800;
		text-transform: uppercase;
	}

	.o_footer .col p:nth-child(3) {
		font-size: 1rem;
		font-weight: 600;
	}

.stb .o_footer .col p:nth-child(1) {
	font-size: 1rem;
	font-weight: 800;
}

.stb .o_footer .col p:nth-child(2) {
	font-size: 1rem;
	font-weight: 400;
	text-transform: none;
}

.o_footer ._siteBottomNav {
}
.o_footer .footerButtons {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
	.o_footer .footerButtons .a_buttonLink
	{
		width:18rem;
		margin-bottom:0.5rem;
	}
	.o_footer ._socialIcons {
		text-align: right;
	}

	.o_footer ._socialIcons a:nth-child(2) {
		margin-left: 1rem;
		margin-right: 1rem;
	}

	.o_footer ._socialIcons svg {
		width: 1.5rem;
		height: 1.5rem;
	}

.o_footer ._siteBottomNav ul {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

	.o_footer ._siteBottomNav ul li {
		display: inline-block;
		padding: 0 0 1rem 0;
		font-size: 0.875rem;
		font-weight: 800;
		text-transform: uppercase;
	}

		.o_footer ._siteBottomNav ul li:not(:first-child) {
			padding-left: 0.5rem;
		}

		.o_footer ._siteBottomNav ul li:not(:last-child) {
			padding-right: 0.5rem;
		}

		.o_footer ._siteBottomNav ul li a {
			color: var(--colorWhite);
			border-bottom: 0;
		}

.o_footer .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_footer .row:first-child {
		display: none;
	}

	.o_footer hr {
		display: none;
	}

	.o_footer ._siteBottomNav ul li:not(:first-child) {
		display: none;
	}

	.o_footer ._siteBottomNav ul li {
		padding-bottom: 0;
	}
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_footer ._siteBottomNav ul li {
		width: 100%;
		text-align: left;
	}
}

/* -------------------------------------------------------------------------- *
 * Organism - Header Section
 * -------------------------------------------------------------------------- */
.o_header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 500;
	width: 100%;
	min-width: 320px;
	height: 7rem;
	background-color: var(--colorPrimary);
	transition: background-color 0.5s ease-in-out;
}

.o_header.-posRelative {
	position: relative;
}

.o_header div {
	background-repeat: no-repeat;
}

.o_header .background {
	height: 100%;
	background-size: cover;
}

.o_header .container {
	height: 6.5rem;
}

	.o_header .container .row {
		height: 100%;
	}

	.o_header .container .col:first-child {
		display: flex;
		align-items: center;
	}

.o_header #topBarLogo {
	display: block;
	position: relative;
	border-bottom: none;
}

.o_header ._topBarLogo {
	height: 74px;
}

.o_header #fullscreenNav ul li a {
	color: var(--colorWhite);
}

	.o_header #fullscreenNav ul li a:hover {
		color: var(--colorSecondary);
	}

	.o_header #fullscreenNav ul li a.-active {
		color: var(--colorSecondary);
	}


/* ------ Subnav Frame ------ */
._subnavframe {
	position: fixed;
	background-color: var(--colorSecondary);
	width: 100%;
	height: 3rem;
	top: 7rem;
	left: 0;
	z-index: 5;
}

	._subnavframe ul {
		display: block;
		list-style: none;
		margin: 0.750rem -0.500rem 0.750rem 0;
		text-align: right;
	}

		._subnavframe ul li {
			display: inline-block;
			padding: 0 0.500rem;
		}

			._subnavframe ul li a {
				text-transform: uppercase;
				font-weight: 800;
				border: none;
			}

			._subnavframe ul li.-active a {
				color:var(--colorWhite);
			}
/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */

@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */

	.o_header.-tl-navOpen {
		background-color: var(--colorOffBlack);
	}
	._subnavframe
	{
		display:none;
	}
	#header .m_navList div.triangle {
		display: none;
	}
}

/* -------------------------------------------------------------------------- *
 * Organism - Site Hero
 * -------------------------------------------------------------------------- */
 .o_heroSimple {
    position: relative;
    width: 100%;
    padding-top: 37.25%;
}

	.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 ._crunchyTop svg {
        position: absolute;
        z-index: 1;
		bottom: -1px;
    }

		
/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */

/* ----- Centered ----- */
.o_heroSimple.-smallHero main.row {
	padding: 1rem 0;
}

.o_heroSimple.-smallHero  h1 {
	margin-bottom: 0;
}
.o_imageContentSection {
    position: relative;
}

    .o_imageContentSection h3 {
        text-transform: uppercase;
        font-size: 1.7rem;
        margin-bottom: -0.5rem;
    }

    .o_imageContentSection .a_buttonLink {
        margin-top: 1rem;
    }

    .o_imageContentSection .swiper {
	}

	.o_imageContentSection ._galleryPrev {
		position: absolute;
		top: 1rem;
		right: 0.97rem;
        z-index: 1;
	}

	.o_imageContentSection ._galleryNext {
		position: absolute;
		top: 3.50rem;
		right: 0.97rem;
        z-index: 1;
	}

    .o_imageContentSection ._crunchyBtm svg {
        position: absolute;
        z-index: 2;
    }

    @media only screen and (max-width: 1000px) {
        /* ---------------------------------------- *
         * Tablet Large / .-tl- / 8 columns
         * ---------------------------------------- */
        .o_imageContentSection .row {
            padding: 0 1rem;
        }
    }
/* -------------------------------------------------------------------------- *
 * Organism - Image Block
 * -------------------------------------------------------------------------- */
.o_imageSection {

}
.o_imageSection img {
	margin: 0 auto;
}
/* -------------------------------------------------------------------------- *
 * Organism - Features List
 * -------------------------------------------------------------------------- */
.o_listFeatures {
	position: relative;
}

	.o_listFeatures ._crunchyBtm svg {
		position: absolute;
		z-index: 2;
   }
/* -------------------------------------------------------------------------- *
 * Organism - Features List
 * -------------------------------------------------------------------------- */
 .o_listTrainers {
	position: relative;
}

    .o_listTrainers h2 {
        text-transform: uppercase;
    }

	.o_listTrainers.-bgPrimary p a {
        color: var(--colorWhite);
        text-decoration: underline;
    }

	.o_listTrainers ._crunchyBtm svg {
        position: absolute;
		z-index: 2;
    }
/* -------------------------------------------------------------------------- *
 * Organism - Map section
 * -------------------------------------------------------------------------- */
.o_mapSection {
    position: relative;
}

    .o_mapSection ._mapContainer {
        
    }

        .o_mapSection ._mapContainer iframe {
            width: 100%;
        }

    .o_mapSection.-bgPrimary p a {
        color: var(--colorWhite);
        text-decoration: underline;
    }

    .o_mapSection ._crunchyBtm svg {
        position: absolute;
        z-index: 1;
    }
/* -------------------------------------------------------------------------- *
 * Organism - Opening Hours Block
 * -------------------------------------------------------------------------- */
.o_openingHours {
    position: relative;
}

    .o_openingHours h2 {
        text-transform: uppercase;
    }

    .o_openingHours ._hoursSection .col:nth-child(2) {
        border-left: 1px solid var(--colorPrimary);
        border-right: 1px solid var(--colorPrimary);
    }

    .o_openingHours ._hoursSection p:first-child {
        width: 26ch;
        margin: 0 auto;
    }

    .o_openingHours ._hoursSection p:last-child {
        text-transform: uppercase;
    }

    .o_openingHours ._crunchyBtm svg {
        position: absolute;
        z-index: 2;
    }

@media only screen and (max-width: 1000px) {
    /* ---------------------------------------- *
    * Tablet Large / .-tl- / 8 columns
    * ---------------------------------------- */
    .o_openingHours ._hoursSection {
        flex-direction: column;
    }
    
    .o_openingHours ._hoursSection .col:nth-child(2) {
        border-top: 1px solid var(--colorPrimary);
        border-right: 0;
        border-bottom: 1px solid var(--colorPrimary);
        border-left: 0;
    }
}
/* -------------------------------------------------------------------------- *
 * Organism - Team Detail Block
 * -------------------------------------------------------------------------- */
.o_teamDetail {
	padding:3rem 0 0;
}
	.o_teamDetail h1 {
		text-transform: uppercase;
		font-size: 2rem;
		margin-bottom: 0.5rem;
		color: var(--colorPrimary);
	
	}

	.o_teamDetail ._crunchyBtm svg {
		position: absolute;
		z-index: 2;
	}
/* -------------------------------------------------------------------------- *
 * Organism - Team List Block
 * -------------------------------------------------------------------------- */
.o_teamList {
}


	.o_teamList h1 {
		color: var(--colorPrimary);
		text-transform: uppercase;
		font-size: 2.5rem;
		margin-top: 3rem;
		text-align: center;
	}
/* -------------------------------------------------------------------------- *
 * Organism - Team List Filter
 * -------------------------------------------------------------------------- */
.o_teamListFilter {
}

	.o_teamListFilter ._filterButton
	{
		margin-right:2rem;
	}
		.o_teamListFilter ._filterButton._disabled {
			background-color: var(--colorGrey-medium);
			color: var(--colorWhite);
		}

﻿/* -------------------------------------------------------------------------- *
 * View - Home
 * -------------------------------------------------------------------------- */
.v_blockContent {
	
}

/* -------------------------------------------------------------------------- *
 * View - Error view
 * -------------------------------------------------------------------------- */
.v_errorPage {
	display: flex;
	align-items: center;
	height: 100%;
	flex-grow: 2;
}
/* -------------------------------------------------------------------------- *
 * View - Descriptive Name
 * -------------------------------------------------------------------------- */
.v_devTemplate {
	
}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * View - Events List View
 * -------------------------------------------------------------------------- */
.v_events {
	padding-top: 6rem;
}
/* -------------------------------------------------------------------------- *
 * View - Form complete / success
 * -------------------------------------------------------------------------- */
.v_formComplete {
	display: flex;
	align-items: center;
	height: 100%;
}
/* -------------------------------------------------------------------------- *
 * View - Small Print & Legal Pages
 * -------------------------------------------------------------------------- */
.v_smallPrint {
	
}
/* -------------------------------------------------------------------------- *
 * View - Descriptive Name
 * -------------------------------------------------------------------------- */
.v_devTemplate {
	
}

/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */
/* ----- Example variant ----- */



/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1400px) {
	/* ---------------------------------------- *
	 * Laptop Large / .-ll- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1200px) {
	/* ---------------------------------------- *
	 * Laptop Small / .-ls- / 12 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * View - Descriptive Name
 * -------------------------------------------------------------------------- */
.v_devTemplate {
	
}

/* -------------------------------------------------------------------------- *
 * 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
	 * ---------------------------------------- */
	
}