/* The analyst register. See register.php. Tokens only: no literal colours. */

#jd .jd-reg{ max-width:1360px; margin:0 auto; padding:0 40px 64px; color:var(--jd-text); font-family:var(--jd-font-text); }

#jd .jd-reg__top{ display:grid; grid-template-columns:270px minmax(0,1fr); gap:44px; align-items:end; padding:36px 0 18px; }
#jd .jd-reg__top h1{ margin:0; font-family:var(--jd-font-heading); font-size:30px; line-height:1.15; font-weight:700; color:var(--jd-navy-dark); letter-spacing:-.01em; }

/* Search is the page's largest control */
#jd .jd-reg__search .facetwp-facet{ margin:0; }
#jd .jd-reg__search .facetwp-input-wrap{ display:flex; align-items:center; width:100%; }
#jd .jd-reg__search input.facetwp-search{ width:100%; min-width:0; height:52px; padding:0 44px 0 0; border:0; border-bottom:1px solid var(--jd-text-muted); border-radius:0; background:transparent; font-family:var(--jd-font-heading); font-size:24px; color:var(--jd-navy); box-shadow:none; }
#jd .jd-reg__search input.facetwp-search::placeholder{ color:var(--jd-text-muted); opacity:1; }
#jd .jd-reg__search input.facetwp-search:focus{ outline:none; border-bottom-color:var(--jd-accent); box-shadow:0 1px 0 var(--jd-accent); }

#jd .jd-reg__intro{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 32px; align-items:baseline; padding-bottom:16px; border-bottom:2px solid var(--jd-navy); font-size:15.5px; line-height:1.5; }
#jd .jd-reg__intro > p{ margin:0; max-width:68ch; }
#jd .jd-reg__about{ grid-column:2; grid-row:1; }
#jd .jd-reg__about[open]{ grid-column:1 / -1; grid-row:2; max-width:75ch; }
#jd .jd-reg__about summary{ cursor:pointer; color:var(--jd-navy); font-weight:600; }
#jd .jd-reg__about p{ margin:10px 0 0; }

#jd .jd-reg__body{ display:grid; grid-template-columns:270px minmax(0,1fr) 34px; gap:0 44px; align-items:start; }

/* Filters */
#jd .jd-reg__filters{ padding-top:20px; }
#jd .jd-reg__filters > summary{ display:none; }
#jd .jd-reg__filters h2{ margin:22px 0 8px; font-family:var(--jd-font-display); font-size:17px; line-height:1; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--jd-text-muted); }
#jd .jd-reg__filters h2:first-of-type{ margin-top:0; }
#jd .jd-reg__filters .facetwp-facet{ margin:0; }
#jd .jd-reg__filters .facetwp-checkbox{ margin:0; padding:5px 0 5px 24px; background-position:0 8px; font-size:15.5px; line-height:1.3; }
#jd .jd-reg__filters .facetwp-counter{ color:var(--jd-text-muted); font-variant-numeric:tabular-nums; }
#jd .jd-reg__filters .facetwp-toggle{ display:inline-block; margin-top:6px; color:var(--jd-navy); font-weight:600; font-size:15px; cursor:pointer; }
#jd .jd-reg__filters .facetwp-toggle.facetwp-hidden{ display:none; }
#jd .jd-reg__filters .facetwp-type-reset{ margin-top:18px; }
#jd .jd-reg__filters .facetwp-reset,
#jd .jd-reg__filters .facetwp-type-reset 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; }

/* List */
#jd .jd-reg__list{ min-width:0; padding-top:20px; }
#jd .jd-reg__count{ min-height:24px; margin-bottom:8px; color:var(--jd-text-muted); font-size:15.5px; }
#jd .jd-reg__rows{ list-style:none; margin:0; padding:0; }
#jd .jd-reg__rows li{ margin:0; padding:0; }
#jd .jd-reg__letter{ padding-top:22px; border-bottom:1px solid var(--jd-navy); }
#jd .jd-reg__letter[hidden]{ display:none; }
#jd .jd-reg__rows > .jd-reg__letter:first-child{ padding-top:6px; }
#jd .jd-reg__letter h2{ margin:0 0 4px; font-family:var(--jd-font-display); font-size:76px; line-height:.9; font-weight:800; color:var(--jd-navy); }

