@charset "UTF-8";

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/poppins/poppins-v24-latin-ext-400.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/poppins/poppins-v24-latin-400.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/poppins/poppins-v24-latin-ext-500.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/poppins/poppins-v24-latin-500.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/poppins/poppins-v24-latin-ext-600.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/poppins/poppins-v24-latin-600.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --sage: 							#a6a184;
    --sage-light: 						#ccc6b5;
    --chocolate: 						#5e3023;
    --appricot: 						#D39573;
    --latte: 							#d0ae94;
	--white:							#fff;
	
	--viewport-minus-header-height:		calc( 100dvh - var(--header-total-height) );
	--max-width:						100%;
	--btn-fixed-to-bottom-padding:		100px;
	--max-video-width:					670px;

	--g-xs:								10px;
	--g-s:								20px;
	--g-m:								40px;
	--g-l:								80px;

	/* Theme fallbacks. Theme classes override these per section. */
	
	--bg-color: 						var(--sage-light);
	--txt-color: 						var(--chocolate);
	--a-color: 							inherit;
	--a-color-hvr: 						var(--white);
	--h1-color: 						var(--txt-color);
	--h2-color: 						var(--txt-color);
	--h3-color: 						var(--txt-color);
	--h4-color: 						var(--txt-color);
	--h5-color: 						var(--txt-color);
	--h6-color: 						var(--txt-color);
	--pre-header-color:					var(--txt-color);

	--social-a-color:					var(--chocolate);
	--social-a-color-hvr:				var(--latte);
	--icon-color:						var(--sage-light);
	--icon-bg-color:					var(--chocolate);
	--blockquote-txt-color:				var(--txt-color);
	--blockquote-author-color:			var(--txt-color);

	--btn-padding:						20px 35px;
	--btn-radius:						35px;
	--btn-font-size:					20px;
	--btn-font-weight:					600;
	--btn-border-width: 				2px;

	.button-solid {
		--btn-border-color: 			var(--appricot);
		--btn-bg-color:					var(--appricot);
		--btn-txt-color:				var(--chocolate);
		--btn-border-color-hvr:			var(--latte);
		--btn-bg-color-hvr:				var(--latte);
		--btn-txt-color-hvr:			var(--white);
	}

	.button-bordered {
		--btn-border-color: 			var(--white);
		--btn-bg-color:					transparent;
		--btn-txt-color:				var(--white);
		--btn-border-color-hvr:			var(--white);
		--btn-bg-color-hvr:				var(--white);
		--btn-txt-color-hvr:			var(--chocolate);
	}

	footer {
		--bg-color:						var(--sage);
	}
}

/* *** BRAND STYLE GUIDE *** */

/* Image theme */

@media (max-width: 940px) {
	:root {
		--max-width:					770px;
	}

	header,
	footer {
		--max-width:					100%;
	}

	.row-has-bg-img .col-bg-0 {
		--pre-header-color:			var(--txt-color);
		--h1-color: 				var(--txt-color);
		--h2-color: 				var(--txt-color);
		--h3-color: 				var(--txt-color);
		--h4-color: 				var(--txt-color);
		--h5-color: 				var(--txt-color);
		--h6-color: 				var(--txt-color);
	}

	.row-has-bg-img .row-inner {
		padding-top: 				var(--spacing-m)	!important;
	}

	.row-has-img .cols:has(.col.ar-desktop-ac-mobile) {
		margin-inline-start:		auto;
		margin-inline-end:			0;
	}

	.row-has-img .cols .col.ar-desktop-ac-mobile {
		text-align:					left;
	}

	.row-has-img .cols:has(.col.al-desktop-ac-mobile) {
		margin-inline: 					auto;
	}
}

@media (min-width: 941px) {
	.row-has-bg-img .col {
		--bg-color: 				transparent;
		--pre-header-color:			var(--white);
		--txt-color: 				var(--white);
		--h1-color: 				var(--white);
		--h2-color: 				var(--white);
		--h3-color: 				var(--white);
		--h4-color: 				var(--white);
		--h5-color: 				var(--white);
		--h6-color: 				var(--white);
	}
}

.row-has-bg-img {
	margin-bottom: 					var(--spacing-m);
}

.row-has-bg-img .cols:has(.col.ac) {
	margin-inline: 					auto;
}

/* Light sage theme */

