/* FC Connect v2 wireframe skin over Bootstrap 5.3: greyscale, square corners, no shadows.
   Layout (desktop first): fixed header and footer around three independently scrolling columns. */
:root { --bs-body-bg:#fff; --bs-body-color:#222; --bs-border-color:#8a8a8a; --bs-link-color:#222; --bs-link-hover-color:#000;
        --bs-border-radius:0; --hdr:56px; --ftr:34px; --aside-w:268px; --toc-w:208px; }
body { font-size:.95rem; }
body.wf-shell { height:100vh; overflow:hidden; }
a { text-decoration:underline; }
.btn, .card, .list-group-item, .form-control, .form-select, .badge, .alert, .form-check-input { border-radius:0; box-shadow:none; }
.btn-primary, .btn-dark { --bs-btn-bg:#333; --bs-btn-border-color:#333; --bs-btn-hover-bg:#000; --bs-btn-hover-border-color:#000; --bs-btn-active-bg:#000; }
.btn-outline-dark { --bs-btn-hover-bg:#333; }
.card { border:1px solid #8a8a8a; }

/* header */
.wf-header { height:var(--hdr); background:#f2f2f2; border-bottom:1px solid #8a8a8a; padding:0; z-index:1030; }
.wf-hdr { width:100%; height:100%; display:grid; grid-template-columns:var(--aside-w) minmax(0,1fr) var(--aside-w); align-items:center; }
.wf-hdr-left, .wf-hdr-right { display:flex; align-items:center; white-space:nowrap; min-width:0; box-sizing:border-box; padding:0 .75rem; }   /* the left block is as wide as the aside; the right one balances it */
.wf-hdr-right { justify-content:flex-end; }
.wf-hdr-mid { min-width:0; display:flex; justify-content:center; padding:0 1rem; }
.wf-hdr-list { display:flex; align-items:center; justify-content:center; gap:.4rem; width:100%; }
.wf-user-btn { width:100%; max-width:100%; text-align:left; display:flex; align-items:center; gap:.5rem; border:1px solid transparent; background:transparent; color:#111; }
.wf-user-btn:hover, .wf-user-btn:focus-visible, .wf-user-btn.show { border-color:#333; background:#fff; }
.wf-user-btn .wf-user-name { flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; font-weight:600; text-align:right; padding-right:1.25rem; }   /* name right-aligned, 1.25rem before the role chip */
.wf-hdr-right > ul, .wf-hdr-right .dropdown { width:100%; }
.wf-crumbbar { margin:0 0 1rem; display:flex; align-items:center; gap:.75rem; }
.wf-crumbbar .pr-toolbar { margin-left:auto; }                       /* presentation tools sit at the far right, level with the hamburger button */
.pr-drawer { margin:-.25rem 0 1rem; padding:.7rem .8rem; border:1px solid #8a8a8a; background:#fafafa; }
.pr-drawer .pr-new { margin:0; max-width:520px; }
.wf-crumbbar[hidden] { display:none; }
.wf-crumbs { display:flex; align-items:center; margin-bottom:1rem; }
.wf-crumbs .wf-aside-btn { margin-right:1.25rem; flex:none; }
.wf-crumbs .breadcrumb { margin-bottom:0; }
.wf-suggest-count { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.wf-hdr-live { flex:0 1 640px; min-width:140px; margin:0 4.5rem 0 0 !important; position:relative; display:flex; align-items:center; gap:.4rem; }   /* half the width it had */
.wf-hdr-live .wf-combo { flex:1 1 auto; min-width:0; }
.wf-drawer-btn.dropdown-toggle::after { margin-left:1.1rem; }          /* room between "options" and the caret */
.wf-search-label { font-size:.85rem; color:#333; margin:0; white-space:nowrap; }
.wf-text-btn { display:inline-block; padding:.2rem .5rem; font-size:.875rem; color:#111; background:transparent; border:1px solid transparent; text-decoration:none; white-space:nowrap; }
.wf-text-btn:hover, .wf-text-btn:focus-visible, .wf-text-btn.show, .wf-text-btn.is-here { border-color:#333; background:#fff; color:#111; }
.wf-text-btn.is-here { font-weight:600; }
.wf-viewing { font-size:.72rem; color:#555; margin-left:.15rem; white-space:nowrap; max-width:140px; overflow:hidden; text-overflow:ellipsis; display:inline-block; vertical-align:middle; }
.wf-hdr-list > li.wf-spacer { flex:0 0 100px; width:100px; height:1px; margin:0; padding:0; list-style:none; }     /* a 100px gap after the page links, before the Search label */
.wf-welcome { padding:0; }
.wf-welcome-btn { width:100%; display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.4rem .8rem; background:transparent; border:0; text-align:left; font:inherit; color:inherit; }
.wf-welcome { min-height:0; }
.wf-welcome-text { display:flex; flex-direction:column; min-width:0; line-height:1.7; gap:.2rem; }
.wf-welcome-line { white-space:normal; overflow-wrap:anywhere; }      /* the name wraps instead of being cut off */
.wf-welcome-role { font-size:.75rem; font-weight:400; color:#555; }
.wf-welcome-btn:hover, .wf-welcome-btn[aria-expanded="true"] { background:#e8e8e8; }
.wf-welcome-menu { flex:0 0 auto; border-bottom:1px solid #8a8a8a; background:#fafafa; padding:.4rem .6rem; }
.wf-welcome-menu .list-group-item { text-align:left; width:100%; }
.wf-hdr-list > li { flex:0 0 auto; } .wf-hdr-list > li.wf-hdr-live { flex:0 1 640px; }
.wf-brand { display:inline-flex; align-items:center; gap:.5rem; color:#111; text-decoration:none; font-weight:600; font-size:1.15rem; }
.wf-brand img { display:block; height:33px; width:auto; }
.wf-brandrow { display:flex; align-items:flex-start; height:33px; }          /* the version sits level with the top of the logo, not below it */
.wf-version { margin-left:1.75rem !important; margin-top:0; line-height:1; padding-top:.1rem; font-size:.62rem; text-transform:uppercase; letter-spacing:.07em; color:#666; }
.wf-hdr-list .dropdown-menu, .wf-hdr-right .dropdown-menu { font-size:.9rem; }
.wf-hdr-right .dropdown-item { cursor:pointer; }
.wf-pop { position:absolute; left:0; right:0; top:100%; z-index:1040; }
.wf-pop .wf-suggest-count { background:#fff; border:1px solid #8a8a8a; border-bottom:0; margin:0; padding:.3rem .55rem; }
.wf-refine-btn { margin-left:3rem; }
.wf-drawer-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:.6rem; padding-bottom:.4rem; border-bottom:1px dashed #bbb; }
.wf-search { max-width:420px; flex:1 1 220px; }

/* shell: the browser window never scrolls. A fixed header and a fixed footer frame three columns (left aside | main | right aside),
   and each column scrolls on its own. The two asides are panes: fixed top header, grow-1 scrolling body, fixed bottom footer. */
.app { position:fixed; top:var(--hdr); bottom:var(--ftr); left:0; right:0; display:grid; grid-template-columns:var(--aside-w) minmax(0,1fr) var(--toc-w); }
body.aside-closed .app { grid-template-columns:0 minmax(0,1fr) var(--toc-w); }
.wf-pane { display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; background:#fafafa; }
.wf-pane-head, .wf-pane-foot { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.4rem .8rem;
                               background:#f2f2f2; font-size:.78rem; min-height:34px; }
.wf-pane-head { border-bottom:1px solid #8a8a8a; font-weight:600; letter-spacing:.02em; }
.wf-pane-foot { border-top:1px solid #8a8a8a; color:#555; }
.wf-pane-body { flex:1 1 auto; min-height:0; overflow-y:auto; padding:.9rem .8rem; }
.wf-aside { border-right:1px solid #8a8a8a; }
body.aside-closed .wf-aside { visibility:hidden; border:0; }
.wf-toc { border-left:0px solid #ddd; background:#fff; font-size:.85rem; }
.wf-toc .nav-link { padding:.2rem .5rem; color:#555; border-left:3px solid transparent; border-radius:0; text-decoration:none; }
.wf-toc .nav-link.active { color:#000; font-weight:600; border-left-color:#222; background:#f2f2f2; }
.wf-main { min-width:0; min-height:0; overflow-y:auto; padding:2.5rem 2.5rem 2rem; scroll-behavior:smooth; }
.wf-main:focus-visible { outline:2px solid #333; outline-offset:-2px; }
section[id] { scroll-margin-top:10px; }
.wf-footer { position:fixed; left:0; right:0; bottom:0; height:var(--ftr); z-index:1030; display:flex; align-items:center;
             padding:0 1rem; background:#f2f2f2; border-top:1px solid #8a8a8a; font-size:.76rem; color:#555; white-space:nowrap; overflow:hidden; }
.wf-footer a { color:#333; }
.wf-ftr { width:100%; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; }
.wf-ftr-left { justify-self:start; } .wf-ftr-mid { justify-self:center; } .wf-ftr-right { justify-self:end; }
.wf-ftr-sep { margin:0 .35rem !important; color:#999; }
#app-status[data-state="searching"] b { color:#8a5a00; } #app-status[data-state="error"] b { color:#a61e1e; }
@media (max-width: 1199.98px) { .app { grid-template-columns:var(--aside-w) minmax(0,1fr) 0; } body.aside-closed .app { grid-template-columns:0 minmax(0,1fr) 0; } .wf-toc { display:none; } }

/* scrollbars stay out of sight until the pointer is over the scrolling area (standard properties, WebKit fallback below).
   They keep their width, so nothing shifts when they appear. */
.wf-main, .wf-pane-body, .wf-drawer, .table-responsive, .wf-scroll { scrollbar-width:thin; scrollbar-color:transparent transparent; }
.wf-main:hover, .wf-pane-body:hover, .wf-drawer:hover, .table-responsive:hover, .wf-scroll:hover { scrollbar-color:#8a8a8a transparent; }
.wf-main::-webkit-scrollbar, .wf-pane-body::-webkit-scrollbar, .wf-drawer::-webkit-scrollbar, .table-responsive::-webkit-scrollbar, .wf-scroll::-webkit-scrollbar { width:10px; height:10px; }
.wf-main::-webkit-scrollbar-thumb, .wf-pane-body::-webkit-scrollbar-thumb, .wf-drawer::-webkit-scrollbar-thumb, .table-responsive::-webkit-scrollbar-thumb, .wf-scroll::-webkit-scrollbar-thumb { background:transparent; border-radius:5px; }
.wf-main:hover::-webkit-scrollbar-thumb, .wf-pane-body:hover::-webkit-scrollbar-thumb, .wf-drawer:hover::-webkit-scrollbar-thumb, .table-responsive:hover::-webkit-scrollbar-thumb, .wf-scroll:hover::-webkit-scrollbar-thumb { background:#8a8a8a; }
.toast-container { bottom:var(--ftr) !important; }

/* aside navigation */
.wf-aside .list-group-item { padding:.3rem .6rem; font-size:.88rem; border-color:#ccc; }
.wf-aside .list-group-item.active { background:#333; border-color:#333; color:#fff; }
.wf-label { font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:#666; }
.wf-aside .wf-pane-body .wf-label { margin:.9rem 0 .25rem; }
.wf-aside .wf-pane-body .wf-label:first-child { margin-top:0; }
.wf-aside .wf-pane-body.tab-content { display:flex; flex-direction:column; }
.wf-aside .tab-pane { flex:1 1 auto; min-height:100%; }                      /* each tab fills the full height of the aside */
.wf-tabs { flex:0 0 auto; flex-wrap:nowrap; border-bottom:1px solid #8a8a8a; background:#f2f2f2; padding:.35rem .5rem 0; gap:.15rem; }
.wf-tabs .nav-link { padding:.3rem .4rem; font-size:.8rem; color:#333; border:1px solid transparent; border-bottom:0; white-space:nowrap; }
.wf-tabs .nav-link:hover { border-color:#bbb; }
.wf-tabs .nav-link.active { background:#fafafa; color:#000; font-weight:600; border-color:#8a8a8a #8a8a8a #fafafa; margin-bottom:-1px; }
.wf-aside a.demo { font-size:.82rem; display:block; padding:.12rem 0; }

/* people */
.wf-photo { aspect-ratio:1/1; background:repeating-linear-gradient(45deg,#eee,#eee 8px,#e2e2e2 8px,#e2e2e2 16px); border-bottom:1px solid #8a8a8a;
            display:flex; align-items:center; justify-content:center; font-size:1.8rem; font-weight:600; color:#666; overflow:hidden; }
.wf-photo img { width:100%; height:100%; object-fit:cover; }
.wf-photo-sm { width:44px; height:44px; aspect-ratio:auto; border:1px solid #8a8a8a; font-size:1rem; flex:none; }
.wf-photo-lg { border:1px solid #8a8a8a; }
.pron { font-size:.78rem; color:#555; letter-spacing:.01em; }
.pron b { font-weight:600; color:#222; }
.role-icon { width:22px; height:22px; vertical-align:-5px; }
.role-icon-lg { width:34px; height:34px; }
.wf-chip { border:1px solid #8a8a8a; padding:.15rem .6rem; text-decoration:none; color:#222; background:#fff; display:inline-block; font-size:.85rem; }
.wf-chip.active { background:#333; color:#fff; border-color:#333; }
.wf-chip small { opacity:.7; }
.wf-box { border:1px dashed #8a8a8a; padding:.75rem; }
.wf-tree, .wf-tree ul { list-style:none; margin:0; padding-left:1.1rem; border-left:2px solid #bbb; }
.wf-tree { border-left:0; padding-left:0; }
.wf-tree li { margin:.15rem 0; }
.wf-tree summary { cursor:pointer; }
.tile { border:1px solid #8a8a8a; padding:.7rem .9rem; }
.tile .n { font-size:1.6rem; font-weight:600; line-height:1.1; }
.skill-chip { border:1px solid #8a8a8a; background:#fff; padding:0 .4rem; font-size:.75rem; display:inline-block; margin:0 .15rem .15rem 0; }
.table-sm td, .table-sm th { vertical-align:middle; }
.cover td.zero { background:repeating-linear-gradient(45deg,#fff,#fff 4px,#eee 4px,#eee 8px); color:#999; }
.login-card { max-width:380px; margin:12vh auto; }

/* dev tool: photos queued for replacement */
.wf-photo { position:relative; }
.img-flag { outline:4px dashed #d9480f; outline-offset:-4px; }
.img-flag::after { content:"REPLACE"; position:absolute; top:4px; left:4px; background:#d9480f; color:#fff; font:700 .62rem/1.5 system-ui,sans-serif;
                   letter-spacing:.05em; padding:0 .35rem; pointer-events:none; }
.wf-photo-sm.img-flag::after { content:"!"; padding:0 .3rem; top:2px; left:2px; }
.flag-legend { display:inline-block; border:2px dashed #d9480f; color:#d9480f; font-weight:700; font-size:.7rem; padding:0 .35rem; letter-spacing:.05em; }
.img-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(132px, 1fr)); gap:.75rem; }
.img-cell { display:flex; flex-direction:column; text-align:left; background:#fff; border:1px solid #8a8a8a; padding:0; cursor:pointer; font:inherit; color:inherit; }
.img-cell:hover, .img-cell:focus-visible { border-color:#000; box-shadow:0 0 0 2px #000; outline:none; }
.img-cell .wf-photo { border-bottom:1px solid #8a8a8a; }
.img-cap { font-size:.74rem; line-height:1.25; padding:.1rem .4rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.img-cell .img-cap:nth-of-type(1) { padding-top:.3rem; font-weight:600; }
.img-cell .img-cap:last-child { padding-bottom:.3rem; }

/* quick search bar at the top of the drawer */
.wf-quick { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.wf-quick .wf-quick-q { flex:1 1 300px; min-width:240px; width:auto; }
.wf-quick .wf-quick-select { width:auto; max-width:200px; flex:0 1 auto; }

/* search and filter drawer dropped from the header */
.wf-drawer { position:fixed; top:var(--hdr); left:0; right:0; z-index:1029; background:#fafafa; border-bottom:2px solid #333;
             max-height:calc(100vh - var(--hdr) - var(--ftr)); overflow-y:auto; padding:1rem 1.25rem 1.1rem; }
.wf-drawer-btn { white-space:nowrap; }
.wf-drawer-btn .badge { font-weight:700; }

/* result filters repeated in the right-hand column under the scroll spy */
.wf-toc-extra { margin-top:1rem; padding-top:.8rem; border-top:1px solid #ddd; }
.wf-toc-extra .wf-chip { white-space:normal; font-size:.8rem; padding:.15rem .5rem; }

/* result filters as a Centre > Team > Role tree */
.wf-hier-child { margin:.6rem 0 0 .35rem; padding-left:.65rem; border-left:2px solid #bbb; }
.wf-toc-extra .wf-hier-child { margin-left:.15rem; padding-left:.5rem; }
.wf-hier .wf-label .text-lowercase { text-transform:none; letter-spacing:0; }

/* search type toggle and the live-search dropdown inside the drawer */
.wf-modebar { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-bottom:.75rem; padding-bottom:.6rem; border-bottom:1px dashed #bbb; }
.wf-combo { position:relative; }
.wf-suggest { list-style:none; margin:0; padding:0; border:1px solid #8a8a8a; background:#fff; max-height:min(470px, 55vh); overflow-y:auto; scrollbar-width:thin; scrollbar-color:transparent transparent; }
.wf-suggest:hover { scrollbar-color:#8a8a8a transparent; }
.wf-suggest-item { display:flex; align-items:center; gap:.6rem; padding:.3rem .55rem; cursor:pointer; border-bottom:1px solid #eee; }
.wf-suggest-item:last-child { border-bottom:0; }
.wf-suggest-item[aria-selected="true"] { background:#e4e4e4; outline:2px solid #333; outline-offset:-2px; }
.wf-suggest-item img { width:36px; height:36px; object-fit:cover; border:1px solid #8a8a8a; flex:none; background:#eee; }
.wf-suggest-main { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; line-height:1.25; }
.wf-suggest-name { font-weight:600; }
.wf-suggest-sub { font-size:.76rem; color:#555; }
.wf-suggest-why { flex:none; font-size:.7rem; color:#555; border:1px solid #bbb; padding:0 .35rem; text-transform:uppercase; letter-spacing:.04em; }
.wf-suggest-note { padding:.45rem .6rem; color:#555; font-size:.85rem; }
.wf-suggest-all { font-weight:600; justify-content:center; background:#f2f2f2; border-top:1px solid #8a8a8a; position:sticky; bottom:0; }   /* always in view, even in a long list */
.wf-suggest-count { margin:.4rem 0 .25rem; font-size:.85rem; font-weight:600; color:#222; }
.wf-suggest-count.text-danger { color:#a61e1e !important; }

/* ---- Presentation pages (viewer and editor) ---- */
.pr { display:block; }
.pr-nav { margin-bottom:.8rem; }
.wf-about-head { margin:0 0 1rem; }                                   /* a heading, not a button: bold, no background, never "selected", double the usual gap below */
.wf-about-head a { display:block; padding:.3rem .1rem; font-weight:700; font-size:.95rem; color:#111; text-decoration:none; background:transparent; }
.wf-about-head a:hover { text-decoration:underline; }
.pr-catname { margin:.8rem 0 .25rem; } .pr-cat:first-child .pr-catname { margin-top:0; }
.wf-aside .pr-cat .wf-label.pr-catname { margin:1.4rem 0 .7rem; }                 /* group headings in the contents list: space above is double the space below */
.wf-aside .pr-cat:first-child .wf-label.pr-catname { margin-top:0; }
.pr-sub { list-style:none; margin:0; padding:.3rem 0 .4rem .6rem; border:1px solid #8a8a8a; border-top:0; background:#fafafa; }
.pr-sub li { margin:0; } .pr-sub2 { padding-left:.8rem; }
.pr-sublink { display:block; padding:.1rem .5rem; font-size:.8rem; color:#333; text-decoration:none; border-left:3px solid transparent; }
.pr-sublink:hover { background:#eee; } .pr-sublink.active { border-left-color:#222; font-weight:600; background:#eee; }
.wf-appnav { margin-top:1rem; border-top:1px solid #bbb; padding-top:.5rem; } .wf-appnav > summary { cursor:pointer; font-size:.8rem; color:#555; margin-bottom:.4rem; }
.pr-navrow { display:flex; align-items:stretch; }
.pr-navrow .list-group-item { flex:1 1 auto; border-radius:0; }
.pr-move { display:flex; }
.pr-move .btn { border:1px solid #8a8a8a; border-radius:0; padding:0 .35rem; font-size:.65rem; }
.pr-new { display:flex; gap:.4rem; margin:.6rem 0; }
.pr-tools { display:flex; gap:.4rem; }
.pr-flash { grid-column:1 / -1; margin:0; }
.pr-view { min-width:0; /*max-width:880px;*/ }
.pr-edit { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:1.25rem; max-width:none; }
.pr-view:has(.pr-edit) { max-width:none; }
.pr-actions { display:flex; gap:.4rem; margin-bottom:.8rem; }
.pr-block { margin:0 0 1.1rem; }
.pr-block h2, .pr-block h3, .pr-block h4, .pr-block h5 { margin: 2.4rem 0 2.5rem; font-weight:600; }
.pr-block.pr-divider hr{margin: 3rem 8rem 4rem; opacity: 0.25; border-style: dashed;}
.pr-h1 { font-size:1.6rem; } .pr-h2 { font-size:1.8rem; border-bottom:1px solid #bbb; padding-bottom:.2rem; }
.pr-h3 { font-size:1.1rem; } .pr-h4 { font-size:.95rem; text-transform:uppercase; letter-spacing:.04em; color:#555; }
.pr-block p { margin:0 0 1.7rem; /* max-width:72ch */; } .pr-block li { margin-bottom:.3rem; /* max-width:72ch */; }
.pr-callout { border:1px solid #8a8a8a; border-left:6px solid #8a8a8a; background:#f4f4f4; padding:1.7rem 1rem; margin: 0 1rem /* max-width:72ch */; font-style: italic; }
.pr-callout h2, .pr-callout h3, .pr-callout h4, .pr-callout h5 { margin-top:0; }
.pr-callout p:last-child { margin-bottom:0; }
.pr-table th { white-space:nowrap; } .pr-table td, .pr-table th { font-size:.9rem; vertical-align:top; }
.pr-pager { display:flex; gap:.5rem; margin-top:2rem; padding-top:1rem; border-top:1px solid #bbb; }
.pr-editor { min-width:0; }
.pr-preview { min-width:0; border-left:1px solid #bbb; padding-left:1.25rem; position:sticky; top:0; max-height:calc(100vh - 140px); overflow:auto; }
.pr-meta { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:.8rem; }
.pr-meta .pr-field { flex:1 1 220px; } .pr-field { display:block; margin:0; } .pr-narrow { flex:0 0 150px !important; } .pr-grow { flex:1 1 200px; }
.pr-flabel { display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:#666; margin-bottom:.15rem; }
.pr-card { border:1px solid #8a8a8a; background:#fff; padding:.6rem .7rem; margin-bottom:.7rem; }
.pr-card-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:.4rem; }
.pr-num { font-weight:600; font-size:.85rem; } .pr-card-tools { display:flex; gap:.2rem; }
.pr-row { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:.5rem; }
.pr-body { font-family:ui-monospace,Consolas,monospace; font-size:.85rem; }
.pr-addbar { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; margin:.5rem 0 2rem; }

/* reporting chain: top first, wide indents, the focused person boxed with room above and below */
.wf-chain { margin:0; padding:0; }
.wf-chain li { border-left:3px solid #bbb; padding-left:1rem; margin-bottom:.15rem; }
.wf-chain .wf-lv-0 { margin-left:0.0rem; }
.wf-chain .wf-lv-1 { margin-left:3.5rem; }
.wf-chain .wf-lv-2 { margin-left:7.0rem; }
.wf-chain .wf-lv-3 { margin-left:10.5rem; }
.wf-chain .wf-lv-4 { margin-left:14.0rem; }
.wf-chain .wf-lv-5 { margin-left:17.5rem; }
.wf-chain .wf-lv-6 { margin-left:21.0rem; }
.wf-chain .wf-lv-7 { margin-left:24.5rem; }
.wf-chain .wf-lv-8 { margin-left:28.0rem; }
.wf-chain-focus { border:2px solid #222; background:#fff; padding:.5rem .8rem .3rem; margin:2.25rem 0; }
.wf-chain-focus .border-bottom { border-bottom:0 !important; }
.wf-chain-focus .wf-photo-sm { width:56px; height:56px; }
