﻿/* AUTO-GENERATED -- DO NOT EDIT
 * This file is rebuilt on every build. Edit the co-located .razor.css source files instead.
 */
/* -------------------------------------------------------------------------- *
 * Organism - Accordion Content Block
 * -------------------------------------------------------------------------- */
.o_blockAccordion {
	
}

	/* ----- Colour Variations ----- */
	.o_blockAccordion.-bgPrimary .-txtPrimary {
		color: var(--colorWhite);
	}

/* -------------------------------------------------------------------------- *
 * Organism - User Assurance block
 * -------------------------------------------------------------------------- */
.o_blockAssurance {

}

	.o_blockAssurance ._avatarsAndStars {
		display: flex;
		justify-content: center;
	}


		.o_blockAssurance ._avatarsAndStars ._avatars {
			display: flex;
		}

			.o_blockAssurance ._avatarsAndStars ._avatars ._avatar {
				box-sizing: border-box;
				width: 3rem;
				height: 3rem;
				margin: 0 0 0 -0.750rem;
				border: 0.1875rem solid var(--colorOffBlack);
				border-radius: 50%;
				overflow: hidden;
				transition: margin 0.25s ease-in-out;
			}

				.o_blockAssurance ._avatarsAndStars ._avatars ._avatar:hover {
					margin: 0 1rem 0 0.250rem;
				}

		.o_blockAssurance ._avatarsAndStars ._stars {
			margin: 0.375rem 0 0 0.750rem;
		}

			.o_blockAssurance ._avatarsAndStars ._stars .svg_iconStar {
				width: 2rem;
				height: 2rem;
				margin-right: 0.125rem;
			}

/* ------ Colour Variation ------ */
.o_blockAssurance.-bgOffBlack-dark ._avatarsAndStars ._avatars ._avatar {
	border-color: var(--colorOffBlack-light);
}

.o_blockAssurance.-bgPrimary .-txtPrimary {
    color: var(--colorWhite);
}
.o_blockAssurance.-bgPrimary ._avatarsAndStars ._avatars ._avatar {
	border-color: var(--colorPrimary-dark);
}

.o_blockAssurance.-bgWhite ._avatarsAndStars ._avatars ._avatar {
	border-color: var(--colorGrey-light);
}

.o_blockAssurance.-bgGrey-lighter ._avatarsAndStars ._avatars ._avatar {
	border-color: var(--colorGrey-light);
}

/* -------------------------------------------------------------------------- *
 * Organism - Blog Posts List
 * -------------------------------------------------------------------------- */
.o_blockBlogFeed {

}

/* ----- Colour variations ----- */
.o_blockBlogFeed.-bgPrimary .-txtPrimary {
	color: var(--colorWhite);
}

	.o_blockBlogFeed ._orderedList {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin: 0 -1rem;
		padding: 0;
		list-style: none;
	}

	.o_blockBlogFeed ._showingFilter .a_buttonLink.-tiny {
		vertical-align: middle;
	}
	.o_blockBlogFeed .a_button.-pagination.-disabled, .o_blockBlogFeed .a_button.-pagination {
		background-color: transparent;
	}

/* -------------------------------------------------------------------------- *
 * Organism - Call to action
 * -------------------------------------------------------------------------- */
.o_blockCallToAction {
	padding: 5rem 0;

}

/* ----- Colour Variations ----- */
.o_blockCallToAction.-bgPrimary .-txtPrimary {
	color: var(--colorWhite);
}
/* -------------------------------------------------------------------------- *
 * Organism - Contact Form Block
 * -------------------------------------------------------------------------- */
.o_blockContactForm {
	
}