.col-bg-0 {
	--bg-color: 					var(--sage-light);
	--txt-color: 					var(--chocolate);
	--a-color-hvr: 					var(--white);
	--h1-color: 					var(--txt-color);
	--h2-color: 					var(--txt-color);
	--h3-color: 					var(--txt-color);
	--h4-color: 					var(--txt-color);
	--h5-color: 					var(--txt-color);
	--h6-color: 					var(--txt-color);
	--pre-header-color:				var(--txt-color);
	--icon-color:					var(--sage-light);
	--icon-bg-color:				var(--appricot);
}

/* Appricot theme */

.col-bg-1 {
	--bg-color: 					var(--appricot);
	--pre-header-color:				var(--chocolate);
	--txt-color: 					var(--chocolate);
	--a-color-hvr: 					var(--white);
	--h1-color: 					var(--chocolate);
	--h2-color: 					var(--chocolate);
	--h3-color: 					var(--chocolate);
	--h4-color: 					var(--chocolate);
	--h5-color: 					var(--chocolate);
	--h6-color: 					var(--chocolate);
	--icon-color:					var(--appricot);
	--icon-bg-color:				var(--sage-light);
}

.col-bg-1 .button-solid {
	--btn-border-color: 			var(--white);
	--btn-bg-color:					var(--white);
	--btn-txt-color:				var(--chocolate);
	--btn-border-color-hvr:			var(--white);
	--btn-bg-color-hvr:				transparent;
	--btn-txt-color-hvr:			var(--white);
}

/* Sage theme */

.col-bg-2 {
	--bg-color: 					var(--sage);
	--pre-header-color:				var(--white);
	--txt-color: 					var(--white);
	--a-color-hvr: 					var(--chocolate);
	--h1-color: 					var(--white);
	--h2-color: 					var(--white);
	--h3-color: 					var(--white);
	--h4-color: 					var(--white);
	--h5-color: 					var(--white);
	--h6-color: 					var(--white);
	--icon-color:					var(--sage);
	--icon-bg-color:				var(--sage-light);
}

/* Latte theme */

.col-bg-3 {
	--bg-color: 					var(--latte);
	--pre-header-color:				var(--white);
	--txt-color: 					var(--white);
	--a-color-hvr: 					var(--chocolate);
	--h1-color: 					var(--white);
	--h2-color: 					var(--white);
	--h3-color: 					var(--white);
	--h4-color: 					var(--white);
	--h5-color: 					var(--white);
	--h6-color: 					var(--white);
	--icon-color:					var(--sage);
	--icon-bg-color:				var(--sage-light);
}

/* Sage and sand theme */

.col-bg-2 .button-solid,
.col-bg-3 .button-solid {
	--btn-border-color: 			var(--white);
	--btn-bg-color:					var(--white);
	--btn-txt-color:				var(--chocolate);
	--btn-border-color-hvr:			var(--white);
	--btn-bg-color-hvr:				transparent;
	--btn-txt-color-hvr:			var(--white);
}

.col-bg-2 .button-bordered,
.col-bg-3 .button-bordered {
	--btn-txt-color-hvr:			var(--chocolate);
}

@media (max-width: 940px) {
	:root {
		--header-nav-height:			calc( 100dvh - var(--header-total-height) );
		--hamburger-offset:				70px;
		
		--gutter:						20px;
		
		--spacing-l:					60px;
		--spacing-m:					30px;
		
		--h1-size: 						42px;
		--h1-line-height: 				51px;
		--h1-letter-spacing:			0;
		
		--h2-size: 						31px;
		--h2-line-height: 				40px;
		--h2-letter-spacing:			0;

		--blockquote-max-width:			90%;
	}

	.cols {
		--col-padding-lr:				20px;
		--col-padding-tb:				40px;
		--col-gap:						20px;
		--col-width:					100%;
		--col-1-width:					100%;
		--col-2-width:					100%;
	}
}

