/*
 Theme Name:  Divi Child Theme
 Theme URI:    https://divilife.com
 Description:  Child Theme for Divi
 Author:       Tim Strifler
 Author URI:   https://divilife.com
 Template:     Divi
 Version:      1.0.0
*/

/*****Add any custom CSS below this line*****/
h1, h2, h3 { font-weight: 900 !important; font-family: "Sofia Sans Condensed", sans-serif !important; font-optical-sizing: auto; font-style: italic; }
.text-green { color: #BDD962 !important;}
.font-ss, .font-ss p { font-family: "Sofia Sans Condensed", sans-serif !important; }

#mainNav .et_pb_row { max-width: 100% !important; width: 100% !important; }
#mainNav .menu-item { padding: 0; display: block; }
#mainNav .menu-item a { font-family: 'Sofia Sans Condensed' !important; padding: 8px 11px !important; line-height: 1em; border-bottom: 3px solid rgba(255,255,255,0); display: block; width: 100%;}
#mainNav .menu-item a:hover { opacity: 1 !important; border-bottom: 3px solid #11B5EA;}
#mainNav .sub-menu .menu-item:hover  { background: #e5f7ff; }
#mainNav .sub-menu .menu-item a  { border: none !important; font-size: 16px !important; font-weight: 400 !important; text-transform: none !important; font-family: 'Poppins' !important;  padding: 11px 14px !important; }
.et-menu .menu-item-has-children > a:hover { border: none !important;}
#mainNav .navBtn { padding-left: 10px; }
#mainNav .navBtn a { outline: none !important;  font-size: 22px; line-height: 1em !important; font-weight: 800 !important; background: #BDD962; border-radius: 8px; padding: 8px 20px !important; border: none; }
#mainNav .navBtn a:hover { border-bottom: 0px; background: #00345A; color: #ffffff !important;}

.et_pb_button_module_wrapper .et_pb_button, .et_pb_button_module_wrapper .et_pb_button:hover { font-family: "Sofia Sans Condensed", sans-serif !important; font-optical-sizing: auto; font-style: normal; font-weight: 800 !important; outline: 2px solid #11B5EA; outline-offset: 4px; padding: 16px 36px !important; line-height: 24px !important; }
.et_pb_button_module_wrapper .et_pb_button:hover { background: #00345A; }
.et_pb_button_module_wrapper .et_pb_button.green-btn { outline: 2px solid #ffffff; }
.et_pb_button_module_wrapper .et_pb_button.green-btn:hover { background: #11B5EA !important; }
h2 { font-size: clamp(36px, 24px + 2.5vw, 54px) !important; text-transform: uppercase !important; }
.highlight:before { content: ""; display: block; height: 180px; width: 180px; background-color: #E5F7FF; border-radius: 100px; position: absolute; left: -80px; top: -30px; }
.highlight.dark:before { background-color: #04406C; }
.align-middle { align-items: center; }
.icon-circle .et_pb_image_wrap { height: 60px;  width: 60px; background: #0E64A3; text-align: center; line-height: 70px; border-radius: 30px; }
.stats-row { position: relative; }
.stats-row::before { content: ""; position: absolute; top: -30px; left: 12%; right: 12%; border-top: 1px dashed #ffffff; }
.stats-dot { position: relative; }
.stats-dot::before { content: ""; position: absolute; top: -40px; left: 50%; transform: translateX(-50%); width: 20px; height: 20px; background: #BDD962; border-radius: 50%; z-index: 2; }
.stats-dot sup { font-size: 28px; }
.stats-dot small { font-size: 16px; }
/*.icon-dot { position: relative; padding-left: 30px; }
.icon-dot:before { content: ""; height: 60px; width: 60px; border-radius: 50%; display: block; background: #BDD962; position: absolute; z-index: -1; left: 0; top: -15px; }*/
.title-dot h3:before, .title-dot p:before { content: ""; height: 30px; width: 30px; background: #BDD962; display: block; border-radius: 50%; position: absolute; left: -15px; top: -5px;  z-index: -1; }
.has-checklist ul,  ul.checklist { list-style: none; }
.has-checklist ul li, ul.checklist li { position: relative; padding-left: 18px; font-size: 0.9em; }
.has-checklist ul li:before, ul.checklist li:before { content: "\f105"; font-family: 'Font Awesome 7 Free'; font-weight: 700; color: #0E64A3; position: absolute; left: 0; font-size: 14px;  }
.has-checklist.dark ul li:before { color: #11B5EA;  }
.icon-list-box h3 { font-family: 'Poppins' !important; font-weight: 700 !important; font-style: normal;}
.icon-list-box .et-pb-icon { padding-left: 20px !important; }
.icon-list-box .et-pb-icon:before { content: ""; height: 60px; width: 60px; border-radius: 50%; display: block; background: #BDD962; position: absolute; z-index: -1; left: 0; top: -15px; }

.vertical-accordion-row { display: flex; width: 100%; height: 500px; }
.vertical-accordion-item { flex: 0 0 10%; position: relative; overflow: hidden; transition: flex-basis 0.4s ease; cursor: pointer; }
.vertical-accordion-header--closed { position: absolute; bottom: 0; left: 20px; transform: rotate(-90deg); transform-origin: left top; white-space: nowrap; transition: opacity 0.25s ease; }
.vertical-accordion-content { opacity: 0; transition: opacity 0.3s ease; position: absolute; bottom: 0; left: 0; width: 100%; padding: 25px;}
.vertical-accordion-item.active { flex: 0 0 50%; }
.vertical-accordion-item:not(.active) { min-width: 80px; }
.vertical-accordion-item.active .vertical-accordion-header--closed { opacity: 0; pointer-events: none; }
.vertical-accordion-item.active .vertical-accordion-content { opacity: 1; transition-delay: 0.15s; }

.card-box { min-height: 480px; position: relative; }
.card-box .et_pb_button_module_wrapper { position: absolute; bottom: 40px; left: 30px;}
.card-box .et_pb_button { outline: none !important; position: relative; display: inline-block !important; }
.card-box .et_pb_button:hover { letter-spacing: 1px !important;}
.card-box .et_pb_button:before { content: "\24"; opacity: 1; display: block; font-size: 18px; position: absolute; right: -30px; top: 2px; font-family: "ETmodules"; font-weight: 700;}
.pillarWrap .pillar { height: 400px; position: relative; }
.pillar .et_pb_blurb_content { max-width: 100%; width: 100%; padding: 14px 20px; background: rgba(14,100,163,0.8); position: absolute; bottom: 0; left: 0; right: 0;}
.pillar .et_pb_blurb_content h3.et_pb_module_header { margin: 0 !important; padding: 0; font-family: 'Poppins' !important; font-weight: 300 !important; font-style: normal !important;}
.pillar .et_pb_blurb_content h3.et_pb_module_header span:after { content: '\24'; font-family: "ETmodules"; font-weight: 300; display: inline-block; opacity: 1; margin-left: 8px;}
.gform_fields select option { color: #000000 !important; }
.gform_fields input[type="checkbox"] { background: #ffffff !important; }
.fa-ul { list-style: none !important; margin-left: 20px !important; }
.fa-ul li { margin-bottom: 10px; }
.single-post h3, .single-post .et_pb_accordion .et_pb_toggle h3.et_pb_toggle_title, .single-post .et_pb_accordion .et_pb_toggle.et_pb_toggle_open h3.et_pb_toggle_title { text-transform: uppercase; font-size: 32px !important; color: #00345A !important;}

@media screen and (max-width: 1500px) {
	#mainNav .headerRow { padding: 20px !important; }
	#mainNav .headerRow .menu-item a { padding: 8px 8px !important; font-size: 21px; }
	#mainNav .headerRow .navBtn a { padding: 8px 10px !important; font-size: 19px; }
}

@media screen and (max-width: 1300px) {
	#mainNav .headerRow { padding: 20px !important; }
	#mainNav .et_pb_menu__logo img { width: 200px !important; }
	#mainNav .headerRow .menu-item a { padding: 8px 8px !important; font-size: 18px; }
	#mainNav .headerRow .navBtn a { padding: 8px 10px !important; font-size: 17px; }
}

@media screen and (min-width: 981px) and (max-width: 1140px) {
	#mainNav .headerRow .menu-item a { font-size: 16px; }
	#mainNav .headerRow .navBtn { display: none !important; }
}

@media screen and (max-width: 980px) {
	.et_pb_button_module_wrapper .et_pb_button, .et_pb_button_module_wrapper .et_pb_button:hover { padding: 12px 24px !important; font-size: 18px !important; line-height: 18px !important; }
	.stats-row::before, .stats-dot::before { display: none; }
 	.stats-row .stats-dot { margin-bottom: 40px !important;}
	.vertical-accordion-row { flex-direction: column; height: auto; }
	.vertical-accordion-row { flex-direction: column; height: auto; padding: 0 15px; }
	.vertical-accordion-item { flex: none; width: 100% !important; min-width: 0; margin: 0 0 10px !important; }
	.vertical-accordion-content { display: none; opacity: 1; padding: 20px 0 0; position: static; }
	.vertical-accordion-item.active .vertical-accordion-content { display: block; }
	.vertical-accordion-header--closed { left: 60px; top: 50%; transform: translateY(-50%); opacity: 1; pointer-events: auto; margin-bottom: 0; width: 100%; height: 1em !important; }
	.vertical-accordion-header--open { display: none; }
}

@media screen and (max-width: 767px) {
	body, body p { font-size: 18px !important; line-height: 26px !important; }
	.vertical-accordion-step p { font-size: 40px !important;}
	.vertical-accordion-header--closed p { font-size: 28px !important; line-height: 1em !important; } 
	.vertical-accordion-row .vertical-accordion-item { margin-bottom: 10px !important; }
	.vertical-accordion-content p { font-size: inherit !important; }
}

@media screen and (max-width: 479px) {
	.et_pb_section .vertical-accordion-row .vertical-accordion-item { margin-bottom: 10px !important; }
}

@media screen and (min-width: 981px) {
.et-menu .menu-item-has-children>a:first-child:after { display: none; }
}