/* The public analyst directory. See atlas.php. Tokens only: no literal colours. */

#jd .jd-atlas{ overflow-x:clip; color:var(--jd-text); font-family:var(--jd-font-text); }

/* The map runs edge to edge, whatever the page container does */
#jd .jd-atlas__map{ position:relative; width:100vw; height:316px; margin-left:calc(50% - 50vw); overflow:hidden; background:var(--jd-navy-dark); color:var(--jd-surface); }
#jd .jd-atlas__svg{ position:absolute; inset:0; width:100%; height:100%; }
#jd .jd-atlas__lines path{ stroke:var(--jd-on-navy-rule); stroke-width:1; opacity:.5; }
#jd .jd-atlas__dots{ mix-blend-mode:screen; }
#jd .jd-atlas__dots circle{ fill:var(--jd-accent); opacity:.72; }
#jd .jd-atlas__ring{ fill:none; stroke:var(--jd-surface); stroke-width:1.5; }
#jd .jd-atlas__labels text{ font-family:var(--jd-font-display); font-size:15px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; fill:var(--jd-on-navy-muted); }
#jd .jd-atlas__labels tspan{ fill:var(--jd-accent-soft); }
#jd .jd-atlas__labels a:hover text,
#jd .jd-atlas__labels a.is-current text{ fill:var(--jd-surface); }

#jd .jd-atlas__title{ position:absolute; left:max(40px, calc(50vw - 680px)); bottom:54px; }
#jd .jd-atlas__title h1{ margin:0 0 4px; font-family:var(--jd-font-heading); font-size:28px; line-height:1.16; font-weight:700; letter-spacing:-.015em; color:var(--jd-surface); }
#jd .jd-atlas__title p{ margin:0; font-size:15.5px; color:var(--jd-on-navy-muted); }

#jd .jd-atlas__bar{ position:relative; z-index:2; display:grid; grid-template-columns:1.7fr 1fr 1fr auto; max-width:1360px; margin:-38px auto 0; border:1px solid var(--jd-rule); border-radius:var(--jd-r-lg); background:var(--jd-surface); box-shadow:0 14px 34px -18px var(--jd-navy-dark); }
#jd .jd-atlas__field{ display:flex; flex-direction:column; justify-content:center; min-width:0; height:76px; padding:0 22px; border-right:1px solid var(--jd-rule); }
#jd .jd-atlas__label{ margin-bottom:2px; font-family:var(--jd-font-display); font-size:14px; line-height:1; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--jd-text-muted); }
#jd .jd-atlas__field .facetwp-facet{ margin:0; }
#jd .jd-atlas__field .facetwp-input-wrap{ display:flex; width:100%; }
#jd .jd-atlas__field input.facetwp-search{ width:100%; height:34px; padding:0 28px 0 0; border:0; background:transparent; box-shadow:none; font-family:var(--jd-font-heading); font-size:18px; font-weight:700; color:var(--jd-navy-dark); }
#jd .jd-atlas__field input.facetwp-search::placeholder{ font-weight:400; color:var(--jd-text-muted); opacity:1; }
#jd .jd-atlas__field select{ width:100%; height:34px; padding:0; border:0; background-color:transparent; font-family:var(--jd-font-text); font-size:16.5px; color:var(--jd-text); }
#jd .jd-atlas__field input:focus,
#jd .jd-atlas__field select:focus{ outline:none; box-shadow:0 2px 0 var(--jd-accent); }
#jd .jd-atlas__go{ min-width:124px; padding:0 30px; border:0; border-radius:0 var(--jd-r-lg) var(--jd-r-lg) 0; background:var(--jd-accent); color:var(--jd-navy-dark); font-family:var(--jd-font-display); font-size:19px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
#jd .jd-atlas__go:hover{ background:var(--jd-navy-dark); color:var(--jd-surface); }
#jd .jd-atlas__go:focus-visible{ outline:2px solid var(--jd-navy); outline-offset:2px; }

#jd .jd-atlas__body{ max-width:1360px; margin:0 auto; padding:30px 0 56px; scroll-margin-top:90px; }

/* Equal to the map's labels for keyboards, screen readers and phones */
#jd .jd-atlas__places{ display:flex; flex-wrap:wrap; gap:6px 22px; margin-bottom:26px; font-size:15.5px; }
#jd .jd-atlas__places a{ display:inline-flex; align-items:center; gap:6px; min-height:32px; color:var(--jd-navy); font-weight:600; text-decoration:none; }
#jd .jd-atlas__places a span{ font-weight:400; color:var(--jd-text-muted); font-variant-numeric:tabular-nums; }
#jd .jd-atlas__places a:hover,
#jd .jd-atlas__places a.is-current{ text-decoration:underline; text-decoration-color:var(--jd-accent); text-underline-offset:4px; }

