/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi
Description: Divi child theme via FreshySites
Author: FreshySites
Author URI: https://freshysites.com/
Template: Divi
Version: 1.5.0
*/
/* Add your own styles at the bottom */

html {
	font-size: 100%;
}

/* -- COLORS -- */

/* Edge */
::-webkit-input-placeholder {
	color: #B2B2B2;
}

/* Internet Explorer 10-11 */
:-ms-input-placeholder {
	color: #B2B2B2;
}

::placeholder {
	color: #B2B2B2;
}

.white,
.white h1,
.white h2,
.white h3,
.white h4,
.white h5,
.white h6,
.white li,
.white a,
h1.white,
h2.white,
h3.white,
h4.white,
h5.white,
h6.white,
li.white,
a.white,
p.white {
	color: #fff;
}

.black,
.black h1,
.black h2,
.black h3,
.black h4,
.black h5,
.black h6,
.black li,
.black a,
h1.black,
h2.black,
h3.black,
h4.black,
h5.black,
h6.black,
li.black,
a.black,
p.black {
	color: #000;
}

/* navy */
.primary,
.primary h1,
.primary h2,
.primary h3,
.primary h4,
.primary h5,
.primary h6,
.primary li,
.primary a,
h1.primary,
h2.primary,
h3.primary,
h4.primary,
h5.primary,
h6.primary,
li.primary,
a.primary,
p.primary {
	color: #000058;
}

/* purple */
.secondary,
.secondary h1,
.secondary h2,
.secondary h3,
.secondary h4,
.secondary h5,
.secondary h6,
.secondary li,
.secondary a,
h1.secondary,
h2.secondary,
h3.secondary,
h4.secondary,
h5.secondary,
h6.secondary,
li.secondary,
a.secondary,
p.secondary {
	color: #4C50E9;
}

/* teal */
.tertiary,
.tertiary h1,
.tertiary h2,
.tertiary h3,
.tertiary h4,
.tertiary h5,
.tertiary h6,
.tertiary li,
.tertiary a,
h1.tertiary,
h2.tertiary,
h3.tertiary,
h4.tertiary,
h5.tertiary,
h6.tertiary,
li.tertiary,
a.tertiary,
p.tertiary {
	color: #45c6d3;
}

/* orange */
.quaternary,
.quaternary h1,
.quaternary h2,
.quaternary h3,
.quaternary h4,
.quaternary h5,
.quaternary h6,
.quaternary li,
.quaternary a,
h1.quaternary,
h2.quaternary,
h3.quaternary,
h4.quaternary,
h5.quaternary,
h6.quaternary,
li.quaternary,
a.quaternary,
p.quaternary {
	color: #f8855e;
}

/* yellow */
.quinary,
.quinary h1,
.quinary h2,
.quinary h3,
.quinary h4,
.quinary h5,
.quinary h6,
.quinary li,
.quinary a,
h1.quinary,
h2.quinary,
h3.quinary,
h4.quinary,
h5.quinary,
h6.quinary,
li.quinary,
a.quinary,
p.quinary {
	color: #ffb100;
}

/* grey */
.grey,
.grey h1,
.grey h2,
.grey h3,
.grey h4,
.grey h5,
.grey h6,
.grey li,
.grey a,
h1.grey,
h2.grey,
h3.grey,
h4.grey,
h5.grey,
h6.grey,
li.grey,
a.grey,
p.grey {
	color: #b2b2b2;
}

/* light grey */
.light-grey,
.light-grey h1,
.light-grey h2,
.light-grey h3,
.light-grey h4,
.light-grey h5,
.light-grey h6,
.light-grey li,
.light-grey a,
h1.light-grey,
h2.light-grey,
h3.light-grey,
h4.light-grey,
h5.light-grey,
h6.light-grey,
li.light-grey,
a.light-grey,
p.light-grey {
	color: #f6f6f6;
}


/* background colors */
.bg-white,
a.bg-white {
	background-color: #fff;
}

.bg-black,
a.bg-black {
	background-color: #000;
}

/* navy */
.bg-primary,
a.bg-primary {
	background-color: #000058;
}

/* purple */
.bg-secondary,
a.bg-secondary {
	background-color: #4C50E9;
}

/* teal */
.bg-tertiary,
a.bg-tertiary {
	background-color: #45c6d3;
}

/* orange */
.bg-quaternary,
a.bg-quaternary {
	background-color: #f8855e;
}

/* yellow */
.bg-quinary,
a.bg-quinary {
	background-color: #ffb100;
}

.bg-grey,
a.bg-grey {
	background-color: #b2b2b2;
}

.bg-light-grey,
a.bg-light-grey {
	background-color: #f6f6f6;
}

/* 
 * if there is a text anchor within a white text block, then make the text anchor also be close to white 
 * can override within the Divi Builder by editing the link color in the Link settings of that module 
 */
.et_pb_text.et_pb_bg_layout_dark a {
	color: rgba(255,255,255,1);
}

/* -- END COLORS -- */


/* -- TYPOGRAPHY -- */

body, .mec-event-detail, .mec-event-time.mec-color, .single-mec-events .mec-countdown-details .countdown-w .clockdiv li p, .pum-theme-1360 .pum-content p {
	font-family: sofia-pro, sans-serif;
	font-size: 18px!important;
	line-height: 1.5em;
	font-weight: 300!important;
	letter-spacing: 0.5px;
}
.medium {
	font-family: sofia-pro, sans-serif;
	line-height: 1.5em;
	font-weight: 500;
	letter-spacing: 0.5px;
}

/* calendar stuff */
.lity-container, 
.mec-wrap, 
.mec-wrap div:not([class^=elementor-]),
.mec-event-content p{
	font-family: sofia-pro, sans-serif;
}

.small h5 {
	font-family: sofia-pro, sans-serif;
}
body .pro-medium, .mec-calendar .mec-event-article .mec-event-title a, .dp-dfg-header.entry-header a{
	font-family: sofia-pro-soft, sans-serif;
	line-height: 1.5em;
	font-weight: 500;
	letter-spacing: 0.5px;
}
body .pro-semi {
	font-family: sofia-pro, sans-serif;
	line-height: 1.5em;
	font-weight: 600;
	letter-spacing: 0.5px;
}
body .pro-bold, .bold-link a{
	font-family: sofia-pro-soft, sans-serif!important;
	line-height: 1.5em!important;
	font-weight: 700!important;
	letter-spacing: 0.5px!important;
}

.center-blurb h3.et_pb_module_header,
.center-blurb h4.et_pb_module_header {
	font-family: sofia-pro-soft, sans-serif;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 0.5px;
	font-size:32px!important;
	max-width: 340px;
    margin-left: auto;
    margin-right: auto;
}

#insurer-blocks-section .left-blurb h2.et_pb_module_header, 
.left-blurb h3.et_pb_module_header, 
.left-blurb h4.et_pb_module_header, 
h6.mec-table-side-title, h3.mec-color.mec-table-side-day {
	font-family: sofia-pro-soft, sans-serif;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 0.5px;
	font-size:32px;
}
dt.mec-calendar-day-head, dt.mec-calendar-day, .single-mec-events h4.widgettitle{
	font-family: sofia-pro-soft, sans-serif;
	font-weight: 700;
	letter-spacing: 0.5px;
	font-size:20px;
}

.bold-accordion h3.et_pb_toggle_title,
.bold-accordion h5.et_pb_toggle_title, .policy-title h5 {
	font-family: sofia-pro-soft, sans-serif;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 0.5px;
	font-size:24px!important;
}
.faq-filter a.dp-dfg-filter-link, body #gform_wrapper_1 input#gform_submit_button_1{
	font-family: sofia-pro, sans-serif;
	line-height: 1.5em;
	font-weight: 300;
	letter-spacing: 0.5px;
}
.sofia-bold{
	font-family: sofia-pro, sans-serif;
	line-height: 1.5em;
	font-weight: 700;
	letter-spacing: 0.5px;
}
body #gform_wrapper_1 input#gform_submit_button_1 {
	font-weight:700;
}

body h1, body h2, body h3, body h4, body h5, body h6,
.h1, .h2, .h3, .h4, .h5, .h6, 
.mec-calendar .mec-calendar-header h2, 
.single-mec-events h1.mec-single-title, 
.single-mec-events h3.mec-date, 
.single-mec-events h3.mec-social-single.mec-frontbox-title, 
.single-mec-events h3.mec-time, 
h3.mec-events-single-section-title.mec-location {
	font-family: freight-big-pro, serif;
	font-weight: 900;
	letter-spacing: 0;
	padding-bottom: 0;
	line-height: 1.2em;
}

body h1:not(:last-child):not(:only-child), .h1:not(:last-child):not(:only-child),
body h2:not(:last-child):not(:only-child), .h2:not(:last-child):not(:only-child),
body h3:not(:last-child):not(:only-child), .h3:not(:last-child):not(:only-child),
body h4:not(:last-child):not(:only-child), .h4:not(:last-child):not(:only-child),
body h5:not(:last-child):not(:only-child), .h5:not(:last-child):not(:only-child),
body h6:not(:last-child):not(:only-child), .h6:not(:last-child):not(:only-child) {
	padding-bottom: 1rem;
}

body h1, .h1, .single-mec-events h1.mec-single-title {
	font-size: 36px;
}
/*.home-header h1 {
	font-size: 70px;
}*/
/*
body h2, .h2 {
	font-size: 32px;
}

body h3, .h3 {
	font-size: 28px;
}

body h4, .h4 {
	font-size: 24px;
}

body h5, .h5 {
	font-size: 20px;
}

body h6, .h6 {
	font-size: 16px;
}
*/


body h1, .h1 {
	font-size: 56px!important;
	line-height:72px;
}
/*.home-header h1 {
	font-size: 70px;
}*/

body h2, .h2{
	font-size: 44px!important;
	line-height:44px;
}


.home body h3, .home .h3 {
	font-size: 44px!important;
}
body h3, .h3, .single-mec-events h1.mec-single-title {
	font-size: 40px!important;
	line-height:44px;
}

body h4, .h4, 
h3.mec-color.mec-table-side-day, 
.single-mec-events h3.mec-date, 
.single-mec-events h3.mec-social-single.mec-frontbox-title, 
.single-mec-events h3.mec-time, 
h3.mec-events-single-section-title.mec-location  {
	font-size: 24px!important;
}

.key h4 {
	font-size: 34px!important;
}

body h5, .h5 {
	font-size: 20px!important;
}

body h6, .h6, h6.mec-table-side-title {
	font-size: 16px!important;
}

.title-text p{
	font-size: 28px!important;
}

.home-header p, .key p{
		line-height:25px;
		padding-bottom: 15px!important;
	}
.small-header p{
		line-height:25px;
		padding-bottom: 15px!important;
	}
@media (max-width: 320px) {
	body h1, .h1 {
		font-size: 46px!important;
		line-height:62px;
	}
}
@media (max-width: 980px) {
	.key h3, .key h4 {
		line-height:44px;
	}
	.pro-bold {
		line-height:36px!important;
	}
	.home-header p, .key p{
		padding-bottom: 10px!important;
	}
}
@media (min-width: 981px) {
	body h1, .h1 {
		font-size: 48px!important;
		line-height: 50px!important;
	}
	
	body h2, .h2{
		font-size: 42px!important;
		line-height:43px;
	}
	body h3, .h3, .single-mec-events h1.mec-single-title {
		font-size: 36px!important;
		line-height:40px;
	}
	.key h4 {
		line-height:55px;
	}
	body h4, .h4, 
	h3.mec-color.mec-table-side-day, 
	.single-mec-events h3.mec-date, 
	.single-mec-events h3.mec-social-single.mec-frontbox-title, 
	.single-mec-events h3.mec-time, 
	h3.mec-events-single-section-title.mec-location {
		font-size: 28px!important;
	}
	body h5, .h5 {
		font-size: 24px!important;
	}
	body h6, .h6, h6.mec-table-side-title {
		font-size: 18px!important;
	}
	.pro-bold {
		line-height:32px!important;
	}
	
}

@media (min-width: 1405px) {
	body h1, .h1 {
		font-size: 76px!important;
		line-height: 70px!important;
	}
	body h2, .h2 {
		font-size: 54px!important;
		line-height:55px;
	}
	body h3, .h3, .single-mec-events h1.mec-single-title {
		font-size: 50px!important;
		line-height:55px;
	}
	body h4, .h4, 
	h3.mec-color.mec-table-side-day, 
	.single-mec-events h3.mec-date, 
	.single-mec-events h3.mec-social-single.mec-frontbox-title, 
	.single-mec-events h3.mec-time, 
	h3.mec-events-single-section-title.mec-location {
		font-size: 34px!important;
	}
	body h5, .h5 {
		font-size: 30px!important;
	}
	body h6, .h6, h6.mec-table-side-title {
		font-size: 20px!important;
	}
}

/* --- ACCESSIBILITY PAGE --- */
@media (max-width: 376px) {
	.acc-title h1 {
    	font-size: 46px!important;
    	line-height: 62px;
	}
}
@media (max-width: 337px) {
	.large-h2 h2 {
    	font-size: 41px!important;
	}
}
@media (max-width: 443px) {
	.long-h2 h2 {
    	font-size: 31px!important;
	}
}



.top-bar-popup h3{
	font-size:36px!important;
}


.text-lowercase, 
.text-lowercase h1, .text-lowercase h2, .text-lowercase h3, .text-lowercase h4, .text-lowercase h5, .text-lowercase h6, .text-lowercase li, .text-lowercase a {
	text-transform: lowercase !important;
}

.text-uppercase, 
.text-uppercase h1, .text-uppercase h2, .text-uppercase h3, .text-uppercase h4, .text-uppercase h5, .text-uppercase h6, .text-uppercase li, .text-uppercase a {
	text-transform: uppercase !important;
}

.text-capitalize, 
.text-capitalize h1, .text-capitalize h2, .text-capitalize h3, .text-capitalize h4, .text-capitalize h5, .text-capitalize h6, .text-capitalize li, .text-capitalize a {
	text-transform: capitalize !important;
}

.text-transform-none, 
.text-transform-none h1, .text-transform-none h2, .text-transform-none h3, .text-transform-none h4, .text-transform-none h5, .text-transform-none h6, .text-transform-none li, .text-transform-none a {
	text-transform: none !important;
}

.font-weight-bold, 
.font-weight-bold h1, .font-weight-bold h2, .font-weight-bold h3, .font-weight-bold h4, .font-weight-bold h5, .font-weight-bold h6, .font-weight-bold li, .font-weight-bold a {
	font-weight: 700;
}

.font-weight-normal, 
.font-weight-normal h1, .font-weight-normal h2, .font-weight-normal h3, .font-weight-normal h4, .font-weight-normal h5, .font-weight-normal h6, .font-weight-normal li, .font-weight-normal a {
	font-weight: 400;
}

.font-italic {font-style: italic;}

.text-underline-none, .text-underline-none a {text-decoration: none !important;}

.text-underline, .text-underline a {text-decoration: underline !important;}

.text-nowrap, .text-nowrap a {white-space: nowrap !important;}

.text-wrap-normal, .text-wrap-normal a {white-space: normal !important;}

/* if Divi text module has anchor link in it, make it underlined */
.et_pb_text a {
	text-decoration: underline;
}

/* -- END TYPOGRAPHY -- */


/* -- TEMPLATE -- */



/* -- END TEMPLATE -- */


/* -- CUSTOM HEADER -- */

/* - Top Top Bar (via plugin) - */
body > .pushr {
	display: none;
}
#tpbr_topbar {
	padding: 0 !important;
	height: 36px;
}
#tpbr_topbar > #tpbr_box {
	width: 90% !important;
	margin: 0 auto !important;
	padding: 0 !important;
	max-width: 1520px;
	line-height: 36px !important;
	font-size: 13px !important;
	font-family: Helvetica, Arial, sans-serif !important;
	text-align: center !important;
	color: white !important;
	font-weight: 300 !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	height: 36px;
}

#tpbr_topbar > #tpbr_box > #tpbr_calltoaction {
	display: inline-block !important;
	padding: 3px 8px !important;
	color: white !important;
	text-decoration: none !important;
	margin: 0 0 0 13px !important;
	border-radius: 3px !important;
	line-height: 1.5em !important;
	font-weight: 600;
}

@media (max-width: 599px) {
	#tpbr_topbar > #tpbr_box {
		font-size: 11px !important;
	}
	#tpbr_topbar > #tpbr_box > #tpbr_calltoaction {
		margin: 0 0 0 8px !important;
	}
}

/* Ensure the header is above page content when menu expands */
.et-l--header {
	position: relative;
	z-index: 999999;
}

/* we use JS to add a class to the body when the fullscreen menu is active.
 * if it is active, then we want to hide scrollbars on body */
body.fullscreen-active {
	overflow-y: hidden;
}

/* 
 * when using Theme Builder for header, set custom top padding to push content below fixed header 
 * note: this padding-top needs to be equal to the height of the custom header 
 */
body.et-tb-has-header #page-container {
	padding-top: 140px !important;
}
/* and if it has top bar enabled, push further down (adds height of top top bar) 
 * actually as of Top Bar 3.0, it doesn't need extra padding anymore */