/* ----- Colour variations ----- */
.o_blockContactForm.-bgPrimary .-txtPrimary {
	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
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Content section
 * -------------------------------------------------------------------------- */
.o_blockContent {
}

/* ------ Colour Variation ------ */
.o_blockContent.-bgPrimary .-txtPrimary {
    color: var(--colorWhite);
}
/* -------------------------------------------------------------------------- *
 * Organism - Content section (with 2 columns)
 * -------------------------------------------------------------------------- */
.o_blockContentTwoColumns {
}

/* ------ Colour Variation ------ */
.o_blockContentTwoColumns.-bgPrimary .-txtPrimary {
    color: var(--colorWhite);
}
/* -------------------------------------------------------------------------- *
 * Organism - Mailing list sign up block
 * -------------------------------------------------------------------------- */
.o_blockEmailSignup {
	
}

/* ----- Colour variations ----- */
.o_blockEmailSignup.-bgPrimary .-txtPrimary {
	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
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * Organism - Features List
 * -------------------------------------------------------------------------- */
.o_blockFeatures {

}
	.o_blockFeatures ._features .m_tileFeature ._inner {
		position: relative;
	}

	.o_blockFeatures ._features .m_tileFeature:nth-child(2n+2) ._inner {
		background: linear-gradient(315deg, transparent 2.250rem, var(--colorPrimary) 0);
	}

	.o_blockFeatures ._features .m_tileFeature:nth-child(2n+1) ._inner {
		background: linear-gradient(315deg, transparent 2.250rem, var(--colorOffBlack) 0);
	}

/* ----- Colour variants ----- */
	.o_blockFeatures.-bgPrimary .-txtPrimary {
		color: var(--colorWhite);
	}

	.o_blockFeatures.-bgPrimary ._features .m_tileFeature:nth-child(2n+2) ._inner {
		background: linear-gradient(315deg, transparent 2.250rem, var(--colorPrimary-dark) 0);
		
	}

/* -------------------------------------------------------------------------- *
 * 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 .a_image > img {
				width: 100%;
			}

			._galleryThumbs li ._galleryThumb {
				display: block;
				width: 100%;
				margin: 0;
				padding: 0;
				border: none;
				overflow: hidden;
				transition: transform 0.25s ease-in-out;
			}

			._galleryThumbs li ._galleryThumb:hover {
				transform: scale(1.025);
				cursor: pointer;
			}

/* -------------------------------------------------------------------------- *
 * Organism - Blog Post hero space
 * -------------------------------------------------------------------------- */
.o_blockHeroBlogPost {
	position: relative;
	color: var(--colorWhite);
	background-color: var(--colorBlack);
}

	.o_blockHeroBlogPost ._heroBlogPostBg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

.o_blockHeroBlogPost > .container {
	position: relative;
}

/* -------------------------------------------------------------------------- *
 * Organism - Blog Post hero space
 * -------------------------------------------------------------------------- */
.o_blockHeroLandingPage {
	position: relative;
	color: var(--colorWhite);
	background-color: var(--colorBlack);
}

	.o_blockHeroLandingPage ._heroBg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

.o_blockHeroLandingPage > .container {
	position: relative;
}

/* -------------------------------------------------------------------------- *
 * Organism - Site Hero
 * -------------------------------------------------------------------------- */
.o_blockHeroMinimal {
	color: var(--colorWhite);
}

	.o_blockHeroMinimal main.row {
		padding: 4rem 0;
	}

		
/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */ 
/* -------------------------------------------------------------------------- *
 * Organism - Site Hero
 * -------------------------------------------------------------------------- */
.o_blockHeroSimple {
	position: relative;
	color: var(--colorWhite);
	background-color: var(--colorBlack);
}
	
	.o_blockHeroSimple ._heroBg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
		
/* -------------------------------------------------------------------------- *
 * Variant and option styles
 * -------------------------------------------------------------------------- */

.o_blockHeroSimple.-txtWhite .m_navListBreadcrumb li .a_navItem, 
.o_blockHeroSimple.-txtWhite .m_navListBreadcrumb li .a_navItem.-disabled, 
.o_blockHeroSimple.-txtWhite .m_navListBreadcrumb.-chevronPrimary li svg{
	color: var(--colorWhite);
} 

/* ----- Centered ----- */
.o_blockHeroSimple.-smallHero main.row {
	padding: 1rem 0;
}

.o_blockHeroSimple.-smallHero  h1 {
	margin-bottom: 0;
}

.o_blockHeroSimple > .container {
	position: relative;
}

/* -------------------------------------------------------------------------- *
 * Organism - Image Block
 * -------------------------------------------------------------------------- */
.o_blockImage {
}

	.o_blockImage .a_image > img {
		margin: 0 auto;
	}

		.o_blockImage .a_image.-fullWidth > img {
			margin: 0 auto;
			border-radius: 0;
		}

		.o_blockImage .a_image.-containerWidth > img {
			margin: 0 auto;
			border-radius: 0;
		}

		.o_blockImage .a_image.-contentWidth > img {
			margin: 0 auto;
			border-radius: 0;
		}

	/* --- Caption --- */
	.o_blockImage ._imgWithCaption {
		position: relative;
		margin: 0;
		padding: 0;
	}

		.o_blockImage ._imgWithCaption figcaption {
			padding: 0.750rem 0;
			font-size: 1.125rem;
			font-weight: 400;
			text-align: center;
		}
/* -------------------------------------------------------------------------- *
 * Organism - Logo Cloud
 * -------------------------------------------------------------------------- */
.o_blockLogoCloud {
	
}

	/* ----- Logo Cloud List ----- */
	.o_blockLogoCloud ._logoCloud {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;
	}

		/* --- Alignment --- */
		.o_blockLogoCloud ._logoCloud.-hCenter {
			text-align: center;
		}

		.o_blockLogoCloud ._logoCloud.-hEnd {
			text-align: right;
		}

		/* --- Column widths --- */
		.o_blockLogoCloud ._logoCloud {
			 --columns: 6; /* Fallback */
		}

		.o_blockLogoCloud ._logoCloud .m_tileLogo {
			flex: 0 1 calc((100% / var(--columns)) - 1rem);
			max-width: calc((100% / var(--columns)) - 1rem);
			color: var(--colorBlack);
		}

/* ------ Colour Variation ------ */
.o_blockLogoCloud.-bgPrimary .-txtPrimary {
    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_blockLogoCloud ._logoCloud	 .m_tileLogo {
		flex: 0 1 calc((100% / ((var(--columns) / 3) * 2)) - 1rem);
		max-width: calc((100% / ((var(--columns) / 3) * 2)) - 1rem);
	}
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */
	.o_blockLogoCloud ._logoCloud .m_tileLogo {
		flex: 0 1 calc((100% / (var(--columns) / 2)) - 1rem);
		max-width: calc((100% / (var(--columns) / 2)) - 1rem);
	}
}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.o_blockLogoCloud ._logoCloud .m_tileLogo {
		flex: 0 1 calc((100% / (var(--columns) / 3)) - 1rem);
		max-width: calc((100% / (var(--columns) / 3)) - 1rem);
	}
}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_blockLogoCloud ._logoCloud .m_tileLogo {
		flex: 0 1 calc((100% / (var(--columns) / 4)) - 1rem);
		max-width: calc((100% / (var(--columns) / 4)) - 1rem);
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Pricing Table
 * -------------------------------------------------------------------------- */
.o_blockPricing {
	
}

/* ------ Colour Variation ------ */
.o_blockPricing.-bgPrimary .-txtPrimary {
    color: var(--colorWhite);
}

/* -------------------------------------------------------------------------- *
 * Organism - Profile section
 * -------------------------------------------------------------------------- */
.o_blockProfile {

}
	.o_blockProfile ._profileImg > img {
		clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 3rem), calc(100% - 3rem) 100%, 0 100%);
	}

