:root {
	/* Default font formatting for mobile and desktop */
	
	--h1-font-weight: 					600;
	--h1-font-size: 					35px;
	--h1-line-height: 					43px;
	--h1-letter-spacing:				0;
	--h1-word-spacing:					0;
	--h1-margin:						0 0 10px;

	--h2-font-weight: 					500;
	--h2-font-size: 					32px;
	--h2-line-height: 					41px;
	--h2-letter-spacing:				-.5px;
	--h2-word-spacing:					-1px;
	--h2-margin:						10px 0;

	--h3-font-weight: 					500;
	--h3-font-size: 					26px;
	--h3-line-height: 					38px;
	--h3-letter-spacing:				-.5px;
	--h3-word-spacing:					0;
	--h3-margin:						10px 0;
	
	--h4-font-weight: 					600;
	--h4-font-size: 					22px;
	--h4-line-height: 					31px;
	--h4-letter-spacing:				0;
	--h4-word-spacing:					0;
	--h4-margin:						5px 0;
		
	--h5-font-weight: 					500;
	--h5-font-size: 					20px;
	--h5-line-height: 					29px;
	--h5-letter-spacing:				0;
	--h5-word-spacing:					0;
	--h5-margin:						5px 0;

	--h6-font-weight: 					600;
	--h6-font-size: 					17px;
	--h6-line-height: 					26px;
	--h6-letter-spacing:				0;
	--h6-word-spacing:					0;
	--h6-margin:						5px 0;
	--h6-text-transform:				uppercase;

	--sub-header-font-weight: 			500;
	--sub-header-font-size: 			20px;
	--sub-header-line-height: 			30px;
	--sub-header-letter-spacing:		0;
	--sub-header-word-spacing:			0;
	--sub-header-margin:				10px 0;

	--sub-sub-header-margin:			5px 0;
	--sub-sub-header-max-width:			950px;
	--sub-sub-header-font-size:			19px;
	--sub-sub-header-line-height:		28px;
	--sub-sub-header-font-weight:		500;
	--sub-sub-header-letter-spacing:	0;
	--sub-sub-header-word-spacing:		0;
	
	--cta-header-font-weight: 			600;
	--cta-header-font-size: 			19px;
	--cta-header-line-height: 			25px;
	--cta-header-letter-spacing:		0;
	--cta-header-word-spacing:			-1px;
	--cta-header-margin:				5px 0;
	
	--cta-sub-header-font-weight: 		500;
	--cta-sub-header-font-size: 		23px;
	--cta-sub-header-line-height: 		32px;
	--cta-sub-header-letter-spacing:	0;
	--cta-sub-header-word-spacing:		0;
	--cta-sub-header-margin:			5px 0;
	
	--cta-text-font-weight: 			400;
	--cta-text-font-size: 				13px;
	--cta-text-line-height: 			19px;
	--cta-text-letter-spacing:			0;
	--cta-text-word-spacing:			0;
	--cta-text-margin:					5px auto 0;
	
	--cta-disclaimer-font-weight: 		400;
	--cta-disclaimer-font-size: 		11px;
	--cta-disclaimer-line-height: 		16px;
	--cta-disclaimer-letter-spacing:	0;
	--cta-disclaimer-word-spacing:		0;
	--cta-disclaimer-margin:			12px auto 0;
	
	/* Default colours */
	
	--h1-color: 						inherit;
	--h2-color: 						inherit;
	--h3-color: 						inherit;
	--h4-color: 						inherit;	
	--h5-color: 						inherit;
	--h6-color: 						inherit;	
	--sub-header-color:					inherit;
	--sub-sub-header-color:				inherit;
	
	--cta-header-color:					var(--orange);
	--cta-sub-header-color:				var(--blue);
	--cta-text-color:					inherit;
	--cta-disclaimer-color:				inherit;
	--cta-sub-header-sup-color:			var(--orange);
}

/* Font formatting overrides for custom sizes */

p.sub-header.large {
	--sub-header-font-size: 			24px;
	--sub-header-line-height: 			34px;
}

h2.small {
	--h2-font-size: 					24px;
	--h2-line-height: 					33px;
	--h2-letter-spacing:				-.25px;
	--h2-word-spacing:					0;
}

h2.medium {
	--h2-font-size: 					29px;
	--h2-line-height: 					36px;
}

h2.large {
	--h2-font-weight:					600;
}

/* Font colour overrides */

.bg-light-scheme h1 {
	--h1-color: 						var(--blue-light);
}

.bg-light-scheme h2 {
	--h2-color: 						var(--blue-light);
}

.bg-light-scheme h3 {
	--h3-color: 						var(--blue-light);
}

.bg-light-scheme h6 {
	--h6-color: 						var(--blue-light);
}

.bg-light-scheme p.sub-header.large {
	--sub-header-color:					var(--blue-light);
}

/* Font formatting overrides for desktop */

@media (min-width:770px) {
	:root {
		--h1-font-size: 				40px;
		--h1-line-height: 				51px;
		--h1-letter-spacing:			-.5px;
		--h1-word-spacing:				-1px;
		
		--h2-font-size: 				35px;
		--h2-line-height: 				43px;
	}
	
	h2.large {
		--h2-font-size: 				38px;
		--h2-line-height: 				48px;
	}
}

h1 {
	color:					var(--h1-color);
	margin:					var(--h1-margin);
	font-size: 				var(--h1-font-size);
	line-height: 			var(--h1-line-height);
	letter-spacing:			var(--h1-letter-spacing);
	word-spacing:			var(--h1-word-spacing);
	font-weight:			var(--h1-font-weight);
}

