:root{--afh-teal:#38A6C6;--afh-ink:#14313C;--afh-deep:#10404F;--afh-mid:#17607A;--afh-tint:#E6F4F9;--afh-lite:#79C0DC;--afh-grn:#5F7C39;--afh-grnh:#526B31;--afh-ondk:#D7E8EF;--afh-ondk2:#A9C8D4;--afh-line:#D9E6EB;--afh-font:'Martel Sans',system-ui,-apple-system,sans-serif}
.afh-hdr *,.afh-ftr *,.afh-util *{box-sizing:border-box}
.afh-skip{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--afh-teal);color:var(--afh-ink);padding:14px 22px;font:700 16px/1 var(--afh-font);border-radius:0 0 6px 0}
.afh-skip:focus{left:0}
.afh-util{background:var(--afh-teal);color:var(--afh-ink);font:600 14px/1.4 var(--afh-font)}
.afh-util__in{width:100%;max-width:1220px;margin:0 auto;padding:8px 20px;display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;justify-content:space-between;min-height:42px}
.afh-util__in>*{min-width:0}
@media(min-width:1460px){.afh-util__in{max-width:1340px}}
.afh-util a{color:var(--afh-ink);text-decoration:none}
.afh-util a:hover,.afh-util a:focus-visible{color:#08262F;text-decoration:underline}
.afh-util__l,.afh-util__r{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center}
.afh-util svg{width:15px;height:15px;vertical-align:-2px;margin-right:6px;fill:none;stroke:var(--afh-ink);stroke-width:2.2}
@media(max-width:1024px){.afh-util__l{display:none}.afh-util__in{justify-content:center}}
.afh-hdr{position:sticky;top:0;z-index:900;background:#fff;border-bottom:3px solid var(--afh-teal);box-shadow:0 2px 14px rgba(20,49,60,.07)}
.admin-bar .afh-hdr{top:32px}
@media(max-width:782px){.admin-bar .afh-hdr{top:46px}}
.afh-bar{width:100%;max-width:1220px;margin:0 auto;padding:11px 20px;display:flex;flex-wrap:nowrap;align-items:center;gap:16px;min-height:82px}
.afh-bar>*{min-width:0}
@media(min-width:1460px){.afh-bar{max-width:1340px}}
.afh-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 1 auto;min-width:0}
.afh-brand__t{min-width:0}
.afh-brand__mark{width:46px;height:46px;flex:0 0 auto}

.afh-brand__t{display:flex;flex-direction:column;line-height:1}
.afh-brand__a{font:800 17px/1 var(--afh-font);letter-spacing:-.02em;color:var(--afh-ink);text-transform:uppercase}
.afh-brand__b{font:600 10.5px/1 var(--afh-font);letter-spacing:.13em;text-transform:uppercase;color:var(--afh-mid);margin-top:5px}



@media(max-width:430px){.afh-brand__mark{width:40px;height:40px}.afh-brand__a{font-size:15px}.afh-brand__b{font-size:9px}}
.afh-nav{margin-left:auto;display:none}
@media(min-width:1200px){.afh-nav{display:block;min-width:0}}
.afh-nav ul{list-style:none;margin:0;padding:0}
.afh-nav__list{display:flex;align-items:center;gap:2px}
.afh-nav__list li{position:relative}
.afh-nav__list>li>a{display:flex;align-items:center;gap:6px;padding:10px 11px;border-radius:6px;font:700 15px/1.2 var(--afh-font);color:var(--afh-ink);text-decoration:none;white-space:nowrap}
.afh-nav__list>li>a:hover,.afh-nav__list>li:focus-within>a{background:var(--afh-tint)}
.afh-nav__list>li.current-menu-item>a{color:var(--afh-mid);box-shadow:inset 0 -4px 0 var(--afh-teal)}
.afh-nav__list>li.menu-item-has-children>a::after{content:'';width:7px;height:7px;border-right:2.4px solid currentColor;border-bottom:2.4px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.afh-nav__list .sub-menu{position:absolute;top:calc(100% + 4px);left:-6px;min-width:264px;background:#fff;border:1px solid var(--afh-line);border-left:4px solid var(--afh-teal);border-radius:12px;box-shadow:0 18px 44px rgba(20,49,60,.16);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .14s ease,transform .14s ease,visibility .14s}
.afh-nav__list>li:hover>.sub-menu,.afh-nav__list>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.afh-nav__list .sub-menu a{display:block;padding:11px 13px;border-radius:6px;text-decoration:none;color:#3D5A66;font:500 15.5px/1.35 var(--afh-font)}
.afh-nav__list .sub-menu a:hover,.afh-nav__list .sub-menu a:focus-visible{background:var(--afh-tint);color:var(--afh-ink)}
.afh-acts{margin-left:auto;display:flex;align-items:center;gap:12px;flex:0 0 auto}
@media(min-width:1200px){.afh-acts{margin-left:0}}
.afh-tel{display:none;font:700 17px/1 var(--afh-font);color:var(--afh-ink);text-decoration:none;white-space:nowrap;align-items:center;gap:8px}
.afh-tel:hover{color:var(--afh-mid)}
@media(min-width:1460px){.afh-tel{display:inline-flex}}
.afh-cta{display:none;align-items:center;min-height:52px;padding:14px 22px;border-radius:6px;background:var(--afh-grn);color:#fff;text-decoration:none;font:700 16px/1 var(--afh-font);white-space:nowrap}
.afh-cta:hover,.afh-cta:focus-visible{background:var(--afh-grnh);color:#fff}
@media(min-width:780px){.afh-cta{display:inline-flex}}
.afh-burger{display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:12px 18px;background:var(--afh-deep);color:#fff;border:0;border-radius:6px;cursor:pointer;font:700 15.5px/1 var(--afh-font)}
.afh-burger:hover{background:var(--afh-mid)}
.afh-burger svg{width:19px;height:19px;stroke:#fff;stroke-width:2.4;fill:none}
@media(min-width:1200px){.afh-burger{display:none}}
.afh-mob{display:none;border-top:1px solid var(--afh-line);background:#fff;max-height:calc(100vh - 130px);overflow-y:auto}
.afh-mob[data-open='1']{display:block}
.afh-mob ul{list-style:none;margin:0;padding:0}
.afh-mob li{border-bottom:1px solid var(--afh-line)}
.afh-mob__row{display:flex;align-items:stretch}
.afh-mob a{display:block;padding:17px 20px;min-height:56px;text-decoration:none;font:700 17px/1.3 var(--afh-font);color:var(--afh-ink);flex:1}
.afh-mob a:hover,.afh-mob a:focus-visible{background:var(--afh-tint)}
.afh-mob__tog{width:64px;flex:0 0 auto;border:0;border-left:1px solid var(--afh-line);background:none;cursor:pointer;color:var(--afh-mid);display:flex;align-items:center;justify-content:center}
.afh-mob__tog:hover{background:var(--afh-tint)}
.afh-mob__tog svg{width:16px;height:16px;stroke:currentColor;stroke-width:3;fill:none;transition:transform .18s ease}
.afh-mob__tog[aria-expanded='true'] svg{transform:rotate(180deg)}
.afh-mob .sub-menu{display:none;background:#F7FBFC}
.afh-mob .sub-menu[data-open='1']{display:block}
.afh-mob .sub-menu a{padding-left:34px;font-weight:500;font-size:16px;min-height:52px}
.afh-mob__foot{padding:16px 20px;display:grid;gap:10px}
.afh-mob__foot a{text-align:center;border-radius:6px;min-height:54px;display:flex;align-items:center;justify-content:center;padding:14px;font-weight:700}
.afh-mob__foot .p{background:var(--afh-grn);color:#fff}
.afh-mob__foot .s{background:var(--afh-deep);color:#fff}
.afh-ftr{background:var(--afh-deep);color:var(--afh-ondk2);border-top:7px solid var(--afh-teal);font:400 16px/1.7 var(--afh-font)}
.afh-ftr__in{max-width:1220px;margin:0 auto;padding:56px 20px 0}
.afh-ftr__cols{display:grid;gap:34px;padding-bottom:40px}
@media(min-width:660px){.afh-ftr__cols{grid-template-columns:1fr 1fr}}
@media(min-width:1020px){.afh-ftr__cols{grid-template-columns:1.45fr 1fr 1fr 1fr}}
.afh-ftr h2{color:var(--afh-lite);font:700 13px/1 var(--afh-font);letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
.afh-ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.afh-ftr a{color:var(--afh-ondk);text-decoration:none}
.afh-ftr a:hover,.afh-ftr a:focus-visible{color:var(--afh-lite);text-decoration:underline}
.afh-ftr address{font-style:normal;line-height:1.75}
.afh-ftr__name{color:#fff;font-weight:700;font-size:17px;display:block;margin-bottom:8px}
.afh-ftr__tel{color:#fff;font-weight:700;font-size:21px;text-decoration:none;display:inline-block;margin:6px 0}
.afh-ftr__note{border-top:1px solid rgba(255,255,255,.14);padding:20px 0 24px;font-size:14px;color:#8FB3C0;max-width:90ch}
.afh-ftr__note strong{color:#fff}
.afh-ftr__bar{border-top:1px solid rgba(255,255,255,.14);padding:20px 0;display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;align-items:center;font-size:14px}
.afh-ftr__bar ul{display:flex;flex-wrap:wrap;gap:8px 20px}
.afh-mbar{position:fixed;left:0;right:0;bottom:0;z-index:880;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--afh-deep);box-shadow:0 -4px 18px rgba(16,64,79,.28)}
@media(min-width:780px){.afh-mbar{display:none}}
.afh-mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;font:700 16px/1 var(--afh-font);text-decoration:none;padding:10px}
.afh-mbar a:first-child{background:var(--afh-teal);color:var(--afh-ink)}
.afh-mbar a:last-child{background:var(--afh-grn);color:#fff}
.afh-mbar svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none}
@media(max-width:779px){body{padding-bottom:58px}}
.afh-hdr a:focus-visible,.afh-hdr button:focus-visible,.afh-util a:focus-visible{outline:3px solid var(--afh-deep);outline-offset:2px}
.afh-ftr a:focus-visible,.afh-mbar a:focus-visible{outline:3px solid var(--afh-lite);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.afh-nav__list .sub-menu,.afh-mob__tog svg{transition:none}}
.afh-mob__tog{font:400 24px/1 var(--afh-font)}
.afh-mob__list{border-top:0}

.afh-util__r a:last-child{font-weight:800;font-size:15px}
.afh-hdr{max-width:100%}
.afh-util,.afh-ftr,.afh-mbar{max-width:100%;overflow-x:clip;overflow-y:visible}

.afh-hdr .afh-brand{--afh-logo-h:52px}
.afh-hdr .afh-brand .afh-brand__logo{height:var(--afh-logo-h);max-height:var(--afh-logo-h);width:auto;max-width:min(100%,calc(var(--afh-logo-h) * 2.7));display:block;flex:0 0 auto;object-fit:contain}
@media(max-width:1200px){.afh-hdr .afh-brand{--afh-logo-h:48px}}
@media(max-width:900px){.afh-hdr .afh-brand{--afh-logo-h:44px}}
@media(max-width:600px){.afh-hdr .afh-brand{--afh-logo-h:38px}}
@media(max-width:400px){.afh-hdr .afh-brand{--afh-logo-h:32px}}
.afh-bar{min-height:76px}
@media(max-width:600px){.afh-bar{min-height:66px;padding:8px 16px;gap:12px}}

/* comparison tables: Elementor does not style raw tables, so this does */
.afh-table,.afh-table .elementor-widget-container{overflow-x:auto;-webkit-overflow-scrolling:touch}
.afh-table table{border-collapse:separate;border-spacing:0;width:100%;min-width:660px;margin:0;
  background:#fff;border:1px solid #D9E6EB;border-radius:14px;overflow:hidden;font-family:var(--afh-font)}
.afh-table thead th{background:#38A6C6;color:#14313C;font-weight:800;font-size:13.5px;
  letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:15px 18px;border:0;white-space:nowrap}
.afh-table tbody tr:nth-child(even){background:#F7FBFC}
.afh-table tbody th{text-align:left;padding:16px 18px;border-top:1px solid #D9E6EB;vertical-align:top;font-weight:400}
.afh-table tbody th b{display:block;color:#14313C;font-weight:800;font-size:16.5px;line-height:1.3}
.afh-table tbody th span{display:block;margin-top:3px;color:#1B6C85;font-weight:700;font-size:12px;letter-spacing:.1em}
.afh-table tbody td{color:#3D5A66;padding:16px 18px;border-top:1px solid #D9E6EB;vertical-align:top;font-size:16px;line-height:1.55}
.afh-table tbody tr:first-child th,.afh-table tbody tr:first-child td{border-top:0}
@media(max-width:700px){.afh-table table{font-size:15px}.afh-table thead th{font-size:12.5px;padding:13px 14px}
 .afh-table tbody th,.afh-table tbody td{padding:14px}}
/* FAQ accordion. Elementor renders native details/summary, so this only dresses it. */
.afh-faq .e-n-accordion{display:grid;gap:12px}
.afh-faq .e-n-accordion-item{background:#fff;border:1px solid #D9E6EB;border-radius:10px;overflow:hidden}
.afh-faq .e-n-accordion-item[open]{border-color:#A9DCEB}
.afh-faq .e-n-accordion-item-title{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:19px 22px;min-height:64px;cursor:pointer;list-style:none;background:#fff}
.afh-faq .e-n-accordion-item-title::-webkit-details-marker{display:none}
.afh-faq .e-n-accordion-item-title::marker{content:''}
.afh-faq .e-n-accordion-item-title:hover{background:#F7FBFC}
.afh-faq .e-n-accordion-item[open] .e-n-accordion-item-title{background:#E6F4F9}
.afh-faq .e-n-accordion-item-title-header{min-width:0}
.afh-faq .e-n-accordion-item-title-text{margin:0;font:800 19.5px/1.35 var(--afh-font);color:#14313C;letter-spacing:-.2px}
.afh-faq .e-n-accordion-item-title-icon{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;
  border-radius:50%;background:#E6F4F9;color:#1B6C85}
.afh-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon{background:#fff}
.afh-faq .e-n-accordion-item-title-icon svg{width:14px;height:14px;fill:currentColor}
.afh-faq .e-n-accordion-item-title:focus-visible{outline:3px solid #1B6C85;outline-offset:-3px}
@media(max-width:600px){
  .afh-faq .e-n-accordion-item-title{padding:15px 16px;min-height:58px;gap:12px}
  .afh-faq .e-n-accordion-item-title-text{font-size:17.5px}
  .afh-faq .e-n-accordion-item-title-icon{width:30px;height:30px}
}
.afh-hours table{min-width:0}
.afh-hours thead{display:none}
.afh-hours tbody th{width:45%;white-space:nowrap}
.afh-hours tbody th b{font-size:16px}

/* Fluent Forms, dressed to the design system. Controls are 54px minimum for the same
   reason every other target on this site is: the audience is largely over 55. */
.afh-form .fluentform{font-family:var(--afh-font)}
.afh-form .ff-el-group{margin-bottom:22px}
.afh-form .ff-el-input--label label{font:700 16.5px/1.4 var(--afh-font);color:#14313C;margin-bottom:8px;display:inline-block}
.afh-form .ff-el-input--label.ff-el-is-required label:after{color:#A6352B;margin-left:3px}
.afh-form .ff-el-form-control{width:100%;min-height:54px;padding:13px 15px;font:400 17px/1.4 var(--afh-font);
  color:#14313C;background:#fff;border:2px solid #B6CFD9;border-radius:6px;box-shadow:none;transition:border-color .14s ease,box-shadow .14s ease}
.afh-form textarea.ff-el-form-control{min-height:130px;resize:vertical}
.afh-form .ff-el-form-control:focus{border-color:#1B6C85;outline:none;box-shadow:0 0 0 3px rgba(56,166,198,.25)}
.afh-form .ff-el-form-control::placeholder{color:#7C95A2}
.afh-form select.ff-el-form-control{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#1B6C85 50%),linear-gradient(135deg,#1B6C85 50%,transparent 50%);
  background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}
/* radios and checkboxes as tappable cards */
.afh-form .ff-el-form-check{margin:0 0 10px}
.afh-form .ff-el-form-check label.ff-el-form-check-label{display:flex;align-items:flex-start;gap:12px;min-height:54px;
  padding:14px 16px;border:2px solid #D9E6EB;border-radius:8px;background:#fff;cursor:pointer;
  font:500 16.5px/1.45 var(--afh-font);color:#14313C;transition:border-color .14s ease,background .14s ease}
.afh-form .ff-el-form-check label.ff-el-form-check-label:hover{border-color:#B6CFD9;background:#F7FBFC}
.afh-form .ff-el-form-check input[type=radio],.afh-form .ff-el-form-check input[type=checkbox]{width:22px;height:22px;margin:0;flex:0 0 auto;accent-color:#1B6C85}
.afh-form .ff_list_inline .ff-el-form-check{display:inline-block;margin-right:10px}
/* submit */
.afh-form .ff-btn-submit{min-height:56px;padding:17px 30px;border-radius:6px;border:0;cursor:pointer;
  background:#5F7C39;color:#fff;font:700 17px/1 var(--afh-font)}
.afh-form .ff-btn-submit:hover{background:#526B31}
.afh-form .ff-btn-submit:focus-visible{outline:3px solid #10404F;outline-offset:2px}
/* messages */
.afh-form .ff-el-is-error .ff-el-form-control{border-color:#A6352B}
.afh-form .error-text,.afh-form .ff-el-is-error .text-danger{color:#A6352B;font:600 15px/1.4 var(--afh-font);margin-top:6px}
.afh-form .ff-message-success{background:#E6F4F9;border:1px solid #A9DCEB;border-left:6px solid #38A6C6;
  border-radius:8px;padding:20px 22px;font:400 17.5px/1.65 var(--afh-font);color:#14313C}
.afh-form .ff-el-group.ff-el-form-bottom{margin-bottom:0}
@media(max-width:600px){
  .afh-form .ff-el-form-control{font-size:16px}
  .afh-form .ff-btn-submit{width:100%}
}



/* review stars. Elementor's star-rating widget draws a Private Use Area glyph from
   the eicons webfont, which is not loaded on the front end, so it rendered as tofu.
   These are Font Awesome stars, which the e_font_icon_svg experiment turns into inline SVG. */
.afh-stars .elementor-icon-list-items{display:flex;gap:3px;margin:0;padding:0}
.afh-stars .elementor-icon-list-item{margin:0 !important;padding:0 !important}
.afh-stars .elementor-icon-list-item:after{display:none !important}
.afh-stars .elementor-icon-list-text{display:none}
.afh-stars .elementor-icon-list-icon{margin:0 !important;padding:0 !important}

/* Google reviews widget header text.
   Trustindex ships .ti-widget.ti-goog .ti-rating-text{color:#000000} with no !important,
   and its markup is cloned out of a <template> by a script on their CDN, so we cannot
   assume it stays inside any particular wrapper. Unscoped on purpose: there is one
   widget on this site and it sits on the deep teal band. If a widget is ever added on a
   light background, scope this rule then. The durable fix is switching the widget to a
   dark style set inside Trustindex, which regenerates their CSS. */
.ti-widget .ti-rating-text,
.ti-widget .ti-rating-text *,
.ti-widget .ti-header .ti-rating-text strong.ti-rating,
.ti-widget.ti-goog .ti-rating-text,
.ti-widget.ti-goog .ti-rating-text *{color:#FFFFFF !important}
/* the review cards are light, so their text must not follow the header */
.ti-widget .ti-review-item,
.ti-widget .ti-review-item .ti-name,
.ti-widget .ti-review-item .ti-review-text,
.ti-widget .ti-review-item .ti-read-more{color:#14313C !important}
.ti-widget .ti-review-item .ti-date{color:#3D5A66 !important}

/* --- navigation active state ------------------------------------------- */
/* top level, when the open page is one of its children */
.afh-nav__list>li.current-menu-ancestor>a,
.afh-nav__list>li.current-menu-parent>a{color:var(--afh-mid);box-shadow:inset 0 -4px 0 var(--afh-teal)}
/* the open page inside a dropdown */
.afh-nav__list .sub-menu li.current-menu-item>a{background:var(--afh-tint);color:var(--afh-ink);font-weight:700;box-shadow:inset 3px 0 0 var(--afh-teal)}
.afh-nav__list .sub-menu li.current-menu-ancestor>a{color:var(--afh-ink);font-weight:700}
/* mobile drawer */
.afh-mob li.current-menu-item>a{color:var(--afh-mid);font-weight:700;background:var(--afh-tint);box-shadow:inset 3px 0 0 var(--afh-teal)}
.afh-mob li.current-menu-ancestor>a,
.afh-mob li.current-menu-parent>a{color:var(--afh-mid);font-weight:700}
