/* Site navigation: desktop dropdown panels and the phone menu. Loaded on every page after the page styles. */
.nav .in{position:relative}
.nav ul>li{position:relative}
.nav ul>li>a{display:inline-block}
.nav .tg{display:none}
.nav .dd{display:none;position:absolute;top:100%;left:-28px;background:#fff;border:1px solid #D9E0E8;border-top:3px solid var(--red,#F80000);box-shadow:0 18px 40px rgba(0,33,63,.14);padding:26px 30px 28px;z-index:30;text-align:left}
.nav ul>li.dr>.dd{left:auto;right:-28px}
.nav ul>li:hover>.dd,.nav ul>li:focus-within>.dd,.nav ul>li.exp>.dd{display:grid}
.nav .dd{grid-auto-flow:column;gap:0 44px}
.nav .dd.c1{grid-template-columns:240px}
.nav .dd.c2{grid-template-columns:250px 270px}
.nav ul>li.wide{position:static}
.nav .dd.c3{left:0;right:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px;padding:30px 36px 32px}
.nav .dd .g{display:flex;flex-direction:column;gap:9px;min-width:0}
.nav .dd .g+.g{margin-top:0}
.nav .dd b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy,#003366);margin-bottom:6px;font-weight:700}
.nav .dd a{display:block;padding:0;border:0;font-weight:500;font-size:15px;line-height:1.35;color:var(--ink,#111)}
.nav .dd a:hover{color:var(--red,#F80000);border:0}
.nav .dd a.all{margin-top:8px;font-weight:700;color:var(--navy,#003366)}
.nav .dd .g.stack{gap:16px}
.nav .dd .g.stack>div{display:flex;flex-direction:column;gap:9px}
/* keep the top link's hover underline when the panel is open */
.nav ul>li:hover>a,.nav ul>li:focus-within>a{border-bottom-color:var(--red,#F80000)}
.nav .mfoot{display:none}
.nav .burger[aria-expanded="true"] i{background:transparent}
.nav .burger[aria-expanded="true"] i::before{top:0;transform:rotate(45deg)}
.nav .burger[aria-expanded="true"] i::after{top:0;transform:rotate(-45deg)}

@media (max-width:1060px){
 .nav.open ul{display:block;position:fixed;left:0;right:0;top:var(--navh,68px);bottom:0;margin:0;padding:8px 20px 40px;background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:40;font-size:17px}
 .nav.open ul>li{border-bottom:1px solid #E3E8EE;display:flex;flex-wrap:wrap;align-items:center}
 .nav.open ul>li>a{flex:1 1 auto;padding:17px 0;border:0;font-weight:700;color:var(--navy,#003366)}
 .nav .tg{flex:0 0 48px;height:54px;border:0;background:transparent;position:relative}
 .nav.open .tg{display:block}
 .nav .tg::before{content:'';position:absolute;right:16px;top:20px;width:10px;height:10px;border-right:2px solid var(--navy,#003366);border-bottom:2px solid var(--navy,#003366);transform:rotate(45deg);transition:transform .15s}
 .nav ul>li.exp>.tg::before{transform:rotate(225deg);top:25px}
 .nav .dd,.nav ul>li:hover>.dd,.nav ul>li:focus-within>.dd{display:none}
 .nav.open ul>li.exp>.dd{display:block;position:static;flex:1 1 100%;border:0;box-shadow:none;padding:0 0 18px 0;background:transparent}
 .nav.open .dd .g{gap:12px}
 .nav.open .dd .g+.g{margin-top:18px}
 .nav.open .dd b{margin-bottom:4px}
 .nav.open .dd a{font-size:16px;padding:2px 0}
 .nav.open .dd .g.stack{gap:18px}
 .nav.open .dd .g.stack>div{gap:12px}
 .nav.open .mfoot{display:block;padding:22px 0 0;border-bottom:0}
 .nav.open .mfoot .btn{display:inline-flex;width:100%;justify-content:center;height:54px;background:var(--red,#F80000);color:#fff;font-weight:700;border:0}
 .nav.open .mfoot p{margin:18px 0 0;font-size:14px;color:#4A5563;line-height:1.7}
 .nav.open .mfoot p a{color:var(--navy,#003366);font-weight:600;border:0}
 .nav ul>li:hover>a,.nav ul>li:focus-within>a{border-bottom-color:transparent}
 body.navlock{overflow:hidden}
}

/* Contact form: the need dropdown one size smaller so its options sit inside the box */
.cform select,.cform select option{font-size:15px}

/* Footer: contact and office details sit under the Firm and Resources columns */
footer h4.fsub{margin-top:30px}
footer .fcols li{overflow-wrap:anywhere}
.fbrand p a{color:#fff}
.fbrand p a:hover{text-decoration:underline}
/* Footer email: on one line in the Firm column on desktop; Firm column spans full width on phones */
@media (min-width:901px){.fcols{grid-template-columns:repeat(4,minmax(0,1fr)) auto}footer li.fmail{white-space:nowrap}}
@media (max-width:900px){.fcols>div:last-child{grid-column:1/-1}}
/* Small phones under 375px: header, headings, figures and tables stay inside the screen */
@media (max-width:374px){.nav .logo .wmark{font-size:13.5px}.nav .burger{flex-shrink:0}.nav .logo{min-width:0}h2.disp{font-size:30px}.glance b{font-size:19px}main table,.body table{display:block;overflow-x:auto;max-width:100%}}