/* ----- Colour variations ----- */
.o_blockProfile.-bgPrimary .-txtPrimary {
	color: var(--colorWhite);
}

/* -------------------------------------------------------------------------- *
 * Block - o_blockProgrammePicker
 * -------------------------------------------------------------------------- */
.o_blockProgrammePicker {
	overflow:hidden;
}

.o_blockProgrammePicker {
}

	.o_blockProgrammePicker ._programmeList {
		margin: 0;
		padding: 0;
		list-style: none;
		overflow: visible;
	}
	.o_blockProgrammePicker .swiper-wrapper
	{
		margin:0 -1rem;
	}

/* ----- Colour Variations ----- */
	.o_blockProgrammePicker.-bgPrimary .-txtPrimary {
		color: var(--colorWhite);
	}
	
	.o_blockProgrammePicker.-bgPrimary .swiper-button-prev svg,
	.o_blockProgrammePicker.-bgPrimary .swiper-button-next svg {
		fill: var(--colorWhite);
	}
	.o_blockProgrammePicker.-bgPrimary .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
		background-color: var(--colorWhite);
	}

	/* ----- Swiper Overrides ----- */
	.o_blockProgrammePicker ._swiperControls {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 1rem;
	}

	.o_blockProgrammePicker .swiper-button-next,
	.o_blockProgrammePicker .swiper-button-prev {
		position: static;
		margin: 0;
		user-select: none;
	}

		.o_blockProgrammePicker .swiper-button-next:after,
		.o_blockProgrammePicker .swiper-button-prev:after {
			display: none;
		}

		.o_blockProgrammePicker .swiper-button-next svg,
		.o_blockProgrammePicker .swiper-button-prev svg {
			fill: var(--colorPrimary);
			font-size: 4rem;
		}

		.o_blockProgrammePicker .swiper-button-prev svg {
			transform: rotate(180deg);
		}

	.o_blockProgrammePicker .swiper-pagination {
		position: static;
		width: auto;
		padding: 0;
	}

		.o_blockProgrammePicker .swiper-pagination .swiper-pagination-bullet {
			width: 0.750rem;
			height: 0.750rem;
			border-radius: 0rem;
			background-color: var(--colorOffBlack);
			opacity: 1;
			transition: all 0.25s ease-in-out;
		}

			.o_blockProgrammePicker .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
				background-color: var(--colorPrimary);
			}
	/* ----- CSS-only fallback: applied before Swiper JS runs (or if it fails) ----- *
 * Swiper adds .swiper-initialized once it has initialised. Until that class   *
 * is present the selectors below control layout, matching mcsInitSwiper       *
 * breakpoints. Once Swiper initialises the :not() rules no longer apply.      */
	.o_blockProgrammePicker .swiper:not(.swiper-initialized) .swiper-wrapper {
		display: flex;
		flex-wrap: nowrap;
		overflow: hidden;
	}

	.o_blockProgrammePicker .swiper:not(.swiper-initialized) .swiper-slide {
		flex: 0 0 33%;
		width: 25%;
		min-width: 0;
	}

	.o_blockProgrammePicker .swiper.swiper-initialized .swiper-slide {
		height: 100%;
	}

	.o_blockProgrammePicker .swiper:not(.swiper-initialized) .swiper-pagination,
	.o_blockProgrammePicker .swiper:not(.swiper-initialized) .swiper-button-prev,
	.o_blockProgrammePicker .swiper:not(.swiper-initialized) .swiper-button-next {
		display: 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
	 * ---------------------------------------- */
	.o_blockProgrammePicker .swiper:not(.swiper-initialized) .swiper-slide {
		flex: 0 0 33.333%;
		width: 33.333%;
	}
}