#jd .jd-reg__row{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1.4fr) 56px; gap:18px; align-items:baseline; min-height:36px; padding:7px 8px 7px 0; border-bottom:1px solid var(--jd-rule); color:var(--jd-text); font-size:15.5px; line-height:1.3; text-decoration:none; }
#jd .jd-reg__row > span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#jd .jd-reg__name b{ font-family:var(--jd-font-heading); font-size:15px; font-weight:700; color:var(--jd-navy); }
#jd .jd-reg__society{ color:var(--jd-text-muted); }
#jd .jd-reg__profile{ text-align:right; font-size:13.5px; font-weight:600; color:var(--jd-navy); }
#jd .jd-reg__row:hover,
#jd .jd-reg__row:focus-visible{ background:var(--jd-surface); box-shadow:-10px 0 0 var(--jd-surface), 10px 0 0 var(--jd-surface); }
#jd .jd-reg__row:hover b,
#jd .jd-reg__row:focus-visible b{ text-decoration:underline; text-decoration-color:var(--jd-accent); text-underline-offset:3px; }
#jd .jd-reg__row:focus-visible{ outline:2px solid var(--jd-accent); outline-offset:1px; }

#jd .jd-reg__none{ padding:30px 0; border-top:1px solid var(--jd-navy); }
#jd .jd-reg__none p{ margin:0 0 6px; }
#jd .jd-reg__none p:first-child{ font-family:var(--jd-font-heading); font-size:20px; font-weight:700; color:var(--jd-navy-dark); }
#jd .jd-reg__reset{ min-height:44px; margin-top:12px; padding:0 18px; 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-reg__list .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; }

/* A to Z */
#jd .jd-reg__az{ position:sticky; top:96px; padding-top:20px; }
#jd .jd-reg__az .facetwp-facet{ display:flex; flex-direction:column; margin:0; font-family:var(--jd-font-display); font-size:16.5px; font-weight:700; line-height:1; text-align:center; }
#jd .jd-reg__az .facetwp-alpha{ display:block; margin:0; padding:3.2px 0; color:var(--jd-rule); font-weight:700; cursor:default; }
#jd .jd-reg__az .facetwp-alpha.available{ color:var(--jd-navy); cursor:pointer; }
#jd .jd-reg__az .facetwp-alpha.available:hover{ color:var(--jd-accent); }
#jd .jd-reg__az .facetwp-alpha.selected{ border-radius:3px; background:var(--jd-navy); color:var(--jd-surface); }

@media (max-width:900px){
	#jd .jd-reg{ padding:0 16px 40px; }
	#jd .jd-reg__top{ display:block; padding:24px 0 12px; }
	#jd .jd-reg__top h1{ margin-bottom:12px; font-size:24px; }
	#jd .jd-reg__search input.facetwp-search{ font-size:18px; height:48px; }
	#jd .jd-reg__intro{ display:block; }
	#jd .jd-reg__about{ margin-top:8px; }

	#jd .jd-reg__body{ display:flex; flex-direction:column; align-items:stretch; }

	/* A to Z is a swipeable strip here: 27 vertical letters cannot hold a 44px target */
	#jd .jd-reg__az{ order:-1; position:sticky; top:60px; z-index:2; margin:0 -16px; padding:0 16px; background:var(--jd-ground); border-bottom:1px solid var(--jd-rule); overflow-x:auto; }
	#jd .jd-reg__az .facetwp-facet{ flex-direction:row; width:max-content; font-size:18px; }
	#jd .jd-reg__az .facetwp-alpha{ min-width:36px; padding:13px 8px; }

	#jd .jd-reg__filters{ padding-top:10px; border-bottom:1px solid var(--jd-rule); }
	#jd .jd-reg__filters > summary{ display:block; min-height:44px; padding:10px 0; font-weight:600; color:var(--jd-navy); cursor:pointer; }
	#jd .jd-reg__filters[open]{ padding-bottom:16px; }

	#jd .jd-reg__list{ padding-top:12px; }
	#jd .jd-reg__letter h2{ font-size:60px; }
	#jd .jd-reg__row{ grid-template-columns:minmax(0,1fr) auto; gap:0 8px; padding:9px 0; }
	#jd .jd-reg__name{ grid-column:1; }
	#jd .jd-reg__profile{ grid-column:2; grid-row:1; }
	#jd .jd-reg__place{ grid-column:1 / -1; font-size:14.5px; color:var(--jd-text-muted); }
	#jd .jd-reg__society{ display:none; }
	#jd .jd-reg__row:hover,
	#jd .jd-reg__row:focus-visible{ box-shadow:none; }
}

/* Sign-in prompt */
#jd .jd-reg__gate{ max-width:60ch; padding:56px 0; }
#jd .jd-reg__gate h1{ margin:0 0 14px; font-family:var(--jd-font-heading); font-size:30px; color:var(--jd-navy-dark); }
#jd .jd-reg__gate a{ color:var(--jd-navy); font-weight:600; }
