/* Defaults match the Prep Weekly archive search (Gotham Book/Medium, navy #002b54, gold #b79664). Elementor widget controls override them. */
.prep-directory{--prep-navy:#002b54;--prep-gold:#b79664;--prep-soft:#f4f6f8;--prep-warm:#efe9df;--prep-muted:#64798c;--prep-line:#cbd6e1;--prep-email:#2f6db5;--prep-phone:#4f9d3a;--prep-website:#b79664;--prep-height:36px;--prep-book:'Gotham Book',Arial,sans-serif;--prep-medium:'Gotham Medium',Arial,sans-serif;
  /* Hover motion: filter buttons and contact buttons each have their own lift, grow and shadow. */
  --prep-btn-lift:2px;--prep-btn-scale:1;--prep-btn-hover-shadow:0 6px 14px #002b541f;--prep-link-lift:2px;--prep-link-scale:1;--prep-link-hover-shadow:0 6px 14px #002b541f;
  --prep-sticky-top:0px;--prep-admin-bar:0px;
  width:100%;color:var(--prep-navy);font-family:var(--prep-book);line-height:1.5}
.prep-directory *{box-sizing:border-box}
.prep-directory [hidden]{display:none!important}
body.admin-bar .prep-directory{--prep-admin-bar:32px}
@media(max-width:782px){body.admin-bar .prep-directory{--prep-admin-bar:46px}}
@media(max-width:600px){body.admin-bar .prep-directory{--prep-admin-bar:0px}}

/* Search band and filter band; the inner blocks' width is adjustable separately from the results. */
.prep-directory .prep-directory__controls{display:contents}
/* Each band = a color plus an optional bottom divider line, both set by the widget through CSS variables. */
.prep-directory .prep-directory__band{--prep-this-band:var(--prep-band,var(--prep-warm));--prep-this-fill:linear-gradient(to top,var(--prep-this-line,transparent) 0 var(--prep-this-line-w,0px),var(--prep-this-band) 0);background:var(--prep-this-fill);padding:0 24px}
.prep-directory .prep-directory__searchbar{--prep-this-band:var(--prep-search-band,var(--prep-band,var(--prep-warm)));--prep-this-line:var(--prep-search-line,transparent);--prep-this-line-w:var(--prep-search-line-w,0px)}
.prep-directory .prep-directory__filters{--prep-this-band:var(--prep-menu-band,var(--prep-band,var(--prep-warm)));--prep-this-line:var(--prep-menu-line,transparent);--prep-this-line-w:var(--prep-menu-line-w,0px)}
/* Full-width bands: border-image with a horizontal outset paints the same fill to the browser edges inside a narrower
   container, without a horizontal scrollbar and without blocking the pinned-bar shadow. */
