@import url('https://fonts.googleapis.com/css2?family=Readex+Pro:wght@160..700&display=swap');

:root {
/* Fonts */
  --fnt_font-family: "Readex Pro", sans-serif;
  --fnt_font-size: 19px;
  --fnt_line-height: 1.7em;
  --fnt_font-weight: 300;
  
  --cta_fnt_font-size: 1rem;
  --cta_fnt_line-height: 1.3rem;
  --cta_fnt_font-weight: 400;
  --cta_fnt_text-transform: uppercase;
  
  --cta-txt_fnt_font-size: 0.9rem;
  --cta-txt_fnt_font-weight: 500;
  --cta_fnt_text-transform: uppercase;

  --psh_fnt_font-size: 0.8rem;
  --psh_fnt_line-height: 1.2rem;
  --psh_fnt_font-weight: 400;
  
  --pre_fnt_font-size: 0.8rem;
  --pre_fnt_line-height: 1.2rem;
  --pre_fnt_font-weight: 400;
  --pre_fnt_letter-spacing: 0.1rem;
  
  --hed_fnt_font-weight: 600;
  --hed_fnt_letter-spacing: -0.05rem;
  
  --h1_fnt_font-size: 3.4rem;
  --h1_fnt_line-height: 3.7rem;
  
  --h2_fnt_font-size: 2.5rem;
  --h2_fnt_line-height: 2.9rem;

  --h3_fnt_font-size: 1.8rem;
  --h3_fnt_line-height: 2.2rem;

  --h4_fnt_font-size: 1.5rem;
  --h4_fnt_line-height: 1.9rem;

/* Colours */
  --clrshadow: 1px 4px 11px 1px rgba(0,0,0,0.1);
  --clrblack: #111;
  --clrblack_alt: #222;
  --clrwhite: #fff;
  --clrwhite_alt: #f0f0f0;
  --clrgrey: #f0f0f0;
  --clrgrey_alt: #e0e0e0;
  --clr1: #FBA834;
  --clr1_alt: #de7300;
  --clr1_txt: #fff;
  --clr2: #333A73;
  --clr2_alt: #191f50;
  --clr2_txt: #fff;
  --clr3: #5356FF;
  --clr3_alt: #3134e4;
  --clr3_txt: #fff;
  --clr4: #F6F4EB;
  --clr4_alt: #dfdbcc;
  --clr4_txt: #111;

/* Corners */
  --radius_sm: 4px;
  --radius_md: 12px;
  --radius_cta: 50px;
  
/* Padding */
  --cntntpad: 80px;
  --cntntpad_slm: 40px;
  --ctapad: 12px 20px;
}

/* Less than Medium */		
@media screen and (max-width: 64em) { 
	:root {
	/* Fonts */
	  --cta_fnt_font-size: 0.9rem;
	  --cta_fnt_line-height: 1.2rem;
  
	  --h1_fnt_font-size: 2.5rem;
	  --h1_fnt_line-height: 2.9rem;
  
	  --h2_fnt_font-size: 2.2rem;
	  --h2_fnt_line-height: 2.6rem;

	  --h3_fnt_font-size: 1.6rem;
	  --h3_fnt_line-height: 2rem;

	  --h4_fnt_font-size: 1.4rem;
	  --h4_fnt_line-height: 1.8rem;

	/* Padding */
	  --cntntpad: 60px;
	  --cntntpad_slm: 30px;
	  --ctapad: 10px 18px;
	}
}



.clrblack-bg {
	background-color: var(--clrblack) !important;
	color: var(--clrwhite);
}

.clrwhite-bg {
	background-color: var(--clrwhite) !important;
	color: var(--clrblack);
}

.clrgrey-bg {
	background-color: var(--clrgrey) !important;
	color: var(--clrblack);
}

.clr1-bg {
	background-color: var(--clr1) !important;
	color: var(--clr1_txt);
}

	.clr1-bg .pre-title, .clr1-bg .post-meta {
		color: var(--clrwhite);
	}

.clr2-bg {
	background-color: var(--clr2) !important;
	color: var(--clr2_txt);
}

	.clr2-bg .pre-title, .clr2-bg .post-meta {
		color: var(--clrwhite);
	}

.clr3-bg {
	background-color: var(--clr3) !important;
	color: var(--clr3_txt);
}

	.clr3-bg .pre-title, .clr3-bg .post-meta {
		color: var(--clrwhite);
	}
	
.clr4-bg {
	background-color: var(--clr4) !important;
	color: var(--clr4_txt);
}

	.clr4-bg .pre-title, .clr4-bg .post-meta {
		color: var(--clrblack);
	}
	
html {
	scroll-behavior: smooth;
}

body {
	padding: 0;
	margin: 0;
	font-family: var(--fnt_font-family);
	font-optical-sizing: auto;
	font-style: normal;
	color: var(--clrblack);
	font-size: var(--fnt_font-size);
	line-height: var(--fnt_line-height);
	font-weight: var(--fnt_font-weight);
}

.x-large-container {
	max-width: 1800px;
	margin: auto;
}

.large-container {
	max-width: 1400px;
	margin: auto;
}

.medium-container {
	max-width: 1100px;
	margin: auto;
}

.small-container {
	max-width: 900px;
	margin: auto;
}

.content-padding {
	padding: var(--cntntpad) 0;
}

	.content-padding.slim {
		padding: var(--cntntpad_slm) 0;
	}

