/* Customer text contact */
#header #location > #callus_cont a.text-contact-header {
    display: block;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 3px;
    padding: 0 8px;
}
a.text-contact-link { display: inline-block; text-decoration: underline; text-underline-offset: 3px; padding: 6px 0; }
a.text-contact-link:focus-visible, a.text-contact-header:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.text-contact-panel { border-left: 4px solid #2a471d; padding: 10px 16px; }
#mobilemenu .text-contact-mobile { display: flex; align-items: center; flex-wrap: wrap; gap: 0 10px; max-width: calc(100% - 54px); letter-spacing: 0; }
#mobilemenu .text-contact-mobile a { font-size: 16px; min-height: 44px; display: inline-flex; align-items: center; }
#mobilemenu .text-contact-mobile .text-contact-link { color: #fff; font-size: 18px; font-weight: 700; padding: 0; }

#header #location > #callus_cont > .callus, #header #location > #callus_cont > .callus * { font-size: 26px; line-height: 1; }
.text-contact-panel a.text-contact-link { color: #2a471d; }
#mobilemenu .text-contact-mobile { width: calc(100% - 54px); }

@media (min-width: 1350px) {
/* Keep submenu text readable and the right-hand menu inside the viewport. */
#header #nav ul.dropdown ul.sub_menu {
    box-sizing: border-box;
    width: 240px;
    padding: 6px;
    margin-top: 0;
    background: #fff;
    border: 1px solid #89b947;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .2);
}
#header #nav ul.dropdown > li:nth-last-child(-n+2) > ul.sub_menu {
    left: auto;
    right: 0;
}
#header #nav ul.dropdown ul.sub_menu li a {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 44px;
    height: auto;
    margin: 0;
    padding: 10px 12px;
    color: #243b19;
    background: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    white-space: normal;
    text-align: left;
}
#header #nav ul.dropdown ul.sub_menu li a:hover,
#header #nav ul.dropdown ul.sub_menu li a:focus-visible,
#header #nav ul.dropdown ul.sub_menu li.selected a {
    color: #fff !important;
    background: #2a471d;
    margin: 0;
    padding: 10px 12px;
}
#header #nav ul.dropdown li:focus-within > ul.sub_menu {
    visibility: visible !important;
    display: block !important;
}

}

/* SMS disclosure in the shared footer. */
#footer .sms-notice-footer {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 18px 20px;
    background: #fff;
    color: #191919;
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
}
#footer .sms-notice-footer p { max-width: 960px; margin: 0 auto 6px; font: inherit; }
#footer .sms-notice-footer a {
    display: inline-block;
    padding: 4px;
    color: #203814;
    text-decoration: underline;
    text-underline-offset: 3px;
}
#footer .sms-notice-footer a:focus-visible { outline: 2px solid #203814; outline-offset: 2px; }

.sms-marker { font-size: .75em; line-height: 0; position: relative; top: -.25em; }

/* Match the footer call and text options with their own icons. */
#footer .footer-contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; width: max-content; max-width: 100%; }
#footer .footer-contact-links a { display: flex; align-items: center; gap: 6px; min-height: 36px; padding: 0; }
#footer .footer-contact-links .fa { flex: 0 0 30px; width: 30px; font-size: 24px; line-height: 1; text-align: center; color: rgba(0,0,0,.75); }
@media (max-width: 1349px) { #footer .footer-contact-links { margin: 0 auto; } }