@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.o_blockProgrammePicker .swiper:not(.swiper-initialized) .swiper-slide {
		flex: 0 0 50%;
		width: 50%;
	}
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_blockProgrammePicker .swiper:not(.swiper-initialized) .swiper-slide {
		flex: 0 0 100%;
		width: 100%;
	}
}

/* -------------------------------------------------------------------------- *
 * Organism - Blockquote carousel
 * -------------------------------------------------------------------------- */
.o_blockquote {
	overflow: hidden;
}

	.o_blockquote ._quoteList {
		margin: 0;
		padding: 0;
		overflow: hidden;
	}

		.o_blockquote ._quoteList .swiper-wrapper {
			margin: 0 0 1.250rem 0;
		}

	/* ----- Colour Variations ----- */
	.o_blockquote.-bgPrimary .-txtPrimary {
		color: var(--colorWhite);
	}
	.o_blockquote.-bgPrimary .swiper-button-next svg,
	.o_blockquote.-bgPrimary .swiper-button-prev svg {
		fill: var(--colorWhite);
	}
	.o_blockquote.-bgPrimary .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
		background-color: var(--colorWhite);
	}


	/* ----- Swiper Overrides ----- */
	.o_blockquote ._swiperControls {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 1rem;
	}

	.o_blockquote .swiper-button-next,
	.o_blockquote .swiper-button-prev {
		position: static;
		margin: 0;
		user-select: none;
	}

		.o_blockquote .swiper-button-next svg,
		.o_blockquote .swiper-button-prev svg {
			fill: var(--colorPrimary);
		}

		.o_blockquote .swiper-button-next:after,
		.o_blockquote .swiper-button-prev:after {
			display: none;
		}

		.o_blockquote .swiper-button-next svg,
		.o_blockquote .swiper-button-prev svg {
			font-size: 4rem;
		}

		.o_blockquote .swiper-button-prev svg {
			transform: rotate(180deg); 
		}

	.o_blockquote .swiper-pagination {
		position: static;
		width: auto;
		padding: 0;
	}

		.o_blockquote .swiper-pagination .swiper-pagination-bullet {
			width: 0.750rem;
			height: 0.750rem;
			border-radius: 0rem;
			background-color: var(--colorOffBlack);
			opacity: 1;
			transition: all 0.25s ease-in-out;
		}

			.o_blockquote .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
				background-color: var(--colorPrimary);
			}