@media (min-width: 941px) {
	.wide-width {
		--max-width:					1600px;
	}

	.medium-width {
		--max-width:					1300px;
	}

	.narrow-width {
		--max-width:					940px;
	}

	.tight-width {
		--max-width:					825px;
	}
	
	:root {
		--gutter:						40px;

		--spacing-l:					80px;
		--spacing-m:					40px;
		
		--media-content-spacing:		40px;
		--media-content-total-spacing:	80px;
			
		--h1-size: 						55px;
		--h1-line-height: 				66px;
		--h1-letter-spacing:			-1px;

		--h2-size: 						43px;
		--h2-line-height: 				56px;
		--h2-letter-spacing:			-1px;
		
		--blockquote-max-width:			850px;
	}

	h1 + h2,
	.c-multiple h2 {
		--h2-size: 						31px;
		--h2-line-height: 				40px;
		--h2-letter-spacing:			0;
	}

	.cols {
		--col-padding-lr:				30px;
		--col-padding-tb:				60px;
		--col-gap:						40px;
		--col-width:					100%;
		--col-1-width:					100%;
		--col-2-width:					100%;
	}
	
	.cols.c2	{
		--col-width:					calc( 50% - 				( var(--col-gap) ) / 2 );
	}
	
	.cols.c2.c-fixed-wide {
		--col-1-width:					calc( 300px - 				( var(--col-gap) / 2 ) );
		--col-2-width:					calc( ( 100% - 300px ) - 	( var(--col-gap) / 2 ) );
	}
	
	.cols.c2.c-wide-fixed {
		--col-2-width:					calc( 300px - 				( var(--col-gap) / 2 ) );
		--col-1-width:					calc( ( 100% - 300px ) - 	( var(--col-gap) / 2 ) );
	}
	
	.cols.c2.c-1-wide {
		--col-1-width:					calc( 60% - 				( var(--col-gap) ) / 2 );
		--col-2-width:					calc( 40% - 				( var(--col-gap) ) / 2 );
	}
	
	.cols.c2.c-2-wide {
		--col-1-width:					calc( 40% - 				( var(--col-gap) ) / 2 );
		--col-2-width:					calc( 60% - 				( var(--col-gap) ) / 2 );
	}
}

.single h1 {
	--h1-size: 						35px;
	--h1-line-height: 				45px;
	--h1-letter-spacing:			0;
}

@media (min-width:1000px) {
	.cols.c3 {
		--col-gap:						20px;
		--col-width:					calc( ( 100% - 				( 2 * var(--col-gap) ) ) / 3 );
	}
}

@media (min-width: 760px) and (max-width:1199px) {
	.cols.c4 {
		--col-width:					calc( 50% - 				( var(--col-gap) ) / 2 );
	}
}

@media (min-width:1200px) {
	.cols.c4 {
		--col-gap:						20px;
		--col-width:					calc( ( 100% - 				( 3 * var(--col-gap) ) ) / 4 );
	}
}

/* *** START MAIN WRAPPERS *** */

html,
body {
	font-family: 		'Poppins', sans-serif;
	margin:				0;
	padding:			0 0 1px 0;
	border:				0;
	font-style:			inherit;
	vertical-align:		baseline;
	outline:			none;
	min-height:			100%;
}

html {
	overflow-x:					hidden;
	height:						100%;
	scroll-behavior: 			smooth;
	-webkit-text-size-adjust: 	100%; /* Prevent font scaling in landscape while allowing user zoom */
}

body {
	font-weight:			400;
    font-size: 				15px;
    line-height: 			27px;
	text-align:				left;
	width:					100%;
	background-color:		var(--sage-light);
	color:					var(--txt-color);
	box-sizing:				border-box;
}

main {
	width:					100%;
	overflow:				hidden;
	margin-top:				var(--header-total-height);
}

section {
    width:					100%;
	float:					left;
	position:				relative;
	background-color: 		var(--bg-color);
}

/* *** START BUTTONS *** */

.button {
	transition: 			color .25s linear, border-color .25s linear, background-color .25s linear;
	text-decoration:		none;
	display:				inline-block;
	border: 				var(--btn-border-width) solid var(--btn-border-color);
	color: 					var(--btn-txt-color)			!important;
	background-color:		var(--btn-bg-color);
	padding:				var(--btn-padding);
	white-space: 			nowrap;
	border-radius:			var(--btn-radius);
	font-size: 				var(--btn-font-size);
	font-weight: 			var(--btn-font-weight)
}

.button:hover,
a:hover .button {
	border-color: 			var(--btn-border-color-hvr);
	background: 			var(--btn-bg-color-hvr);
	color: 					var(--btn-txt-color-hvr)		!important;
}

/* *** END BUTTONS *** */

/* *** START FOOTER *** */

footer {
    width:					100%;
	float:					left;
	position:				relative;
	background-color: 		var(--bg-color);
}

.footer-header {
    font-weight:			600;
    font-size:				21px;
	line-height:			21px;
}

#footer-top a {
	text-decoration:		none;
}

img.footer-credentials {
	width: 					210px;
}

@media (min-width:941px) {
	img.footer-credentials  {
		float:				right;
	}
}

@media (max-width:940px) {
	.social-icon {
		margin:				0 5px;
	}
}

