


/* ===================== */
/* Core Theme TYPOGRAPHY */
/* ===================== */





/* TYPOGRAPHY: COMMON STYLES */
/* ================================================== */


/* Typography BASE styles */
/* - since WP uses Helv.Neue We'll use it as our Default sans font */
/* ------------------------------ */
body {
	line-height: 1.65em;
	font-family: "Helvetica Neue", Serif;
	font-weight: 300;
	/*letter-spacing: 0.03em;*/
}

strong {
	font-weight: 500;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Helvetica Neue", Sans-serif;
	font-weight: 400;
	line-height: 1.45em;
	/*letter-spacing: 0.02em;*/
}

a, a:visited {
	outline: 0 none;
	text-decoration: none;
	font-weight: bolder;
}

ul, ol {
	padding-left: 1em;
}
.li-primary ul,
.li-primary ol,
ul.li-primary,
ol.li-primary {
	list-style: none;
	counter-reset: li;

	margin-top: 1em;
	margin-bottom: 1em;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;

	-webkit-padding-start: 1.25em;
}
.li-primary ol li,
ol.li-primary  li {
	counter-increment: li
}
.li-primary ul li::before,
ul.li-primary li::before {
	content: "•";
	display: inline-block;
	width: 1em;
	margin-left: -1em
}
.li-primary ol li::before,
ol.li-primary li::before {
	content: counter(li);
	display: inline-block;
	width: 1em;
	margin-left: -1em
}

hr {
	width: 100%;
}




/* Base Font SIZING */
/* @ref: https://developer.mozilla.org/en-US/docs/Web/CSS/font-size */
/* ------------------------------ */

html { font-size: 16px; }

h1, .h1 { font-size: 28px; }
h2, .h2 { font-size: 24px; }
h3, .h3 { font-size: 21px; }
h4, .h4 { font-size: 18px; }
h5, .h5 { font-size: 16px; }
h6, .h6 { font-size: 14px; }

h1, h2, h3, h4, h5, h6, p,
.h1, .h2, .h3, .h4, .h5, .h6 {

	-webkit-transition: font-size .2s ease-out;
	-moz-transition: font-size .2s ease-out;
	transition: font-size .2s ease-out;
}


/* MQ-sm: Mobile (Landscape) */
/* ================================================== */
@media only screen and (min-width: 576px) {

	/*html {*/
	/*font-size: 18px;*/
	/*}*/

	h1, .h1 { font-size: 36px; }
	h2, .h2 { font-size: 28px; }
	h3, .h3 { font-size: 24px; }
	h4, .h4 { font-size: 18px; }
}


/* MQ-md: Tablet (Portrait) */
/* ================================================== */
@media only screen and (min-width: 768px) {
	/*html {*/
	/*font-size: 18px;*/
	/*}*/

	h1, .h1 { font-size: 42px; }
	h2, .h2 { font-size: 30px; }
	h3, .h3 { font-size: 24px; }
	/*h4, .h4 { font-size: 21px; }*/
	h4, .h4 { font-size: 19px; }
	h5, .h5 { font-size: 16px; }
	h6, .h6 { font-size: 14px; }
}


/* MQ-lg: Tablet (Landscape) */
/* ================================================== */
@media only screen and (min-width: 992px) {
	/*html {*/
	/*font-size: 18px;*/
	/*}*/
}


/* MQ--dt: Desktop (Laptop) */
/* ================================================== */
@media only screen and (min-width:1025px) {
	/*html {*/
	/*font-size: 18px;*/
	/*}*/
}


/* MQ-xl: Desktop (Wide) */
/* ================================================== */
@media only screen and (min-width:1160px) {
	/*html {*/
	/*font-size: 20px;*/
	/*}*/

	h1, .h1 { font-size: 48px; }
	h2, .h2 { font-size: 36px; }
	h3, .h3 { font-size: 30px; }
	/*h4, .h1 { font-size: 24px; }*/
	h4, .h4 { font-size: 23px; }
	h5, .h5 { font-size: 18px; }
}



/* Font WEIGHTS */
/* ------------------------------ */
.f-w-100 { font-weight: 100 !important; }
.f-w-200 { font-weight: 200 !important; }
.f-w-300 { font-weight: 300 !important; }
.f-w-400 { font-weight: 400 !important; }
.f-w-500 { font-weight: 500 !important; }
.f-w-600 { font-weight: 600 !important; }
.f-w-700 { font-weight: 700 !important; }
.f-w-800 { font-weight: 800 !important; }







/* Additional Font Size Utils */
/* ----------------------------------------- */
.f-sz-14 { font-size: 14px !important; }
.f-sz-15 { font-size: 15px !important; }
.f-sz-16 { font-size: 16px !important; }
.f-sz-18 { font-size: 18px !important; }
.f-sz-21 { font-size: 21px !important; }
.f-sz-22 { font-size: 22px !important; }
.f-sz-28 { font-size: 28px !important; }
.f-sz-30 { font-size: 30px !important; }
.f-sz-36 { font-size: 36px !important; }
.f-sz-48 { font-size: 48px !important; }
.f-sz-60 { font-size: 60px !important; }