body.et-tb-has-header > .pushr ~ #page-container {
	padding-top: 140px !important;
}
@media (max-width: 767px) {
	body.et-tb-has-header #page-container {
		padding-top: 104px !important;
	}
	body.et-tb-has-header > .pushr ~ #page-container {
		padding-top: 104px !important;
	}
}

/* overall custom header section wrapper */
#page-container #pennie-header {
	position: fixed;
	top: 0;
	width: 100%;
	background-color: white;
	z-index: 999999;
	padding: 0;
	transition: all 0.4s ease;
	box-shadow: 0 1px 3px 0 rgba(0,0,0,0.35);
	overflow: visible;
	font-family: sofia-pro-soft;
}
/* if it has top top bar (via plugin) we need to push down further) */
body.et-tb-has-header > .pushr ~ #page-container #pennie-header {
	top: 36px;
}

/* fixed header during scroll, adds class via jQuery, and we force styling */
#page-container #pennie-header.header-scrolled {
	background-color: rgba(255,255,255,1);
	box-shadow: 0 2px 6px 0 rgba(0,0,0,0.1);
}

/* ensure anchors in header don't get underlined */
#page-container #pennie-header a {
	text-decoration: none;
}

/* the actual Header ROWs */
#page-container #pennie-header > #pennie-header-top,
#page-container #pennie-header > #pennie-header-main {
	width: 80%;
	margin: 0 auto;
	max-width: 1520px;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	direction: ltr;
	z-index: 99999;
	position: relative;
}

/* make sure the columns in the header rows are always side by side */
#page-container #pennie-header > #pennie-header-top > .et_pb_column,
#page-container #pennie-header > #pennie-header-main > .et_pb_column {
	width: auto !important;
}

/* down arrow for sub menu parent */
#page-container #pennie-header .et-menu .menu-item-has-children>a:first-child:after {
	font-family: ETmodules;
	content: '\f0d7';
	font-size: 16px;
	position: absolute;
	right: 0;
	top: 50%;
	font-weight: 400;
	transform: translateY(-50%);
	color: inherit;
	margin-top: 0.1em;
}
/* if popped with our jQuery class, then show up arrow */
body.desktop #page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children.desktop-submenu-popped>a:first-child:after {
	content: '\f0d8';
}

/* - TOP BAR (in Theme Builder) - */

#page-container #pennie-header > #pennie-header-top {
	color: white;
	font-weight: 300;
	font-size: 0.875rem;
	min-height: 36px;
	z-index: 100000;
	background-color: #000058;
}

/* ensure the modules within the top bar columns can go side-by-side instead of stacked */
#page-container #pennie-header > #pennie-header-top > .et_pb_column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	/* FYI, you can change to align-items: stetch to make modules full height too */
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/* make the last column be right aligned */
#page-container #pennie-header > #pennie-header-top > .et_pb_column:last-child {
    flex-grow: 1;
    -webkit-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

/* top bar links */
#page-container #pennie-header > #pennie-header-top a {
	font-weight: 500;
	color: white;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}
#page-container #pennie-header > #pennie-header-top a:hover {
	color: #ffb100 !important;
}

/* set the bg color of the top bar, even beyond the max width of the row wrapper */
#page-container #pennie-header > #pennie-header-top::before {
	content: '';
	position: absolute;
	left: 50%;
	height: 100%;
	background-color: #000058;
	width: 4096px;
	transform: translateX(-50%);
}

/* add icons in front of some of the links in top bar */
#page-container #pennie-header > #pennie-header-top .top-bar-broker a,
#page-container #pennie-header > #pennie-header-top .top-bar-phone a,
#page-container #pennie-header > #pennie-header-top li.nav-search > a,
#page-container #pennie-header > #pennie-header-top li.nav-login > a {
	position: relative;
	padding-left: 1.333rem !important;
}
#page-container #pennie-header > #pennie-header-top .top-bar-broker a::before,
#page-container #pennie-header > #pennie-header-top .top-bar-phone a::before,
#page-container #pennie-header > #pennie-header-top li.nav-search > a::before,
#page-container #pennie-header > #pennie-header-top li.nav-login > a::before {
	font-family: 'ETModules';
	color: inherit;
	font-weight: normal;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	font-size: 15px;
	line-height: 1em;
}
#page-container #pennie-header > #pennie-header-top .top-bar-broker a::before {
	content: '\e938';
	margin-top: 1px;
}
#page-container #pennie-header > #pennie-header-top .top-bar-phone a::before {
	content: '\f095';
	margin-top: 1px;
}
#page-container #pennie-header > #pennie-header-top li.nav-search > a::before {
	content: '\f002';
}
#page-container #pennie-header > #pennie-header-top li.nav-login > a::before {
	content: '\f007';
}

/* make modules within the columns have a gap between them */
#page-container #pennie-header > #pennie-header-top > .et_pb_column:first-child > .et_pb_module {
	margin-right: 1.5rem;
}
#page-container #pennie-header > #pennie-header-top > .et_pb_column:last-child > .et_pb_module:not(:first-child) {
	margin-left: 1.5rem;
}
/* increase gap between a module and the top bar menu module */
#page-container #pennie-header > #pennie-header-top > .et_pb_column:last-child > .et_pb_module.top-bar-menu {
	margin-left: 4rem;
}

/* remove white bg added by Divi */
#page-container #pennie-header > #pennie-header-top .et_pb_menu {
	background: none;
}

/* make the menu wrapper be full height */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu_inner_container {
	height: 100%;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

/* remove negative margin added by Divi */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et-menu {
	margin: 0;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

/* set style of each menu item */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li {
    position: relative;
    padding: 0;
    font-size: inherit;
    line-height: 1.3em;
    font-weight: 400;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	min-height: 36px;
}

/* create gaps between top bar menu items */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li:not(:last-child) {
	margin-right: 4rem;
}
/* IE had issues with this if it wasn't set to block */
body.ie #page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li {
	display: block;
}

/* set anchor styles */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li > a {
	color: white;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
	word-wrap: normal;
	height: 100%;
}
/* if anchor has children, make room for the arrow */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a:first-child {
	padding-right: 1rem;
}
/* style hover anchor */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li > a:hover {
	color: #ffb100;
	opacity: 1;
}

/* style active menu item anchor */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.current-menu-item > a {
	color: #4C50E9;
}

/* set color of dropdown menu arrow */
#page-container #pennie-header > #pennie-header-top .et-menu .menu-item-has-children > a:first-child:after {
	color: #4C50E9;
}

/* when menu item is showing a dropdown */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children.et-show-dropdown {
	box-shadow: inset 0 -3px 0 0 #4C50E9;
}

/* sub menu dropdowns */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li ul {
	padding: 15px 0;
	top: 100%;
	left: -20px;
	border: 0;
	-moz-box-shadow: 0 3px 8px rgba(0,0,0,0.1);
	-webkit-box-shadow: 0 8px 5px rgba(0,0,0,0.1);
	box-shadow: 0 3px 8px rgba(0,0,0,0.1);
	width: auto;
}
/* if the first dropdown give a bottom border radius */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li > ul {
	border-radius: 0 0 5px 5px;
}
/* sub menu items */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li li {
	padding: 0;
	display: block;
	font-size: 1em;
	line-height: 1.5em;
}
/* sub menu anchors */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li li a {
	padding: 10px 25px;
	width: 100%;
	font-size: 1em;
	color: #000058;
	white-space: nowrap;
	opacity: 1;
}
/* sub menu anchors hover */
#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li ul li a:hover {
	opacity: 1;
	background-color: rgba(0,0,0,0.05);
}
/*resize font on top header*/
@media screen and (max-width: 1198px) and (min-width: 981px) {
	#page-container #pennie-header > #pennie-header-top {
		font-size: 12px;
	}
}
@media (max-width: 980px) {
	/* reduce top bar font size */
	#page-container #pennie-header > #pennie-header-top {
		font-size: 13px;
	}
	/* hide the left column */
	#page-container #pennie-header > #pennie-header-top > .et_pb_column:first-child {
		display: none;
	}
	/* push the phone to the left, since we hid the first column */
	#page-container #pennie-header > #pennie-header-top > .et_pb_column > .top-bar-phone {
		margin-right: auto;
	}
	/* prevent mobile menu */
	#page-container #pennie-header > #pennie-header-top .et_mobile_nav_menu {
		display: none;
	}
	/* and continue showing desktop menu */
	#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex; 
	}
	/* adjust gaps between top bar items */
	#page-container #pennie-header > #pennie-header-top > .et_pb_column:last-child > .et_pb_module.top-bar-menu {
		margin-left: 3rem;
	}
	#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li:not(:last-child) {
		margin-right: 3rem;
	}
}

/* mobile version of top bar */
@media (max-width: 767px) {
	/* hide hours */
	#page-container #pennie-header > #pennie-header-top > .et_pb_column > .top-bar-hours {
		display: none;
	}
	/* reduce gaps between menu stuff in top bar */
	#page-container #pennie-header > #pennie-header-top > .et_pb_column:last-child > .et_pb_module.top-bar-menu {
		margin-left: 1.5rem;
	}
	#page-container #pennie-header > #pennie-header-top .et_pb_menu .et_pb_menu__menu > nav > ul > li:not(:last-child) {
		margin-right: 1.5rem;
	}
}

/* smaller versin of mobile top bar */
@media (max-width: 599px) {
	#page-container #pennie-header > #pennie-header-top li.nav-search > a,
	#page-container #pennie-header > #pennie-header-top li.nav-login > a {
		overflow: hidden;
		width: 1px;
		padding: 0 0 0 1.5rem !important;
		word-wrap: normal !important;
		white-space: nowrap;
	}
}

/* - MAIN BAR - */

/* Header Main Left (Logo) Column */

/* make the left column have side-by-side elements */
#page-container #pennie-header > #pennie-header-main > .et_pb_column:first-child {
	flex-grow: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
}

/* increase/adjust the height of the main header bar by adjusting top and bottom margins of logo anchor */
#page-container #pennie-header #header-logo a {
	padding: 0;
	margin: 23px 0;
	display: table;
	transition: all  0.4s ease;
}

/* when header has the scrolled class, adjust the margins of the logo, which will help reduce the height of the main bar */
/*
#page-container #pennie-header.header-scrolled #header-logo a {
	margin: 8px 0;
}
*/

/* force the size of SVG logo (ensure its proper aspect ratio) */
#page-container #pennie-header #header-logo svg.header-logo-desktop {
	display: block;
	width: 186px;
	height: 58px;
}
/* hide mobile svg logo initially */
#page-container #pennie-header #header-logo svg.header-logo-mobile {
	display: none;
	width: 36px;
	height: 38px;
}

/* tagline text */
#page-container #pennie-header #header-tagline {
	color: #535558;
	font-size: 1rem;
	line-height: 1.2em;
	font-weight: 500;
	letter-spacing: 0.5px;
	margin-left: 1.5rem;
	transition: all 0.4s ease;
}

/* Header Main Right (Menu) Column */

/* make the right column be full width so it pushes the other stuff to the outsides */
#page-container #pennie-header > #pennie-header-main > .et_pb_column:last-child {
	flex-grow: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-justify-content: flex-end;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
}

/* remove white bg added by Divi */
#page-container #pennie-header > #pennie-header-main .et_pb_menu {
	background: none;
}

/* make the menu wrapper be full height */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu_inner_container {
	height: 100%;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

/* remove negative margin added by Divi */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et-menu {
	margin: 0;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

/* set color of dropdown menu arrow */
#page-container #pennie-header > #pennie-header-main .et-menu .menu-item-has-children > a:first-child:after {
	color: #4C50E9;
}

/* set style of each menu item */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li {
	position: relative;
	padding: 0;
	font-size: 1.25rem;
	line-height: 1.3em;
	font-weight: 400;
	margin: 0 1.5rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	/* FYI, you can change to align-items: stetch to make anchors full height */
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
/* remove right margin on the last menu item */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li:last-child {
	margin-right: 0;
}
/* IE had issues with this if it wasn't set to block */
body.ie #page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li {
	display: block;
}

/* set anchor styles */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li > a {
	color: #141B4D;
	padding: 0.5rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
	word-wrap: normal;
	font-weight: 500;
	height: 100%;
}
/* if anchor has children, make room for the arrow */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a:first-child {
	padding-right: 1.25rem;
}
/* style hover anchor */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li > a:hover {
	color: #4C50E9;
	opacity: 1;
}
/* style active menu item anchor */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.current-menu-item > a {
	color: #4C50E9;
}

/* if menu item has a header-btn class */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.header-btn {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.header-btn > a {
	background-color: rgba(255,177,0,0.666);
	padding-left: 3rem;
	padding-right: 3rem;
}
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.header-btn > a:hover {
	background-color: rgba(255,177,0,0.333);
}

/* we actually toggle the desktop submenu dropdowns via a jQuery click (which adds a class of desktop-submenu-popped)
 * so, unless that class is added, then we don't want the submenu dropdown to show (which it would, on hover, by default) */

/* if it has children, then make the cursor a pointer */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children {
	cursor: pointer;
}

/* when menu is hovered, don't show default Divi styling, since it should only take affect on toggle click */
body.desktop:not(.et_mobile_device) #page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children.et-show-dropdown {
	box-shadow: none;
}
/* when menu item is showing a dropdown (including if mobile device on desktop... which doesn't seem to trigger the jQuery toggle) */
body.et_mobile_device:not(.desktop) #page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children.et-show-dropdown,
body.desktop:not(.et_mobile_device) #page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children.desktop-submenu-popped {
	box-shadow: inset 0 -4px 0 0 #000058;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

/* force hide the desktop submenu dropdown whether the parent is hovered or not (unless its already popped with class) */
body.desktop:not(.et_mobile_device) #page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children:not(.desktop-submenu-popped) > ul,
body.desktop:not(.et_mobile_device) #page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children:not(.desktop-submenu-popped):hover > ul {
	visibility: hidden;
	opacity: 0;
}

/* if it is popped, then really show it now */
body.desktop:not(.et_mobile_device) #page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children.desktop-submenu-popped > ul,
body.desktop:not(.et_mobile_device) #page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children.desktop-submenu-popped:hover > ul {
	-webkit-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
	opacity: 1;
	visibility: visible;
}

/* sub menu dropdowns */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li ul {
	padding: 15px 0;
	top: 100%;
	left: -20px;
	border: 0;
	-moz-box-shadow: 0 3px 8px rgba(0,0,0,0.1);
	-webkit-box-shadow: 0 8px 5px rgba(0,0,0,0.1);
	box-shadow: 0 3px 8px rgba(0,0,0,0.1);
	width: auto;
}
/* if the first dropdown, then give a bottom border radius */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li > ul {
	border-radius: 0 0 5px 5px;
}
/* sub menu items */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li li {
	padding: 0;
	display: block;
	font-size: 1em;
	line-height: 1.5em;
}
/* sub menu anchors */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li li a {
	padding: 10px 25px;
	width: 100%;
	font-size: 0.875em;
	color: #000058;
	white-space: nowrap;
	opacity: 1;
	font-weight: 500;
}
/* sub menu anchors hover */
#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li ul li a:hover {
	opacity: 1;
	text-decoration: underline;
	color: #4C50E9;
	background-color: transparent;
}

/* Button in Main Header */
#page-container #pennie-header > #pennie-header-main .et_pb_button_module_wrapper {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	margin-left: 3rem;
}
/* the actual anchor */
#page-container #pennie-header > #pennie-header-main .et_pb_button_module_wrapper > a {
	background-color: rgba(255,177,0,0.7);
	color: #141B4D;
	padding: 0.5rem 3rem !important;
	font-weight: 500;
	font-size: 1.25rem;
	line-height: 1.3em !important;
	border: 0;
	border-radius: 0;
	width: auto;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
	word-wrap: normal;
	white-space: nowrap;
}
#page-container #pennie-header > #pennie-header-main .et_pb_button_module_wrapper > a:hover {
	background-color: rgba(255,177,0,0.9) !important;
	color: #141B4D !important;
}

@media (max-width: 1366px) {
	/* reduce tagline size, so it won't wrap too often */
	#page-container #pennie-header #header-tagline {
		font-size: 13px;
		margin-left: 1rem;
		line-height: 1em;
	}
}

@media (max-width: 1198px) {
	/* adjust font size of main menu */
	#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li {
		font-size: 1rem;
		margin: 0 1rem;
	}
	/* reduce header button gaps in nav */
	#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.header-btn > a {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	/* adjust button side gap */
	#page-container #pennie-header > #pennie-header-main .et_pb_button_module_wrapper {
		margin-left: 1.5rem;
	}
	/* reduce button to be same as other nav items */
	#page-container #pennie-header > #pennie-header-main .et_pb_button_module_wrapper > a {
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
		font-size: 1rem;
	}
}

@media (max-width: 980px) {
	/* prevent mobile menu */
	#page-container #pennie-header > #pennie-header-main .et_mobile_nav_menu {
		display: none;
	}
	/* and continue showing desktop menu */
	#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex; 
	}
	#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li {
		margin-left: 0.75rem;
		margin-right: 0;
	}
	/* reduce space for dropdown arrows */
	#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a:first-child {
		padding-right: 1rem;
	}
	#page-container #pennie-header > #pennie-header-main .et_pb_menu .et_pb_menu__menu > nav > ul > li.header-btn > a {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	/* adjust button side gap */
	#page-container #pennie-header > #pennie-header-main .et_pb_button_module_wrapper {
		margin-left: 0.75rem;
	}
	/* reduce button to be same as other nav items */
	#page-container #pennie-header > #pennie-header-main .et_pb_button_module_wrapper > a {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
	/* hide tagline */
	#page-container #pennie-header #header-tagline {
		display: none;
	}
}

