/*
* CBFA Brains
* Everything is scoped under .cbfab so it cannot change the rest of the site, and the theme cannot easily change it.
*/

.cbfab{--cbfab-blue:#016CB0;--cbfab-blue-dark:#012940;--cbfab-slate:#3F4F5E;--cbfab-silver:#E6EAEE;--cbfab-silver-2:#F4F6F8;--cbfab-line:#D5DBE1;--cbfab-muted:#6B7A88;color:var(--cbfab-slate);font-size:15px;line-height:1.6;text-align:left}
.cbfab,.cbfab *{box-sizing:border-box}
.cbfab [hidden],.cbfab[hidden]{display:none!important}
.cbfab h2,.cbfab h3{font-family:'Roboto',Arial,sans-serif;font-weight:700;color:var(--cbfab-blue);margin:0;padding:0;text-align:left;text-transform:none}
.cbfab a{color:var(--cbfab-blue);text-decoration:none}
.cbfab a:hover{color:var(--cbfab-slate)}
.cbfab button,.cbfab input,.cbfab select,.cbfab textarea{font-family:'Roboto',Arial,sans-serif;font-size:14px}
.cbfab img{max-width:100%;height:auto;border:0;margin:0;padding:0;box-shadow:none;float:none}

/* controls */
.cbfab .cbfab-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--cbfab-blue);background:var(--cbfab-blue);color:#fff;border-radius:4px;padding:8px 14px;font-family:'Roboto',Arial,sans-serif;font-size:14px;font-weight:500;cursor:pointer;line-height:1.2;text-decoration:none;white-space:nowrap;margin:0;width:auto;text-shadow:none;box-shadow:none}
.cbfab .cbfab-btn:hover{background:var(--cbfab-slate);border-color:var(--cbfab-slate);color:#fff}
.cbfab .cbfab-btn.cbfab-ghost{background:#fff;color:var(--cbfab-blue)}
.cbfab .cbfab-btn.cbfab-ghost:hover{background:var(--cbfab-silver-2);color:var(--cbfab-blue);border-color:var(--cbfab-blue)}
.cbfab .cbfab-btn.cbfab-sm{padding:6px 10px;font-size:13px}
.cbfab .cbfab-btn[disabled]{opacity:.6;cursor:default}
.cbfab .cbfab-btn:focus-visible,.cbfab input:focus-visible,.cbfab select:focus-visible,.cbfab textarea:focus-visible,.cbfab button:focus-visible,.cbfab a:focus-visible{outline:3px solid #7FB8DE;outline-offset:2px}
.cbfab .cbfab-input,.cbfab .cbfab-select{display:block;border:1px solid #b9c2cb;border-radius:4px;padding:9px 12px;background:#fff;color:var(--cbfab-slate);width:100%;max-width:none;height:auto;margin:0;box-shadow:none;line-height:1.3}
.cbfab textarea.cbfab-input{min-height:110px;resize:vertical}
.cbfab .cbfab-tag{display:inline-block;font-family:'Roboto',Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cbfab-blue);background:#E3F0F8;border-radius:3px;padding:3px 7px;line-height:1.4}
.cbfab .cbfab-muted{color:var(--cbfab-muted)}
.cbfab .cbfab-note{font-family:'Roboto',Arial,sans-serif;font-size:12.5px;color:var(--cbfab-muted);margin:10px 0 0}
.cbfab .cbfab-empty{text-align:center;padding:40px 16px;border:1px dashed var(--cbfab-line);border-radius:8px;font-family:'Roboto',Arial,sans-serif;margin-top:16px}
.cbfab .cbfab-empty .cbfab-btn{margin-top:12px}
.cbfab .cbfab-ok{background:#E7F5EC;border:1px solid #9CCFAE;color:#1E5B33;border-radius:6px;padding:14px;font-family:'Roboto',Arial,sans-serif;margin:0 0 14px}
.cbfab .cbfab-alert{background:#FDECEC;border:1px solid #E5A4A4;color:#7A1F1F;border-radius:6px;padding:14px;font-family:'Roboto',Arial,sans-serif;margin:0 0 14px}
.cbfab .cbfab-note-box{background:#FFF8E1;border:1px solid #EAD9A0;color:#5b4a12;border-radius:6px;padding:12px 14px;font-family:'Roboto',Arial,sans-serif;font-size:14px;margin:0 0 16px}

/* avatar: logo when there is one, initials when there is not */
.cbfab .cbfab-av{flex:none;display:grid;place-items:center;font-family:'Roboto',Arial,sans-serif;font-weight:700;color:#fff;background:var(--cbfab-slate);overflow:hidden;border-radius:6px;line-height:1}
.cbfab .cbfab-av-img{background:#fff;border:1px solid var(--cbfab-line)}
.cbfab .cbfab-av img{width:100%;height:100%;max-width:none;display:block;object-fit:contain;background:#fff}

/* directory */
.cbfab-directory{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start;margin:8px 0 32px}
.cbfab .cbfab-rail{position:sticky;top:66px;border:1px solid var(--cbfab-line);border-radius:8px;padding:14px;background:var(--cbfab-silver-2);font-family:'Roboto',Arial,sans-serif}
.cbfab .cbfab-rail h2{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--cbfab-slate);margin:14px 0 6px;line-height:1.3}
.cbfab .cbfab-rail ul{list-style:none;margin:0;padding:0 0 4px;max-height:300px;overflow:auto;border-bottom:1px solid var(--cbfab-line)}
.cbfab .cbfab-rail li{list-style:none;margin:0;padding:0;background:none}
.cbfab .cbfab-rail li::before{content:none}
.cbfab .cbfab-rail li button{width:100%;display:flex;justify-content:space-between;gap:8px;text-align:left;border:0;background:none;padding:5px 8px;border-radius:4px;font-size:13.5px;color:var(--cbfab-slate);cursor:pointer;line-height:1.35;box-shadow:none;text-shadow:none;margin:0}
.cbfab .cbfab-rail li button:hover{background:#fff}
.cbfab .cbfab-rail li button.on{background:var(--cbfab-blue);color:#fff}
.cbfab .cbfab-rail li button span{opacity:.7}
.cbfab .cbfab-rail-actions{margin-top:14px;display:flex;gap:6px;flex-wrap:wrap}
.cbfab .cbfab-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:2px solid var(--cbfab-blue);padding-bottom:8px}
.cbfab .cbfab-count{font-family:'Roboto',Arial,sans-serif;font-size:13px;color:var(--cbfab-muted)}
.cbfab .cbfab-sort{font-family:'Roboto',Arial,sans-serif;font-size:13px;font-weight:400;display:flex;gap:6px;align-items:center;margin:0}
.cbfab .cbfab-sort .cbfab-select{width:auto;padding:6px 10px}
.cbfab .cbfab-row{display:grid;grid-template-columns:56px minmax(0,1.5fr) minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 6px;border-bottom:1px solid var(--cbfab-line);margin:0}
.cbfab .cbfab-row:hover,.cbfab .cbfab-row.open{background:var(--cbfab-silver-2)}
.cbfab .cbfab-lead{font-family:'Roboto',Arial,sans-serif;font-weight:700;font-size:17px;line-height:1.25}
.cbfab .cbfab-sub{font-size:14px;line-height:1.35}
.cbfab .cbfab-sub i{color:var(--cbfab-muted)}
.cbfab .cbfab-who .cbfab-tag{margin-top:5px}
.cbfab .cbfab-reach{font-family:'Roboto',Arial,sans-serif;font-size:13.5px;display:flex;flex-direction:column;gap:2px;min-width:0}
.cbfab .cbfab-reach a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cbfab .cbfab-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.cbfab .cbfab-more{grid-column:2/-1;font-size:14px;padding:2px 0 4px}
.cbfab .cbfab-tog{border:0;background:none;color:var(--cbfab-blue);font-size:13px;cursor:pointer;padding:0;margin:4px 0 0;box-shadow:none}
.cbfab .cbfab-group{font-family:'Roboto',Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--cbfab-slate);background:var(--cbfab-silver);padding:6px 10px;margin:18px 0 0;border-radius:4px;line-height:1.4}

/* profile */
.cbfab-profile,.cbfab-account{max-width:820px;margin:8px 0 32px}
.cbfab .cbfab-back{font-family:'Roboto',Arial,sans-serif;font-size:14px;margin:0 0 14px}
.cbfab .cbfab-pf-top{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.cbfab .cbfab-pf-logos{display:flex;gap:10px;align-items:flex-end}
.cbfab .cbfab-pf-logos .cbfab-av{border-radius:10px}
.cbfab .cbfab-pf-name{font-family:'Roboto',Arial,sans-serif;font-weight:700;color:var(--cbfab-blue);font-size:28px;line-height:1.15}
.cbfab .cbfab-pf-title{color:var(--cbfab-muted);font-style:italic}
.cbfab .cbfab-pf-co{font-family:'Roboto',Arial,sans-serif;font-weight:500;font-size:16px;margin-top:2px}
.cbfab .cbfab-pf-short{margin-top:6px}
.cbfab .cbfab-pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:18px 0;font-family:'Roboto',Arial,sans-serif;font-size:14px}
.cbfab .cbfab-pf-grid div{min-width:0;overflow-wrap:anywhere}
.cbfab .cbfab-pf-grid div span{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--cbfab-muted)}
.cbfab .cbfab-pf-about{border-top:1px solid var(--cbfab-line);padding-top:14px}
.cbfab .cbfab-pf-about h3,.cbfab .cbfab-pf-message h3,.cbfab .cbfab-form h3{font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--cbfab-slate);margin:0 0 6px}
.cbfab .cbfab-pf-about p{margin:0 0 10px}
.cbfab .cbfab-pf-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:18px}
.cbfab .cbfab-pf-message{border-top:1px solid var(--cbfab-line);margin-top:24px;padding-top:18px;max-width:560px;scroll-margin-top:70px}

/* forms */
.cbfab .cbfab-form label{display:block;font-family:'Roboto',Arial,sans-serif;font-size:13px;font-weight:500;margin:12px 0 4px;color:var(--cbfab-slate)}
.cbfab .cbfab-form label .cbfab-input,.cbfab .cbfab-form label .cbfab-select{margin-top:4px;font-weight:400}
.cbfab .cbfab-form h3{margin:26px 0 0;padding-top:16px;border-top:1px solid var(--cbfab-line)}
.cbfab .cbfab-form h3:first-of-type{border-top:0;padding-top:0;margin-top:16px}
.cbfab .cbfab-form-intro{margin:0 0 4px}
.cbfab .cbfab-two{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.cbfab .cbfab-three{display:grid;grid-template-columns:2fr 1fr 1fr;gap:0 14px}
.cbfab .cbfab-form label.cbfab-check{display:flex;gap:8px;align-items:center;font-weight:400;font-size:14px}
.cbfab .cbfab-form label.cbfab-check input{margin:0;width:auto}
.cbfab .cbfab-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cbfab .cbfab-form-result:empty{display:none}
.cbfab .cbfab-form-result{margin-top:12px}
.cbfab .cbfab-narrow,.cbfab .cbfab-login{max-width:420px}
.cbfab .cbfab-login h2{font-size:24px;margin-bottom:6px}
.cbfab .cbfab-account>h2{font-size:24px;margin:0 0 14px}
.cbfab .cbfab-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px;padding-bottom:14px;border-bottom:2px solid var(--cbfab-blue)}
.cbfab .cbfab-tabs-out{margin-left:auto}
.cbfab .cbfab-drops{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
.cbfab .cbfab-drop{border:2px dashed #b9c2cb;border-radius:8px;padding:14px;text-align:center;font-family:'Roboto',Arial,sans-serif;font-size:13px;background:var(--cbfab-silver-2);min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.cbfab .cbfab-drop strong{font-size:14px;color:var(--cbfab-slate)}
.cbfab .cbfab-drop-preview:empty{display:none}
.cbfab .cbfab-drop-preview img{max-width:100%;max-height:96px;width:auto;object-fit:contain;background:#fff;border-radius:4px;display:block}
.cbfab .cbfab-drop label.cbfab-btn{display:inline-flex;margin:4px 0 0;font-weight:500;color:var(--cbfab-blue)}
.cbfab .cbfab-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.cbfab .cbfab-drop label.cbfab-check{margin:4px 0 0;font-size:13px}
.cbfab .wp-editor-wrap{margin-top:4px}

/* message pop-up on the directory */
.cbfab.cbfab-overlay{position:fixed;inset:0;background:rgba(1,41,64,.55);z-index:100000;display:flex;align-items:flex-start;justify-content:center;padding:40px 14px;overflow:auto;margin:0;max-width:none}
.cbfab .cbfab-sheet{background:#fff;border-radius:8px;max-width:520px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}
.cbfab .cbfab-sheet header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;background:var(--cbfab-silver-2);border-bottom:1px solid var(--cbfab-line);position:static;height:auto;width:auto}
.cbfab .cbfab-sheet header h2{font-size:18px;line-height:1.3}
.cbfab .cbfab-x{border:0;background:none;font-size:26px;line-height:1;color:var(--cbfab-slate);cursor:pointer;padding:0 4px;box-shadow:none}
.cbfab .cbfab-sheet-body{padding:20px}
body.cbfab-locked{overflow:hidden}

@media (max-width:900px){
	.cbfab-directory{grid-template-columns:minmax(0,1fr)}
	.cbfab .cbfab-rail{position:static}
	.cbfab .cbfab-rail ul{max-height:150px}
	.cbfab .cbfab-row{grid-template-columns:48px minmax(0,1fr)}
	.cbfab .cbfab-row>.cbfab-av{width:48px!important;height:48px!important}
	.cbfab .cbfab-reach,.cbfab .cbfab-acts{grid-column:2}
	.cbfab .cbfab-acts{justify-content:flex-start}
}
@media (max-width:700px){
	.cbfab .cbfab-pf-grid,.cbfab .cbfab-two,.cbfab .cbfab-three,.cbfab .cbfab-drops{grid-template-columns:minmax(0,1fr)}
	.cbfab .cbfab-tabs-out{margin-left:0}
}
@media print{
	.cbfab .cbfab-rail,.cbfab .cbfab-acts,.cbfab .cbfab-tog,.cbfab .cbfab-sort,.cbfab .cbfab-pf-actions,.cbfab .cbfab-pf-message,.cbfab .cbfab-back,.cbfab.cbfab-overlay{display:none!important}
	.cbfab-directory{display:block}
	.cbfab .cbfab-row{break-inside:avoid;grid-template-columns:56px minmax(0,1.5fr) minmax(0,1fr)}
	.cbfab .cbfab-more{display:block!important}
}