#footer-bottom {
	font-size:				13px;
	padding:				var(--g-s) 0 0;
	margin-top:				var(--g-s);
	border-top:				1px solid var(--white);
	background-color: 		var(--bg-color);
	box-sizing:				border-box;
}

/* *** END FOOTER *** */

/* START ROW STRUCTURE *** */

.row {
	margin:					0 auto;
	box-sizing: 			border-box;
	display:				block;
	float:					left;
	width:					100%;
	position: 				relative;
}

.row-has-bg-img-outer {
	box-sizing: 			border-box;
	width: 					100%;
	display:				flex;
	padding: 				var(--spacing-m);
	align-items: 			center;
}

@media (max-width: 940px) {
	.row-has-bg-img-outer {
		flex-direction:					column;
		padding:						var(--spacing-m) 0 0;
	}

	.row-has-bg-img-outer .bg-img {
		border-bottom-left-radius: 		50px;
		border-bottom-right-radius: 	50px;
		height: 						60vw;
    	position: 						relative;
		top:							0;
		left:							0;
	}
}

@media (min-width: 941px) {
	.row-has-bg-img-outer {
		min-height: 					calc( 100vh - var(--header-total-height) );
	}

	.row-has-bg-img-outer .bg-img {
		border-radius: 					50px;
		width: 							calc( 100% - var(--spacing-m) * 2 );
		height: 						calc( 100% - var(--spacing-m) * 2 );
		top: 							var(--spacing-m);
		left: 							var(--spacing-m);
	}

	.row-has-bg-img-outer .row-inner .cols { 
		max-width: 						375px;
	}
}

.row-inner {
	margin:					0 auto;
	display:				flex;
	max-width:				var(--max-width);
	box-sizing: 			border-box;
	position:				relative;
	padding:				var(--spacing-l) var(--gutter);
}

header .row-inner {
	padding:				0 var(--gutter);
}

footer .row-inner {
	padding: 				var(--spacing-m) var(--gutter);
}

.row-align-bottom {
	flex-direction: 		column;
}

.row-with-same-bg:not(.row-has-bg-img) .row-inner {
	padding-top:			0;
}

.hero.row-with-same-bg:not(.row-has-bg-img) .row-inner {
	padding-top: 			var(--spacing-m);
}

.merge-with-previous-row {
	margin-top: 			calc( var(--spacing-l) * -1 );
}

/* END ROW STRUCTURE *** */

/* *** START COLUMN STRUCTURE *** */

.cols {
	display: 					flex;
	flex-wrap: 					wrap;
	align-items: 				stretch;
	gap: 						var(--col-gap);
	width: 						100%;
	justify-content: 			center;
}

.cols > * {
	min-width: 					0;
	box-sizing: 				border-box;
}

.cols.c1 > * {
	flex: 						0 0 100%		!important;
}

.cols.c2 {
	justify-content: 			left;
}

.justify-vertical {
	align-self:					stretch;
	display:					flex;
	flex-direction:				column;
	justify-content:			space-between;
}

.col-padded {
	padding:					var(--g-m) var(--g-m);
	border-radius:				10px;
}

@media (max-width:940px) {
	.row-col-same-bg.col-padded {
		padding:					0;
	}
}

@media (min-width:941px) {
	.row-col-same-bg.col-padded {
		padding:					var(--g-m) 0;
	}

	.vertical-middle-align .row-inner .cols {
		justify-content: 			center;
		align-items: 				center;
	}
}

.c2 > *,
.c3 > *,
.c4 > *	{
	flex: 						0 0 var(--col-width);
}

.c3 > * {
	max-width:					600px;
}

.c4 > * {
	max-width:					480px;
}

/* Even items (2, 4, 6...) - narrower column */

.c2.c-1-wide		> *:nth-child(even),
.c2.c-wide-fixed	> *:nth-child(even) {
	flex: 						0 0 var(--col-2-width);
}

.c2.c-2-wide		> *:nth-child(even),
.c2.c-fixed-wide	> *:nth-child(even) {
	flex: 						0 0 var(--col-2-width);
}

/* Odd items (1, 3, 5...) - wider column */

.c2.c-1-wide		> *:nth-child(odd),
.c2.c-fixed-wide	> *:nth-child(odd) {
	flex: 						0 0 var(--col-1-width);
}

.c2.c-2-wide		> *:nth-child(odd),
.c2.c-wide-fixed	> *:nth-child(odd) {
	flex: 						0 0 var(--col-1-width);
}