@media (max-width: 767px) {
	/* prevent left column from growing, so that the right column will grow to fill the width, so we can try to center the button with that area */
	#page-container #pennie-header > #pennie-header-main > .et_pb_column:first-child {
		flex-grow: 0;
	}
	#page-container #pennie-header #header-logo svg.header-logo-desktop {
		display: none;
	}
	#page-container #pennie-header #header-logo svg.header-logo-mobile {
		display: block;
	}
	/* adjust the height of the main header bar by adjusting top and bottom margins of logo anchor */
	#page-container #pennie-header #header-logo a {
		margin: 15px 0;
	}
	/* when header has the scrolled class, adjust the margins of the logo, which will help reduce the height of the main bar */
	/*
	#page-container #pennie-header.header-scrolled #header-logo a {
		margin: 5px 0;
	}
	*/
	/* hide the header main right column menu on small tablet */
	#page-container #pennie-header > #pennie-header-main > .et_pb_column:last-child .et_pb_menu {
		display: none;
	}
	/* adjust the button module in the rigihit column */
	#page-container #pennie-header > #pennie-header-main .et_pb_button_module_wrapper {
		margin-left: 15px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		-webkit-flex-grow: 1;
		-ms-flex-grow: 1;
		flex-grow: 1;
		-webkit-align-self: center;
		-ms-align-self: center;
		align-self: center;
	}
	/* make button be centered and with radius */
	#page-container #pennie-header > #pennie-header-main .et_pb_button_module_wrapper > a {
		-webkit-flex: 0;
		-ms-flex: 0;
		flex: 0;
		border-radius: 3em;
		font-size: 15px;
		padding: 10px 25px !important;
	}
}

/* MOBILE HAMBURGER TOGGLE */

.hamburger {
	padding: 0 15px;
	display: block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible;
}

/* when hovered, fade out */
.hamburger:hover,
.hamburger.is-active:hover {
	opacity: 0.7; 
}

/* wrapper of the lines */
.hamburger-box {
	width: 40px;
	height: 40px;
	display: block;
	position: relative; 
}

/* inner lines */
.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -2px; 
}

/* by default make the lines pieces be hamburger style */
.hamburger-inner, 
.hamburger-inner::before, 
.hamburger-inner::after {
	width: 40px;
	height: 4px;
	background-color: #000058;
	border-radius: 4px;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease; 
}
.hamburger-inner::before, 
.hamburger-inner::after {
	content: '';
	display: block; 
}
.hamburger-inner::before {
	top: -10px; 
}
.hamburger-inner::after {
	bottom: -10px; 
}

/* set color of lines when active */
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
	background-color: #4C50E9; 
}

/* we set the transition effects of the spin */
.hamburger--spin .hamburger-inner {
	transition-duration: 0.22s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 
}
.hamburger--spin .hamburger-inner::before {
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; 
}
.hamburger--spin .hamburger-inner::after {
	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); 
}

/* when active, turn to an X */
.hamburger--spin.is-active .hamburger-inner {
	transform: rotate(225deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 
}
.hamburger--spin.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; 
}
.hamburger--spin.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); 
}

/* THE MOBILE MENU TOGGLE (code module) */

/* hide the Mobile Menu toggle */
@media (min-width: 768px) {
	#page-container #header-menu-toggle {
		display: none;
	}
}

/* show the Mobile Menu toggle */
@media (max-width: 767px) {
	#page-container #header-menu-toggle {
		display: block;
		margin-right: -15px;
	}
	/* help make the hamburger icon be vertically centered */
	#page-container #header-menu-toggle > .et_pb_code_inner {
		height: 100%;
		display: flex;
	}
}

/* THE MOBILE MENU ROW */

/* push it down, the same height as the mobile header section, and set the height too */
#page-container #pennie-header + #pennie-mobile-menu {
	padding: 0;
	margin: 0;
	right: 0;
	position: fixed;
	top: 104px;
	opacity: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	direction: ltr;
	width: 100%;
	max-width: 100%;
	height: 100%;
	height: calc(100% - 104px);
	visibility: hidden;
	overflow-x: hidden;
	-webkit-transition: all 0.5s ease;
	transition: all 0.4s ease;
	color: white;
	pointer-events: all;
}
/* if has top top bar */
body.et-tb-has-header > .pushr ~ #page-container #pennie-header + #pennie-mobile-menu {
	top: 140px;
	height: calc(100% - 140px);
}

/* adjust position of mobile menu if header is scrolled */
/*
#page-container #pennie-header.header-scrolled + #pennie-mobile-menu {
	top: 84px;
	height: 100%;
	height: calc(100% - 84px);
}
*/
/* if has top top bar and scrolled */
/*
body.et-tb-has-header > .pushr ~ #page-container #pennie-header.header-scrolled + #pennie-mobile-menu {
	top: 120px;
	height: calc(100% - 120px);
}
*/

/* hide the Mobile Menu if the header is full header (just in case the menu was triggered at small size, and the user made screen wider, we still want to hide the menu so it goes away) */
@media (min-width: 768px) {
	#page-container #pennie-header + #pennie-mobile-menu  {
		display: none;
	}
}

/* change menu visibility and bg color when toggled */
#page-container #pennie-header.fullscreen-menu-active + #pennie-mobile-menu {
	z-index: 99998;
	opacity: 0.98;
	visibility: visible;
	background-color: white;
	margin: 0;
	padding: 0;
	font-family: sofia-pro-soft, sans-serif;
}

/* make tweaks to the menu row to adjust width and ensure flex, and push down for height of header rows */
#page-container #pennie-header + #pennie-mobile-menu > .et_pb_row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	direction: ltr;
	padding: 0;
	margin: 0 auto;
	max-width: 1640px;
	width: 100%;
}

/* set default size of column */
/* make the first column be flex to be able to push next content down */
#page-container #pennie-header + #pennie-mobile-menu > .et_pb_row > .et_pb_column {
	margin: 0;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	direction: ltr;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	font-size: 16px;
	line-height: 1.5em;
	background-color: transparent;
	-webkit-transition: transform 0.8s ease, opacity 0.8s ease;
	transition: transform 0.8s ease, opacity 0.8s ease;
	transform: translateX(320px);
	opacity: 0;
}

/* animate (slide) the column when it becomes active */
#page-container #pennie-header.fullscreen-menu-active + #pennie-mobile-menu > .et_pb_row > .et_pb_column {
	transform: translateX(0) !important;
	opacity: 1;
}

/* for the first column, make the first module (text) grow to fill the height, to push down the links */
#page-container #pennie-header + #pennie-mobile-menu > .et_pb_row > .et_pb_column > .et_pb_module:first-child {
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}

/* give bottom margin to create gaps between modules on column of fullscreen menu */
#page-container #pennie-header + #pennie-mobile-menu > .et_pb_row > .et_pb_column > .et_pb_module:not(:last-child) {
	margin-bottom: 1rem;
}

/* the mobile menu Button wrapper */
#page-container #pennie-header + #pennie-mobile-menu > .et_pb_row > .et_pb_column > .et_pb_button_module_wrapper {
	
}
#page-container #pennie-header + #pennie-mobile-menu > .et_pb_row > .et_pb_column > .et_pb_button_module_wrapper > a {
	text-decoration: underline;
	margin: 0 !important;
	border-radius: 0;
	border: 0 !important;
	display: table;
	margin: 0 auto 1rem !important;
	width: auto;
	color: #000058;
	font-weight: 700;
	font-size: 1.125rem !important;
	background: none !important;
}
#page-container #pennie-header + #pennie-mobile-menu > .et_pb_row > .et_pb_column > .et_pb_button_module_wrapper > a:hover {
	color: #4C50E9!important;
	background: none !important;
	border: 0 !important;
}
#page-container #pennie-header + #pennie-mobile-menu > .et_pb_row > .et_pb_column > .et_pb_button_module_wrapper > a::before {
	transition: none;
	margin-top: 2px;
}

/* override the Divi background color on menu items */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu {
	background-color: transparent;
}

/* style menu links */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu a {
	color: #000058;
	padding: 0;
	background-color: transparent;
	display: block;
	width: 100%;
	font-size: inherit;
	border: 0;
	font-weight: 500;
}

#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu a:hover {
	color: #4C50E9;
	opacity: 1;
}

#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu li a:hover {
	text-decoration: underline;
}

/* sub menus are always underlined and purple in mobile menu apparently */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu li li a {
	text-decoration: underline;
	color: #4C50E9;
}

/* ALWAYS show the mobile nav versions */
#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu,
#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu > .mobile_nav > ul.et_mobile_menu {
	display: block !important;
	background-color: transparent !important;
	padding: 0;
	border: 0;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	margin: 0;
	width: 100%;
	position: relative;
	top: 0;
}
/* help make button go to bottom */
#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu > .mobile_nav > ul.et_mobile_menu {
	display: flex !important;
	flex-direction: column;
}
/* but hide the hamburger menu toggle of the Divi mobile menu module, since we don't use this one */
#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu > .mobile_nav > .mobile_menu_bar {
	display: none;
}

/* undo the pointer event for the wrapper of the mobile nav, since its a big anchor that wraps everything */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu a.mobile_nav {
	pointer-events: none;
	height: 100%;
	display: flex;
}
/* 
 * then bring back pointer events on anchors inside it, and the sub menu toggle class, 
 * but ONLY when the menu is active (otherwise the invisible menu is still clickable when overlapping the actual page content) 
 */
#page-container #pennie-header.fullscreen-menu-active + #pennie-mobile-menu .et_pb_menu a.mobile_nav a,
#page-container #pennie-header.fullscreen-menu-active + #pennie-mobile-menu .et_pb_menu a.mobile_nav .sub-menu-toggle {
	pointer-events: all;
}

/* stretch the menu pieces to be full height of the row */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .et_pb_menu_inner_container {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	flex-grow: 1;
	display: flex;
	height: 100%;
}


/* for the FIRST menu set, style it this way */
#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu > .mobile_nav > ul.et_mobile_menu > li {
	font-weight: 400;
	font-size: 26px;
	line-height: 1.2em;
	border-bottom: 1px solid #D6D8D9;
	width: 100%;
}

/* secondary (Sub Menu) of the desktop, which used to only show on hover */
#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu > .mobile_nav > ul.et_mobile_menu > li > ul {
	background-color: transparent !important;
	padding: 0;
}

/* if parent link of child menu is a deadlink, then make it not clickable */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .menu-item-has-children > a[href="#0"] { 
	pointer-events: none;
}

/* - mobile menu toggling elements, injected via jQuery - */

/* make menu list item be relative, to be able to position toggle within this item */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .menu-item-has-children {
	position: relative;	
}
/* the new toggle element, which is added via jQuery */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .sub-menu-toggle {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	line-height: 52px;
	border-radius: 0;
	top: 0;
	left: 0;
	cursor: pointer;
	text-align: right;
	color: #4C50E9;
	transition: all 0.4s ease;
	padding-right: 8%;
}
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .sub-menu-toggle:hover {
	color: #000058;
}
/* the new toggle element when popped */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .sub-menu-toggle.popped {

}
/* toggle icon */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .sub-menu-toggle::before {
	font-family: "ETmodules" !important;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 26px;
	text-transform: none;
	speak: none;
	content: '\f0d7';
	margin-top: 11px;
	display: inline-block;
}
/* toggle icon when triggered */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .sub-menu-toggle.popped::before {
	content: '\f0d8';
}
/* hide sub menus by default and increase z-index so its on top of the toggle layer (otherwise toggle layer covers it) */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .sub-menu-toggle ~ ul.sub-menu {
	display: none !important;
	padding-left: 0;
	position: relative;
	z-index: 2;
}
/* show sub menu when triggered via jQuery toggle, and add slight bg color */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .sub-menu-toggle.popped ~ ul.sub-menu {
	display: block !important;
	padding-bottom: 0.75rem;
}
/* remove sub menu list item left padding, since padding will be on anchors */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu li li {
	padding: 0;
	font-size: 0.75em;
	line-height: 1.2em;
}

/* adjust mobile menu anchors side paddings */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu li a {
	padding: 1.25rem 10%;
}
/* sub menu anchors */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu li li a {
	padding-top: 0.66rem;
	padding-bottom: 0.66rem;
}

/* if mobile menu anchor has toggle, make room for it to fit next to the link */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .menu-item-has-children .sub-menu-toggle + a {
	padding-right: 60px;
}

/* - end mobile menu toggling elements - */

/* undo Divi's default styling of mobile menu links that have children */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu .menu-item-has-children > a {
	font-weight: 500;
}

/* make the current page's mobile menu link be different */
#page-container #pennie-header + #pennie-mobile-menu .et_pb_menu li.current-menu-item > a {
	color: #4C50E9;
}

/* style the header button class in the mobile nav menu */
#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu > .mobile_nav > ul.et_mobile_menu > li.header-btn {
	border: 0;
}

#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu > .mobile_nav > ul.et_mobile_menu > li.header-btn:last-child {
	margin-top: auto;
}

#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu > .mobile_nav > ul.et_mobile_menu > li.header-btn > a {
	margin: 1.75rem 10%;
	box-shadow: 0 0 0 2px rgba(255,177,0,0.666);
	width: auto;
	text-align: center;
	border-radius: 50px;
	font-size: 0.75em;
	padding: 0.75rem 1.5rem;
	position: relative;
	
}
#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu > .mobile_nav > ul.et_mobile_menu > li.header-btn > a:hover {
	box-shadow: 0 0 0 2px rgba(255,177,0,0.333);
}

/* if button is external, add an icon at the end */
#page-container #pennie-header + #pennie-mobile-menu .et_mobile_nav_menu > .mobile_nav > ul.et_mobile_menu > li.header-btn > a[target="_blank"]::after {
	font-family: 'ETModules';
	content: '\00a0\f08e';
	font-weight: normal;
	position: absolute;
	font-size: 15px;
	margin-top: 4px;
	margin-left: -2px;
}

@media (max-width: 479px) {
	#page-container #pennie-header + #pennie-mobile-menu > .et_pb_row > .et_pb_column {
		font-size: 18px;
	}
}

@media (max-height: 540px) {

}

@media (max-height: 320px) {
	#page-container #pennie-header + #pennie-mobile-menu > .et_pb_row > .et_pb_column {
		font-size: 15px;
	}
}

/* -- END CUSTOM HEADER -- */


/* -- REGULAR DIVI HEADER STUFF -- */

/* keep header fixed on mobile too */
.et_fixed_nav #main-header {
	position: fixed;
}

/* make top header wider than rest of site */
#top-header>.container,
#main-header>.container {
	max-width: 1520px;
}

/* override Divi's bolder font weight */
#top-header .container {
	font-weight: 400;
}

/* helps logo to not be pixelated when scaled down */
#logo {
	-webkit-transform: none !important;
	transform: none !important;
}

/* tweak logo size in regular header */
#main-header #logo {
	max-width: 180px;
	height: auto;
	max-height: 100%;
}

@media (max-width: 980px) {
	#main-header #logo {
		max-width: 157px;
	}
}

/* when mobile menu is open, change hamburger icon to x icon */
#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
}

/* makes sub sub menu icon be right arrow instead of down arrow */
#top-menu .menu-item-has-children .menu-item-has-children > a:first-child::after, 
#et-secondary-nav .menu-item-has-children .menu-item-has-children > a:first-child::after {
	content: '5';	
}

/* if parent link of child menu is a deadlink, then make it not clickable */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children > a[href="#0"] { 
	pointer-events: none;
}

/* - mobile menu toggling elements, injected via jQuery - */

/* make menu list item be relative, to be able to position toggle within this item */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children {
	position: relative;	
}
/* the new toggle element, which is added via jQuery */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle {
	position: absolute;
	background-color: rgba(0,0,0,0.03);
	z-index: 1;
	width: 36px;
	height: 36px;
	line-height: 36px;
	border-radius: 50%;
	top: 4px;
	right: 4px;
	cursor: pointer;
	text-align: center;
}
/* the new toggle element when popped */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle.popped {
	background-color: rgba(0,0,0,0.1);
}
/* toggle icon */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle::before {
	font-family: "ETmodules" !important;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 36px;
	font-size: 24px;
	text-transform: none;
	speak: none;
	content: '\33';
}
/* toggle icon when triggered */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle.popped::before {
	content: '\32';
}
/* hide sub menus by default */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle ~ ul.sub-menu {
	display: none !important;
	padding-left: 0;
}
/* show sub menu when triggered via jQuery toggle, and add slight bg color */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle.popped ~ ul.sub-menu {
	display: block !important;
	background-color: rgba(0,0,0,0.03);
}
/* remove sub menu list item left padding, since padding will be on anchors */
#main-header #mobile_menu.et_mobile_menu li li {
	padding-left: 0;
}

/* adjust mobile menu anchors side paddings */
#main-header #mobile_menu.et_mobile_menu li a {
	padding-left: 20px;
	padding-right: 20px;
}
/* indent sub menu */
#main-header #mobile_menu.et_mobile_menu li li a {
	padding-left: 40px;
	padding-right: 20px;
}
/* indent sub sub menus further */
#main-header #mobile_menu.et_mobile_menu li li li a {
	padding-left: 60px;
	padding-right: 20px;
}
/* if mobile menu anchor has toggle, make room for it to fit next to the link */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children .sub-menu-toggle + a {
	padding-right: 44px;
}