.no-top {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.no-bottom {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.pure-g .pure-u-1, .grid-container, .header-container {
	box-sizing: border-box;
	padding: 0 30px;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

ul li {
	margin-bottom: 15px;
}

	ul li:last-of-type {
		margin-bottom: 0;
	}
	
ul.list-checks {
	padding-left: 25px;
}
	
ul.list-checks li {
    position: relative;
    padding-left: 30px;
    list-style-type: none;
}

ul.list-checks li:before {
	content: '';
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	background-color: var(--clr1); /* Use current text color */
	mask: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMjU2IDBDMTE0LjYgMCAwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyIDUxMiAzOTcuNCA1MTIgMjU2IDM5Ny40IDAgMjU2IDBNMjI0IDM4NGwtMTEyLTExMiAyMi42LTIyLjZMMjI0IDMyNC40IDM3My40IDE3NWwyMi42IDIyLjZMMjI0IDM4NHoiLz48L3N2Zz4=') no-repeat center / contain;
    position: absolute;
    left: 0;
    top: 0.4em;
}

.feature ul.list-checks {
	padding-left: 0;
}

/* ---- Top Bar ---- */
.top-bar {
	background: var(--clr2);
	color: var(--clr2_txt);
	padding: 7px 0;
	font-size: 0.82rem;
	line-height: 1.3rem;
}

	.top-bar a, .top-bar a:link, .top-bar a:active, .top-bar a:visited {
		color: var(--clr2_txt);
	}

	.top-bar-container {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
		align-content: center;
		gap: 50px;
	}

		.top-bar-container .message {
			flex-grow: 1;
			flex-shrink: 1;
			flex-basis: auto;
			align-self: auto;
			order: 0;
		}
	
			.top-bar-container .message a {
				text-decoration: none;
			}
			
				.top-bar-container .message a svg {
					font-size: 0.75rem;
				}

		.top-bar-container .nav {
			flex-grow: 0;
			flex-shrink: 1;
			flex-basis: auto;
			align-self: auto;
			order: 0;
		}
	
			.top-bar-container .nav .secondary-menu {
				display: flex;
				justify-content: flex-start;
				margin: 0;
				padding: 0;
				list-style-type: none;
				gap: 30px;
				flex-direction: row;
			}
			
			.secondary-menu ul.sub-menu {
				display: none;
			}

				.secondary-menu, .secondary-menu li {
					display: inline-block;
					list-style-type: none;
	
				}

					.secondary-menu li a {
						text-decoration: none;
					}

/* ---- Header ---- */
header {
	padding: 18px 0;
}

	.header-container {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
		align-content: center;
		gap: 50px;
		width: 100%;
	}

		.header-container .logo {
			flex-grow: 0;
			flex-shrink: 1;
			flex-basis: auto;
			align-self: auto;
			order: 0;
		}
		
			.header-container .logo a {
				font-size: 0;
				line-height: 0;
				display: block;
			}

			.header-container .logo img {
				width: 150px;
			}

		.header-container .nav {
			flex-grow: 1;
			flex-shrink: 1;
			flex-basis: auto;
			align-self: auto;
			order: 0;
		}
		
			.header-container .nav .primary-menu {
				display: flex;
				justify-content: flex-start;
				margin: 0;
				padding: 0;
				list-style-type: none;
				gap: 40px;
				flex-direction: row;
				font-size: 0.95rem;
			}
			
				.header-container.header-nav-right .nav .primary-menu {
					justify-content: flex-end;
				}

				.header-container .nav .primary-menu li {
					list-style-type: none;
					margin-bottom: 0;
				}

					.header-container .nav .primary-menu li a {
						text-decoration: none;
						color: var(--clrblack);
					}
					
						.header-container .nav .primary-menu li a:hover {
							text-decoration: none;
							color: var(--clr1);
						}
						
				.header-container .nav .primary-menu .menu-item-has-children {
					position: relative;
				}
						
				.header-container .nav .primary-menu > .menu-item-has-children > ul {
					display: none;
					position: absolute;
					background: var(--clrwhite);
					padding: 12px 17px 15px;
					border-radius: var(--radius_md);
					box-shadow: var(--clrshadow);
					z-index: 999;
					list-style: none;
					min-width: 225px;
					left: -15px;
				}
				
					.header-container .nav .primary-menu > .menu-item-has-children > ul li {
						line-height: 1.2rem;
						padding: 5px 0;
					}

				.header-container .nav .primary-menu .menu-item-has-children:hover>ul,
				.header-container .nav .primary-menu .menu-item-has-children ul:hover {
					display: block;
				}

			.header-container .ctas {
				flex-grow: 0;
				flex-shrink: 1;
				flex-basis: auto;
				align-self: auto;
				order: 1;
				display: flex;
				justify-content: flex-start;
				gap: 15px;
				align-items: center;
				align-content: center;
			}

				.header-container .ctas a {
					text-decoration: none;
				}
	
					.header-container .ctas a.login {
						font-size: 0.7rem;
						line-height: 0.7rem;
						text-transform: uppercase;
						text-align: center;
						display: inline-block;
						color: var(--clrblack);
					}
		
					.header-container .ctas a.login svg {
						display: block;
						margin: auto;
						padding: 0 0 5px;
						font-size: 0.9rem;
					}
					
		
			.header-container .nav .primary-menu .mega.three-col ul {
				margin: 0;
				padding: 0;
			}
					
		.header-container .nav .primary-menu .mega.three-col > ul {
			display: none;
			flex-wrap: wrap;
			justify-content: center;
			gap: 20px 30px;
			width: 700px;
			padding: 20px;
		}
		
				.header-container .nav .primary-menu .mega.menu-item-has-children:hover > ul,
				.header-container .nav .primary-menu .mega.menu-item-has-children > ul:hover {
					display: flex;
				}
		
			
				.header-container .nav .primary-menu .mega.three-col > ul > li > a {
					font-size: 1rem;
					color: var(--clr4);
					display: block;
					border-bottom: solid 1px var(--clrwhite_alt);
					padding-bottom: 8px;
					margin-bottom: 5px;
				}
				
					.header-container .nav .primary-menu .mega.three-col > ul > li.no-title > a {
						border-bottom: none;
					}
				
		.header-container .nav .primary-menu .mega.three-col ul li {
			flex: 1;
		}
					
	/* -- Nav Mobile --*/
	.mob-menu-item {
		text-align: right;
		display: none;
		padding-top: 4px;
	}

		.mob-menu-item {
			font-size: 28px;
			color: var(--clrblack);
		}

	body.mobile-navigation-open {
		overflow: hidden;
	}

	.nav-mobile {
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		display: none;
		background: rgba(255,255,255,0.9); /* Mobile Nav Background Overlay */
		z-index: 9999;
		text-align: left;
	}

	.nav-mobile .nav-container {
		height: 100vh;
		background: var(--clr2); /* Mobile Nav Menu Background Colour */
		width: 80%;
		display: block;
		max-width: 400px;
		position: relative;
		min-width: 200px;
	}

		.nav-mobile .nav-container a.mob-menu-item {
			position: absolute;
			top: 15px;
			background: var(--clr1); /* Mobile Nav Close Button Background Colour */
			font-size: 20px;
			color: #fff; /* Mobile Nav Close Button X Colour */
			display: inline-block;
			padding: 4px 7px 4px 5px;
			border-radius: 0 var(--radius_sm) var(--radius_sm) 0;
			left: 100%;
			width: 26px;
			text-align: center;
		}

		.nav-mobile ul {
			padding: 0;
			margin: 0;
			list-style-type: none;
			max-height: calc(100vh - 150px);
			overflow-y: scroll;
			overflow-x: hidden;
		}

			.mobile-scroll .nav-mobile ul {
				max-height: calc(100vh - 221.5px);
			}

			.nav-mobile ul li {
				border-top: solid 1px;
			}
			
		.nav-mobile .nav-container .sub-items, .nav-mobile ul li {
			border-color: rgba(255,255,255,0.1); /* Mobile Nav Items Border Colour */
			margin-bottom: 0;
		}

				.nav-mobile ul li a {
					color: var(--clr2_txt); /* Mobile Nav Link Colour */
					font-size: 0.95rem;
					text-decoration: none;
					left: 0;
					-webkit-transition: all 0.5s;
					-moz-transition: all 0.5s;
					-ms-transition: all 0.5s;
					-o-transition: all 0.5s;
					transition: all 0.5s;
					position: relative;
					padding: 8px 15px;
					display: block;
					font-weight: 400;
				}

					.nav-mobile ul li i {
						color: red;
					}

					.nav-mobile ul li a:hover {
						cursor: pointer;
						text-decoration: none;
						left: 5px;
					}

				.nav-mobile ul ul.sub-menu {
					display: none;
					background: var(--clr2_alt); /* Mobile Nav Drop Down Background Colour */ 
				}

					.nav-mobile ul ul.sub-menu li {
						border-top: 0;
						border-bottom: solid 1px;
						border-color: rgba(255,255,255,0.1); /* Mobile Nav Drop Down Item Border Colour */
					}

						.nav-mobile ul ul.sub-menu li:last-of-type {
							border: 0;
						}

						.nav-mobile ul ul.sub-menu li a {
							color: var(--clr2_txt);
						}

							.nav-mobile ul ul.sub-menu ul.sub-menu li:first-of-type {
								border-top: solid 1px red;
							}

							.nav-mobile ul ul.sub-menu ul.sub-menu li a {
								color: #555;
								font-weight: normal;
								padding: 5px 15px 5px 30px;
								font-size: 13px;
								text-transform: none;
							}
							
			.nav-mobile ul li.cta {
				border: 0;
				margin-top: 10px;
			}
			
			.nav-mobile ul li.login {
				border: 0;
			}
							
			.nav-mobile ul li.cta a {
				background: var(--clr1); /* Mobile Nav CTA Background Colour */
				padding: var(--ctapad);
				text-transform: var(--cta_fnt_text-transform);
				font-size: var(--cta_fnt_font-size);
				font-size: 0.9rem;
				line-height: var(--cta_fnt_line-height);
				font-weight: var(--cta_fnt_font-weight);
				margin: 0 15px;
				border-radius: var(--radius_sm);
				display: inline-block;
				left: 0;
			}
			
				.nav-mobile ul li.cta a:hover {
					background: var(--clr1_alt);
				}
			
			.nav-mobile ul li.cta.secondary a {
				background: var(--clr3); /* Mobile Nav CTA Background Colour */
			}
			
				.nav-mobile ul li.cta.secondary a:hover {
					background: var(--clr3_alt);; /* Mobile Nav CTA Background Colour */
				}

/* ---- CTA ---- */
a:link, a:visited, a:active {
	text-decoration: underline;
	color: var(--clr1);
			-webkit-transition: all 0.5s;
			-moz-transition: all 0.5s;
			-ms-transition: all 0.5s;
			-o-transition: all 0.5s;
			transition: all 0.5s;
}

	a:hover {
		text-decoration: none;
	}
	
a.cta-text:link, a.cta-text:visited, a.cta-text:active {
	text-decoration: none;
	color: var(--clr3);
	font-weight: var(--cta-txt_fnt_font-weight);
	text-transform: var(--cta-txt_fnt_text-transform);
	font-size: var(--cta-txt_fnt_font-size);
	display: inline-block;
	margin: 1rem 0 0;
}

	a.cta-text:link svg {
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
		position: relative;
		left: 0;
	}

		a.cta-text:hover svg {
			left: 10px;
		}
	
.ctas-container {
	margin: 2.5rem 0 0;
}

	.ctas-container p {
		margin-bottom: 2rem;
	}

	.ctas-container .push-text {
		display: block;
		margin: 0.7rem 0 0;
		font-size: var(--psh_fnt_font-size);
		line-height: var(--psh_fnt_line-height);
		font-weight: var(--psh_fnt_font-weight);
	}
	
	.ctas-container .cta {
		margin: 0 12px 10px 0;
	}
	
		.ctas-container .cta:last-of-type {
			margin: 0 0 10px;
		}
		
	.text-center .ctas-container .cta {
		margin: 0 6px 10px;
	}

a.cta, a.cta:link, a.cta:active, a.cta:visited {
	border-radius: var(--radius_cta);
	background: var(--clr1);
	border: solid 3px var(--clr1);
	color: var(--clr1_txt);
	padding: var(--ctapad);
	text-decoration: none;
	text-transform: var(--cta_fnt_text-transform);
	font-size: var(--cta_fnt_font-size);
	line-height: var(--cta_fnt_line-height);
	font-weight: var(--cta_fnt_font-weight);
	display: inline-block;
	min-width: 160px;
	box-sizing: border-box;
	text-align: center;
}

	.clr1-bg a.cta, .clr1-bg a.cta:link, .clr1-bg a.cta:visited, .clr1-bg a.cta:active {
		background: var(--clrwhite);
		border-color: var(--clrwhite);
		color: var(--clrblack);
	}
	
		.clr1-bg a.cta:hover {
			background: var(--clrwhite_alt);
			border-color: var(--clrwhite_alt);
			color: var(--clrblack);
		}
	
	a.cta.sm {
		padding: 8px 15px;
		min-width: 0;
		font-size: 0.9rem;
	}

	a.cta:hover {
		background: var(--clr1_alt);
		border-color: var(--clr1_alt);
	}
	
	a.cta.secondary, a.cta.secondary:link, a.cta.secondary:active, a.cta.secondary:visited {
		background: var(--clr2);
		border: solid 3px var(--clr2);
		color: var(--clr2_txt);
	}

		a.cta.secondary:hover {
			background: var(--clr2_alt);
			border-color: var(--clr2_alt);
		}
		
	.clr2-bg a.cta.secondary, .clr2-bg a.cta.secondary:link, .clr2-bg a.cta.secondary:visited, .clr2-bg a.cta.secondary:active {
		background: var(--clrwhite);
		border-color: var(--clrwhite);
		color: var(--clrblack);
	}
	
		.clr2-bg a.cta.secondary:hover {
			background: var(--clrwhite_alt);
			border-color: var(--clrwhite_alt);
			color: var(--clrblack);
		}
		
	a.cta.clr3, a.cta.clr3:link, a.cta.clr3:active, a.cta.clr3:visited {
		background: var(--clr3);
		border: solid 3px var(--clr3);
		color: var(--clr3_txt);
	}

		a.cta.clr3:hover {
			background: var(--clr3_alt);
			border-color: var(--clr3_alt);
		}
		
	.clr3-bg a.cta.clr3, .clr3-bg a.cta.clr3:link, .clr2-bg a.cta.clr3:visited, .clr3-bg a.cta.clr3:active {
		background: var(--clrwhite);
		border-color: var(--clrwhite);
		color: var(--clrblack);
	}
	
		.clr3-bg a.cta.clr3:hover {
			background: var(--clrwhite_alt);
			border-color: var(--clrwhite_alt);
			color: var(--clrblack);
		}

/* ---- Forms ---- */
.form-container form {
	font-size: 1rem;
	line-height: 1.6rem;
	margin: 1.5rem 0 0;
	padding: 0;
}

		.validation_error {
			font-weight: bold;
			color: orange;
			margin: 0 0 10px;
		}

		.validation_message {
			position: relative;
			top: -10px;
			font-size: 12px;
			color: orange;
		}

		.form-hidden, .gform_validation_container {
			display: none !important;
		}

		form ul, form ul li {
			margin: 0;
			padding: 0;
			list-style-type: none;
		}

		form label {
			display: block;
			text-indent: -10000px;
			line-height: 0;
			font-size: 0rem;
		}
		
			form label.show, form.show-labels label, form .gfield_radio label, form .gfield_checkbox label {
				text-indent: 0;
				line-height: 1.4rem;
				font-size: 0.9rem;
				display: inline-block;
			}
			
					.gfield_radio label, form .gfield_checkbox label {
						top: -1px;
					}

		input, textarea, button, select {
			border: solid 1px var(--clrgrey);
			border-radius: var(--radius_sm);
			outline: 0;
			padding: 8px 10px;
			font-family: var(--fnt_font-family);
			font-size: 1rem;
			line-height: var(--fnt_line-height);
			color: var(--clrblack);
			width: 100%;
			box-sizing: border-box;
			margin: 0 0 10px;
		}
		
			input[type="radio"], input[type="checkbox"] {
				width: auto;
			}

			input:focus, textarea:focus {
				background: #FCFCF0;
			}

			input[type="submit"], button {
				cursor: pointer;
				margin: 5px 0 0;
				border-radius: var(--radius_cta);
				background: var(--clr1);
				border: solid 3px var(--clr1);
				color: var(--clr1_txt);
				padding: var(--ctapad);
				text-decoration: none;
				text-transform: var(--cta_fnt_text-transform);
				font-size: var(--cta_fnt_font-size);
				line-height: var(--cta_fnt_line-height);
				font-weight: var(--cta_fnt_font-weight);
				display: inline-block;
				min-width: 160px;
				box-sizing: border-box;
				text-align: center;
				width: auto;
				-webkit-transition: all 0.5s;
				-moz-transition: all 0.5s;
				-ms-transition: all 0.5s;
				-o-transition: all 0.5s;
				transition: all 0.5s;
			}

				input[type="submit"]:hover, button:hover {
					background: var(--clr1_alt);
					border-color: var(--clr1_alt);
					color: var(--clr1_txt);
				}

			textarea {
				height: 104px;
			}
			
			.gsection_description {
				margin: 0 0 10px;
			}
			
			fieldset {
				background: var(--clrgrey_alt);
				border: none;
				border-radius: var(--radius_md);
				padding: 15px 15px  10px;
				margin: 0 0 10px;
			}
			
				fieldset legend {
					float: left;
					margin: 0 0 10px;
				}
				
					fieldset div {
						clear: both;
					}
				
					fieldset legend span {
						font-size: 0.6rem;
						display: block;
					}
		
		
p {
	margin: 1.5rem 0 0;
	padding: 0;
}

p.small, .small-content p {
	font-size: 1rem;
	line-height: 1.6rem;
	margin: 1.5rem 0 0;
	padding: 0;
}

span.pre-title, legend, span.post-meta {
	display: block;
	margin: 0 0 1.5rem;
	font-size: var(--pre_fnt_font-size);
	line-height: var(--pre_fnt_line-height);
	font-weight: var(--pre_fnt_font-weight);
	text-transform: uppercase;
	letter-spacing: var(--pre_fnt_letter-spacing);
	color: var(--clr3);
}
		
h1, h2, h3, h4, h5, h6 {
	font-weight: var(--hed_fnt_font-weight);
	letter-spacing: var(--hed_fnt_letter-spacing);
	padding: 0;
	margin: 2rem 0;
}

h1, h2.h1 {
	font-size: var(--h1_fnt_font-size);
	line-height: var(--h1_fnt_line-height);
}

h2 {
	font-size: var(--h2_fnt_font-size);
	line-height: var(--h2_fnt_line-height);
}

h3 {
	font-size: var(--h3_fnt_font-size);
	line-height: var(--h3_fnt_line-height);
	margin: 1.5rem 0;
}

h4, h5, h6 {
	font-size: var(--h4_fnt_font-size);
	line-height: var(--h4_fnt_line-height);
	margin: 1.5rem 0;
}

.box, .box-in .content-container {
	border-radius: var(--radius_md);
	padding: 50px;
	box-shadow: var(--clrshadow);
	-webkit-box-shadow: var(--clrshadow);
	-moz-box-shadow: var(--clrshadow);
}

.video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


div.featured-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 40px 90px;
}

	/* .featured-logos img {
		width: calc(16.666% - 50px);
		max-width: 100%;
		height: auto;
		max-height: 40px;
		margin: 20px 0 0;
		min-width: 130px;
	} */
	
	.featured-logos img {
		width: auto;
		max-width: calc(16.666% - 50px);
		height: auto;
		margin: 0;
		max-height: 100px;
	}
	
	.featured-logos .ctas-container {
		margin-top: 4rem;
	}
	
.left-column .form-container, .right-column .form-container, .password-protected .form-container {
	max-width: 400px;
}

	.right-column .form-container {
		margin-left: auto;
	}
	
	.password-protected .form-container {
		margin: auto;
	}

.form-container h4 {
	margin-top: 0;
	padding-top: 0;
}

.form-container form {
	margin: 1rem 0 0;
}


.content-titles {
	padding: 0 0 var(--cntntpad);
}

.content-ctas {
	padding: 50px 0 0;
}

.content-row {
	padding-top: calc(var(--cntntpad) + 20px);
}

	.content-row.first {
		padding: 0;
	}
	
.grid-container {
    gap: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 auto;
    align-items: stretch;
}

	.grid-container.box-in {
		gap: 40px;
	}

	.grid-container.grid-2-col {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.grid-container.grid-1-col {
		grid-template-columns: repeat(1, 1fr);
	}
	
	.grid-container.grid-4-col {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.grid-container.grid-2-col.one-third {
		grid-template-columns: 1fr 2fr;
	}

	/*
	.grid-container .content-container {
		padding: 0 0 30px;
	}
	*/
	
		.grid-container.box-in .content-container {
			padding: 35px 35px 40px;
		}

	.content-container.feature .content {
		display: flex;
		justify-content: flex-start;
		gap: 20px;
		align-items: flex-start;
		align-content: center;
	}
	
		.content-container.feature img {
			margin: 0 0 20px;
			border-radius: var(--radius_md);
		}
	
		.content-container.feature .content > svg {
			font-size: 30px;
			margin-top: 2px;
		}
		
		.content-container.feature .content h3 {
			margin: 1rem 0;
		}
		
		.content-container.feature .content p:first-of-type {
			margin-top: 0;
		}
		
	.latest-posts .post img:first-of-type {
		border-radius: var(--radius_md);
	}
	
	.latest-posts .post > a {
		display: block;
	}
	
		.latest-posts .grid-container.box-in .content-container {
			padding: 0 0 30px;
		}
		
			.latest-posts .grid-container.box-in .content-container .content {
				padding: 0 35px;
			}
			
			.latest-posts .grid-container.box-in .content-container img {
				border-bottom-right-radius: 0;
				border-bottom-left-radius: 0;
			}
		
	.content-container.post .content {
		display: flex;
		justify-content: flex-start;
		gap: 20px;
		align-items: flex-start;
		align-content: center;
	}
	
		.content-container.post img {
			margin: 0 0 20px;
		}
		
		.content-container.post span.post-meta {
			text-transform: none;
			letter-spacing: 0;
			margin: 0 0 0.7rem;
			padding: 0;
		}
		
			.content-container.post span.post-meta, .content-container.post span.post-meta a, .content-container.post span.post-meta a:link, .content-container.post span.post-meta a:visited, .content-container.post span.post-meta a:active {
				color: var(--clr1);
				text-decoration: none;
			}
			
				.content-container.post span.post-meta a:hover {
					text-decoration: underline;
				}
		
		.content-container.post .content h3 {
			margin: 1rem 0;
		}
		
			.content-container.post .content h3 a, .content-container.post .content h3 a:link, .content-container.post .content h3 a:active, .content-container.post .content h3 a:visited {
				color: var(--clrblack);
				text-decoration: none;
			}
			
				.content-container.post .content h3 a:hover {
					text-decoration: underline;
				}
		
		.content-container.post .content p:first-of-type {
			margin-top: 0;
		}
		
.post-titles, .archive-titles {
	padding: 0 0 var(--cntntpad_slm);
}
		
	.post-titles img.post-thumbnail {
		border-radius: var(--radius_md);
	}

		.post-titles span.post-meta {
			text-transform: none;
			letter-spacing: 0;
			margin: 0 0 0.7rem;
			padding: 0;
		}
	
			.post-titles span.post-meta, .post-titles a, .post-titles span.post-meta a:link, .post-titles span.post-meta a:visited, .post-titles span.post-meta a:active {
				color: var(--clr1);
				text-decoration: none;
			}
	
	.content-container.testimonial {
		display: flex;
		justify-content: flex-start;
		gap: 20px;
		align-items: flex-start;
		align-content: center;
	}	
	
	
		.content-container.testimonial > svg {
			font-size: 60px;
			margin-top: 2px;
			color: var(--clr3);
		}

	.content-container.testimonial .content .bio {
		  display: flex;
		  flex-direction: row;
		  flex-wrap: nowrap;
		  justify-content: normal;
		  align-items: center;
		  align-content: normal;
		  gap: 20px;
	}
	
		.content-container.testimonial .content .bio .profile-icon {
			background-position: center;
			background-size: cover;
			border-radius: 500px;
			display: block;
			flex-grow: 0;
			flex-shrink: 1;
			flex-basis: auto;
			align-self: auto;
			order: 0;
			min-width: 80px;
			width: 80px;
			aspect-ratio: 1/1;
		}
		
		.content-container.testimonial .content .bio .name {
			display: block;
			flex-grow: 1;
			flex-shrink: 1;
			flex-basis: auto;
			align-self: auto;
			order: 0;
			font-size: 1rem;
			line-height: 1.2rem;
		}
		
		.content-container.testimonial .content blockquote {
			padding: 0;
			margin: 0;
		}

	.grid-container .content-ctas {
		padding: 10px;
	}

.media .content-titles {
	padding: 0 0 50px;
}

.faqs .faq-group .question {
	padding: 25px 0;
	border-top: solid 1px var(--clrgrey);
}

.faqs .faq-group .question:last-of-type {
	border-bottom: solid 1px var(--clrgrey);
}

.faqs .faq-group h3 {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.7rem;
}

.faqs .faq-group .answer {
	padding-top: 10px;
}

	.faqs.faqs-hide .faq-group .answer {
		display: none;
	}
	
.pagination-container {
	margin-top: var(--cntntpad);
}

	.pagination-container .pagination .page-numbers {
		margin: 0 5px;
	}
	
	.pagination-container .pagination .previous, .pagination-container .pagination .next {
		position: relative;
		top: 2px;
	}
	
.post-password-form {
	padding: 0;
	margin: 0 !important;
}
	
.post-password-form p:first-of-type {
	display: none;
}

.post-password-form p {
	margin-top: 0;
}


/* -- Pricing Plans -- */
.pricing-plan, .grid-container.box-in .content-container.pricing-plan {
	position: relative;
	padding: 0;
}

	.pricing-plan .callout {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: -14px;
		display: block;
		border-radius: var(--radius_cta);
		background: var(--clr1);
		color: var(--clr1_txt);
		font-weight: 700;
		text-transform: uppercase;
		font-size: 0.9rem;
		line-height: 1.2rem;
		letter-spacing: 0.075rem;
		padding: 6px 10px 4px;
	}
	
	.pricing-plan .title {
		background: var(--clr2);
		color: var(--clr2_txt);
		padding: 25px 30px;
		border-radius: var(--radius_md) var(--radius_md) 0 0;
		text-align: center;
	}
	
		.pricing-plan.featured .title {
			background: var(--clr4);
			color: var(--clr4_txt);
		}
	
		.pricing-plan .title h4 {
			margin: 0;
			padding: 0;
			font-size: 1.8rem;
			line-height: 2.4rem;
		}
		
	.pricing-plan div.price {
		padding: 20px 30px;
		background: var(--clrgrey);
		color: var(--clrblack);
		text-align: center;
	}
	
		.pricing-plan div.price .price {
			display: block;
			font-size: 2.4rem;
			line-height: 3rem;
			font-weight: 700;
		}
		
		.pricing-plan div.price .price-label {
			font-size: 0.9rem;
			line-height: 1.2rem;
		}
		
	.pricing-plan .content-block {
		padding: 30px 30px 25px;
		border-radius: 0 0 var(--radius_md) var(--radius_md);
	}
	
		.pricing-plan .content p {
			text-align: center;
			font-size: 1.2rem;
			line-height: 1.6rem;
		}
		
			.pricing-plan .content p.description {
				margin: 0 0 20px;
				padding: 0;
			}
			
			.pricing-plan .content p.other {
				font-size: 1rem;
				line-height: 1.4rem;
			}


		.pricing-plan .content ul.plan-features, .pricing-plan .content ul.plan-features li {
			list-style-type: none;
			margin: 0;
			padding: 0;
			font-size: 1rem;
			line-height: 1.6rem;
		}

			.pricing-plan .content ul.plan-features li {
				padding: 4px 0 4px 24px;
				position: relative;
			}
			
				.pricing-plan .content ul.plan-features li svg {
					position: absolute;
					left: 0;
					top: 6px;
					font-size: 20px;
					color: var(--clr1);
				}
				
		.pricing-plan .ctas-container {
			text-align: center;
			padding: 0 30px 0;
			margin: 25px 0 0;
		}

footer#main {
	padding: 80px 0 100px;
	border-top: solid 1px var(--clrgrey);
}

	footer#main.permanent-header .header {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: center;
		align-content: normal;
		gap: 40px;
		margin: 0 0 70px;
	}
	
		footer#main.permanent-header .header div {
			display: block;
			flex-grow: 0;
			flex-shrink: 1;
			flex-basis: auto;
			align-self: auto;
			order: 0;
		}

	footer#main.permanent-header .ctas, footer#main.permanent-header .social {
		margin: 0;
	}
	
			footer#main.permanent-header .ctas a, footer#main.permanent-header .ctas a:link, footer#main.permanent-header .ctas a:active, footer#main.permanent-header .ctas a:visited, footer#main .social a {
				min-width: auto;
				margin: 0 10px 0 0;
			}

	footer#main .logo a {
		display: block;
		font-size: 0;
		line-height: 0;
	}

	footer#main .logo img {
		max-width: 180px;
	}

	footer#main .ctas {
		margin: 20px 0 0;
	}
	
			footer#main .ctas a, footer#main .ctas a:link, footer#main .ctas a:active, footer#main .ctas a:visited {
				/* min-width: 200px; */
				margin: 10px 0 0;
			}
	
	footer#main .social {
		margin: 20px 0 0;
	}

		footer#main .social a {
			display: inline-block;
			margin: 10px 12px 0 0;
			font-size: 1.4rem;
			color: var(--clrblack);
		}
	
	footer#main h4 {
		margin: 0;
		padding: 0 0 1rem;
		font-size: 1.2rem;
		line-height: 1.5rem;
	}
	
	footer#main ul, footer#main ul li {
		margin: 0;
		padding: 0;
		font-size: 1rem;
		line-height: 1.3rem;
		list-style-type: none;
	}
	
		footer#main ul li {
			padding: 5px 0;
		}
	
	footer#main ul a, footer#main ul a:link, footer#main ul a:active, footer#main ul a:visited {
		color: var(--clrblack);
		text-decoration: none;
	}
	
		footer#main ul a:hover {
			text-decoration: underline;
		}
		
	footer#main .footer-badges {
		margin-top: var(--cntntpad);
	}
	
		footer#main .footer-badges img {
			width: auto;
		}