/* *** END COLUMN STRUCTURE *** */
	
.video-wrapper {
	max-width: 				var(--max-video-width);
	border-radius: 			20px;
	overflow: 				hidden;
}

.ac .video-wrapper {
	max-width:				600px;
	margin:					0 auto;
}

.video-embed {
	position: 				relative;
	padding-bottom: 		56.25%; /* 16:9 */
	height: 				0;
}

.video-embed iframe {
	position: 				absolute;
	top: 					0;
	left: 					0;
	width: 					100%;
	height: 				100%;
}
	
.image-border {
	border-radius: 			40px;
}

.row-media-src {
	border-radius: 			40px;
	object-fit: 			cover;
}

.row-media-square 	.row-media-src {
	aspect-ratio: 			1 / 1;
}

@media (max-width:941px) {
	.row-media-default 	.row-media-src {
		aspect-ratio: 		1 / 1;
	}
}

@media (min-width:941px) {
	.row-media-top > .row-media {
		align-self:			flex-start;
	}

	.row-media-default .row-media {
		position:			relative;
		align-self:			stretch;
		aspect-ratio:		1 / 1;
	}

	.row-media-aside .row-media-default .row-media-content {
		padding-top:		var(--g-m);
		padding-bottom:		var(--g-m);
	}

	.row-media-aside .row-media-square .row-media-content {
		padding-top:		var(--g-m);
	}

	.row-media-default .row-media picture {
		position:			absolute;
		inset:				0;
		display:			block;
		width:				100%;
		height:				100%;
	}

	.row-media-default 	.row-media-src {
		display:			block;
		width:				100%;
		height: 			100%;
	}

	.row-media-right .row-media {
		order:				2;
	}
	
	.row-media-right .row-media-content {
		order:				1;
	}
}

/* *** START ROW AND COLUMN COLOUR SCHEMES *** */

.col {
	background-color: 		var(--bg-color);
	color:					var(--txt-color);
}

/* *** END ROW AND COLUMN COLOUR SCHEMES *** */

/* *** START ICONS *** */

.e-icon {
	font-size:				45px;
	height:					80px;
	width: 					80px;
	margin: 				0 20px 0 0;
	display:				inline-block;
}

.e-icon i {
	border-radius: 			50%;
	background: 			var(--icon-bg-color);
	color:					var(--icon-color);
	width: 					80px;
	height: 				80px;
	position: 				relative;
}

.e-icon i::before {
	position: 				absolute;
	top: 					50%;
	left: 					50%;
	transform: 				translate(-50%, -50% );
}

.ac .e-icon {
	margin: 				0 10px;
}

.social-icon {
	display:				inline-block;
	transition: 			color .25s linear;
	text-decoration:		none;
	color:					var(--social-a-color);
	font-size: 				0;
	line-height: 			0;
}

.social-icon-svg {
	display: 				block;
	width: 					35px;
	height: 				35px;
	color:					inherit;
	overflow:				visible;
}

.social-icon:hover {
	color:					var(--social-a-color-hvr);
}

/* *** END ICONS *** */

/* *** START IMAGES *** */

figure {
	margin:					0;
}

figcaption {
	margin-top: 			var(--g-xs);
}

/* *** END IMAGES *** */

/* *** START MISCELLANEOUS ELEMENTS *** */

.jumpAnchor {
	position:				absolute;
	top:					0;
	left:					0;
    height:					0;
    width:					100%;
}

p {
	padding:				0;
    width:					100%;
	display:				block;
	margin:					10px 0;
	position:				relative;
	float:					left;
}

.c {
	position:				relative;
	box-sizing: 			border-box;
	width: 					100%;
	float:					left;
}

.ac {
    text-align:				center			!important; 
}

.ac p {
	margin:					5px auto; 
}

p:empty {
	display:				none;
}

b,
strong {
	font-weight:			600;
}

img {
	width:					100%;
	height:					auto;
    display:				inline-block;
	position:				relative;
}

img.img-small {
	max-height:				300px;
	max-width:				300px;
	width: 					auto;
	height: 				auto;
}

img.img-medium {
	max-width:				700px;
}

img.img-icon {
	height: 				180px;
	width: 					180px;
	border-radius: 			50%;
	object-fit:				contain;
	object-position:		center;
}

.hide {
	display:				none			!important;
}

.tm {
	margin-top:				var(--g-s)		!important;
}

.bm {
	margin-bottom:			var(--g-s)		!important;
}

.ltm {
	margin-top:				var(--g-xs)		!important;
}

