/* One menu skin: site popovers and Invision .ipsMenu. */
.sub-panel,
.bb-search-panel,
.ipsMenu,
.ipsMenu_menu{
	background:var(--field);
	color:var(--ink);
	border:1px solid var(--line);
	border-radius:12px;
	box-shadow:0 16px 40px rgba(0,0,0,.28);
	font-family:var(--font);
}
.sub-panel,
.bb-search-panel{
	position:absolute;
	z-index:40;
	min-width:180px;
	padding:8px;
}
.sub-panel[hidden],
.bb-search-panel[hidden]{display:none}
.sub-panel button,
.sub-panel a,
.bb-search-panel button,
.ipsMenu .ipsMenu_item > a,
.ipsMenu .ipsMenu_title{
	display:flex;
	align-items:center;
	width:100%;
	box-sizing:border-box;
	margin:0;
	padding:10px 12px;
	border:0;
	border-radius:8px;
	background:transparent;
	color:var(--ink);
	font:500 14px/1.3 var(--font);
	text-align:left;
	text-decoration:none;
	cursor:pointer;
}
.sub-panel button:hover,
.sub-panel a:hover,
.bb-search-panel button:hover,
.ipsMenu .ipsMenu_item > a:hover{
	background:var(--hover);
	color:var(--accent);
}
.sub-panel button.on,
.sub-panel a.on,
.ipsMenu .ipsMenu_item.ipsMenu_itemActive > a,
.ipsMenu .ipsMenu_item > a:focus{
	background:var(--fill);
	color:var(--on-fill);
}
/* Count badges float in Invision. Flex links ignore that float, and the
   badge's negative margin then sits flush against the label. */