/* Line Height Utils */
/* ----------------------------------------- */
.f-lh-14 { line-height: 14px !important; }
.f-lh-18 { line-height: 18px !important; }
.f-lh-21 { line-height: 21px !important; }
.f-lh-23 { line-height: 23px !important; }
.f-lh-24 { line-height: 24px !important; }
.f-lh-28 { line-height: 28px !important; }
.f-lh-30 { line-height: 30px !important; }
.f-lh-32 { line-height: 32px !important; }
.f-lh-40 { line-height: 40px !important; }
.f-lh-48 { line-height: 48px !important; }

.f-lh-0_9em { line-height: 0.9em !important; }
.f-lh-1_0em { line-height: 1em !important; }
.f-lh-1_1em { line-height: 1.1em !important; }



/* Font Style Utils */
/* ----------------------------------------- */
.fs-italic {
	font-style: italic !important;
}






/* MARGIN : */
/* <p> */
/* ------------------------------ */

h1 + p,
h2 + p,
h3 + p,
h4 + p,
h5 + p,
h6 + p,
.h1 + p,
.h2 + p,
.h3 + p,
.h4 + p,
.h5 + p,
.h6 + p {
	margin-top: 10px;
}

p + p {
	margin-top: 10px;
}


@media only screen and (min-width: 768px) {

	h1 + p,
	h2 + p,
	h3 + p,
	h4 + p,
	h5 + p,
	h6 + p,
	.h1 + p,
	.h2 + p,
	.h3 + p,
	.h4 + p,
	.h5 + p,
	.h6 + p {
		margin-top: 20px;
	}
}


/* MARGIN : */
/* <h1>,<h2>,<h3>,<h4>,<h5>,<h6> */
/* ------------------------------ */

h1 + h1,
h1 + h2,
h1 + h3,
h1 + h4,
h1 + h5,
h1 + h6,
h1 + .h1,
h1 + .h2,
h1 + .h3,
h1 + .h4,
h1 + .h5,
h1 + .h6,

h2 + h1,
h2 + h2,
h2 + h3,
h2 + h4,
h2 + h5,
h2 + h6,
h2 + .h1,
h2 + .h2,
h2 + .h3,
h2 + .h4,
h2 + .h5,
h2 + .h6,

h3 + h1,
h3 + h2,
h3 + h3,
h3 + h4,
h3 + h5,
h3 + h6,
h3 + .h1,
h3 + .h2,
h3 + .h3,
h3 + .h4,
h3 + .h5,
h3 + .h6,

h4 + h1,
h4 + h2,
h4 + h3,
h4 + h4,
h4 + h5,
h4 + h6,
h4 + .h1,
h4 + .h2,
h4 + .h3,
h4 + .h4,
h4 + .h5,
h4 + .h6,

h5 + h1,
h5 + h2,
h5 + h3,
h5 + h4,
h5 + h5,
h5 + h6,
h5 + .h1,
h5 + .h2,
h5 + .h3,
h5 + .h4,
h5 + .h5,
h5 + .h6,

h6 + h1,
h6 + h2,
h6 + h3,
h6 + h4,
h6 + h5,
h6 + h6,
h6 + .h1,
h6 + .h2,
h6 + .h3,
h6 + .h4,
h6 + .h5,
h6 + .h6,

.h1 + .h1,
.h1 + .h2,
.h1 + .h3,
.h1 + .h4,
.h1 + .h5,
.h1 + .h6,
.h1 + h1,
.h1 + h2,
.h1 + h3,
.h1 + h4,
.h1 + h5,
.h1 + h6,

.h2 + .h1,
.h2 + .h2,
.h2 + .h3,
.h2 + .h4,
.h2 + .h5,
.h2 + .h6,
.h2 + h1,
.h2 + h2,
.h2 + h3,
.h2 + h4,
.h2 + h5,
.h2 + h6,

.h3 + .h1,
.h3 + .h2,
.h3 + .h3,
.h3 + .h4,
.h3 + .h5,
.h3 + .h6,
.h3 + h1,
.h3 + h2,
.h3 + h3,
.h3 + h4,
.h3 + h5,
.h3 + h6,

.h4 + .h1,
.h4 + .h2,
.h4 + .h3,
.h4 + .h4,
.h4 + .h5,
.h4 + .h6,
.h4 + h1,
.h4 + h2,
.h4 + h3,
.h4 + h4,
.h4 + h5,
.h4 + h6,

.h5 + .h1,
.h5 + .h2,
.h5 + .h3,
.h5 + .h4,
.h5 + .h5,
.h5 + .h6,
.h5 + h1,
.h5 + h2,
.h5 + h3,
.h5 + h4,
.h5 + h5,
.h5 + h6,

.h6 + .h1,
.h6 + .h2,
.h6 + .h3,
.h6 + .h4,
.h6 + .h5,
.h6 + .h6,
.h6 + h1,
.h6 + h2,
.h6 + h3,
.h6 + h4,
.h6 + h5,
.h6 + h6 {
	margin-top: 1em;
}