h2 {
	color:					var(--h2-color);
	margin:					var(--h2-margin);
	font-size: 				var(--h2-font-size);
	line-height: 			var(--h2-line-height);
	letter-spacing:			var(--h2-letter-spacing);
	word-spacing:			var(--h2-word-spacing);
	font-weight:			var(--h2-font-weight);
}

h3 {
	color:					var(--h3-color);
	margin:					var(--h3-margin);
	font-size: 				var(--h3-font-size);
	line-height: 			var(--h3-line-height);
	letter-spacing:			var(--h3-letter-spacing);
	word-spacing:			var(--h3-word-spacing);
	font-weight:			var(--h3-font-weight);
}

h4 {
	color:					var(--h4-color);
	margin:					var(--h4-margin);
	font-size: 				var(--h4-font-size);
	line-height: 			var(--h4-line-height);
	letter-spacing:			var(--h4-letter-spacing);
	word-spacing:			var(--h4-word-spacing);
	font-weight:			var(--h4-font-weight);
}

h5 {
	color:					var(--h5-color);
	margin:					var(--h5-margin);
	font-size: 				var(--h5-font-size);
	line-height: 			var(--h5-line-height);
	letter-spacing:			var(--h5-letter-spacing);
	word-spacing:			var(--h5-word-spacing);
	font-weight:			var(--h5-font-weight);
}

h6 {
	color:					var(--h6-color);
	margin:					var(--h6-margin);
	font-size: 				var(--h6-font-size);
	line-height: 			var(--h6-line-height);
	letter-spacing:			var(--h6-letter-spacing);
	word-spacing:			var(--h6-word-spacing);
	font-weight:			var(--h6-font-weight);
	text-transform:			var(--h6-text-transform);
}

p.sub-header {
	color:					var(--sub-header-color);
	font-weight:			var(--sub-header-font-weight);
	font-size:				var(--sub-header-font-size);
	line-height:			var(--sub-header-line-height);
	letter-spacing:			var(--sub-header-letter-spacing);
	word-spacing:			var(--sub-header-word-spacing);
	margin:					var(--sub-header-margin);
}

p.sub-sub-header {
	color:					var(--sub-sub-header-color);
	font-weight:			var(--sub-sub-header-font-weight);
	font-size:				var(--sub-sub-header-font-size);
	line-height:			var(--sub-sub-header-line-height);
	letter-spacing:			var(--sub-sub-header-letter-spacing);
	word-spacing:			var(--sub-sub-header-word-spacing);
	margin:					var(--sub-sub-header-margin);
}

.cta-card-header {
	color:					var(--cta-header-color);
	margin:					var(--cta-header-margin);
	font-size: 				var(--cta-header-font-size);
	line-height: 			var(--cta-header-line-height);
	letter-spacing:			var(--cta-header-letter-spacing);
	word-spacing:			var(--cta-header-word-spacing);
	font-weight:			var(--cta-header-font-weight);
}

.cta-card-subheader {
	color:					var(--cta-sub-header-color);
	margin:					var(--cta-sub-header-margin);
	font-size: 				var(--cta-sub-header-font-size);
	line-height: 			var(--cta-sub-header-line-height);
	letter-spacing:			var(--cta-sub-header-letter-spacing);
	word-spacing:			var(--cta-sub-header-word-spacing);
	font-weight:			var(--cta-sub-header-font-weight);
}

.cta-card-text {
	color:					var(--cta-disclaimer-color);
	margin:					var(--cta-text-margin);
	font-size: 				var(--cta-text-font-size);
	line-height: 			var(--cta-text-line-height);
	letter-spacing:			var(--cta-text-letter-spacing);
	word-spacing:			var(--cta-text-word-spacing);
	font-weight:			var(--cta-text-font-weight);
}

.cta-card-dislaimer {
	color:					var(--cta-text-color);
	margin:					var(--cta-disclaimer-margin);
	font-size: 				var(--cta-disclaimer-font-size);
	line-height: 			var(--cta-disclaimer-line-height);
	letter-spacing:			var(--cta-disclaimer-letter-spacing);
	word-spacing:			var(--cta-disclaimer-word-spacing);
	font-weight:			var(--cta-disclaimer-font-weight);
}

.cta-card-subheader sup {
	color:					var(--cta-sub-header-sup-color);
}

/* *** SET OTHER ATTRIBUTES AND EXCEPTIONS *** */

h1, h2, h3, h4, h5, h6 {
	display:				block;
    width:					100%;
    padding:				0;
	position:				relative;
}

.ac h1,
.ac h2,
.ac h3,
.ac h4,
.ac h5,
.ac h6,
.ac p.sub-header,
.ac p.sub-sub-header {
	margin-left:			auto	!important;
	margin-right:			auto	!important;
}
	
.ac p.sub-header,
.ac p.sub-sub-header {
	padding: 				0 var(--g3);
	box-sizing:				border-box;
}

h1,
h2 {
	max-width:				1000px	!important;
	display:				block;
}

p.sub-header {
	max-width:				900px;
	display:				block;
}
	
body.home .hero-row p.sub-header {
	max-width:				610px;
}

.c-compact	h2,
.c-compact	h3,
.c-compact	h4,
.c-compact	p {
	margin-bottom:			0;
}

h2 b {
	display: 					inline-block;
	font-weight: 				inherit;
}

h2 i,
h3 i {
	font-size:					1.15rem;
	letter-spacing:				0;
	font-style:					normal;
}

h2 				u,
p.sub-header 	u {
	text-underline-offset: 		3px;
	text-decoration-color: 		var(--orange);
	text-decoration-thickness: 	2px;
}