/* Fixed contact bar requested for the shared header, mounted by contact-topbar.js.
 * The measured bar height offsets the existing sticky header and page without changing other sections.
 */
body.ms-contact-topbar-mounted { padding-top: calc(var(--ms-contact-original-padding, 0px) + var(--ms-contact-topbar-height, 0px)); }
body.ms-contact-topbar-mounted > header.header { top: var(--ms-contact-topbar-height, 0px); }
html.ms-contact-topbar-active { scroll-padding-top: calc(var(--ms-contact-original-scroll-padding, 0px) + var(--ms-contact-topbar-height, 0px)); }
.ms-contact-topbar { position: fixed; inset: 0 0 auto; z-index: 1002; background: #111; color: #fff; font: 400 12px/1.5 'Open Sans', Arial, sans-serif; }
/* Match the same container width and horizontal padding as the navigation and sections. */
.ms-contact-topbar-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 28px; width: 100%; max-width: var(--max-w, 1200px); min-height: 38px; margin: 0 auto; padding: 7px var(--section-px, 24px); box-sizing: border-box; }
.ms-contact-topbar-company { flex: 0 0 auto; font: 700 12px/1.5 'Montserrat', Arial, sans-serif; letter-spacing: .045em; }
.ms-contact-topbar-details { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 24px; }
.ms-contact-topbar a { color: #fff; text-decoration: none; }
.ms-contact-topbar a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ms-contact-topbar a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 2px; }
.ms-contact-topbar a.ms-contact-topbar-phone { display: inline-flex; align-items: center; flex-wrap: nowrap; gap: 7px; font: 600 12px/1.5 'Open Sans', Arial, sans-serif; color: #fff; white-space: nowrap; }
.ms-contact-topbar-phone i { font-size: 14px; }
.ms-contact-topbar-hours { color: #d5d0c8; white-space: nowrap; }
.ms-contact-topbar-email { overflow-wrap: anywhere; }