/* ----- CSS-only fallback: applied before Swiper JS runs (or if it fails) ----- *
 * Swiper adds .swiper-initialized once it has initialised. Until that class   *
 * is present the selectors below control layout, matching mcsInitSwiper       *
 * breakpoints. Once Swiper initialises the :not() rules no longer apply.      */
	.o_blockquote .swiper:not(.swiper-initialized) .swiper-wrapper {
		display: flex;
		flex-wrap: nowrap;
		overflow: hidden;
	}

	.o_blockquote .swiper:not(.swiper-initialized) .swiper-slide {
		flex: 0 0 100%;
		width: 100%;
		min-width: 0;
	}

	.o_blockquote .swiper:not(.swiper-initialized) .swiper-pagination,
	.o_blockquote .swiper:not(.swiper-initialized) .swiper-button-prev,
	.o_blockquote .swiper:not(.swiper-initialized) .swiper-button-next {
		display: none;
	}

/* -------------------------------------------------------------------------- *
 * Organism - Statistics Content Block
 * -------------------------------------------------------------------------- */
.o_blockStatistics {

}

	.o_blockStatistics ul._statisticsList {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 1rem;
		margin: 0;
		padding: 0 0 2rem 0;
		border-radius: 2rem;
		list-style: none;
	}

/* ----- Colour variations ----- */
.o_blockStatistics.-bgPrimary .-txtPrimary,
.o_blockStatistics.-bgPrimary .m_tileStatistic ._statistic {
	color: var(--colorWhite);
}
.o_blockStatistics.-bgPrimary .m_tileStatistic {
	background: linear-gradient(315deg, transparent 1rem, var(--colorPrimary-dark) 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
	 * ---------------------------------------- */
	.o_blockStatistics ul._statisticsList {
		grid-template-columns: 1fr 1fr;
	}
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_blockStatistics ul._statisticsList {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------- *
 * Block - Text and Video block
 * -------------------------------------------------------------------------- */
.o_blockTextAndImage {

}
	.o_blockTextAndImage ._contentColumn {
		/*display: flex;
		flex-direction: column;
		justify-content: space-between;*/
	}

	.o_blockTextAndImage ._contentColumn ._content {
		padding: 1rem 0;
	}

		.o_blockTextAndImage ._contentColumn ._footer {
		
		}

	.o_blockTextAndImage ._imageColumn {
		position: relative;
		padding: 2rem 1rem;
		align-self: flex-start;
	}

		.o_blockTextAndImage ._imageColumn .a_image {
			position: relative;
			z-index: 2;
		}

		.o_blockTextAndImage ._imageColumn ._bgBox {
			position: absolute;
			top: 0;
			left: 15%;
			z-index: 1;
			box-sizing: border-box;
			width: 70%;
			height: 100%;
			padding: 0.125rem;
			background: linear-gradient(315deg, transparent 2.5rem, var(--colorPrimary) 0);
		}
			.o_blockTextAndImage ._imageColumn ._bgBox ._inner {
				box-sizing: border-box;
				width: 100%;
				height: 100%;
				background: linear-gradient(315deg, transparent 2.45rem, var(--blockBackground, var(--colorBlack)) 0);
				display: flex;
				justify-content: center;
				align-items: center;
				font-weight: 600;
				font-family: var(--fontHeading);
				font-size: 1.250rem;
			}

/* ----- Colour variations ----- */
.o_blockTextAndImage.-bgPrimary .-txtPrimary {
	color: var(--colorWhite);
}
.o_blockTextAndImage.-bgPrimary ._imageColumn ._bgBox {
	background: linear-gradient(315deg, transparent 2.5rem, var(--colorWhite) 0);
}


/* -------------------------------------------------------------------------- *
 * Block - Text and Video block
 * -------------------------------------------------------------------------- */
.o_blockTextAndVideo {

}
	.o_blockTextAndVideo ._contentColumn {
		/*display: flex;
		flex-direction: column;
		justify-content: space-between;*/
	}

	.o_blockTextAndVideo ._contentColumn ._content {
		padding: 1rem 0;
	}

		.o_blockTextAndVideo ._contentColumn ._footer {
		
		}

	.o_blockTextAndVideo ._videoColumn {
		position: relative;
		padding: 2rem 1rem;
		align-self: flex-start;
	}

		.o_blockTextAndVideo ._videoColumn .a_video {
			position: relative;
			z-index: 2;
		}

		.o_blockTextAndVideo ._videoColumn ._bgBox {
			position: absolute;
			top: 0;
			left: 15%;
			z-index: 1;
			box-sizing: border-box;
			width: 70%;
			height: 100%;
			padding: 0.125rem;
			background: linear-gradient(315deg, transparent 2.5rem, var(--colorPrimary) 0);
		}
			.o_blockTextAndVideo ._videoColumn ._bgBox ._inner {
				box-sizing: border-box;
				width: 100%;
				height: 100%;
				background: linear-gradient(315deg, transparent 2.45rem, var(--blockBackground, var(--colorBlack)) 0);
				display: flex;
				justify-content: center;
				align-items: center;
				font-weight: 600;
				font-family: var(--fontHeading);
				font-size: 1.250rem;
			}

/* ----- Colour variations ----- */
.o_blockTextAndVideo.-bgPrimary .-txtPrimary {
	color: var(--colorWhite);
}
.o_blockTextAndVideo.-bgPrimary ._videoColumn ._bgBox {
	background: linear-gradient(315deg, transparent 2.5rem, var(--colorWhite) 0);
}

/* -------------------------------------------------------------------------- *
 * Organism - Timeline Content Block
 * -------------------------------------------------------------------------- */
.o_blockTimeline {
	overflow: hidden;
}

	.o_blockTimeline ._timelineList {
		margin: 0;
		padding: 0;
		overflow: visible;
	}

	/* ----- Colour Variations ----- */
	.o_blockTimeline.-bgPrimary .-txtPrimary {
		color: var(--colorWhite);
	}
	.o_blockTimeline.-bgPrimary .swiper-button-next svg,
	.o_blockTimeline.-bgPrimary .swiper-button-prev svg {
		fill: var(--colorBlack);
	}
	.o_blockTimeline.-bgPrimary .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
		background-color: var(--colorWhite);
	}


	/* ----- Swiper Overrides ----- */
	.o_blockTimeline ._swiperControls {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 1rem;
	}

	.o_blockTimeline .swiper-button-next,
	.o_blockTimeline .swiper-button-prev {
		position: static;
		margin: 0;
		user-select: none;
	}

		.o_blockTimeline .swiper-button-next svg,
		.o_blockTimeline .swiper-button-prev svg {
			fill: var(--colorPrimary);
		}

		.o_blockTimeline .swiper-button-next:after,
		.o_blockTimeline .swiper-button-prev:after {
			display: none;
		}

		.o_blockTimeline .swiper-button-next svg,
		.o_blockTimeline .swiper-button-prev svg {
			font-size: 4rem;
		}

		.o_blockTimeline .swiper-button-prev svg {
			transform: rotate(180deg); 
		}

	.o_blockTimeline .swiper-pagination {
		position: static;
		width: auto;
		padding: 0;
	}

		.o_blockTimeline .swiper-pagination .swiper-pagination-bullet {
			width: 0.750rem;
			height: 0.750rem;
			border-radius: 0rem;
			background-color: var(--colorOffBlack);
			opacity: 1;
			transition: all 0.25s ease-in-out;
		}

			.o_blockTimeline .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
				background-color: var(--colorPrimary);
			}

/* ----- CSS-only fallback: applied before Swiper JS runs (or if it fails) ----- *
 * Swiper adds .swiper-initialized once it has initialised. Until that class   *
 * is present the selectors below control layout, matching mcsInitSwiper       *
 * breakpoints. Once Swiper initialises the :not() rules no longer apply.      */
	.o_blockTimeline .swiper:not(.swiper-initialized) .swiper-wrapper {
		display: flex;
		flex-wrap: nowrap;
		overflow: hidden;
	}

	.o_blockTimeline .swiper:not(.swiper-initialized) .swiper-slide {
		flex: 0 0 25%;
		width: 25%;
		min-width: 0;
	}

	.o_blockTimeline .swiper:not(.swiper-initialized) .swiper-pagination,
	.o_blockTimeline .swiper:not(.swiper-initialized) .swiper-button-prev,
	.o_blockTimeline .swiper:not(.swiper-initialized) .swiper-button-next {
		display: 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
	 * ---------------------------------------- */
	.o_blockTimeline .swiper:not(.swiper-initialized) .swiper-slide {
		flex: 0 0 33.333%;
		width: 33.333%;
	}
}

@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.o_blockTimeline .swiper:not(.swiper-initialized) .swiper-slide {
		flex: 0 0 50%;
		width: 50%;
	}
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_blockTimeline .swiper:not(.swiper-initialized) .swiper-slide {
		flex: 0 0 100%;
		width: 100%;
	}
}