/* - end mobile menu toggling elements - */

/* undo Divi's default styling of mobile menu links that have children */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children > a {
	background-color: transparent;
	font-weight: inherit;
}

/* make the current page's mobile menu link be different */
#main-header #mobile_menu.et_mobile_menu li.current-menu-item > a {
	font-weight: bolder;
}

/* -- END REGULAR DIVI HEADER -- */


/* -- FOOTER -- */

#main-footer {
	border-top: 10px solid #4C50E9;
	padding-top: 80px;
	padding-bottom: 80px;
}

#main-footer > .container {
	max-width: 1520px;
}

/* remove padding that Divi adds to the all widgets wrapper */
#main-footer #footer-widgets {
	padding-top: 0;
	padding-bottom: 0;
}

/* remove margins on each footer column */
#main-footer #footer-widgets .footer-widget {
	margin-bottom: 0;
}

/* adjust gaps below each widget */
#main-footer #footer-widgets .footer-widget .fwidget {
	margin-bottom: 2rem !important;
	float: none;
}
/* but if its the last widget in a column, then don't add the bottom margin */
#main-footer #footer-widgets .footer-widget .fwidget:last-child {
	margin-bottom: 0 !important;
}

/* remove excess margin at bottom of last list item within a widget (usually a menu item) */
#footer-widgets #footer-widgets .footer-widget li:last-child {
	margin-bottom: 0;
}

/* - Menus and Anchors - */

/* give footer anchors a transition */
#main-footer #footer-widgets .footer-widget a {
	transition: all 0.4s ease;	
}

/* footer anchors on hover */
#main-footer #footer-widgets .footer-widget a:hover {
    color: #383BA8;
}

/* reduce the line height of menu items */
#main-footer #footer-widgets .footer-widget .widget_nav_menu ul {
	line-height: 1.4em;	
}

/* adjust the gap between menu items */
#main-footer #footer-widgets .footer-widget .widget_nav_menu li {
	padding: 0;
	margin-bottom: 1.5em;
}
#main-footer #footer-widgets .footer-widget .widget_nav_menu li:last-child {
	margin-bottom: 0;
}

/* remove the bullet circle that Divi adds */
#main-footer #footer-widgets .footer-widget .widget_nav_menu li:before {
	display: none;
}

/* underline menu items in footer */
#main-footer #footer-widgets .footer-widget .widget_nav_menu li a {
	text-decoration: underline;
}

/* -- 1st Column -- */

/* - Footer Logo - */

/* if there is an image in the footer, adjust its max width */
#main-footer .footer-widget:first-child > .widget_media_image img {
	width: 100%;
	max-width: 200px !important;
}

/* logo anchor */
#main-footer .footer-widget .footer-logo a {
	display: table;
}

/* logo svg, we set the width and height here */
#main-footer .footer-widget .footer-logo svg {
	display: block;
    width: 140px;
    height: 44px;
}

/* the text widget after the logo */
#main-footer #footer-widgets .footer-widget:nth-child(1) .fwidget.widget_custom_html:first-child + .fwidget.widget_text {
	color: #000000;
	margin-top: -1rem;
	margin-bottom: 3.5rem !important;
}

/* the widget ID that wraps the 3 buttons, we set to table, so its only as wide as the content within it, which helps us make each button the same width */
#main-footer .footer-widget:nth-child(1) .fwidget#text-4 {
	display: table;
}

#main-footer #footer-widgets .footer-widget a.footer-btn {
	display: table;
	padding: 0.9rem 1.4rem 1.1rem;
	color: white;
	background-color: #4C50E9;
	border-radius: 3rem;
	position: relative;
	transition: all 0.4s ease;
	font-size: 17px;
	font-weight: bold;
	text-align: center;
}
#main-footer #footer-widgets .footer-widget a.footer-btn:hover {
	background-color: #383BA8;
}

#main-footer #footer-widgets .footer-widget a.footer-btn[href^="tel:"]::before,
#main-footer #footer-widgets .footer-widget a.footer-btn[href^="mailto:"]::before,
#main-footer #footer-widgets .footer-widget a.footer-btn.footer-btn-schedule::before,
#main-footer #footer-widgets .footer-widget a.footer-btn.footer-btn-mail::before {
	font-family: 'ETModules';
	width: 24px;
	margin: -2px 8px 0 0;
	display: inline-block;
	color: white;
	/* set font size helps make icon sharper */
	font-size: 18px;
	font-weight: normal;
	vertical-align: middle;
	line-height: 0;
}

#main-footer #footer-widgets .footer-widget a.footer-btn[href^="tel:"]::before {
	content: '\f095';
}
#main-footer #footer-widgets .footer-widget a.footer-btn[href^="mailto:"]::before {
	content: '\f0e0';
}
#main-footer #footer-widgets .footer-widget a.footer-btn.footer-btn-mail::before {
	content: '\f0e0'
}
#main-footer #footer-widgets .footer-widget a.footer-btn.footer-btn-schedule::before {
	content: '\ec39'
}

/* if the button is indeed in the #text-4 widget (which it should be), then lets adjust the widths so they all fill the max width of the wrapper */
#main-footer .footer-widget:nth-child(1) .fwidget#text-4 a.footer-btn {
	display: block;
	width: 100%;
}

/* -- 2nd Column -- */

/* - Menu - */

/* make this menu a little larger in font size */
#main-footer .footer-widget:nth-child(2) .widget_nav_menu,
#main-footer .footer-widget:nth-child(2) .widget_nav_menu li,
#main-footer .footer-widget:nth-child(2) .widget_nav_menu li a {
	font-size: 18px;
	font-weight: 600;
}

@media (max-width: 366px) { 
	#main-footer .footer-widget:nth-child(2) .widget_nav_menu,
	#main-footer .footer-widget:nth-child(2) .widget_nav_menu li,
	#main-footer .footer-widget:nth-child(2) .widget_nav_menu li a {
		font-size: 15px;
	}
}

/* the title of the menu widget */
#main-footer .footer-widget:nth-child(2) .widget_nav_menu > .title {
    font-family: inherit;
    font-weight: 700;
    font-size: 17px !important;
	padding-bottom: 1.5rem;
}

/* add external link icon if opens in a new tab */
#main-footer .footer-widget:nth-child(2) .widget_nav_menu li a[target="_blank"]::after {
	font-family: 'ETModules';
	content: '\00a0\f08e';
	font-weight: normal;
	position: absolute;
	font-size: 15px;
	margin-top: 4px;
	margin-left: -2px;
}
/* but on IE and Edge, we need to undo the position absolute, since it keeps it underlined and looking weird */
body.ie #main-footer .footer-widget:nth-child(2) .widget_nav_menu li a[target="_blank"]::after,
body.edge #main-footer .footer-widget:nth-child(2) .widget_nav_menu li a[target="_blank"]::after {
	position: relative;
}


/* - Jetpack Social - */

/* if the Jetpack widget comes after the menu widget, increase the gap between the two */
#main-footer .footer-widget:nth-child(2) .widget_nav_menu + .jetpack_widget_social_icons {
	margin-top: 3rem;
}

/* remove excess margin */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons ul {
	margin: 0;
}

/* set the gap between icons */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li {
	padding: 0 30px 0 0;
}

/* last icon doesn't need right padding */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li:last-child {
	padding-right: 0;
}

/* icon anchors */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a {
	transition: all 0.4s ease;
	position: relative;
}

/* on hover, show the screen reader text */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a>span.screen-reader-text {
	transform: translate(50%, 10px);
	transition: transform 0.4s ease, opacity 0.4s ease;
	opacity: 0.1;
}
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a:hover>span.screen-reader-text {
	clip: unset;
	clip-path: none;
	height: auto;
	margin: 0;
	overflow: unset;
	width: auto;
	color: white;
	bottom: 100%;
	right: 50%;
	transform: translate(50%, -5px);
	background: #000058;
	border-radius: 3px;
	font-size: 12px;
	display: block;
	padding: 6px;
	letter-spacing: 0.5px;
	opacity: 1;
}

/* change icon from Jetpack SVG to FontAwesome pseudo */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a::before {
	font-family: 'ETModules';
	content: '';
	width: 32px;
	height: 32px;
	line-height: 32px;
	display: block;
	font-size: 28px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	color: #4C50E9;
	font-weight: normal;
	transition: all 0.4s ease;
}
/* icon color on hover */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a:hover::before {
	color: rgba(255,177,0,1);
}
/* swap facebook icon */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a[href*="facebook.com"]::before {
	content: '\e093';
}
/* swap instagram icon */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a[href*="instagram.com"]::before {
	content: '\e09a';
}
/* swap linkedin icon */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a[href*="linkedin.com"]::before {
	content: '\e09d';
}
/* swap twitter icon */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a[href*="twitter.com"]::before {
	content: '\e094';
}
/* now hide the SVG icon versions */
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a[href*="facebook.com"] svg.icon,
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a[href*="instagram.com"] svg.icon,
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a[href*="linkedin.com"] svg.icon,
#main-footer #footer-widgets .footer-widget .jetpack_widget_social_icons li a[href*="twitter.com"] svg.icon {
	opacity: 0;
}

/* -- 3rd Column -- */

/* reduce font size on third column */
#main-footer .footer-widget:nth-child(3),
#main-footer .footer-widget:nth-child(3) li,
#main-footer .footer-widget:nth-child(3) li a {
	font-size: 14px;
	line-height: 1.4em;
	color: #535558;
}
#main-footer #footer-widgets .footer-widget:nth-child(3) li a:hover {
	color: #4c50e9;
}

/* add external link icon if opens in a new tab */
#main-footer .footer-widget:nth-child(3) .widget_nav_menu li a[target="_blank"]::after {
	font-family: 'ETModules';
	content: '\00a0\f08e';
	font-weight: normal;
	position: absolute;
	font-size: 13px;
	margin-top: 3px;
	margin-left: -2px;
}
/* but on IE and Edge, we need to undo the position absolute, since it keeps it underlined and looking weird */
body.ie #main-footer .footer-widget:nth-child(3) .widget_nav_menu li a[target="_blank"]::after,
body.edge #main-footer .footer-widget:nth-child(3) .widget_nav_menu li a[target="_blank"]::after {
	position: relative;
}

/* -- Changes based on widths -- */

@media (max-width: 1024px) {
	#main-footer {
		padding: 0;
	}
	#main-footer > .container {
		width: 100%;
	}
	/* columns are stacked and we add padding to each one, since we took it off of the overall footer */
	#main-footer #footer-widgets .footer-widget {
		padding: 10%;
		border-bottom: 1px solid #D6D8D9;
		margin: 0 !important;
		width: 100% !important
	}
	#main-footer #footer-widgets .footer-widget:last-child {
		border-bottom: 0;
	}
	/* make the second menu smaller font size on mobile */
	#main-footer .footer-widget:nth-child(2) .widget_nav_menu,
	#main-footer .footer-widget:nth-child(2) .widget_nav_menu > .title {
		font-size: 1rem;
	}
}

/* smaller desktop size, adjust the columns in the footer */
@media (min-width: 1025px) {
	body.et_pb_footer_columns3 #main-footer .footer-widget {
		width: 30%;
		margin-right: 5%;
	}
	body.et_pb_footer_columns3 #main-footer .footer-widget:last-child {
		margin-right: 0;
	}
}

/* large desktop size, adjust the columns in the footer */
@media (min-width: 1405px) {
	body.et_pb_footer_columns3 #main-footer .footer-widget {
		width: 22.5%;
		margin-right: 12.5%;
	}
	body.et_pb_footer_columns3 #main-footer .footer-widget:first-child {
		width: 30%;
	}
	body.et_pb_footer_columns3 #main-footer .footer-widget:last-child {
		margin-right: 0;
	}
}

/* -- Bottom Bar -- */

#footer-bottom {
	padding: 0;
}

#freshy_copyright span {
	display: inline-block;
	line-height: 1.5em;
}

/* vertical pipe divider */
#freshy_copyright span.copyright_via {
	width: 33.33333%;
	height: 1px;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
	background: rgba(255,255,255,0.25);
	vertical-align: middle;
	margin: 10px auto 15px;
	display: block;
}

#freshy_copyright a.copyright_fs {
	display: block;
	vertical-align: middle;
	width: 42px;
	height: 20px;
	background-image: url("/wp-content/uploads/fs-lettermark-white.svg");
	background-repeat: no-repeat;
	background-size: 42px 20px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 0 auto;
}

/* fix if using Impreza to remove underline */
#freshy_copyright a:hover {
	border: 0 !important;
}

@media (min-width: 600px) {
	/* vertical pipe divider */
	#freshy_copyright span.copyright_via {
		width: 1px;
		height: 20px;
		margin: 0 10px;
		display: inline-block;
	}
	#freshy_copyright a.copyright_fs {
		display: inline-block;
	}
}


@media (max-width: 980px) {
	#footer-bottom .et-social-icons li:first-child {
		margin-left: 0;
	}
}

/* -- END FOOTER -- */


/* -- RESPONSIVE -- */

/* do for mobile */
@media screen and (max-width: 767px) {
	/* hide on mobile */
	.hide-mobile {
		display: none;
	}
}

/* do for desktop */
@media screen and (min-width: 768px) {
	/* hide on desktop */
	.hide-desktop {
		display: none;
	}
}

/* -- END RESPONSIVE -- */


/* -- CHECKLIST -- */

.checklist ul {
	margin: 0;
	padding: 0 !important;
	list-style: none;
}

.checklist ul li {
	position: relative;
	padding-left: 30px;
	margin: 0 0 6px !important;
}

.checklist-columns-2 ul li,
.checklist-columns-3 ul li,
.checklist-columns-4 ul li {
	margin-bottom: 30px !important;
}

@media (max-width: 638px) {
	.checklist-columns-2 ul li,
	.checklist-columns-3 ul li,
	.checklist-columns-4 ul li {
		margin-bottom: 20px !important;
	}
	.checklist-columns-2 ul li:last-child,
	.checklist-columns-3 ul li:last-child,
	.checklist-columns-4 ul li:last-child {
		margin-bottom: 0 !important;
	}
}

/* create columns of list items with this class */
@media (min-width: 639px) {
	.checklist-columns-2 ul::after,
	.checklist-columns-3 ul::after,
	.checklist-columns-4 ul::after {
		content: '';
		clear: both;
		display: table;
	}
	.checklist-columns-2 ul li,
	.checklist-columns-3 ul li,
	.checklist-columns-4 ul li {
		float: left;
		width: 50%;
		padding-right: 30px;
	}
	.checklist-columns-2 ul li:nth-child(odd),
	.checklist-columns-3 ul li:nth-child(odd),
	.checklist-columns-4 ul li:nth-child(odd){
		clear: both;	
	}
	.checklist-columns-2-alt > ul,
	.checklist-columns-3-alt > ul,
	.checklist-columns-4-alt > ul {
		-moz-column-count: 2;
		-moz-column-gap: 8px;
		-webkit-column-count: 2;
		-webkit-column-gap: 8px;
		column-count: 2;
		column-gap: 20px;
	}
	.checklist-columns-2-alt ul li,
	.checklist-columns-3-alt ul li,
	.checklist-columns-4-alt ul li {
		break-inside: avoid-column;
	}
}
@media (min-width: 981px) {
	.checklist-columns-3 ul li,
	.checklist-columns-4 ul li {
		float: left;
		width: 33.333333%;
	}
	.checklist-columns-3 ul li:nth-child(odd),
	.checklist-columns-4 ul li:nth-child(odd) {
		clear: none;	
	}
	.checklist-columns-3 ul li:nth-child(3n+1),
	.checklist-columns-4 ul li:nth-child(3n+1) {
		clear: both;	
	}
	.checklist-columns-3-alt ul,
	.checklist-columns-4-alt ul {
		-moz-column-count: 3;
		-webkit-column-count: 3;
		column-count: 3;
	}
}
@media (min-width: 1199px) {
	.checklist-columns-4 ul li {
		float: left;
		width: 25%;
	}
	.checklist-columns-4 ul li:nth-child(odd) {
		clear: none;	
	}
	.checklist-columns-4 ul li:nth-child(3n+1) {
		clear: none;	
	}
	.checklist-columns-4 ul li:nth-child(4n+1) {
		clear: both;	
	}
	.checklist-columns-4-alt ul {
		-moz-column-count: 4;
		-webkit-column-count: 4;
		column-count: 4;
	}
}

.checklist ul li::before {
	font-family: 'ETModules';
	content: '\f058';
	width: 20px;
	margin: 0;
	display: inline-block;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	color: #4C50E9;
	/* set font size helps make icon sharper */
	font-size: 22px;
	font-weight: normal;
}

.pluslist ul li::before {
	content: '\f055';
}
.eventlist ul li::before {
	content: '\f274';
}
.locationlist ul li::before {
	content: '\f041';
}
.externallist ul li::before {
	content: '\f14c';	
}
.pdflist ul li::before {
	content: '\f1c1';
	color: red;
}
.userlist ul li::before {
	content: '\f2c0';
}

/* -- END CHECKLIST -- */


/* -- DIVI HACKS -- */