h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
p:first-child,
.h1:first-child,
.h2:first-child,
.h3:first-child,
.h4:first-child,
.h5:first-child,
.h6:first-child {
	margin-top: 0;
}

h1:only-child,
h2:only-child,
h3:only-child,
h4:only-child,
h5:only-child,
h6:only-child,
p:only-child,
.h1:only-child,
.h2:only-child,
.h3:only-child,
.h4:only-child,
.h5:only-child,
.h6:only-child {
	margin-top: 0;
	margin-bottom: 0;
}



/* Type UTILITIES */
/* ------------------------------ */

.break-word {
	word-break: break-word;
}
.text-right {
	text-align: right;
}
/* recommended text-box width standards: 45-75 characters */
/* - https://www.freshconsulting.com/uiux-principle-46-text-box-width-should-help-users-read/ */
.w-readable {
	max-width: 50em;
}

.lh-1 {
	line-height: 1em;
}
.lh-1-caps {
	line-height: 1em;
	margin-bottom: -0.35em!important;
}


/* COLOURS */
/* ------------------------------ */


h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6  {

	/* PRIMARY (BRAND) COLOUR*/
	/*color: #0e73bb;*/
}

a, a:visited, .text-white a {

	/* PRIMARY (BRAND) COLOUR*/
	color: #0e73bb;
}
a:hover,
.text-white a:hover{

	/* PRIMARY Hover*/
	color: #064C97;
}

.li-primary ul li::before,
.li-primary ol li::before,
ul.li-primary li::before,
ol.li-primary li::before {

	/* PRIMARY (BRAND) COLOUR*/
	color: #0e73bb;
}


.h-alt h1,
.h-alt h2,
.h-alt h3,
.h-alt h4,
.h-alt h5,
.h-alt h6,
.h-alt .h1,
.h-alt .h2,
.h-alt .h3,
.h-alt .h4,
.h-alt .h5,
.h-alt .h6,
h1.h-alt,
h2.h-alt,
h3.h-alt,
h4.h-alt,
h5.h-alt,
h6.h-alt,
.h1.h-alt,
.h2.h-alt,
.h3.h-alt,
.h4.h-alt,
.h5.h-alt,
.h6.h-alt  {

	/* ALT HEADING COLOUR*/
	/*color: #444;*/

	/* PRIMARY (BRAND) COLOUR*/
	color: #0e73bb;
}

.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
.text-white p,
.text-white li,

.text-white .h1,
.text-white .h2,
.text-white .h3,
.text-white .h4,
.text-white .h5,
.text-white .h6,
h1.h-white,
h2.h-white,
h3.h-white,
h4.h-white,
h5.h-white,
h6.h-white,
.h1.h-white,
.h2.h-white,
.h3.h-white,
.h4.h-white,
.h5.h-white,
.h6.h-white  {
	color: #fff;
}


.f-grey-10 { color: #e5e5e5!important; }
.f-grey-25 { color: #c0c0c0!important; }
.f-grey-50 { color: #808080!important; }
.f-grey-65 { color: #595959!important; }
.f-grey-75 { color: #404040!important; }
.f-grey-85 { color: #262626!important; }
.f-grey-90 { color: #1a1a1a!important; }
.f-grey-95 { color: #111111!important; }


.f-black,
.f-black a { color: black!important; }

.f-white,
.f-white a { color: white!important; }



/* MEGA Ordered-List */
/* - counter (for top-tier list items) continues from one <ol> to another (does not reset) */
/* - nested <ol> items use alpha and roman numerals, which reset from one nested <ol> to another */
/* ------------------------------ */

.mega-ol ol {
	position: relative;
	padding-left: 1em;
}
.mega-ol ol:first-of-type,
.mega-ol ol.reset-counter {
	counter-reset: mycounter;
}
.mega-ol ol > li ol {
	counter-reset: nested_counter!important;
}
.mega-ol ol li {
	list-style: none;
}
.mega-ol ol li:before {
	position: absolute;
	left: calc(0.8em - 100%);
	text-align: right;
	display: inline-block;
	width: 100%;
	font-weight: 600;
}
.mega-ol.li-primary li:before,
.mega-ol .li-primary li:before {
	margin-left: 0; /* account for earlier li styles */
}
.mega-ol ol > li:before {
	content: counter(mycounter) ". ";
	counter-increment: mycounter;
}
.mega-ol ol > li > ol > li:before {
	content: counter(nested_counter, lower-alpha) ". ";
	counter-increment: nested_counter;
}
.mega-ol ol > li > ol > li > ol > li:before {
	content: counter(nested_counter, lower-roman) ". ";
	counter-increment: nested_counter;
}




.clean-links li {
	text-decoration:  none !important;
}
.clean-links a,
.clean-links a:visited {
	color: var(--grey-75) !important;
	text-decoration:  none !important;
}
.clean-links a:hover {
	color: var(--color-primary) !important;
}




.comma-list-item:after{
	content: ", ";
}
.comma-list-item:last-child:after{
	content: none;
}