/* -------------------------------------------------------------------------- *
 * Block - O_BlockVideo
 * -------------------------------------------------------------------------- */
.o_blockvideo {

}

/* ----- Colour variations ----- */
.o_blockvideo.-bgPrimary .-txtPrimary {
	color: var(--colorWhite);
}

.o_blockvideo ._videoDetails {
	display: grid;
	grid-template-columns: minmax(0, 1fr) max-content;
	gap: 1.5rem;
}

	.o_blockvideo ._videoDetails ._content {
		min-width: 0;
	}

	.o_blockvideo ._videoDetails ._actions {
		justify-self: flex-end;
	}

/* Use your existing mobile breakpoint */
@media (max-width: 640px) {
	.o_blockvideo ._videoDetails {
		grid-template-columns: minmax(0, 1fr);
	}

	.o_blockvideo ._videoDetails ._actions {
		justify-self: start;
	}
}
/* -------------------------------------------------------------------------- *
 * Organism - Block content list
 * -------------------------------------------------------------------------- */
.o_listBlockContent {

}

/* -------------------------------------------------------------------------- *
 * Organism - Small Print Code Section
 * -------------------------------------------------------------------------- */
.o_smallPrintCode {
	padding-bottom: 2rem;
}
/* -------------------------------------------------------------------------- *
 * Organism - Small Print Content Section
 * -------------------------------------------------------------------------- */