/* make parallax image be centered at the start */
.et_parallax_bg {
	background-position: center center;	
}

/* Divi was turning off bottom padding on last paragraphs, when it should be only if it's the last child */
p:last-of-type,
p:not(.has-background):last-of-type {
	padding-bottom: 1em;
}
p:last-child,
p:not(.has-background):last-child {
	padding-bottom: 0;
}

/* if there are more than one paragraphin the Fullwidth Header module, they should have padding */
.et_pb_fullwidth_header p:not(:last-child) {
	padding-bottom: 1em;
}

/* -- END DIVI HACKS -- */


/* -- TESTIMONIALS PLUGIN -- */

/* flip quote so it's an opening quote icon for grid and slider versions */
.b3_archive_testimonials_grid article .b3_quote.grid_quote::before,
.et_pb_module.et_pb_testimonial_slider .et_pb_slides_testi::before {
	-moz-transform: scale(-1,-1);
	-o-transform: scale(-1,-1);
	-webkit-transform: scale(-1,-1);
	transform: scale(-1,-1);
}

/* -- END TESTIMONIALS PLUGIN -- */


/* -- GRAVITY FORMS -- */

/* partially due to Surbma's restyling of the form, 
there now apepars to be excess margin above fields at certain screen sizes,
when two or more inputs have errors side by side (hence the + in the CSS),
so let's remove that top gap */
@media only screen and (max-width: 761px), (max-device-width: 1023px) and (min-device-width: 768px) {
	.gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error+li.gfield.gfield_error {
		margin-top: 0;
	}
}

/* we swap out form ajax spinner via PHP Function, and add spinning if its PNG */
img.gform_ajax_spinner[src$=".png"] {
	-webkit-animation: lime-spin 1.5s linear infinite;
	-moz-animation: lime-spin 1.5s linear infinite;
	animation: lime-spin 1.5s linear infinite;
	padding: 0;
	margin-left: 10px;
}
.gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label img.gform_ajax_spinner[src$=".png"] {
    position: absolute;
    left: 100%;
    top: 50%;
    margin-top: -8px;
}
@-moz-keyframes lime-spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes lime-spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes lime-spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

/* fix for when Date Picker is used */
#ui-datepicker-div:empty {
	margin-top: 0;	
}

/* confirmation (success) message */
.gform_confirmation_wrapper .gform_confirmation_message {
	font-size: 1.2rem;
	line-height: 1.5em;
	padding: 2rem;
	background: rgba(90, 90, 90, 0.1);
	text-align: center;
}

/*updates form*/
.updated-section .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
.updated-section .gform_wrapper textarea.textarea, .updated-section div.form_saved_message div.form_saved_message_emailform form input[type=text] {
    background-color: #fff;
    border: 1px solid #9FA1FF;
    font-size: 19px;
    color: #000058;
    padding: 16px;
    line-height: initial;
    height: initial;
    border-radius: 6px 0px 0px 6px;
	font-family: sofia-pro-soft, sans-serif;
	line-height: 1.5em;
	font-weight: 500;
	letter-spacing: 0.5px;
	font-size: 19px!important;
	border-right: none;
	margin-top: 0px;
	margin-bottom: 0px;
}
.updated-section label.gfield_label {
	color: #000058;
	font-family: sofia-pro-soft, sans-serif;
	line-height: 1.5em;
	font-weight: 500;
	letter-spacing: 0.5px;
}
.updated-section .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    background-color: white;
    width: 70px!important;
    padding: 0px 20px 0px!important;
    border: 1px solid #9FA1FF;
    border-radius: 0px 6px 6px 0px;
    border-left: none;
	overflow:visible;
}
.updated-section li#field_2_4 {
    padding-right: 0px;
}
.updated-section .gform_wrapper form.gf_simple_horizontal div.gform_body {
    width: 440px!important;
}

.updated-section li#field_2_5 {
    display: none;
}

.updated-section input#gform_submit_button_2 {
	font-family: sofia-pro, sans-serif;
	line-height: 1.5em;
	font-weight: 800;
	letter-spacing: 0.5px;
	font-size:16px;
	width: 122px;
	margin-top: 0;
    padding-bottom: 10px;
}

@media only screen and (max-width: 641px){
	.updated-section .gform_wrapper form.gf_simple_horizontal div.gform_body, 
	.updated-section .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    	display: contents;
    	vertical-align: middle;
    	margin: 0;
    	padding: 0;
		position: relative;
	}
	.updated-section li#field_2_4 {
		margin-top:0px;
	}
	.updated-section .ginput_container.ginput_container_email {
		margin-top:0px!important;
	}
	.updated-section .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    	padding: 20px 10px 0px 0px!important;
	}
	input#gform_submit_button_2 {
    	width: 100%!important;
    	margin-top: 25px!important;
    	padding-bottom: 14px!important;
    	padding-top: 10px;
	}
	.updated-section input#gform_submit_button_2 {
		font-size:17px;
	}
	.updated-section .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
	.updated-section .gform_wrapper textarea.textarea, .updated-section div.form_saved_message div.form_saved_message_emailform form input[type=text] {
    	border-radius: 6px;
    	font-size: 19px!important;
    	margin-top: 0px;
    	text-align: center;
		border-right:1px solid #9FA1FF;
	}
}
@media only screen and (max-width: 385px){
	.updated-section .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
	.updated-section .gform_wrapper textarea.textarea, .updated-section div.form_saved_message div.form_saved_message_emailform form input[type=text] {
		font-size: 15px!important;
	}
}

.updated-section div#validation_message_2_4 {
    display: none;
}
.updated-section .gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
.updated-section .gform_wrapper li.gfield_error textarea {
    margin-bottom: 0px;
}


/*connect gravity form*/
div#gform_wrapper_1 label.gfield_label, 
div#gform_wrapper_1 legend.gfield_label {
    font-weight: 400;
    font-size: 17px;
	color: #383A3E;
}
div#gform_wrapper_1 input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
body div#gform_wrapper_1 textarea.textarea, 
body .gform_wrapper form div.ginput_container_select select,
body div#gform_wrapper_1 div.form_saved_message div.form_saved_message_emailform form input[type=text] {
    background-color: white;
    font-size: 16px;
    color: #000058;
	border: 1px solid #4C50E9;
    border-radius: 8px;
	padding: 28px;
}


/* tweak style of select */
body .gform_wrapper form div.ginput_container_select {
	position: relative;
}

/* remove unwanted styling */
body .gform_wrapper form div.ginput_container_select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	min-height: 80px;
}

/* remove the arrow from IE */
body .gform_wrapper form div.ginput_container_select select::-ms-expand {
  display: none;
}

/* add the arrow */
body .gform_wrapper form div.ginput_container_select::after{
	font-family: 'ETModules';
	content: '\f0d7';
	font-size: 22px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 15px;
	color: #4C50E9;
	pointer-events: none;
}

/* tweak ajax spinner on this form, so that it is vertically aligned, and then on mobile it will become over the button itself */
body #gform_wrapper_1 .gform_footer {
	position: relative;
}
body #gform_wrapper_1 .gform_footer img.gform_ajax_spinner[src$=".png"] {
	top: 50%;
	right: 20px;
	position: absolute;
	pointer-events: none;
}

body #gform_wrapper_1 input#gform_submit_button_1 {
    float: left;
	font-size: 17px;
	width:210px;
	padding: 10px 0px 15px 0px!important;
}

@media screen and (min-width: 981px) {
	body .gform_wrapper form textarea.textarea {
    	height: 290px;
	}
}

@media screen and (max-width: 980px) {
	body .gform_wrapper form textarea.textarea {
    	height: 200px;
	}
	body #gform_wrapper_1 input#gform_submit_button_1 {
    	font-size: 16px!important;
    	height: 60px;
	}
}

@media screen and (max-width: 479px) {
	div#gform_wrapper_1 input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
	body div#gform_wrapper_1 textarea.textarea, 
	body .gform_wrapper form div.ginput_container_select select,
	body div#gform_wrapper_1 div.form_saved_message div.form_saved_message_emailform form input[type=text] {
		padding: 18px;
	}
	body .gform_wrapper form div.ginput_container_select select {
		min-height: 60px;
		padding-right: 28px;
	}
	body #gform_wrapper_1 input#gform_submit_button_1 {
    	width: 100%!important;
	}
}

/* -- END GRAVITY FORMS -- */


/* -- HELPERS -- */

/* use the "fullwidth-section" class on a SECTION to make a "standard" SECTION truly be fullwidth 
(NOTE: the SECTION needs THIS class) */
.fullwidth-section.et_pb_section {
	padding: 0;
}
.fullwidth-section.et_pb_section > .et_pb_row {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0;
}

/* use the "fullwidth-row" class on a SECTION to make a "full width" ROW truly be fullwidth 
(NOTE: the ROW module settings needs to be Gutter Width 1, and the SECTION needs THIS class,
and unlike the class above, THIS class will auto-add padding to the columns) */
.fullwidth-row.et_pb_section {
	padding: 0;	
}
.fullwidth-row.et_pb_section .et_pb_row {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* helps add padding to each column */
.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column {
	padding: 50px 10%;
}
@media (min-width: 767px) {
	.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column {
		padding: 80px 6%;
	}
}
/* for some reason Divi removes bottom margin from modules if in column with no gutters, 
so we need to add margins back */
.fullwidth-row.et_pb_section .et_pb_row.et_pb_gutters1 > .et_pb_column .et_pb_module:not(:last-child) {
	margin-bottom: 30px;
}
@media (min-width: 981px) {
	.fullwidth-row.et_pb_section .et_pb_row.et_pb_gutters1 > .et_pb_column_2_3 .et_pb_module:not(:last-child) {
		margin-bottom: 4.242%;
	}
	.fullwidth-row.et_pb_section .et_pb_row.et_pb_gutters1 > .et_pb_column_1_3 .et_pb_module:not(:last-child) {
		margin-bottom: 9.27%;
	}	
}
/* reduce gap between toggles if in fullwidth row */
.fullwidth-row.et_pb_section .et_pb_row.et_pb_gutters1 > .et_pb_column .et_pb_module.et_pb_toggle:not(:last-child) {
	margin-bottom: 3px;
}

/* -- END HELPERS -- */

/* -- BLOG -- */

/* sidebar recent posts */
.et_pb_widget.widget_recent_entries ul li  {
	margin-bottom: 1em;
}

/* sidebar recent posts dates */
.et_pb_widget.widget_recent_entries ul li span.post-date {
	display: table;
	font-size: 0.85em;
}

/* -- END BLOG -- */


/* --- GENERAL SITE CSS --- */

/*Vertically align content*/
.ds-vertical-align {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media screen and (min-width: 981px) {
    .vertical-align-row {
        display: flex;
    }
}

/*Vertically align content to bottom*/
.bottom-align{	
	margin: auto auto 0;
}
/*put in column*/
.move-bottom {
	display: flex;
	flex-flow: column;
}
.module-bottom {
	margin-top: auto;
}

@media all and (max-width: 980px) {
/*** wrap row in a flex box ***/
.custom_row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
-webkit-flex-wrap: wrap; /* Safari 6.1+ */
flex-wrap: wrap;
}

/*** custom classes that will designate the order of columns in the flex box row ***/
.first-on-mobile {
-webkit-order: 1;
order: 1;
}

.second-on-mobile {
-webkit-order: 2;
order: 2;
}

.third-on-mobile {
-webkit-order: 3;
order: 3;
}

.fourth-on-mobile {
-webkit-order: 4;
order: 4;
}
/*** add margin to last column ***/
.custom_row:last-child .et_pb_column:last-child {
margin-bottom: 30px;
}

}



/*buttons*/

a.et_pb_button {
    	width: 210px;
    	text-align: center;
	}
@media screen and (min-width: 1025px) {
	a.et_pb_button {
    	width: 230px;
    	text-align: center;
	}
}
.width-button a.et_pb_button {
    padding: 10px 0px 15px 0px!important;
}
.width-button a.et_pb_button:hover {
    padding: 10px 0px 15px 0px!important;
}
@media screen and (max-width: 1083px) and (min-width: 981px) {
	.width-button  a.et_pb_button{
    	max-width: 410px!important;
	}
}
a.full-button {
	width:325px;
}
a.shop-plans-button {
	width:325px;
}
@media screen and (max-width: 479px) {
	.width-button a.et_pb_button {
    	width: 100%;
	}
	.full-button {
		width:320px;
	}
	a.shop-plans-button {
		width:100%!important;
	}
}
/*individuals & family page header button */
@media screen and (max-width: 324px) {
	a.find-button {
		font-size:16px!important;
	}
}
/* --- BREADCRUMBS --- */
.et_pb_dmb_breadcrumbs li .db014_custom_hover_icon {
    margin-right: 1px;
    margin-left: -5px;
}

.db014_custom_hover_icon {
    max-width: 12px !important;
    max-height: 12px !important;
}

.et_pb_module.et_pb_dmb_breadcrumbs li[data-icon]:before {
	content: '/';
	font-family: inherit;
}

/*make 'learn' not clickable*/
.parent-pageid-569 .et_pb_dmb_breadcrumbs_1.et_pb_dmb_breadcrumbs li a,  .single-mec-events .et_pb_dmb_breadcrumbs_1.et_pb_dmb_breadcrumbs li a, .parent-pageid-583 .et_pb_dmb_breadcrumbs_1.et_pb_dmb_breadcrumbs li a{
	pointer-events: none;
   	cursor: default;
}

/*pages with no breadcrumbs*/
.page-id-2506 div#db_breadcrumbs_header, .page-id-2613 div#db_breadcrumbs_header {
	display:none;
}


/* --- PASSWORD PAGE --- */
.pda-form-login label:before {
  content: "Proprietary & Confidential";
}

/* -- KEY DATES TO REMEMBER & STAY UPDATED SECTIONS -- */

.enrollment-period h3,
.updated-section h2,
.updated-section h3 {
	font-size: 28px !important;
	line-height: 1em !important;
}
@media (min-width: 767px) {
	.enrollment-period h3,
	.updated-section h2,
	.updated-section h3 {
		font-size: 32px !important;
	}
}
@media (min-width: 981px) {
	.enrollment-period h3,
	.updated-section h2,
	.updated-section h3 {
		font-size: 32px !important;
	}
}
@media (min-width: 1405px) {
	.enrollment-period h3,
	.updated-section h2,
	.updated-section h3 {
		font-size: 32px !important;
	}
}


/* --- HOMEPAGE --- */

/* key-dates-home */

#key-dates-home h2 {
	font-size: 44px!important;
	line-height: 44px;
}

#key-dates-home .save-the-dates-home h3 {
	font-family: sofia-pro-soft, sans-serif;
	line-height: 1.5em;
	font-weight: 700;
	letter-spacing: 0.5px;
	font-size: 19px !important;
}

/* Coverage That Works */

.coverage-bottom-heading h4 {
	font-family: sofia-pro, sans-serif;
	font-size: 20px !important;
}

@media (min-width: 981px) {
	#key-dates-home h2 {
		font-size: 36px!important;
		line-height: 40px;
	}
	.coverage-bottom-heading h4 {
		font-size: 24px !important;
	}
}

@media (min-width: 1405px) {
	#key-dates-home h2 {
		font-size: 50px!important;
		line-height: 55px;
	}
	.coverage-bottom-heading h4 {
		font-size: 30px !important;
	}
}

.center-blurb .et_pb_blurb_container {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

/*phone and email blurbs*/
.contact-blurb .et_pb_blurb_container {
    padding-left: 0px;
}
.contact-blurb span.et_pb_image_wrap {
    margin-top: 6px!important;
	margin-left: 5px;
}
.schedule-blurb span.et_pb_image_wrap {
    margin-top: 4px!important;
    margin-left: 0px;
}
@media screen and (max-width: 767px) {
	.schedule-blurb span.et_pb_image_wrap {
    	padding-right: 5px;
	}
}
@media screen and (max-width: 1083px) and (min-width: 981px) {
	.contact-width-button {
    	max-width: 580px!important;
	}
	.teal-section .contact-width-button .et_pb_blurb{
		padding-right: 15px!important;
    	padding-bottom: 16px!important;
    	padding-left: 15px!important;
    	width: 268px;
	}
}
/*--- home header image column smaller ---*/
@media screen and (min-width: 981px) {
	.home-header-img {
		width:40%!important;
	}
	.first-col-header {
		min-height:740px;
	}
}
@media screen and (max-width: 1401px) and (min-width: 1289px) {
	.teal-section .contact-width-button .email-blurb {
		width: 192px;
		padding-right: 0%!important;
		padding-left: 0%!important;
	}
	.teal-section .contact-width-button .schedule-blurb {
		width: 211px;
	}
	.teal-section .contact-width-button .phone-blurb {
		width: 204px;
		padding-right: 0%!important;
		padding-left: 0%!important;
	}
}
@media screen and (max-width: 1288px) and (min-width: 1084px) {
	.teal-section .contact-width-button .email-blurb {
		width: 165px;
		padding-right: 0%!important;
		padding-left: 0%!important;
	}
	.teal-section .contact-width-button .phone-blurb {
		width: 176px;
		padding-right: 0%!important;
		padding-left: 0%!important;
	}
	.teal-section .contact-width-button .schedule-blurb {
		width: 181px;
		padding-right: 0%!important;
		padding-left: 0%!important;
	}
	.teal-section .et_pb_blurb_content {
    	font-size: 14px;
	}
}
@media screen and (max-width: 1083px) and (min-width: 981px) {
	.teal-section .contact-width-button .email-blurb {
		width: 174px;
		padding-right: 0%!important;
		padding-left: 0%!important;
	}
	.teal-section .contact-width-button .schedule-blurb {
		width: 191px;
		padding-right: 0%!important;
		padding-left: 0%!important;
	}
	.teal-section .et_pb_blurb_content {
    	font-size: 15px;
	}
	.three-contact-width-button {
    	max-width: 100%!important;
		width: 90%;
	}
}

/*connect buttons*/
a.connect-buttons {
    width: 100%;
}
a.connect-buttons:before {
	margin-top: 2px;
}
body #page-container .et_pb_section a.cal-button:before {
	font-size: 25px!important;
}
body #page-container .et_pb_section a.cal-button {
    padding-left: 3em!important;
}
@media screen and (max-width: 1222px) and (min-width: 1080px) {
	.connect-row-buttons {
		width:91%
	}
}
@media screen and (max-width: 1079px) and (min-width: 981px) {
	.connect-row-buttons {
		width:99%
	}
	a.connect-buttons {
    	font-size:16px!important;
	}
}