.lbm {
	margin-bottom:			var(--g-xs)		!important;
}

.no-padding {
		padding:			0				!important;
}

.c-spacer-xs	{ height:		var(--g-xs);	}
.c-spacer-s		{ height:		var(--g-s);		}
.c-spacer-m		{ height:		var(--g-m);		}
.c-spacer-l		{ height:		var(--g-l);		}

@media (max-width: 940px) {
	.hide-on-mobile	{
		display:			none	!important;
	}

	.col-prioritise-if-mobile {
		order:					-1;
	}
	
	.al-desktop-ac-mobile,
	.ar-desktop-ac-mobile {
		text-align:				center;
	}
}

/* *** END MISCELLANEOUS ELEMENTS *** */

/* *** START HEADERS *** */

p.pre-header {
	font-size: 				18px;
    line-height: 			28px;
    letter-spacing:			2px;
	text-transform: 		uppercase;
	font-weight: 			600;
	margin:					10px auto;
	color:					var(--pre-header-color);
}

p.sub-header {
	font-weight:			600;
	font-size:				20px;
	line-height:			30px;
	margin:					8px auto;
}

.c1 p.sub-header {
	font-size: 				25px;
	line-height: 			37px;
}

h1, h2, h3, h4, h5, h6 {
	display:				inline-block;
    padding:				0;
	position:				relative;
	width:					100%;
	margin:					0;
}

h1 {
	margin-bottom:			10px;
	margin-top:				10px;
	font-weight:			600;
	color: 					var(--h1-color);
	font-size: 				var(--h1-size);
	line-height: 			var(--h1-line-height);
	letter-spacing:			var(--h1-letter-spacing);
}

h2 {
    font-weight:			600;
    margin-top:				10px;
	margin-bottom:			10px;
	color: 					var(--h2-color);
	font-size: 				var(--h2-size);
	line-height: 			var(--h2-line-height);
	letter-spacing:			var(--h2-letter-spacing);
}

h3 {
	margin:					15px 0 10px 0;
	font-weight: 			500;
	font-size: 				22px;
    line-height: 			31px;
	text-transform:			uppercase;
	color:					var(--h3-color);
}

h3.small {
	font-size: 				18px;
	line-height: 			26px;
}

p.heading {
    font-size:				18px;
	line-height:			26px;
	font-weight: 			500;
	text-transform:			uppercase;
}
	
h4 {
    font-weight:			500;
    font-size:				23px;
	line-height:			29px;
	color:					var(--h4-color);
}

h5 {
	font-weight:			500;
	margin:					5px 0;
	font-size: 				17px;
	line-height:			23px;
	color:					var(--h5-color);
}

/* *** END HEADERS *** */

/* *** START BACKGROUND IMAGE *** */

.bg-img {
	position: 				absolute;
	top: 					0;
	left: 					0;
	width: 					100%;
	height: 				100%;
	overflow:				hidden;
}

.bg-img::after {
	content: 				" ";
	position:				absolute;
	top:					0;
	left:					0;
	width:					100%;
	height:					100%;
	background:				#111;
}

.bg-img picture {
	position:				absolute;
	top:					0;
	left:					0;
	width: 					100%;
	height: 				100%;
}

.bg-img img {
	width: 					100%;
	height: 				100%;
	object-fit: 			cover;
	object-position: 		center;
}

.bg-low-opacity::after 		{ opacity: .75; }
.bg-medium-opacity::after 	{ opacity: .5; 	}
.bg-high-opacity::after 	{ opacity: .25; }
.bg-full-opacity::after 	{ opacity:  0; 	}

/* *** END BACKGROUND IMAGE *** */

/* *** START ANCHORS *** */

a {
	text-decoration:			underline;
	color: 						inherit;
	text-underline-offset: 		6px;
	text-decoration-thickness: 	1px;
	transition: 				color .25s linear;
    outline: 					0;
}

a[href^="mailto:"] {
    word-break: 				break-all; /* or break-word if preferred */
    overflow-wrap: 				break-word;
}

.col a {
	color: 						var(--a-color);
}

.col a:hover {
	color: 						var(--a-color-hvr);
}

.e-text a[target="_blank"]::after {
	content: 					"\2197";
	position:					relative;
	font-size: 					13px;
	font-weight: 				600;
	top: 						-3px;
	margin-left: 				3px;
	text-decoration: 			none;
	display: 					inline-block;
}

/* *** END ANCHORS *** */

/* *** START BUTTONS *** */