.o_smallPrintContent {
	padding-bottom: 2rem;
}
/* -------------------------------------------------------------------------- *
 * Organism - Site Bottom Bar
 * -------------------------------------------------------------------------- */
.o_siteBottomBar {
	width: 100%;
	padding: 4rem 0;
	color:var(--colorWhite)
}

	.o_siteBottomBar .svg_mtbLogo {
		max-width: 20rem;
		margin-bottom: 2rem;
	}

	.o_siteBottomBar ._siteBottomNav {
	}

	.o_siteBottomBar .m_formEmailSignup .col.span3 {
		width:50%;
		padding-bottom: 0;
	}

	.o_siteBottomBar .m_formEmailSignup .col.span6 {
		width:100%;
	}

	.o_siteBottomBar ._siteBottomNav ul {
		display: block;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.o_siteBottomBar .top {
		border-bottom: 1px solid var(--colorGrey-dark);
		margin-bottom:2rem;
		padding-bottom:1rem;
	}
	.o_siteBottomBar h3 {
		font-family: 'Montserrat';
	}

		.o_siteBottomBar ._siteBottomNav ul li {
			display: inline-block;
			
			padding: 0 0 0rem 0.5rem;
		}

			.o_siteBottomBar ._siteBottomNav ul li a {
				color: var(--colorWhite);
				border-bottom:none;
			}

	.o_siteBottomBar .siteBottomSmallPrint .-txtGrey-dark a {
		color: var(--colorGrey-dark);
		border-bottom-color: var(--colorGrey-dark);
	}


/* -------------------------------------------------------------------------- *
 * Responsive variants
 * -------------------------------------------------------------------------- */
@media only screen and (max-width: 1000px) {
	/* ---------------------------------------- *
	 * Tablet Large / .-tl- / 8 columns
	 * ---------------------------------------- */
	.o_siteBottomBar ._siteBottomNav ul li {
		width: 50%;
	}
}

@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	.o_siteBottomBar ._siteBottomNav ul li {
		width: 100%;
		text-align: center;
	}
}