/*middle blurbs*/
.center-blurb h3.et_pb_module_header,
.center-blurb h4.et_pb_module_header {
	font-size:32px!important;
}
@media screen and (max-width: 981px) {
	.center-blurb h3.et_pb_module_header,
	.center-blurb h4.et_pb_module_header {
    	font-size: 24px!important;
	}
	.center-blurb .et_pb_blurb_container {
    	width: 90%;
	}
}

/*key dates*/
@media screen and (max-width: 980px) {
	.key h3 {
		font-size:44px!important;
	}
}

/*learn with*/
@media screen and (min-width: 981px) {
	.forty {
		width: 40%!important;
	}
	.sixty {
		width:60%!important;
	}
	.home-two-buttons a.et_pb_button {
    	width: 100%;
		max-width:230px;
	}
}
/*teal section*/
@media screen and (min-width: 981px) {
	.onethird-special {
		width:33%!important;
	}
	.twothird-special {
		width:64%!important;
	}
}
@media screen and (max-width: 767px) {
	.contact-width-button .et_pb_column {
		width:100%!important;
		margin-right:0px!important;
	}
	.contact-blurb span.et_pb_image_wrap {
   		margin-top: 4px!important;
    	margin-left: 5px;
	}
	.email-blurb span.et_pb_image_wrap {
   		margin-top: 6px!important;
    	margin-left: 5px;
	}
	.schedule-blurb span.et_pb_image_wrap {
   		margin-top: 4px!important;
    	margin-left: 5px;
	}
	
}

@media screen and (max-width: 980px) {
	/* --- mobile spacing on two buttons --- */
	.home-two-buttons .et_pb_column, .double-button .et_pb_column {   
		margin: 0 0 20px!important;
	}
	/* and make sure the column widths are 50% */
	.home-two-buttons.et_pb_row_1-4_1-4>.et_pb_column.et_pb_column_1_4,
	.double-button.et_pb_row_1-4_1-4>.et_pb_column.et_pb_column_1_4 {
		width: 50%;
	}
	/*all videos less space under on mobile*/
	.et_pb_video {
    	margin-bottom: 10px!important;
	}

}
@media screen and (max-width: 981px) and (min-width: 480px) {
	/* add spacing between buttons */
	.home-two-buttons .col-1 {
     	width: 48.5%!important;
     	margin-right: 1.5%!important;
    }
	.home-two-buttons .col-2 {
    	width: 48.5%!important;
    	margin-left: 1.5%!important;
	}
	
}
@media screen and (max-width: 1172px) and (min-width: 980px) {
	.shop-width-buttons {
    	max-width: 410px!important;
	}
}

/* --- LEARN PAGE --- */
a.larger-button {
    width: 280px;
}

#learn-overview-video-section h2 {
	font-size: 40px!important;
	line-height: 44px;
}

@media (min-width: 981px) {
	#learn-overview-video-section h2 {
		font-size: 36px!important;
		line-height: 40px;
	}
}

@media (min-width: 1405px) {
	#learn-overview-video-section h2 {
		font-size: 50px!important;
		line-height: 55px;
	}
}

/* used on various blurb blocks on different pages */
#insurer-blocks-section .twenty-four-blurbs h2.et_pb_module_header,
#learn-basics-section .twenty-four-blurbs h3.et_pb_module_header,
.twenty-four-blurbs h4.et_pb_module_header{
	font-size:24px!important;
}
@media screen and (max-width: 1083px) and (min-width: 981px){
	.two-side-buttons {
    	max-width: 590px!important;
	}
}
@media screen and (max-width: 479px) {
	.two-side-buttons a.et_pb_button {
    	width: 100%;
	}
}
@media screen and (max-width: 980px) {
	.taller-header p {
		padding-bottom:23px!important;
	}

}
@media screen and (max-width: 1545px) and (min-width: 1405px) {
	.text-under-video {
		    margin-top: -20px;
	}
}
@media screen and (max-width: 1142px) and (min-width: 1113px) {
	.text-under-video {
		    margin-top: -20px;
	}
}
@media screen and (max-width: 1112px) and (min-width: 981px) {
	.text-under-video {
		    margin-top: -50px;
	}
}

#state-agency-resources-block-section h3 {
	font-size: 24px !important;
	line-height: 1.2em;
	font-family: inherit;
}

/* popup white background visible*/
div#pum-3275 {
	position: fixed;
}

/* --- HOW TO ENROLL --- */

.bold-accordion .et_pb_toggle_close, .bold-accordion .et_pb_toggle_open {
    padding: 20px 10% 10px;
    margin-bottom: 0px;
}

.bold-accordion .et_pb_toggle_title:before {
    content: "\43";
}
.bold-accordion .et_pb_toggle_title:before {
    top: 15px;
}
.bold-accordion .et_pb_toggle_content {
    padding-bottom: 48px;
}

/*larger icon on blurb*/
.enroll-blurb img.et-waypoint.et_pb_animation_top.et-animated {
    max-width: 48px!important;
}
@media screen and (max-width: 981px) {
	.enroll-blurb h4.et_pb_module_header{
		font-size:34px!important;
	}
}

.enrollment-title h3.et_pb_module_header,
.enrollment-title h4.et_pb_module_header{
	font-size:24px!important;
}
@media screen and (min-width: 981px) {
	.enroll-blurb-row .et_pb_blurb_position_left .et_pb_blurb_container {
    	padding-left: 20px;
	}
}
/* -- EVENT GRID -- */

/*event styles*/

.mec-skin-grid-events-container .mec-event-grid-simple .row {
	margin-top: 0;
	margin-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	flex-grow: 1;
}

.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article {
    box-shadow: 0 2px 18px 0px rgba(0,0,0,0.3);
    padding: 1.75rem 1rem 1.75rem 2.5rem;
	border-radius: 5px;
	background-color: white;
	margin: 0 auto;
	height: 100%;
	cursor: pointer;
	transition: all 0.4s ease;
}

.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article:hover {
    box-shadow: 0 2px 20px 0px rgba(0,0,0,0.4);
}

.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article:after {
    border-right: none;
}

.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .event-color {
	width: 8px;
	display: block;
	border-radius: 5px 0px 0px 5px;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	margin: 0;
}
.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article:hover .event-color {
	width: 17px;
	transition: all 0.4s ease-in-out;
}
.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article:hover .mec-event-date {
	color:#4c50e9;
}

.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-date, 
.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-status {
    text-align: left;
}

.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-date {
	font-family: sofia-pro-soft, sans-serif;
	font-size: 21px;
	line-height: 1.2em;
	font-weight: 900;
	letter-spacing: 0;
	color:#000058;
	margin-bottom: 5px;
}

.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-title {
    text-transform: capitalize;
    text-align: left;
	font-family: sofia-pro-soft, sans-serif;
	font-size: 18px!important;
	line-height: 1.2em;
	font-weight: 400;
	letter-spacing: 0.5px;
	color:#242627;
	margin: 0;
	padding: 0;
}
.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-title a {
    text-decoration: initial;
}
/*event title on hover */
.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-color-hover:hover {
    color: #4c50e9;
}

@media screen and (max-width: 1276px) and (min-width: 1069px) {
	.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-title {
		font-size: 14px!important;
	}
	.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-date {
		font-size: 19px;
	}
}
@media screen and (max-width: 1068px) and (min-width: 981px) {
	.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-title {
		font-size: 13px!important;
	}
	.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-date {
		font-size: 17px;
	}
}
@media screen and (min-width: 981px) {
	.mec-skin-grid-events-container .mec-event-grid-simple .row:not(:only-child) {
		margin-top: 30px;
		margin-bottom: 30px;
			
	}
	.mec-wrap .col-md-4 {
		width: 33%;
	}
}

@media screen and (max-width: 980px) {
	/* force columns to be 100% wide to stack now */
	.mec-skin-grid-events-container .mec-wrap .mec-event-grid-simple div[class^="col-"] {
    	width: 100%;
	}
	/* if more than 1 column, then add gap between them when they stack */
	.mec-skin-grid-events-container .mec-wrap .mec-event-grid-simple div[class^="col-"]:not(:only-child) {
		padding-bottom: 25px;
	}
	/* when stacked, set a hard-coded max width */
	.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article {
		max-width: 360px;
	}
}
@media screen and (max-width: 397px) {
	.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-date {
    	font-size: 17px;
	}
	.mec-skin-grid-events-container .mec-event-grid-simple .mec-event-article .mec-event-title {
		font-size: 13px!important;
	}
}

/* --- EVENTS PAGE --- */

.mec-calendar .mec-calendar-header h2, 
h6.mec-table-side-title, 
.mec-calendar .mec-event-article .mec-event-title a {
	color:#000058;
	text-transform: none!important;
}

.mec-calendar .mec-event-article .mec-event-title a:hover, 
.single-mec-events h1.mec-single-title, 
.single-mec-events h3.mec-date, 
.single-mec-events h3.mec-social-single.mec-frontbox-title, 
.single-mec-events  h3.mec-time, 
.single-mec-events h4.widgettitle {
	color:#000058;
}

.mec-calendar .mec-calendar-events-side .mec-table-side-day {
	border:none;
}

h3.mec-color.mec-table-side-day, .mec-event-time.mec-color, .mec-calendar .mec-calendar-side .mec-next-month i, .mec-calendar .mec-calendar-side .mec-previous-month i, .mec-calendar .mec-calendar-side .mec-next-month:hover, .mec-calendar .mec-calendar-side .mec-previous-month:hover, .single-mec-events .mec-color, .mec-color-before :before, .single-mec-events .mec-color-hover:hover, .single-mec-events .mec-wrap .mec-color, .single-mec-events .mec-wrap .mec-color-before :before, .single-mec-events .mec-wrap .mec-color-hover:hover{
	color:#4C50E9;
}
.mec-single-event .mec-events-meta-group-booking form>h4:before, 
.mec-single-event .mec-frontbox-title:before {
	border-bottom:0px solid #4C50E9;
}
.single-mec-events .mec-border-color, 
.single-mec-events .mec-border-color-hover:hover, 
.single-mec-events .mec-wrap .mec-border-color, 
.single-mec-events .mec-wrap .mec-border-color-hover:hover {
    border-color: #4C50E9;
}
.single-mec-events .mec-events-button:hover {
    background-color: #4C50E9;
}

.mec-calendar .mec-selected-day, 
.mec-calendar .mec-selected-day:hover, 
.mec-calendar .mec-calendar-row dt.mec-has-event:hover{
	background:#4C50E9!important;
}
.mec-calendar .mec-has-event:after{
	background-color:#4C50E9;
}
.mec-calendar .mec-calendar-table-head dt {
    font-size: 18px;
}

.mec-calendar .mec-calendar-side .mec-next-month, 
.mec-calendar .mec-calendar-side .mec-previous-month {
	font-family: sofia-pro, sans-serif;
	font-size: 15px!important;
	font-weight: 300;
	letter-spacing: 0.5px;
}

.single-mec-events .mec-events-meta-group-countdown .countdown-w span {
	font-family: sofia-pro-soft, sans-serif;
	font-weight: 300;
	letter-spacing: 0.5px;
}
.mec-single-event .widget_recent_entries, .mec-single-event .widget_categories, .mec-single-event .mec-single-event-label, .mec-single-event .mec-events-meta-group.mec-events-meta-group-countdown, .mec-single-event .mec-events-meta-group.mec-events-meta-group-tags, .mec-single-event .mec-single-event-category {
	display:none;
}
.post-type-archive-mec-events .mec-wrap p {
    margin: 0 0 20px 0;
    color: #000000;
    background-color: white;
    font-family: sofia-pro, sans-serif!important;
    font-size: 18px!important;
    line-height: 1.5em;
    font-weight: 300!important;
    letter-spacing: 0.5px;
}
/*.post-type-archive-mec-events .mec-event-time.mec-color {
    display: none;
}*/
.post-type-archive-mec-events .mec-calendar .mec-has-event:after {
    bottom: 5px;
}
/*don't display location on events page*/
.event-category .mec-event-detail {
	display:none;
}

@media only screen and (min-width: 981px) {
	.mec-calendar .mec-calendar-header h2 {
    	font-size: 50px!important;
	}
	.post-type-archive-mec-events .mec-calendar dt {
    	width: 50px;
    	height: 50px;
    	line-height: 50px;
	}
	.post-type-archive-mec-events dl.mec-calendar-table-head, dl.mec-calendar-row {
    	margin-left: auto;
    	margin-right: auto;
	}
	.post-type-archive-mec-events .mec-calendar-side .mec-calendar-table {
    	min-height: 320px;
	}	
	/*move single event page down for breadcrumbs*/
	/*.single-mec-events div#et-main-area {
    	margin-top: 30px;
	}*/
}

.post-type-archive-mec-events  .mec-month-divider {
    text-align: left;
}
.post-type-archive-mec-events .mec-month-divider span {
    text-transform: none;
    font-size: 32px;
    color: #000058;
    border-bottom: 4px solid #f1f1f1;
    width: 100%;
    display: block;
    padding-bottom: 10px;
    position: relative;
    font-family: sofia-pro-soft, sans-serif;
    line-height: 1.5em;
    font-weight: 700;
    letter-spacing: 0.5px;
}
.post-type-archive-mec-events .mec-month-divider span:before {
    border-bottom: 0px solid #40d9f1;
}

.post-type-archive-mec-events .mec-container {
	width: 80%;
	max-width: 1410px;
	padding: 50px 0;
}

.post-type-archive-mec-events .mec-container > h1 {
	font-size: 54px!important;
	line-height: 1.3em !important;
	margin-bottom: 50px;
}

@media only screen and (max-width: 980px) {
	/* center the title of the Events page */
	.post-type-archive-mec-events .mec-container > h1 {
		text-align: center;
		margin-bottom: 30px;
	}
	/* if no events, center the message */
	.post-type-archive-mec-events .mec-skin-grid-container .mec-skin-grid-no-events-container {
		text-align: center;
	}
}

@media only screen and (max-width: 1404px) and (min-width: 1201px) {
	.post-type-archive-mec-events .mec-calendar .mec-calendar-side {
    	padding: 40px 0px;
	}
}
@media only screen and (max-width: 1200px) and (min-width: 981px) {
	.post-type-archive-mec-events .mec-calendar .mec-calendar-side {
    	padding: 40px 0px;
	}
}
@media only screen and (max-width: 479px) {
	.post-type-archive-mec-events .mec-calendar .mec-calendar-table-head dt {
    	font-size: 18px;
	}
}

.single-mec-events h3.mec-date, 
.single-mec-events h3.mec-social-single.mec-frontbox-title, 
.single-mec-events h3.mec-time, 
h3.mec-events-single-section-title.mec-location {
	text-transform:none;
	text-align: left;
}
.mec-single-event .mec-event-social a.facebook, 
.mec-single-event .mec-event-social a.twitter, 
.mec-single-event .mec-event-social a.linkedin, 
.mec-single-event .mec-event-social a.email {
    border-radius: 500px;
}
.post-type-archive-mec-events .mec-event-footer {
	display:none;
}
.single-mec-events section#main-content {
    max-width: 1410px;
    width: 80%;
    padding: 0px;
}

/* event meta box text */
.mec-single-event .mec-event-meta.mec-frontbox dd {
	color: inherit;
}

.mec-single-event .mec-event-social.mec-frontbox {
    padding-bottom: 50px;
}
.mec-single-event .mec-event-social li.mec-event-social-icon {
    display: inline-block;
    float: left;
    margin-top: -10px;
}
/* change color of social icon for ADA constrast */
.mec-single-event .mec-event-social li.mec-event-social-icon a {
	background-color: #4C50E9;
	padding: 7px;
}
.mec-single-event .mec-event-social li.mec-event-social-icon a:hover {
	background-color: #383BA8;
}

/* prevent social share icons in events from wrapping */
@media (max-width: 1023px) {
	.mec-single-event .mec-event-social li.mec-event-social-icon a {
		margin-right: 3px;
	}
}

/* --- FAQS PAGE --- */