button[type="button"] {
	-webkit-appearance: 	none;
	-moz-appearance: 		none;
	appearance: 			none;
	border: 				none;
	background: 			transparent;
}

button:hover {
    cursor:					pointer;
}

@keyframes arrow {
	0% {
		bottom:				30px;
	}
	100% {
		bottom:				20px;
	}
}

@-webkit-keyframes arrow {
	0% {
		bottom:				30px;
	}
	100% {
		bottom:				20px;
	}
}

/* *** START SWIPER *** */

.ac .cols.testimonials {
	justify-content: 	center;
}

blockquote {
	margin:				0;
	padding: 			0;
	font-size: 			21px;
	line-height: 		35px;
	text-align:			center;
	max-width:			var(--blockquote-max-width);
	font-weight:		600;
	color:				var(--blockquote-txt-color);
}

.e-text blockquote {
	text-align:			inherit;
}

.author {
	color:				var(--blockquote-author-color);
	letter-spacing: 	1px;
	text-transform: 	uppercase;
	font-weight: 		500;
	margin:				10px auto;
}

.ac blockquote {
	margin:				0 auto;
}
	
.swiper-container {
  width: 				100%;
  float: 				left;
  position: 			relative;
}

.row-background-slider.swiper-container {
	width: 				100%;
	height: 			100%;
	position: 			absolute;
	top: 				0;
	left: 				0;
	margin-top:			0;
	z-index:			0;
}

.swiper-container-has-pagination {
	padding-bottom: 	40px;
}

.swiper-container-loading {
    display: 			none;
    grid-auto-flow: 	column; /* Ensure all items are placed in a single row */
    grid-auto-columns: 	0; /* Optional: Adjust the width of the columns */
	opacity:			0;
}

.swiper-prev-next-top {
	padding-top:		50px;
}

.swiper-slide .col {
	box-sizing: 		content-box;
}

.swiper-col {
	--swiper-arrow-size:			30px;
	--swiper-arrow-stroke-width:	2px;
	padding: 					0 80px;
}

.swiper-col .swiper-pagination-bullet {
	width: 				14px;
	height: 			14px;
	opacity:			1;
	transition: 		background .15s linear;
	border-radius:		3px;
	background:			var(--a-color);
	border:				2px solid;
	border-color: 		var(--a-color);
}

.swiper-col .swiper-pagination-bullet-active,
.swiper-col .swiper-pagination-bullet:hover {
	background: 		var(--a-color-hvr) 		!important;
}

.swiper-col .swiper-button-next,
.swiper-col .swiper-button-prev {
	width:				33px;
	height:				60px;
	top: 				50px;
}

.swiper-col .swiper-button-lock {
	display:			flex;
}

.swiper-col .swiper-button-next::after,
.swiper-col .swiper-button-prev::after {
	content:			"";
	display:			block;
	width:				var(--swiper-arrow-size);
	height:				var(--swiper-arrow-size);
	border:				solid var(--a-color);
	border-width:		var(--swiper-arrow-stroke-width) var(--swiper-arrow-stroke-width) 0 0;
	box-sizing:			border-box;
	transition:			border-color .25s linear;
}

.swiper-col .swiper-button-next::after {
	transform:			rotate(45deg);
}

.swiper-col .swiper-button-prev::after {
	transform:			rotate(-135deg);
}

.swiper-col .swiper-button-next:hover::after,
.swiper-col .swiper-button-prev:hover::after {
	border-color:		var(--a-color-hvr);
}

/* *** END SWIPER *** */

/* *** START FANCY BULLETS *** */

.fancy-bullet {
	margin-bottom:			var(--g-s);
}

@media (min-width: 941px) {
	.two-col-block {
		column-count:		2;
		column-gap:			var(--col-gap);
	}

	.two-col-block > .fancy-bullet,
	.two-col-block > .keep-together {
		display:						inline-block;
		width:							100%;
		break-inside:					avoid;
		-webkit-column-break-inside:	avoid;
		page-break-inside:				avoid;
	}
}

.fancy-bullet-button,
.fancy-bullet-text {
	position:				relative;
	box-sizing:				border-box;
	padding-left:			20px;
	width: 					100%;
	float: 					left;
}

.fancy-bullet-button {
	text-decoration:		none;
    -webkit-appearance: 	none; /* Remove browser-specific styles */
    -moz-appearance: 		none;
    appearance: 			none;
    background: 			none;
    border: 				none;
	text-align:				left;
	font-family: 			inherit;
	font-weight: 			500;
	font-size: 				18px;
	line-height: 			27px;
	color: 					var(--a-color);
	transition: 			color .25s linear;
}