.prep-directory.prep-directory--bleed .prep-directory__band{border-image:var(--prep-this-fill) fill 0//0 100vmax}
.prep-directory .prep-directory__searchbar{padding-top:18px;padding-bottom:12px}
.prep-directory .prep-directory__filters{padding-top:8px;padding-bottom:20px}
.prep-directory .prep-directory__controls-inner{width:100%;max-width:100%;margin-inline:auto}
/* Freezing: any band and the division/section headings can stay on screen while scrolling. directory.js stacks frozen
   bands under each other via --prep-part-top and publishes their total height as --prep-frozen-bottom for headings.
   Sticking stops working if a parent container hides overflow. */
.prep-directory--freeze-search .prep-directory__searchbar,.prep-directory--freeze-fields .prep-directory__filters{position:sticky;top:var(--prep-part-top,calc(var(--prep-sticky-top) + var(--prep-admin-bar)));z-index:30;transition:box-shadow .2s ease}
.prep-directory .is-stuck{box-shadow:0 8px 18px #002b5414}
.prep-directory--freeze-divisions .prep-directory__division>h3{position:sticky;top:var(--prep-frozen-bottom,calc(var(--prep-sticky-top) + var(--prep-admin-bar)));z-index:20;background:var(--prep-heading-bg,#fff);padding-top:8px}
.prep-directory--freeze-sections .prep-directory__section>h4{position:sticky;top:calc(var(--prep-frozen-bottom,calc(var(--prep-sticky-top) + var(--prep-admin-bar))) + var(--prep-h3-height,0px));z-index:19;background:var(--prep-heading-bg,#fff);padding:6px 0}

.prep-directory label{display:flex;flex-direction:column;gap:5px;font:12px/1.4 var(--prep-medium);color:var(--prep-navy)}
.prep-directory .prep-directory__search-label{display:block;margin-bottom:5px}
.prep-directory .prep-directory__search{display:flex;align-items:center;gap:10px;height:var(--prep-height);padding:0 16px;border:1px solid #d4dce4;border-radius:999px;background:#fff;box-shadow:0 4px 18px #002b540a;transition:border-color .18s ease,box-shadow .18s ease}
/* Active (focused) boxes look like Normal by default; the widget's Active tab targets these extra-specific selectors. */
.prep-directory .prep-directory__controls .prep-directory__search.prep-directory__search:focus-within{outline:0}
.prep-directory .prep-directory__glass{position:relative;flex:0 0 14px;width:14px;height:14px;margin-right:5px;border:2.5px solid var(--prep-navy);border-radius:50%}
.prep-directory .prep-directory__glass::after{content:'';position:absolute;right:-6px;bottom:-4px;width:7px;height:2.5px;border-radius:2px;background:var(--prep-navy);transform:rotate(45deg)}
/* The pill shows focus, so the input itself never draws a theme border or outline. */
.prep-directory .prep-directory__search input,.prep-directory .prep-directory__search input:focus,.prep-directory .prep-directory__search input:focus-visible{flex:1 1 0;width:0;min-width:0;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--prep-navy);font:16px var(--prep-book);-webkit-appearance:none;appearance:none}
.prep-directory .prep-directory__search input::-webkit-search-cancel-button{cursor:pointer}
.prep-directory .prep-directory__search input::placeholder{color:#7d8fa1;opacity:1}
.prep-directory select{display:block;width:100%;min-width:0;height:var(--prep-height);padding:0 40px 0 14px;margin:0;border:1px solid var(--prep-line);border-radius:999px;background-color:#fff;color:var(--prep-navy);font:14px var(--prep-book);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23002b54' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px 14px;transition:border-color .18s ease}
.prep-directory select:hover{border-color:var(--prep-navy)}
.prep-directory .prep-directory__controls .prep-directory__fields label select:focus{outline:0}
/* Keyboard users still get an outline on menus (mouse clicks don't trigger :focus-visible on a select). */
.prep-directory .prep-directory__controls .prep-directory__fields label select:focus-visible{outline:2px solid var(--prep-navy);outline-offset:2px}

/* Filter buttons */
.prep-directory button{font:14px/1.2 var(--prep-medium);background:#fff;color:var(--prep-navy);border:1px solid var(--prep-line);border-radius:999px;padding:0 18px;min-height:var(--prep-height);cursor:pointer;white-space:normal;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.prep-directory button:hover{background:var(--prep-warm);border-color:var(--prep-gold);color:var(--prep-navy);transform:translateY(calc(-1 * var(--prep-btn-lift))) scale(var(--prep-btn-scale));box-shadow:var(--prep-btn-hover-shadow)}
.prep-directory button:active{transform:scale(.98)}
.prep-directory button[aria-pressed=true]{background:var(--prep-navy);color:#fff;border-color:var(--prep-navy)}
.prep-directory button[aria-pressed=true]:hover{background:var(--prep-gold);border-color:var(--prep-gold);color:var(--prep-navy)}
/* Division, Section and Sort sit in one row on every device; their relative widths come from the widget (--prep-fr-*). */
.prep-directory .prep-directory__fields{display:flex;flex-direction:row;gap:12px}
.prep-directory .prep-directory__fields label{min-width:0;justify-content:flex-end}
.prep-directory .prep-directory__menu--division{flex:var(--prep-fr-division,1) 1 0}
.prep-directory .prep-directory__menu--section{flex:var(--prep-fr-section,1) 1 0}
.prep-directory .prep-directory__menu--sort{flex:var(--prep-fr-sort,1) 1 0}
/* Menu icons: drawn over the select; Icon only turns the menu into a circle showing just the icon. */
.prep-directory .prep-directory__menu-box{position:relative;display:block}
/* Keep filter icons in front of native select controls, including in Elementor's mobile preview and iOS browsers.
   The SVG must not consume taps: the native picker remains the actual interaction target. */
.prep-directory .prep-directory__menu-box > select{position:relative;z-index:0}
.prep-directory .prep-directory__menu-box > .prep-directory__menu-icon{z-index:3;visibility:visible;opacity:1;pointer-events:none}
.prep-directory .prep-directory__menu-icon{position:absolute;z-index:1;top:50%;left:var(--prep-menu-icon-left,14px);width:var(--prep-menu-icon-size,16px);height:var(--prep-menu-icon-size,16px);transform:translateY(-50%);color:var(--prep-menu-icon-color,var(--prep-navy));pointer-events:none}
.prep-directory .prep-directory__menu-box:hover .prep-directory__menu-icon{color:var(--prep-menu-icon-hover,var(--prep-menu-icon-color,var(--prep-navy)))}
.prep-directory .prep-directory__fields .prep-directory__menu.has-icon select{padding-left:calc(var(--prep-menu-icon-left,14px) + var(--prep-menu-icon-size,16px) + 8px)}
.prep-directory .prep-directory__fields .prep-directory__menu.is-compact{flex:0 0 auto}
.prep-directory .prep-directory__fields .prep-directory__menu.is-compact .prep-directory__menu-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.prep-directory .prep-directory__fields .prep-directory__menu.is-compact .prep-directory__menu-box{width:var(--prep-compact-size,var(--prep-height));height:var(--prep-compact-size,var(--prep-height))}
.prep-directory .prep-directory__fields .prep-directory__menu.is-compact select{width:100%;height:100%;padding:0!important;border-radius:var(--prep-compact-radius,50%);color:transparent;background-image:none;text-indent:-9999px}
.prep-directory .prep-directory__fields .prep-directory__menu.is-compact select option{color:var(--prep-navy);text-indent:0}
.prep-directory .prep-directory__fields .prep-directory__menu.is-compact .prep-directory__menu-icon{left:50%;transform:translate(-50%,-50%)}
/* A dot on an icon-only menu while it is set to something other than its first option. */
.prep-directory .prep-directory__menu.is-compact.is-set .prep-directory__menu-box::after{content:'';position:absolute;z-index:2;top:0;right:0;width:10px;height:10px;border-radius:50%;background:var(--prep-set-dot,var(--prep-gold));box-shadow:0 0 0 2px #fff;pointer-events:none}
.prep-directory--no-search-icon .prep-directory__glass{display:none}
/* One line: search and menus share a single band. Band and divider come from the Search band settings. */
.prep-directory.prep-directory--one-row .prep-directory__controls{--prep-this-band:var(--prep-search-band,var(--prep-band,var(--prep-warm)));--prep-this-line:var(--prep-search-line,transparent);--prep-this-line-w:var(--prep-search-line-w,0px);--prep-this-fill:linear-gradient(to top,var(--prep-this-line) 0 var(--prep-this-line-w),var(--prep-this-band) 0);
  display:flex;align-items:flex-end;gap:var(--prep-row-gap,12px);background:var(--prep-this-fill);padding:16px max(24px,calc((100% - var(--prep-controls-max,100%)) / 2 + 24px))}
.prep-directory.prep-directory--one-row.prep-directory--bleed .prep-directory__controls{border-image:var(--prep-this-fill) fill 0//0 100vmax}
.prep-directory.prep-directory--one-row .prep-directory__controls .prep-directory__band{position:static;padding:0;background:none;border-image:none;box-shadow:none}
.prep-directory.prep-directory--one-row .prep-directory__controls .prep-directory__controls-inner{max-width:none}
.prep-directory.prep-directory--one-row .prep-directory__searchbar{flex:0 1 max(var(--prep-search-basis,40%),160px);min-width:160px}
.prep-directory.prep-directory--one-row .prep-directory__filters{flex:1 1 0;min-width:0}
.prep-directory.prep-directory--one-row.prep-directory--menus-compact .prep-directory__searchbar{flex:1 1 0}
.prep-directory.prep-directory--one-row.prep-directory--menus-compact .prep-directory__filters{flex:0 0 auto}
.prep-directory--one-row.prep-directory--freeze-search .prep-directory__controls,.prep-directory--one-row.prep-directory--freeze-fields .prep-directory__controls{position:sticky;top:var(--prep-part-top,calc(var(--prep-sticky-top) + var(--prep-admin-bar)));z-index:30;transition:box-shadow .2s ease}
.prep-directory .prep-directory__fields select{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}

/* Shortcode hover presets (the Elementor widget uses its own sliders instead). */
.prep-directory.prep-directory--hover-none{--prep-btn-lift:0px;--prep-btn-scale:1;--prep-btn-hover-shadow:none;--prep-link-lift:0px;--prep-link-scale:1;--prep-link-hover-shadow:none}
.prep-directory.prep-directory--hover-grow{--prep-btn-lift:0px;--prep-btn-scale:1.05;--prep-link-lift:0px;--prep-link-scale:1.05}
.prep-directory.prep-directory--hover-glow{--prep-btn-lift:0px;--prep-btn-hover-shadow:0 0 0 4px #b7966440;--prep-link-lift:0px;--prep-link-hover-shadow:0 0 0 4px #b7966440}
.prep-directory :is(button,a):focus-visible{outline:2px solid var(--prep-gold);outline-offset:2px}

/* Results: width adjustable separately; cards can be arranged in columns. */
.prep-directory .prep-directory__results{width:100%;max-width:100%;margin-inline:auto;padding:0 24px}
/* Collapsible headings: the heading text is a button with a chevron at the right. */
.prep-directory .prep-directory__toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;line-height:inherit;cursor:pointer}
.prep-directory .prep-directory__toggle:hover,.prep-directory .prep-directory__toggle:focus{background:none;color:inherit}
.prep-directory .prep-directory__toggle:focus-visible{outline:2px solid var(--prep-navy);outline-offset:4px}
.prep-directory .prep-directory__heading-text{flex:1 1 auto;min-width:0;text-align:inherit}
.prep-directory .prep-directory__chevron{flex:0 0 auto;width:var(--prep-chevron-division,20px);height:var(--prep-chevron-division,20px);color:var(--prep-chevron-color,currentColor);transition:transform .2s ease}
.prep-directory .prep-directory__section h4 .prep-directory__chevron{width:var(--prep-chevron-section,14px);height:var(--prep-chevron-section,14px);color:var(--prep-chevron-section-color,var(--prep-chevron-color,currentColor))}
.prep-directory .prep-directory__toggle[aria-expanded="false"] .prep-directory__chevron{transform:rotate(-90deg)}
/* Collapsible heading hover: a light gold highlight with rounded corners, like the site search results. The
   padding is offset with negative margins so the heading text stays where it was. The button selector outranks the
   site theme's button hover (white background and shadow). */
.prep-directory button.prep-directory__toggle{width:calc(100% + 2 * var(--prep-heading-pad-x,10px));margin:calc(-1 * var(--prep-heading-pad-y,6px)) calc(-1 * var(--prep-heading-pad-x,10px));padding:var(--prep-heading-pad-y,6px) var(--prep-heading-pad-x,10px);border:0;border-radius:var(--prep-heading-hover-radius,10px);background:transparent;box-shadow:none;transform:none;transition:background-color .18s ease,color .18s ease}
.prep-directory button.prep-directory__toggle:not(:hover):focus:not(:focus-visible){background:transparent;box-shadow:none}
.prep-directory button.prep-directory__toggle:hover,.prep-directory button.prep-directory__toggle:focus-visible{background:var(--prep-heading-hover-bg,#efe9df);color:var(--prep-heading-hover-color,inherit);box-shadow:none}
.prep-directory .prep-directory__division-body[hidden],.prep-directory .prep-directory__section .prep-directory__list[hidden]{display:none}
/* The count line, with the Collapse all / Expand all button at the right. */
.prep-directory .prep-directory__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:16px 0 0}
.prep-directory .prep-directory__meta .prep-directory__count{flex:var(--prep-count-grow,1) 1 auto;margin:0}
.prep-directory .prep-directory__toggle-all{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;min-height:0;margin:0 0 0 var(--prep-toggle-all-ml,auto);padding:0 12px;border:1px solid #d4dce4;border-radius:999px;background:#fff;color:var(--prep-navy);font:13px/1 var(--prep-book);letter-spacing:normal;text-transform:none;white-space:nowrap;box-shadow:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.prep-directory .prep-directory__toggle-all[hidden]{display:none}
.prep-directory .prep-directory__toggle-all:hover,.prep-directory .prep-directory__toggle-all:focus{background:var(--prep-warm,#efe9df);border-color:#c9b99c;color:var(--prep-navy)}
.prep-directory .prep-directory__toggle-all:focus-visible{outline:2px solid var(--prep-navy);outline-offset:2px}
.prep-directory .prep-directory__toggle-all-icon{flex:0 0 auto;width:16px;height:16px;font-size:16px;line-height:1}
.prep-directory .prep-directory__toggle-all-icon--custom{display:inline-flex;align-items:center;justify-content:center}
.prep-directory .prep-directory__toggle-all-icon--custom svg{width:1em;height:1em;fill:currentColor}
.prep-directory .prep-directory__toggle-all .prep-directory__toggle-all-icon--expand,.prep-directory .prep-directory__toggle-all.is-collapsed .prep-directory__toggle-all-icon--collapse{display:none}
.prep-directory .prep-directory__toggle-all.is-collapsed .prep-directory__toggle-all-icon--expand{display:inline-flex}
.prep-directory .prep-directory__toggle-all.is-icon{width:auto;aspect-ratio:1/1;padding:0}
.prep-directory .prep-directory__toggle-all.is-icon .prep-directory__toggle-all-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* In the search & menus bar: beside the menus, as tall as them. Same weight as the defaults above (and listed after
   them), one class lighter than the widget's Style → Collapse all button settings, so those always win. */
.prep-directory .prep-directory__fields .prep-directory__menu--toggle-all{display:flex;align-items:flex-end;flex:0 0 auto}
.prep-directory__fields .prep-directory__toggle-all{height:var(--prep-height);min-height:0;margin:0;padding:0 16px;font-size:14px}
.prep-directory__fields .prep-directory__toggle-all.is-icon{padding:0}
.prep-directory__fields .prep-directory__toggle-all:hover,.prep-directory__fields .prep-directory__toggle-all:focus{background:#fff;border-color:var(--prep-navy)}
@media (prefers-reduced-motion:reduce){.prep-directory .prep-directory__chevron{transition:none}}
.prep-directory .prep-directory__count{margin:16px 0 0;font:13px var(--prep-book);color:var(--prep-muted)}
.prep-directory .prep-directory__division{margin:28px 0}
.prep-directory .prep-directory__division h3{font:26px/1.25 var(--prep-medium);color:var(--prep-navy);padding-bottom:10px;margin:0 0 18px;border-bottom:3px solid var(--prep-gold)}
.prep-directory .prep-directory__section{margin-top:20px}
.prep-directory .prep-directory__section h4{font:12px/1.4 var(--prep-medium);text-transform:uppercase;letter-spacing:.08em;color:var(--prep-navy);margin:0 0 10px}
.prep-directory .prep-directory__list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.prep-directory .prep-directory__person{display:flex;flex-wrap:wrap;align-items:center;column-gap:20px;row-gap:12px;background:var(--prep-soft);padding:16px 20px;border-radius:12px}
.prep-directory .prep-directory__person>div:first-child{flex:1 1 220px;min-width:0}
.prep-directory .prep-directory__person h5{font:20px/1.3 var(--prep-medium);color:var(--prep-navy);margin:0 0 4px}
.prep-directory .prep-directory__title{font:13px/1.4 var(--prep-book);letter-spacing:.025em;text-transform:uppercase;color:var(--prep-muted);margin:0;overflow-wrap:anywhere}

/* Contact buttons (email, phone, website) */
.prep-directory .prep-directory__contact{flex:1 1 220px;display:flex;flex-direction:column;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:10px;min-width:0}
.prep-directory .prep-directory__btn{--prep-accent:var(--prep-navy);display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:6px 16px;border:2px solid var(--prep-accent);border-radius:999px;background:#fff;color:var(--prep-navy);font:14px/1.3 var(--prep-book);text-decoration:none!important;overflow-wrap:anywhere;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.prep-directory .prep-directory__btn--email{--prep-accent:var(--prep-email)}
.prep-directory .prep-directory__btn--phone{--prep-accent:var(--prep-phone)}
.prep-directory .prep-directory__btn--website{--prep-accent:var(--prep-website)}
.prep-directory .prep-directory__icon{flex:0 0 auto;width:16px;height:16px;color:var(--prep-navy);transition:color .2s ease}
.prep-directory .prep-directory__btn:hover{background:var(--prep-accent);border-color:var(--prep-accent);color:#fff;transform:translateY(calc(-1 * var(--prep-link-lift))) scale(var(--prep-link-scale));box-shadow:var(--prep-link-hover-shadow)}
.prep-directory .prep-directory__btn:hover .prep-directory__icon{color:#fff}
.prep-directory .prep-directory__btn:active{transform:scale(.98)}
.prep-directory--no-icons .prep-directory__icon{display:none}
.prep-directory--no-search-label .prep-directory__search-label,.prep-directory--no-menu-labels .prep-directory__menu-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.prep-directory--no-search-label .prep-directory__searchbar{padding-top:14px}
.prep-directory .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.prep-directory [data-prep-empty]{margin:24px 0;font:14px var(--prep-book);color:var(--prep-muted)}

@media(max-width:600px){.prep-directory{--prep-height:38px}.prep-directory .prep-directory__band{padding-left:16px;padding-right:16px}.prep-directory .prep-directory__searchbar{padding-top:14px}.prep-directory .prep-directory__filters{padding-bottom:16px}.prep-directory .prep-directory__results{padding:0 16px}.prep-directory .prep-directory__fields{gap:8px}
.prep-directory.prep-directory--one-row .prep-directory__controls{flex-wrap:wrap;padding-left:16px;padding-right:16px;padding-top:14px}
.prep-directory.prep-directory--one-row:not(.prep-directory--menus-compact) .prep-directory__searchbar{flex-basis:100%}.prep-directory label{font-size:11px}.prep-directory select{font-size:14px;padding:0 26px 0 10px;background-position:right 9px center;background-size:12px 12px}.prep-directory .prep-directory__person h5{font-size:17px}}
@media(pointer:coarse){.prep-directory .prep-directory__btn{min-height:44px}}
@media(prefers-reduced-motion:reduce){.prep-directory button,.prep-directory .prep-directory__btn,.prep-directory .prep-directory__search,.prep-directory select{transition:none}.prep-directory button:hover,.prep-directory button:active,.prep-directory .prep-directory__btn:hover,.prep-directory .prep-directory__btn:active{transform:none!important}}
/* Styled dropdown list (assets/directory.js): opens below its menu instead of over it. */
.prep-directory .prep-directory__menu.has-list select{cursor:pointer}
.prep-directory .prep-directory__popup{position:absolute;z-index:60;top:calc(100% + 6px);left:0;min-width:max(100%,200px);max-height:min(60vh,360px);overflow:auto;padding:6px;background:#fff;border:1px solid var(--prep-line);border-radius:14px;box-shadow:0 12px 32px #002b5426;outline:0;text-align:left;cursor:default}
.prep-directory .prep-directory__popup.is-right{left:auto;right:0}
.prep-directory .prep-directory__option{padding:9px 12px;border-radius:9px;font:14px/1.3 var(--prep-book);color:var(--prep-navy);white-space:nowrap;cursor:pointer}
.prep-directory .prep-directory__option.is-active{background:var(--prep-soft)}
.prep-directory .prep-directory__option[aria-selected="true"]{font-family:var(--prep-medium)}
/* Icons chosen in Elementor (Font Awesome <i> or an uploaded SVG). */
.prep-directory .prep-directory__menu-icon--custom,.prep-directory .prep-directory__icon--custom{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.prep-directory .prep-directory__menu-icon--custom{font-size:var(--prep-menu-icon-size,16px)}
.prep-directory .prep-directory__icon--custom{flex:0 0 auto}
.prep-directory .prep-directory__menu-icon--custom svg,.prep-directory .prep-directory__icon--custom svg{width:100%;height:100%;fill:currentColor}
.prep-directory .prep-directory__icon--custom i{font-size:inherit;color:inherit}
/* Search results listed once per person: where each title applies. */
.prep-directory .prep-directory__merged{margin-top:8px}
.prep-directory .prep-directory__where{margin:2px 0 0;font:13px/1.4 var(--prep-book);color:var(--prep-muted)}
.prep-directory .prep-directory__where + .prep-directory__title{margin-top:8px}
/* Clear button: resets search, menus and sort. Hidden until something is set; when it appears the menus (or, with
   Icon only menus on one line, the search box) narrow to make room. */
.prep-directory .prep-directory__fields .prep-directory__menu--clear{display:flex;align-items:flex-end;flex:0 0 auto;}
.prep-directory .prep-directory__fields .prep-directory__menu--clear.is-idle:not(.is-always){display:none}
.prep-directory .prep-directory__controls .prep-directory__fields .prep-directory__clear{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--prep-height);min-height:0;margin:0;padding:0 18px;border:1px solid var(--prep-line);border-radius:999px;background:#fff;color:var(--prep-menu-icon-color,var(--prep-navy));font:14px/1 var(--prep-book);white-space:nowrap;cursor:pointer;transform:none;box-shadow:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.prep-directory .prep-directory__controls .prep-directory__fields .prep-directory__clear:hover{border-color:var(--prep-navy);background:#fff;color:var(--prep-menu-icon-hover,var(--prep-menu-icon-color,var(--prep-navy)));transform:none;box-shadow:none}
.prep-directory .prep-directory__controls .prep-directory__fields .prep-directory__clear:disabled{cursor:default;opacity:.5}
.prep-directory .prep-directory__controls .prep-directory__fields .prep-directory__clear:focus-visible{outline:2px solid var(--prep-navy);outline-offset:2px}
.prep-directory .prep-directory__fields .prep-directory__menu--clear .prep-directory__clear .prep-directory__menu-icon{position:static;transform:none;flex:0 0 auto;color:inherit}
.prep-directory .prep-directory__controls .prep-directory__fields .is-compact .prep-directory__clear{width:var(--prep-compact-size,var(--prep-height));height:var(--prep-compact-size,var(--prep-height));padding:0;border-radius:var(--prep-compact-radius,50%)}
.prep-directory .prep-directory__menu--clear.is-compact .prep-directory__clear-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Phones and tablets: iOS zooms the page into any text box or menu with text under 16px, so on touch screens the
   search box and menus always use 16px (this outranks a smaller size set in the widget, on touch screens only). */
@media (hover:none),(pointer:coarse){.prep-directory .prep-directory__search input,.prep-directory .prep-directory__controls select{font-size:16px!important}}

/* Shown when several words found nobody as a phrase and were looked for separately instead. */
.prep-directory .prep-directory__loose{flex:1 0 100%;margin:4px 0 0;font:italic 13px/1.45 var(--prep-book);color:var(--prep-muted)}
.prep-directory .prep-directory__each-word{display:inline;margin:0;padding:0;border:0;background:none;box-shadow:none;color:var(--prep-navy,#002b54);font:inherit;font-style:normal;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.prep-directory .prep-directory__each-word:hover,.prep-directory .prep-directory__each-word:focus{background:none;color:var(--prep-navy,#002b54);text-decoration-thickness:2px}
/* Touch screens: a tap leaves a button or row "hovered" until the next tap, so hover grow and lift never apply there. */
@media (hover:none){.prep-directory button:hover,.prep-directory .prep-directory__btn:hover,.prep-directory .prep-directory__clear:hover{transform:none!important}}