#jd .jd-atlas__head{ display:flex; align-items:baseline; gap:18px; padding-bottom:14px; border-bottom:2px solid var(--jd-navy); }
#jd .jd-atlas__head h2{ margin:0; text-transform:none; font-family:var(--jd-font-heading); font-size:28px; line-height:1.2; font-weight:700; color:var(--jd-navy-dark); }
#jd .jd-atlas__count{ color:var(--jd-text-muted); font-size:16px; }
#jd .jd-atlas__clear{ margin-left:auto; }
#jd .jd-atlas__clear .facetwp-facet{ margin:0; }
#jd .jd-atlas__clear button{ min-height:44px; padding:0 16px; border:1px solid var(--jd-rule); border-radius:var(--jd-r-sm); background:var(--jd-surface); color:var(--jd-navy); font-weight:600; cursor:pointer; }

#jd .jd-atlas__rows{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:0 44px; list-style:none; margin:0; padding:0; }
#jd .jd-atlas__rows li{ min-width:0; margin:0; padding:0; }
#jd .jd-atlas__row{ display:block; padding:11px 0; border-bottom:1px solid var(--jd-rule); text-decoration:none; }
#jd .jd-atlas__name{ display:block; font-family:var(--jd-font-heading); font-size:16.5px; line-height:1.3; font-weight:700; color:var(--jd-navy); }
#jd .jd-atlas__sub{ display:block; overflow:hidden; font-size:15px; line-height:1.35; color:var(--jd-text-muted); white-space:nowrap; text-overflow:ellipsis; }
#jd .jd-atlas__row:hover .jd-atlas__name{ text-decoration:underline; text-decoration-color:var(--jd-accent); text-underline-offset:3px; }
#jd .jd-atlas__row:focus-visible{ outline:2px solid var(--jd-accent); outline-offset:2px; }

#jd .jd-atlas .facetwp-load-more{ display:block; width:100%; min-height:48px; margin-top:24px; border:1px solid var(--jd-navy); border-radius:var(--jd-r-sm); background:transparent; color:var(--jd-navy); font-weight:600; cursor:pointer; }
#jd .jd-atlas__note{ margin:18px 0 0; color:var(--jd-text-muted); font-size:15px; }

#jd .jd-atlas__intro{ max-width:75ch; margin-top:40px; padding-top:24px; border-top:1px solid var(--jd-rule); font-size:15.5px; line-height:1.55; }
#jd .jd-atlas__intro p{ margin:0 0 10px; }
#jd .jd-atlas__intro summary{ color:var(--jd-navy); font-weight:600; cursor:pointer; }

@media (max-width:1400px){
	#jd .jd-atlas__bar,
	#jd .jd-atlas__body{ margin-left:40px; margin-right:40px; }
}

/* The place links below repeat these, and narrower the labels collide with the title */
@media (max-width:1200px){
	#jd .jd-atlas__labels{ display:none; }
}

@media (max-width:900px){
	#jd .jd-atlas__map{ height:251px; }
	#jd .jd-atlas__title{ position:static; padding:18px 16px 0; }
	#jd .jd-atlas__title h1{ max-width:none; margin-bottom:4px; font-size:25px; }
	#jd .jd-atlas__title p{ font-size:15px; }
	#jd .jd-atlas__svg{ top:82px; height:calc(100% - 82px); }
	#jd .jd-atlas__labels{ display:none; }

	#jd .jd-atlas__bar{ grid-template-columns:1fr; margin:-26px 16px 0; }
	#jd .jd-atlas__field{ height:66px; padding:0 16px; border-right:0; border-bottom:1px solid var(--jd-rule); }
	#jd .jd-atlas__field input.facetwp-search{ font-size:17px; }
	#jd .jd-atlas__go{ min-height:54px; border-radius:0 0 var(--jd-r-lg) var(--jd-r-lg); }

	#jd .jd-atlas__body{ margin:0; padding:24px 16px 40px; }
	#jd .jd-atlas__places a{ min-height:44px; }
	#jd .jd-atlas__head{ flex-wrap:wrap; gap:2px 12px; }
	#jd .jd-atlas__head h2{ width:100%; font-size:24px; }
	#jd .jd-atlas__rows{ grid-template-columns:1fr; }
}