/* -------------------------------------------------------------------------- *
 * Organism - Site Top Bar
 * -------------------------------------------------------------------------- */
.o_siteTopBar {
	top: 0;
	left: 0;
	z-index: 500;
	width: 100%;
	min-width: 320px;
	background-color: var(--colorBlack);
	transition: background-color 0.5s ease-in-out;
}

	.o_siteTopBar .container {
		height: 100%; 
	}

		.o_siteTopBar .container .row {
			height: 100%;
		}

		.o_siteTopBar ._topBarLogo {
			display: block;
			position: relative;
			border-bottom: none;
		}
	.o_siteTopBar #cartCount {

		background-color: var(--colorOffBlack);
		color: var(--colorPrimary);
		border-radius: 50%;
		padding: 0.25rem 0.5rem;
		font-size: 0.75rem;
		font-size:1rem;
	}
	/* -------------------------------------------------------------------------- *
 * 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.-tl-navOpen {
		background-color: var(--colorOffBlack);
	}		
}
@media only screen and (max-width: 800px) {
	/* ---------------------------------------- *
	 * Tablet Small / .-ts- / 6 columns
	 * ---------------------------------------- */

}
@media only screen and (max-width: 600px) {
	/* ---------------------------------------- *
	 * Mobile Large / .-ml- / 4 columns
	 * ---------------------------------------- */
	.o_siteTopBar .content .svg_iconArrow {
		display: none;
	}
}
@media only screen and (max-width: 400px) {
	/* ---------------------------------------- *
	 * Mobile Small / .-ms- / 2 columns
	 * ---------------------------------------- */
	
}
/* -------------------------------------------------------------------------- *
 * View - Error Rate Limit
 * -------------------------------------------------------------------------- */

