/* ----------------------------------------
   Base Typography
---------------------------------------- */

body {
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
	color: var(--greyDark);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* ----------------------------------------
   Headings
---------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6,
.h4 > span {
	color: var(--black);
	font-weight: 700;
	letter-spacing: -0.02em;
	margin-top: 0;
}

h1 {
	font-size: 2.25em;
	font-weight: 700;
	line-height: 1.15;
	margin-bottom: 0.5em;
}

h2 {
	font-size: 1.85em;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 0.6em;
}

h2.medium {
	font-weight: 600;
	font-size: 1.6em;
}

h3 {
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 0.65em;
}

h3.medium {
	font-size: 1.2em;
	line-height: 1.35;
}

h4 {
	font-size: 1.25em;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 0.75em;
}

h5 {
	font-size: 1.05em;
	font-weight: 600;
	line-height: 1.45;
	margin-bottom: 0.75em;
}

h6 {
	font-size: 0.95em;
	line-height: 1.5;
	margin-bottom: 0.75em;
}


.form h4 {
	margin-top: 0;
}

/* ----------------------------------------
   Body Text
---------------------------------------- */

p {
	font-size: 1em;
	line-height: 1.5;
	font-weight: 400;
	margin-bottom: 1em;
	color: var(--greyDark);
}

.text-lead, .lead {
	font-size: 1.2em;
	line-height: 1.5;
	font-weight: 500!important;
	color: var(--greyDark);
}


.text-label,
label {
	font-size: 1em;
	line-height: 1.5;
	font-weight: 700;
}

/* ----------------------------------------
   Links & Utility
---------------------------------------- */

a:hover > * {
	color: var(--blueDark);
}

.uppercase {
	font-weight: 400;
	text-transform: uppercase;
}

.eyebrow {
    font-size: .75em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--greyMedium);
    font-weight: 600;
}

/* ----------------------------------------
   Buttons
---------------------------------------- */

.jbutton, button, .wpcf7-submit, input[type="submit"] {
	font-size: 1em!important;
	font-weight: 700;
	text-transform: none;
	padding: .75em 1em;
	border-radius: 4px!important;
	margin: .75em 0 1em;
	display: inline-block;
}

.jbutton.primary, button.primary, .wpcf7-submit, input[type="submit"] {
	background: var(--blue)!important;
	color: var(--white)!important;
	border: 1px solid var(--blue);
}

	.jbutton.primary:hover, button:hover, .wpcf7-submit:hover, input[type="submit"]:hover {
		background: var(--blueDark)!important;	
		color: var(--white)!important;
		border-color: var(--blueDark);
	}

.jbutton.secondary, button.secondary {
	background: #fff!important;
	border: 1px solid var(--blue);
	color: var(--blue)!important;
}

	.jbutton.secondary:hover, button.secondary:hover {
		border: 1px solid var(--blueDark);
		color: var(--blueDark)!important;
	}

	.jbutton .small {
		font-size: .85em;
		padding: .5em .75em;
	}

/* ----------------------------------------
   Misc
---------------------------------------- */

.product-list li::before {
	display: block;
	content: " ";
	margin-top: -285px;
	height: 285px;
	visibility: hidden;
	pointer-events: none;
}

#article-start p, .article-content {
    font-size: 1.05em;
    line-height: 1.5;
}


/* ----------------------------------------
   Desktop Adjustments
---------------------------------------- */




/* ----------------------------------------
   Tablet
---------------------------------------- */

@media (max-width: 991px) {

	h1 {
		font-size: 2em;
	}

	h2 {
		font-size: 1.7em;
	}

	h2.medium {
		font-size: 1.45em;
	}

	h3 {
		font-size: 1.4em;
	}

	h3.medium {
		font-size: 1.15em;
	}

	h4 {
		font-size: 1.2em;
	}

	h5 {
		font-size: 1em;
	}

	.text-lead, .lead {
		font-size: 1.2em;
		line-height: 1.5;
	}
}

/* ----------------------------------------
   Mobile
---------------------------------------- */

@media (max-width: 767px) {

	body {
		font-size: 15px;
		line-height: 1.6;
	}

	h1 {
		font-size: 1.85em;
		line-height: 1.15;
	}

	h2 {
		font-size: 1.6em;
		line-height: 1.2;
	}

	h2.medium {
		font-size: 1.35em;
	}

	h3 {
		font-size: 1.35em;
		line-height: 1.3;
	}

	h3.medium {
		font-size: 1.1em;
	}

	h4 {
		font-size: 1.15em;
		line-height: 1.35;
		margin-top: 0.75em;
	}

	h5 {
		font-size: 1em;
		line-height: 1.45;
	}

	p {
		font-size: 1em;
		line-height: 1.5;
	}


	.text-lead, .lead {
		font-size: 1.15em;
		line-height: 1.5;
	}
}

/* ----------------------------------------
   Small Mobile
---------------------------------------- */

@media (max-width: 375px) {

	h1 {
		font-size: 1.7em;
	}

	h2 {
		font-size: 1.45em;
	}

	h3 {
		font-size: 1.25em;
	}

	h4 {
		font-size: 1.1em;
	}

	.text-lead, .lead {
		font-size: 1em;
	}
	.buttons .jbutton {
		width: 100%;
		max-width: 320px;
		margin-bottom: .5em;
		text-align: center;
	}
}