footer#legal {
	padding: 30px 0;
	border-top: solid 1px var(--clrgrey);
	font-size: 0.8rem;
	line-height: 1.2rem;
}

	footer#legal ul, footer#legal ul li {
		list-style-type: none;
		margin: 0;
		padding: 0;
		display: inline-block;
		font-size: 0;
	}
	
		footer#legal ul li {
			padding: 0 10px;
			border-left: solid 1px var(--clrgrey);
			line-height: 1em;
		}
		
			footer#legal ul li:first-of-type {
				margin-left: 10px;
			}
	
	footer#legal, footer#legal a, footer#legal a:link, footer#legal a:active, footer#legal a:visited {
		color: var(--clrblack);
		text-decoration: none;
		font-size: 0.8rem;
		line-height: 1.2rem;
	}
	
		footer#legal a:hover {
			text-decoration: underline;
		}
		
.conversion-nav-override footer#main, .conversion-nav-override header .nav, .conversion-nav-override header .ctas {
	display: none;
}
		
/* Medium Plus */		
@media screen and (min-width: 48em) {
	.valign-center {
		display: flex;
		align-items: center;
		display: -webkit-flex;
		-webkit-align-items: center;
		display: -moz-flex;
		-moz-box-align: center;
	}

	.column-order {
		display: flex;
		flex-wrap: wrap;
	}
	
		.column-order .right-column {
			order: 2; /* Ensures this column appears on the right */
		}
	
		.column-order .left-column {
			order: 1; /* Ensures this column appears on the left */
		}
}