.fancy-bullet-button:hover {
	color:					var(--a-color-hvr);
}

.fancy-bullet-button::before,
.fancy-bullet-button::after {
	content:				" ";
	position:				absolute;
	left:					0;
	width:					11px;
	height:					3px;
	background: 			var(--txt-color);
	transition: 			background-color .25s linear;
	top:					15px;
}

.fancy-bullet-button:hover::before,
.fancy-bullet-button:hover::after {
	background-color: 		var(--a-color-hvr);
}

.fancy-bullet-button::before {
	top:					15px;
}

.fancy-bullet-button::after {
	transform: 				rotate(90deg);
	top:					15px;
}

.fancy-bullet-open .fancy-bullet-button::after {
	opacity: 				0;
}

.fancy-bullet-text {
	transition: 			opacity .25s linear, color .25s linear;
	height:					0;
	overflow:				hidden;
	opacity:				0;
}

.fancy-bullet-open .fancy-bullet-text {
	opacity:				1;
	height:					auto;
	overflow: 				visible;
}

/* *** END FANCY BULLETS *** */

/* *** START LISTS *** */

ol,
ul {
	margin:					0;
	padding:				0;
    list-style-type: 		none;
	display:				block;
    box-sizing: 			border-box;
}

li {
    box-sizing: 			border-box;
    position:				relative;
}

main ul {
	margin:					0 auto;
	float:					left;
	width:					100%;
}

main li {
	margin:					3px 0;
    text-align:				left;
	padding:				0 0 0 12px;
	float:					left;
	width:					100%;
	box-sizing:				border-box;
}

main .ac ul {
	float:			none;
	width:			100%;
	text-align:		center;
}

main .ac li {
	display:		inline;
	float:			none;
	width:			auto;
	margin:			0;
	padding:		0;
}

main ul li::before {
	content: 			" ";
	position:			absolute;
	top:				12px;
	left:				0;
	width:				4px;
	height:				4px;
	background-color: 	var(--txt-color);
	border-radius: 		50%;
}

main .ac li::before {
	content:			"\2022\00a0";
	position:			static;
	display:			inline;
	width:				auto;
	height:				auto;
	background:			none;
	border-radius:		0;
	color:				var(--txt-color);
}

main ol {
	counter-reset: 			item;
}

main ol li {
	padding-left:			40px;
	margin:					5px 0;
	float:					left;
	width:					100%;
}

main ol li::before {
	content: 				counters(item, ".") ".";
	counter-increment: 		item;
	position:				absolute;
	left: 					5px;
	top: 					0;
}

/* *** END LISTS *** */

/* *** START BLOG LIST VIEW *** */

.blog-card {
	border-radius:			10px;
	padding: 				10px 10px 20px 10px;
}

.blog-card__link {
	text-decoration:		none;
    display: 				flex;
    flex: 					1;
    flex-direction: 		column;
    justify-content: 		space-between;
}

.blog-card__figure {
	width: 				100%;
	height: 			0;
	padding-bottom: 	min(75%, 300px);
	overflow: 			hidden;
	position: 			relative;  
}

.blog-card__figure img {
	position: 			absolute;
	top:				0;
	left:				0;
	width: 				100%;
	height: 			100%;
	object-fit: 		cover;
}

.blog-card p.pre-header {
	margin:				-5px 0 5px;
	color:				var(--txt-color);
}

.blog-card a h3 {
	transition: 		color .25s linear;
}

.blog-card a:hover h3 {
	color: 				var(--a-color);
}

.blog-card__link img {
	border-radius:		10px;
	transition: 		opacity .25s linear;
}

.blog-card__link:hover img {
	opacity:			.9;
}

.blog-pagination a,
.blog-pagination span {
	margin:				0 4px;
	font-weight:		600;
	text-decoration:	none;
}

.blog-pagination span {
	color:				var(--a-color-hvr);
}

/* *** END BLOG LIST VIEW *** */

/* *** START TABLE LAYOUT *** */

table {
	width:				100%;
	border-collapse: 	collapse;
	margin:				5px 0;
}

th,
td {
	padding: 			5px;
	text-align: 		left;
	border: 			1px solid #e0e0e0;
}

th {
	font-weight: 		600;
	vertical-align: 	bottom;
	color: 				var(--h1-color);
}

td {
	vertical-align: 	top;
}

/* *** END TABLE LAYOUT *** */