.faq-section ul.et_pb_tabs_controls {
    background-color: #ffffff;
}
.faq-section ul.et_pb_tabs_controls.clearfix {
    border-bottom: 2px solid #D6D8D9;
}
.faq-section li.et_pb_tab_active a{
    border-bottom: 4px solid #4C50E9;
}
.faq-section .et_pb_tabs_controls li {
    border-right: none;
	margin-left: 10%;
}
.faq-section .dp-dfg-filter a:hover {
    background-color:white!important;
	border-left: 6px solid #4C50E9!important;
}
.faq-section .et_pb_tabs_controls li a {
	text-align:center;
	padding: 4px 0px;
}
.faq-section ul.et_pb_tabs_controls:after {
	border-top: none;
}
.faq-section .et_pb_all_tabs{
    padding: 50px 10%;
}
.faq-section .et_pb_tab {
    padding: 0px 0px;
}
.faq-section a.dp-dfg-filter-link.active {
    background-color: white!important;
    border-left: 6px solid #4C50E9!important;
    padding-left: 1em!important;
}
.faq-section a.dp-dfg-filter-link {
    border: 1px solid #E4E5EC!important;
	text-align: left;
}
a.dp-dfg-filter-link:hover {
	color:#4C50E9!important;
	font-weight:700;
}
.faq-section a.dp-dfg-filter-link:hover {
	color:#4C50E9!important;
	font-weight:700;
}
.faq-section ul.dp-dfg-filters-buttons.dp-dfg-level.dp-dfg-taxonomy-level-0 {
    box-shadow: 0px 8px 20px 0px rgba(0,0,0,0.3);
}
.faq-section .dp-dfg-items {
    border-top: 1px solid #D6D8D9;
}
.faq-section .dp-dfg-header.entry-header a {
	color:#000000;
}
.faq-section .dp-dfg-layout-fullwidth .dp-dfg-item {
    padding: 2em 0em;
}
@media screen and (min-width: 981px) {
	.faq-section .dp-dfg-skin-default.dp-dfg-skin-left-vertical-filters {
    	grid-template-columns: 30% 60%;
    	-ms-grid-columns: 30% 60%;
	}
}



/* ----- FAQ PAGE LAYOUT WITH TABS --- */
.custom-tabs .et_pb_tab_active a {
  	color: #ffffff!important;
}

.custom-tabs ul.et_pb_tabs_controls {
  	float: left;
  	width: 26%;
  	display: block;
  	background: transparent;
	box-shadow: 0 8px 20px 0 rgba(112,144,176,0.2)
}
.custom-tabs .et_pb_all_tabs {
  display: flex;
  width: 74%;
}
.custom-tabs .et_pb_tabs_controls li {
	display: block;
	width: 100%;
  	border-bottom: 1px solid #E4E5EC;
  	margin-bottom: 0px;
	border-right: 0px;
}


/*.custom-tabs .et_pb_tabs_controls li:not(.et_pb_tab_active):last-child {
	border-right: 1px solid #d9d9d9;
}*/
.custom-tabs .et_pb_tabs_controls li.et_pb_tab_active {
    border-left: 6px solid #4C50E9;
}
.custom-tabs .et_pb_tabs_controls li.et_pb_tab_active a{
    padding: 15px 10px 15px 15px;;
}
.custom-tabs .et_pb_tabs_controls li a {
   	display: block;
	width: 100%;
  	padding: 15px 10px 15px 20px;
  	font-size: 15px;
}
.custom-tabs .et_pb_tabs_controls li {
	height:auto!important;
}
.custom-tabs ul.et_pb_tabs_controls:after {
	content: none;
}

/*.custom-tabs .et_pb_tab_content {
    padding-top: 40px;
}*/
.custom-tabs .et_pb_tab {
    	padding: 0 0px;
    	/*border-top: 1px solid #D6D8D9;*/
	}
@media(min-width:768px){
	.custom-tabs .et_pb_tab {
    	margin-left: 50px;
	}
}
@media(max-width:767px){
.custom-tabs ul.et_pb_tabs_controls.clearfix {
  	float: left;
  	width: 100%;
  	display: inherit;
}
.custom-tabs .et_pb_all_tabs {
  	display: flex;
  	width: 100%;
	padding-top: 100px;
    padding-bottom: 30px;
}
.custom-tabs .et_pb_tab.et_pb_tab.clearfix.et-pb-active-slide {
  	border-left: 0px solid #d9d9d9;
}
}


/* --- FAQ page layout with sticky menu --- */
ul#menu-faq-menu, ul#menu-learn-faq-menu, ul#menu-careers-menu {
	display:block;
	box-shadow: 0px 8px 20px 0px rgba(0,0,0,0.2);
	border-radius: 5px;
}
ul#menu-faq-menu>li, ul#menu-learn-faq-menu>li, ul#menu-careers-menu>li {
    margin-top: 8px;
    padding-bottom: 15px;
    padding-top: 15px;
    padding-left: 15px;
    border-bottom: 1px solid #E4E5EC;
    padding-right: 21px;
}
body.ie ul#menu-faq-menu>li, 
body.ie ul#menu-learn-faq-menu>li, 
body.ie ul#menu-careers-menu>li {
	display: block;
}
.faq-menu .et_pb_menu_inner_container.clearfix {
    top: 120px;
}

li.all-faqs {
    background-color: #4c50e9;
    margin-top: 0px!important;
    padding-top: 10px!important;
    border-radius: 0px 0px 5px 5px;
    margin-bottom: 0px!important;
    padding-bottom: 5px!important;
}
li.all-faqs:hover {
    background-color: #383ba8;
}
li.all-faqs a, .newsroom-menu .all-faqs a:hover {
    color: white!important;
    text-align: center!important;
    margin-left: auto;
    margin-right: auto;
}

#main-faq-section h2 {
	font-size: 24px !important;
}
@media (min-width: 981px) {
	#main-faq-section h2 {
		font-size: 28px !important;
	}
}
@media (min-width: 1405px) {
	#main-faq-section h2 {
		font-size: 34px !important;
	}
}


@media (min-width: 981px) {
	.sticky-menu {
    	position: -webkit-sticky;
    	position: sticky;
    	top: 0px;
	}
}
@media (max-width: 980px) {
	.newsroom-menu .et_pb_menu__menu  {
		display:block;
		width: 100%;
	}
	.newsroom-menu .et_mobile_nav_menu {
		display:none;
	}
	.newsroom-menu {
		float:left;
		min-width: 100%;
	}
	ul#menu-newsroom-menu, ul#menu-faq-menu, ul#menu-learn-faq-menu, ul#menu-careers-menu {
    	width: 100%;
	}
}

/* --- INNER FAQ PAGES --- */

@media screen and (max-width: 1288px) and (min-width: 1046px) {
	.faq-link-section .contact-width-button .email-blurb {
    	width: 267px;
    	padding-right: 5%!important;
    	padding-left: 5%!important;
	}
}
@media screen and (max-width: 1045px) and (min-width: 981px) {
	.faq-link-section .contact-width-button .email-blurb {
    	width: 239px;
    	padding-right: 5%!important;
    	padding-left: 5%!important;
	}
}
@media screen and (max-width: 1045px) and (min-width: 981px) {
	.teal-section .contact-width-button .phone-blurb {
    	width: 221px;
    	padding-right: 5%!important;
    	padding-left: 5%!important;
	}
}
@media screen and (max-width: 355px) {
	.faq-link-section .contact-width-button .email-blurb {
    	padding-right: 10px!important;
    	padding-left: 10px!important;
	}
}
.faq-row li.et_pb_tab_5 {
    background-color: #4c50e9!important;
    text-align: center;
    vertical-align: middle;
    height: 80px!important;
    padding-top: 10px;
}

/*bottom faq buttons*/
@media screen and (max-width: 1436px) and (min-width: 1200px) {
	a.et_pb_button.explore-button{
		width: 175px!important;
	}
}

@media screen and (max-width: 1199px) and (min-width: 981px) {
	a.et_pb_button.explore-button{
		width: 140px!important;
	}
}

@media (max-width: 980px) {
	.et_pb_button.explore-button, a.full-button, a.et_pb_button, body #gform_wrapper_1 input#gform_submit_button_1{
		width: 100%;
		max-width:479px!important;
	}
}

/* --- CONNECT PAGE --- */

/*hide breadcrumbs*/
.page-id-595 div#db_breadcrumbs_header {
	display:none;
}

#contact-faq-row h3 {
	font-size: 24px !important;
}
@media (min-width: 981px) {
	#contact-faq-row h3 {
		font-size: 28px !important;
	}
}
@media (min-width: 1405px) {
	#contact-faq-row h3 {
		font-size: 34px !important;
	}
}

@media screen and (min-width: 1981px) {
	.connect-three {
		max-width: 100% !important;
	}
	.connect-three > .et_pb_column {
		width: auto !important;
		margin-right: 30px !important;
	}
}
@media screen and (max-width: 1414px) and (min-width: 1289px) {
	.connect-link-section .contact-width-button .phone-blurb {
    	width: 244px;
    	padding-right: 20px!important;
    	padding-left: 20px!important;
	}
	.connect-link-section .contact-width-button .email-blurb {
		width: 278px;
    	padding-right: 20px!important;
    	padding-left: 20px!important;
	}
}
@media screen and (max-width: 1288px) and (min-width: 1084px) {
	.connect-three {
		max-width: 833px;
	}
	.connect-section .contact-width-button .email-blurb {
    	width: 233px;
    	padding-right: 5%!important;
    	padding-left: 5%!important;
	}
	.connect-section .contact-width-button .schedule-blurb {
    	width: 205px;
    	padding-right: 5%!important;
    	padding-left: 5%!important;
	}
	.connect-section .contact-width-button .phone-blurb {
    	width: 205px;
    	padding-right: 5%!important;
    	padding-left: 5%!important;
	}
}
@media screen and (max-width: 1083px) and (min-width: 981px) {
	.connect-three {
		max-width: 833px;
	}
	.connect-section .contact-width-button .email-blurb {
    	width: 243px;
    	padding-right: 5%!important;
    	padding-left: 5%!important;
	}
	.connect-section .contact-width-button .schedule-blurb {
    	width: 213px;
    	padding-right: 5%!important;
    	padding-left: 5%!important;
	}
	.connect-section .contact-width-button .phone-blurb {
    	width: 213px;
    	padding-right: 5%!important;
    	padding-left: 5%!important;
	}
}
/*@media screen and (max-width: 1159px) and (min-width: 1046px) {
	.connect-link-section .contact-width-button .phone-blurb {
    	width: 205px;
    	padding-right: 10px!important;
    	padding-left: 10px!important;
	}
	.connect-link-section .contact-width-button .phone-blurb .et_pb_blurb_description, .connect-link-section .contact-width-button .email-blurb .et_pb_blurb_description {
    	font-size: 15px;
	}
	.connect-link-section .contact-width-button .email-blurb {
		width: 235px;
    	padding-right: 10px!important;
    	padding-left: 10px!important;
	}
}
@media screen and (max-width: 1045px) and (min-width: 981px) {
	.connect-link-section .contact-width-button .phone-blurb {
    	width: 176px;
    	padding-right: 5px!important;
    	padding-left: 5px!important;
	}
	.connect-link-section .contact-width-button .phone-blurb .et_pb_blurb_description, .connect-link-section .contact-width-button .email-blurb .et_pb_blurb_description {
    	font-size: 13px;
	}
	.connect-link-section .contact-width-button .email-blurb {
    	width: 202px;
    	padding-right: 5px!important;
    	padding-left: 5px!important;
	}
}*/
@media screen and (max-width: 980px) and (min-width: 768px) {
	.connect-link-section .contact-width-button .phone-blurb {
    	width: 290px;
	}
	.connect-link-section .contact-width-button .email-blurb {
    	width: 290px;
	}
}

@media screen and (max-width: 479px) {
	.connect-button a.et_pb_button {
    	width: 100%;
	}
}

@media screen and (max-width: 1083px) and (min-width: 981px){
	.connect-button {
    	max-width: 100%!important;
	}
}

/* pop up */
.pum-container .pum-content>:first-child {
    margin-top: 0;
    padding: 0px;
}

/*popups in bottom teal section */
html.pum-open.pum-open-overlay.pum-open-scrollable body>[aria-hidden] {
    padding-right: 0px!important;
}
div#pum-1736, div#pum-1783 {
	position:fixed;
}



/*tooltip*/
/* Tooltip container */
span.su-tooltip {
	color: #000058!important;
	font-weight:600;
	cursor: pointer;
}
.qtip-light {
    background-color: #fff!important;
    border-color: #fff!important;
    color: #000!important;
    font-size: 15px!important;
    line-height: 1.5em!important;
    box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.2)!important;
}

/* -- VIDEO -- */

/* video on hover effect */
.et_pb_module.et_pb_video .et_pb_video_overlay {
	overflow: hidden;
	transition: all .8s;
}
.et_pb_module.et_pb_video .et_pb_video_overlay::before { 
	content:"";
	position:absolute; 
	top:0;
	right:0;
	bottom:0;
	left:0;
	background:inherit;
	transition:inherit;
}
.et_pb_module.et_pb_video .et_pb_video_overlay:hover::before { 
	transform: scale(1.2);
}

/* video play button */
.et_pb_module.et_pb_video .et_pb_video_play {
    font-size: 30px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    background: rgba(83, 85, 88, 0.93);
    width: 90px;
    height: 90px;
    border-radius: 90px;
    line-height: 90px;
    text-align: center;
    color: white;
	transition: all .8s;
}
.et_pb_module.et_pb_video .et_pb_video_overlay:hover .et_pb_video_play { 
    background: rgba(76, 80, 233, 0.93);
}

/* change video module play icon */
.et_pb_module.et_pb_video .et_pb_video_play::before {
    font-family: ETmodules;
    content: '\f04b';
    margin-left: 0.25em;
    margin-top: 2px;
    text-shadow: 0 0 0.25em rgba(0,0,0,0.6);
    display: inline-block;
}
.et_pb_module.et_pb_video .et_pb_video_play:hover::before {
	transition: all .4s;
    text-shadow: 0 0 0 rgba(0,0,0,0);
}

/* the actual overlay bg color, we turn off */
.et_pb_video.et_pb_module  .et_pb_video_overlay_hover:hover {
    background: rgba(0,0,0,0.25);
}




/* Video Popups */

div#popmake-1366, 
div#popmake-1415,
div#popmake-2147,
div#popmake-3272{
	margin-bottom: 0 !important;
}

/* when video module within Popup Maker */
.pum-content .et_pb_module.et_pb_video .et_pb_video_play {
    font-size: 25px;
    width: 45px;
    height: 45px;
    border-radius: 45px;
	line-height:45px;
}

#video-popup.et_pb_section {
	padding: 0;
	background-color: white;
}
#video-popup.et_pb_section > .et_pb_row {
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	direction: ltr;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

#video-popup.et_pb_section > .et_pb_row > .et_pb_column {
	width: 100%;
	display: flex;
    flex-direction: column;
    justify-content: center;
	margin: 0;
}

#video-popup.et_pb_section > .et_pb_row > .et_pb_column:last-child {
	padding: 5%;
}

#video-popup.et_pb_section .et_pb_video {
	margin-bottom: 0 !important;
}

#video-popup .et_pb_text {
	color: black;
	font-family: sofia-pro-soft, sans-serif;
	line-height: 1.5em;
	font-weight: 500;
	letter-spacing: 0.5px;
	font-size: 12px;
}

@media screen and (min-width: 480px){
	#video-popup .et_pb_text {
    	text-align: center;
	}
}
@media screen and (max-width: 479px) {
	div#popmake-1366, 
	div#popmake-1415,
	div#popmake-2147, 
	div#popmake-3272{
    	width: 100% !important;
    	left: 0 !important;
		top: auto !important;
		bottom: 0 !important;
	}
	#video-popup.et_pb_section {
		border-top: 4px solid #ffb100;
	}
	#video-popup.et_pb_section > .et_pb_row > .et_pb_column {
    	width: 50% !important;
		padding: 8px !important;
	}
	#video-popup.et_pb_section > .et_pb_row > .et_pb_column:first-child {
		width: 40% !important;
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
	#video-popup.et_pb_section > .et_pb_row > .et_pb_column:last-child {
		width: 60% !important;
		padding-right: 30px !important;
	}
}

/* -- SEARCH PAGE -- */

/* hide breadcrumbs on this page */
body.page-id-2270 #db_breadcrumbs_header {
	display: none;
}

#search-top,
#search-results {
	
}

/* - Search Box - */

#search-top > .et_pb_row.et_pb_equal_columns {
	align-items: center;
}

#search-top form.gsc-search-box {
	margin: 0;
    border: 0;
    box-shadow: 0px 2px 18px 0px rgba(0,0,0,0.3);
    padding: 1.75rem 1.75rem;
    border-radius: 5px;
    background-color: white;
	position: relative;
	transition: all 0.4s ease;
}

#search-top form.gsc-search-box::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 100%;
	width: 8px;
    display: block;
    border-radius: 5px 0 0 5px;
	background-color: #45c6d3;
	opacity: 1;
	transition: all 0.4s ease;
}

#search-top form.gsc-search-box:hover {
	box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.15);
	background-color: rgba(255,255,255,0.5);
}
#search-top form.gsc-search-box:hover::before {
	opacity: 0;
	width: 0;
}

#search-top form.gsc-search-box table {
	margin: 0;
	border: 0;
}

