/* Shared header, footer and breadcrumbs only. No body adapters. */
#gbmaps-shared-header{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;text-align:left;letter-spacing:normal}
#gbmaps-shared-footer{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;text-align:left;letter-spacing:normal}
#gbmaps-shared-header *{box-sizing:border-box}
#gbmaps-shared-footer *{box-sizing:border-box}
#gbmaps-shared-header [hidden]{display:none!important}
#gbmaps-shared-footer [hidden]{display:none!important}
#gbmaps-shared-header{font-size:14px;line-height:20px;height:auto;min-height:0;max-height:none;margin:0;padding:0;border:0;float:none;display:block;background:var(--gbms-navy,#354666);color:#fff;position:relative;z-index:10000;isolation:isolate;width:100%;clear:both}
#gbmaps-shared-header a{color:inherit;text-decoration:none}
#gbmaps-shared-footer a{color:inherit;text-decoration:none}
#gbmaps-shared-header button{font:inherit;cursor:pointer}
#gbmaps-shared-header :focus-visible{outline:3px solid #ffce66;outline-offset:3px}
#gbmaps-shared-footer :focus-visible{outline:3px solid #ffce66;outline-offset:3px}
#gbmaps-shared-header .gbms-topline{margin:0 auto;padding:8px 20px;max-width:1400px;font-size:14px;line-height:20px;font-weight:600;text-align:center;min-height:36px;display:flex;align-items:center;justify-content:center;color:#fff}
#gbmaps-shared-header .gbms-header-inner{max-width:1200px;width:calc(100% - 40px);margin:auto}
#gbmaps-shared-header .gbms-brand-row{display:grid;grid-template-columns:minmax(300px,1fr) 240px minmax(200px,1fr);align-items:start;gap:20px;padding:10px 0 10px}
#gbmaps-shared-header .gbms-brand{display:flex;align-items:flex-start;gap:10px;width:max-content;max-width:100%;float:none;line-height:1.2}
#gbmaps-shared-footer .gbms-brand{display:flex;align-items:flex-start;gap:10px;width:max-content;max-width:100%;float:none;line-height:1.2}
#gbmaps-shared-header .gbms-flag{display:block;width:80px;height:40px;flex:0 0 80px;margin:0;padding:0;overflow:hidden}
#gbmaps-shared-footer .gbms-flag{display:block;width:80px;height:40px;flex:0 0 80px;margin:0;padding:0;overflow:hidden}
:is(#gbmaps-shared-header,#gbmaps-shared-footer) .gbms-brand>span{display:block;min-width:0}
#gbmaps-shared-header .gbms-brand strong{font-size:24px;line-height:25px;color:#fff;font-weight:750;letter-spacing:.2px}
#gbmaps-shared-footer .gbms-brand strong{font-size:24px;line-height:25px;color:#fff;font-weight:750;letter-spacing:.2px}
#gbmaps-shared-header .gbms-strapline{display:block;font:600 16px/20px Arial,Helvetica,sans-serif;color:#fff;padding:0;margin:0;text-align:left;width:auto;float:none;max-width:270px;letter-spacing:0}
#gbmaps-shared-footer .gbms-strapline{display:block;font:600 16px/20px Arial,Helvetica,sans-serif;color:#fff;padding:0;margin:0;text-align:left;width:auto;float:none;max-width:270px;letter-spacing:0}
#gbmaps-shared-header .gbms-phone{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}
#gbmaps-shared-header .gbms-phone span{font-size:14px;line-height:18px;font-weight:600}
#gbmaps-shared-header .gbms-phone strong{font-size:24px;line-height:26px;white-space:nowrap}
#gbmaps-shared-header .gbms-account{justify-self:end;position:relative;min-width:140px;text-align:right}
#gbmaps-shared-header .gbms-account>.gbms-account-trigger{background:#fff;color:#26374c;border:1px solid #e1e6eb;border-radius:6px;display:flex;justify-content:center;align-items:center;gap:14px;padding:12px 18px;font-weight:600;min-height:44px;min-width:140px}
#gbmaps-shared-header .gbms-account>small{display:block;font-size:10px;line-height:14px;margin-top:5px;color:#e0e5ed}
#gbmaps-shared-header .gbms-nav{clear:both;padding:0;margin:0}
#gbmaps-shared-header .gbms-nav ul{list-style:none;margin:0;padding:0;float:none}
#gbmaps-shared-header .gbms-nav>ul{display:flex;align-items:stretch;flex-wrap:wrap;gap:0}
#gbmaps-shared-header .gbms-nav-group{position:relative;display:flex;margin:0;padding:0;align-items:stretch;border:1px solid #92a0b2;border-right-width:0;background:#243449;float:none}
#gbmaps-shared-header .gbms-nav-group:last-child{border-right-width:1px}
#gbmaps-shared-header .gbms-nav-group>a{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:14px;line-height:18px;white-space:nowrap;min-height:44px}
#gbmaps-shared-header .gbms-sub-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:14px;line-height:18px;white-space:nowrap;min-height:44px}
#gbmaps-shared-header .gbms-nav-group:hover{background:#152639;box-shadow:inset 0 -3px var(--gbms-accent,#67ad28)}
#gbmaps-shared-header .gbms-nav-group:focus-within{background:#152639;box-shadow:inset 0 -3px var(--gbms-accent,#67ad28)}
#gbmaps-shared-header .gbms-sub-toggle{border:0;background:transparent;color:white;text-align:left;width:100%}
#gbmaps-shared-header .gbms-chevron{display:block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 2px 4px auto;flex-shrink:0}
#gbmaps-shared-header .gbms-disclosure[open] .gbms-chevron{transform:rotate(225deg);margin-top:5px}
#gbmaps-shared-header .gbms-overview{border-bottom:1px solid #dce4eb;padding-bottom:5px!important;margin-bottom:5px!important}
#gbmaps-shared-header .gbms-overview>a{font-weight:700}
#gbmaps-shared-header .gbms-nav .gbms-submenu{display:none;position:absolute;z-index:50;left:-1px;top:100%;width:285px;max-height:65vh;overflow:auto;background:#fff;color:#23334b;padding:7px;box-shadow:0 12px 30px #10233b35;border:1px solid #d6dfe7;border-radius:0 0 7px 7px}
#gbmaps-shared-header .gbms-disclosure[open]>.gbms-submenu{display:block}
#gbmaps-shared-header .gbms-submenu li{margin:0;padding:0;float:none}
#gbmaps-shared-header .gbms-submenu a{display:block;min-height:44px;padding:12px;font-size:14px;line-height:20px;border-radius:4px;color:#24344b}
#gbmaps-shared-header .gbms-submenu a:hover{background:#edf3e7;color:#224214}
#gbmaps-shared-header .gbms-submenu a:focus-visible{background:#edf3e7;color:#224214}
#gbmaps-shared-header .gbms-login{position:absolute;right:0;top:calc(100% + 12px);width:350px;max-width:calc(100vw - 32px);z-index:100;background:white;border:1px solid #dce4eb;border-radius:12px;box-shadow:0 18px 60px #10223740;color:#24344b;padding:24px;text-align:left}
#gbmaps-shared-header .gbms-login h2{font:700 25px/1.2 Arial;margin:8px 0 12px;color:#24344b}
#gbmaps-shared-header .gbms-login p{font:14px/1.6 Arial;color:#465769;margin:8px 0}
#gbmaps-shared-header .gbms-login .gbms-eyebrow{font-size:10px;letter-spacing:1.8px;color:#087b69;font-weight:bold}
#gbmaps-shared-header .gbms-login .gbms-close{position:absolute;right:10px;top:8px;border:0;background:none;color:#23344b;font-size:26px;line-height:32px}
#gbmaps-shared-header .gbms-demo-note{font-size:12px;line-height:1.6;background:#fff6df;color:#705518;border:1px solid #f0dfb5;border-radius:5px;padding:10px;margin:18px 0}
#gbmaps-shared-header .gbms-login .gbms-demo-signin{border:0;border-radius:5px;padding:12px;background:#354666;color:white;width:100%;margin-top:8px;font-size:14px}
#gbmaps-shared-header .gbms-login .gbms-demo-signout{border:0;border-radius:5px;padding:12px;background:#354666;color:white;width:100%;margin-top:8px;font-size:14px}
#gbmaps-shared-header .gbms-demo-account a{display:block;color:#245b99!important;padding:10px 0}
#gbmaps-shared-footer{border:0;height:auto;max-height:none;float:none;display:block;margin:30px 0 0;background:var(--gbms-navy,#354666);color:white;clear:both;padding:32px max(20px,calc((100% - 1200px)/2)) 28px}
#gbmaps-shared-footer .gbms-footer-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;border-bottom:1px solid #ffffff30;padding-bottom:28px;max-width:1200px;margin:auto}
#gbmaps-shared-footer h2{font:bold 15px/22px Arial;margin:0 0 12px;padding:0;text-align:left;color:white}
#gbmaps-shared-footer ul{padding:0;margin:0;list-style:none}
#gbmaps-shared-footer li{padding:0;margin:0}
#gbmaps-shared-footer li a{display:inline-block;font-size:13px;line-height:20px;padding:4px 0;color:#e2e8f0}
#gbmaps-shared-footer a:hover{text-decoration:underline}
#gbmaps-shared-footer .gbms-footer-bottom{max-width:1200px;margin:24px auto 0;display:flex;justify-content:space-between;gap:28px;align-items:flex-start}
#gbmaps-shared-footer .gbms-footer-bottom p{font:13px/21px Arial;margin:0;color:#e2e8f0}
#gbmaps-shared-footer .gbms-footer-bottom address{font:13px/21px Arial;margin:0;color:#e2e8f0}
#gbmaps-shared-footer .gbms-footer-bottom>div{text-align:right}
@media(max-width:1000px){#gbmaps-shared-header .gbms-brand-row{grid-template-columns:minmax(280px,1fr) 190px 140px;gap:12px}
#gbmaps-shared-header .gbms-header-inner{width:calc(100% - 32px)}
#gbmaps-shared-footer .gbms-footer-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){#gbmaps-shared-header .gbms-topline{font-size:12px;line-height:17px;min-height:67px;padding:8px 16px}
#gbmaps-shared-header .gbms-brand-row{grid-template-columns:minmax(0,1fr) auto;padding:8px 0 8px;gap:14px}
#gbmaps-shared-header .gbms-flag{width:58px;height:29px;flex-basis:58px}
#gbmaps-shared-header .gbms-brand{gap:8px}
#gbmaps-shared-header .gbms-brand strong{font-size:20px;line-height:22px}
#gbmaps-shared-header .gbms-strapline{font-size:12px;line-height:16px;max-width:210px;min-height:32px}
#gbmaps-shared-header .gbms-phone{grid-column:1/-1;grid-row:2;flex-direction:row;gap:10px;align-items:center}
#gbmaps-shared-header .gbms-phone strong{font-size:20px;line-height:24px}
#gbmaps-shared-header .gbms-phone span{font-size:12px}
#gbmaps-shared-header .gbms-account{grid-column:2;grid-row:1;min-width:86px}
#gbmaps-shared-header .gbms-account>.gbms-account-trigger{min-width:86px;gap:6px;padding:10px;font-size:13px}
#gbmaps-shared-header .gbms-account>small{display:none}
#gbmaps-shared-header .gbms-mobile-toggle{background:#243449;border:1px solid #8694a9;color:#fff;width:100%;text-align:left;padding:11px 13px;margin-bottom:0;font-size:14px;min-height:44px}
#gbmaps-shared-header .gbms-nav>ul{display:block}
#gbmaps-shared-header .gbms-nav-group{display:flex;flex-wrap:wrap;border:1px solid #60728b;border-top:0}
#gbmaps-shared-header .gbms-nav-group>a{flex:1;padding:12px;font-size:15px}
#gbmaps-shared-header .gbms-sub-toggle{padding:12px;font-size:15px}
#gbmaps-shared-header .gbms-nav .gbms-submenu{position:static;width:100%;box-shadow:none;max-height:none;border-radius:0;border:0;flex-basis:100%}
#gbmaps-shared-header .gbms-disclosure[open]>.gbms-submenu{display:block}
#gbmaps-shared-footer{padding:26px 20px}
#gbmaps-shared-footer .gbms-footer-links{gap:22px 14px}
#gbmaps-shared-footer .gbms-footer-bottom{flex-direction:column}
#gbmaps-shared-footer .gbms-footer-bottom>div{text-align:left}}
@media(max-width:400px){#gbmaps-shared-header .gbms-brand strong{font-size:18px}
#gbmaps-shared-header .gbms-flag{width:45px;height:23px;flex-basis:45px}
#gbmaps-shared-header .gbms-header-inner{width:calc(100% - 24px)}
#gbmaps-shared-header .gbms-strapline{font-size:11px}
#gbmaps-shared-header .gbms-account>.gbms-account-trigger{min-width:77px;font-size:12px;padding:9px 7px}
#gbmaps-shared-footer .gbms-footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}
#gbmaps-shared-footer .gbms-brand strong{font-size:21px}
#gbmaps-shared-footer .gbms-flag{width:64px;height:32px;flex-basis:64px}}
@media(prefers-reduced-motion:reduce){#gbmaps-shared-header *{scroll-behavior:auto!important;transition:none!important}
#gbmaps-shared-footer *{scroll-behavior:auto!important;transition:none!important}}
#gbmaps-shared-breadcrumbs{box-sizing:border-box;max-width:1200px;width:calc(100% - 40px);margin:0 auto;padding:9px 0;border-bottom:1px solid #dde4eb;color:#526275;text-align:left;font:14px/22px Arial,Helvetica,sans-serif;clear:both}
#gbmaps-shared-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:baseline;list-style:none;gap:6px 0;margin:0;padding:0}
#gbmaps-shared-breadcrumbs li{display:flex;align-items:baseline;min-width:0;margin:0;padding:0;float:none}
#gbmaps-shared-breadcrumbs li+li:before{content:"";display:inline-block;width:6px;height:6px;border-top:1px solid #8391a0;border-right:1px solid #8391a0;transform:rotate(45deg);margin:0 12px;flex:0 0 6px}
#gbmaps-shared-breadcrumbs a{color:#315d87;text-decoration:underline;text-underline-offset:3px;padding:2px 0}
#gbmaps-shared-breadcrumbs [aria-current]{color:#34465b;font-weight:600;overflow-wrap:anywhere}
#gbmaps-shared-breadcrumbs a:focus-visible{outline:3px solid #467aaf;outline-offset:3px}
@media(max-width:1000px){#gbmaps-shared-breadcrumbs{width:calc(100% - 32px)}}
@media(max-width:400px){#gbmaps-shared-breadcrumbs{width:calc(100% - 24px);font-size:12px;padding:8px 0}
#gbmaps-shared-breadcrumbs li+li:before{margin:0 9px}}
#gbmaps-shared-header .gbms-brand .gbms-brand-title{display:block;margin:0;padding:0;border:0;font:750 24px/25px Arial,Helvetica,sans-serif;color:#fff;letter-spacing:.2px;text-align:left;float:none;width:auto}
@media(max-width:400px){#gbmaps-shared-header .gbms-brand .gbms-brand-title{font-size:18px}}
/* Closed native disclosures work before JavaScript, on touch and without JS. */
#gbmaps-shared-header .gbms-disclosure{display:block;position:relative;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit}
#gbmaps-shared-header .gbms-sub-toggle{list-style:none;cursor:pointer;margin:0;border-radius:0;font-family:Arial,Helvetica,sans-serif;font-weight:400}
#gbmaps-shared-header .gbms-sub-toggle::-webkit-details-marker{display:none}
#gbmaps-shared-header .gbms-disclosure:not([open])>.gbms-submenu{display:none}
/* Desktop enhancement: the DOM and crawlable links stay in the header while the
   browser paints an open menu above ordinary page stacking contexts. */
#gbmaps-shared-header .gbms-nav .gbms-submenu[popover]{position:fixed;inset:auto;margin:0;max-width:calc(100vw - 16px)}
#gbmaps-shared-header .gbms-nav .gbms-submenu[popover]:popover-open{display:block}
#gbmaps-shared-header .gbms-nav .gbms-submenu[popover]::backdrop{background:transparent;pointer-events:none}
/* Account controls share the existing service contract; styles stay in this root. */
#gbmaps-shared-header #gbmaps-layout-account-root{font:14px/1.5 Arial,Helvetica,sans-serif;float:none}
#gbmaps-shared-header .gbms-account-trigger>svg{display:block;width:20px;height:20px;flex:0 0 20px;margin:0;padding:0}
#gbmaps-shared-header #gbmaps-layout-account-panel{font:14px/1.5 Arial,Helvetica,sans-serif;overflow:auto;max-width:calc(100vw - 24px)}
#gbmaps-shared-header #gbmaps-layout-account-panel[popover]{position:fixed;inset:auto;margin:0}
#gbmaps-shared-header #gbmaps-layout-account-panel[popover]::backdrop{background:transparent;pointer-events:none}
#gbmaps-shared-header .gbms-login-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}
#gbmaps-shared-header .gbms-login-eyebrow{font:700 10px/1.4 Arial;letter-spacing:1.5px;color:#087b69}
#gbmaps-shared-header .gbms-login form{display:block;float:none;position:static;width:100%;margin:16px 0 0;padding:0;border:0;background:transparent}
#gbmaps-shared-header .gbms-login label{display:block;float:none;width:auto;color:#24344b;font:600 13px/20px Arial;margin:0 0 5px;padding:0;text-align:left}
#gbmaps-shared-header .gbms-login input{display:block;position:static;float:none;width:100%;height:44px;min-width:0;max-width:none;margin:0 0 14px;padding:10px 12px;border:1px solid #a6b5c5;border-radius:5px;background:white;color:#24344b;box-shadow:none;font:16px/22px Arial;letter-spacing:normal;text-align:left}
#gbmaps-shared-header .gbms-login .gbms-password-label{display:flex;align-items:center;justify-content:space-between;gap:10px}
#gbmaps-shared-header .gbms-login .gbms-password-wrap{position:relative}
#gbmaps-shared-header .gbms-login .gbms-password-wrap input{padding-right:66px}
#gbmaps-shared-header .gbms-login .gbms-show-password{position:absolute;right:1px;top:1px;height:42px;margin:0;padding:0 12px;border:0;border-radius:4px;background:transparent;color:#265787;font:600 12px Arial}
#gbmaps-shared-header .gbms-login .gbms-forgot-password{position:static;float:none;width:auto;min-height:32px;border:0;background:none;color:#265787;padding:2px;margin:0;font:12px Arial;text-decoration:underline}
#gbmaps-shared-header .gbms-login .gbms-login-submit{display:block;float:none;width:100%;min-height:44px;border:1px solid #354666;border-radius:5px;padding:11px 14px;margin:14px 0 8px;background:#354666;color:white;text-decoration:none;text-align:center;font:600 14px/20px Arial}
#gbmaps-shared-header .gbms-login button:disabled{opacity:.6;cursor:wait}
#gbmaps-shared-header .gbms-login .gbms-login-alternative{border-top:1px solid #dce4eb;padding-top:14px;margin-top:15px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center;color:#526275;font:12px/20px Arial}
#gbmaps-shared-header .gbms-login .gbms-use-code{border:0;background:none;color:#265787;font:600 12px/20px Arial;padding:0;text-decoration:underline}
#gbmaps-shared-header .gbms-login .gbms-account-text-button{display:block;float:none;border:0;background:none;color:#265787;padding:10px 0;margin:0;font:600 13px/20px Arial;text-decoration:underline}
#gbmaps-shared-header .gbms-login .gbms-account-secondary{display:block;float:none;padding:10px 0;color:#265787;text-decoration:underline;font:14px/20px Arial}
#gbmaps-shared-header .gbms-login .gbms-account-feedback{padding:10px 12px;margin:10px 0;border:1px solid #e7c2b2;border-radius:4px;background:#fff4ec;color:#7e321d;font:13px/19px Arial}
#gbmaps-shared-header .gbms-login .gbms-account-help{font:12px/18px Arial;color:#526275}
#gbmaps-shared-header .gbms-login .gbms-account-help a{color:#265787;text-decoration:underline}
#gbmaps-shared-header .gbms-login small{display:block;float:none;font:12px/18px Arial;color:#526275;margin:0 0 12px}
#gbmaps-shared-header .gbms-mobile-control{display:none}
@media(max-width:800px){
 #gbmaps-shared-header .gbms-mobile-control{display:block;position:relative;min-height:44px}
 #gbmaps-shared-header .gbms-mobile-control label{display:block;background:#243449;border:1px solid #8694a9;color:#fff;padding:11px 13px;min-height:44px;font:14px/20px Arial;text-align:left;margin:0;cursor:pointer}
 #gbmaps-shared-header .gbms-mobile-control input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;padding:0;z-index:1;cursor:pointer}
 #gbmaps-shared-header .gbms-mobile-control input:focus-visible+label{outline:3px solid #ffce66;outline-offset:2px}
 #gbmaps-shared-header .gbms-mobile-control:has(input:not(:checked))+#gbmaps-layout-navigation{display:none}
 #gbmaps-shared-header .gbms-mobile-control:has(input:checked)+#gbmaps-layout-navigation{display:block}
}