/* Large Plus */		
@media screen and (min-width: 80em) { 
	.content-container .content-first {
		padding-right: 100px;
	}
	
	.content-container .content-last {
		padding-left: 100px;
	}
	
	.hide-lg-plus {
		display: none !important;
	}
}	
	
/* Less than Large */		
@media screen and (max-width: 80em) { 
	.hide-lg {
		display: none !important;
	}
	
	footer#main .header {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: center;
		align-content: normal;
		gap: 40px;
		margin: 0 0 20px;
	}
	
		footer#main .header div {
			display: block;
			flex-grow: 0;
			flex-shrink: 1;
			flex-basis: auto;
			align-self: auto;
			order: 0;
		}

	footer#main .ctas, footer#main .social {
		margin: 0;
	}
	
			footer#main .ctas a, footer#main .ctas a:link, footer#main .ctas a:active, footer#main .ctas a:visited, footer#main .social a {
				min-width: auto;
				margin: 0 10px 0 0;
			}
			
	footer#main h4 {
		margin-top: 40px;
	}
}	
		
/* Less than Medium */		
@media screen and (max-width: 64em) { 
	.content-container.feature .content, .banner {
		font-size: 1rem;
		line-height: 1.6rem;
	}
	
	ul.list-checks {
		padding-left: 20px;
	}
	
	.hide-md {
		display: none !important;
	}
	
	.mob-menu-item {
		display: block;
	}
	
	.grid-container.grid-4-col {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.latest-posts .content-container.post:nth-of-type(3) {
		display: none;
	}
	
	footer#main, footer#legal {
		text-align: center;
	}
	
	footer#main .header {
		display: block;
	}
	
		footer#main .header div {
			margin: 0 0 30px;
		}

			footer#main .ctas a, footer#main .ctas a:link, footer#main .ctas a:active, footer#main .ctas a:visited {
				min-width: 180px;
				margin: 10px 5px 0;
			}
			
	.content-container.testimonial {
		position: relative;
	}
			
		.content-container.testimonial > svg {
			font-size: 40px;
			position: absolute;
			top: 7px;
			left: 15px;
		}
			
	.content-container.testimonial .content .bio .profile-icon {
		min-width: 60px;
		width: 60px;
	}
	
	.content-container.testimonial .content .bio .name {
		font-size: 0.9rem;
	}

	
	footer#legal ul {
		display: block;
		margin: 10px 0 0;
	}
	
		footer#legal ul li:first-of-type {
			border: none;
			margin: 0;
		}
		
	.content-ctas {
		padding: 0;
	}
	
	.box, .box-in .content-container {
		padding: 25px;
	}
	
	.grid-container.box-in .content-container {
		padding: 25px 25px 30px;
	}
	
	.latest-posts .grid-container.box-in .content-container .content {
		padding: 0 25px;
	}
	
	.content-container.post img {
		margin: 0 0 10px;
	}
	
	.latest-posts .grid-container.box-in .content-container {
		padding: 0 0 20px;
	}
	
	.content-container.feature .content > svg {
		font-size: 2.2rem;
	}
	
	a.cta-text:link, a.cta-text:visited, a.cta-text:active {
		margin: 0.8rem 0 0;
	}
	
	.content-first, .content-last {
		margin: 30px 0 0;
	}
	
	.banner-with-form .content-first, .banner-with-form .content-last, .banner-with-media .content-first, .banner-with-media .content-last {
		margin: 0 0 30px;
	}
		
	.featured-logos img {
		max-width: calc(45% - 50px);
	}
	
	.left-column .form-container, .right-column .form-container {
		max-width: 100%;
		margin: auto;
	}
}

/* Less than Small */	
@media screen and (max-width: 48em) { 
	.hide-sm {
		display: none !important;
	}
	
	.features .features-container {
		grid-template-columns: repeat(1, 1fr);
	}
	
	.grid-container {
		grid-template-columns: repeat(1, 1fr) !important;
	}
}

/* Less than  X-Small */	
@media screen and (max-width: 35.5em) { 
	.hide-xsm {
		display: none !important;
	}
	
	.featured-logos img {
		max-width: calc(90% - 50px);
	}
}