#search-top form.gsc-search-box table td {
	padding: 0;
	border: 0;
}

#search-top form.gsc-search-box table.gsc-search-box .gsc-input-box {
	border-radius: 3px;
	overflow: hidden;
	padding: 0;
}

/* make the input be able to be same height as the X symbol */
#search-top form.gsc-search-box table.gsc-search-box .gsc-input-box table tr {
	display: flex;
}

/* make the input full height */
#search-top form.gsc-search-box table.gsc-search-box .gsc-input-box table tr td input {
	height: 100% !important;
	padding: 8px 12px !important;
	background-position: 12px center !important;
}

/* the wrapper of the x button in the input */
#search-top form.gsc-search-box table.gsc-search-box .gsc-input-box table tr td .gsst_b {
	padding: 0;
}
/* adjusut line-height of the x button to be height of the input */
#search-top form.gsc-search-box table.gsc-search-box .gsc-input-box table tr td .gsst_b a > span {
	line-height: 38px;
}
/* make the button be the same height as the input next to it */
#search-top form.gsc-search-box table.gsc-search-box button.gsc-search-button {
	cursor: pointer;
	border-radius: 3px;
	padding: 11px 30px 12px;
	margin-left: 8px;
}

/* - Results - */

/* the bulk of the styling is here from Google, so we replace it */
#search-results .gsc-control-cse {
	font-family: inherit;
	border-radius: 5px;
	position: relative;
	padding: 2rem 0;
	border: 0;
}

/* add some text that will show in the empty container, which is useful when the container is empty */
#search-results .gsc-control-cse::before {
	content: 'Nothing yet. Please search for something above.';
	position: absolute;
	left: 50%;
	top: 50%;
	text-align: center;
	transform: translate(-50%, -50%);
	line-height: 1.2em;
}

#search-results .gsc-control-cse .gsc-control-wrapper-cse {
	position: relative;
}

#search-results .gsc-control-cse table {
	margin: 0;
	border: 0;
}

#search-results .gsc-control-cse table td {
	padding: 0;
	border: 0;
}

/* result text wrapper */
#search-results .gsc-control-cse .gsc-above-wrapper-area {
	border: 0;
	padding: 0 1rem 1rem;
}

/* result text */
#search-results .gsc-control-cse .gsc-above-wrapper-area .gsc-result-info {
	padding: 0;
	line-height: 1.25em;
}



/* override the results only be 99% wide */
#search-results .gsc-control-cse .gsc-results {
	width: 100%;
	background-color: white;
}

/* each result box */
#search-results .gsc-control-cse .gsc-webResult.gsc-result {
	padding: 1rem;
	border-radius: 3px;
    box-shadow: 0px 2px 18px 0px rgba(0,0,0,0.1);
    border-radius: 5px;
	position: relative;
	margin-bottom: 1rem;
	background-color: white;
	transition: all 0.4s ease;
}
/* on hover, but only for the real result boxes */
#search-results .gsc-control-cse .gsc-expansionArea .gsc-webResult.gsc-result:hover {
    box-shadow: 0px 1px 6px 0px rgba(0,0,0,0);
	background-color: #F6F6FF;
}

/* if corrective spelling, remove its padding */
#search-results .gsc-control-cse .gsc-webResult.gsc-result .gs-spelling {
	padding: 0;
}

#search-results .gsc-control-cse .gsc-webResult.gsc-result .gs-spelling a {
	color: #4C50E9;
	text-decoration: underline;
}
#search-results .gsc-control-cse .gsc-webResult.gsc-result .gs-spelling a i {
	font-style: normal;
}

/* force hide the Ads block results */
#search-results .gsc-wrapper .gsc-adBlock {
	display: none !important;
}

/* change title size of results */
#search-results .gsc-control-cse .gs-result .gs-title,
#search-results .gsc-control-cse .gs-result .gs-title * {
	font-size: 24px;
	font-family: freight-big-pro, serif;
	font-weight: 900;
	text-decoration: underline;
}

#search-results .gsc-control-cse .gsc-webResult .gsc-url-top {
	line-height: 1.25em;
	margin-top: 0.5rem;
}

#search-results .gsc-control-cse .gsc-webResult .gs-fileFormat {
    line-height: 1.25em;
	margin-bottom: 0.5rem;
}

#search-results .gsc-control-cse .gsc-table-result {
	font-family: inherit;
	margin-top: 0.5rem;
	font-size: 0.9rem;
}

#search-results .gsc-control-cse .gsc-webResult .gs-snippet {
	line-height: 1.5em;
}

/* highlight the bold keywords */
#search-results .gsc-control-cse .gs-result .gs-title > b,
#search-results .gsc-control-cse .gs-result .gsc-url-top b,
#search-results .gsc-control-cse .gsc-webResult .gs-snippet > b:not(:first-of-type) {
	background-color: rgba(255,177,0,0.15);
}

#search-results .gsc-control-cse .gs-result .gs-image, 
#search-results .gsc-control-cse .gs-result .gs-promotion-image {
	border: 0;
}

/* pagination */
#search-results .gsc-results .gsc-cursor-box .gsc-cursor-page {
    padding: 2px 8px 3px;
    border-radius: 3px;
}

/* search for this on Google, text */
#search-results .gcsc-find-more-on-google {
	line-height: 1.5em;
}

@media (max-width: 479px) {
	#search-top form.gsc-search-box {
		padding: 1rem;
	}
	#search-top form.gsc-search-box table.gsc-search-box .gsc-input-box table tr td input {
		padding: 8px 8px !important;
		background-position: 8px center !important;
	}
	/* change title size of results */
	#search-results .gsc-control-cse .gs-result .gs-title,
	#search-results .gsc-control-cse .gs-result .gs-title * {
		font-size: 18px;
	}
	#search-results .gsc-control-cse {
		padding: 2rem 1rem;
	}
	#search-results .gsc-control-cse .gsc-above-wrapper-area {
		padding: 0 1rem 1rem;
	}
	#search-results .gsc-control-cse .gsc-table-result {
		font-size: 0.75rem;
	}

}


/* -- HERO SECTIONS -- */

#hero-section {
	overflow: hidden;
}

/*  make the column be flex, so that we can make the buttons go side by side */
#hero-section > .et_pb_row > .et_pb_column {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: center;
	align-content: center;
}

/*  make sure the first column will be over top any content in the second column if it overlaps */
#hero-section > .et_pb_row > .et_pb_column:first-child {
	z-index: 3;
}

/* the hero bg shape image if it has one */
#hero-section > .et_pb_row > .et_pb_column:last-child > #hero-bg-shape.et_pb_module.et_pb_image {
	position: absolute;
	margin-bottom: 0;
}

@media (min-width: 981px) {
	/* remove section padding and crop content, so the absolute image column can go full height and get cut off */
	#hero-section {
		padding: 0;
		position: relative;
	}
	/* remove padding from row so absolute image column can go full height of section, 
	 * and remove position of relative, so image can go all the way to the right of the section, regardless of max-width of row */
	#hero-section > .et_pb_row {
		padding: 0;
		position: unset;
	}
	/* 1st column, we need to give padding back that we removed from section and row */
	#hero-section > .et_pb_row > .et_pb_column:first-child {
		padding-top: 150px;
		padding-bottom: 150px;
		z-index: 3;
		max-width: 740px;
		width: 50%;
		margin-right: 0;
	}
	/* set the gap between modules */
	#hero-section > .et_pb_row > .et_pb_column > .et_pb_module:not(:last-child) {
		margin-bottom: 40px;
	}
	/* set a max-width to the buttons so they don't get too wide */
	#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
		max-width: 230px;
	}
	#hero-section.hero-section-button-wide > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
		max-width: 320px;
	}
	#hero-section.hero-section-buttons-2 > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
		max-width: 230px;
	}
	#hero-section.hero-section-buttons-3 > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
		max-width: 270px;
	}
	/* 2nd column, position it so it is vertically centerd and goes all the way to the right of the section */
	#hero-section > .et_pb_row > .et_pb_column:last-child {
		position: absolute;
		height: 100%;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	
	/* if 3 buttons (via the class) then make the left column wider */
	#hero-section.hero-section-buttons-3 > .et_pb_row > .et_pb_column:first-child {
		width: 100%;
		max-width: 100%;
	}
	/* if 3 buttons wide via class, then we made the first column wider to allow them all to fit, but now we want to reduce width of text modules */
	#hero-section.hero-section-buttons-3 > .et_pb_row > .et_pb_column:first-child > .et_pb_module.et_pb_text > .et_pb_text_inner  {
		width: 66%;
		max-width: 740px;
	}
	
	/* ensure the width is full */
	#hero-section > .et_pb_row > .et_pb_column:last-child > .et_pb_module.et_pb_image {
		width: 100%;
		height: 100%;
	}
	/* make the image wrapper fill the width */
	#hero-section > .et_pb_row > .et_pb_column:last-child > .et_pb_module.et_pb_image .et_pb_image_wrap {
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: flex-end;
		align-items: flex-end;
		-webkit-justify-content: flex-end;
		justify-content: flex-end;
		height: 100%;
	}
	/* the image itself, make it fill the width */
	#hero-section > .et_pb_row > .et_pb_column:last-child > .et_pb_module.et_pb_image .et_pb_image_wrap img {
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}
	/* the hero bg shape image if it has one */
	#hero-section > .et_pb_row > .et_pb_column:last-child > #hero-bg-shape.et_pb_module.et_pb_image {

	}
	#hero-section > .et_pb_row > .et_pb_column:last-child > #hero-bg-shape.et_pb_module.et_pb_image .et_pb_image_wrap {
		
	}
	#hero-section > .et_pb_row > .et_pb_column:last-child > #hero-bg-shape.et_pb_module.et_pb_image .et_pb_image_wrap img {
		width: auto;
	}
}

@media (min-width: 981px) and (max-width: 1290px) {
/* 1st column, we need to give padding back that we removed from section and row */
	#hero-section > .et_pb_row > .et_pb_column:first-child {
		padding-top: 110px;
		padding-bottom: 110px;
	}
}
/* make all modules fill the column so that they don't try to go side by side */
#hero-section > .et_pb_row > .et_pb_column > .et_pb_module {
	width: 100%;
}

/* make the buttons go side by side initially */
#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
	width: 100%;
	margin: 0;
	margin-bottom: 1% !important;
}
#hero-section.hero-section-buttons-2 > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
	width: 48.5%;
	margin-right: 1.5%;
}
#hero-section.hero-section-buttons-3 > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
	width: 49%;
	margin-right: 1%;
}
/* create left gap on subsequent buttons */
#hero-section.hero-section-buttons-2 > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper + .et_pb_button_module_wrapper {
	margin-right: 0;
	margin-left: 1.5%;
}
#hero-section.hero-section-buttons-3 > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper + .et_pb_button_module_wrapper {
	margin-right: 1%;
	margin-left: 0;
}
/* make the anchor fill the space and height, so they are equal ... and keep on one line to prevent wrapping */
#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper > .et_pb_button {
	width: 100%;
	height: 100%;
	padding: 16px 12px 18px !important;
	line-height: 1.25em !important;
	border-radius: 50px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: middle;
}
/* tweak position of icon */
#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper > .et_pb_button::before {
	position: relative;
	margin: 0 0.333em 0 0;
	font-size: 20px !important;
	top: 3px;
}

/* adjust sizes of buttons to help them not get cut off too often */
/*@media (min-width: 981px) and (max-width: 1599px) {
	#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper > .et_pb_button {
		font-size: 14px;
	}
}*/
@media (min-width: 981px) and (max-width: 1405px) {
	/* 1st column, we need to give padding back that we removed from section and row */
	#hero-section > .et_pb_row > .et_pb_column:first-child {
		width: 60%;
	}
	/* 2nd column, position it so it is vertically centerd and goes all the way to the right of the section */
	#hero-section > .et_pb_row > .et_pb_column:last-child {
		width: 36%;
	}
	/* if 3 buttons via class, then make this a little wider */
	#hero-section.hero-section-buttons-3 > .et_pb_row > .et_pb_column:last-child {
		width: 46%;
		right: -7%;
	}
	/* set the gap between modules */
	#hero-section > .et_pb_row > .et_pb_column > .et_pb_module:not(:last-child) {
		margin-bottom: 20px;
	}
	.top-title {
		margin-bottom: 15px!important;
	}
	/*#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper > .et_pb_button {
		font-size: 13px;
		padding: 16px 10px 18px !important;
	}*/
	#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper > .et_pb_button::before {
		font-size: 15px !important;
		top: 2px;
	}
	#hero-section.hero-section-buttons-3 > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
		max-width: 240px;
	}
}

/* make the bottom image be full width, and all the way at the bottom, but keep the content 80% wide */
@media (max-width: 980px) {
	#hero-section {
		padding-bottom: 0;
	}
	#hero-section > .et_pb_row {
		width: 100%;
		padding-bottom: 0;
	}
	#hero-section > .et_pb_row > .et_pb_column:first-child {
		padding-left: 10%;
		padding-right: 10%;
		margin-bottom: 5%;
		-webkit-justify-content: center;
		justify-content: center;
	}
	#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
		width: 100%;
		max-width:479px!important;
	}
	#hero-section.hero-section-button-wide > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
		max-width: 320px;
	}
	#hero-section.hero-section-buttons-2 > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
		max-width: 210px;
	}
	/* make the 3 buttons be centered early */
	#hero-section.hero-section-buttons-3 > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
		width: 100%;
		margin: 0 0 20px 0 !important;
		min-width: 100%;
		max-width: 100%;
	}
	#hero-section.hero-section-buttons-3 > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper > .et_pb_button {
		margin-left: auto;
		margin-right: auto;
		max-width: 479px;
		width:100%;
		display: table;
	}
	#hero-section > .et_pb_row > .et_pb_column:last-child > .et_pb_module.et_pb_image .et_pb_image_wrap,
	#hero-section > .et_pb_row > .et_pb_column:last-child > .et_pb_module.et_pb_image .et_pb_image_wrap img {
		width: 100%;
	}
}

/* adjust sizes of buttons to help them not get cut off too often */
@media (max-width: 767px) {
	/*#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper > .et_pb_button {
		font-size: 14px;
	}*/
	#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper > .et_pb_button::before {
		font-size: 15px !important;
		top: 1px;
	}
}

@media (max-width: 479px) {
	#hero-section > .et_pb_row > .et_pb_column:first-child .et_pb_text h1 {
		font-size: 42px;
		line-height: 1.1em;
	}
	/* home page */
	#hero-section > .et_pb_row > .et_pb_column:first-child .et_pb_text h1 {
		font-size: 56px;
	}
	#hero-section > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_button_module_wrapper {
		width: 100%;
		margin: 0 0 20px 0 !important;
		min-width: 100%;
		max-width: 100%;
	}
}

/* -- END HERO SECTIONS -- */



/* -- ESPANOL POPUPS --- */
html.pum-open.pum-open-overlay-disabled.pum-open-scrollable #pum-2352.pum-overlay.pum-active, html.pum-open.pum-open-overlay-disabled.pum-open-scrollable #pum-2407.pum-overlay.pum-active,
html.pum-open.pum-open-overlay-disabled.pum-open-scrollable #pum-3281.pum-overlay.pum-active{
    position: fixed;
    width: 100%;
    height: 100%;
}



/* --- INSURERS PAGE --- */
.insurer-blurb .et_pb_blurb_container {
    padding-left: 0px;
}
.insurer-blurb .et_pb_main_blurb_image {
    width: 28px!important;
}
.insurer-blurb span.et-waypoint.et_pb_animation_top.et-pb-icon.et-animated {
    padding-top: 5px;
}
@media (min-width: 981px) and (max-width: 1037px) {
	.insurer-blurb a {
		font-size:16px;
	}
}


/* --- HOVER STYLES --- */
/*blurbs with images*/
.zoom-blurb img {  
  transition:all 0.5s; 
  -moz-transition:all 0.5s; 
  -webkit-transition:all 0.5s; 
}
  
.zoom-blurb:hover img {
  transform:scale(1.1);
  -moz-transform: scale(1.1);
  -webkit-transform:scale(1.1);
}
.zoom-blurb div.et_pb_main_blurb_image {
  overflow:hidden;
  display:inline-block; /* not needed if images always wider than column */
}

/*hover text*/
.et_pb_text a:hover, .pro-bold .et_pb_text a:hover, span.press-email:hover, .insurer-blurb a:hover {
    color: #383ba8!important;
}
/*input color change on click*/
body .gform_wrapper .gform_body .gform_fields .gfield input[type=text]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=url]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=number]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=password]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield select:focus,
body .gform_wrapper .gform_body .gform_fields .gfield textarea:focus {
	border-color: #383ba8!important;
}



/*tablepress header color*/ 
.tablepress thead th {
    background-color: white!important;
    font-weight: 600!important;
}


/*assistor broker pop up*/
div#pum-4563 {
    position: fixed;
}


.policy-sticky {
	position: -webkit-sticky; /* Safari */
  	position: sticky;
  	top: 150px;
}


/* footer copy right tm size */
sup {
    font-size: 9px;
}



/* translator */
.country-selector.weglot-dropdown .wgcurrent, .country-selector.weglot-dropdown li {
    border: none;
    box-shadow: 1px 2px 18px 0px rgba(0,0,0,0.3);
}