/**
 * footer.css - Theme Builder footer + sticky mobile bar + quiz popup CSS.
 * Harvested from live compiled TB template CSS (et-core-unified-tb-*). Divi framework
 * header/menu/font rules stripped; image URLs localized. var(--accent) from modules.css.
 */
body,.et_pb_column_1_2 .et_quote_content blockquote cite,.et_pb_column_1_2 .et_link_content a.et_link_main_url,.et_pb_column_1_3 .et_quote_content blockquote cite,.et_pb_column_3_8 .et_quote_content blockquote cite,.et_pb_column_1_4 .et_quote_content blockquote cite,.et_pb_blog_grid .et_quote_content blockquote cite,.et_pb_column_1_3 .et_link_content a.et_link_main_url,.et_pb_column_3_8 .et_link_content a.et_link_main_url,.et_pb_column_1_4 .et_link_content a.et_link_main_url,.et_pb_blog_grid .et_link_content a.et_link_main_url,body .et_pb_bg_layout_light .et_pb_post p,body .et_pb_bg_layout_dark .et_pb_post p{font-size:14px}
.et_pb_slide_content,.et_pb_best_value{font-size:15px}
a{color:#143b37}
@media only screen and (min-width:1350px){.et_pb_row{padding:27px 0}.et_pb_section{padding:54px 0}.single.et_pb_pagebuilder_layout.et_full_width_page .et_post_meta_wrapper{padding-top:81px}.et_pb_fullwidth_section{padding:0}}
@media only screen and (max-width:980px){.et_close_search_field:after{color:#ffffff!important}}
h1,h2,h3,h4,h5,h6{font-family:'Gilda Display',Georgia,"Times New Roman",serif}
body,input,textarea,select{font-family:'Libre Franklin',Helvetica,Arial,Lucida,sans-serif}
.et-db #et-boc .et-l.et-l--footer .et_builder_inner_content{z-index:auto}
.et_pb_section_0_tb_footer.et_pb_section{padding-top:2.5rem;padding-bottom:2.5rem;background-color:#153b37!important}
.et_pb_row_0_tb_footer,.et_pb_row_3_tb_footer{width:90%;max-width:1440px}
.et_pb_row_0_tb_footer{align-items:center}
.et_pb_section_2_tb_footer.et_pb_section{padding-top:0rem;padding-bottom:0rem;background-color:#000000!important}
.et_pb_row_3_tb_footer.et_pb_row{padding-top:0px!important;padding-bottom:0px!important;padding-top:0px;padding-bottom:0px}
@media only screen and (max-width:980px){.et_pb_section_0_tb_footer.et_pb_section,.et_pb_section_2_tb_footer.et_pb_section{padding-top:3rem;padding-bottom:3rem}}
.et_pb_code_4 span{color:#E8A087}
.hero-buttons .btn{justify-content:flex-start;width:100%}
.btn-secondary{padding-left:34px}
.diamond-bg{}
.diamond-bg{}
.et_pb_code_1_tb_footer .contact-item{max-height:65px}
.footer-social i{font-size:20px;line-height:1;color:var(--accent)}
.ac-footer-grid{display:grid;grid-template-columns:33% 33% 33%}
@media (max-width:767px){.ac-footer-grid{display:grid;grid-template-columns:100%}}
.et-fb .go-away{display:block;text-align:center;color:white}
.go-away{display:none;margin-bottom:0px}
.ac-sticky-mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99999;background:#153b37;box-shadow:0 -2px 20px rgba(0,0,0,0.18);padding:0;margin:0}
.ac-sticky-mobile-bar__inner{display:flex;align-items:stretch;height:58px}
.ac-sticky-mobile-bar__half{flex:0 0 50%;max-width:50%;min-width:50%;display:flex;align-items:stretch}
.ac-sticky-mobile-bar__half--contact{background:#3c8880}
.ac-sticky-mobile-bar__half--quiz{background:#ff8b3d}
.ac-sticky-mobile-bar__btn{display:flex;align-items:center;justify-content:center;text-decoration:none!important;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:#fff!important;cursor:pointer;transition:opacity 0.2s ease;border:none;outline:none;-webkit-tap-highlight-color:transparent;padding:0 10px}
.ac-sticky-mobile-bar__btn:hover,.ac-sticky-mobile-bar__btn:active{opacity:0.88;text-decoration:none!important}
.ac-sticky-mobile-bar__btn--icon{flex:0 0 50%;max-width:50%;min-width:50%;background:transparent;padding:0}
.ac-sticky-mobile-bar__btn--quiz{flex:1;width:100%;background:transparent;text-align:center;line-height:1.15}
.ac-sticky-mobile-bar__divider{width:1px;background:rgba(255,255,255,0.2);flex-shrink:0}
.ac-sticky-mobile-bar__icon{font-size:18px;line-height:1}
.ac-sticky-popup{position:fixed;left:16px;right:16px;bottom:74px;z-index:100000;background:#fff;border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,0.22);padding:18px 16px;display:none;max-height:calc(100vh - 90px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.ac-sticky-popup.is-active{display:block}
.ac-sticky-popup iframe{display:block;width:100%!important;height:1200px!important;min-height:1200px;border:0!important}
.ViewWorkflowViewWorkflowAccessibilityButton{bottom:0px!important}
.ac-sticky-popup__title{font-size:18px;font-weight:700;margin:0 0 14px;color:#111;text-align:center}
.ac-sticky-popup__close{position:absolute;top:10px;right:12px;border:none;background:none;font-size:22px;line-height:1;color:#333;cursor:pointer;padding:0}
.ac-sticky-popup__options{display:flex;flex-direction:column;gap:12px;overflow:visible}
.ac-sticky-popup__option{text-align:center;border:1px solid rgba(0,0,0,0.1);border-radius:10px;padding:12px;background:#f8f8f8;max-height:none;overflow:visible}
.ac-sticky-popup__option-btn{display:block;width:100%;border:none;background:#3c8880;color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;padding:12px 10px;border-radius:8px;cursor:pointer;margin:0 0 8px}
.ac-sticky-popup__reason{margin:0;font-size:12px;line-height:1.4;color:#444}
.ac-sticky-popup__shortcode{display:none;margin-top:10px;height:400px;max-height:400px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.ac-sticky-popup__shortcode.is-active{display:block}
.ac-sticky-popup__option.is-open .ac-sticky-popup__option-btn,.ac-sticky-popup__option.is-open .ac-sticky-popup__reason{display:none}
@media (max-width:767px){.ac-sticky-mobile-bar{display:block}body{padding-bottom:58px!important}}
@media (min-width:768px){.ac-sticky-mobile-bar{display:block;left:auto;right:5%;bottom:0;width:auto;background:transparent;box-shadow:none}.ac-sticky-mobile-bar__inner{height:auto;display:block}.ac-sticky-mobile-bar__half--contact,.ac-sticky-mobile-bar__divider{display:none!important}.ac-sticky-mobile-bar__half{flex:none;max-width:none;min-width:0;display:block}.ac-sticky-mobile-bar__half--quiz{background:transparent}.ac-sticky-mobile-bar__btn--quiz{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:56px;padding:0 22px;background:#ff8b3d;border-radius:12px 12px 0 0;box-shadow:0 8px 24px rgba(0,0,0,0.18);white-space:nowrap}body{padding-bottom:0!important}.ac-sticky-popup{left:auto;right:5%;bottom:66px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 90px);overflow-y:auto}}
.et_pb_code_4 span{color:#E8A087}
.hero-buttons .btn{justify-content:flex-start;width:100%}
.btn-secondary{padding-left:34px}
.diamond-bg{}
.diamond-bg{}
.et_pb_code_1_tb_footer .contact-item{max-height:65px}
.footer-social i{font-size:20px;line-height:1;color:var(--accent)}
.ac-footer-grid{display:grid;grid-template-columns:33% 33% 33%}
@media (max-width:767px){.ac-footer-grid{display:grid;grid-template-columns:100%}}
.et-fb .go-away{display:block;text-align:center;color:white}
.go-away{display:none;margin-bottom:0px}
.ac-sticky-mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99999;background:#153b37;box-shadow:0 -2px 20px rgba(0,0,0,0.18);padding:0;margin:0}
.ac-sticky-mobile-bar__inner{display:flex;align-items:stretch;height:58px}
.ac-sticky-mobile-bar__half{flex:0 0 50%;max-width:50%;min-width:50%;display:flex;align-items:stretch}
.ac-sticky-mobile-bar__half--contact{background:#3c8880}
.ac-sticky-mobile-bar__half--quiz{background:#ff8b3d}
.ac-sticky-mobile-bar__btn{display:flex;align-items:center;justify-content:center;text-decoration:none!important;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:#fff!important;cursor:pointer;transition:opacity 0.2s ease;border:none;outline:none;-webkit-tap-highlight-color:transparent;padding:0 10px}
.ac-sticky-mobile-bar__btn:hover,.ac-sticky-mobile-bar__btn:active{opacity:0.88;text-decoration:none!important}
.ac-sticky-mobile-bar__btn--icon{flex:0 0 50%;max-width:50%;min-width:50%;background:transparent;padding:0}
.ac-sticky-mobile-bar__btn--quiz{flex:1;width:100%;background:transparent;text-align:center;line-height:1.15}
.ac-sticky-mobile-bar__divider{width:1px;background:rgba(255,255,255,0.2);flex-shrink:0}
.ac-sticky-mobile-bar__icon{font-size:18px;line-height:1}
.ac-sticky-popup{position:fixed;left:16px;right:16px;bottom:74px;z-index:100000;background:#fff;border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,0.22);padding:18px 16px;display:none;max-height:calc(100vh - 90px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.ac-sticky-popup.is-active{display:block}
.ac-sticky-popup iframe{display:block;width:100%!important;height:1200px!important;min-height:1200px;border:0!important}
.ViewWorkflowViewWorkflowAccessibilityButton{bottom:0px!important}
.ac-sticky-popup__title{font-size:18px;font-weight:700;margin:0 0 14px;color:#111;text-align:center}
.ac-sticky-popup__close{position:absolute;top:10px;right:12px;border:none;background:none;font-size:22px;line-height:1;color:#333;cursor:pointer;padding:0}
.ac-sticky-popup__options{display:flex;flex-direction:column;gap:12px;overflow:visible}
.ac-sticky-popup__option{text-align:center;border:1px solid rgba(0,0,0,0.1);border-radius:10px;padding:12px;background:#f8f8f8;max-height:none;overflow:visible}
.ac-sticky-popup__option-btn{display:block;width:100%;border:none;background:#3c8880;color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;padding:12px 10px;border-radius:8px;cursor:pointer;margin:0 0 8px}
.ac-sticky-popup__reason{margin:0;font-size:12px;line-height:1.4;color:#444}
.ac-sticky-popup__shortcode{display:none;margin-top:10px;height:400px;max-height:400px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.ac-sticky-popup__shortcode.is-active{display:block}
.ac-sticky-popup__option.is-open .ac-sticky-popup__option-btn,.ac-sticky-popup__option.is-open .ac-sticky-popup__reason{display:none}
@media (max-width:767px){.ac-sticky-mobile-bar{display:block}body{padding-bottom:58px!important}}
@media (min-width:768px){.ac-sticky-mobile-bar{display:block;left:auto;right:5%;bottom:0;width:auto;background:transparent;box-shadow:none}.ac-sticky-mobile-bar__inner{height:auto;display:block}.ac-sticky-mobile-bar__half--contact,.ac-sticky-mobile-bar__divider{display:none!important}.ac-sticky-mobile-bar__half{flex:none;max-width:none;min-width:0;display:block}.ac-sticky-mobile-bar__half--quiz{background:transparent}.ac-sticky-mobile-bar__btn--quiz{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:56px;padding:0 22px;background:#ff8b3d;border-radius:12px 12px 0 0;box-shadow:0 8px 24px rgba(0,0,0,0.18);white-space:nowrap}body{padding-bottom:0!important}.ac-sticky-popup{left:auto;right:5%;bottom:66px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 90px);overflow-y:auto}}
.et_pb_section_3.et_pb_section{padding-top:2.5rem;padding-bottom:0rem}
.et_pb_row_4.et_pb_row{padding-top:0px!important;padding-bottom:0px!important;padding-top:0px;padding-bottom:0px}
.et_pb_row_4{width:90%;max-width:1440px}
.et_pb_code_3{padding-top:0px;padding-bottom:0px}
.et_pb_column_4{padding-top:0px}
@media only screen and (max-width:980px){.et_pb_section_3.et_pb_section{padding-top:3rem;padding-bottom:0rem}}
@media only screen and (max-width:767px){.et_pb_section_3.et_pb_section{padding-top:2.5rem;padding-bottom:0rem}}
/* ---- Footer social icons: diamond frames + Font Awesome brand glyphs ----
 * Replaces Divi's ETmodules-font social module (avoids coupling to the Divi theme).
 * Font Awesome 6 is already loaded by footer.php (sticky bar). */
.et_pb_social_media_follow { list-style: none; margin: 0; padding: 0; }
.et_pb_social_media_follow.et_pb_text_align_right { text-align: right; }
.et_pb_social_media_follow li { display: inline-block; position: relative; margin: 0 0 0 15px; }
.et_pb_social_media_follow a.icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	text-decoration: none;
}
/* hide the visible "Follow" label (kept for a11y) */
.et_pb_social_media_follow_network_name {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0; padding: 0; margin: -1px;
}
.et_pb_social_media_follow a.icon::after {
	content: ""; width: 100%; height: 100%; position: absolute;
	border: 1px solid var(--accent); top: 0; left: 0;
	transform: rotate(45deg);
	transition: background 0.3s ease, transform 0.3s cubic-bezier(0.4,0,0.2,1);
}
.et_pb_social_media_follow a.icon:hover::after { background: var(--accent); transform: rotate(270deg); }
.et_pb_social_media_follow a.icon::before {
	font-family: "Font Awesome 6 Brands";
	font-weight: 400;
	position: relative; z-index: 1;
	font-size: 15px; line-height: 1;
	color: var(--accent);
	transition: color 0.3s ease;
}
.et_pb_social_media_follow a.icon:hover::before { color: var(--dark); }
.et-social-facebook  a.icon::before { content: "\f39e"; }
.et-social-youtube   a.icon::before { content: "\f167"; }
.et-social-instagram a.icon::before { content: "\f16d"; }
.et-social-linkedin  a.icon::before { content: "\f0e1"; }

/* ---- _tb_footer per-module padding / bg / text (from live compiled deferred CSS) ---- */
.et_pb_section_1_tb_footer.et_pb_section{padding-bottom:1rem;background-color:#1a4a45!important}
.et_pb_section_1_tb_footer{background:var(--dark-mid)!important}
.et_pb_row_1_tb_footer{border-bottom-width:1px;border-bottom-color:rgba(255,255,255,0.08)}
.et_pb_row_1_tb_footer.et_pb_row,.et_pb_row_2_tb_footer.et_pb_row{padding-bottom:0px!important;padding-bottom:0px}
.et_pb_row_1_tb_footer,.et_pb_row_2_tb_footer{width:90%;max-width:1440px}
.et_pb_image_0_tb_footer .et_pb_image_wrap{border-radius:3px 3px 3px 3px;overflow:hidden}
.et_pb_image_0_tb_footer .et_pb_image_wrap img{max-height:700px;width:auto}
.et_pb_image_0_tb_footer{margin-bottom:0px!important;text-align:left;margin-left:0}
.et_pb_code_3_tb_footer{margin-top:2rem!important;margin-bottom:2rem!important}
.et_pb_row_2_tb_footer{background-color:RGBA(255,255,255,0)}
.et_pb_text_0_tb_footer.et_pb_text{color:#FFFFFF!important}
.et_pb_text_0_tb_footer{line-height:1.8em;font-size:12px;line-height:1.8em;margin-bottom:0px!important}
.et_pb_text_0_tb_footer.et_pb_text a{color:#FFFFFF!important;transition:color 300ms ease 0ms}
.et_pb_text_0_tb_footer.et_pb_text a:hover{color:#fec144!important}
.et_pb_text_0_tb_footer a{font-size:22px;line-height:1.5em}
.et_pb_text_0_tb_footer h2{font-weight:700;font-size:40px;color:#133b37!important;line-height:1.2em}
.et_pb_text_0_tb_footer h3{font-weight:600;color:#133b37!important}
.et_pb_text_0_tb_footer h6{font-weight:600;text-transform:uppercase;font-size:16px;color:#ffb342!important;letter-spacing:2px;line-height:1.5em;text-shadow:0.01em 0.01em 0em #f27e1f}
.et_pb_text_0_tb_footer.et_pb_module{margin-left:0px!important;margin-right:auto!important}
/* ============================================================
 * Footer contact block — extracted from the live tmj-anchor modules.css
 * (+ base.css .contact-item.white). The footer markup (.contact-item /
 * .contact-icon / .contact-icon svg) is styled there, not in footer.css;
 * without these the icon SVGs render unsized (the giant-black-blob bug).
 * Vars resolve against the :root in tmj-header.css.
 * ============================================================ */
.contact-item { display: flex; align-items: center; gap: 1.25rem; color: var(--text-light); }
.contact-item.white { align-items: flex-start; }
.contact-icon { width: 50px; height: 50px; flex-shrink: 0; position: relative; }
.contact-icon::before { content: ""; position: absolute; inset: 0; border: 1px solid var(--light); transform: rotate(45deg); }
.contact-icon svg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 20px; height: 20px; stroke: var(--accent); stroke-width: 1.5; fill: none; }
.contact-item h4 { font-family: "Cormorant Garamond", serif; font-size: 1.1rem; font-weight: 500; margin-bottom: 0.25rem; }
.contact-item p { font-size: 0.9rem; color: var(--text-muted-light); }

/* ============================================================
 * Divi column grid — the ported footer is Divi Theme Builder markup whose
 * columns (et_pb_column_1_3 thirds) need Divi's grid geometry, which lives in
 * tmj-anchor/layout.css (not ported wholesale — its .et_pb_section{background:#fff}
 * would whiten the footer). Lifted the column rules only, SCOPED to .et-l--footer
 * so they can never touch framework body content (which has no et_pb classes).
 * footer.css already sets the footer section bg + row widths.
 * ============================================================ */
.et-l--footer .et_pb_column { float: left; position: relative; z-index: 2; min-height: 1px; }
.et-l--footer .et_pb_column.et_pb_column_empty { display: none; }
.et-l--footer .et_pb_row::after { content: ""; display: table; clear: both; }
@media (min-width: 981px) {
  .et-l--footer .et_pb_row .et_pb_column { margin-right: 5.5%; }
  .et-l--footer .et_pb_row .et_pb_column:last-child,
  .et-l--footer .et_pb_row .et_pb_column.et-last-child { margin-right: 0; }
  .et-l--footer .et_pb_column_4_4 { width: 100%; margin-right: 0 !important; }
  .et-l--footer .et_pb_column_2_3 { width: 64.833%; }
  .et-l--footer .et_pb_column_1_2 { width: 47.25%; }
  .et-l--footer .et_pb_column_1_3 { width: 29.6667%; }
  .et-l--footer .et_pb_row.et_pb_equal_columns { display: flex; align-items: stretch; }
  .et-l--footer .et_pb_row.et_pb_equal_columns > .et_pb_column { display: flex; flex-direction: column; }
}
@media (max-width: 980px) {
  .et-l--footer .et_pb_row.et_pb_equal_columns { display: block; }
  .et-l--footer .et_pb_column { width: 100% !important; margin: 0 0 30px; float: none; }
}