.ipsMenu .ipsMenu_item > a:has(.ipsMenu_itemCount){gap:8px}
.ipsMenu .ipsMenu_item > a > .ipsMenu_itemCount{
	float:none;
	flex:none;
	margin:0;
	min-width:3em;
	box-sizing:border-box;
	text-align:center;
}
.ipsMenu .ipsMenu_sep,
.ipsMenu hr{border:0;border-top:1px solid var(--rule);margin:6px 8px}
.ipsMenu .ipsMenu_title{
	font:500 11px/1 var(--mono);
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--faint);
	cursor:default;
}
.bb-search-panel{right:0;top:44px;width:min(320px,calc(100vw - 32px))}
.bb-search-panel p{margin:4px 8px 8px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.util .sub-panel{max-height:70vh;overflow:auto}
.v27-pop{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 24px}
.v27-pop[hidden]{display:none}
.v27-pop-back{position:absolute;inset:0;background:rgb(14 15 17 / 56%)}
@media (max-width:720px){
	.v27-pop-back{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
}
.v27-pop-card{position:relative;width:min(440px,100%);box-sizing:border-box;padding:28px 24px 22px;border-radius:16px;background:var(--card);color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.28)}
.v27-pop-card h2{margin:0 0 16px;font-size:28px;font-weight:900;font-stretch:88%;text-transform:uppercase}
.v27-pop-x{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
.v27-pop-card label{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;font:500 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.v27-pop-card input[type="text"],
.v27-pop-card input[type="password"],
.v27-pop-card input[type="search"]{height:46px;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:10px;padding:0 12px;background:var(--field);color:var(--ink);font:16px var(--font);text-transform:none;letter-spacing:0}
.v27-pop-card label.v27-pop-check{flex-direction:row;align-items:center;text-transform:none;letter-spacing:0;font:14px/1.3 var(--font);color:var(--ink)}
.v27-pop-go{display:inline-flex;align-items:center;justify-content:center;height:44px;margin-top:6px;padding:0 18px;border:0;border-radius:999px;background:var(--fill);color:var(--on-fill);font:700 14px/1 var(--font);text-decoration:none;cursor:pointer}
.v27-pop-go:hover{color:var(--on-fill);filter:brightness(1.05)}
.v27-pop-note{margin:12px 0 0;color:var(--muted);font-size:14px}
.v27-pop-links{display:flex;gap:16px;align-items:center;margin:14px 0 0;font-size:14px}
.v27-pop-links button{border:0;background:none;padding:0;color:var(--ink);font:inherit;cursor:pointer}
.v27-pop-links button:hover,.v27-pop-links a:hover{color:var(--accent)}
.v27-pop-kicker{margin:4px 0 6px;font:500 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.v27-pop-search{width:min(380px,100%);padding:22px 20px 18px}
.v27-pop-search h2{margin:0 0 12px;font-size:24px}
.v27-pop-search label{margin:0 0 10px;gap:5px}
.v27-pop-search input[type="search"]{height:42px;border-radius:8px}
/* Invision sets button, label and heading type to inherit (Inter 13px) and a red focus glow. */
body.ipsApp .v27-pop-card,
body.bb-v27-shell .v27-pop-card{font-family:var(--font);font-size:16px;line-height:1.45}
body.ipsApp .v27-pop-card h2,
body.bb-v27-shell .v27-pop-card h2{font-family:var(--font);font-weight:900;font-stretch:88%;line-height:1.45}
body.ipsApp .v27-pop-x,
body.bb-v27-shell .v27-pop-x{font-family:Arial,sans-serif;font-size:22px;font-weight:400;line-height:1}
body.ipsApp .v27-pop-search label,
body.bb-v27-shell .v27-pop-search label{font-family:var(--mono);font-size:11px;font-weight:500;line-height:1.3}
body.ipsApp .v27-pop-go,
body.bb-v27-shell .v27-pop-go{font-family:var(--font);font-size:14px;font-weight:700;line-height:1}
body.ipsApp .v27-pop-card input:focus,
body.bb-v27-shell .v27-pop-card input:focus{
	box-shadow:none;
	border-color:var(--line-strong);
	outline:2px auto -webkit-focus-ring-color;
	outline-offset:1px
}
.v27-pop-search .v27-pop-kicker{margin:2px 0 4px}
.v27-pop-search .v27-pop-go{height:40px;margin-top:4px;padding:0 16px}
.v27-search-picks{display:flex;flex-direction:column;gap:1px;margin:0 0 6px}
.v27-search-picks button{display:flex;align-items:center;gap:10px;min-height:38px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:500 15px/1.2 var(--font);font-stretch:100%;text-align:left;cursor:pointer}
@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:swap;src:url(../../style/font-awesome-5.15.1/webfonts/fa-solid-900.woff2) format("woff2")}
@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(../../style/font-awesome-5.15.1/webfonts/fa-brands-400.woff2) format("woff2")}
.v27-search-picks button .fa,
.v27-search-picks button .fab{flex:none;width:1.15em;text-align:center;opacity:.55;font-size:14px}
/* Forum pages load Invision's FontAwesome 4. The popup icons use the same solid set as the CMS. */
body.ipsApp .v27-search-picks .fa,
body.ipsApp .v27-search-picks .fa:before,
body.bb-v27-shell .v27-search-picks .fa,
body.bb-v27-shell .v27-search-picks .fa:before{font-family:"Font Awesome 5 Free";font-weight:900}
.v27-search-picks button .fa-google,
.v27-search-picks button .fa-google:before,
body.ipsApp .v27-search-picks .fa-google,
body.ipsApp .v27-search-picks .fa-google:before,
body.bb-v27-shell .v27-search-picks .fa-google,
body.bb-v27-shell .v27-search-picks .fa-google:before{font-family:"Font Awesome 5 Brands",FontAwesome;font-weight:400}
.v27-search-picks button:hover{background:var(--hover);outline:none}
.v27-search-picks button.on{background:var(--hover);color:var(--accent)}
.v27-search-picks button.on .fa,
.v27-search-picks button.on .fab{opacity:1}
.v27-search-picks button[data-search="forum-here"],
.v27-search-picks button[data-search="topic-here"]{padding-left:36px;min-height:34px;font-size:14px}
.v27-search-picks button[data-search="forum-here"] .fa,
.v27-search-picks button[data-search="topic-here"] .fa{font-size:12px}
