Advertisement
Guest User

Untitled

a guest
Feb 5th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 316.44 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <style title="Nickel" description="" user_selectable="1" export_version="2">
  3. <templates>
  4. <template title="PAGE_CONTAINER" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[<!DOCTYPE html>
  5. <html id="XF" lang="{$xf.language.language_code}" dir="{$xf.language.text_direction}"
  6. data-app="public"
  7. data-template="{$template}"
  8. data-container-key="{$containerKey}"
  9. data-content-key="{$contentKey}"
  10. data-logged-in="{{ $xf.visitor.user_id ? 'true' : 'false' }}"
  11. data-cookie-prefix="{$xf.cookie.prefix}"
  12. class="has-no-js{{ $template ? ' template-' . $template : '' }}"
  13. {{ $xf.runJobs ? ' data-run-jobs=""' : '' }}>
  14. <head>
  15. <meta charset="utf-8" />
  16. <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
  17. <meta name="viewport" content="width=device-width, initial-scale=1">
  18.  
  19. <xf:set var="$siteName" value="{$xf.options.boardTitle}" />
  20. <xf:set var="$h1"><xf:h1 fallback="{$siteName}" /></xf:set>
  21. <xf:set var="$description"><xf:description /></xf:set>
  22.  
  23. <title><xf:title formatter="%s | %s" fallback="{$xf.options.boardTitle}" page="{$pageNumber}" /></title>
  24.  
  25. <xf:foreach loop="$head" value="$headTag">
  26. {$headTag}
  27. </xf:foreach>
  28.  
  29. <xf:if is="!$head.meta_site_name && $siteName is not empty">
  30. <xf:macro template="metadata_macros" name="site_name" arg-siteName="{$siteName}" arg-output="{{ true }}" />
  31. </xf:if>
  32. <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600,700" rel="stylesheet">
  33. <xf:if is="!$head.meta_type">
  34. <xf:macro template="metadata_macros" name="type" arg-type="website" arg-output="{{ true }}" />
  35. </xf:if>
  36. <xf:if is="!$head.meta_title">
  37. <xf:macro template="metadata_macros" name="title" arg-title="{{ page_title() ?: $siteName }}" arg-output="{{ true }}" />
  38. </xf:if>
  39. <xf:if is="!$head.meta_description && $description is not empty && $pageDescriptionMeta">
  40. <xf:macro template="metadata_macros" name="description" arg-description="{$description}" arg-output="{{ true }}" />
  41. </xf:if>
  42. <xf:if is="!$head.meta_share_url">
  43. <xf:macro template="metadata_macros" name="share_url" arg-shareUrl="{$xf.fullUri}" arg-output="{{ true }}" />
  44. </xf:if>
  45. <xf:if is="!$head.meta_image_url && property('publicMetadataLogoUrl')">
  46. <xf:macro template="metadata_macros" name="image_url"
  47. arg-imageUrl="{{ base_url(property('publicMetadataLogoUrl'), true) }}"
  48. arg-output="{{ true }}" />
  49. </xf:if>
  50.  
  51. <xf:if is="property('metaThemeColor')">
  52. <meta name="theme-color" content="{{ parse_less_color(property('metaThemeColor')) }}" />
  53. </xf:if>
  54.  
  55. <xf:macro template="helper_js_global" name="head" arg-app="public" />
  56.  
  57. <xf:if is="property('publicFaviconUrl')">
  58. <link rel="icon" type="image/png" href="{{ base_url(property('publicFaviconUrl'), true) }}" sizes="32x32" />
  59. </xf:if>
  60. <xf:if is="property('publicMetadataLogoUrl')">
  61. <link rel="apple-touch-icon" href="{{ base_url(property('publicMetadataLogoUrl'), true) }}" />
  62. </xf:if>
  63. <xf:include template="google_analytics" />
  64. </head>
  65. <body data-template="{$template}">
  66.  
  67. <div class="p-pageWrapper" id="top">
  68.  
  69. <xf:if contentcheck="true">
  70. <div class="p-staffBar">
  71. <div class="p-staffBar-inner hScroller" data-xf-init="h-scroller">
  72. <div class="hScroller-scroll">
  73. <xf:contentcheck>
  74. <xf:if is="$xf.visitor.is_moderator && $xf.session.unapprovedCounts.total">
  75. <a href="{{ link('approval-queue') }}" class="p-staffBar-link badgeContainer badgeContainer--highlighted" data-badge="{$xf.session.unapprovedCounts.total|number}">
  76. {{ phrase('approval_queue') }}
  77. </a>
  78. </xf:if>
  79.  
  80. <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId && $xf.session.reportCounts.total">
  81. <a href="{{ link('reports') }}"
  82. class="p-staffBar-link badgeContainer badgeContainer--visible {{ ($xf.session.reportCounts.total && ($xf.session.reportCounts.lastBuilt > $xf.session.reportLastRead) OR $xf.session.reportCounts.assigned) ? ' badgeContainer--highlighted' : '' }}"
  83. data-badge="{{ $xf.session.reportCounts.assigned ? $xf.session.reportCounts.assigned|number . ' / ' . $xf.session.reportCounts.total|number : $xf.session.reportCounts.total|number }}"
  84. title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:') . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">
  85. {{ phrase('reports') }}
  86. </a>
  87. </xf:if>
  88.  
  89. <xf:if contentcheck="true">
  90. <a class="p-staffBar-link menuTrigger" data-xf-click="menu" data-xf-key="alt+m" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{{ phrase('moderator') }}</a>
  91. <div class="menu" data-menu="menu" aria-hidden="true">
  92. <div class="menu-content">
  93. <h4 class="menu-header">{{ phrase('moderator_tools') }}</h4>
  94. <xf:contentcheck>
  95. <!--[XF:mod_tools_menu:top]-->
  96. <xf:if is="$xf.visitor.is_moderator">
  97. <a href="{{ link('approval-queue') }}" class="menu-linkRow">{{ phrase('approval_queue') }}</a>
  98. </xf:if>
  99. <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId">
  100. <a href="{{ link('reports') }}" class="menu-linkRow" title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:') . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">{{ phrase('reports') }}</a>
  101. </xf:if>
  102. <!--[XF:mod_tools_menu:bottom]-->
  103. </xf:contentcheck>
  104. </div>
  105. </div>
  106. </xf:if>
  107.  
  108. <xf:if is="$xf.visitor.is_admin">
  109. <a href="{{ base_url('admin.php') }}" class="p-staffBar-link link-admin" target="_blank">{{ phrase('admin') }}</a>
  110. </xf:if>
  111. </xf:contentcheck>
  112. </div>
  113. </div>
  114. </div>
  115. </xf:if>
  116.  
  117.  
  118. <xf:set var="$navHtml">
  119. <nav class="p-nav">
  120. <div class="p-nav-inner">
  121. <a class="p-nav-menuTrigger" data-xf-click="off-canvas" data-menu=".js-headerOffCanvasMenu" role="button" tabindex="0">
  122. <i aria-hidden="true"></i>
  123. <span class="p-nav-menuText">{{ phrase('menu') }}</span>
  124. </a>
  125.  
  126. <div class="p-nav-scroller hScroller" data-xf-init="h-scroller" data-auto-scroll=".p-navEl.is-selected">
  127. <div class="hScroller-scroll">
  128. <ul class="p-nav-list js-offCanvasNavSource">
  129. <xf:foreach loop="$navTree" key="$navSection" value="$navEntry" i="$i" if="{{ $navSection != $xf.app.defaultNavigationId }}">
  130. <li>
  131. <xf:macro name="nav_entry"
  132. arg-navId="{$navSection}"
  133. arg-nav="{$navEntry}"
  134. arg-selected="{{ $navSection == $pageSection }}"
  135. arg-shortcut="{$i}" />
  136. </li>
  137. </xf:foreach>
  138. </ul>
  139. </div>
  140. </div>
  141.  
  142. <div class="p-nav-opposite">
  143. <div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}">
  144. <xf:if is="$xf.visitor.user_id">
  145. <xf:if is="$xf.visitor.user_state == 'rejected' OR $xf.visitor.user_state == 'disabled'">
  146. <a href="{{ link('account') }}"
  147. class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user">
  148. <xf:avatar user="$xf.visitor" size="xs" href="" />
  149. <span class="p-navgroup-linkText">{$xf.visitor.username}</span>
  150. </a>
  151.  
  152. <a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="p-navgroup-link">
  153. <span class="p-navgroup-linkText">{{ phrase('log_out') }}</span>
  154. </a>
  155. <xf:else />
  156. <a href="{{ link('account') }}"
  157. class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user"
  158. data-xf-click="menu"
  159. data-xf-key="{{ phrase('shortcut.visitor_menu')|for_attr }}"
  160. data-menu-pos-ref="< .p-navgroup"
  161. aria-expanded="false"
  162. aria-haspopup="true">
  163. <i class="fa fa-user show-sm" aria-hidden="true" style="font-size: 22px;"></i>
  164. <span class="p-navgroup-linkText">{$xf.visitor.username}</span>
  165. </a>
  166. <div class="menu menu--structural menu--wide menu--account" data-menu="menu" aria-hidden="true"
  167. data-href="{{ link('account/visitor-menu') }}"
  168. data-load-target=".js-visitorMenuBody">
  169. <div class="menu-content js-visitorMenuBody">
  170. <div class="menu-row">
  171. {{ phrase('loading...') }}
  172. </div>
  173. </div>
  174. </div>
  175. <a href="{{ link('conversations') }}"
  176. class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--conversations js-badge--conversations badgeContainer{{ $xf.visitor.conversations_unread ? ' badgeContainer--highlighted' : '' }}"
  177. data-badge="{$xf.visitor.conversations_unread|number}"
  178. data-xf-click="menu"
  179. data-xf-key="{{ phrase('shortcut.conversations_menu')|for_attr }}"
  180. data-menu-pos-ref="< .p-navgroup"
  181. aria-expanded="false"
  182. aria-haspopup="true">
  183. <i aria-hidden="true"></i>
  184. <span class="p-navgroup-linkText">{{ phrase('inbox') }}</span>
  185. </a>
  186. <div class="menu menu--structural menu--medium meu--alertconver" data-menu="menu" aria-hidden="true"
  187. data-href="{{ link('conversations/popup') }}"
  188. data-nocache="true"
  189. data-load-target=".js-convMenuBody">
  190. <div class="menu-content">
  191. <h3 class="menu-header">{{ phrase('conversations') }}</h3>
  192. <div class="js-convMenuBody">
  193. <div class="menu-row">{{ phrase('loading...') }}</div>
  194. </div>
  195. <div class="menu-footer menu-footer--split">
  196. <span class="menu-footer-main">
  197. <a href="{{ link('conversations') }}">{{ phrase('show_all...') }}</a>
  198. </span>
  199. <span class="menu-footer-opposite">
  200. <a href="{{ link('conversations/add') }}">{{ phrase('start_new_conversation') }}</a>
  201. </span>
  202. </div>
  203. </div>
  204. </div>
  205. <a href="{{ link('account/alerts') }}"
  206. class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--alerts js-badge--alerts badgeContainer{{ $xf.visitor.alerts_unread ? ' badgeContainer--highlighted' : '' }}"
  207. data-badge="{$xf.visitor.alerts_unread|number}"
  208. data-xf-click="menu"
  209. data-xf-key="{{ phrase('shortcut.alerts_menu')|for_attr }}"
  210. data-menu-pos-ref="< .p-navgroup"
  211. aria-expanded="false"
  212. aria-haspopup="true">
  213. <i aria-hidden="true"></i>
  214. <span class="p-navgroup-linkText">{{ phrase('alerts') }}</span>
  215. </a>
  216. <div class="menu menu--structural menu--medium meu--alertconver" data-menu="menu" aria-hidden="true"
  217. data-href="{{ link('account/alerts-popup') }}"
  218. data-nocache="true"
  219. data-load-target=".js-alertsMenuBody">
  220. <div class="menu-content">
  221. <h3 class="menu-header">{{ phrase('alerts') }}</h3>
  222. <div class="js-alertsMenuBody">
  223. <div class="menu-row">{{ phrase('loading...') }}</div>
  224. </div>
  225. <div class="menu-footer menu-footer--split">
  226. <span class="menu-footer-main">
  227. <a href="{{ link('account/alerts') }}">{{ phrase('show_all...') }}</a>
  228. </span>
  229. <span class="menu-footer-opposite">
  230. <a href="{{ link('account/preferences') }}"><img src="{{ base_url() }}styles/brivium/nickel/extra/pre.png"></a>
  231. </span>
  232. </div>
  233. </div>
  234. </div>
  235. </xf:if>
  236. <xf:else />
  237. <xf:if is="$xf.options.registrationSetup.enabled">
  238. <a href="{{ link('register') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--register"
  239. data-xf-click="overlay" data-follow-redirects="on">
  240. <span class="p-navgroup-linkText">{{ phrase('register') }}</span>
  241. </a>
  242. </xf:if>
  243. <a href="{{ link('login') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--logIn"
  244. data-xf-click="overlay" data-follow-redirects="on">
  245. <span class="p-navgroup-linkText">{{ phrase('log_in') }}</span>
  246. </a>
  247. </xf:if>
  248. </div>
  249. </div>
  250. <div class="p-navgroup p-discovery">
  251. <span class="controlSearch"><img src="{{ base_url() }}styles/brivium/nickel/extra/search.png"></span>
  252. <xf:if is="$xf.visitor.canSearch()">
  253. <div class="search-area" aria-hidden="true">
  254. <form action="{{ link('search/search') }}" method="post"
  255. class="menu-content"
  256. data-xf-init="quick-search">
  257. <!--[XF:search_menu:above_input]-->
  258. <div class="menu-row search-input">
  259. <xf:if is="$searchConstraints">
  260. <div class="inputGroup inputGroup--joined">
  261. <xf:textbox name="keywords"
  262. placeholder="{{ phrase('search...') }}"
  263. aria-label="{{ phrase('search') }}"
  264. data-menu-autofocus="true" />
  265. </div>
  266. <xf:else />
  267. <xf:textbox name="keywords"
  268. placeholder="{{ phrase('search...') }}"
  269. aria-label="{{ phrase('search') }}"
  270. data-menu-autofocus="true" />
  271. </xf:if>
  272. </div>
  273.  
  274. <div class="search-option">
  275. <xf:if is="$searchConstraints">
  276. <div class="inputGroup inputGroup--joined">
  277. <xf:select name="constraints"
  278. class="js-quickSearch-constraint"
  279. aria-label="{{ phrase('search_within') }}">
  280.  
  281. <xf:option value="">{{ phrase('everywhere') }}</xf:option>
  282. <xf:foreach loop="$searchConstraints" key="$constraintName" value="$constraint">
  283. <xf:option value="{$constraint|json}">{$constraintName}</xf:option>
  284. </xf:foreach>
  285. </xf:select>
  286. </div>
  287. </xf:if>
  288. <!--[XF:search_menu:above_title_only]-->
  289. <div class="menu-row">
  290. <xf:checkbox standalone="true"><xf:option name="c[title_only]" label="{{ phrase('search_titles_only') }}" /></xf:checkbox>
  291. </div>
  292. <!--[XF:search_menu:above_member]-->
  293. <div class="menu-row">
  294. <div class="inputGroup">
  295. <span class="inputGroup-text" id="ctrl_search_menu_by_member">{{ phrase('by:') }}</span>
  296. <input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="{{ phrase('member')|for_attr }}" aria-labelledby="ctrl_search_menu_by_member" />
  297. </div>
  298. </div>
  299. <div class="menu-footer">
  300. <span class="menu-footer-controls">
  301. <xf:button type="submit" class="button--primary" icon="search" />
  302. <xf:button href="{{ link('search') }}" rel="nofollow">{{ phrase('advanced_search...') }}</xf:button>
  303. </span>
  304. </div>
  305. </div>
  306.  
  307. <xf:csrf />
  308. </form>
  309. </div>
  310. </xf:if>
  311. </div>
  312. </div>
  313. </nav>
  314. </xf:set>
  315. <xf:set var="$subNavHtml">
  316. <xf:if is="$selectedNavChildren is not empty">
  317. <div class="p-sectionLinks">
  318. <div class="p-sectionLinks-inner hScroller" data-xf-init="h-scroller">
  319. <div class="hScroller-scroll">
  320. <ul class="p-sectionLinks-list">
  321. <xf:foreach loop="$selectedNavChildren" key="$navId" value="$navEntry" i="$i">
  322. <li>
  323. <xf:macro name="nav_entry" arg-navId="{$navId}" arg-nav="{$navEntry}" arg-shortcut="alt+{$i}" />
  324. </li>
  325. </xf:foreach>
  326. </ul>
  327. </div>
  328. </div>
  329. </div>
  330. <xf:elseif is="{$selectedNavEntry}" />
  331. <div class="p-sectionLinks p-sectionLinks--empty"></div>
  332. </xf:if>
  333. </xf:set>
  334.  
  335. <xf:if is="property('publicNavSticky') == 'primary'">
  336. <div class="p-navSticky p-navSticky--primary" data-xf-init="sticky-header">
  337. {$navHtml|raw}
  338. </div>
  339. <xf:elseif is="property('publicNavSticky') == 'all'" />
  340. <div class="p-navSticky p-navSticky--all" data-xf-init="sticky-header">
  341. {$navHtml|raw}
  342. </div>
  343. <xf:else />
  344. {$navHtml|raw}
  345. </xf:if>
  346.  
  347. <header class="p-header" id="header">
  348. <div class="p-header-inner">
  349. <div class="p-header-content">
  350. <div class="p-header-logo p-header-logo--image">
  351. <a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
  352. <img src="{{ base_url(property('publicLogoUrl')) }}"
  353. alt="{$xf.options.boardTitle}"
  354. {{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} />
  355. </a>
  356. </div>
  357. <xf:ad position="container_header" />
  358. </div>
  359. </div>
  360. </header>
  361. <!--div class="search--sm show-sm p-discovery"></div-->
  362.  
  363. <div class="offCanvasMenu offCanvasMenu--nav js-headerOffCanvasMenu" data-menu="menu" aria-hidden="true" data-ocm-builder="navigation">
  364. <div class="offCanvasMenu-backdrop" data-menu-close="true"></div>
  365. <div class="offCanvasMenu-content">
  366. <div class="offCanvasMenu-header">
  367. {{ phrase('menu') }}
  368. <a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="{{ phrase('close')|for_attr }}"></a>
  369. </div>
  370. <xf:if is="$xf.visitor.user_id">
  371. <div class="p-offCanvasAccountLink">
  372. <div class="offCanvasMenu-linkHolder">
  373. <a href="{{ link('account') }}" class="offCanvasMenu-link">
  374. <xf:avatar user="$xf.visitor" size="xxs" href="" />
  375. {$xf.visitor.username}
  376. </a>
  377. </div>
  378. <hr class="offCanvasMenu-separator" />
  379. </div>
  380. <xf:else />
  381. <div class="p-offCanvasRegisterLink">
  382. <div class="offCanvasMenu-linkHolder">
  383. <a href="{{ link('login') }}" class="offCanvasMenu-link" data-xf-click="overlay" data-menu-close="true">
  384. {{ phrase('log_in') }}
  385. </a>
  386. </div>
  387. <hr class="offCanvasMenu-separator" />
  388. <xf:if is="$xf.options.registrationSetup.enabled">
  389. <div class="offCanvasMenu-linkHolder">
  390. <a href="{{ link('register') }}" class="offCanvasMenu-link" data-xf-click="overlay" data-menu-close="true">
  391. {{ phrase('register') }}
  392. </a>
  393. </div>
  394. <hr class="offCanvasMenu-separator" />
  395. </xf:if>
  396. </div>
  397. </xf:if>
  398. <div class="js-offCanvasNavTarget"></div>
  399. </div>
  400. </div>
  401. <xf:ad position="container_breadcrumb_top_above" />
  402. <div class="brv-breadcrumbs brv-breadcrumbs__top">
  403. <div class="brv-breadcrumbs-inner">
  404. <xf:macro name="breadcrumbs"
  405. arg-breadcrumbs="{$breadcrumbs}"
  406. arg-navTree="{$navTree}"
  407. arg-selectedNavEntry="{$selectedNavEntry}" />
  408. </div>
  409. </div>
  410. <xf:ad position="container_breadcrumb_top_below" />
  411. <div class="p-body">
  412. <div class="p-body-inner">
  413. <!--XF:EXTRA_OUTPUT-->
  414.  
  415. <xf:if is="$notices.block">
  416. <xf:macro template="notice_macros" name="notice_list" arg-type="block" arg-notices="{$notices.block}" />
  417. </xf:if>
  418.  
  419. <xf:if is="$notices.scrolling">
  420. <xf:macro template="notice_macros" name="notice_list" arg-type="scrolling" arg-notices="{$notices.scrolling}" />
  421. </xf:if>
  422.  
  423.  
  424. <xf:macro template="browser_warning_macros" name="javascript" />
  425. <xf:macro template="browser_warning_macros" name="browser" />
  426.  
  427. <xf:if is="$headerHtml is not empty">
  428. <div class="p-body-header">
  429. {$headerHtml|raw}
  430. </div>
  431. <xf:elseif contentcheck="true" />
  432. <div class="p-body-header">
  433. <xf:contentcheck>
  434. <xf:if contentcheck="true">
  435. <div class="p-title {{ $noH1 ? 'p-title--noH1' : '' }}">
  436. <xf:contentcheck>
  437. <xf:if is="!$noH1">
  438. <h1 class="p-title-value">{$h1}</h1>
  439. </xf:if>
  440. <xf:if contentcheck="true">
  441. <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck></div>
  442. </xf:if>
  443. </xf:contentcheck>
  444. </div>
  445. </xf:if>
  446.  
  447. <xf:if is="$description is not empty">
  448. <div class="p-description">{$description}</div>
  449. </xf:if>
  450. </xf:contentcheck>
  451. </div>
  452. </xf:if>
  453. <div class="new_tags_brv"></div>
  454. <div class="p-body-main {{ $sidebar ? 'p-body-main--withSidebar have--sidebar' : '' }} {{ $sideNav ? 'p-body-main--withSideNav have--sidebar' : '' }}">
  455. <xf:if is="$sideNav">
  456. <div class="p-body-sideNav p-have--sidebar">
  457. <div class="p-body-sideNavTrigger">
  458. <xf:button class="button--link" data-xf-click="off-canvas" data-menu="#js-SideNavOcm">
  459. {{ $sideNavTitle ?: phrase('navigation') }}
  460. </xf:button>
  461. </div>
  462. <div class="p-body-sideNavInner" data-ocm-class="offCanvasMenu offCanvasMenu--blocks" id="js-SideNavOcm" data-ocm-builder="sideNav">
  463. <div data-ocm-class="offCanvasMenu-backdrop" data-menu-close="true"></div>
  464. <div data-ocm-class="offCanvasMenu-content">
  465. <div class="p-body-sideNavContent">
  466. <xf:ad position="container_sidenav_above" />
  467. <xf:foreach loop="$sideNav" value="$sideNavHtml">
  468. {$sideNavHtml}
  469. </xf:foreach>
  470. <xf:ad position="container_sidenav_below" />
  471. </div>
  472. </div>
  473. </div>
  474. </div>
  475. </xf:if>
  476.  
  477. <div class="p-body-content">
  478. <xf:ad position="container_content_above" />
  479. <div class="p-body-pageContent">{$content|raw}</div>
  480. <xf:ad position="container_content_below" />
  481. </div>
  482.  
  483. <xf:if is="$sidebar">
  484. <div class="p-body-sidebar p-have--sidebar">
  485. <xf:ad position="container_sidebar_above" />
  486. <xf:foreach loop="$sidebar" value="$sidebarHtml">
  487. {$sidebarHtml}
  488. </xf:foreach>
  489. <xf:ad position="container_sidebar_below" />
  490. </div>
  491. </xf:if>
  492. </div>
  493.  
  494.  
  495. </div>
  496. </div>
  497. <xf:ad position="container_breadcrumb_bottom_above" />
  498. <div class="brv-breadcrumbs brv-breadcrumbs__bottom">
  499. <div class="brv-breadcrumbs-inner">
  500. <xf:macro name="breadcrumbs"
  501. arg-breadcrumbs="{$breadcrumbs}"
  502. arg-navTree="{$navTree}"
  503. arg-selectedNavEntry="{$selectedNavEntry}"
  504. arg-variant="bottom" />
  505. </div>
  506. </div>
  507. <xf:ad position="container_breadcrumb_bottom_below" />
  508. <footer class="p-footer" id="footer">
  509. <div class="p-footer-inner">
  510.  
  511. <div class="footer-custom">
  512. <div class="row">
  513. <div class="footer-column footer-column-1">
  514. {{ property('FooterColumn1') }}
  515. </div>
  516. <div class="footer-column footer-column-2">
  517. {{ property('FooterColumn2') }}
  518. </div>
  519. <div class="footer-column footer-column-3">
  520. {{ property('FooterColumn3') }}
  521. </div>
  522. <div class="footer-column footer-column-4">
  523. {{ property('FooterColumn4') }}
  524. </div>
  525. </div>
  526. </div>
  527.  
  528.  
  529.  
  530.  
  531. </div>
  532. <div class="footer-bottom">
  533. <div class="p-footer-inner">
  534. <xf:if contentcheck="true">
  535. <div class="p-footer-copyright">
  536. <xf:contentcheck>
  537. <xf:copyright />
  538. {{ phrase('extra_copyright') }}
  539. </xf:contentcheck>
  540. </div>
  541. </xf:if>
  542.  
  543. <div class="BRCopyright" style="display: block;">
  544. <style>@media (max-width:480px){.Responsive #BRCopyright span{display: none;}}</style>
  545. <div class="content-brcpright">
  546. <a href="http://brivium.com/xenforo-add-ons" class="item-brcp" title="Brivium XenForo Add-ons">XenForo Add-ons</a>
  547. <span>&</span>
  548. <a href="http://brivium.com/xenforo-styles" class="item-brcp" title="Brivium XenForo Styles">XenForo Styles</a>
  549. <span> ™ © 2012-2017 Brivium LLC.</span>
  550. </div>
  551. </div>
  552.  
  553. <div class="p-footer-row-opposite">
  554. <ul class="p-footer-linkList">
  555. <xf:if contentcheck="true">
  556. <xf:contentcheck>
  557. <xf:if is="$xf.visitor.canChangeStyle()">
  558. <li><a href="{{ link('misc/style') }}" data-xf-click="overlay"
  559. data-xf-init="tooltip" title="{{ phrase('style_chooser')|for_attr }}" rel="nofollow">
  560. <i class="fa fa-paint-brush" aria-hidden="true"></i> {$xf.style.title}
  561. </a></li>
  562. </xf:if>
  563. <xf:if is="$xf.visitor.canChangeLanguage()">
  564. <li><a href="{{ link('misc/language') }}" data-xf-click="overlay"
  565. data-xf-init="tooltip" title="{{ phrase('language_chooser')|for_attr }}" rel="nofollow">
  566. <i class="fa fa-globe" aria-hidden="true"></i> {$xf.language.title}</a></li>
  567. </xf:if>
  568. </xf:contentcheck>
  569. </xf:if>
  570. <xf:if is="$xf.visitor.canUseContactForm()">
  571. <xf:if is="$xf.contactUrl">
  572. <li><a href="{$xf.contactUrl}" data-xf-click="{{ ($xf.options.contactUrl.overlay OR $xf.options.contactUrl.type == 'default') ? 'overlay' : '' }}">{{ phrase('contact_us') }}</a></li>
  573. </xf:if>
  574. </xf:if>
  575.  
  576. <xf:if is="$xf.tosUrl">
  577. <li><a href="{$xf.tosUrl}">{{ phrase('terms_and_rules') }}</a></li>
  578. </xf:if>
  579.  
  580. <xf:if is="$xf.privacyPolicyUrl">
  581. <li><a href="{$xf.privacyPolicyUrl}">{{ phrase('privacy_policy') }}</a></li>
  582. </xf:if>
  583.  
  584. <xf:if is="$xf.helpPageCount">
  585. <li><a href="{{ link('help') }}">{{ phrase('help') }}</a></li>
  586. </xf:if>
  587.  
  588. <xf:if is="$xf.homePageUrl">
  589. <li><a href="{$xf.homePageUrl}">{{ phrase('home') }}</a></li>
  590. </xf:if>
  591.  
  592. <li><a href="{{ link('forums/index.rss', '-') }}" target="_blank" class="p-footer-rssLink" title="{{ phrase('rss')|for_attr }}"><span aria-hidden="true"><i class="fa fa-rss"></i><span class="u-srOnly">{{ phrase('rss') }}</span></span></a></li>
  593. </ul>
  594. </div>
  595. </div>
  596. </div>
  597. <xf:if contentcheck="true">
  598. <div class="p-footer-inner">
  599. <div class="p-footer-debug">
  600. <xf:contentcheck>
  601. <xf:macro template="debug_macros" name="debug"
  602. arg-controller="{$controller}"
  603. arg-action="{$actionMethod}"
  604. arg-template="{$template}" />
  605. </xf:contentcheck>
  606. </div>
  607. </div>
  608. </xf:if>
  609. </footer>
  610.  
  611. </div> <!-- closing p-pageWrapper -->
  612.  
  613. <div class="u-bottomFixer js-bottomFixTarget">
  614. <xf:if is="$notices.floating">
  615. <xf:macro template="notice_macros" name="notice_list" arg-type="floating" arg-notices="{$notices.floating}" />
  616. </xf:if>
  617. <xf:if is="$notices.bottom_fixer">
  618. <xf:macro template="notice_macros" name="notice_list" arg-type="bottom_fixer" arg-notices="{$notices.bottom_fixer}" />
  619. </xf:if>
  620. </div>
  621.  
  622. <xf:if is="property('scrollJumpButtons')">
  623. <div class="u-scrollButtons js-scrollButtons" data-trigger-type="{{ property('scrollJumpButtons') }}">
  624. <xf:button href="#top" class="button--scroll" data-xf-click="scroll-to"><i class="fa fa-arrow-up"></i><span class="u-srOnly">{{ phrase('top') }}</span></xf:button>
  625. <xf:if is="property('scrollJumpButtons') != 'up'">
  626. <xf:button href="#footer" class="button--scroll" data-xf-click="scroll-to"><i class="fa fa-arrow-down"></i><span class="u-srOnly">{{ phrase('bottom') }}</span></xf:button>
  627. </xf:if>
  628. </div>
  629. </xf:if>
  630.  
  631. <xf:macro template="helper_js_global" name="body" arg-app="public" arg-jsState="{$jsState}" />
  632. <script src="{{ base_url() }}js/brivium/nickel/function.js"></script>
  633. {$ldJsonHtml|raw}
  634.  
  635. </body>
  636. </html>
  637.  
  638. <xf:macro name="nav_entry" arg-navId="!" arg-nav="!" arg-selected="{{ false }}" arg-shortcut="">
  639. <div class="p-navEl {{ $selected ? 'is-selected' : '' }}" {{ $nav.children ? 'data-has-children="true"' : '' }}>
  640. <xf:if is="$nav.href">
  641.  
  642. <xf:macro name="nav_link"
  643. arg-navId="{$navId}"
  644. arg-nav="{$nav}"
  645. arg-class="p-navEl-link {{ $nav.children ? 'p-navEl-link--splitMenu' : '' }}"
  646. arg-shortcut="{{ $nav.children ? false : $shortcut }}" />
  647.  
  648. <xf:if is="$nav.children"><a data-xf-key="{$shortcut}"
  649. data-xf-click="menu"
  650. data-menu-pos-ref="< .p-navEl"
  651. data-arrow-pos-ref="< .p-navEl"
  652. class="p-navEl-splitTrigger"
  653. role="button"
  654. tabindex="0"
  655. aria-label="{{ phrase('toggle_expanded') }}"
  656. aria-expanded="false"
  657. aria-haspopup="true"></a></xf:if>
  658.  
  659. <xf:elseif is="$nav.children" /><a data-xf-key="{$shortcut}"
  660. data-xf-click="menu"
  661. data-menu-pos-ref="< .p-navEl"
  662. data-arrow-pos-ref="< .p-navEl"
  663. class="p-navEl-linkHolder"
  664. role="button"
  665. tabindex="0"
  666. aria-expanded="false"
  667. aria-haspopup="true">
  668. <xf:macro name="nav_link"
  669. arg-navId="{$navId}"
  670. arg-nav="{$nav}"
  671. arg-class="p-navEl-link p-navEl-link--menuTrigger" />
  672. </a>
  673.  
  674. <xf:else />
  675.  
  676. <xf:macro name="nav_link"
  677. arg-navId="{$navId}"
  678. arg-nav="{$nav}"
  679. arg-class="p-navEl-link"
  680. arg-shortcut="{$shortcut}" />
  681.  
  682. </xf:if>
  683. <xf:if is="$nav.children">
  684. <div class="menu menu--structural subMenu-level0" data-menu="menu" aria-hidden="true">
  685. <div class="menu-content">
  686. <!--<h4 class="menu-header">{$nav.title}</h4>-->
  687. <xf:foreach loop="$nav.children" key="$childNavId" value="$child">
  688. <xf:macro name="nav_menu_entry"
  689. arg-navId="{$childNavId}"
  690. arg-nav="{$child}" />
  691. </xf:foreach>
  692. </div>
  693. </div>
  694. </xf:if>
  695. </div>
  696. </xf:macro>
  697.  
  698. <xf:macro name="nav_link" arg-navId="!" arg-nav="!" arg-class="" arg-titleHtml="" arg-shortcut="{{ false }}">
  699. <xf:set var="$tag" value="{{ $nav.href ? 'a' : 'span' }}" />
  700. <{$tag} {{ $nav.href ? 'href="' . $nav.href . '"' : '' }}
  701. class="{{ trim($class) }} {$nav.attributes.class}"
  702. {{ attributes($nav.attributes, ['class']) }}
  703. {{ $shortcut !== false ? 'data-xf-key="' . $shortcut . '"' : '' }}
  704. data-nav-id="{$navId}"><xf:if is="$nav.icon"><i class="fa {$nav.icon}" aria-hidden="true"></i> </xf:if>{{ $titleHtml ? $titleHtml|raw : $nav.title }}<xf:if is="$nav.counter"> <span class="badge badge--highlighted">{$nav.counter|number}</span></xf:if></{$tag}>
  705. </xf:macro>
  706.  
  707. <xf:macro name="nav_menu_entry" arg-navId="!" arg-nav="!" arg-depth="0">
  708. <xf:macro name="nav_link"
  709. arg-navId="{$navId}"
  710. arg-nav="{$nav}"
  711. arg-class="menu-linkRow u-indentDepth{$depth} js-offCanvasCopy" />
  712. <xf:if is="$nav.children">
  713. <xf:foreach loop="$nav.children" key="$childNavId" value="$child">
  714. <xf:macro name="nav_menu_entry"
  715. arg-navId="{$childNavId}"
  716. arg-nav="{$child}"
  717. arg-depth="{{ $depth + 1 }}" />
  718. </xf:foreach>
  719. <xf:if is="$depth == 0">
  720. <hr class="menu-separator" />
  721. </xf:if>
  722. </xf:if>
  723. </xf:macro>
  724.  
  725. <xf:macro name="breadcrumbs" arg-breadcrumbs="!" arg-navTree="!" arg-selectedNavEntry="{{ null }}" arg-variant="">
  726. <xf:if contentcheck="true">
  727. <ul class="p-breadcrumbs {{ $variant ? 'p-breadcrumbs--' . $variant : '' }}"
  728. itemscope itemtype="https://schema.org/BreadcrumbList">
  729. <xf:contentcheck>
  730. <xf:set var="$position" value="{{ 0 }}" />
  731.  
  732. <xf:set var="$rootBreadcrumb" value="{$navTree.{$xf.options.rootBreadcrumb}}" />
  733. <xf:if is="$rootBreadcrumb AND $rootBreadcrumb.href != $xf.uri">
  734. <xf:set var="$position" value="{{ $position + 1 }}" />
  735. <xf:macro name="crumb"
  736. arg-position="{$position}"
  737. arg-href="{$rootBreadcrumb.href}"
  738. arg-value="{$rootBreadcrumb.title}" />
  739. </xf:if>
  740.  
  741. <xf:if is="$selectedNavEntry && $selectedNavEntry.href && $selectedNavEntry.href != $xf.uri && $selectedNavEntry.href != $rootBreadcrumb.href">
  742. <xf:set var="$position" value="{{ $position + 1 }}" />
  743. <xf:macro name="crumb"
  744. arg-position="{$position}"
  745. arg-href="{$selectedNavEntry.href}"
  746. arg-value="{$selectedNavEntry.title}" />
  747. </xf:if>
  748. <xf:foreach loop="$breadcrumbs" value="$breadcrumb" if="$breadcrumb.href != $xf.uri">
  749. <xf:set var="$position" value="{{ $position + 1 }}" />
  750. <xf:macro name="crumb"
  751. arg-position="{$position}"
  752. arg-href="{$breadcrumb.href}"
  753. arg-value="{$breadcrumb.value}" />
  754. </xf:foreach>
  755.  
  756. </xf:contentcheck>
  757. </ul>
  758. </xf:if>
  759. </xf:macro>
  760.  
  761. <xf:macro name="crumb" arg-href="!" arg-value="!" arg-position="{{ 0 }}">
  762. <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
  763. <a href="{$href}" itemprop="item">
  764. <span itemprop="name">{$value}</span>
  765. </a>
  766. <xf:if is="$position"><meta itemprop="position" content="{$position}" /></xf:if>
  767. </li>
  768. </xf:macro>]]></template>
  769. <template title="account_visitor_menu" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[<div class="menu-row menu-row--highlighted">
  770. <xf:macro name="visitor_panel_row" />
  771. </div>
  772.  
  773. <xf:macro name="visitor_panel_row">
  774. <div class="contentRow">
  775. <div class="contentRow-figure">
  776. <xf:avatar user="{$xf.visitor}" size="m" href="" notooltip="true" update="{{ link('account/avatar', $xf.visitor) }}" />
  777. </div>
  778. <div class="contentRow-main">
  779. <h3 class="contentRow-header"><xf:username user="$xf.visitor" rich="true" notooltip="true" /></h3>
  780. <div class="contentRow-lesser">
  781. <xf:usertitle user="$xf.visitor" />
  782. </div>
  783.  
  784. <div class="contentRow-minor">
  785. <!--[XF:stats_pairs:above_messages]-->
  786. <dl class="pairs pairs--justified fauxBlockLink">
  787. <dt>{{ phrase('messages') }}</dt>
  788. <dd>
  789. <a href="{{ link('search/member', null, {'user_id': $xf.visitor.user_id}) }}" class="fauxBlockLink-linkRow u-concealed">
  790. {$xf.visitor.message_count|number}
  791. </a>
  792. </dd>
  793. </dl>
  794. <!--[XF:stats_pairs:above_likes]-->
  795. <dl class="pairs pairs--justified fauxBlockLink">
  796. <dt>{{ phrase('likes') }}</dt>
  797. <dd>
  798. <a href="{{ link('account/likes') }}" class="fauxBlockLink-linkRow u-concealed">
  799. {$xf.visitor.like_count|number}
  800. </a>
  801. </dd>
  802. </dl>
  803. <!--[XF:stats_pairs:above_points]-->
  804. <xf:if is="$xf.options.enableTrophies">
  805. <dl class="pairs pairs--justified fauxBlockLink">
  806. <dt>{{ phrase('trophy_points') }}</dt>
  807. <dd>
  808. <a href="{{ link('members/trophies', $xf.visitor) }}" data-xf-click="overlay" class="fauxBlockLink-linkRow u-concealed">
  809. {$xf.visitor.trophy_points|number}
  810. </a>
  811. </dd>
  812. </dl>
  813. </xf:if>
  814. </div>
  815. </div>
  816. </div>
  817. </xf:macro>
  818.  
  819. <!--[XF:menu_separator:below_visitor_panel]-->
  820. <hr class="menu-separator menu-separator--hard" />
  821.  
  822. <ul class="listPlain listColumns listColumns--narrow listColumns--together">
  823. <!--[XF:content_links:top]-->
  824. <xf:if is="$xf.options.enableNewsFeed">
  825. <li><a href="{{ link('whats-new/news-feed') }}" class="menu-linkRow">{{ phrase('news_feed') }}</a></li>
  826. </xf:if>
  827. <li><a href="{{ link('search/member', null, {'user_id': $xf.visitor.user_id}) }}" class="menu-linkRow">{{ phrase('your_content') }}</a></li>
  828. <li><a href="{{ link('account/likes') }}" class="menu-linkRow">{{ phrase('likes_received') }}</a></li>
  829. <!--[XF:content_links:bottom]-->
  830. </ul>
  831.  
  832. <!--[XF:menu_separator:below_content_links]-->
  833. <hr class="menu-separator" />
  834.  
  835. <ul class="listPlain listColumns listColumns--narrow listColumns--together">
  836. <!--[XF:account_links:top]-->
  837. <li><a href="{{ link('account/account-details') }}" class="menu-linkRow">{{ phrase('account_details') }}</a></li>
  838. <li><a href="{{ link('account/security') }}" class="menu-linkRow">{{ phrase('password_and_security') }}</a></li>
  839. <li><a href="{{ link('account/privacy') }}" class="menu-linkRow">{{ phrase('privacy') }}</a></li>
  840. <li><a href="{{ link('account/preferences') }}" class="menu-linkRow">{{ phrase('preferences') }}</a></li>
  841. <xf:if is="$xf.visitor.canEditSignature()">
  842. <li><a href="{{ link('account/signature') }}" class="menu-linkRow">{{ phrase('signature') }}</a></li>
  843. </xf:if>
  844. <xf:if is="$xf.app.userUpgradeCount">
  845. <li><a href="{{ link('account/upgrades') }}" class="menu-linkRow">{{ phrase('account_upgrades') }}</a></li>
  846. </xf:if>
  847. <xf:if is="$xf.app.connectedAccountCount">
  848. <li><a href="{{ link('account/connected-accounts') }}" class="menu-linkRow">{{ phrase('connected_accounts') }}</a></li>
  849. </xf:if>
  850. <li><a href="{{ link('account/following') }}" class="menu-linkRow">{{ phrase('following') }}</a></li>
  851. <li><a href="{{ link('account/ignored') }}" class="menu-linkRow">{{ phrase('ignoring') }}</a></li>
  852. <!--[XF:account_links:bottom]-->
  853. </ul>
  854.  
  855. <!--[XF:menu_separator:below_account_links]-->
  856. <hr class="menu-separator" />
  857.  
  858. <a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="menu-linkRow">{{ phrase('log_out') }}</a>
  859.  
  860. <hr class="menu-separator" />
  861.  
  862. <xf:if is="$xf.visitor.canPostOnProfile()">
  863. <xf:form action="{{ link('members/post', $xf.visitor) }}" ajax="true"
  864. data-redirect="off"
  865. data-reset-complete="true"
  866. data-no-auto-focus="true"
  867. class="menu-footer">
  868.  
  869. <span class="u-srOnly" id="ctrl_message">{{ phrase('update_your_status:') }}</span>
  870. <xf:textarea name="message" rows="1" autosize="true"
  871. maxlength="{$xf.options.profilePostMaxLength}"
  872. placeholder="{{ phrase('update_your_status...') }}"
  873. data-xf-init="focus-trigger user-mentioner" data-display="< :next" aria-labelledby="ctrl_message" />
  874. <div class="u-hidden u-hidden--transition u-inputSpacer">
  875. <xf:button type="submit" class="button--primary">{{ phrase('post_verb') }}</xf:button>
  876. </div>
  877. </xf:form>
  878. </xf:if>]]></template>
  879. <template title="account_visitor_sidebar" type="public" addon_id="" version_id="0" version_string=""><![CDATA[<div class="menu-row menu-row--highlighted">
  880. <xf:macro name="visitor_panel_row_sidebar" />
  881. </div>
  882.  
  883. <xf:macro name="visitor_panel_row_sidebar">
  884. <div class="content-inner">
  885. <div class="contentRow-figure">
  886. <div class="member-avarta">
  887. <xf:avatar user="{$xf.visitor}" size="m" href="" notooltip="true" update="{{ link('account/avatar', $xf.visitor) }}" />
  888. </div>
  889. </div>
  890. <div class="contentRow-main">
  891. <div class="member-role">
  892. <h3 class="contentRow-header"><xf:username user="$xf.visitor" rich="true" notooltip="true" /></h3>
  893. <div class="contentRow-lesser">
  894. <xf:usertitle user="$xf.visitor" />
  895. </div>
  896. </div>
  897. <div class="contentRow-minor">
  898. <!--[XF:stats_pairs:above_messages]-->
  899. <dl class="pairs pairs--justified fauxBlockLink">
  900. <dt>{{ phrase('messages') }}</dt>
  901. <dd>
  902. <a href="{{ link('search/member', null, {'user_id': $xf.visitor.user_id}) }}" class="fauxBlockLink-linkRow u-concealed">
  903. {$xf.visitor.message_count|number}
  904. </a>
  905. </dd>
  906. </dl>
  907. <!--[XF:stats_pairs:above_likes]-->
  908. <dl class="pairs pairs--justified fauxBlockLink">
  909. <dt>{{ phrase('likes') }}</dt>
  910. <dd>
  911. <a href="{{ link('account/likes') }}" class="fauxBlockLink-linkRow u-concealed">
  912. {$xf.visitor.like_count|number}
  913. </a>
  914. </dd>
  915. </dl>
  916. <!--[XF:stats_pairs:above_points]-->
  917. <xf:if is="$xf.options.enableTrophies">
  918. <dl class="pairs pairs--justified fauxBlockLink">
  919. <dt>{{ phrase('trophy_points') }}</dt>
  920. <dd>
  921. <a href="{{ link('members/trophies', $xf.visitor) }}" data-xf-click="overlay" class="fauxBlockLink-linkRow u-concealed">
  922. {$xf.visitor.trophy_points|number}
  923. </a>
  924. </dd>
  925. </dl>
  926. </xf:if>
  927. </div>
  928. </div>
  929. </div>
  930. </xf:macro>]]></template>
  931. <template title="app_body.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[// ######################################### MAIN BODY #################################
  932. {{ include('mixins.less') }}
  933.  
  934. .p-body
  935. {
  936. display: flex;
  937. align-items: stretch;
  938. flex-grow: 1;
  939. min-height: 1px; // IE11 workaround - related to #139187
  940. }
  941.  
  942. .p-body-inner
  943. {
  944. display: flex;
  945. flex-direction: column;
  946. width: 100%;
  947.  
  948. .m-pageWidth();
  949. .m-clearFix();
  950.  
  951. padding-top: 15px;
  952. padding-left: 15px;
  953. padding-right: 15px;
  954. padding-bottom: @xf-elementSpacer;
  955. }
  956.  
  957. .p-body-header
  958. {
  959. margin-bottom: ((@xf-elementSpacer) / 2);
  960. }
  961.  
  962. .p-body-main
  963. {
  964. display: table;
  965. table-layout: fixed;
  966. width: 100%;
  967. margin-bottom: auto;
  968. min-height: 1px; // IE11 workaround - related to #139187
  969. }
  970.  
  971. .p-body-content
  972. {
  973. display: table-cell;
  974. vertical-align: top;
  975.  
  976. .p-body-main--withSideNav &
  977. {
  978. padding-left: @xf-sidebarSpacer;
  979. }
  980.  
  981. .p-body-main--withSidebar &
  982. {
  983. padding-right: @xf-sidebarSpacer;
  984. }
  985. }
  986.  
  987. .p-body-pageContent
  988. {
  989. > .tabs--standalone:first-child
  990. {
  991. margin-bottom: (@xf-elementSpacer) / 2;
  992. }
  993. }
  994.  
  995. .p-body-sideNav
  996. {
  997. display: table-cell;
  998. vertical-align: top;
  999. width: @xf-sidebarWidth;
  1000. }
  1001.  
  1002. .p-body-sideNavTrigger
  1003. {
  1004. display: none;
  1005. }
  1006.  
  1007. .p-body-sidebar
  1008. {
  1009. display: table-cell;
  1010. vertical-align: top;
  1011. width: @xf-sidebarWidth;
  1012. }
  1013.  
  1014. .p-body-content,
  1015. .p-body-pageContent,
  1016. .p-body-sideNav,
  1017. .p-body-sideNavContent,
  1018. .p-body-sidebar
  1019. {
  1020. > :first-child
  1021. {
  1022. margin-top: 0;
  1023. }
  1024.  
  1025. > :last-child
  1026. {
  1027. margin-bottom: 0;
  1028. }
  1029. }
  1030. {{ include('brv_body.less') }}
  1031. @media (max-width: @xf-responsiveWide)
  1032. {
  1033. .p-body-main,
  1034. .p-body-content
  1035. {
  1036. display: block;
  1037. }
  1038.  
  1039. .p-body-sideNav
  1040. {
  1041. display: block;
  1042. width: auto;
  1043. }
  1044.  
  1045. .p-body-sideNavTrigger
  1046. {
  1047. margin-bottom: ((@xf-elementSpacer) / 2);
  1048. text-align: center;
  1049.  
  1050. .button:before
  1051. {
  1052. .m-faBase();
  1053. font-size: 120%;
  1054. vertical-align: middle;
  1055. display: inline-block;
  1056. margin: -4px 6px -4px 0;
  1057. .m-faContent(@fa-var-bars, .86em);
  1058. }
  1059.  
  1060. .has-js &
  1061. {
  1062. display: block;
  1063. }
  1064. }
  1065.  
  1066. .has-js .p-body-sideNavInner:not(.offCanvasMenu)
  1067. {
  1068. display: none;
  1069.  
  1070. .m-transitionFadeDown();
  1071. }
  1072.  
  1073. .has-no-js .p-body-sideNavInner
  1074. {
  1075. margin-bottom: @xf-elementSpacer;
  1076. }
  1077.  
  1078. .p-body-sidebar
  1079. {
  1080. display: flex;
  1081. flex-wrap: wrap;
  1082. align-items: stretch;
  1083. margin: (@xf-elementSpacer) -((@xf-pageEdgeSpacer) / 2) -(@xf-elementSpacer);
  1084. width: auto;
  1085.  
  1086. > *
  1087. {
  1088. margin: 0 ((@xf-pageEdgeSpacer) / 2) @xf-elementSpacer;
  1089. min-width: @xf-sidebarWidth;
  1090. flex: 1 1 @xf-sidebarWidth;
  1091.  
  1092. &:last-child
  1093. {
  1094. margin-bottom: @xf-elementSpacer;
  1095. }
  1096. }
  1097.  
  1098. // add an invisible block to ensure that the last row has the correct widths
  1099. &:after
  1100. {
  1101. display: block;
  1102. content: '';
  1103. height: 0;
  1104. margin: 0 ((@xf-pageEdgeSpacer) / 2);
  1105. min-width: @xf-sidebarWidth;
  1106. flex: 1 1 @xf-sidebarWidth;
  1107. }
  1108.  
  1109. .block-container
  1110. {
  1111. display: flex;
  1112. flex-direction: column;
  1113. height: 100%;
  1114.  
  1115. .block-footer
  1116. {
  1117. margin-top: auto;
  1118. }
  1119. }
  1120. }
  1121.  
  1122. .p-body-main--withSideNav,
  1123. .p-body-main--withSidebar
  1124. {
  1125. .p-body-content { padding: 0; }
  1126. }
  1127. }
  1128.  
  1129. @media (max-width: @xf-responsiveEdgeSpacerRemoval)
  1130. {
  1131. .p-body-sideNavContent
  1132. {
  1133. // this is likely to contain blocks that overflow the container so account for that
  1134. margin: 0 -@xf-pageEdgeSpacer;
  1135. padding: 0 @xf-pageEdgeSpacer;
  1136.  
  1137. .offCanvasMenu &
  1138. {
  1139. margin: 0;
  1140. padding: 0;
  1141. }
  1142. }
  1143.  
  1144. .p-body-sidebar
  1145. {
  1146. display: block;
  1147. margin-left: 0;
  1148. margin-right: 0;
  1149.  
  1150. > *
  1151. {
  1152. margin-left: 0;
  1153. margin-right: 0;
  1154. min-width: 0;
  1155. }
  1156. }
  1157. }]]></template>
  1158. <template title="app_breadcrumbs.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[{{ include('mixins.less') }}
  1159.  
  1160. .p-breadcrumbs
  1161. {
  1162. .m-listPlain();
  1163. .m-clearFix();
  1164.  
  1165. line-height: 1.5;
  1166.  
  1167. &.p-breadcrumbs--bottom
  1168. {
  1169. margin-bottom: 0;
  1170. }
  1171.  
  1172. > li
  1173. {
  1174. float: left;
  1175. margin-right: .5em;
  1176. font-size: @xf-fontSizeSmall;
  1177.  
  1178. a
  1179. {
  1180. display: inline-block;
  1181. vertical-align: bottom;
  1182. max-width: 300px;
  1183. .m-overflowEllipsis();
  1184. }
  1185.  
  1186. &:after,
  1187. &:before
  1188. {
  1189. .m-faBase();
  1190. font-size: 90%;
  1191. color: @xf-textColorMuted;
  1192. }
  1193.  
  1194.  
  1195.  
  1196. &:last-child
  1197. {
  1198. margin-right: 0;
  1199.  
  1200. a
  1201. {
  1202. font-weight: @xf-fontWeightHeavy;
  1203. }
  1204. }
  1205. }
  1206. }
  1207. {{ include('brv_breadcrumbs.less') }}
  1208. @media (max-width: @xf-responsiveMedium)
  1209. {
  1210. .p-breadcrumbs > li a
  1211. {
  1212. max-width: 200px;
  1213. }
  1214. }
  1215.  
  1216. @media (max-width: @xf-responsiveNarrow)
  1217. {
  1218. .p-breadcrumbs
  1219. {
  1220. > li
  1221. {
  1222. display: none;
  1223. font-size: @xf-fontSizeSmallest;
  1224.  
  1225. &:last-child
  1226. {
  1227. display: block;
  1228. }
  1229.  
  1230. a
  1231. {
  1232. max-width: 90vw;
  1233. }
  1234.  
  1235. &:after
  1236. {
  1237. display: none;
  1238. }
  1239.  
  1240.  
  1241. }
  1242. }
  1243. }]]></template>
  1244. <template title="app_footer.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[{{ include('mixins.less') }}
  1245.  
  1246. .p-footer
  1247. {
  1248. .xf-publicFooter();
  1249.  
  1250. a
  1251. {
  1252. .xf-publicFooterLink();
  1253. }
  1254. }
  1255.  
  1256. .p-footer-inner
  1257. {
  1258. .m-pageWidth();
  1259.  
  1260. padding-top: @xf-paddingMedium;
  1261. padding-bottom: @xf-paddingLarge;
  1262. }
  1263.  
  1264. .p-footer-row
  1265. {
  1266. .m-clearFix();
  1267.  
  1268. margin-bottom: -@xf-paddingLarge;
  1269. }
  1270.  
  1271. .p-footer-row-main
  1272. {
  1273. float: left;
  1274. margin-bottom: @xf-paddingLarge;
  1275. }
  1276.  
  1277. .p-footer-row-opposite
  1278. {
  1279. float: right;
  1280. margin-bottom: @xf-paddingLarge;
  1281. }
  1282.  
  1283. .p-footer-linkList
  1284. {
  1285. .m-listPlain();
  1286. .m-clearFix();
  1287.  
  1288. > li
  1289. {
  1290. float: left;
  1291. margin-right: .5em;
  1292.  
  1293. &:last-child
  1294. {
  1295. margin-right: 0;
  1296. }
  1297.  
  1298. a
  1299. {
  1300. padding: 2px 4px;
  1301. border-radius: @xf-borderRadiusSmall;
  1302.  
  1303. &:hover
  1304. {
  1305. text-decoration: none;
  1306. background-color: fade(@xf-publicFooterLink--color, 10%);
  1307. }
  1308. }
  1309. }
  1310. }
  1311.  
  1312. .p-footer-rssLink
  1313. {
  1314. > span
  1315. {
  1316. position: relative;
  1317. top: -1px;
  1318.  
  1319. display: inline-block;
  1320. width: 1.44em;
  1321. height: 1.44em;
  1322. line-height: 1.44em;
  1323. text-align: center;
  1324. font-size: .8em;
  1325. background-color: #FFA500;
  1326. border-radius: 2px;
  1327. }
  1328.  
  1329. .fa-rss
  1330. {
  1331. color: white;
  1332. }
  1333. }
  1334.  
  1335. .p-footer-copyright
  1336. {
  1337. margin-top: @xf-elementSpacer;
  1338. text-align: center;
  1339. font-size: @xf-fontSizeSmallest;
  1340. }
  1341.  
  1342. .p-footer-debug
  1343. {
  1344. margin-top: @xf-paddingLarge;
  1345. text-align: right;
  1346. font-size: @xf-fontSizeSmallest;
  1347.  
  1348. .pairs > dt { color: inherit; }
  1349. }
  1350.  
  1351. {{ include('brv_footer.less') }}
  1352.  
  1353. @media (max-width: @xf-responsiveMedium)
  1354. {
  1355. #footer{
  1356. .footer-custom{
  1357. .footer-column{
  1358. &.footer-column-1{
  1359. width: 100%;
  1360. }
  1361. &.footer-column-2{
  1362. width: 30%;
  1363. }
  1364. &.footer-column-3{
  1365. width: 30%;
  1366. }
  1367. &.footer-column-4{
  1368. width: 40%;
  1369. }
  1370. }
  1371. }
  1372. }
  1373. .p-footer-row-main,
  1374. .p-footer-row-opposite
  1375. {
  1376. float: none;
  1377. }
  1378.  
  1379. .p-footer-copyright
  1380. {
  1381. text-align: left;
  1382. padding: 0 4px; // aligns with other links
  1383. }
  1384. }]]></template>
  1385. <template title="app_header.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[{{ include('mixins.less') }}
  1386.  
  1387. // MAIN HEADER ROW
  1388.  
  1389. .p-header
  1390. {
  1391. .xf-publicHeader();
  1392.  
  1393. a
  1394. {
  1395. color: inherit;
  1396. }
  1397. }
  1398.  
  1399. .p-header-inner
  1400. {
  1401. .m-pageWidth();
  1402. }
  1403.  
  1404. .p-header-content
  1405. {
  1406. padding: @xf-paddingMedium 0;
  1407.  
  1408. display: flex;
  1409. flex-wrap: wrap;
  1410. justify-content: space-between;
  1411. align-items: center;
  1412. max-width: 100%;
  1413.  
  1414. .has-no-flexbox &
  1415. {
  1416. display: table;
  1417. width: 100%;
  1418. }
  1419. }
  1420.  
  1421. .p-header-logo
  1422. {
  1423. .has-no-flexbox &
  1424. {
  1425. display: table-cell;
  1426. }
  1427.  
  1428. vertical-align: middle;
  1429. margin-right: auto;
  1430.  
  1431. a
  1432. {
  1433. color: inherit;
  1434. text-decoration: none;
  1435. }
  1436.  
  1437. &.p-header-logo--text
  1438. {
  1439. font-size: @xf-fontSizeLargest;
  1440. }
  1441.  
  1442. &.p-header-logo--image
  1443. {
  1444. img
  1445. {
  1446. vertical-align: bottom;
  1447. max-width: 100%;
  1448. max-height: 200px;
  1449. }
  1450. }
  1451. }
  1452.  
  1453. {{ include('brv_header.less') }}
  1454.  
  1455. @media (max-width: @xf-publicNavCollapseWidth)
  1456. {
  1457.  
  1458. }
  1459.  
  1460. @media (max-width: @xf-responsiveNarrow)
  1461. {
  1462. .p-header-logo
  1463. {
  1464. max-width: 100px;
  1465.  
  1466. &.p-header-logo--text
  1467. {
  1468. font-size: @xf-fontSizeLarge;
  1469. font-weight: @xf-fontWeightNormal;
  1470. .m-overflowEllipsis();
  1471. }
  1472. }
  1473. }]]></template>
  1474. <template title="app_nav.less" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[{{ include('mixins.less') }}
  1475.  
  1476. // navEl / Navigation Elements for header navigation
  1477.  
  1478. .m-navElHPadding(@padding)
  1479. {
  1480. .p-navEl-link
  1481. {
  1482. padding: 0 @padding;
  1483.  
  1484. &.p-navEl-link--splitMenu
  1485. {
  1486. padding-right: ((@padding) / 4);
  1487. }
  1488.  
  1489. &.p-navEl-link--menuTrigger
  1490. {
  1491. padding-right: ((@padding) / 3); // equal to splitTrigger padding-right
  1492.  
  1493. &:after
  1494. {
  1495. padding-left: ((@padding) / 4 + (@padding) / 3); // equal to splitMenu padding-right + splitTrigger padding-left
  1496. }
  1497. }
  1498. }
  1499.  
  1500. .p-navEl-splitTrigger
  1501. {
  1502. padding: 0 ((@padding) / 3);
  1503. }
  1504. }
  1505.  
  1506. .p-navEl
  1507. {
  1508. .m-clearFix();
  1509. }
  1510.  
  1511. .p-navEl-linkHolder
  1512. {
  1513. float: left;
  1514. }
  1515.  
  1516. .p-navEl-link
  1517. {
  1518. float: left;
  1519. .m-transition(all, @_nav-elTransitionSpeed);
  1520. .m-transitionProperty(opacity, background;);
  1521.  
  1522. &.p-navEl-link--menuTrigger
  1523. {
  1524. cursor: pointer;
  1525.  
  1526. &:after
  1527. {
  1528. .m-faBase();
  1529. .m-faContent(@fa-var-caret-down, .58em);
  1530. opacity: .5;
  1531. .m-transition(opacity, @_nav-elTransitionSpeed);
  1532. unicode-bidi: isolate; // try to keep this in the right position in RTL with LTR text
  1533. }
  1534.  
  1535. &:hover:after
  1536. {
  1537. opacity: 1;
  1538. }
  1539. }
  1540. }
  1541.  
  1542. .p-navEl-splitTrigger
  1543. {
  1544. float: left;
  1545. opacity: .5;
  1546. cursor: pointer;
  1547. text-decoration: none;
  1548. .m-transition(all, @_nav-elTransitionSpeed);
  1549.  
  1550. &:after
  1551. {
  1552. .m-faBase();
  1553. .m-faContent(@fa-var-caret-down, .58em);
  1554. }
  1555.  
  1556. &:hover
  1557. {
  1558. opacity: 1;
  1559. text-decoration: none;
  1560. }
  1561. }
  1562.  
  1563. // HEADER NAV ROW
  1564.  
  1565. .p-nav
  1566. {
  1567. .xf-publicNav();
  1568.  
  1569. a
  1570. {
  1571. color: inherit;
  1572. }
  1573.  
  1574. .p-navSticky.is-sticky &
  1575. {
  1576. .p-nav-list .p-navEl.is-selected,
  1577. .p-account
  1578. {
  1579. border-radius: 0;
  1580. }
  1581. }
  1582. }
  1583.  
  1584. .p-nav-inner
  1585. {
  1586. .m-pageWidth();
  1587.  
  1588. .m-clearFix();
  1589. display: flex;
  1590. align-items: flex-end;
  1591. padding-left: 15px;
  1592. padding-right: 15px;
  1593. }
  1594.  
  1595.  
  1596.  
  1597. .p-nav .p-nav-menuTrigger
  1598. {
  1599. display: none;
  1600. vertical-align: middle;
  1601. align-self: center;
  1602. margin-left: max(0px, @xf-pageEdgeSpacer - 6px);
  1603. margin-right: 5px;
  1604. padding: @xf-publicNavPaddingV 8px;
  1605.  
  1606. &:hover
  1607. {
  1608. text-decoration: none;
  1609. }
  1610.  
  1611. i:after
  1612. {
  1613. .m-faBase();
  1614. font-size: @xf-fontSizeLargest;
  1615. .m-faContent(@fa-var-navicon, .86em);
  1616. vertical-align: bottom;
  1617. }
  1618.  
  1619. .p-nav-menuText
  1620. {
  1621. display: none;
  1622. }
  1623. }
  1624.  
  1625. .p-nav-smallLogo
  1626. {
  1627. display: none;
  1628. max-width: 100px;
  1629. align-self: center;
  1630.  
  1631. img
  1632. {
  1633. display: block;
  1634. max-height: @header-navHeight;
  1635. }
  1636. }
  1637.  
  1638. .p-nav-scroller
  1639. {
  1640. margin-right: auto;
  1641. max-width: 100%;
  1642.  
  1643. .has-no-flexbox &
  1644. {
  1645. float: left;
  1646. }
  1647.  
  1648. .hScroller-scroll:not(.is-calculated)
  1649. {
  1650. // IE11 seems to want to flash a vertical scrollbar without this here
  1651.  
  1652. }
  1653.  
  1654. .hScroller-action
  1655. {
  1656. .m-hScrollerActionColorVariation(
  1657. xf-default(@xf-publicNav--background-color, transparent),
  1658. @xf-publicNav--color,
  1659. xf-intensify(@xf-publicNav--color, 10%)
  1660. );
  1661. }
  1662. }
  1663.  
  1664. .p-nav-list
  1665. {
  1666. .m-listPlain();
  1667. .m-clearFix();
  1668.  
  1669. font-size: 0;
  1670.  
  1671. // this applies padding that will be contained within the scroller.
  1672. // it needs font-size 0 to not create extra space though
  1673. &:before,
  1674. &:after
  1675. {
  1676. display: inline-block;
  1677. width: @xf-pageEdgeSpacer;
  1678. content: '';
  1679. }
  1680.  
  1681. > li
  1682. {
  1683. display: inline-block;
  1684. vertical-align: bottom;
  1685. font-size: @xf-fontSizeNormal;
  1686.  
  1687. &:first-child
  1688. {
  1689. margin-left: 0;
  1690. }
  1691. }
  1692.  
  1693. .m-navElHPadding(@xf-publicNavPaddingH);
  1694.  
  1695. .p-navEl
  1696. {
  1697. .xf-publicNavTab();
  1698. .m-transition(all, @_nav-elTransitionSpeed);
  1699.  
  1700. &.is-selected
  1701. {
  1702. .xf-publicNavSelected();
  1703.  
  1704. .p-navEl-link
  1705. {
  1706. padding-right: @xf-publicNavPaddingH; // since the split trigger is hidden
  1707.  
  1708. &:hover
  1709. {
  1710. background: none;
  1711. text-decoration: none;
  1712. }
  1713. }
  1714.  
  1715. .p-navEl-splitTrigger
  1716. {
  1717. display: none;
  1718. }
  1719. }
  1720.  
  1721. &:not(.is-selected):not(.is-menuOpen)
  1722. {
  1723. &:hover,
  1724. .p-navEl-link:hover,
  1725. .p-navEl-splitTrigger:hover
  1726. {
  1727. .xf-publicNavTabHover();
  1728. }
  1729. }
  1730.  
  1731. &.is-menuOpen
  1732. {
  1733. .xf-publicNavTabMenuOpen();
  1734.  
  1735. border-top-left-radius: xf-default(@xf-publicNavSelected--border-top-left-radius, 0);
  1736. border-top-right-radius: xf-default(@xf-publicNavSelected--border-top-right-radius, 0);
  1737.  
  1738. .m-dropShadow(0, 5px, 10px, 0, .35);
  1739.  
  1740. a
  1741. {
  1742. text-decoration: none;
  1743. opacity: 1;
  1744. }
  1745. }
  1746. }
  1747.  
  1748. .p-navEl-link,
  1749. .p-navEl-splitTrigger
  1750. {
  1751. padding-top: @xf-publicNavPaddingV;
  1752. padding-bottom: @xf-publicNavPaddingV;
  1753. }
  1754. }
  1755.  
  1756. .p-navSticky--primary.is-sticky
  1757. {
  1758. .p-nav-list
  1759. {
  1760. .p-navEl-link.p-navEl-link--splitMenu
  1761. {
  1762. padding-right: ((@xf-publicNavPaddingH) / 4);
  1763. }
  1764.  
  1765. .p-navEl.is-selected .p-navEl-splitTrigger
  1766. {
  1767. display: inline;
  1768. position: relative;
  1769.  
  1770. &:before
  1771. {
  1772. content: '';
  1773. position: absolute;
  1774. left: 0;
  1775. top: 5px;
  1776. bottom: 5px;
  1777. width: 0;
  1778. border-left: @xf-borderSize solid fade(xf-default(@xf-publicNavSelected--color, transparent), 35%);
  1779. }
  1780. }
  1781. }
  1782. }
  1783.  
  1784.  
  1785.  
  1786. @media (max-width: @xf-publicNavCollapseWidth)
  1787. {
  1788. .has-js
  1789. {
  1790. .p-nav-inner
  1791. {
  1792. min-height: 45px;
  1793. }
  1794.  
  1795. .p-nav .p-nav-menuTrigger
  1796. {
  1797. display: inline-block;
  1798. }
  1799.  
  1800.  
  1801. .p-nav-scroller
  1802. {
  1803. display: none;
  1804. }
  1805. }
  1806. }
  1807.  
  1808. // ACCOUNT/VISITOR/SEARCH SECTION
  1809.  
  1810. .p-nav-opposite
  1811. {
  1812. margin-left: auto;
  1813. margin-right: @xf-pageEdgeSpacer;
  1814. text-align: right;
  1815. flex-shrink: 0;
  1816.  
  1817. .has-no-flexbox &
  1818. {
  1819. float: right;
  1820. }
  1821. }
  1822.  
  1823. .p-navgroup
  1824. {
  1825. float: left;
  1826. .m-clearFix();
  1827. background: @xf-publicHeaderAdjustColor;
  1828. border-top-left-radius: @xf-borderRadiusMedium;
  1829. border-top-right-radius: @xf-borderRadiusMedium;
  1830.  
  1831. &.p-discovery
  1832. {
  1833. margin-left: .5em;
  1834.  
  1835. &.p-discovery--noSearch
  1836. {
  1837. margin-left: 0;
  1838. }
  1839. }
  1840. }
  1841.  
  1842. .p-navgroup-link
  1843. {
  1844. float: left;
  1845. padding: @xf-publicNavPaddingV @_navAccount-hPadding;
  1846. border-left: 1px solid @xf-publicHeaderAdjustColor;
  1847.  
  1848. &:first-of-type
  1849. {
  1850. border-top-left-radius: @xf-borderRadiusMedium;
  1851. border-left: none;
  1852. }
  1853.  
  1854. &:last-of-type
  1855. {
  1856. border-top-right-radius: @xf-borderRadiusMedium;
  1857. }
  1858.  
  1859. &:hover
  1860. {
  1861. text-decoration: none;
  1862. background: xf-intensify(@xf-publicHeaderAdjustColor, 5%);
  1863. }
  1864.  
  1865. &.p-navgroup-link--user
  1866. {
  1867. .m-overflowEllipsis();
  1868. max-width: 150px;
  1869.  
  1870. .avatar
  1871. {
  1872. .m-avatarSize((@xf-fontSizeNormal) * (@xf-lineHeightDefault));
  1873. }
  1874. }
  1875.  
  1876. &.badgeContainer
  1877. {
  1878. opacity: .6;
  1879. position: relative;
  1880.  
  1881. &:after
  1882. {
  1883. position: absolute;
  1884. right: (@_navAccount-hPadding - 6px);
  1885. top: (@xf-publicNavPaddingV );
  1886. padding: 1px 3px;
  1887. margin: 0;
  1888. font-size: 10px;
  1889. line-height: 10px;
  1890. border-radius: 100%;
  1891. }
  1892.  
  1893. &:hover,
  1894. &.badgeContainer--highlighted
  1895. {
  1896. opacity: 1;
  1897. }
  1898. }
  1899.  
  1900. &.is-menuOpen
  1901. {
  1902. .xf-publicNavTabMenuOpen();
  1903. .m-dropShadow(0, 5px, 10px, 0, .35);
  1904. opacity: 1;
  1905. }
  1906.  
  1907. &.p-navgroup-link--iconic
  1908. {
  1909. i:after
  1910. {
  1911. .m-faBase();
  1912. display: inline-block;
  1913. min-width: 1em;
  1914. }
  1915. }
  1916.  
  1917. &.p-navgroup-link--conversations i:after
  1918. {
  1919. .m-faContent(@fa-var-envelope, 1em);
  1920. }
  1921.  
  1922. &.p-navgroup-link--alerts i:after
  1923. {
  1924. .m-faContent(@fa-var-bell, 1em);
  1925. }
  1926.  
  1927. &.p-navgroup-link--whatsnew i:after
  1928. {
  1929. .m-faContent(@fa-var-bolt, .5em);
  1930. }
  1931.  
  1932. &.p-navgroup-link--search i:after
  1933. {
  1934. .m-faContent(@fa-var-search, .93em);
  1935. }
  1936. }
  1937.  
  1938. .p-navgroup-link--whatsnew
  1939. {
  1940. display: none;
  1941.  
  1942. .p-navgroup-link:first-of-type& + .p-navgroup-link
  1943. {
  1944. border-top-left-radius: @xf-borderRadiusMedium;
  1945. border-left: none;
  1946. }
  1947. }
  1948. {{ include('brv_nav.less') }}
  1949. @media (max-width: @xf-responsiveWide)
  1950. {
  1951. .p-navgroup-link
  1952. {
  1953. &.p-navgroup-link--iconic .p-navgroup-linkText,
  1954. &.p-navgroup-link--textual i
  1955. {
  1956. display: none;
  1957. }
  1958.  
  1959. &.p-navgroup-link--textual
  1960. {
  1961. .m-overflowEllipsis();
  1962. max-width: 110px;
  1963. }
  1964.  
  1965. &.p-navgroup-link--iconic i:after
  1966. {
  1967. text-align: center;
  1968. }
  1969. }
  1970. }
  1971.  
  1972. @media (max-width: @xf-publicNavCollapseWidth)
  1973. {
  1974. .p-navgroup-link--whatsnew
  1975. {
  1976. display: block;
  1977. }
  1978.  
  1979. .has-js
  1980. {
  1981. .p-nav-opposite
  1982. {
  1983. align-self: center;
  1984. //margin-right: max(0px, @xf-pageEdgeSpacer - @_navAccount-hPadding);
  1985.  
  1986. .p-navgroup
  1987. {
  1988. background: none;
  1989. margin-left: 0;
  1990. }
  1991.  
  1992. .p-navgroup-link
  1993. {
  1994. border: none;
  1995. border-radius: @xf-borderRadiusMedium;
  1996.  
  1997. &.is-menuOpen
  1998. {
  1999. .m-borderBottomRadius(0);
  2000. }
  2001. }
  2002. }
  2003. }
  2004. }
  2005.  
  2006. @media (max-width: @xf-responsiveNarrow)
  2007. {
  2008. .p-navgroup-link
  2009. {
  2010. .p-navgroup--member &
  2011. {
  2012. margin-left: 5px;
  2013.  
  2014. &:first-of-type
  2015. {
  2016. margin-left: 0;
  2017. }
  2018. }
  2019. }
  2020. }
  2021.  
  2022. @media (max-width: 374px)
  2023. {
  2024. .p-navgroup-link.p-navgroup-link--register
  2025. {
  2026. display: none;
  2027. }
  2028. }]]></template>
  2029. <template title="app_sectionlinks.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// SUB SECTION LINKS
  2030.  
  2031. .p-sectionLinks
  2032. {
  2033. .xf-publicSubNav();
  2034.  
  2035. .hScroller-action
  2036. {
  2037. .m-hScrollerActionColorVariation(
  2038. xf-default(@xf-publicSubNav--background-color, transparent),
  2039. @xf-publicSubNav--color,
  2040. @xf-publicSubNavElHover--color
  2041. );
  2042. }
  2043.  
  2044. &.p-sectionLinks--empty
  2045. {
  2046. height: 10px;
  2047. }
  2048. }
  2049.  
  2050. .p-sectionLinks-inner
  2051. {
  2052. .m-clearFix();
  2053. .m-pageWidth();
  2054.  
  2055. padding-left: max(0px, @xf-pageEdgeSpacer - @xf-publicSubNavPaddingH);
  2056. padding-right: max(0px, @xf-pageEdgeSpacer - @xf-publicSubNavPaddingH);
  2057. }
  2058.  
  2059. .p-sectionLinks-list
  2060. {
  2061. .m-listPlain();
  2062.  
  2063. font-size: 0;
  2064.  
  2065. a
  2066. {
  2067. color: inherit;
  2068. }
  2069.  
  2070. > li
  2071. {
  2072. display: inline-block;
  2073. }
  2074.  
  2075. .m-navElHPadding(@xf-publicSubNavPaddingH);
  2076.  
  2077. .p-navEl
  2078. {
  2079. font-size: @xf-publicSubNav--font-size;
  2080.  
  2081. &:hover
  2082. {
  2083. .xf-publicSubNavElHover();
  2084.  
  2085. a
  2086. {
  2087. text-decoration: @xf-publicSubNavElHover--text-decoration;
  2088. }
  2089. }
  2090.  
  2091. &.is-menuOpen
  2092. {
  2093. .xf-publicSubNavElMenuOpen();
  2094. .m-borderBottomRadius(0);
  2095. .m-dropShadow(0, 5px, 10px, 0, .35);
  2096. }
  2097. }
  2098.  
  2099. .p-navEl-link,
  2100. .p-navEl-splitTrigger
  2101. {
  2102. padding-top: 11px;
  2103. padding-bottom: 11px;
  2104. }
  2105. }
  2106.  
  2107. @media (max-width: @xf-publicNavCollapseWidth)
  2108. {
  2109. .has-js .p-sectionLinks
  2110. {
  2111. display: none;
  2112. }
  2113. }]]></template>
  2114. <template title="app_stickynav.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[{{ include('mixins.less') }}
  2115.  
  2116. .p-navSticky
  2117. {
  2118. z-index: @zIndex-1;
  2119.  
  2120. &.is-sticky
  2121. {
  2122. z-index: @zIndex-4;
  2123. .m-dropShadow(0, 0, 8px, 3px, 0.3);
  2124. }
  2125. }
  2126.  
  2127. @supports (position: sticky) or (position: -webkit-sticky)
  2128. {
  2129. .p-navSticky
  2130. {
  2131.  
  2132. top: 0;
  2133.  
  2134. &.is-sticky-broken,
  2135. &.is-sticky-disabled
  2136. {
  2137. position: static;
  2138. top: auto;
  2139. }
  2140. }
  2141. }
  2142.  
  2143. {{ include('brv_stickynav.less') }}]]></template>
  2144. <template title="attachment_macros" type="public" addon_id="XF" version_id="2000038" version_string="2.0.0 Beta 8"><![CDATA[<xf:macro name="attachment_list_item" arg-attachment="!" arg-canView="!">
  2145. <li class="attachment">
  2146. <xf:if is="$attachment.has_thumbnail">
  2147. <xf:macro template="lightbox_macros" name="setup" arg-canViewAttachments="{$canView}" />
  2148.  
  2149. <div class="attachment-icon attachment-icon--img">
  2150. <a href="{{ link('attachments', $attachment) }}" target="_blank" class="{{ $canView ? 'js-lbImage' : '' }}">
  2151. <img src="{$attachment.thumbnail_url}" alt="{$attachment.filename}" />
  2152. </a>
  2153. </div>
  2154. <xf:else />
  2155. <div class="attachment-icon" data-extension="{$attachment.extension}">
  2156. <a href="{{ link('attachments', $attachment) }}" target="_blank"><i aria-hidden="true"></i></a>
  2157. </div>
  2158. </xf:if>
  2159. <div class="attachment-name">
  2160. <a href="{{ link('attachments', $attachment) }}" target="_blank" title="{$attachment.filename}">{$attachment.filename}</a>
  2161. </div>
  2162. <div class="attachment-details">
  2163. <dl class="pairs pairs--justified attachment-details-size">
  2164. <dt>{{ phrase('File size') }}</dt>
  2165. <dd>{$attachment.file_size|file_size}</dd>
  2166. </dl>
  2167. <dl class="pairs pairs--justified attachment-details-views">
  2168. <dt>{{ phrase('views') }}</dt>
  2169. <dd>{$attachment.view_count|number}</dd>
  2170. </dl>
  2171.  
  2172. </div>
  2173. </li>
  2174. </xf:macro>]]></template>
  2175. <template title="bb_code.less" type="public" addon_id="XF" version_id="2000670" version_string="2.0.6"><![CDATA[@_bbCodeBlock-spacing: .75em;
  2176. @_bbCodeBlock-paddingV: @xf-paddingMedium;
  2177. @_bbCodeBlock-paddingH: @xf-paddingLarge;
  2178. @_bbCodeBlock-expandTriggerHeight: (@xf-bbCodeBlockExpandHeight) / 2;
  2179.  
  2180. .bbCodeBlock
  2181. {
  2182. margin: @_bbCodeBlock-spacing 0;
  2183. .xf-bbCodeBlock();
  2184.  
  2185. &.bbCodeBlock--quote
  2186. {
  2187. .bbCodeBlock-content
  2188. {
  2189. font-size: @xf-fontSizeSmall;
  2190. }
  2191. }
  2192. }
  2193.  
  2194. .bbCodeBlock-title
  2195. {
  2196. padding: @_bbCodeBlock-paddingV @_bbCodeBlock-paddingH;
  2197. .xf-bbCodeBlockTitle();
  2198. .m-clearFix();
  2199. }
  2200.  
  2201. a.bbCodeBlock-sourceJump
  2202. {
  2203. color: inherit;
  2204. text-decoration: none;
  2205.  
  2206. &:hover
  2207. {
  2208. text-decoration: underline;
  2209. }
  2210.  
  2211. &:after
  2212. {
  2213. .m-faBase();
  2214. .m-faContent(@fa-var-arrow-circle-up, .86em);
  2215. display: inline-block;
  2216. margin-left: 5px;
  2217. }
  2218. }
  2219.  
  2220. .bbCodeBlock-content
  2221. {
  2222. position: relative;
  2223. padding: @_bbCodeBlock-paddingV @_bbCodeBlock-paddingH;
  2224. }
  2225.  
  2226. .bbCodeBlock-expandLink
  2227. {
  2228. display: none;
  2229. position: absolute;
  2230. top: (@xf-bbCodeBlockExpandHeight) + (@_bbCodeBlock-paddingV * 2) - (@_bbCodeBlock-expandTriggerHeight);
  2231. left: 0;
  2232. right: 0;
  2233. height: @_bbCodeBlock-expandTriggerHeight;
  2234. cursor: pointer;
  2235. .m-gradient(
  2236. fade(@xf-bbCodeBlock--background-color, 0%),
  2237. xf-default(@xf-bbCodeBlock--background-color, transparent),
  2238. transparent,
  2239. 0%,
  2240. 80%
  2241. );
  2242.  
  2243. a
  2244. {
  2245. position: absolute;
  2246. bottom: @_bbCodeBlock-paddingV;
  2247. left: 0;
  2248. right: 0;
  2249. text-align: center;
  2250. font-size: @xf-fontSizeSmall;
  2251. color: @xf-textColorAttention;
  2252. text-decoration: none;
  2253. }
  2254. }
  2255.  
  2256. .bbCodeBlock--screenLimited
  2257. {
  2258. .bbCodeBlock-content
  2259. {
  2260. max-height: 300px;
  2261. max-height: 70vh;
  2262. overflow: auto;
  2263. -webkit-overflow-scrolling: touch;
  2264. }
  2265. }
  2266.  
  2267. .bbCodeBlock--expandable
  2268. {
  2269. overflow: hidden;
  2270. .m-transition();
  2271. .m-transitionProperty(-xf-height, height, padding, margin, border;);
  2272.  
  2273. .bbCodeBlock-content
  2274. {
  2275. overflow: hidden;
  2276.  
  2277. .bbCodeBlock:not(.bbCodeBlock--expandable) .bbCodeBlock-content
  2278. {
  2279. overflow: visible;
  2280. }
  2281. .bbCodeBlock.bbCodeBlock--screenLimited .bbCodeBlock-content
  2282. {
  2283. overflow: auto;
  2284. }
  2285. }
  2286.  
  2287. .bbCodeBlock-expandContent
  2288. {
  2289. max-height: @xf-bbCodeBlockExpandHeight;
  2290. overflow: hidden;
  2291. }
  2292.  
  2293. &.is-expandable
  2294. {
  2295. .bbCodeBlock-expandLink
  2296. {
  2297. display: block;
  2298. }
  2299. }
  2300.  
  2301. &.is-expanded
  2302. {
  2303. .bbCodeBlock-expandContent
  2304. {
  2305. max-height: none;
  2306. }
  2307.  
  2308. .bbCodeBlock-expandLink
  2309. {
  2310. display: none;
  2311. }
  2312. }
  2313. }
  2314.  
  2315. .bbCodeCode
  2316. {
  2317. margin: 0;
  2318. padding: 0;
  2319.  
  2320. font-family: @xf-fontFamilyCode;
  2321. font-size: @xf-fontSizeSmall;
  2322. line-height: @xf-lineHeightDefault;
  2323. -ltr-rtl-text-align: left;
  2324.  
  2325. direction: ltr;
  2326. white-space: pre;
  2327. position: relative;
  2328.  
  2329. .m-tabSize();
  2330.  
  2331. code
  2332. {
  2333. font-family: inherit;
  2334. }
  2335.  
  2336. .prism-token
  2337. {
  2338. &.prism-comment,
  2339. &.prism-prolog,
  2340. &.prism-doctype,
  2341. &.prism-cdata
  2342. {
  2343. color: #a50;
  2344. }
  2345.  
  2346. &.prism-constant
  2347. {
  2348. color: #05a;
  2349. }
  2350.  
  2351. &.prism-tag
  2352. {
  2353. color: #170;
  2354. }
  2355.  
  2356. &.prism-boolean
  2357. {
  2358. color: #219;
  2359. }
  2360.  
  2361. &.prism-symbol,
  2362. &.prism-atrule,
  2363. &.prism-keyword
  2364. {
  2365. color: #708;
  2366. }
  2367.  
  2368. &.prism-selector,
  2369. &.prism-function
  2370. {
  2371. color: #05a;
  2372. }
  2373.  
  2374. &.prism-deleted
  2375. {
  2376. color: #d44;
  2377. }
  2378.  
  2379. &.prism-inserted
  2380. {
  2381. color: #292;
  2382. }
  2383.  
  2384. &.prism-string,
  2385. &.prism-attr-value
  2386. {
  2387. color: #a11;
  2388. }
  2389.  
  2390. &.prism-number
  2391. {
  2392. color: #164;
  2393. }
  2394.  
  2395. &.prism-attr-name,
  2396. &.prism-char,
  2397. &.prism-builtin
  2398. {
  2399. color: #00c;
  2400. }
  2401.  
  2402. &.prism-regex,
  2403. &.prism-important,
  2404. &.prism-variable,
  2405. &.prism-package
  2406. {
  2407. color: #05a;
  2408. }
  2409.  
  2410. &.prism-class-name,
  2411. &.prism-important,
  2412. &.prism-bold
  2413. {
  2414. color: #00f;
  2415. }
  2416.  
  2417. &.prism-bold
  2418. {
  2419. font-weight: bold;
  2420. }
  2421.  
  2422. &.prism-italic,
  2423. &.prism-constant
  2424. {
  2425. color: #05a;
  2426. font-style: italic;
  2427. }
  2428.  
  2429. &.prism-entity
  2430. {
  2431. cursor: help;
  2432. }
  2433. }
  2434. }
  2435.  
  2436. .bbCodeInline
  2437. {
  2438. margin: 0;
  2439. .xf-bbCodeInlineCode();
  2440. font-family: @xf-fontFamilyCode;
  2441. line-height: @xf-lineHeightDefault;
  2442. box-decoration-break: clone;
  2443. -webkit-box-decoration-break: clone;
  2444. }
  2445.  
  2446. .bbCodeSpoiler
  2447. {
  2448. margin: @_bbCodeBlock-spacing 0;
  2449. }
  2450.  
  2451. .bbCodeSpoiler-button
  2452. {
  2453. .has-no-js & { display: none; }
  2454. }
  2455.  
  2456. .bbCodeSpoiler-content
  2457. {
  2458. .m-hiddenEl(true);
  2459. .has-no-js & { display: block !important; }
  2460.  
  2461. > .bbCodeBlock--spoiler
  2462. {
  2463. margin: .2em 0 0;
  2464. }
  2465. }]]></template>
  2466. <template title="brv_body.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[.p-body{
  2467. position: relative;
  2468. &:before{
  2469. content: '';
  2470. position: absolute;
  2471. left: 0;
  2472. top: 0;
  2473. width: 100%;
  2474. height: 50px;
  2475. background-color: @xf-paletteColor3;
  2476. z-index: -1;
  2477. }
  2478. .p-body-inner{
  2479. border-radius: 5px;
  2480. overflow: hidden;
  2481. .p-body-header{
  2482. margin: 0 0 15px;
  2483. background-color: @xf-BrvColor1;
  2484. color: @xf-linkColor;
  2485. padding: 10px 15px;
  2486. border-radius: 2px;
  2487. .p-title{
  2488. h1{
  2489. font-size: 20px;
  2490. color: @xf-linkColor;
  2491. .label{
  2492. border: none;
  2493. }
  2494. }
  2495. }
  2496. .p-description{
  2497. color: @xf-textColor;
  2498. ul{
  2499. li+li+li{
  2500. display: none;
  2501. }
  2502. }
  2503. }
  2504. }
  2505. .p-body-main{
  2506. .p-body-content{
  2507. transition: all 600ms;
  2508. &.edit-padd{
  2509. transition: all 600ms;
  2510. padding-right: 0;
  2511. display: inline-block;
  2512. }
  2513. .p-body-pageContent{
  2514. .block{
  2515. .block-container{
  2516. .block-header{
  2517. margin-bottom: -10px;
  2518. }
  2519. .block-body{
  2520. background: @xf-BrvColor1;
  2521. padding-bottom: 5px;
  2522. padding-top: 5px;
  2523. .node{
  2524. background: #f3f3f3;
  2525. margin: 5px 10px;
  2526. &+.node{
  2527. border: none !important;
  2528. }
  2529. .node-body{
  2530. .node-icon{
  2531. padding: 9px 0 9px 10px;
  2532. i{
  2533. &:before{
  2534. text-shadow: none;
  2535. }
  2536. }
  2537. }
  2538. .node-main{
  2539. padding: 8px 10px;
  2540. .node-title{
  2541. font-size: 13px;
  2542. line-height: 13px;
  2543. a{
  2544. font-weight: 600;
  2545. line-height: 13px;
  2546. }
  2547. }
  2548. .node-meta{
  2549. font-size: 11px;
  2550. margin-top: 4px;
  2551. display: flex;
  2552. .node-statsMeta{
  2553. display: inline-block;
  2554. dl{
  2555. display: inline-block;
  2556. width: auto;
  2557. &+dl{
  2558. margin-left: 40px;
  2559. }
  2560. dt{
  2561. display: inline-block;
  2562. color: @xf-textColor;
  2563. font-size: 11px;
  2564. }
  2565. dd{
  2566. display: inline-block;
  2567. font-size: 11px;
  2568. color: @xf-linkColor;
  2569. }
  2570. }
  2571. }
  2572. }
  2573. }
  2574.  
  2575. .node-stats{
  2576. display: none;
  2577. }
  2578. .node-subNodesFlat{
  2579. .node-subNodeFlatList{
  2580. li{
  2581. margin: 0;
  2582. a{
  2583. font-size: 11px;
  2584. color: @xf-paletteColor3;
  2585. padding: 7px 15px;
  2586. display: inline-block;
  2587. border-radius: 2px;
  2588. position: relative;
  2589. font-weight: 600;
  2590. &:hover{
  2591. text-decoration: none !important;
  2592. color: @xf-paletteColor3;
  2593. background: @xf-BrvColor1;
  2594. &:before{
  2595. color: @xf-paletteColor3 !important;
  2596. }
  2597. }
  2598. &.subNodeLink{
  2599. &:before{
  2600. content: '\f105';
  2601. font-family: "FontAwesome";
  2602. text-shadow: none;
  2603. font-size: 10px;
  2604. position: absolute;
  2605. left: 6px;
  2606. top: 52%;
  2607. transform: translateY(-50%);
  2608. color: @xf-paletteColor3;
  2609. }
  2610. &.subNodeLink--unread{
  2611. &:before{
  2612. color: @xf-paletteColor3 !important;
  2613. }
  2614. }
  2615. }
  2616. }
  2617. }
  2618. }
  2619. }
  2620. .node-extra{
  2621. .node-extra-row{
  2622. .node-extra-title{
  2623. font-weight: 600;
  2624. position: relative;
  2625. }
  2626. li{
  2627. font-size: 12px;
  2628. time{
  2629. color: @xf-textColor;
  2630. }
  2631. }
  2632. .node-extra-user{
  2633. a{
  2634. color: @xf-textColor;
  2635. font-size: 12px;
  2636. }
  2637. }
  2638. }
  2639. }
  2640. }
  2641. .node-icon{
  2642. i{
  2643. &:before{
  2644. content: '';
  2645. width: 24px;
  2646. height: 26px;
  2647. background-repeat: no-repeat;
  2648.  
  2649. }
  2650. }
  2651. }
  2652. &.node--category,
  2653. &.node--forum{
  2654. &.node--read{
  2655. .node-icon{
  2656. i{
  2657. &:before{
  2658. .node--read;
  2659. }
  2660. }
  2661. }
  2662. }
  2663. &.node--unread{
  2664. .node-icon{
  2665. i{
  2666. &:before{
  2667. .node--sprite;
  2668. }
  2669. }
  2670. }
  2671. }
  2672. }
  2673. &.node--page{
  2674. .node-icon{
  2675. i{
  2676. &:before{
  2677. .node--page;
  2678. }
  2679. }
  2680. }
  2681. }
  2682. &.node--link{
  2683. .node-icon{
  2684. i{
  2685. &:before{
  2686. .node--link;
  2687. }
  2688. }
  2689. }
  2690. }
  2691. }
  2692. }
  2693. .block-filterBar{
  2694. .filterBar{
  2695. .filterBar-menuTrigger{
  2696. font-size: 14px;
  2697. color: @xf-paletteColor3;
  2698. &:hover{
  2699. background-color: transparent;
  2700. text-decoration: underline;
  2701. }
  2702. }
  2703. }
  2704. }
  2705. }
  2706. }
  2707. }
  2708. }
  2709. }
  2710. .p-have--sidebar{
  2711. transition: all 1500ms;
  2712. &.hide{
  2713. transition: all 500ms;
  2714. visibility: hidden;
  2715. transform: translateX(265px);
  2716. display: none;
  2717. }
  2718. .contentRow-faderContent{
  2719. white-space: nowrap;
  2720. word-wrap: normal;
  2721. text-overflow: ellipsis;
  2722. }
  2723. .avatar:not(.structItem-secondaryIcon){
  2724. width: 45px;
  2725. height: 45px;
  2726. line-height: 43px;
  2727. span{
  2728. font-size: 20px;
  2729. line-height: 43px;
  2730. }
  2731. }
  2732. .block-container{
  2733. padding-bottom: 5px;
  2734. .block-minorHeader{
  2735. margin-bottom: -10px;
  2736. }
  2737. }
  2738. .block-row{
  2739. margin: 5px 10px;
  2740. background-color: #f3f3f3;
  2741. }
  2742. .block{
  2743. &.member-visitor{
  2744. display: inline-block;
  2745. width: 100%;
  2746. .content-inner{
  2747. display: flex;
  2748. align-items: center;
  2749. padding: 13px;
  2750. border-radius: 2px;
  2751. background-color: @xf-BrvColor1;
  2752. .contentRow-figure{
  2753. position: relative;
  2754. .member-avarta{
  2755. .avatar{
  2756. width: 72px;
  2757. height: 72px;
  2758. position: relative;
  2759. span{
  2760. position: absolute;
  2761. top: 50%;
  2762. left: 50%;
  2763. transform: translate(-50%, -50%);
  2764. }
  2765. }
  2766. }
  2767. }
  2768. .contentRow-main{
  2769. padding-left: 13px;
  2770. .member-role{
  2771. color: @xf-textColor;
  2772. .contentRow-header{
  2773. font-weight: 600;
  2774. font-size: 14px;
  2775. margin-bottom: 5px;
  2776. }
  2777. .contentRow-lesser{
  2778. font-size: 12px;
  2779. }
  2780. a{
  2781. color: @xf-paletteColor3;
  2782. }
  2783. }
  2784. .contentRow-minor{
  2785. font-size: 12px;
  2786. color: @xf-textColor;
  2787. dl{
  2788. margin: 3px 0;
  2789. dt{
  2790. color: @xf-textColor;
  2791. }
  2792. }
  2793. }
  2794. }
  2795. }
  2796. }
  2797. &[data-widget-definition="new_profile_posts"]{
  2798. .block-body{
  2799. padding: 10px 0;
  2800. .block-row{
  2801. .contentRow{
  2802.  
  2803. .contentRow-main{
  2804. >a{
  2805. font-size: 13px;
  2806. font-weight: 600;
  2807. margin-bottom: 5px;
  2808. display: inline-block;
  2809. }
  2810. .username{
  2811. color: @xf-linkColor;
  2812. }
  2813. .contentRow-minor{
  2814. font-size: 12px;
  2815. a{
  2816. font-size: 11px;
  2817. }
  2818. }
  2819. }
  2820. }
  2821. }
  2822. }
  2823. }
  2824. .block-container{
  2825. box-shadow: 0 2px 2px rgba(0, 0, 0, 0.06);
  2826. border-radius: 2px;
  2827. .block-minorHeader{
  2828. text-align: left;
  2829. position: relative;
  2830. a{
  2831. display: inline-block;
  2832. position: relative;
  2833. }
  2834. }
  2835. .block-footer{
  2836. padding: 10px;
  2837. }
  2838. .block-body{
  2839. font-size: 12px;
  2840. .contentRow-main{
  2841. a{
  2842. font-weight: 600;
  2843. }
  2844. }
  2845. &.staff-content{
  2846. padding: 10px 0;
  2847. li{
  2848. &:last-child{
  2849. .contentRow{
  2850. border-bottom: none;
  2851. padding-bottom: 0;
  2852. }
  2853. }
  2854. .contentRow{
  2855. border-bottom: 1px solid @xf-borderColor;
  2856. padding-bottom: 13px;
  2857. .contentRow-main{
  2858. .username{
  2859. font-size: 13px;
  2860. margin-top: 5px;
  2861. display: inline-block;
  2862. font-weight: 600;
  2863. color: @xf-linkColor;
  2864. }
  2865. .contentRow-minor{
  2866. font-size: 12px;
  2867. margin-top: 3px;
  2868. }
  2869. }
  2870. }
  2871. }
  2872. }
  2873. &.member-content{
  2874. padding: 10px 0;
  2875. }
  2876. &.post-content{
  2877. padding: 10px 0;
  2878. li{
  2879. .contentRow{
  2880. .contentRow-main{
  2881. >a{
  2882. font-size: 13px;
  2883. font-weight: 600;
  2884. margin-bottom: 5px;
  2885. display: inline-block;
  2886. }
  2887. .contentRow-minor{
  2888. font-size: 12px;
  2889. a{
  2890. font-size: 11px;
  2891. }
  2892. }
  2893. }
  2894. }
  2895. }
  2896. }
  2897. &.forum-static-content{
  2898. padding: 10px;
  2899. }
  2900. dl{
  2901. margin: 4px 0;
  2902. color: @xf-linkColor;
  2903. dt{
  2904. color: inherit;
  2905. }
  2906. dd{
  2907. color: @xf-linkColor;
  2908. }
  2909. }
  2910. }
  2911. }
  2912. }
  2913. }
  2914. }
  2915. }
  2916. .p-have--sidebar{
  2917. [data-widget-definition="new_posts"]{
  2918. .structItem{
  2919. .structItem-cell{
  2920. display: block;
  2921. &.structItem-cell--icon{
  2922. width: 29%;
  2923. float: left;
  2924. }
  2925. &.structItem-cell--latest,
  2926. &.structItem-cell--meta{
  2927. width: 50%;
  2928. float: left;
  2929. }
  2930. &.structItem-cell-only-forum-view{
  2931. display: none;
  2932. }
  2933. &.structItem-cell--latest{
  2934. .structItem-minor{
  2935. margin: 4px 0 1px;
  2936. }
  2937. }
  2938. .structItem-minor{
  2939. .structItem-parts{
  2940. li+li+li{
  2941. display: none;
  2942. }
  2943. }
  2944. }
  2945. }
  2946. }
  2947. }
  2948. [data-widget-definition="new_profile_posts"]{
  2949. article{
  2950. border-top: none !important;
  2951. margin-top: 10px;
  2952. }
  2953. .comment-avatar{
  2954. .avatar{
  2955. width: 24px !important;
  2956. height: 24px !important;
  2957. }
  2958. }
  2959. .message-cell--user{
  2960. flex: 0 0 70px;
  2961. .message-avatar{
  2962. text-align: left;
  2963. }
  2964. }
  2965. }
  2966. .block-minorHeader{
  2967. text-align: left;
  2968. }
  2969. .block-body{
  2970. padding-top: 10px;
  2971. }
  2972. }
  2973. [data-template="member_view"]{
  2974. .is-editing{
  2975. form,
  2976. .block-container{
  2977. padding-bottom: 0;
  2978. }
  2979. }
  2980. }
  2981. [data-template="forum_view"]{
  2982. .p-body-inner{
  2983. .block{
  2984. margin-bottom: 15px;
  2985. }
  2986. .block-outer{
  2987. padding-bottom: 15px;
  2988. }
  2989. }
  2990. }]]></template>
  2991. <template title="brv_breadcrumbs.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[.brv-breadcrumbs{
  2992. padding: 0;
  2993. &.brv-breadcrumbs__top{
  2994. margin-top: 15px;
  2995. }
  2996. &.brv-breadcrumbs__bottom{
  2997. margin-bottom: 15px;
  2998. }
  2999. .brv-breadcrumbs-inner{
  3000. max-width: @xf-pageWidthMax;
  3001. margin: 0 auto;
  3002. padding-left: 15px;
  3003. padding-right: 15px;
  3004. position: relative;
  3005. }
  3006. }
  3007. .p-breadcrumbs{
  3008. overflow: hidden;
  3009. background-color: @xf-BrvColor1;
  3010. position: relative;
  3011. border-radius: 2px;
  3012. padding: 3px 15px;
  3013. li{
  3014. padding: 0 13px;
  3015. position: relative;
  3016. z-index: 2;
  3017. &:before{
  3018. content: '';
  3019. position: absolute;
  3020. width: 1px;
  3021. height: 10px;
  3022. top: 50%;
  3023. right: 0;
  3024. transform: translateY(-50%) rotate(15deg);
  3025. background: @xf-textColor;
  3026. }
  3027. &:first-child{
  3028. padding-left: 0;
  3029. a{
  3030. padding-left: 0;
  3031. }
  3032. }
  3033. &:last-child{
  3034. &:before{
  3035. display: none;
  3036. }
  3037. }
  3038. a{
  3039. font-size: 12px;
  3040. padding: 8px 0;
  3041. color: @xf-textColor;
  3042. font-weight: 400 !important;
  3043. z-index: 999;
  3044. &:hover{
  3045. color: @xf-paletteColor3;
  3046. }
  3047. }
  3048. &:after{
  3049. display: none;
  3050. }
  3051. }
  3052. }
  3053. .control-sidebar{
  3054. position: absolute;
  3055. top: 50%;
  3056. cursor: pointer;
  3057. right: 25px;
  3058. transform: translateY(-50%);
  3059. color: @xf-textColor;
  3060. padding: 5px;
  3061. border-radius: 2px;
  3062. //&:before{
  3063. // content: '';
  3064. // display: inline-block;
  3065. // width: 14px;
  3066. // height: 14px;
  3067. // .sidebar-ico;
  3068. //}
  3069. &:hover{
  3070. color: @xf-paletteColor3;
  3071. }
  3072. }]]></template>
  3073. <template title="brv_extra.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[::-webkit-input-placeholder { /* Chrome */
  3074. color: #fff;
  3075. }
  3076. :-ms-input-placeholder { /* IE 10+ */
  3077. color: #fff;
  3078. }
  3079. ::-moz-placeholder { /* Firefox 19+ */
  3080. color: #fff;
  3081. opacity: 1;
  3082. }
  3083. :-moz-placeholder { /* Firefox 4 - 18 */
  3084. color: #fff;
  3085. opacity: 1;
  3086. }
  3087. ::-ms-input-placeholder{
  3088. color: #fff;
  3089. }
  3090. .hidden{
  3091. display: none !important;
  3092. }
  3093. .activeColor{
  3094. color: @xf-paletteColor3;
  3095. }
  3096. .p-navEl-splitTrigger:after{
  3097. content: '\f107';
  3098. }
  3099. .button{
  3100. border: none !important;
  3101. &:active,
  3102. &:visited,
  3103. &:focus,
  3104. &:hover{
  3105. background: #000000 !important;
  3106. color: #ffffff !important;
  3107. border-color: #000000 !important;
  3108. }
  3109. &:not(.button--icon--cancel){
  3110. .button-text{
  3111. &:before{
  3112. display: none !important;
  3113. }
  3114. }
  3115. }
  3116. }
  3117. .message-cell--main.is-editing{
  3118. .block-container{
  3119. padding-top: 0;
  3120. }
  3121. }
  3122. .block-outer{
  3123. background-color: #f3f3f3;
  3124. padding: 0 15px !important;
  3125. border-radius: 2px;
  3126. margin: 15px 0;
  3127. &.block-outer--after{
  3128. margin-bottom: 0;
  3129. }
  3130. > *{
  3131. height: 40px;
  3132. line-height: 38px;
  3133. }
  3134. .block-outer-main{
  3135. float: right;
  3136. }
  3137. .block-outer-opposite{
  3138. float: left;
  3139. }
  3140. .button{
  3141. height: 40px;
  3142. line-height: 40px;
  3143. padding-top: 0 !important;
  3144. padding-bottom: 0 !important;
  3145. color: @xf-paletteColor3 !important;
  3146. &:hover{
  3147. color: @xf-BrvColor1 !important;
  3148. }
  3149. }
  3150. a{
  3151. padding-top: 0 !important;
  3152. padding-bottom: 0 !important;
  3153. }
  3154. }
  3155. .overlay-content{
  3156. .block-header{
  3157. margin-top: 5px;
  3158. border-radius: 0 !important;
  3159. }
  3160. }
  3161. .lastThreadTitle{
  3162. font-weight: 600;
  3163. margin-right: 15px;
  3164. color: @xf-linkColor;
  3165. }
  3166. .ratingStars-star.ratingStars-star--full:before{
  3167. color: #ffcc00 !important;
  3168. }
  3169. .ratingStars-star:before{
  3170. color: rgba(136,120,130,.5) !important;
  3171. }
  3172. .pageNavSimple-el.pageNavSimple-el--current{
  3173. color: @xf-BrvColor1;
  3174. }
  3175. .inlineModButton-count{
  3176. color: inherit;
  3177. }
  3178. .inlineModBar.is-active:first-of-type{
  3179. background: #191212;
  3180. color: @xf-linkColor;
  3181. }
  3182. .js-likeList.is-active,
  3183. .likesBar.is-active{
  3184. border: 1px solid @xf-borderColor;
  3185. background: @xf-BrvColor1;
  3186. a{
  3187. color: #4f3043;
  3188. }
  3189. .likeIcon{
  3190. &:before{
  3191. color: #4f3043;
  3192. }
  3193. }
  3194. }
  3195. a{
  3196. &:hover{
  3197. text-decoration: none !important;
  3198. }
  3199. }
  3200. .messageNotice{
  3201. background: @xf-paletteAccent1 !important;
  3202. color: @xf-linkColor !important;
  3203. }
  3204. .actionBar-action{
  3205. color: @xf-linkColor;
  3206. &:hover{
  3207. color: @xf-paletteColor3;
  3208. }
  3209. }
  3210. .search--sm{
  3211. padding: 0 20px;
  3212. margin-left: 0 !important;
  3213. background-color: @xf-BrvColor3;
  3214. position: static !important;
  3215. .search-area{
  3216. padding: 0;
  3217. width: 100% !important;
  3218. }
  3219. }
  3220. span.actionBar-action,
  3221. label.actionBar-action.iconic--checkbox{
  3222. padding-left: 0;
  3223. }
  3224. .actionBar-set--internal{
  3225. .actionBar-action{
  3226. color: @xf-paletteColor3;
  3227. }
  3228. }
  3229. .actionBar-action{
  3230. padding: 3px 3px 3px 20px;
  3231. position: relative;
  3232. top: -5px;
  3233. display: inline-block;
  3234. color: @xf-textColor;
  3235. &.actionBar-action--menuTrigger{
  3236. display: none;
  3237. }
  3238. &:before{
  3239. content: '';
  3240. font-family: "FontAwesome";
  3241. font-size: 14px;
  3242. position: absolute;
  3243. left: 0;
  3244. top: 50%;
  3245. transform: translateY(-50%);
  3246. }
  3247. &.actionBar-action--inlineMod{
  3248. i{
  3249. &:before{
  3250. color: @xf-textColor;
  3251. }
  3252. }
  3253. }
  3254. &.actionBar-action--approve,
  3255. &.actionBar-action--unapprove{
  3256. &:before{
  3257. content: '\f087';
  3258. }
  3259. }
  3260. &.actionBar-action--reply{
  3261. &:before{
  3262. content: '\f0e5';
  3263. }
  3264. }
  3265. &.actionBar-action--report{
  3266. &:before{
  3267. content: '\f016';
  3268. }
  3269. }
  3270. &.actionBar-action--edit{
  3271. &:before{
  3272. content: '\f040';
  3273. }
  3274. }
  3275. &.actionBar-action--undelete,
  3276. &.actionBar-action--delete{
  3277. &:before{
  3278. content: '\f014';
  3279. }
  3280. }
  3281. &.actionBar-action--spam{
  3282. &:before{
  3283. content: '\f0e9';
  3284. }
  3285. }
  3286. &.actionBar-action--ip{
  3287. &:before{
  3288. content: '\f08d';
  3289. }
  3290. }
  3291. &.actionBar-action--history{
  3292. &:before{
  3293. content: '\f017';
  3294. }
  3295. }
  3296. &.actionBar-action--warn{
  3297. &:before{
  3298. content: '\f071';
  3299. }
  3300. }
  3301. }
  3302. .block-outer{
  3303. .button{
  3304. background: transparent !important;
  3305. border: none !important;
  3306. color: @xf-linkColor;
  3307. &:hover{
  3308. color: @xf-paletteColor3 !important;
  3309. }
  3310. }
  3311. }
  3312. .block-container{
  3313. background: @xf-BrvColor1;
  3314. }
  3315. .subNodeLink.subNodeLink--unread{
  3316. font-weight: 700 !important;
  3317. &:before{
  3318. color: @xf-paletteColor3 !important;
  3319. }
  3320. }
  3321. [data-template="thread_view"] .block-outer.block-outer--after {
  3322. border-top: 1px solid @xf-borderColor;
  3323. border-bottom: 1px solid @xf-borderColor;
  3324. padding: 10px 0;
  3325. }
  3326. .actionBar-action.actionBar-action--like{
  3327. &:before{
  3328. content: '\f08a';
  3329. font-weight: bold;
  3330. }
  3331. }
  3332. .tooltip-content{
  3333. .actionBar-action{
  3334. top: 0;
  3335. }
  3336. }
  3337. .actionBar-action.actionBar-action--mq.is-selected{
  3338. background: transparent;
  3339. border: none;
  3340. color: @xf-paletteColor3;
  3341. text-shadow: 0 0 15px;
  3342. }
  3343. .fr-toolbar{
  3344. background: @xf-BrvColor1;
  3345. padding: 2px 0;
  3346. &.fr-top{
  3347. border: 1px solid @xf-BrvColor1;
  3348. border-bottom-color: @xf-borderColor;
  3349. }
  3350. .fr-separator{
  3351. background: transparent;
  3352. }
  3353. .fr-command.fr-btn{
  3354. color: @xf-linkColor;
  3355. &:hover{
  3356. color: @xf-paletteColor3;
  3357. }
  3358. }
  3359. }
  3360. .fr-wrapper{
  3361. background-color: @xf-BrvColor1 !important;
  3362. border: none !important;
  3363. }
  3364. .overlay-title{
  3365. padding-top: 13px;
  3366. padding-bottom: 13px;
  3367. }
  3368. .dataList-cell.dataList-cell--action.dataList-cell--alt,
  3369. .dataList-cell.dataList-cell--link.dataList-cell--alt,
  3370. .dataList-cell.dataList-cell--action.dataList-cell--action,
  3371. .dataList-cell.dataList-cell--link.dataList-cell--action{
  3372. &:hover{
  3373. background: transparent;
  3374. a{
  3375. color: @xf-paletteColor3;
  3376. }
  3377. }
  3378. }
  3379. .dataList-row:hover:not(.dataList-row--noHover):not(.dataList-row--header),
  3380. .dataList-cell.dataList-cell--alt, .dataList-cell.dataList-cell--action{
  3381. background: transparent;
  3382. }
  3383. .memberOverviewBlock-seeMore {
  3384. padding: 7px;
  3385. }
  3386. .menu{
  3387. margin-top: 3px !important;
  3388. }
  3389. .menu-content{
  3390. border: none;
  3391. }
  3392. .block-tabHeader{
  3393. .tabs-tab{
  3394. padding: 10px;
  3395. }
  3396. }
  3397. body[data-template="member_view"]{
  3398. .block--messages .message .message-inner .message-cell--user .message-user{
  3399. border: none;
  3400. }
  3401. }
  3402. .message-userArrow{
  3403. display: none;
  3404. }
  3405. .memberHeader-name{
  3406. color: @xf-paletteColor3;
  3407. }
  3408. .menu-linkRow.is-selected, .menu-linkRow:hover, .menu-linkRow:focus{
  3409. background: transparent;
  3410. }
  3411. .p-navgroup-link.badgeContainer::after{
  3412. right: 5px;
  3413. top: 5px;
  3414. }
  3415. .attachUploadList{
  3416. background: transparent !important;
  3417. }
  3418. .message.is-mod-selected, .block--messages .message.is-mod-selected{
  3419. background: #e5e5dd;
  3420. }
  3421.  
  3422. .blockLink:hover{
  3423. background: transparent;
  3424. color: @xf-paletteColor3;
  3425. }
  3426. .badge, .badgeContainer:after{
  3427. background: #df4242;
  3428. }
  3429. .meu--alertconver{
  3430. .avatar{
  3431. width: 38px;
  3432. height: 38px;
  3433. font-size: 18px;
  3434. span{
  3435. line-height: 38px;
  3436. }
  3437. }
  3438. time{
  3439. float: right;
  3440. }
  3441. .menu-footer{
  3442. border-top: 1px solid @xf-borderColor;
  3443. }
  3444. }
  3445. .tooltip--preview .tooltip-content,
  3446. .tooltip--member .tooltip-content,
  3447. .inlineModBar.is-active:first-of-type{
  3448. background-color: @xf-BrvColor1;
  3449. }
  3450. .badge.badge--highlighted, .badgeContainer.badgeContainer--highlighted::after{
  3451. background: @xf-paletteColor3 !important;
  3452. border-radius: 2px;
  3453. height: 15px;
  3454. min-width: 11px;
  3455. padding: 0 2px;
  3456. line-height: 15px;
  3457. text-align: center;
  3458. }
  3459. .new_tags_brv {
  3460. padding: 10px 15px;
  3461. margin-bottom: 10px;
  3462. display: none;
  3463. font-size: 13px;
  3464. background-color: @xf-BrvColor1;
  3465. border-radius: 2px;
  3466. color: @xf-paletteColor3;
  3467. .tagItem{
  3468. border: none;
  3469. color: @xf-paletteColor3;
  3470. &:hover{
  3471. color: @xf-BrvColor1;
  3472. }
  3473. }
  3474. }
  3475. body[data-template="thread_view"] .new_tags_brv {
  3476. display: block;
  3477. }
  3478. .formSubmitRow.formSubmitRow--sticky.is-sticky .formSubmitRow-bar{
  3479. background: #fff;
  3480. }
  3481. body[data-template="xfrm_resource_updates"]{
  3482. .message-attribution-opposite{
  3483. a{
  3484. line-height: 45px;
  3485. }
  3486. }
  3487. }
  3488. html[data-logged-in="false"]{
  3489. .title-thread{
  3490. margin-top: 20px;
  3491. }
  3492. }
  3493. .contentRow-main.contentRow-main--close{
  3494. padding-left: 10px;
  3495. }
  3496. .block-tabHeader .hScroller-action.hScroller-action--end{
  3497. background: #000000;
  3498. background: linear-gradient(to right, rgba(37, 119, 177, 0) 0%, #000000 33%);
  3499. }
  3500. .block-tabHeader .hScroller-action.hScroller-action--start{
  3501. background: #000000;
  3502. background: linear-gradient(to right, #000000 66%, rgba(37, 119, 177, 0) 100%);
  3503. }
  3504. .p-sectionLinks .hScroller-action:hover{
  3505. color: @xf-paletteColor3;
  3506. }
  3507. .overlay-titleCloser{
  3508. color: #ffffff;
  3509. opacity: 1;
  3510. }
  3511. //block-header
  3512. .block-minorHeader,
  3513. .block-header{
  3514. position: relative;
  3515. }
  3516. .block-control{
  3517. position: absolute;
  3518. right: 10px;
  3519. top: 50%;
  3520. transform: translateY(-50%);
  3521. font-size: 10px;
  3522. cursor: pointer;
  3523. width: 15px;
  3524. height: 15px;
  3525. text-align: center;
  3526. line-height: 11px;
  3527. border: 2px solid;
  3528. border-radius: 50%;
  3529. color: @xf-textColor;
  3530. }
  3531. //block--category
  3532.  
  3533. .block--category{
  3534. .block-header{
  3535. position: relative;
  3536. &.hover--tooltip{
  3537. &:hover{
  3538. .show-tooltip{
  3539. opacity: 1;
  3540. visibility: visible;
  3541. }
  3542. }
  3543. }
  3544. .show-tooltip{
  3545. position: absolute;
  3546. top: 50%;
  3547. transform: translateY(-50%);
  3548. background: @xf-tooltip--background-color;
  3549. color: #fff;
  3550. padding: 3px 17px;
  3551. line-height: 18px;
  3552. border-radius: 3px;
  3553. opacity: 0;
  3554. transition: all 500ms;
  3555. visibility: hidden;
  3556. &:before{
  3557. content: '';
  3558. position: absolute;
  3559. left: -12px;
  3560. top: 50%;
  3561. transform: translateY(-50%);
  3562. border: 6px solid transparent;
  3563. border-right-color: @xf-tooltip--background-color;
  3564. }
  3565. }
  3566. }
  3567. }
  3568.  
  3569. //profile-posts
  3570. #profile-posts{
  3571. .block--messages{
  3572. .block-body{
  3573. article.message{
  3574. .message-inner{
  3575. .message-cell--main{
  3576. padding: 0 0 0 15px;
  3577. }
  3578. }
  3579. }
  3580. }
  3581. }
  3582. }
  3583.  
  3584. //.blockLink.is-selected
  3585. .blockLink.is-selected{
  3586. padding-left: 10px;
  3587. background: transparent;
  3588. color: @xf-paletteColor3;
  3589. &:hover{
  3590. background: transparent;
  3591. }
  3592. }
  3593.  
  3594.  
  3595.  
  3596. //menu--structural
  3597. .menu--structural{
  3598. &.menu--account{
  3599. .menu-content{
  3600. border-radius: 0;
  3601. border-top: none;
  3602. .menu-row--highlighted{
  3603. background: @xf-BrvColor3;
  3604. padding: 15px;
  3605. .contentRow-figure{
  3606. position: relative;
  3607. .avatar{
  3608. width: 72px;
  3609. height: 72px;
  3610. font-size: 36px;
  3611. span{
  3612. line-height: 72px;
  3613. }
  3614. }
  3615. }
  3616. .contentRow-header{
  3617. a{
  3618. padding: 8px 0;
  3619. font-size: 16px;
  3620. font-weight: 600;
  3621. color: @xf-paletteColor3;
  3622. &:hover{
  3623. background-color: transparent !important;
  3624. color: @xf-BrvColor1 !important;
  3625. }
  3626. }
  3627. }
  3628. }
  3629. ul{
  3630. padding-top: 10px;
  3631. padding-bottom: 5px;
  3632. }
  3633. a{
  3634. border-left: none;
  3635. padding: 7px 15px;
  3636. font-size: 12px;
  3637. color: @xf-linkColor;
  3638. &:hover{
  3639. background: transparent !important;
  3640. color: @xf-paletteColor3 !important;
  3641. }
  3642. }
  3643. form{
  3644. background: transparent !important;
  3645. padding: 15px;
  3646. }
  3647. }
  3648. }
  3649. &.menu--potentialFixed{
  3650. .menu-content{
  3651. border-radius: 0;
  3652. border-top: none;
  3653. a{
  3654. border-left: none;
  3655. &:hover{
  3656. background: transparent;
  3657. color: @xf-paletteColor3;
  3658. }
  3659. }
  3660. }
  3661. }
  3662. }
  3663.  
  3664. //pagination page
  3665. .pageNav{
  3666. .text-page{
  3667. font-size: 13px;
  3668. color: @xf-textColor;
  3669. }
  3670. .pageNavSimple-el{
  3671. border: none;
  3672. border-radius: 0;
  3673. background: transparent;
  3674. color: @xf-textColor;
  3675. &:hover{
  3676. background: transparent;
  3677. }
  3678. }
  3679. .pageNav-main{
  3680. .pageNav-page{
  3681. border: none;
  3682. border-radius: 0;
  3683. padding-right: 10px;
  3684. background-color: transparent;
  3685. background: transparent;
  3686. &.pageNav-page--current{
  3687. a{
  3688. background-color: @xf-textColor;
  3689. color: @xf-BrvColor1;
  3690. }
  3691. }
  3692. a{
  3693. padding: 0 2px;
  3694. min-width: 24px;
  3695. height: 24px;
  3696. text-align: center;
  3697. line-height: 22px;
  3698. background-color: transparent;
  3699. border-radius: 50%;
  3700. color: @xf-textColor;
  3701. &:hover{
  3702. background-color: @xf-textColor;
  3703. color: @xf-BrvColor1;
  3704. }
  3705. }
  3706. }
  3707. }
  3708. .pageNav-jump{
  3709. padding: 3px 8px;
  3710. border: none;
  3711. border-radius: 0;
  3712. background: transparent;
  3713. color: @xf-textColor;
  3714. &:after,&:before{
  3715. display: none;
  3716. }
  3717. &:hover{
  3718. text-decoration: underline;
  3719. color: @xf-paletteColor3;
  3720. }
  3721. }
  3722. }
  3723.  
  3724. //media
  3725.  
  3726. .media{
  3727. .media-container{
  3728. .media-container-image{
  3729. margin-top: 10px;
  3730. }
  3731. }
  3732. }
  3733. .block{
  3734. &.js-mediaInfoBlock{
  3735. .block-outer-middle{
  3736. margin-bottom: 10px;
  3737. }
  3738. .block-container{
  3739. margin-bottom: 15px;
  3740. .block-body{
  3741. padding: 15px 10px;
  3742. .xfmgInfoBlock-title{
  3743. .contentRow-main{
  3744. .contentRow-title{
  3745. font-size: 14px;
  3746. font-weight: 600;
  3747. }
  3748. }
  3749. }
  3750. .actionBar{
  3751. .actionBar-set{
  3752. .actionBar-action{
  3753. padding: 3px 3px 3px 20px;
  3754. position: relative;
  3755. top: -5px;
  3756. &.actionBar-action--menuTrigger{
  3757. display: none;
  3758. }
  3759. &:before{
  3760. content: '';
  3761. font-family: "FontAwesome";
  3762. font-size: 14px;
  3763. position: absolute;
  3764. left: 0;
  3765. top: 50%;
  3766. transform: translateY(-50%);
  3767. }
  3768. &.actionBar-action--report{
  3769. &:before{
  3770. content: '\f016';
  3771. }
  3772. }
  3773. &.actionBar-action--edit{
  3774. &:before{
  3775. content: '\f040';
  3776. }
  3777. }
  3778. &.actionBar-action--delete{
  3779. &:before{
  3780. content: '\f014';
  3781. }
  3782. }
  3783. &.actionBar-action--spam{
  3784. &:before{
  3785. content: '\f0e9';
  3786. }
  3787. }
  3788. &.actionBar-action--ip{
  3789. &:before{
  3790. content: '\f08d';
  3791. }
  3792. }
  3793. &.actionBar-action--history{
  3794. &:before{
  3795. content: '\f017';
  3796. }
  3797. }
  3798. &.actionBar-action--warn{
  3799. &:before{
  3800. content: '\f071';
  3801. }
  3802. }
  3803. }
  3804. }
  3805. }
  3806. }
  3807. }
  3808. }
  3809. }
  3810. .columnContainer{
  3811. .columnContainer-comments{
  3812. form{
  3813. &.js-quickReply{
  3814. .block-container{
  3815. .message--quickReply{
  3816. .message-inner{
  3817. .message-cell{
  3818. &.message-cell--user{
  3819. .message-user{
  3820. .message-avatar{
  3821. .message-avatar-wrapper{
  3822. .avatar{
  3823. width: 48px;
  3824. height: 48px;
  3825. span{
  3826. line-height: 48px;
  3827. }
  3828. }
  3829. }
  3830. }
  3831. }
  3832. }
  3833. }
  3834. }
  3835. }
  3836. }
  3837. }
  3838. }
  3839. }
  3840. }]]></template>
  3841. <template title="brv_footer.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[#footer{
  3842. padding-top: 10px;
  3843. .p-footer-inner{
  3844. padding-right: 15px;
  3845. padding-left: 15px;
  3846. a{
  3847. &:hover{
  3848. color: @xf-paletteColor3;
  3849. }
  3850. }
  3851. .footer-custom{
  3852. .row{
  3853. display: inline-block;
  3854. width: 100%;
  3855. .footer-column{
  3856. .footer-title{
  3857. h3{
  3858. font-size: 14px;
  3859. font-weight: 400;
  3860. text-transform: uppercase;
  3861. margin: 15px 0 25px;
  3862. color: @xf-BrvColor1;
  3863. }
  3864. }
  3865. &.footer-column-1{
  3866. //width: 48%;
  3867. display: inline-block;
  3868. float: left;
  3869. .content-inner{
  3870. p{
  3871. font-size: 13px;
  3872. line-height: 18px;
  3873. font-weight: 300;
  3874. max-width: 360px;
  3875. }
  3876. }
  3877. .footer-social{
  3878. margin-top: 25px;
  3879. a{
  3880. position: relative;
  3881. z-index: 1;
  3882. display: inline-block;
  3883. width: 32px;
  3884. height: 32px;
  3885. margin-right: 7px;
  3886. margin-top: 7px;
  3887. span{
  3888. color: @xf-BrvColor1;
  3889. width: 32px;
  3890. height: 32px;
  3891. line-height: 32px;
  3892. background: @xf-paletteColor3;
  3893. border-radius: 3px;
  3894. display: inline-block;
  3895. text-align: center;
  3896. font-size: 16px;
  3897. }
  3898. &:hover{
  3899. color: #fff;
  3900. &:before,
  3901. span{
  3902. background: @xf-paletteColor3 !important;
  3903. color: @xf-BrvColor1 !important;
  3904. }
  3905. }
  3906. &.facebook{
  3907. span{
  3908. background-color: #3b5998;
  3909. }
  3910. }
  3911. &.twitter{
  3912. span{
  3913. background-color: #00acee;
  3914. }
  3915. }
  3916. &.google{
  3917. span{
  3918. background-color: #b63324;
  3919. }
  3920. }
  3921. &.linkedin{
  3922. span{
  3923. background-color: #f7b2a1;
  3924. }
  3925. }
  3926. &.youtube{
  3927. span{
  3928. background-color: #ec3e13;
  3929. }
  3930. }
  3931. &.dribbble{
  3932. span{
  3933. background-color: #0e4b71;
  3934. }
  3935. }
  3936. &.flickr{
  3937. span{
  3938. background-color: #8d8d8d;
  3939. }
  3940. }
  3941. &.pinterest{
  3942. span{
  3943. background-color: #cb2027;
  3944. }
  3945. }
  3946. &.vimeo{
  3947. span{
  3948. background-color: #a52c0d;
  3949. }
  3950. }
  3951. &.rss{
  3952. span{
  3953. background-color: #ffc600;
  3954. }
  3955. }
  3956. &.deviantart{
  3957. span{
  3958. background-color: #1aae88;
  3959. }
  3960. }
  3961. &.email{
  3962. span{
  3963. background-color: #f89a1e;
  3964. }
  3965. }
  3966. }
  3967. }
  3968. }
  3969. &.footer-column-2,&.footer-column-3{
  3970. //width: 15%;
  3971. display: inline-block;
  3972. float: left;
  3973. .content-inner{
  3974. ul{
  3975. list-style: none;
  3976. padding: 0;
  3977. li{
  3978. margin-bottom: 12px;
  3979. a{
  3980. font-size: 13px;
  3981. font-weight: 300;
  3982. padding-left: 0;
  3983. transition: all 300ms;
  3984. &:hover{
  3985. text-decoration: none;
  3986. padding-left: 5px;
  3987. }
  3988. }
  3989. }
  3990. }
  3991. }
  3992. }
  3993. &.footer-column-4{
  3994. //width: 22%;
  3995. display: inline-block;
  3996. float: left;
  3997. .contact-info{
  3998. .item{
  3999. font-size: 13px;
  4000. font-weight: 300;
  4001. margin-bottom: 12px;
  4002. padding-left: 25px;
  4003. position: relative;
  4004. &:before{
  4005. content: '';
  4006. font-family: "FontAwesome";
  4007. position: absolute;
  4008. left: 0;
  4009. top: 50%;
  4010. font-size: 15px;
  4011. transform: translateY(-50%);
  4012. }
  4013. &.address{
  4014. &:before{
  4015. content: '\f015';
  4016. }
  4017. }
  4018. &.phone{
  4019. &:before{
  4020. content: '\f095';
  4021. }
  4022. }
  4023. &.email{
  4024. &:before{
  4025. content: '\f003';
  4026. }
  4027. }
  4028. &.public{
  4029. &:before{
  4030. content: '\f0ac';
  4031. }
  4032. }
  4033. }
  4034. }
  4035. }
  4036. }
  4037. }
  4038. }
  4039. }
  4040. .footer-bottom{
  4041. padding: 3px 0;
  4042. background-color: @xf-FooterBottom;
  4043. .p-footer-inner{
  4044. padding: 10px 15px;
  4045. display: flex;
  4046. align-items: center;
  4047. flex-flow: row wrap;
  4048. .p-footer-copyright{
  4049. margin: 0;
  4050. font-size: 12px;
  4051. text-align: left;
  4052. .BRCopyright{
  4053. .content-brcpright{
  4054. a{
  4055. &:hover{
  4056. color: #fff !important;
  4057. }
  4058. }
  4059. span{
  4060. font-size: 11px;
  4061. }
  4062. }
  4063. }
  4064. }
  4065. .p-footer-row-opposite{
  4066. margin: 0;
  4067. float: none;
  4068. text-align: right;
  4069. .p-footer-linkList{
  4070. li{
  4071. float: none;
  4072. display: inline-block;
  4073. a{
  4074. font-size: 12px;
  4075. padding: 2px !important;
  4076. &:hover{
  4077. background: transparent !important;
  4078. }
  4079. }
  4080. }
  4081. }
  4082. }
  4083. }
  4084. }
  4085. }
  4086.  
  4087.  
  4088. @media (min-width: @xf-responsiveMedium) {
  4089. #footer .footer-bottom {
  4090. .p-footer-inner{
  4091. .p-footer-copyright{
  4092. width: 50%;
  4093. }
  4094. .p-footer-row-opposite{
  4095. width: 50%;
  4096.  
  4097. }
  4098. }
  4099. }
  4100. }
  4101. @media (max-width: @xf-responsiveMedium) {
  4102. #footer .footer-bottom {
  4103. .p-footer-inner{
  4104. .p-footer-copyright{
  4105. width: 100%;
  4106. }
  4107. .p-footer-row-opposite{
  4108. width: 100%;
  4109.  
  4110. }
  4111. }
  4112. }
  4113. }]]></template>
  4114. <template title="brv_header.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[#header{
  4115. .p-header-inner{
  4116. padding: 0 15px;
  4117. .p-header-content{
  4118. padding: 75px 0;
  4119. .p-header-logo{
  4120. display: inline-block;
  4121. z-index: 9;
  4122. margin: 0 auto;
  4123. }
  4124. }
  4125. }
  4126. }
  4127.  
  4128. @media (max-width: @xf-responsiveMedium) {
  4129. #header .p-header-inner .p-header-content{
  4130. padding: 20px 0;
  4131. }
  4132. }]]></template>
  4133. <template title="brv_message.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[[data-template="conversation_view"],
  4134. [data-template="thread_view"]{
  4135. .brv-breadcrumbs__top{
  4136. margin-bottom: 20px;
  4137. }
  4138. .brv-breadcrumbs__bottom{
  4139. margin-top: 20px;
  4140. }
  4141. .p-body-inner{
  4142. padding-top: 0;
  4143. padding-bottom: 0;
  4144. }
  4145. .p-body-header{
  4146. margin: 0 !important;
  4147. }
  4148. .block-outer{
  4149. margin: 0 10px !important;
  4150. border-radius: 0 !important;
  4151. }
  4152. .new_tags_brv{
  4153. margin-bottom: 0;
  4154. border-radius: 0;
  4155. }
  4156. .block--messages{
  4157. background-color: @xf-BrvColor1;
  4158. .block-container{
  4159. .block-body{
  4160. padding-left: 10px;
  4161. padding-right: 10px;
  4162. }
  4163. }
  4164. .message{
  4165. background-color: #f3f3f3;
  4166. padding-right: 0;
  4167. .message-inner{
  4168. padding-left: 10px;
  4169. .message-cell--user{
  4170. .message-user{
  4171. background-color: @xf-BrvColor1;
  4172. .message-avatar{
  4173. .message-avatar-wrapper{
  4174. position: relative;
  4175. border-radius: 3px;
  4176. .avatar{
  4177. border-radius: inherit;
  4178. }
  4179. }
  4180. }
  4181. }
  4182. }
  4183. }
  4184. }
  4185. }
  4186. .js-quickReply{
  4187. margin-top: -20px;
  4188. background-color: @xf-BrvColor1;
  4189. .block-container{
  4190. .block-body{
  4191. padding-left: 10px;
  4192. padding-right: 10px;
  4193. .message{
  4194. background-color: #f3f3f3;
  4195. .message-inner{
  4196. padding-top: 10px;
  4197. }
  4198. }
  4199. }
  4200. }
  4201. }
  4202. }
  4203. .block--messages{
  4204. .message{
  4205. padding-bottom: 20px;
  4206. padding-top: 20px;
  4207. padding-right: 10px;
  4208. border-radius: 0 !important;
  4209. color: @xf-linkColor;
  4210. &:first-child{
  4211. border-top: 1px solid @xf-borderColor;
  4212. padding-top: 20px;
  4213. .message-inner{
  4214. .message-userDetails{
  4215. .userBanner{
  4216. &.userBanner--staff{
  4217. background-color: @xf-textColor !important;
  4218. color: #fff;
  4219. &:before{
  4220. border-right-color: @xf-textColor !important;
  4221. border-bottom-color: @xf-textColor !important;
  4222. }
  4223. &:after{
  4224. border-bottom-color: @xf-textColor !important;
  4225. border-left-color: @xf-textColor !important;
  4226. }
  4227. }
  4228. }
  4229. }
  4230. }
  4231. }
  4232. .message-inner{
  4233. .message-cell--user{
  4234. border: none;
  4235. border-radius: 0;
  4236. padding: 0;
  4237. .message-user{
  4238. padding: 10px;
  4239. border-radius: 2px;
  4240. text-align: center;
  4241. }
  4242. .message-userDetails{
  4243. text-align: center;
  4244. margin: 10px 0;
  4245. .message-name{
  4246. font-size: 14px;
  4247. font-weight: 600;
  4248. margin-bottom: 10px;
  4249. a{
  4250. color: @xf-paletteColor3;
  4251. text-transform: capitalize;
  4252. }
  4253. }
  4254. .userTitle{
  4255. text-align: center;
  4256. margin-top: -5px;
  4257. margin-bottom: 8px;
  4258. color: @xf-textColor;
  4259. }
  4260. .userBanner{
  4261. padding: 7px;
  4262. margin: 0 -11px;
  4263. border-radius: 0;
  4264. border: none;
  4265. position: relative;
  4266. &+.userBanner{
  4267. margin-top: 10px;
  4268. }
  4269. //&:before{
  4270. // content: '';
  4271. // position: absolute;
  4272. // top: -4px;
  4273. // left: 0;
  4274. // border-top: 2px solid transparent;
  4275. // border-right: 2px solid @xf-paletteColor1;
  4276. // border-bottom: 2px solid @xf-paletteColor1;
  4277. // border-left: 2px solid transparent;
  4278. //}
  4279. //&:after{
  4280. // content: '';
  4281. // position: absolute;
  4282. // top: -4px;
  4283. // right: 0;
  4284. // border-top: 2px solid transparent;
  4285. // border-right: 2px solid transparent;
  4286. // border-bottom: 2px solid @xf-paletteColor1;
  4287. // border-left: 2px solid @xf-paletteColor1;
  4288. //}
  4289. //&.userBanner--royalBlue{
  4290. // &:before{
  4291. // border-right: 2px solid #4169e1;
  4292. // border-bottom: 2px solid #4169e1;
  4293. // }
  4294. // &:after{
  4295. // border-bottom: 2px solid #4169e1;
  4296. // border-left: 2px solid #4169e1;
  4297. // }
  4298. //}
  4299. //&.userBanner--red{
  4300. // &:before{
  4301. // border-right: 2px solid #d80000;
  4302. // border-bottom: 2px solid #d80000;
  4303. // }
  4304. // &:after{
  4305. // border-bottom: 2px solid #d80000;
  4306. // border-left: 2px solid #d80000;
  4307. // }
  4308. //}
  4309. //&.userBanner--green{
  4310. // &:before{
  4311. // border-right: 2px solid green;
  4312. // border-bottom: 2px solid green;
  4313. // }
  4314. // &:after{
  4315. // border-bottom: 2px solid green;
  4316. // border-left: 2px solid green;
  4317. // }
  4318. //}
  4319. //&.userBanner--olive{
  4320. // &:before{
  4321. // border-right: 2px solid olive;
  4322. // border-bottom: 2px solid olive;
  4323. // }
  4324. // &:after{
  4325. // border-bottom: 2px solid olive;
  4326. // border-left: 2px solid olive;
  4327. // }
  4328. //}
  4329. //&.userBanner--lightGreen{
  4330. // &:before{
  4331. // border-right: 2px solid #bee8ba;
  4332. // border-bottom: 2px solid #bee8ba;
  4333. // }
  4334. // &:after{
  4335. // border-bottom: 2px solid #bee8ba;
  4336. // border-left: 2px solid #bee8ba;
  4337. // }
  4338. //}
  4339. //&.userBanner--blue{
  4340. // &:before{
  4341. // border-right: 2px solid #0008e3;
  4342. // border-bottom: 2px solid #0008e3;
  4343. // }
  4344. // &:after{
  4345. // border-bottom: 2px solid #0008e3;
  4346. // border-left: 2px solid #0008e3;
  4347. // }
  4348. //}
  4349. //&.userBanner--skyBlue{
  4350. // &:before{
  4351. // border-right: 2px solid #7cc3e0;
  4352. // border-bottom: 2px solid #7cc3e0;
  4353. // }
  4354. // &:after{
  4355. // border-bottom: 2px solid #7cc3e0;
  4356. // border-left: 2px solid #7cc3e0;
  4357. // }
  4358. //}
  4359. //&.userBanner--gray{
  4360. // &:before{
  4361. // border-right: 2px solid gray;
  4362. // border-bottom: 2px solid gray;
  4363. // }
  4364. // &:after{
  4365. // border-bottom: 2px solid gray;
  4366. // border-left: 2px solid gray;
  4367. // }
  4368. //}
  4369. //&.userBanner--silver{
  4370. // &:before{
  4371. // border-right: 2px solid silver;
  4372. // border-bottom: 2px solid silver;
  4373. // }
  4374. // &:after{
  4375. // border-bottom: 2px solid silver;
  4376. // border-left: 2px solid silver;
  4377. // }
  4378. //}
  4379. //&.userBanner--yellow{
  4380. // &:before{
  4381. // border-right: 2px solid #e6e687;
  4382. // border-bottom: 2px solid #e6e687;
  4383. // }
  4384. // &:after{
  4385. // border-bottom: 2px solid #e6e687;
  4386. // border-left: 2px solid #e6e687;
  4387. // }
  4388. //}
  4389. //&.userBanner--orange{
  4390. // &:before{
  4391. // border-right: 2px solid #ffcb00;
  4392. // border-bottom: 2px solid #ffcb00;
  4393. // }
  4394. // &:after{
  4395. // border-bottom: 2px solid #ffcb00;
  4396. // border-left: 2px solid #ffcb00;
  4397. // }
  4398. //}
  4399. &.userBanner--staff{
  4400. background-color: #5b4352;
  4401. color: #fff;
  4402. &:before{
  4403. border-right-color: @xf-paletteColor3;
  4404. border-bottom-color: @xf-paletteColor3;
  4405. }
  4406. &:after{
  4407. border-bottom-color: @xf-paletteColor3;
  4408. border-left-color: @xf-paletteColor3;
  4409. }
  4410. }
  4411. }
  4412. }
  4413. .message-userExtras{
  4414. font-size: 11px;
  4415. dl{
  4416. margin: 2px 0;
  4417. dd{
  4418. font-size: 10px;
  4419. }
  4420. }
  4421. }
  4422. .message-userArrow{
  4423. display: none;
  4424. }
  4425. }
  4426. .message-cell--main{
  4427. .message-main{
  4428. .message-content{
  4429. .message-body{
  4430. .bbCodeBlock{
  4431. .bbCodeBlock-content{
  4432. .bbCodeBlock-expandLink{
  4433. /*top: 95px;*/
  4434. a{
  4435. color: #bababb;
  4436. }
  4437. }
  4438. }
  4439. &.bbCodeBlock--code{
  4440. .bbCodeBlock-content{
  4441. padding: 15px 10px;
  4442. }
  4443. }
  4444. &.bbCodeBlock--quote{
  4445. .bbCodeBlock-title{
  4446. .bbCodeBlock-sourceJump{
  4447. &:after{
  4448. display: none;
  4449. }
  4450. }
  4451. }
  4452. }
  4453. }
  4454. }
  4455. .message-attachments{
  4456. border-radius: 3px;
  4457. background: @xf-BrvColor1;
  4458. .block-textHeader{
  4459. padding: 10px;
  4460. background: @xf-BrvColor1;
  4461. font-size: 14px;
  4462. color: @xf-linkColor;
  4463. font-weight: 400;
  4464. border-bottom: 1px solid @xf-borderColor;
  4465. text-transform: uppercase;
  4466. }
  4467. .attachmentList{
  4468. padding: 15px 10px;
  4469. .attachment{
  4470. position: relative;
  4471. width: 290px;
  4472. height: 90px;
  4473. padding-right: 15px;
  4474. padding-left: 75px;
  4475. border: none;
  4476. border-radius: 3px;
  4477. background-color: #f3f3f3;
  4478. .attachment-icon{
  4479. position: absolute;
  4480. left: 15px;
  4481. top: 50%;
  4482. width: 44px;
  4483. height: 44px;
  4484. background-color: #a0dcf4;
  4485. transform: translateY(-50%);
  4486. border-radius: 3px;
  4487. &.attachment-icon--img{
  4488. background-color: transparent;
  4489. a{
  4490. img{
  4491. border-radius: 3px;
  4492. }
  4493. }
  4494. }
  4495. a{
  4496. i{
  4497. &:before{
  4498. content: '';
  4499. .cloud--image;
  4500. width: 45px;
  4501. height: 40px;
  4502. background-repeat: no-repeat;
  4503. background-position: center;
  4504. }
  4505. }
  4506. }
  4507. }
  4508. .attachment-name{
  4509. margin: 5px 0 3px;
  4510. color: @xf-linkColor;
  4511. a{
  4512. color: @xf-linkColor;
  4513. font-size: 12px;
  4514. font-weight: 600;
  4515. }
  4516. }
  4517. .attachment-details{
  4518. color: @xf-linkColor;
  4519. font-weight: 600;
  4520. dl{
  4521. margin: 3px 0;
  4522. width: 100%;
  4523. dt{
  4524. color: @xf-linkColor;
  4525. }
  4526. }
  4527. }
  4528. }
  4529. }
  4530. }
  4531. }
  4532. }
  4533. }
  4534. .message-footer{
  4535. .message-actionBar{
  4536. margin-bottom: 0px;
  4537. .actionBar-set--external{
  4538. .message-attribution-opposite{
  4539. margin-left: 14px;
  4540. a{
  4541. color: @xf-linkColor !important;
  4542. }
  4543. }
  4544. }
  4545. .actionBar-set--internal{
  4546. .message-attribution-main{
  4547. color: #887882 !important;
  4548. }
  4549. }
  4550. }
  4551. }
  4552. }
  4553. }
  4554. }
  4555.  
  4556. //quick reply
  4557. body[data-template="thread_view"]{
  4558. .p-body-content{
  4559. .message-content{
  4560. margin-top: -20px;
  4561. }
  4562. }
  4563.  
  4564. form .block-container .message--quickReply .message-inner .message-cell--user .message-user .message-avatar .message-avatar-wrapper{
  4565. &:before{
  4566. content: '';
  4567. width: 106px;
  4568. height: 106px;
  4569. position: absolute;
  4570. left: 7px;
  4571. top: 7px;
  4572. border-radius: 100%;
  4573. background-color: rgba(255, 255, 255, 0.1);
  4574. }
  4575. }
  4576. }
  4577. form{
  4578. .block-container{
  4579. border-left: none;
  4580. border-right: none;
  4581. border-radius: 0;
  4582. padding: 15px 0;
  4583. .message--quickReply{
  4584. border-radius: 0;
  4585. .message-inner{
  4586. .message-cell--user{
  4587. border: none;
  4588. .message-user{
  4589. .message-avatar{
  4590. .message-avatar-wrapper{
  4591. margin: -10px;
  4592. padding: 10px;
  4593. border-radius: 2px;
  4594. position: relative;
  4595. background-color: @xf-BrvColor1;
  4596. .avatar{
  4597. border-radius: inherit;
  4598. }
  4599. }
  4600. }
  4601. .message-userArrow{
  4602. display: none;
  4603. }
  4604. }
  4605. }
  4606. .message-cell--main{
  4607. margin-top: -10px;
  4608. .formButtonGroup{
  4609. text-align: center;
  4610. display: inherit;
  4611. margin-top: 15px;
  4612. .formButtonGroup-primary{
  4613. margin: 0;
  4614. display: inline-block;
  4615. }
  4616. .formButtonGroup-extra{
  4617. margin: 0;
  4618. display: inline-block;
  4619. }
  4620. }
  4621. }
  4622. }
  4623. }
  4624. }
  4625. }
  4626. [data-template="thread_view"]{
  4627. .p-body-content{
  4628. .is-editing{
  4629. form,.block-container{
  4630. padding-top: 0;
  4631. }
  4632. }
  4633. }
  4634. }
  4635. [data-xf-init="poll-block ajax-submit"]{
  4636. margin-bottom: -5px;
  4637. }
  4638. @media (min-width: @xf-responsiveMedium) {
  4639. [data-template="thread_view"]{
  4640. .p-body-content{
  4641. .button{
  4642. margin: 0 3px;
  4643. }
  4644. }
  4645. }
  4646. }]]></template>
  4647. <template title="brv_nav.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[html[dir="RTL"]{
  4648. .p-nav .p-nav-inner .p-nav-scroller .hScroller-scroll .p-nav-list li .p-navEl .p-navEl-link:before{
  4649. transform: translateX(50%);
  4650. }
  4651. }
  4652.  
  4653. .p-nav{
  4654. .p-nav-inner{
  4655. align-items: center;
  4656. position: relative;
  4657. .p-nav-scroller{
  4658. padding-left: 15px;
  4659. .hScroller-scroll{
  4660. &.is-calculated{
  4661. overflow-y: hidden;
  4662. }
  4663. .p-nav-list{
  4664. li{
  4665. &:first-child{
  4666. .p-navEl{
  4667. &:hover{
  4668. background-color: transparent;
  4669. }
  4670. .p-navEl-link{
  4671. padding-left: 0;
  4672. margin-left: -10px;
  4673. &:hover{
  4674. background-color: transparent;
  4675. }
  4676. }
  4677. }
  4678. }
  4679. .p-navEl{
  4680. border-radius: 0;
  4681. position: relative;
  4682. &[data-has-children="true"]{
  4683. .p-navEl-link{
  4684. padding-right: 25px;
  4685. }
  4686. }
  4687. &.is-menuOpen{
  4688. box-shadow: none;
  4689. }
  4690. &.is-selected{
  4691. &.is-menuOpen{
  4692. .p-navEl-splitTrigger{
  4693. opacity: 1;
  4694. visibility: visible;
  4695. }
  4696. }
  4697. .p-navEl-splitTrigger{
  4698. display: inline-block;
  4699. }
  4700. }
  4701. .p-navEl-splitTrigger{
  4702. position: absolute;
  4703. bottom: 0;
  4704. right: 5px;
  4705. &:hover{
  4706. background-color: transparent;
  4707. }
  4708. &:after{
  4709. font-size: 18px;
  4710. }
  4711. }
  4712. .p-navEl-link{
  4713. padding: 10px 15px;
  4714. position: relative;
  4715. letter-spacing: 0.5px;
  4716. &:hover{
  4717. background-color: transparent;
  4718. }
  4719. }
  4720. }
  4721. }
  4722. }
  4723. }
  4724. }
  4725. }
  4726. }
  4727. .p-nav-opposite{
  4728. margin-right: 0;
  4729. display: flex;
  4730. align-items: center;
  4731.  
  4732. }
  4733. .p-discovery{
  4734. background-color: transparent;
  4735. margin: 0;
  4736. .controlSearch{
  4737. height: 50px;
  4738. width: 30px;
  4739. line-height: 50px;
  4740. display: inline-block;
  4741. text-align: center;
  4742. cursor: pointer;
  4743. img{
  4744. position: relative;
  4745. top: 3px;
  4746. }
  4747. }
  4748. .search-area{
  4749. position: absolute;
  4750. width: 270px;
  4751. right: 0;
  4752. top: 150%;
  4753. transition: all 500ms;
  4754. opacity: 0;
  4755. visibility: hidden;
  4756. &.active{
  4757. opacity: 1;
  4758. visibility: visible;
  4759. top: 100%;
  4760. }
  4761. form{
  4762. border-radius: 0;
  4763. border: none;
  4764. background-color: transparent;
  4765. .search-input{
  4766. padding: 10px 10px 0;
  4767. background-color: @xf-BrvColor1;
  4768. position: relative;
  4769. input{
  4770. border: 1px solid @xf-borderColor;
  4771. border-radius: 2px;
  4772. color: @xf-linkColor;
  4773. padding-left: 15px;
  4774. line-height: 28px;
  4775. height: 40px;
  4776. &:-ms-input-placeholder{
  4777. color: @xf-linkColor;
  4778. }
  4779. &::-ms-input-placeholder{
  4780. color: @xf-linkColor;
  4781. }
  4782. &::placeholder{
  4783. color: @xf-linkColor;
  4784. }
  4785. }
  4786. }
  4787. .search-option{
  4788. padding: 15px 0;
  4789. background-color: @xf-BrvColor1;
  4790. transition: all 500ms;
  4791. box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.35);
  4792. z-index: 999;
  4793. &.active{
  4794. top: 100%;
  4795. opacity: 1;
  4796. visibility: visible;
  4797. }
  4798. .inputGroup{
  4799. padding: 10px;
  4800. select{
  4801. background-color: @xf-BrvColor1;
  4802. border: 1px solid @xf-borderColor;
  4803. width: 100% !important;
  4804. option{
  4805. color: #000000;
  4806. }
  4807. }
  4808. }
  4809.  
  4810. .menu-footer{
  4811. padding: 10px 15px;
  4812. background: @xf-BrvColor1 !important;
  4813. border: none;
  4814. .menu-footer-controls{
  4815. .button{
  4816. color: #fff;
  4817. }
  4818. }
  4819. }
  4820. }
  4821. }
  4822. }
  4823. }
  4824. .p-navgroup{
  4825. background-color: transparent !important;
  4826. border-radius: 0;
  4827. position: relative;
  4828. .p-navgroup-link{
  4829. border: none;
  4830. opacity: 1;
  4831. padding: 0 15px;
  4832. width: auto;
  4833. height: 50px;
  4834. text-align: center;
  4835. line-height: 50px;
  4836. border-radius: 0;
  4837. font-weight: 400;
  4838. &:hover{
  4839. background-color: transparent;
  4840. color: @xf-paletteColor3;
  4841. }
  4842. &.is-menuOpen{
  4843. box-shadow: none;
  4844. background-color: transparent;
  4845. color: @xf-paletteColor3;
  4846. }
  4847. color: @xf-BrvColor1;
  4848. &.p-navgroup-link--alerts{
  4849. font-size: 20px;
  4850. .p-navgroup-linkText{
  4851. display: none;
  4852. }
  4853. }
  4854. &.p-navgroup-link--conversations{
  4855. font-size: 20px;
  4856. .p-navgroup-linkText{
  4857. display: none;
  4858. }
  4859. i{
  4860. &:after{
  4861. content: '\f075';
  4862. }
  4863. }
  4864. }
  4865. &.p-navgroup-link--logIn{
  4866. position: relative;
  4867. background-color: transparent;
  4868. padding: 0 15px;
  4869. border-radius: 0;
  4870. &:hover{
  4871. text-decoration: underline;
  4872. }
  4873. }
  4874. &.p-navgroup-link--register{
  4875. background-color: transparent;
  4876. padding: 0 15px;
  4877. border-radius: 0;
  4878. &:hover{
  4879. text-decoration: underline;
  4880. }
  4881. }
  4882. }
  4883. .p-navgroup-link--user{
  4884. max-width: none;
  4885. border-radius: 0;
  4886. position: relative;
  4887. &.is-menuOpen{
  4888. box-shadow: none;
  4889. }
  4890. }
  4891. }
  4892.  
  4893. .p-sectionLinks{
  4894. border-top: 2px solid @xf-paletteColor3;
  4895. .p-sectionLinks-inner{
  4896. padding-left: 20px;
  4897. .hScroller-scroll{
  4898. .p-sectionLinks-list{
  4899. li{
  4900. .p-navEl{
  4901. a{
  4902. padding: 11px 10px;
  4903. &:hover{
  4904. text-decoration: none;
  4905. }
  4906. }
  4907. }
  4908. }
  4909. }
  4910. }
  4911. }
  4912. }
  4913. .subMenu-level0{
  4914. .menu-content{
  4915. background-color: #28232d;
  4916. }
  4917. }]]></template>
  4918. <template title="brv_responsive.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[@media (max-width: 1366px){
  4919. .p-body{
  4920. margin-top: -2px;
  4921. }
  4922. }
  4923.  
  4924. @media (max-width: 1200px){
  4925. .p-footer{
  4926. .footer-bottom{
  4927. .p-footer-inner{
  4928. text-align: center;
  4929. .p-footer-row-opposite{
  4930. float: none;
  4931. margin-bottom: 0;
  4932. text-align: center;
  4933. margin-top: 5px;
  4934. .p-footer-linkList{
  4935. li{
  4936. float: none;
  4937. display: inline-block;
  4938. }
  4939. }
  4940. }
  4941. }
  4942. }
  4943. }
  4944. }
  4945.  
  4946. @media (max-width: 991px){
  4947. .hidden-md{
  4948. display: none !important;
  4949. }
  4950. .brv-nav{
  4951. padding-left: 0;
  4952. &:before{
  4953. display: none;
  4954. }
  4955. }
  4956. .p-discovery .search-area{
  4957. width: 250px;
  4958. }
  4959. }
  4960.  
  4961. @media (max-width: @xf-responsiveWide){
  4962.  
  4963. .p-pageWrapper{
  4964. overflow: hidden;
  4965. }
  4966. .brv-nav .brv-nav__control{
  4967. min-width: 150px;
  4968. }
  4969. .brv-nav{
  4970. max-width: 50%;
  4971. }
  4972. .p-nav .p-nav-inner .p-navgroup .p-navgroup-link--user:after{
  4973. display: none;
  4974. }
  4975. #footer{
  4976. .footer-custom{
  4977. .footer-column{
  4978. margin-bottom: 30px;
  4979. &.footer-column-1{
  4980. width: 100% ;
  4981. .content-inner{
  4982. p{
  4983. max-width: none !important;
  4984. }
  4985. }
  4986. }
  4987. &.footer-column-2{
  4988. width: 30%;
  4989. }
  4990. &.footer-column-3{
  4991. width: 30%;
  4992. }
  4993. &.footer-column-4{
  4994. width: 40%;
  4995. }
  4996. }
  4997. }
  4998. }
  4999. }
  5000.  
  5001. @media (max-width: @xf-responsiveMedium){
  5002. .hidden-xs{
  5003. display: none !important;
  5004. }
  5005. .is-sticky{
  5006. box-shadow: none !important;
  5007. }
  5008. .has-js .p-nav .p-nav-menuTrigger{
  5009. margin-right: auto;
  5010. }
  5011. .brv-nav{
  5012. display: none;
  5013. }
  5014. .block--messages .message .message-inner .message-cell--user .message-userDetails{
  5015. margin-top: 0;
  5016. }
  5017. .structItem-cell.structItem-cell--main{
  5018. padding-left: 10px !important;
  5019. }
  5020. .structItem-cell.structItem-cell--meta{
  5021. padding-left: 10px;
  5022. padding-bottom: 0;
  5023. line-height: 12px;
  5024. position: relative;
  5025. top: -3px;
  5026. background-color: transparent !important;
  5027. width: auto !important;
  5028. border: none !important;
  5029. }
  5030. .structItem-cell.structItem-cell--latest{
  5031. width: auto !important;
  5032. }
  5033. .block--messages .message .message-inner .message-cell--user .message-userDetails .userTitle{
  5034. width: 100%;
  5035. }
  5036. .block--messages .message .message-inner .message-cell--user .message-userDetails .userBanner{
  5037. margin: 0 !important;
  5038. }
  5039. .block--messages .message .message-inner .message-cell--user .message-userDetails .userBanner:before,
  5040. .block--messages .message .message-inner .message-cell--user .message-userDetails .userBanner:after{
  5041. display: none;
  5042. }
  5043. .block-footer.block-footer--split .block-footer-controls .input--inline{
  5044. width: 100%;
  5045. }
  5046. .block-footer.block-footer--split .block-footer-controls .button{
  5047. margin: 5px 0;
  5048. }
  5049. #footer .p-footer-inner .footer-custom .row .footer-column.footer-column-1 .footer-social a{
  5050. margin-bottom: 5px;
  5051. }
  5052. #footer{
  5053. .footer-custom{
  5054. .footer-column{
  5055. margin-bottom: 30px;
  5056. &.footer-column-1{
  5057. width: 100% ;
  5058. .content-inner{
  5059. p{
  5060. max-width: none !important;
  5061. }
  5062. }
  5063. }
  5064. &.footer-column-2{
  5065. width: 50%;
  5066. }
  5067. &.footer-column-3{
  5068. width: 50%;
  5069. }
  5070. &.footer-column-4{
  5071. width: 100%;
  5072. }
  5073. }
  5074. }
  5075. .footer-bottom{
  5076. .p-footer-copyright{
  5077. width: 100%;
  5078. text-align: center !important;
  5079. margin: 15px 0 !important;
  5080. }
  5081. .p-footer-row-opposite{
  5082. .p-footer-linkList{
  5083. text-align: center;
  5084. li{
  5085. float: none;
  5086. display: inline-block;
  5087. }
  5088. }
  5089. }
  5090. }
  5091. }
  5092. }
  5093. @media (max-width: @xf-responsiveNarrow){
  5094. .formButtonGroup{
  5095. .button{
  5096. margin-top: 5px;
  5097. }
  5098. }
  5099.  
  5100. .actionBar-action.actionBar-action--menuTrigger{
  5101. display: inline !important;
  5102. }
  5103.  
  5104. #footer{
  5105. .footer-custom{
  5106. .footer-column{
  5107. margin-bottom: 30px;
  5108. &.footer-column-1{
  5109. width: 100% ;
  5110. .content-inner{
  5111. p{
  5112. max-width: none !important;
  5113. }
  5114. }
  5115. }
  5116. &.footer-column-2{
  5117. width: 100%;
  5118. }
  5119. &.footer-column-3{
  5120. width: 100%;
  5121. }
  5122. &.footer-column-4{
  5123. width: 100%;
  5124. }
  5125. }
  5126. }
  5127. }
  5128. }
  5129. @media (max-width: 425px){
  5130.  
  5131. html[dir="RTL"]{
  5132. .p-nav .p-nav-inner .p-nav-opposite .p-navgroup .search-area form .search-option{
  5133. transform: translateX(50%);
  5134. }
  5135. }
  5136.  
  5137.  
  5138. }
  5139. @media (max-width: 375px){
  5140.  
  5141. }
  5142. @media (max-width: 320px){
  5143.  
  5144. }
  5145.  
  5146. //responsive min width
  5147.  
  5148. @media (min-width: @xf-responsiveNarrow){
  5149.  
  5150. }
  5151.  
  5152. @media (min-width: @xf-responsiveMedium){
  5153. .show-xs{
  5154. display: none !important;
  5155. }
  5156. //p-staffBar
  5157. .p-staffBar{
  5158. .hScroller-scroll.is-calculated{
  5159. overflow-y: hidden;
  5160. overflow-x: hidden;
  5161. margin: 0 !important;
  5162. }
  5163. }
  5164. .link-admin{
  5165. float: right;
  5166. }
  5167. }
  5168.  
  5169. @media (min-width: @xf-responsiveWide){
  5170.  
  5171. .show-sm{
  5172. display: none !important;
  5173. }
  5174.  
  5175. #footer{
  5176. .footer-custom{
  5177. .footer-column{
  5178. &.footer-column-1{
  5179. width: 48% ;
  5180. }
  5181. &.footer-column-2{
  5182. width: 15%;
  5183. }
  5184. &.footer-column-3{
  5185. width: 15%;
  5186. }
  5187. &.footer-column-4{
  5188. width: 22%;
  5189. }
  5190. }
  5191. }
  5192. }
  5193. }
  5194.  
  5195. @media (min-width: 991px){
  5196. .show-md{
  5197. display: none !important;
  5198. }
  5199. }
  5200.  
  5201. @media (min-width: 1200px){
  5202.  
  5203. }
  5204.  
  5205. @media (min-width: 1366px){
  5206.  
  5207. }]]></template>
  5208. <template title="brv_stickynav.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[.is-sticky{
  5209. .p-nav{
  5210. .p-nav-inner{
  5211. .p-nav-scroller{
  5212. .hScroller-scroll{
  5213. .p-nav-list{
  5214. li{
  5215. &:first-child{
  5216. margin-left: 12px;
  5217. }
  5218. .p-navEl{
  5219. .p-navEl-link{
  5220. padding: 10px 20px;
  5221. &:before{
  5222. display: none;
  5223. }
  5224. }
  5225. .p-navEl-splitTrigger{
  5226. right: 0;
  5227. bottom: 0;
  5228. &:before{
  5229. display: none;
  5230. }
  5231. }
  5232. }
  5233. }
  5234. }
  5235. }
  5236. }
  5237. }
  5238. }
  5239. }]]></template>
  5240. <template title="brv_structured.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[.structItem.is-highlighted, .structItem.is-moderated{
  5241. background: #cccccc !important;
  5242. }
  5243. .structItem.is-mod-selected{
  5244. background: #cccccc !important;
  5245. }
  5246. .structItemContainer{
  5247. background: @xf-BrvColor1;
  5248. padding: 0 10px;
  5249. .structItem{
  5250. border-color: transparent;
  5251. margin: 5px 0;
  5252. background-color: #f3f3f3;
  5253. .structItem-cell--newThread{
  5254. padding-top: 18px;
  5255. .input{
  5256. background-color: @xf-BrvColor1;
  5257. }
  5258. }
  5259. .structItem-cell--icon{
  5260. width: 70px;
  5261. padding-left: 15px;
  5262. padding-right: 10px;
  5263. .structItem-iconContainer{
  5264. .avatar:first-child{
  5265. width: 45px;
  5266. height: 45px;
  5267. font-size: 20px;
  5268. span{
  5269. line-height:43px;
  5270. }
  5271. }
  5272. }
  5273. }
  5274. .structItem-cell--main{
  5275. .structItem-title{
  5276. margin: 5px 0;
  5277. font-size: 14px;
  5278. font-weight: 500;
  5279. .labelLink{
  5280. font-size: 11px;
  5281. line-height: 18px;
  5282. position: relative;
  5283. top: -3px;
  5284. margin-right: 5px;
  5285. .label{
  5286. border: none;
  5287. padding: 3px 8px;
  5288. line-height: 13px;
  5289. border-radius: 2.5px;
  5290. color: #fff;
  5291. font-weight: 600;
  5292. font-size: 90%;
  5293. }
  5294. }
  5295. a{
  5296. color: @xf-linkColor;
  5297. font-weight: 600;
  5298. }
  5299. }
  5300. .structItem-minor{
  5301. .structItem-parts{
  5302. .username{
  5303. color: @xf-textColor;
  5304. font-weight: 600;
  5305. }
  5306. }
  5307. }
  5308. }
  5309. .structItem-cell--meta{
  5310. width: 165px;
  5311. dl{
  5312. margin: 5px 0;
  5313. dt{
  5314. color: @xf-linkColor;
  5315. }
  5316. dd{
  5317. color: @xf-linkColor;
  5318. }
  5319. }
  5320. }
  5321. time{
  5322. color: @xf-textColor;
  5323. }
  5324. .structItem-pageJump{
  5325. display: none;
  5326. }
  5327. .structItem-cell--latest{
  5328. padding-right: 15px;
  5329. .structItem-minor{
  5330. margin: 5px 0;
  5331. a{
  5332. font-size: 14px;
  5333. font-weight: 600;
  5334. color: @xf-linkColor;
  5335. text-transform: capitalize;
  5336. }
  5337. }
  5338. >a{
  5339. font-size: 12px;
  5340. color: @xf-textColor;
  5341. }
  5342. }
  5343. }
  5344. }
  5345. body[data-template="forum_view"]{
  5346. .structItem-cell--latest{
  5347. width: 145px;
  5348. }
  5349. }
  5350. .is-unread .structItem-title{
  5351. font-weight: 700 !important;
  5352. a{
  5353. color: #000000 !important;
  5354. font-weight: 700 !important;
  5355. }
  5356. }
  5357.  
  5358. .title-thread{
  5359. display: table;
  5360. width: 100%;
  5361. position: relative;
  5362. background-color: @xf-BrvColor1;
  5363. &:hover{
  5364. &:after{
  5365. animation-name: flicker;
  5366. animation-duration: 0.4s;
  5367. animation-iteration-count: infinite;
  5368. -webkit-animation-name: flicker;
  5369. -webkit-animation-duration: 0.4s;
  5370. -webkit-animation-iteration-count: infinite;
  5371. }
  5372. }
  5373. .item-title{
  5374. padding: 10px 10px 11px;
  5375. display: table-cell;
  5376. font-size: 14px;
  5377. text-transform: capitalize;
  5378. color: @xf-paletteColor3;
  5379. font-weight: 400;
  5380. position: relative;
  5381. &.cell-title{
  5382. padding-left: 15px;
  5383. }
  5384. &.cell-user{
  5385. width: 130px;
  5386. text-align: right;
  5387. padding-right: 15px;
  5388. }
  5389. &.cell-views,&.cell-reply{
  5390. width: 90px;
  5391. text-align: center;
  5392. }
  5393. }
  5394. }]]></template>
  5395. <template title="core_block.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ################################# BLOCKS ##################
  5396.  
  5397. .blocks
  5398. {
  5399. margin-bottom: @xf-elementSpacer;
  5400.  
  5401. &:last-child
  5402. {
  5403. margin-bottom: 0;
  5404. }
  5405.  
  5406. .block
  5407. {
  5408. margin-bottom: (@xf-elementSpacer / 2);
  5409.  
  5410. &:last-child
  5411. {
  5412. margin-bottom: 0;
  5413. }
  5414. }
  5415. }
  5416.  
  5417. .blocks-header
  5418. {
  5419. font-size: @xf-fontSizeLarger;
  5420. font-weight: @xf-fontWeightNormal;
  5421. color: @xf-textColorMuted;
  5422.  
  5423. margin-bottom: 5px;
  5424. }
  5425.  
  5426. .blocks-textJoiner
  5427. {
  5428. display: table;
  5429. width: 100%;
  5430. margin-bottom: (@xf-elementSpacer / 2);
  5431. padding: 0 @xf-paddingMedium;
  5432.  
  5433. > span
  5434. {
  5435. display: table-cell;
  5436. position: relative;
  5437.  
  5438. &:before
  5439. {
  5440. content: '';
  5441. position: absolute;
  5442. left: 0;
  5443. right: 0;
  5444. top: 50%;
  5445. border-top: @xf-borderSize solid @xf-borderColor;
  5446. }
  5447. }
  5448.  
  5449. > em
  5450. {
  5451. display: table-cell;
  5452. padding: 0 @xf-paddingLarge;
  5453. width: 1%;
  5454. white-space: nowrap;
  5455. font-size: @xf-fontSizeLargest;
  5456. line-height: 1;
  5457. font-style: normal;
  5458. text-align: center;
  5459. }
  5460. }
  5461.  
  5462. .block
  5463. {
  5464. margin-bottom: @xf-elementSpacer;
  5465.  
  5466. &.block--close
  5467. {
  5468. margin-bottom: 5px;
  5469. }
  5470.  
  5471. &.block--treeEntryChooser
  5472. {
  5473. .block-header
  5474. {
  5475. font-size: @xf-fontSizeLarge;
  5476.  
  5477. .block-desc
  5478. {
  5479. font-size: @xf-fontSizeSmallest;
  5480. }
  5481. }
  5482.  
  5483. .block-row
  5484. {
  5485. padding-top: 6px;
  5486. padding-bottom: 6px;
  5487. }
  5488.  
  5489. .contentRow
  5490. {
  5491. &.is-disabled
  5492. {
  5493. opacity: 0.5;
  5494. }
  5495. }
  5496.  
  5497. .contentRow-title
  5498. {
  5499. font-size: @xf-fontSizeNormal;
  5500. }
  5501.  
  5502. .contentRow-minor
  5503. {
  5504. font-size: @xf-fontSizeSmaller;
  5505. }
  5506.  
  5507. .contentRow-suffix
  5508. {
  5509. font-size: @xf-fontSizeSmall;
  5510. }
  5511. }
  5512. }
  5513.  
  5514. .block-outer
  5515. {
  5516. padding-bottom: 20px;
  5517. .m-clearFix();
  5518.  
  5519. &:empty
  5520. {
  5521. display: none;
  5522. }
  5523.  
  5524. &.block-outer--after
  5525. {
  5526. padding-top: 20px;
  5527. padding-bottom: 0;
  5528. }
  5529.  
  5530. .block-outer-hint
  5531. {
  5532. font-size: @xf-fontSizeSmall;
  5533. color: @xf-textColorMuted;
  5534. }
  5535. }
  5536. .block-outer-main { float: left; }
  5537. .block-outer-opposite { float: right; }
  5538. .block-outer-middle { text-align: center; }
  5539.  
  5540. .block-container
  5541. {
  5542.  
  5543. border-radius: @xf-blockBorderRadius;
  5544.  
  5545. .m-transition(); .m-transitionProperty(border margin); // edgeSpacerRemoval
  5546. }
  5547.  
  5548. @media (min-width: @xf-responsiveEdgeSpacerRemoval)
  5549. {
  5550. @{block-noStripSel} > :first-child,
  5551. .block-topRadiusContent,
  5552. @{block-noStripSel} > .block-body:first-child > .blockLink:first-child
  5553. {
  5554. border-top-left-radius: @block-borderRadius-inner;
  5555. border-top-right-radius: @block-borderRadius-inner;
  5556. }
  5557.  
  5558. @{block-noStripSel} > :last-child,
  5559. .block-bottomRadiusContent,
  5560. @{block-noStripSel} > .block-body:last-child > .blockLink:last-child
  5561. {
  5562. border-bottom-left-radius: @block-borderRadius-inner;
  5563. border-bottom-right-radius: @block-borderRadius-inner;
  5564. }
  5565.  
  5566. @{block-noStripSel} > .block-body:first-child > .dataList:first-child,
  5567. .block-topRadiusContent.dataList,
  5568. .block-topRadiusContent > .dataList:first-child
  5569. {
  5570. tbody:first-child .dataList-row:first-child,
  5571. thead:first-child .dataList-row:first-child
  5572. {
  5573. > .dataList-cell:first-child { border-top-left-radius: @block-borderRadius-inner; }
  5574. > .dataList-cell:last-child { border-top-right-radius: @block-borderRadius-inner; }
  5575. }
  5576. }
  5577.  
  5578. @{block-noStripSel} > .block-body:first-child > .formRow:first-child,
  5579. .block-topRadiusContent.formRow,
  5580. .block-topRadiusContent > .formRow:first-child
  5581. {
  5582. > dt { border-top-left-radius: @block-borderRadius-inner; }
  5583. > dd { border-top-right-radius: @block-borderRadius-inner; }
  5584. }
  5585.  
  5586. @{block-noStripSel} > .block-body:last-child > .dataList:last-child,
  5587. .block-bottomRadiusContent.dataList,
  5588. .block-bottomRadiusContent > .dataList:last-child
  5589. {
  5590. tbody:last-child .dataList-row:last-child
  5591. {
  5592. > .dataList-cell:first-child { border-bottom-left-radius: @block-borderRadius-inner; }
  5593. > .dataList-cell:last-child { border-bottom-right-radius: @block-borderRadius-inner; }
  5594. }
  5595. }
  5596.  
  5597. @{block-noStripSel} > .block-body:last-child > .formRow:last-child,
  5598. .block-bottomRadiusContent.formRow,
  5599. .block-bottomRadiusContent > .formRow:last-child
  5600. {
  5601. > dt { border-bottom-left-radius: @block-borderRadius-inner; }
  5602. > dd { border-bottom-right-radius: @block-borderRadius-inner; }
  5603. }
  5604.  
  5605. @{block-noStripSel} > .block-body:last-child .formSubmitRow:not(.is-sticky),
  5606. @{block-noStripSel} > .formSubmitRow:not(.is-sticky):last-child,
  5607. .block-bottomRadiusContent > .formSubmitRow:not(.is-sticky)
  5608. {
  5609. > dt { border-bottom-left-radius: @block-borderRadius-inner; }
  5610. > dd { border-bottom-right-radius: @block-borderRadius-inner; }
  5611.  
  5612. .formSubmitRow-bar
  5613. {
  5614. border-bottom-left-radius: @block-borderRadius-inner;
  5615. border-bottom-right-radius: @block-borderRadius-inner;
  5616. }
  5617. }
  5618. }
  5619.  
  5620. .block-header
  5621. {
  5622. padding: @xf-blockPaddingV @xf-blockPaddingH;
  5623. margin: 0;
  5624. font-weight: @xf-fontWeightNormal;
  5625. text-decoration: none;
  5626. .xf-blockHeader();
  5627.  
  5628. .m-clearFix();
  5629. .m-hiddenLinks();
  5630.  
  5631. &.block-header--separated
  5632. {
  5633. border-top: @xf-borderSize solid @xf-borderColorLight;
  5634. }
  5635.  
  5636. .block-desc
  5637. {
  5638. color: fade(@xf-blockHeader--color, 70);
  5639. .m-textColoredLinks();
  5640. }
  5641. }
  5642.  
  5643. .block-minorHeader
  5644. {
  5645. padding: @xf-blockPaddingV @xf-blockPaddingH;
  5646. margin: 0;
  5647. font-weight: @xf-fontWeightNormal;
  5648. text-decoration: none;
  5649. .xf-blockMinorHeader();
  5650.  
  5651. .m-clearFix();
  5652. .m-hiddenLinks();
  5653.  
  5654. .block-body + &
  5655. {
  5656. border-top: @xf-borderSize solid @xf-borderColorLight;
  5657. }
  5658.  
  5659. .block-desc
  5660. {
  5661. .m-textColoredLinks();
  5662. }
  5663.  
  5664. &--small
  5665. {
  5666. font-size: @xf-fontSizeSmall;
  5667. }
  5668. }
  5669.  
  5670. .block-tabHeader
  5671. {
  5672. padding: 0;
  5673. margin: 0;
  5674. font-weight: @xf-fontWeightNormal;
  5675. .xf-blockTabHeader();
  5676. .m-tabsTogether(xf-default(@xf-blockTabHeader--font-size, @xf-fontSizeNormal));
  5677.  
  5678. .tabs-tab
  5679. {
  5680. padding: @xf-blockPaddingV @xf-blockPaddingH max(0px, @xf-blockPaddingV - @xf-borderSizeFeature);
  5681. border-bottom: @xf-borderSizeFeature solid transparent;
  5682.  
  5683. &:hover
  5684. {
  5685. color: @xf-blockTabHeaderSelected--color;
  5686. background: fade(@xf-blockTabHeaderSelected--color, 10%);
  5687. }
  5688.  
  5689. &.is-active
  5690. {
  5691. background: none;
  5692. .xf-blockTabHeaderSelected();
  5693. }
  5694. }
  5695.  
  5696. .block-tabHeader-extra
  5697. {
  5698. float: right;
  5699. color: inherit;
  5700. font-size: @xf-blockTabHeader--font-size;
  5701. padding: @xf-blockPaddingV @xf-blockPaddingH;
  5702. }
  5703.  
  5704. .hScroller-action
  5705. {
  5706. .m-hScrollerActionColorVariation(
  5707. xf-default(@xf-blockTabHeader--background-color, transparent),
  5708. @xf-blockTabHeader--color,
  5709. @xf-blockTabHeaderSelected--color
  5710. );
  5711. }
  5712. }
  5713.  
  5714. .block-minorTabHeader
  5715. {
  5716. padding: 0;
  5717. margin: 0;
  5718. font-weight: @xf-fontWeightNormal;
  5719. .xf-blockMinorTabHeader();
  5720. .m-tabsTogether(xf-default(@xf-blockMinorTabHeader--font-size, @xf-fontSizeNormal));
  5721.  
  5722. .tabs-tab
  5723. {
  5724. padding: @xf-blockPaddingV @xf-blockPaddingH max(0px, @xf-blockPaddingV - @xf-borderSizeFeature);
  5725. border-bottom: @xf-borderSizeFeature solid transparent;
  5726.  
  5727. &:hover
  5728. {
  5729. color: @xf-blockMinorTabHeaderSelected--color;
  5730. }
  5731.  
  5732. &.is-active
  5733. {
  5734. background: none;
  5735. .xf-blockMinorTabHeaderSelected();
  5736. }
  5737. }
  5738.  
  5739. .hScroller-action
  5740. {
  5741. .m-hScrollerActionColorVariation(
  5742. xf-default(@xf-blockMinorTabHeader--background-color, transparent),
  5743. @xf-blockMinorTabHeader--color,
  5744. @xf-blockMinorTabHeaderSelected--color
  5745. );
  5746. }
  5747. }
  5748.  
  5749. .block-filterBar
  5750. {
  5751. padding: @xf-blockPaddingV @xf-blockPaddingH;
  5752. .xf-blockFilterBar();
  5753.  
  5754. .filterBar-filterToggle
  5755. {
  5756. background: mix(
  5757. xf-default(@xf-blockFilterBar--color, @xf-linkColor),
  5758. xf-default(@xf-blockFilterBar--background-color, transparent),
  5759. 8%
  5760. );
  5761. }
  5762.  
  5763. .filterBar-filterToggle,
  5764. .filterBar-menuTrigger
  5765. {
  5766. &:hover
  5767. {
  5768. text-decoration: none;
  5769. background: mix(
  5770. xf-default(@xf-blockFilterBar--color, @xf-linkColor),
  5771. xf-default(@xf-blockFilterBar--background-color, transparent),
  5772. 16%
  5773. );
  5774. }
  5775. }
  5776.  
  5777. .filterBar-menuTrigger
  5778. {
  5779. margin-right: -5px;
  5780. }
  5781. }
  5782.  
  5783. .block-textHeader
  5784. {
  5785. margin: @xf-blockPaddingV/2 0;
  5786. padding: 0;
  5787. font-weight: @xf-fontWeightNormal;
  5788. .xf-blockTextHeader();
  5789.  
  5790. .m-clearFix();
  5791. .m-hiddenLinks();
  5792.  
  5793. &.block-textHeader--scaled
  5794. {
  5795. font-size: inherit;
  5796. }
  5797.  
  5798. .block-textHeader-highlight
  5799. {
  5800. color: @xf-textColor;
  5801. }
  5802.  
  5803. .block-desc
  5804. {
  5805. .m-textColoredLinks();
  5806. }
  5807.  
  5808. &:first-child
  5809. {
  5810. margin-top: 0;
  5811. }
  5812. }
  5813.  
  5814. .block-formSectionHeader
  5815. {
  5816. padding: @xf-blockPaddingV @xf-blockPaddingH;
  5817. margin: 0;
  5818. font-weight: @xf-fontWeightNormal;
  5819. text-decoration: none;
  5820. .xf-formSectionHeader();
  5821.  
  5822. .m-clearFix();
  5823. .m-hiddenLinks();
  5824.  
  5825. .block-desc
  5826. {
  5827. .m-textColoredLinks();
  5828. }
  5829.  
  5830. .block-container > &:first-child
  5831. {
  5832. border-top: none;
  5833. }
  5834.  
  5835. .block-formSectionHeader-aligner
  5836. {
  5837. @_blockPaddingShift: (unit(@xf-formLabelWidth) / 100) * (@xf-blockPaddingH);
  5838.  
  5839. display: inline-block;
  5840. text-align: right;
  5841. min-width: @xf-formLabelWidth;
  5842. min-width: ~"calc((@{xf-formLabelWidth}) - (@{_blockPaddingShift}) - (@{xf-formRowPaddingHInner}) - (@{xf-borderSize}))";
  5843. max-width: 100%;
  5844.  
  5845. @media (max-width: @xf-formResponsive)
  5846. {
  5847. display: inline;
  5848. text-align: left;
  5849. min-width: 0;
  5850. padding-left: 0;
  5851. }
  5852. }
  5853.  
  5854. @media (max-width: @xf-formResponsive)
  5855. {
  5856. padding-left: @xf-formRowPaddingHOuter;
  5857. }
  5858.  
  5859. .block-formSectionHeader-multiChecker
  5860. {
  5861. float: right;
  5862. }
  5863. }
  5864.  
  5865. .block-desc
  5866. {
  5867. display: block;
  5868. font-size: @xf-fontSizeSmaller;
  5869. font-weight: @xf-fontWeightNormal;
  5870. }
  5871.  
  5872. .block-body
  5873. {
  5874. .m-listPlain();
  5875.  
  5876. &.block-body--collapsible
  5877. {
  5878. .has-no-js & { display: block; }
  5879.  
  5880. .m-transitionFadeDown();
  5881. }
  5882.  
  5883. &.block-body--contained
  5884. {
  5885. overflow: auto;
  5886. max-height: 300px;
  5887. max-height: 70vh;
  5888. }
  5889. }
  5890.  
  5891. .block-row
  5892. {
  5893. margin: 0;
  5894. padding: @xf-blockPaddingV @xf-blockPaddingH;
  5895. .m-clearFix();
  5896.  
  5897. &.block-row--alt
  5898. {
  5899. .xf-contentAltBase();
  5900. }
  5901.  
  5902. &.block-row--minor
  5903. {
  5904. font-size: @xf-fontSizeSmall;
  5905. }
  5906.  
  5907. &.block-row--separated
  5908. {
  5909. padding-top: (@xf-blockPaddingV) * 2;
  5910. padding-bottom: (@xf-blockPaddingV) * 2;
  5911.  
  5912. + .block-row
  5913. {
  5914. border-top: @xf-borderSize solid @xf-borderColorLight;
  5915. }
  5916. }
  5917.  
  5918. &.block-row--connectAbove
  5919. {
  5920. padding-bottom: (@xf-blockPaddingV) * 2;
  5921.  
  5922. .block-body > &:last-child
  5923. {
  5924. padding-bottom: @xf-blockPaddingV;
  5925. }
  5926. }
  5927.  
  5928. &.block-row--highlighted
  5929. {
  5930. .xf-contentHighlightBase();
  5931. }
  5932.  
  5933. &.block-row--clickable:hover
  5934. {
  5935. .xf-contentHighlightBase();
  5936. }
  5937.  
  5938. &.is-mod-selected
  5939. {
  5940. background: @xf-inlineModHighlightColor;
  5941. }
  5942.  
  5943. > pre
  5944. {
  5945. &:first-child { margin-top: 0; }
  5946. &:last-child { margin-bottom: 0; }
  5947. }
  5948. }
  5949.  
  5950. .block-separator
  5951. {
  5952. margin: 0;
  5953. padding: 0;
  5954. border: none;
  5955. border-top: @xf-borderSize solid @xf-borderColorLight;
  5956. }
  5957.  
  5958. .block-footer
  5959. {
  5960. padding: @xf-blockPaddingV @xf-blockPaddingH;
  5961. .xf-blockFooter();
  5962. .m-clearFix();
  5963.  
  5964. &:first-child
  5965. {
  5966. border: none;
  5967. }
  5968.  
  5969. [data-app=admin] &
  5970. {
  5971. .block-footer-counter,
  5972. .block-footer-select
  5973. {
  5974. line-height: 30px;
  5975. }
  5976. }
  5977.  
  5978. &:not(.block-footer--split)
  5979. {
  5980. .block-footer-counter
  5981. {
  5982. float: left;
  5983. }
  5984.  
  5985. .block-footer-controls
  5986. {
  5987. float: right;
  5988. }
  5989. }
  5990.  
  5991. &.block-footer--split
  5992. {
  5993. display: flex;
  5994. align-items: center;
  5995.  
  5996. .block-footer-main,
  5997. .block-footer-counter
  5998. {
  5999. flex-grow: 1;
  6000.  
  6001. .has-no-flexbox &
  6002. {
  6003. float: left;
  6004. }
  6005. }
  6006.  
  6007. .block-footer-select:not(:last-child)
  6008. {
  6009. margin: 0 1em;
  6010. }
  6011.  
  6012. .block-footer-opposite,
  6013. .block-footer-controls
  6014. {
  6015. margin-left: auto;
  6016.  
  6017. .has-no-flexbox &
  6018. {
  6019. float: right;
  6020. }
  6021. }
  6022. }
  6023. }
  6024.  
  6025. @media (max-width: @xf-responsiveNarrow)
  6026. {
  6027. .block-outer
  6028. {
  6029. text-align: center;
  6030. }
  6031.  
  6032. .block-outer-main,
  6033. .block-outer-opposite
  6034. {
  6035. float: none;
  6036. text-align: center;
  6037. }
  6038.  
  6039. .block-outer-main + .block-outer-opposite
  6040. {
  6041. margin-top: @xf-paddingMedium;
  6042. }
  6043. }]]></template>
  6044. <template title="core_button.less" type="public" addon_id="XF" version_id="2000670" version_string="2.0.6"><![CDATA[// ############################ BUTTONS #################
  6045.  
  6046. .button,
  6047. a.button // needed for specificity over a:link
  6048. {
  6049. .m-buttonBase();
  6050.  
  6051. a
  6052. {
  6053. color: inherit;
  6054. text-decoration: none;
  6055. }
  6056.  
  6057. .xf-buttonDefault();
  6058. .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonDefault--background-color, transparent));
  6059.  
  6060. &.button--primary
  6061. {
  6062. .xf-buttonPrimary();
  6063. .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonPrimary--background-color, transparent));
  6064. }
  6065.  
  6066. &.button--cta
  6067. {
  6068. .xf-buttonCta();
  6069. .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonCta--background-color, transparent));
  6070. }
  6071.  
  6072. &.button--link
  6073. {
  6074. // block colors
  6075. .m-buttonBorderColorVariation(@xf-borderColor);
  6076. border:0;
  6077. &:hover,
  6078. &:active,
  6079. &:focus
  6080. {
  6081. text-decoration: none;
  6082. background: @xf-contentHighlightBg;
  6083. }
  6084. }
  6085.  
  6086. &.button--longText
  6087. {
  6088. white-space: normal;
  6089. text-align: left;
  6090. }
  6091.  
  6092. &.is-disabled
  6093. {
  6094. .xf-buttonDisabled();
  6095. .m-buttonBorderColorVariation(xf-default(@xf-buttonDisabled--background-color, transparent));
  6096.  
  6097. &:hover,
  6098. &:active,
  6099. &:focus
  6100. {
  6101. background: xf-default(@xf-buttonDisabled--background-color, transparent) !important;
  6102. }
  6103. }
  6104.  
  6105. &.button--scroll
  6106. {
  6107. background: fade(xf-default(@xf-buttonDefault--background-color, transparent), 75%);
  6108. padding: 5px 8px;
  6109.  
  6110. .m-dropShadow();
  6111. }
  6112.  
  6113. &.button--small
  6114. {
  6115. font-size: @xf-fontSizeSmaller;
  6116. padding: 3px 6px;
  6117. }
  6118.  
  6119. &.button--fullWidth
  6120. {
  6121. display: block;
  6122. }
  6123.  
  6124. &.button--icon
  6125. {
  6126. > .button-text:before
  6127. {
  6128. .m-faBase();
  6129. font-size: 120%;
  6130. vertical-align: -.1em;
  6131. display: inline-block;
  6132. margin: -.255em 6px -.255em 0;
  6133. }
  6134.  
  6135. &.button--iconOnly > .button-text
  6136. {
  6137. &:before
  6138. {
  6139. margin: 0;
  6140. }
  6141. }
  6142.  
  6143. &--add { .m-buttonIcon(@fa-var-plus-square, .79em); }
  6144. &--confirm { .m-buttonIcon(@fa-var-check, 1em); }
  6145. &--write { .m-buttonIcon(@fa-var-pencil-square-o, 1em); }
  6146. &--import { .m-buttonIcon(@fa-var-upload, .93em); }
  6147. &--export { .m-buttonIcon(@fa-var-download, .93em); }
  6148. &--download { .m-buttonIcon(@fa-var-download, .93em); }
  6149. &--disable { .m-buttonIcon(@fa-var-power-off); }
  6150. &--edit { .m-buttonIcon(@fa-var-pencil, .86em); }
  6151. &--save { .m-buttonIcon(@fa-var-save, .86em); }
  6152. &--reply { .m-buttonIcon(@fa-var-mail-reply, 1em); }
  6153. &--quote { .m-buttonIcon(@fa-var-quote-left, .93em); }
  6154. &--purchase { .m-buttonIcon(@fa-var-credit-card, 1.11em); }
  6155. &--payment { .m-buttonIcon(@fa-var-credit-card, 1.08em); }
  6156. &--convert { .m-buttonIcon(@fa-var-flash, .5em); }
  6157. &--search { .m-buttonIcon(@fa-var-search, .93em); }
  6158. &--sort { .m-buttonIcon(@fa-var-sort, .58em); }
  6159. &--upload { .m-buttonIcon(@fa-var-upload, .93em); }
  6160. &--attach { .m-buttonIcon(@fa-var-paperclip, .79em); }
  6161. &--login { .m-buttonIcon(@fa-var-lock, .65em); }
  6162. &--rate { .m-buttonIcon(@fa-var-star-half-empty, .93em); }
  6163. &--config { .m-buttonIcon(@fa-var-cog, .86em); }
  6164. &--refresh { .m-buttonIcon(@fa-var-refresh, .86em); }
  6165. &--translate { .m-buttonIcon(@fa-var-globe, .86em); }
  6166. &--vote { .m-buttonIcon(@fa-var-check-circle-o, .86em); }
  6167. &--result { .m-buttonIcon(@fa-var-bar-chart-o, 1.15em); }
  6168. &--history { .m-buttonIcon(@fa-var-history, .86em); }
  6169. &--cancel { .m-buttonIcon(@fa-var-remove, .86em); }
  6170. &--preview { .m-buttonIcon(@fa-var-eye, 1em); }
  6171. &--conversation { .m-buttonIcon(@fa-var-comments-o, 1em); }
  6172. &--bolt { .m-buttonIcon(@fa-var-bolt, .5em); }
  6173. &--list { .m-buttonIcon(@fa-var-list, .86em); }
  6174. &--prev { .m-buttonIcon(@fa-var-chevron-left, .71em); }
  6175. &--next { .m-buttonIcon(@fa-var-chevron-right, .71em); }
  6176. &--markRead { .m-buttonIcon(@fa-var-check-square-o, .93em); }
  6177.  
  6178. &--notificationsOn { .m-buttonIcon(@fa-var-bell-o, 1em); }
  6179. &--notificationsOff { .m-buttonIcon(@fa-var-bell-slash-o, 1.15em); }
  6180.  
  6181. // for inline mod confirmations
  6182. &--merge { .m-buttonIcon(@fa-var-compress, .86em); }
  6183. &--move { .m-buttonIcon(@fa-var-share, 1em); }
  6184. &--copy { .m-buttonIcon(@fa-var-clone, 1em); }
  6185. &--approve, &--unapprove { .m-buttonIcon(@fa-var-shield, .72em); }
  6186. &--delete, &--undelete { .m-buttonIcon(@fa-var-trash-o, .79em); }
  6187. &--stick, &--unstick { .m-buttonIcon(@fa-var-thumb-tack, .65em); }
  6188. &--lock { .m-buttonIcon(@fa-var-lock, .65em); }
  6189. &--unlock { .m-buttonIcon(@fa-var-unlock, .93em); }
  6190.  
  6191.  
  6192.  
  6193.  
  6194. //&--login:hover, &--login:active { .m-buttonIcon(@fa-var-unlock-alt, .65em); }
  6195. }
  6196.  
  6197. &.button--provider
  6198. {
  6199. > .button-text:before
  6200. {
  6201. .m-faBase();
  6202. font-size: 120%;
  6203. vertical-align: middle;
  6204. display: inline-block;
  6205. margin: -4px 6px -4px 0;
  6206. }
  6207.  
  6208. &--facebook
  6209. {
  6210. .m-buttonColorVariation(#3B5998, white);
  6211. .m-buttonIcon(@fa-var-facebook, .58em);
  6212. }
  6213.  
  6214. &--twitter
  6215. {
  6216. .m-buttonColorVariation(#1DA1F3, white);
  6217. .m-buttonIcon(@fa-var-twitter, .93em);
  6218. }
  6219.  
  6220. &--google
  6221. {
  6222. .m-buttonColorVariation(#4285F4, white);
  6223. .m-buttonIcon(@fa-var-google, .86em);
  6224. }
  6225.  
  6226. &--github
  6227. {
  6228. .m-buttonColorVariation(#666666, white);
  6229. .m-buttonIcon(@fa-var-github, .86em);
  6230. }
  6231.  
  6232. &--linkedin
  6233. {
  6234. .m-buttonColorVariation(#0077b5, white);
  6235. .m-buttonIcon(@fa-var-linkedin, .86em);
  6236. }
  6237.  
  6238. &--microsoft
  6239. {
  6240. .m-buttonColorVariation(#00bcf2, white);
  6241. .m-buttonIcon(@fa-var-windows, .93em);
  6242. }
  6243.  
  6244. &--yahoo
  6245. {
  6246. .m-buttonColorVariation(#410093, white);
  6247. .m-buttonIcon(@fa-var-yahoo, .86em);
  6248. }
  6249. }
  6250.  
  6251. &.button--splitTrigger
  6252. {
  6253. // button-text and button-menu are always children of button--splitTrigger
  6254. // but are defined here for reasons of specificity, as these border colors
  6255. // are overwritten by .m-buttonBorderColorVariation()
  6256. > .button-text { border-right: @xf-borderSize solid transparent; }
  6257. > .button-menu { border-left: @xf-borderSize solid transparent; }
  6258.  
  6259. .m-clearFix();
  6260. padding: 0;
  6261. font-size: 0;
  6262.  
  6263. button.button-text
  6264. {
  6265. background: transparent;
  6266. border: none;
  6267. border-right: @xf-borderSize solid transparent;
  6268. color: inherit;
  6269. }
  6270.  
  6271. > .button-text,
  6272. > .button-menu
  6273. {
  6274. .xf-buttonBase();
  6275. display: inline-block;
  6276.  
  6277. &:hover
  6278. {
  6279. &:after
  6280. {
  6281. opacity: 1;
  6282. }
  6283. }
  6284. }
  6285.  
  6286. > .button-text
  6287. {
  6288. .m-borderRightRadius(0);
  6289. }
  6290.  
  6291. > .button-menu
  6292. {
  6293. .m-borderLeftRadius(0);
  6294. padding-right: xf-default(@xf-buttonBase--padding-right, 0);// * (2/3);
  6295. padding-left: xf-default(@xf-buttonBase--padding-left, 0);// * (2/3);
  6296.  
  6297. &:after
  6298. {
  6299. .m-faBase();
  6300. .m-faContent(@fa-var-caret-down, .58em);
  6301. unicode-bidi: isolate;
  6302. opacity: .5;
  6303. }
  6304. }
  6305. }
  6306. }
  6307.  
  6308. .buttonGroup
  6309. {
  6310. display: inline-block;
  6311. vertical-align: top;
  6312. .m-clearFix();
  6313.  
  6314. &.buttonGroup--aligned
  6315. {
  6316. vertical-align: middle;
  6317. }
  6318.  
  6319. > .button
  6320. {
  6321. float: left;
  6322.  
  6323. &:not(:first-child)
  6324. {
  6325. border-left: none;
  6326. }
  6327.  
  6328. &:not(:first-child):not(:last-child)
  6329. {
  6330. border-radius: 0;
  6331. }
  6332.  
  6333. &:first-child:not(:last-child)
  6334. {
  6335. .m-borderRightRadius(0);
  6336. }
  6337.  
  6338. &:last-child:not(:first-child)
  6339. {
  6340. .m-borderLeftRadius(0);
  6341. }
  6342. }
  6343.  
  6344. > .buttonGroup-buttonWrapper
  6345. {
  6346. float: left;
  6347.  
  6348. &:not(:first-child) > .button
  6349. {
  6350. border-left: none;
  6351. }
  6352.  
  6353. &:not(:first-child):not(:last-child) > .button
  6354. {
  6355. border-radius: 0;
  6356. }
  6357.  
  6358. &:first-child:not(:last-child) > .button
  6359. {
  6360. .m-borderRightRadius(0);
  6361. }
  6362.  
  6363. &:last-child:not(:first-child) > .button
  6364. {
  6365. .m-borderLeftRadius(0);
  6366. }
  6367. }
  6368. }
  6369.  
  6370. .toggleButton
  6371. {
  6372. > input
  6373. {
  6374. display: none;
  6375. }
  6376.  
  6377. > span
  6378. {
  6379. .xf-buttonDisabled();
  6380. .m-buttonBorderColorVariation(xf-default(@xf-buttonDisabled--background-color, transparent));
  6381. }
  6382.  
  6383. &.toggleButton--small > span
  6384. {
  6385. font-size: @xf-fontSizeSmaller;
  6386. padding: @xf-paddingSmall;
  6387. }
  6388.  
  6389. > input:checked + span
  6390. {
  6391. .xf-buttonDefault();
  6392. .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonDefault--background-color, transparent));
  6393. }
  6394. }
  6395.  
  6396. .u-scrollButtons
  6397. {
  6398. position: fixed;
  6399. bottom: 30px;
  6400. right: (@xf-pageEdgeSpacer) / 2;
  6401.  
  6402. .has-hiddenscroll &
  6403. {
  6404. right: 20px;
  6405. }
  6406.  
  6407. z-index: @zIndex-9;
  6408.  
  6409. .m-transition(opacity, @xf-animationSpeed);
  6410. opacity: 0;
  6411. display: none;
  6412.  
  6413. &.is-transitioning
  6414. {
  6415. display: block;
  6416. }
  6417.  
  6418. &.is-active
  6419. {
  6420. display: block;
  6421. opacity: 1;
  6422. }
  6423.  
  6424. .button
  6425. {
  6426. display: block;
  6427.  
  6428. + .button
  6429. {
  6430. margin-top: (@xf-pageEdgeSpacer) / 2;
  6431. }
  6432. }
  6433. }]]></template>
  6434. <template title="core_formrow.less" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[// ########################################### FORM ROWS #################################
  6435.  
  6436. @_form-labelShiftInput: @xf-paddingMedium + @xf-borderSize; // technically input border-top-width + padding-top
  6437. @_form-labelButtonInput: 5px; // technically button border-top-width + padding-top, adjusted for text size differences
  6438. @_form-elementSpacer: @xf-paddingMedium;
  6439.  
  6440. .m-formRowBlockStyle()
  6441. {
  6442. display: block;
  6443.  
  6444. > dt,
  6445. > dd
  6446. {
  6447. width: auto;
  6448. display: block;
  6449. padding: ((@xf-formRowPaddingV) / 2) @xf-formRowPaddingHOuter @xf-formRowPaddingV;
  6450. }
  6451.  
  6452. > dt
  6453. {
  6454. background: none;
  6455. border: none;
  6456. text-align: left;
  6457. padding-bottom: 0;
  6458.  
  6459. .formRow-hint
  6460. {
  6461. display: inline;
  6462. }
  6463. }
  6464.  
  6465. &.formRow--input,
  6466. &.formRow--button
  6467. {
  6468. > dt
  6469. {
  6470. padding-top: ((@xf-formRowPaddingV) / 2);
  6471. }
  6472. }
  6473.  
  6474. > dd
  6475. {
  6476. padding-top: ((@xf-formRowPaddingV) / 2);
  6477. }
  6478.  
  6479. > dd > .inputChoices:first-child
  6480. {
  6481. padding-top: 0;
  6482. }
  6483. }
  6484.  
  6485. .formRow
  6486. {
  6487. display: table;
  6488. table-layout: fixed;
  6489. width: 100%;
  6490. margin: 0;
  6491. position: relative;
  6492.  
  6493. > dt,
  6494. > dd
  6495. {
  6496. display: table-cell;
  6497. vertical-align: top;
  6498. margin: 0;
  6499. }
  6500.  
  6501. > dt
  6502. {
  6503. border-right: @xf-borderSize solid transparent;
  6504. width: @xf-formLabelWidth;
  6505. padding: @xf-formRowPaddingV @xf-formRowPaddingHInner @xf-formRowPaddingV @xf-formRowPaddingHOuter;
  6506. }
  6507.  
  6508. > dd
  6509. {
  6510. width: (100% - @xf-formLabelWidth);
  6511. padding: @xf-formRowPaddingV @xf-formRowPaddingHOuter @xf-formRowPaddingV @xf-formRowPaddingHInner;
  6512. }
  6513.  
  6514. &.formRow--input > dt
  6515. {
  6516. padding-top: (@xf-formRowPaddingV + @_form-labelShiftInput);
  6517. }
  6518.  
  6519. &.formRow--button > dt
  6520. {
  6521. padding-top: (@xf-formRowPaddingV + @_form-labelButtonInput);
  6522. }
  6523.  
  6524. &.formRow--inputLabelPair > dt
  6525. {
  6526. padding-top: (@xf-formRowPaddingV * 2);
  6527. }
  6528.  
  6529. &.formRow--valueToEdge > dd
  6530. {
  6531. padding-left: 0;
  6532. padding-right: 0;
  6533. }
  6534.  
  6535. &.formRow--limited
  6536. {
  6537. display: none;
  6538. }
  6539.  
  6540. &.formRow--fullWidth
  6541. {
  6542. .m-formRowBlockStyle();
  6543.  
  6544. & + .formRow,
  6545. .formRow + &,
  6546. & + * > .formRow:first-of-type, // allows formRows to be wrapped
  6547. .formRow + * > &:first-of-type // in a single-depth grouping element
  6548. {
  6549. border-top: @xf-borderSize solid @xf-borderColorLight;
  6550. }
  6551.  
  6552. &.formRow--noLabel
  6553. {
  6554. > dt
  6555. {
  6556. display: none;
  6557. }
  6558.  
  6559. > dd
  6560. {
  6561. padding-top: @xf-formRowPaddingV;
  6562. }
  6563. }
  6564.  
  6565. & + .formRow--mergePrev,
  6566. & + * > .formRow:first-of-type.formRow--mergePrev,
  6567. &.formRow--mergeNext + &,
  6568. &.formRow--mergeNext + * > &:first-of-type
  6569. {
  6570. border-top: 0;
  6571.  
  6572. > dt
  6573. {
  6574. padding-top: 0;
  6575. }
  6576. }
  6577.  
  6578. &.formRow--noGutter
  6579. {
  6580. > dt,
  6581. > dd
  6582. {
  6583. padding-left: 0;
  6584. padding-right: 0;
  6585. }
  6586. }
  6587.  
  6588. &.formRow--noPadding
  6589. {
  6590. > dt,
  6591. > dd
  6592. {
  6593. padding: 0;
  6594. }
  6595. }
  6596.  
  6597. &.formRow--noPadding + &,
  6598. &.formRow--noPadding + * > &:first-of-type
  6599. {
  6600. > dt
  6601. {
  6602. padding-top: @xf-formRowPaddingV;
  6603. }
  6604. }
  6605. }
  6606.  
  6607. .formRow-label
  6608. {
  6609. .m-appendColon();
  6610. }
  6611.  
  6612. &.formRow--noColon .formRow-label:after
  6613. {
  6614. content: "";
  6615. }
  6616.  
  6617. .formRow-explain
  6618. {
  6619. margin: @_form-elementSpacer 0 0;
  6620. .m-formElementExplain();
  6621. }
  6622.  
  6623. &.formRow--explainOffset .formRow-explain
  6624. {
  6625. margin-top: (@_form-elementSpacer) * 2;
  6626. }
  6627.  
  6628. .formRow-hint
  6629. {
  6630. display: block;
  6631. font-style: normal;
  6632. .xf-formHint();
  6633.  
  6634. .m-textColoredLinks();
  6635.  
  6636. .formRow-hint-featured
  6637. {
  6638. display: block;
  6639. //font-weight: @xf-fontWeightHeavy;
  6640. color: @xf-textColorFeature;
  6641. }
  6642. }
  6643.  
  6644. + .formInfoRow
  6645. {
  6646. border-top: @xf-borderSize solid @xf-borderColorLight;
  6647. }
  6648.  
  6649. @media (max-width: @xf-formResponsive)
  6650. {
  6651. .m-formRowBlockStyle();
  6652. }
  6653. }
  6654.  
  6655. .formButtonGroup
  6656. {
  6657. display: flex;
  6658. flex-wrap: wrap;
  6659. margin-top: @xf-paddingLarge;
  6660. margin-bottom: -5px;
  6661.  
  6662. .has-no-flexbox
  6663. {
  6664. .m-clearFix();
  6665. }
  6666. }
  6667.  
  6668. .formButtonGroup-primary
  6669. {
  6670. order: 2;
  6671. margin-left: auto;
  6672. margin-bottom: 5px;
  6673.  
  6674. .has-no-flexbox
  6675. {
  6676. float: right;
  6677. }
  6678. }
  6679.  
  6680. .formButtonGroup-extra
  6681. {
  6682. order: 1;
  6683. margin-bottom: 5px;
  6684.  
  6685. .has-no-flexbox
  6686. {
  6687. float: left;
  6688. }
  6689. }
  6690.  
  6691. .formInfoRow
  6692. {
  6693. padding: @xf-formRowPaddingV @xf-formRowPaddingHOuter;
  6694.  
  6695. &.formInfoRow--close
  6696. {
  6697. padding-top: ((@xf-formRowPaddingV) / 2);
  6698. padding-bottom: ((@xf-formRowPaddingV) / 2);
  6699. }
  6700.  
  6701. &.formInfoRow--noPadding
  6702. {
  6703. padding: 0;
  6704. }
  6705.  
  6706. &.formInfoRow--confirm
  6707. {
  6708. text-align: center;
  6709.  
  6710. strong
  6711. {
  6712. display: block;
  6713. margin: .5em 0;
  6714. font-size: @xf-fontSizeLarger;
  6715.  
  6716. &:last-child
  6717. {
  6718. margin-bottom: 0;
  6719. }
  6720. }
  6721. }
  6722.  
  6723. + .formRow
  6724. {
  6725. border-top: @xf-borderSize solid @xf-borderColorLight;
  6726. }
  6727.  
  6728. &.u-hidden:not(.is-active)
  6729. {
  6730. + .formRow
  6731. {
  6732. border-top: none;
  6733. }
  6734. }
  6735.  
  6736. > .blockMessage
  6737. {
  6738. &:first-child { margin-top: 0; }
  6739. &:last-child { margin-bottom: 0; }
  6740. }
  6741. }
  6742.  
  6743. .formSubmitRow
  6744. {
  6745. position: relative;
  6746.  
  6747. > dt
  6748. {
  6749. display: none;
  6750. }
  6751.  
  6752. > dd
  6753. {
  6754. width: 100%;
  6755. padding: 0;
  6756. }
  6757.  
  6758. &.formSubmitRow--sticky.is-sticky
  6759. {
  6760. .formSubmitRow-main
  6761. {
  6762. position: fixed;
  6763. bottom: 0;
  6764. z-index: @zIndex-2;
  6765. }
  6766.  
  6767. .formSubmitRow-bar
  6768. {
  6769. box-shadow: 0px -5px 15px fade(black, 15%);
  6770. }
  6771. }
  6772.  
  6773. &.formSubmitRow--simple
  6774. {
  6775. > dt
  6776. {
  6777. visibility: hidden;
  6778. }
  6779.  
  6780. .formSubmitRow-controls
  6781. {
  6782. text-align: center;
  6783. padding-left: 0;
  6784. margin-left: 0;
  6785. }
  6786. }
  6787.  
  6788. .block-body--collapsible:not(.is-active) + &:not(.formSubmitRow--simple)
  6789. {
  6790. > dt
  6791. {
  6792. visibility: hidden;
  6793. }
  6794. }
  6795. }
  6796.  
  6797. .formSubmitRow-main
  6798. {
  6799. position: relative;
  6800. }
  6801.  
  6802. .formSubmitRow-bar
  6803. {
  6804. position: absolute;
  6805. top: 0;
  6806. right: 0;
  6807. bottom: 0;
  6808. left: 0;
  6809.  
  6810. }
  6811.  
  6812. .formSubmitRow-controls
  6813. {
  6814. position: relative;
  6815. padding-left: @xf-formLabelWidth;
  6816. padding-top: @xf-paddingMedium;
  6817. padding-bottom: @xf-paddingMedium;
  6818. margin-left: @xf-formRowPaddingHInner;
  6819. margin-right: @xf-formRowPaddingHOuter;
  6820.  
  6821. > .button:first-child:last-child
  6822. {
  6823. min-width: 120px;
  6824. }
  6825. }
  6826.  
  6827. @media (max-width: @xf-formResponsive)
  6828. {
  6829. .formSubmitRow-controls
  6830. {
  6831. padding-left: 0;
  6832. text-align: center;
  6833. }
  6834. }
  6835.  
  6836. .formRowSep
  6837. {
  6838. margin: -1px @xf-formRowPaddingHOuter 0;
  6839. border: none;
  6840. border-top: @xf-borderSize solid @xf-borderColor;
  6841.  
  6842. + .formRowSep,
  6843. &:last-child
  6844. {
  6845. display: none;
  6846. }
  6847. }]]></template>
  6848. <template title="core_hscroller.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ##################################### HORIZONTAL SCROLLER ###################
  6849.  
  6850. .hScroller
  6851. {
  6852. overflow-y: hidden;
  6853. position: relative;
  6854. -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  6855. -webkit-overflow-scrolling: touch;
  6856.  
  6857. &.hScroller--scrollHidden
  6858. {
  6859. .hScroller-action
  6860. {
  6861. opacity: 0;
  6862. .m-transition();
  6863. }
  6864.  
  6865. .has-no-touchevents &:hover .hScroller-action
  6866. {
  6867. opacity: 1;
  6868. }
  6869. }
  6870. }
  6871.  
  6872. .hScroller-scroll
  6873. {
  6874. display: block;
  6875. white-space: nowrap;
  6876. word-wrap: normal;
  6877. overflow-x: hidden;
  6878.  
  6879. &.is-calculated
  6880. {
  6881. overflow-x: scroll;
  6882. // pushes the scrollbar out of view
  6883. }
  6884. }
  6885.  
  6886. .hScroller-action
  6887. {
  6888. position: absolute;
  6889. top: 0;
  6890. bottom: 0;
  6891. width: 40px;
  6892. padding: 0 5px;
  6893. display: none;
  6894. cursor: pointer;
  6895.  
  6896. &.is-active
  6897. {
  6898. display: block;
  6899. display: flex;
  6900. align-items: center;
  6901. }
  6902.  
  6903. &:after
  6904. {
  6905. .m-faBase();
  6906. font-size: 120%;
  6907. }
  6908.  
  6909. &.hScroller-action--start
  6910. {
  6911. left: 0;
  6912. justify-content: flex-start;
  6913. text-align: left;
  6914.  
  6915. &:after
  6916. {
  6917. .m-faContent(@fa-var-chevron-left, .72em, ltr);
  6918. .m-faContent(@fa-var-chevron-right, .72em, rtl);
  6919. }
  6920. }
  6921.  
  6922. &.hScroller-action--end
  6923. {
  6924. right: 0;
  6925. justify-content: flex-end;
  6926. text-align: right;
  6927.  
  6928. &:after
  6929. {
  6930. .m-faContent(@fa-var-chevron-right, .72em, ltr);
  6931. .m-faContent(@fa-var-chevron-left, .72em, rtl);
  6932. }
  6933. }
  6934. }
  6935.  
  6936. .scrollMeasure
  6937. {
  6938. position: absolute;
  6939. top: -1000px;
  6940. width: 100px;
  6941. height: 100px;
  6942. overflow: scroll;
  6943. visibility: hidden;
  6944. }]]></template>
  6945. <template title="core_list.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ##################################### LISTS ##################
  6946.  
  6947. .pairs
  6948. {
  6949. padding: 0;
  6950. margin: 0;
  6951. overflow: hidden;
  6952.  
  6953. &.pairs--plainLabel
  6954. {
  6955. > dt
  6956. {
  6957. color: inherit;
  6958. }
  6959. }
  6960.  
  6961. &.pairs--spaced + .pairs
  6962. {
  6963. margin-top: @xf-paddingMedium;
  6964. }
  6965.  
  6966. &.pairs--noColon
  6967. {
  6968. > dt
  6969. {
  6970. &:after
  6971. {
  6972. content: "";
  6973. }
  6974. }
  6975. }
  6976.  
  6977. > dt
  6978. {
  6979. padding: 0;
  6980. margin: 0;
  6981. color: @xf-textColor;
  6982.  
  6983. .m-appendColon();
  6984. }
  6985.  
  6986. > dd
  6987. {
  6988. padding: 0;
  6989. margin: 0;
  6990. }
  6991.  
  6992. &.pairs--inline
  6993. {
  6994. display: inline;
  6995.  
  6996. > dt,
  6997. > dd
  6998. {
  6999. display: inline;
  7000. }
  7001. }
  7002.  
  7003. &.pairs--columns
  7004. {
  7005. display: table;
  7006. table-layout: fixed;
  7007. width: 100%;
  7008.  
  7009. > dt,
  7010. > dd
  7011. {
  7012. display: table-cell;
  7013. }
  7014.  
  7015. > dt
  7016. {
  7017. width: 50%;
  7018. padding-right: @xf-paddingMedium;
  7019. }
  7020.  
  7021. &.pairs--fixedSmall > dt
  7022. {
  7023. width: 200px;
  7024. }
  7025. &.pairs--fluidSmall > dt
  7026. {
  7027. width: 25%;
  7028. }
  7029. &.pairs--fluidHuge > dt
  7030. {
  7031. width: 70%;
  7032. }
  7033.  
  7034. @media (max-width: 500px)
  7035. {
  7036. display: block;
  7037.  
  7038. > dt,
  7039. > dd
  7040. {
  7041. display: block;
  7042. }
  7043.  
  7044. &.pairs > dt // the .pairs repetition is to increase specificity to override all fixed/fluid options
  7045. {
  7046. width: auto;
  7047. padding-right: 0;
  7048. }
  7049.  
  7050. & + .pairs
  7051. {
  7052. margin-top: @xf-paddingMedium;
  7053. }
  7054. }
  7055. }
  7056.  
  7057. &.pairs--justified
  7058. {
  7059. .m-clearFix();
  7060.  
  7061. > dt
  7062. {
  7063. float: left;
  7064. max-width: 100%;
  7065. margin-right: @xf-paddingMedium;
  7066. }
  7067.  
  7068. > dd
  7069. {
  7070. float: right;
  7071. text-align: right;
  7072. max-width: 100%;
  7073. }
  7074. }
  7075.  
  7076. &.pairs--rows
  7077. {
  7078. display: inline-table;
  7079. margin-right: @xf-paddingMedium;
  7080.  
  7081. &.pairs--rows--centered
  7082. {
  7083. > dt,
  7084. > dd
  7085. {
  7086. text-align: center;
  7087. }
  7088. }
  7089.  
  7090. &:last-of-type
  7091. {
  7092. margin-right: 0;
  7093. }
  7094.  
  7095. > dt
  7096. {
  7097. display: table-row;
  7098. font-size: 80%;
  7099.  
  7100. &:after
  7101. {
  7102. content: '';
  7103. display: none;
  7104. }
  7105. }
  7106.  
  7107. > dd
  7108. {
  7109. display: table-row;
  7110. }
  7111. }
  7112. }
  7113.  
  7114. .pairJustifier
  7115. {
  7116. display: flex;
  7117. flex-wrap: wrap;
  7118. justify-content: space-between;
  7119.  
  7120. margin-right: -5px;
  7121. margin-bottom: -5px;
  7122.  
  7123. .pairs.pairs--rows
  7124. {
  7125. margin-right: 5px;
  7126. margin-bottom: 5px;
  7127. }
  7128. }
  7129.  
  7130. .listPlain
  7131. {
  7132. .m-listPlain();
  7133. }
  7134.  
  7135. .listInline
  7136. {
  7137. .m-listPlain();
  7138.  
  7139. &.listInline--selfInline
  7140. {
  7141. display: inline;
  7142. }
  7143.  
  7144. > li
  7145. {
  7146. display: inline;
  7147. margin: 0;
  7148. padding: 0;
  7149. }
  7150.  
  7151. &.listInline--block
  7152. {
  7153. > li
  7154. {
  7155. display: inline-block;
  7156. }
  7157. }
  7158.  
  7159. &.listInline--comma
  7160. {
  7161. > li:after
  7162. {
  7163. content: "{$xf.language.comma_separator}";
  7164. }
  7165.  
  7166. > li:last-child:after
  7167. {
  7168. content: "";
  7169. display: none;
  7170. }
  7171. }
  7172.  
  7173. &.listInline--bullet
  7174. {
  7175. > li:before
  7176. {
  7177. content: "\00B7\20";
  7178. }
  7179.  
  7180. > li:first-child:before
  7181. {
  7182. content: "";
  7183. display: none;
  7184. }
  7185. }
  7186. }
  7187.  
  7188. .listHeap
  7189. {
  7190. .m-listPlain();
  7191. margin-top: -4px;
  7192.  
  7193. > li
  7194. {
  7195. margin: 0;
  7196. padding: 0;
  7197. display: inline-block;
  7198. margin-right: -1px;
  7199. margin-top: 4px;
  7200.  
  7201. &:last-child
  7202. {
  7203. margin-right: 0;
  7204. }
  7205. }
  7206. }
  7207.  
  7208. .listColumns
  7209. {
  7210. .m-columns(2, @xf-responsiveNarrow);
  7211.  
  7212. > li
  7213. {
  7214. .m-columnBreakAvoid();
  7215. position: relative; // workaround Chrome quirk with hover triggers in visitor menu
  7216. }
  7217.  
  7218. &.listColumns--spaced
  7219. {
  7220. > li
  7221. {
  7222. margin-bottom: .5em;
  7223. }
  7224. }
  7225.  
  7226. &.listColumns--narrow
  7227. {
  7228. .m-columns(2);
  7229. }
  7230.  
  7231. &.listColumns--together
  7232. {
  7233. -moz-column-gap: 0;
  7234. -webkit-column-gap: 0;
  7235. column-gap: 0;
  7236. }
  7237.  
  7238. &.listColumns--collapsed
  7239. {
  7240. display: inline-block;
  7241. }
  7242. }
  7243.  
  7244. .textHighlight
  7245. {
  7246. font-style: normal;
  7247. font-weight: @xf-fontWeightHeavy;
  7248.  
  7249. &.textHighlight--attention
  7250. {
  7251. color: @xf-textColorAttention;
  7252. }
  7253. }]]></template>
  7254. <template title="core_menu.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ###################################### MENUS ######################
  7255.  
  7256. @_menu-arrowSize: 8px;
  7257. @_menu-edgePadding: @xf-pageEdgeSpacer;
  7258. @_menu-paddingV: @xf-paddingMedium;
  7259. @_menu-paddingH: @xf-paddingLargest;
  7260.  
  7261. .menuTrigger
  7262. {
  7263. cursor: pointer;
  7264.  
  7265. &:after
  7266. {
  7267. .m-faBase();
  7268. .m-faContent(" @{fa-var-caret-down}");
  7269. unicode-bidi: isolate; // this is needed to ensure correct positioning in RTL with LTR text
  7270. }
  7271. }
  7272.  
  7273. .menuOutsideClicker
  7274. {
  7275. position: fixed;
  7276. display: none;
  7277. top: 0;
  7278. right: 0;
  7279. bottom: 0;
  7280. left: 0;
  7281. z-index: 2; // above non set stuff but below anything intentionally set
  7282.  
  7283. &.is-active
  7284. {
  7285. display: block;
  7286. -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  7287. }
  7288. }
  7289.  
  7290. .menu
  7291. {
  7292. .m-transitionFade();
  7293.  
  7294. position: absolute;
  7295. z-index: @zIndex-2;
  7296. margin: @_menu-arrowSize 0 0;
  7297. min-width: 240px;
  7298. max-width: 320px;
  7299. border-radius: @xf-menuBorderRadius;
  7300.  
  7301. .m-dropShadow(0, 5px, 10px, 0, .35);
  7302.  
  7303. &.menu--structural
  7304. {
  7305. margin-top: 0;
  7306.  
  7307. // when menus nudge up against structure, the joined corner should not be radiused
  7308. &.menu--left
  7309. {
  7310. border-top-left-radius: 0;
  7311. }
  7312. &.menu--right
  7313. {
  7314. border-top-right-radius: 0;
  7315. }
  7316. }
  7317.  
  7318. &.menu--veryWide
  7319. {
  7320. width: 500px;
  7321. max-width: 100%;
  7322. }
  7323.  
  7324. &.menu--wide
  7325. {
  7326. width: 350px;
  7327. max-width: 100%;
  7328. }
  7329.  
  7330. &.menu--medium
  7331. {
  7332. width: 300px;
  7333. max-width: 100%;
  7334. }
  7335.  
  7336. &.menu--potentialFixed
  7337. {
  7338. z-index: @zIndex-4;
  7339. }
  7340. }
  7341.  
  7342. .menu-arrow
  7343. {
  7344. position: absolute;
  7345. width: 0;
  7346. height: 0;
  7347. border: 0 solid transparent;
  7348.  
  7349. top: -@_menu-arrowSize;
  7350. -ltr-rtl-left: 50%;
  7351. -ltr-rtl-margin-left: -@_menu-arrowSize;
  7352. .m-triangleUp(@xf-menuFeatureBorderColor, @_menu-arrowSize);
  7353.  
  7354. .menu--structural &
  7355. {
  7356. top: -@_menu-arrowSize;
  7357. }
  7358.  
  7359. .menu--up &
  7360. {
  7361. display: none;
  7362. }
  7363. }
  7364.  
  7365. .menu-content
  7366. {
  7367. margin: 0;
  7368. padding: 0;
  7369. list-style: none;
  7370. text-align: left;
  7371. .xf-menu();
  7372. border-radius: @xf-menuBorderRadius;
  7373. border-top: @xf-borderSizeFeature solid @xf-menuFeatureBorderColor;
  7374.  
  7375. // when menus nudge up against structure, the joined corner should not be radiused
  7376. .menu--structural.menu--left &
  7377. {
  7378. border-top-left-radius: 0;
  7379. }
  7380. .menu--structural.menu--right &
  7381. {
  7382. border-top-right-radius: 0;
  7383. }
  7384.  
  7385. // potentially fixed menus
  7386. .menu--potentialFixed &
  7387. {
  7388. overflow: auto;
  7389. max-height: 450px;
  7390. max-height: 80vh;
  7391. }
  7392.  
  7393. > :last-child
  7394. {
  7395. border-bottom-left-radius: @xf-menuBorderRadius;
  7396. border-bottom-right-radius: @xf-menuBorderRadius;
  7397. }
  7398. }
  7399.  
  7400. .menu--pageJump
  7401. {
  7402. width: auto;
  7403. min-width: 0;
  7404. }
  7405.  
  7406. .menu-header
  7407. {
  7408. padding: @xf-blockPaddingV @_menu-paddingH;
  7409. margin: 0;
  7410. font-weight: @xf-fontWeightNormal;
  7411. text-decoration: none;
  7412. .xf-menuHeader();
  7413.  
  7414. .m-clearFix();
  7415. .m-hiddenLinks();
  7416. }
  7417.  
  7418. .menu-tabHeader
  7419. {
  7420. padding: 0;
  7421. margin: 0;
  7422. font-weight: @xf-fontWeightNormal;
  7423. text-decoration: none;
  7424. .xf-menuTabHeader();
  7425. .m-tabsTogether(xf-default(@xf-menuTabHeader--font-size, @xf-fontSizeNormal));
  7426.  
  7427. .tabs-tab
  7428. {
  7429. padding: @xf-blockPaddingV @_menu-paddingH max(0px, @xf-blockPaddingV - @xf-borderSizeFeature);
  7430. border-bottom: @xf-borderSizeFeature solid transparent;
  7431.  
  7432. &:hover
  7433. {
  7434. color: @xf-blockMinorTabHeaderSelected--color;
  7435. }
  7436.  
  7437. &.is-active
  7438. {
  7439. .xf-menuTabHeaderSelected();
  7440. }
  7441. }
  7442.  
  7443. .hScroller-action
  7444. {
  7445. .m-hScrollerActionColorVariation(
  7446. xf-default(@xf-menuTabHeader--background-color, transparent),
  7447. @xf-menuTabHeader--color,
  7448. @xf-blockMinorTabHeaderSelected--color
  7449. );
  7450. }
  7451. }
  7452.  
  7453. .menu-scroller
  7454. {
  7455. overflow: auto;
  7456. max-height: 300px;
  7457. max-height: 60vh;
  7458. }
  7459.  
  7460. .menu-row
  7461. {
  7462. margin: 0;
  7463. padding: @_menu-paddingV @_menu-paddingH;
  7464. .m-clearFix();
  7465.  
  7466. &.menu-row--alt
  7467. {
  7468. .xf-contentAltBase();
  7469. }
  7470.  
  7471. &.menu-row--highlighted
  7472. {
  7473. .xf-contentHighlightBase();
  7474. }
  7475.  
  7476. &.menu-row--separated
  7477. {
  7478. + .menu-row
  7479. {
  7480. border-top: @xf-borderSize solid @xf-borderColorLight;
  7481. }
  7482. }
  7483.  
  7484. &.menu-row--clickable:hover
  7485. {
  7486. background: @xf-contentHighlightBg;
  7487. }
  7488.  
  7489. &:empty
  7490. {
  7491. padding: 0;
  7492. }
  7493. }
  7494.  
  7495. .menu-linkRow
  7496. {
  7497. display: block;
  7498. padding: @_menu-paddingV @_menu-paddingH @_menu-paddingV (@_menu-paddingH) - (@xf-borderSizeFeature);
  7499. border-left: @xf-borderSizeFeature solid transparent;
  7500. .xf-menuLinkRow();
  7501.  
  7502. &.menu-linkRow--alt
  7503. {
  7504. .xf-contentAltBase();
  7505. }
  7506.  
  7507. &.is-selected,
  7508. &:hover,
  7509. &:focus
  7510. {
  7511. .xf-menuLinkRowSelected();
  7512.  
  7513. border-left-color: fade(@xf-borderColorFeature, 50%);
  7514.  
  7515. &:focus
  7516. {
  7517. outline: 0;
  7518. }
  7519.  
  7520. &.is-selected
  7521. {
  7522. border-left-color: @xf-borderColorFeature;
  7523. }
  7524. }
  7525.  
  7526. i[aria-hidden=true]
  7527. {
  7528. font-size: @xf-fontSizeSmall;
  7529. display: inline-block;
  7530. width: 23px; // about 1.75em at this font size
  7531.  
  7532. &:after
  7533. {
  7534. .m-faBase();
  7535. color: @xf-textColorMuted;
  7536. left: @xf-blockPaddingH;
  7537. }
  7538.  
  7539. & ~ .menu-linkRow-hint
  7540. {
  7541. padding-left: 23px;
  7542. }
  7543. }
  7544.  
  7545. &:hover i[aria-hidden=true]:after
  7546. {
  7547. color: @xf-linkHoverColor;
  7548. }
  7549. }
  7550.  
  7551. .menu-linkRow-hint
  7552. {
  7553. font-style: inherit;
  7554. font-size: @xf-fontSizeSmallest;
  7555. color: @xf-textColorMuted;
  7556. display: block;
  7557. }
  7558.  
  7559. .menu-separator
  7560. {
  7561. margin: 0 (@_menu-paddingH) / 2;
  7562. padding: 0;
  7563. border: none;
  7564. border-top: @xf-borderSize solid @xf-borderColorLight;
  7565.  
  7566. &.menu-separator--hard
  7567. {
  7568. margin: 0;
  7569. }
  7570.  
  7571. & + .menu-separator,
  7572. &:last-child
  7573. {
  7574. display: none;
  7575. }
  7576. }
  7577.  
  7578. .menu-footer
  7579. {
  7580. padding: @xf-blockPaddingV @_menu-paddingH;
  7581. .m-clearFix();
  7582.  
  7583. &:not(.menu-footer--split)
  7584. {
  7585. .menu-footer-counter
  7586. {
  7587. float: left;
  7588. }
  7589.  
  7590. .menu-footer-controls
  7591. {
  7592. float: right;
  7593. }
  7594. }
  7595.  
  7596. &.menu-footer--split
  7597. {
  7598. display: flex;
  7599. align-items: center;
  7600.  
  7601. .menu-footer-main,
  7602. .menu-footer-counter
  7603. {
  7604. flex-grow: 1;
  7605.  
  7606. .has-no-flexbox &
  7607. {
  7608. float: left;
  7609. }
  7610. }
  7611.  
  7612. .menu-footer-select:not(:last-child)
  7613. {
  7614. margin: 0 1em;
  7615. }
  7616.  
  7617. .menu-footer-opposite,
  7618. .menu-footer-controls
  7619. {
  7620. margin-left: auto;
  7621.  
  7622. .has-no-flexbox &
  7623. {
  7624. float: right;
  7625. }
  7626. }
  7627. }
  7628. }]]></template>
  7629. <template title="core_overlay.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// #################################### OVERLAYS ################################
  7630.  
  7631. .overlay-container
  7632. {
  7633. display: none;
  7634. position: fixed;
  7635. top: 0;
  7636. bottom: 0;
  7637. left: 0;
  7638. right: 0;
  7639. z-index: @zIndex-6;
  7640. background: @xf-overlayMaskColor;
  7641. -webkit-overflow-scrolling: touch;
  7642. opacity: 0;
  7643. .m-transition(opacity);
  7644.  
  7645. &.is-transitioning
  7646. {
  7647. display: block;
  7648. }
  7649.  
  7650. &.is-active
  7651. {
  7652. display: block;
  7653. opacity: 1;
  7654. }
  7655. }
  7656.  
  7657. .overlay
  7658. {
  7659. position: relative;
  7660. margin: 40px auto 10px;
  7661. margin-top: @xf-overlayTopMargin;
  7662. width: 100%;
  7663. max-width: 800px;
  7664. background: #fff;
  7665. color: @xf-textColor;
  7666. border-radius: @xf-blockBorderRadius;
  7667. .m-dropShadow(0, 5px, 15px, 0, .5);
  7668. outline: none;
  7669.  
  7670. > .overlay-title:first-child,
  7671. .overlay-firstChild
  7672. {
  7673. border-top-left-radius: @xf-blockBorderRadius;
  7674. border-top-right-radius: @xf-blockBorderRadius;
  7675. }
  7676.  
  7677. > .overlay-content > *:last-child,
  7678. .overlay-lastChild
  7679. {
  7680. border-bottom-left-radius: @xf-blockBorderRadius;
  7681. border-bottom-right-radius: @xf-blockBorderRadius;
  7682. }
  7683. }
  7684.  
  7685. @media (max-width: 820px)
  7686. {
  7687. .overlay
  7688. {
  7689. max-width: ~"calc(100% - 20px)";
  7690. }
  7691. }
  7692.  
  7693. .overlay-title
  7694. {
  7695. .m-clearFix();
  7696.  
  7697. display: none;
  7698. margin: 0;
  7699. font-weight: @xf-fontWeightNormal;
  7700. .xf-overlayHeader();
  7701.  
  7702. .overlay &
  7703. {
  7704. display: block;
  7705. }
  7706. }
  7707.  
  7708. .overlay-titleCloser
  7709. {
  7710. float: right;
  7711. cursor: pointer;
  7712. margin-left: 5px;
  7713. text-decoration: none;
  7714. opacity: .5;
  7715. .m-transition();
  7716.  
  7717. &:after
  7718. {
  7719. .m-faBase();
  7720. .m-faContent(@fa-var-close, .79em);
  7721. }
  7722.  
  7723. &:hover
  7724. {
  7725. text-decoration: none;
  7726. opacity: 1;
  7727. }
  7728. }
  7729.  
  7730. .overlay-content
  7731. {
  7732. .m-clearFix();
  7733. }
  7734.  
  7735. // when displaying a modal, prevent scrolling on the main content but allow it on the overlay
  7736. body.is-modalOpen
  7737. {
  7738. overflow: hidden !important;
  7739.  
  7740. .overlay-container,
  7741. .offCanvasMenu
  7742. {
  7743. overflow-y: scroll !important;
  7744. }
  7745. }
  7746.  
  7747. @media (max-width: @xf-responsiveNarrow)
  7748. {
  7749. .overlay-title
  7750. {
  7751. font-size: @xf-fontSizeLarger;
  7752. }
  7753. }
  7754.  
  7755. // ############################### OVERLAY/BLOCK NESTING ##############################
  7756.  
  7757. .block-container > .tabPanes > li,
  7758. .block-container > .block-body,
  7759. .block-container > .block-body > .block-row,
  7760. .overlay-content
  7761. {
  7762. > .blocks > .block > .block-container,
  7763. > .block > .block-container,
  7764. > .blockMessage
  7765. {
  7766. margin-left: 0;
  7767. margin-right: 0;
  7768. border-left: none;
  7769. border-right: none;
  7770. }
  7771.  
  7772. > .blocks > .block:first-child,
  7773. > .block:first-child,
  7774. > .blockMessage:first-child
  7775. {
  7776. margin-top: 0;
  7777.  
  7778. .block-outer:not(.block-outer--after)
  7779. {
  7780. border-bottom: @xf-borderSize solid @xf-borderColorLight;
  7781. padding: @xf-blockPaddingV;
  7782. }
  7783. }
  7784.  
  7785. > .blocks > .block:last-child,
  7786. > .block:last-child,
  7787. > .blockMessage:last-child
  7788. {
  7789. margin-bottom: 0;
  7790.  
  7791. .block-outer.block-outer--after
  7792. {
  7793. border-top: @xf-borderSize solid @xf-borderColorLight;
  7794. padding: @xf-blockPaddingV;
  7795. }
  7796. }
  7797.  
  7798. > .blocks > .block:first-child > .block-container,
  7799. > .block:first-child > .block-container,
  7800. > .blockMessage:first-child
  7801. {
  7802. border-top: none;
  7803. }
  7804.  
  7805. > .blocks > .block:last-child > .block-container,
  7806. > .block:last-child > .block-container,
  7807. > .blockMessage:last-child
  7808. {
  7809. border-bottom: none;
  7810. }
  7811.  
  7812. > .blocks > .block:not(:first-child) > .block-container,
  7813. > .block:not(:first-child) > .block-container,
  7814. > .blockMessage:not(:first-child)
  7815. {
  7816. .m-borderTopRadius(0);
  7817. }
  7818.  
  7819. > .blocks > .block:not(:last-child) > .block-container,
  7820. > .block:not(:last-child) > .block-container,
  7821. > .blockMessage:not(:last-child)
  7822. {
  7823. .m-borderBottomRadius(0);
  7824. }
  7825. }]]></template>
  7826. <template title="core_pagenav.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ####################################### PAGE NAVIGATION ########################
  7827.  
  7828. @_page-paddingV: xf-default(@xf-buttonBase--padding-top, 6px);
  7829. @_page-paddingH: 8px;
  7830. @_page-paddingHSimple: 10px;
  7831.  
  7832. .pageNavWrapper {}
  7833.  
  7834. .m-pageNavElCore()
  7835. {
  7836. background: linear-gradient(0deg, @xf-contentHighlightBg, mix(@xf-contentHighlightBg, @xf-contentBg, 25%));
  7837. color: @xf-linkColor;
  7838. .xf-blockBorder();
  7839. font-size: @xf-fontSizeSmall;
  7840. white-space: nowrap;
  7841.  
  7842. &:hover,
  7843. &:active
  7844. {
  7845. background: xf-intensify(@xf-contentHighlightBg, 3%);
  7846. text-decoration: none;
  7847. }
  7848. }
  7849.  
  7850. .pageNav-jump
  7851. {
  7852. display: inline-block;
  7853. .m-pageNavElCore();
  7854. border-radius: @xf-borderRadiusSmall;
  7855. padding: @_page-paddingV @_page-paddingH;
  7856.  
  7857. &.pageNav-jump--prev:before,
  7858. &.pageNav-jump--next:after
  7859. {
  7860. .m-faBase();
  7861. font-size: 80%;
  7862. word-wrap: normal;
  7863. unicode-bidi: isolate; // maintain position in RTL with LTR text
  7864. }
  7865.  
  7866. &.pageNav-jump--prev:before
  7867. {
  7868. .m-faContent("@{fa-var-caret-left}\00a0", .61em, ltr);
  7869. .m-faContent("@{fa-var-caret-right}\00a0", .61em, rtl);
  7870. }
  7871.  
  7872. &.pageNav-jump--next:after
  7873. {
  7874. .m-faContent("\00a0@{fa-var-caret-right}", .61em, ltr);
  7875. .m-faContent("\00a0@{fa-var-caret-left}", .61em, rtl);
  7876. }
  7877. }
  7878.  
  7879. .pageNav-main
  7880. {
  7881. .m-listPlain();
  7882. display: inline-table;
  7883. }
  7884.  
  7885. .pageNav-page
  7886. {
  7887. display: table-cell;
  7888. .m-pageNavElCore();
  7889.  
  7890. &:not(:last-child)
  7891. {
  7892. border-right: none;
  7893. }
  7894.  
  7895. &:not(:first-child)
  7896. {
  7897. border-left-color: @xf-borderColorLight;
  7898. }
  7899.  
  7900. &:first-child
  7901. {
  7902. .m-borderLeftRadius(@xf-borderRadiusSmall);
  7903. }
  7904.  
  7905. &:last-child
  7906. {
  7907. .m-borderRightRadius(@xf-borderRadiusSmall);
  7908. }
  7909.  
  7910. > a
  7911. {
  7912. display: block;
  7913. padding: @_page-paddingV @_page-paddingH;
  7914. text-decoration: none;
  7915. color: inherit;
  7916. }
  7917.  
  7918. &.pageNav-page--current
  7919. {
  7920. background: @xf-contentAccentBg;
  7921. color: @xf-textColorAccentContent;
  7922.  
  7923. border: @xf-borderSize solid @xf-borderColorAccentContent;
  7924. cursor: pointer;
  7925.  
  7926. &:hover,
  7927. &:active
  7928. {
  7929. background: xf-intensify(@xf-contentAccentBg, 3%);
  7930. }
  7931.  
  7932. + .pageNav-page
  7933. {
  7934. border-left: none;
  7935. }
  7936. }
  7937. }
  7938.  
  7939. // Hide relative page numbers on narrow devices when we have a skip entry as we don't necessarily have space.
  7940. @media (max-width: @xf-responsiveNarrow)
  7941. {
  7942. .pageNav--skipStart
  7943. {
  7944. .pageNav-page.pageNav-page--earlier
  7945. {
  7946. display: none;
  7947. }
  7948. }
  7949.  
  7950. .pageNav--skipEnd
  7951. {
  7952. .pageNav-page.pageNav-page--later
  7953. {
  7954. display: none;
  7955. }
  7956.  
  7957. .pageNav-page.pageNav-page--skipEnd
  7958. {
  7959. border-left: none;
  7960. }
  7961. }
  7962. }
  7963.  
  7964. // ########################### SIMPLE PAGE NAV VARIANT ########################
  7965.  
  7966. .pageNavSimple
  7967. {
  7968. display: inline-flex;
  7969. }
  7970.  
  7971. .pageNavSimple-el
  7972. {
  7973. display: inline-block;
  7974. .xf-blockBorder();
  7975. border-radius: @xf-borderRadiusSmall;
  7976. padding: @_page-paddingV @_page-paddingHSimple;
  7977. font-size: @xf-fontSizeSmall;
  7978. text-align: center;
  7979. white-space: nowrap;
  7980. margin-right: 4px;
  7981.  
  7982. &:last-child
  7983. {
  7984. margin-right: 0;
  7985. }
  7986.  
  7987. &.pageNavSimple-el--current
  7988. {
  7989. .xf-contentAccentBase();
  7990.  
  7991. &:hover,
  7992. &:active
  7993. {
  7994. background: xf-intensify(@xf-textColorFeature, 3%);
  7995. text-decoration: none;
  7996. }
  7997. }
  7998.  
  7999. &.pageNavSimple-el--prev,
  8000. &.pageNavSimple-el--next
  8001. {
  8002. background: #7f7f7f;
  8003. color: #fff;
  8004. min-width: 75px;
  8005.  
  8006. @media (max-width: 350px)
  8007. {
  8008. min-width: 0;
  8009. }
  8010.  
  8011. &:hover,
  8012. &:active
  8013. {
  8014. /*background: xf-intensify(@xf-contentHighlightBg, 3%);*/
  8015. text-decoration: none;
  8016. }
  8017.  
  8018. i:before
  8019. {
  8020. .m-faBase();
  8021. }
  8022. }
  8023.  
  8024. &.pageNavSimple-el--prev i:before
  8025. {
  8026. .m-faContent(@fa-var-caret-left, .37em, ltr);
  8027. .m-faContent(@fa-var-caret-right, .37em, rtl);
  8028. }
  8029.  
  8030. &.pageNavSimple-el--next i:before
  8031. {
  8032. .m-faContent(@fa-var-caret-right, .37em, ltr);
  8033. .m-faContent(@fa-var-caret-left, .37em, rtl);
  8034. }
  8035.  
  8036. &.pageNavSimple-el--first,
  8037. &.pageNavSimple-el--last
  8038. {
  8039. border-color: transparent;
  8040. padding-left: (@_page-paddingHSimple / 2);
  8041. padding-right: (@_page-paddingHSimple / 2);
  8042. color: fade(@xf-linkColor, 60%);
  8043.  
  8044. &:hover,
  8045. &:active
  8046. {
  8047. .xf-blockBorder();
  8048. background: xf-intensify(@xf-textColorFeature, 3%);
  8049. color: #fff;
  8050. text-decoration: none;
  8051. }
  8052.  
  8053. i:before
  8054. {
  8055. .m-faBase();
  8056. }
  8057. }
  8058.  
  8059. &.pageNavSimple-el--first i:before
  8060. {
  8061. .m-faContent(@fa-var-backward, .93em, ltr);
  8062. .m-faContent(@fa-var-forward, .93em, rtl);
  8063. }
  8064.  
  8065. &.pageNavSimple-el--last i:before
  8066. {
  8067. .m-faContent(@fa-var-forward, .93em, ltr);
  8068. .m-faContent(@fa-var-backward, .93em, rtl);
  8069. }
  8070.  
  8071. &.is-disabled
  8072. {
  8073. border-color: transparent;
  8074. background: none;
  8075. color: @xf-textColorMuted;
  8076. text-decoration: none;
  8077. pointer-events: none;
  8078.  
  8079. &:hover
  8080. {
  8081. background: none;
  8082. color: @xf-textColorMuted;
  8083. }
  8084. }
  8085. }
  8086.  
  8087. // #################### DISPLAY VARIANTS #########################
  8088.  
  8089. .pageNavWrapper--simple
  8090. {
  8091. .pageNav
  8092. {
  8093. display: none;
  8094. }
  8095. }
  8096.  
  8097. .pageNavWrapper--full
  8098. {
  8099. .pageNavSimple
  8100. {
  8101. display: none;
  8102. }
  8103. }
  8104.  
  8105. .pageNavWrapper--mixed
  8106. {
  8107. .pageNavSimple
  8108. {
  8109. display: none;
  8110. }
  8111.  
  8112. @media (max-width: @xf-responsiveMedium)
  8113. {
  8114. .pageNav
  8115. {
  8116. display: none;
  8117. }
  8118.  
  8119. .pageNavSimple
  8120. {
  8121. display: inline-flex;
  8122. }
  8123. }
  8124. }
  8125.  
  8126. // Hide any block page nav that goes before the block as we will be wasting vertical space.
  8127. @media (max-width: @xf-responsiveNarrow)
  8128. {
  8129. .block-outer:not(.block-outer--after) .pageNavWrapper:not(.pageNavWrapper--forceShow)
  8130. {
  8131. display: none;
  8132. }
  8133.  
  8134. // this is a sanity check in case .block-outer--after is forgotten
  8135. .block-container + .block-outer .pageNavWrapper
  8136. {
  8137. display: block;
  8138. }
  8139. }]]></template>
  8140. <template title="core_tab.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ################################## TABS ####################################
  8141.  
  8142. .tabs
  8143. {
  8144. display: flex;
  8145.  
  8146. &.tabs--wrappable
  8147. {
  8148. flex-wrap: wrap;
  8149. }
  8150. }
  8151.  
  8152. .tabs-tab
  8153. {
  8154. display: inline-block;
  8155. cursor: pointer;
  8156. white-space: nowrap;
  8157. color: inherit;
  8158. font-weight: inherit;
  8159. text-decoration: none;
  8160. .m-transition();
  8161.  
  8162. &:hover
  8163. {
  8164. text-decoration: none;
  8165. }
  8166. }
  8167.  
  8168. .tabs-extra
  8169. {
  8170. float: right;
  8171. position: relative;
  8172. margin-left: auto;
  8173. padding: 0 0 0 @xf-paddingMedium;
  8174. align-self: center;
  8175. white-space: nowrap;
  8176.  
  8177. a
  8178. {
  8179. color: inherit;
  8180. text-decoration: none;
  8181. display: block;
  8182. padding: @xf-paddingMedium;
  8183. }
  8184. }
  8185.  
  8186. .tabPanes
  8187. {
  8188. .m-listPlain();
  8189.  
  8190. > li
  8191. {
  8192. display: none;
  8193.  
  8194. &.is-active
  8195. {
  8196. display: block;
  8197. }
  8198. }
  8199. }
  8200.  
  8201. // ################################# OUTER TABS #########################
  8202.  
  8203. .tabs--standalone
  8204. {
  8205. padding: 0;
  8206. margin-bottom: @xf-elementSpacer;
  8207. font-weight: @xf-fontWeightNormal;
  8208. .xf-blockBorder();
  8209. .xf-standaloneTab();
  8210. .m-tabsTogether(xf-default(@xf-standaloneTab--font-size, @xf-fontSizeNormal));
  8211.  
  8212. .tabs-tab
  8213. {
  8214. padding: 10px;
  8215.  
  8216. &:hover
  8217. {
  8218. color: @xf-standaloneTabSelected--color;
  8219. }
  8220.  
  8221. &.is-active
  8222. {
  8223. .xf-standaloneTabSelected();
  8224. }
  8225. }
  8226.  
  8227. .hScroller-action
  8228. {
  8229. .m-hScrollerActionColorVariation(
  8230. xf-default(@xf-standaloneTab--background-color, transparent),
  8231. @xf-standaloneTab--color,
  8232. @xf-standaloneTabSelected--color
  8233. );
  8234. }
  8235. }
  8236.  
  8237. @media (max-width: @xf-responsiveEdgeSpacerRemoval)
  8238. {
  8239. .tabs--standalone
  8240. {
  8241. margin-left: -@xf-pageEdgeSpacer;
  8242. margin-right: -@xf-pageEdgeSpacer;
  8243. border-radius: 0;
  8244. border-left: none;
  8245. border-right: none;
  8246. }
  8247. }]]></template>
  8248. <template title="extra.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[{{ include('mixins.less') }}
  8249. {{ include('brv_extra.less') }}
  8250. {{ include('brv_responsive.less') }}]]></template>
  8251. <template title="forum_view" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[<xf:title page="{$page}">{$forum.Node.title}</xf:title>
  8252. <xf:description>{$forum.Node.description|raw}</xf:description>
  8253.  
  8254. <xf:macro template="metadata_macros" name="canonical_url"
  8255. arg-canonicalUrl="{{ link('canonical:forums', $forum, {'page': $page}) }}" />
  8256.  
  8257. <xf:head option="rss_forum"><link rel="alternate" type="application/rss+xml" title="{{ phrase('rss_feed_for_x', {'title': $forum.title})|for_attr }}" href="{{ link('forums/index.rss', $forum) }}" /></xf:head>
  8258.  
  8259. <xf:macro template="forum_macros" name="forum_page_options" arg-forum="{$forum}" />
  8260. <xf:breadcrumb source="$forum.getBreadcrumbs(false)" />
  8261.  
  8262. <xf:pageaction if="$forum.canCreateThread()">
  8263. <xf:button href="{{ link('forums/post-thread', $forum) }}" class="button--cta" icon="write">
  8264. {{ phrase('post_thread') }}
  8265. </xf:button>
  8266. </xf:pageaction>
  8267.  
  8268. <xf:if is="$pendingApproval">
  8269. <div class="blockMessage blockMessage--important">{{ phrase('content_submitted_displayed_pending_approval') }}</div>
  8270. </xf:if>
  8271.  
  8272. <xf:if is="$nodeTree">
  8273. <xf:ad position="forum_view_above_node_list" arg-forum="{$forum}" />
  8274. <div class="block">
  8275. <div class="block-container">
  8276. <div class="block-body">
  8277. <xf:macro template="forum_list" name="node_list"
  8278. arg-children="{$nodeTree}"
  8279. arg-extras="{$nodeExtras}"
  8280. arg-depth="2" />
  8281. </div>
  8282. </div>
  8283. </div>
  8284. <xf:ad position="forum_view_below_node_list" arg-forum="{$forum}" />
  8285. </xf:if>
  8286.  
  8287. <xf:if is="$canInlineMod">
  8288. <xf:js src="xf/inline_mod.js" min="1" />
  8289. </xf:if>
  8290.  
  8291. <xf:ad position="forum_view_above_thread_list" arg-forum="{$forum}" />
  8292. <div class="block" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="thread" data-href="{{ link('inline-mod') }}">
  8293.  
  8294. <div class="block-outer"><xf:trim>
  8295. <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$total}"
  8296. link="forums" data="{$forum}" params="{$filters}"
  8297. wrapperclass="block-outer-main" />
  8298. <xf:if contentcheck="true">
  8299. <div class="block-outer-opposite">
  8300. <div class="buttonGroup">
  8301. <xf:contentcheck>
  8302. <xf:if is="$canInlineMod">
  8303. <xf:macro template="inline_mod_macros" name="button" />
  8304. </xf:if>
  8305. <xf:if is="$xf.visitor.user_id">
  8306. <xf:button href="{{ link('forums/mark-read', $forum, {'date': $xf.time}) }}"
  8307. class="button--link" overlay="true">
  8308. {{ phrase('mark_read') }}
  8309. </xf:button>
  8310. </xf:if>
  8311. <xf:if is="$forum.canWatch()">
  8312. <xf:button href="{{ link('forums/watch', $forum) }}" class="button--link"
  8313. data-xf-click="switch-overlay"
  8314. data-sk-watch="{{ phrase('watch') }}"
  8315. data-sk-unwatch="{{ phrase('unwatch') }}">
  8316. <xf:if is="{$forum.Watch.{$xf.visitor.user_id}}">{{ phrase('unwatch') }}<xf:else />{{ phrase('watch') }}</xf:if>
  8317. </xf:button>
  8318. </xf:if>
  8319. </xf:contentcheck>
  8320. </div>
  8321. </div>
  8322. </xf:if>
  8323. </xf:trim></div>
  8324.  
  8325. <xf:set var="$dateLimits" value="{{ {
  8326. '-1': phrase('any_time'),
  8327. '7': phrase('x_days', {'days': '7'}),
  8328. '14': phrase('x_days', {'days': '14'}),
  8329. '30': phrase('x_days', {'days': '30'}),
  8330. '60': phrase('x_months', {'months': '2'}),
  8331. '90': phrase('x_months', {'months': '3'}),
  8332. '182': phrase('x_months', {'months': '6'}),
  8333. '365': phrase('1_year')
  8334. } }}" />
  8335. <xf:set var="$sortOrders" value="{{ {
  8336. 'last_post_date': phrase('last_message'),
  8337. 'post_date': phrase('first_message'),
  8338. 'title': phrase('title'),
  8339. 'reply_count': phrase('replies'),
  8340. 'view_count': phrase('views'),
  8341. 'first_post_likes': phrase('first_message_likes')
  8342. } }}" />
  8343.  
  8344. <div class="block-container">
  8345. <div class="block-filterBar">
  8346. <div class="filterBar">
  8347. <xf:if contentcheck="true">
  8348. <ul class="filterBar-filters">
  8349. <xf:contentcheck>
  8350. <xf:if is="$filters.prefix_id">
  8351. <li><a href="{{ link('forums', $forum, $filters|replace('prefix_id', null)) }}"
  8352. class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
  8353. <span class="filterBar-filterToggle-label">{{ phrase('prefix:') }}</span>
  8354. {{ prefix_title('thread', $filters.prefix_id) }}</a></li>
  8355. </xf:if>
  8356. <xf:if is="$filters.starter_id AND $starterFilter">
  8357. <li><a href="{{ link('forums', $forum, $filters|replace('starter_id', null)) }}"
  8358. class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
  8359. <span class="filterBar-filterToggle-label">{{ phrase('started_by:') }}</span>
  8360. {$starterFilter.username}</a></li>
  8361. </xf:if>
  8362. <xf:if is="$filters.last_days AND {$dateLimits.{$filters.last_days}}">
  8363. <li><a href="{{ link('forums', $forum, $filters|replace('last_days', null)) }}"
  8364. class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
  8365. <span class="filterBar-filterToggle-label">{{ phrase('last_updated:') }}</span>
  8366. {$dateLimits.{$filters.last_days}}</a></li>
  8367. </xf:if>
  8368. <xf:if is="$filters.order AND {$sortOrders.{$filters.order}}">
  8369. <li><a href="{{ link('forums', $forum, $filters|replace({'order': null, 'direction': null})) }}"
  8370. class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('return_to_default_order')|for_attr }}">
  8371. <span class="filterBar-filterToggle-label">{{ phrase('sort_by:') }}</span>
  8372. {$sortOrders.{$filters.order}}
  8373. <i class="fa {{ $filters.direction == 'asc' ? 'fa-angle-up' : 'fa-angle-down' }}" aria-hidden="true"></i>
  8374. <span class="u-srOnly"><xf:if is="$filters.direction == 'asc'">{{ phrase('ascending') }}<xf:else />{{ phrase('descending') }}</xf:if></span>
  8375. </a></li>
  8376. </xf:if>
  8377. </xf:contentcheck>
  8378. </ul>
  8379. </xf:if>
  8380.  
  8381. <a class="filterBar-menuTrigger" data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{{ phrase('filters') }}</a>
  8382. <div class="menu menu--wide" data-menu="menu" aria-hidden="true"
  8383. data-href="{{ link('forums/filters', $forum, $filters) }}"
  8384. data-load-target=".js-filterMenuBody">
  8385. <div class="menu-content">
  8386. <h4 class="menu-header">{{ phrase('show_only:') }}</h4>
  8387. <div class="js-filterMenuBody">
  8388. <div class="menu-row">{{ phrase('loading...') }}</div>
  8389. </div>
  8390. </div>
  8391. </div>
  8392. </div>
  8393. </div>
  8394.  
  8395. <xf:set var="$qtPos">{{ ($sortInfo.order == 'last_post_date' && $sortInfo.direction == 'asc') ? 'bottom' : 'top' }}</xf:set>
  8396.  
  8397. <div class="block-body">
  8398. <div class="structItemContainer">
  8399. <xf:macro template="thread_list_macros" name="quick_thread"
  8400. arg-forum="{$forum}"
  8401. arg-page="{$page}"
  8402. arg-order="{$sortInfo.order}"
  8403. arg-direction="{$sortInfo.direction}" />
  8404. <div class="title-thread hidden-xs">
  8405. <div class="item-title cell-title">
  8406. {{ phrase('title') }}
  8407. </div>
  8408. <div class="item-title cell-reply">
  8409. {{ phrase('replies') }}
  8410. </div>
  8411. <div class="item-title cell-views">
  8412. {{ phrase('views') }}
  8413. </div>
  8414. <div class="item-title cell-user">
  8415. {{ phrase('messages') }}
  8416. </div>
  8417. </div>
  8418. <xf:if is="$stickyThreads is not empty OR $threads is not empty">
  8419. <xf:if is="$stickyThreads is not empty">
  8420. <div class="structItemContainer-group structItemContainer-group--sticky">
  8421. <xf:foreach loop="$stickyThreads" value="$thread">
  8422. <xf:macro template="thread_list_macros" name="item" arg-thread="{$thread}" arg-forum="{$forum}" />
  8423. </xf:foreach>
  8424. </div>
  8425.  
  8426. <xf:ad position="forum_view_below_stickies" arg-forum="{$forum}" />
  8427. </xf:if>
  8428.  
  8429. <div class="structItemContainer-group js-threadList">
  8430. <xf:if is="$threads is not empty">
  8431. <xf:foreach loop="$threads" value="$thread">
  8432. <xf:macro template="thread_list_macros" name="item" arg-thread="{$thread}" arg-forum="{$forum}" />
  8433. </xf:foreach>
  8434. <xf:if is="$showDateLimitDisabler">
  8435. <div class="structItem structItem--note">
  8436. <div class="structItem-cell">
  8437. <a href="{{ link('forums', $forum, $filters + {'page': $page, 'no_date_limit': 1}) }}">
  8438. {{ phrase('show_older_items') }}
  8439. </a>
  8440. </div>
  8441. </div>
  8442. </xf:if>
  8443. </xf:if>
  8444. </div>
  8445. <xf:elseif is="$filters" />
  8446. <div class="structItemContainer-group js-threadList">
  8447. <div class="structItem js-emptyThreadList">
  8448. <div class="structItem-cell">{{ phrase('there_no_threads_matching_your_filters') }}</div>
  8449. </div>
  8450. </div>
  8451. <xf:else />
  8452. <div class="structItemContainer-group js-threadList">
  8453. <div class="structItem js-emptyThreadList">
  8454. <div class="structItem-cell">{{ phrase('there_no_threads_in_this_forum') }}</div>
  8455. </div>
  8456. </div>
  8457. </xf:if>
  8458. </div>
  8459. </div>
  8460. </div>
  8461.  
  8462. <div class="block-outer block-outer--after">
  8463. <xf:pagenav
  8464. page="{$page}" perpage="{$perPage}" total="{$total}"
  8465. link="forums" data="{$forum}" params="{$filters}"
  8466. wrapperclass="block-outer-main" />
  8467. <xf:showignored wrapperclass="block-outer-opposite" />
  8468. <xf:if is="!$forum.canCreateThread()">
  8469. <div class="block-outer-opposite">
  8470. <xf:if is="$xf.visitor.user_id">
  8471. <span class="button is-disabled">
  8472. {{ phrase('no_permission_to_post') }}
  8473. <!-- this is not interactive so shouldn't be a button element -->
  8474. </span>
  8475. <xf:else />
  8476. <xf:button href="{{ link('login') }}" class="button--link" overlay="true">
  8477. {{ phrase('log_in_or_register_to_post') }}
  8478. </xf:button>
  8479. </xf:if>
  8480. </div>
  8481. </xf:if>
  8482. </div>
  8483. </div>
  8484. <xf:ad position="forum_view_below_thread_list" arg-forum="{$forum}" />
  8485.  
  8486. <xf:widgetpos id="forum_view_sidebar" context-forum="{$forum}" position="sidebar" />]]></template>
  8487. <template title="member.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[@_memberHeader-padding: @xf-paddingLarge;
  8488. @_memberHeader-avatarSize: @avatar-l;
  8489. @_memberHeader-avatarSizeShrunk: @avatar-m;
  8490.  
  8491. .memberHeader
  8492. {
  8493. .m-clearFix();
  8494. }
  8495.  
  8496. .memberHeader-main
  8497. {
  8498.  
  8499. }
  8500.  
  8501. .memberHeader-avatar
  8502. {
  8503. float: left;
  8504. padding: @_memberHeader-padding;
  8505.  
  8506. img,
  8507. .avatar
  8508. {
  8509. display: block;
  8510. }
  8511. }
  8512.  
  8513. .memberHeader-content
  8514. {
  8515. padding: @_memberHeader-padding;
  8516. padding-left: ((@_memberHeader-padding) * 2 + (@_memberHeader-avatarSize));
  8517. }
  8518.  
  8519. .memberHeader-actionTop
  8520. {
  8521. float: right;
  8522. }
  8523.  
  8524. .memberHeader-name
  8525. {
  8526. margin: 0;
  8527. margin-top: -.15em;
  8528. padding: 0;
  8529. font-weight: @xf-fontWeightNormal;
  8530. .xf-memberHeaderName();
  8531. }
  8532.  
  8533. .memberHeader-banners,
  8534. .memberHeader-blurb
  8535. {
  8536. margin-top: @xf-paddingSmall;
  8537. }
  8538.  
  8539. .memberHeader-separator
  8540. {
  8541. margin: @_memberHeader-padding 0;
  8542. border: none;
  8543. border-top: @xf-borderSize solid @xf-borderColorLight;
  8544. }
  8545.  
  8546. .memberHeader-stats
  8547. {
  8548. font-size: @xf-fontSizeLarge;
  8549.  
  8550. .pairs.pairs--row
  8551. {
  8552. min-width: 100px;
  8553. }
  8554. }
  8555.  
  8556. @media (max-width: @xf-responsiveMedium)
  8557. {
  8558. .memberHeader-avatar .avatar
  8559. {
  8560. .m-avatarSize(@_memberHeader-avatarSizeShrunk);
  8561. }
  8562.  
  8563. .memberHeader-content
  8564. {
  8565. padding-left: ((@_memberHeader-padding) * 2 + (@_memberHeader-avatarSizeShrunk));
  8566. }
  8567. }
  8568.  
  8569. @media (max-width: @xf-responsiveNarrow)
  8570. {
  8571. .memberHeader-avatar
  8572. {
  8573. display: block;
  8574. float: none;
  8575. padding-bottom: 0;
  8576. text-align: center;
  8577.  
  8578. .avatar
  8579. {
  8580. display: inline-block;
  8581. }
  8582. }
  8583.  
  8584. .memberHeader-content
  8585. {
  8586. padding-left: @_memberHeader-padding;
  8587. }
  8588.  
  8589. .memberHeader-main .memberHeader-content
  8590. {
  8591. display: flex;
  8592. flex-direction: column;
  8593. padding-top: 0;
  8594. min-height: 0;
  8595. text-align: center;
  8596. }
  8597.  
  8598. .memberHeader-name
  8599. {
  8600. text-align: center;
  8601. margin-top: 0;
  8602. }
  8603.  
  8604. .memberHeader-actionTop
  8605. {
  8606. float: none;
  8607. order: 2;
  8608. margin-top: @xf-paddingSmall;
  8609. }
  8610.  
  8611. .memberHeader-buttons
  8612. {
  8613. text-align: center;
  8614. }
  8615.  
  8616. .memberHeader-banners,
  8617. .memberHeader-blurb
  8618. {
  8619. text-align: inherit;
  8620. }
  8621. }
  8622.  
  8623. .block-tabHeader.block-tabHeader--memberTabs
  8624. {
  8625. border-bottom: none;
  8626. }
  8627.  
  8628.  
  8629.  
  8630. .memberOverviewBlocks
  8631. {
  8632. .m-listPlain();
  8633.  
  8634. display: flex;
  8635. flex-wrap: wrap;
  8636. align-items: stretch;
  8637.  
  8638. > li
  8639. {
  8640. .has-no-flexbox &
  8641. {
  8642. display: inline-block;
  8643. vertical-align: top;
  8644. }
  8645.  
  8646. width: 33.3%;
  8647. max-width: 100%;
  8648. padding: @xf-blockPaddingV @xf-blockPaddingH;
  8649.  
  8650. @media (max-width: 1150px)
  8651. {
  8652. width: 50%;
  8653. }
  8654.  
  8655. @media (max-width: 580px)
  8656. {
  8657. width: 100%;
  8658. }
  8659. }
  8660. }
  8661.  
  8662. .memberOverviewBlock
  8663. {
  8664. display: flex;
  8665. flex-direction: column;
  8666. }
  8667. .memberOverviewBlock-list
  8668. {
  8669. .m-listPlain();
  8670.  
  8671. > li
  8672. {
  8673. margin: @xf-paddingMedium 0;
  8674. }
  8675. }
  8676. .memberOverviewBlock-seeMore
  8677. {
  8678. .xf-minorBlockContent();
  8679. padding: @xf-paddingSmall;
  8680. text-align: center;
  8681.  
  8682. // pushes this to the bottom with flex box
  8683. margin-top: auto;
  8684. }]]></template>
  8685. <template title="member_tooltip.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[@_memberTooltip-padding: @xf-paddingMedium;
  8686. @_memberTooltip-avatarSize: @avatar-s;
  8687. .tooltip-content-inner{
  8688. .username{
  8689. color: @xf-paletteColor3;
  8690. }
  8691. }
  8692. .memberTooltip-header
  8693. {
  8694. display: table;
  8695. table-layout: fixed;
  8696. width: 100%;
  8697. padding: @_memberTooltip-padding;
  8698. }
  8699.  
  8700. .memberTooltip-avatar
  8701. {
  8702. display: table-cell;
  8703. width: ((@_memberTooltip-padding) * 2 + (@_memberTooltip-avatarSize));
  8704. vertical-align: top;
  8705. }
  8706.  
  8707. .memberTooltip-headerInfo
  8708. {
  8709. display: table-cell;
  8710. vertical-align: top;
  8711. }
  8712.  
  8713. .memberTooltip-name
  8714. {
  8715. margin: 0;
  8716. margin-top: -.15em;
  8717. padding: 0;
  8718. font-weight: @xf-fontWeightNormal;
  8719. line-height: .8 * (@xf-lineHeightDefault);
  8720. .xf-memberTooltipName();
  8721.  
  8722. .m-hiddenLinks();
  8723. }
  8724.  
  8725. .memberTooltip-headerAction
  8726. {
  8727. float: right;
  8728. }
  8729.  
  8730. .memberTooltip-banners,
  8731. .memberTooltip-blurb
  8732. {
  8733. margin-top: .25em;
  8734. }
  8735.  
  8736. .memberTooltip-blurb
  8737. {
  8738. font-size: @xf-fontSizeSmall;
  8739. }
  8740.  
  8741. .memberTooltip-stats
  8742. {
  8743. font-size: @xf-fontSizeSmall;
  8744.  
  8745. dl.pairs.pairs--rows > dt
  8746. {
  8747. font-size: @xf-fontSizeSmaller;
  8748. }
  8749. }
  8750.  
  8751. .memberTooltip-info,
  8752. .memberTooltip-actions
  8753. {
  8754. padding: @_memberTooltip-padding;
  8755. }
  8756.  
  8757. .memberTooltip-separator
  8758. {
  8759. margin: -@xf-borderSize @_memberTooltip-padding 0;
  8760. border: none;
  8761. border-top: @xf-borderSize solid @xf-borderColorLight;
  8762. }]]></template>
  8763. <template title="message.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[@_message-actionColumnWidth: 40px;
  8764. @_messageSimple-userColumnWidth: 70px;
  8765. {{ include('mixins.less') }}
  8766.  
  8767. .message
  8768. {
  8769. + .message,
  8770. &.message--bordered
  8771. {
  8772. border-top: @xf-borderSize solid @xf-borderColor;
  8773. }
  8774. }
  8775.  
  8776. .message,
  8777. .block--messages .message
  8778. {
  8779. &.is-mod-selected
  8780. {
  8781. background: @xf-inlineModHighlightColor;
  8782.  
  8783. .message-userArrow:after
  8784. {
  8785. border-right-color: @xf-inlineModHighlightColor;
  8786. }
  8787. }
  8788. }
  8789.  
  8790. .message-inner
  8791. {
  8792. display: flex;
  8793.  
  8794. .has-no-flexbox &
  8795. {
  8796. display: table;
  8797. table-layout: fixed;
  8798. width: 100%;
  8799. }
  8800. }
  8801.  
  8802. .message-cell
  8803. {
  8804. display: block;
  8805. vertical-align: top;
  8806. padding: @xf-messagePadding;
  8807.  
  8808. .has-no-flexbox &
  8809. {
  8810. display: table-cell;
  8811. }
  8812.  
  8813. .message--quickReply &
  8814. {
  8815. //padding-bottom: 35px; // for the submit row
  8816.  
  8817. > .formRow:last-child
  8818. {
  8819. > dd
  8820. {
  8821. padding-bottom: 0;
  8822. }
  8823. }
  8824. }
  8825.  
  8826. &.message-cell--closer
  8827. {
  8828. padding: @xf-messagePaddingSmall;
  8829.  
  8830. &.message-cell--main
  8831. {
  8832. padding-left: ((@xf-messagePaddingSmall) * 1.5);
  8833. }
  8834.  
  8835. &.message-cell--user
  8836. {
  8837. .m-fixedWidthFlex((@xf-messageUserBlockWidth) + 2 * (@xf-messagePaddingSmall));
  8838.  
  8839. .message--simple &
  8840. {
  8841. .m-fixedWidthFlex(@_messageSimple-userColumnWidth + 2 * (@xf-messagePaddingSmall));
  8842.  
  8843. }
  8844. }
  8845.  
  8846. &.message-cell--action
  8847. {
  8848. .m-fixedWidthFlex((@_message-actionColumnWidth) + 2 * (@xf-messagePaddingSmall));
  8849. }
  8850. }
  8851.  
  8852. &.message-cell--user,
  8853. &.message-cell--action
  8854. {
  8855. position: relative;
  8856. .xf-messageUserBlock(no-border);
  8857. border-right: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color;
  8858. min-width: 0;
  8859. }
  8860.  
  8861. &.message-cell--user
  8862. {
  8863. .m-fixedWidthFlex((@xf-messageUserBlockWidth) + 2 * (@xf-messagePadding));
  8864.  
  8865. .message--simple &
  8866. {
  8867. .m-fixedWidthFlex(@_messageSimple-userColumnWidth + 2 * @xf-messagePaddingSmall);
  8868. }
  8869. }
  8870.  
  8871. &.message-cell--action
  8872. {
  8873. .m-fixedWidthFlex((@_message-actionColumnWidth) + 2 * (@xf-messagePadding));
  8874. }
  8875.  
  8876. &.message-cell--main
  8877. {
  8878. padding-left: (@xf-messagePadding * 1.5);
  8879. flex: 1 1 auto;
  8880. width: 100%;
  8881. min-width: 0;
  8882.  
  8883. &.is-editing
  8884. {
  8885. padding: 0;
  8886. }
  8887.  
  8888. // should really only happen when editing
  8889. .block
  8890. {
  8891. margin: 0;
  8892. }
  8893.  
  8894. .block-container
  8895. {
  8896. margin: 0;
  8897. border: none;
  8898. }
  8899. }
  8900.  
  8901. &.message-cell--alert
  8902. {
  8903. font-size: @xf-fontSizeSmall;
  8904. flex: 1 1 auto;
  8905. width: 100%;
  8906. min-width: 0;
  8907. .xf-contentAccentBase();
  8908.  
  8909. a
  8910. {
  8911. .xf-contentAccentLink();
  8912. }
  8913. }
  8914. }
  8915.  
  8916. .message-main
  8917. {
  8918. height: 100%;
  8919. display: flex;
  8920. flex-direction: column;
  8921. }
  8922.  
  8923. .message-content
  8924. {
  8925. flex: 1 1 auto;
  8926.  
  8927. // IE11 flex bug
  8928. min-height: 1px;
  8929. }
  8930.  
  8931. .message-footer
  8932. {
  8933. margin-top: auto;
  8934. }
  8935.  
  8936. {{ include('brv_message.less') }}
  8937.  
  8938. @media (max-width: @xf-messageSingleColumnWidth)
  8939. {
  8940. .message:not(.message--forceColumns)
  8941. {
  8942. .message-inner
  8943. {
  8944. display: block;
  8945. }
  8946.  
  8947. .message-cell
  8948. {
  8949. display: block;
  8950. .m-clearFix();
  8951.  
  8952. &.message-cell--user
  8953. {
  8954. width: auto;
  8955. border-right: none;
  8956. border-bottom: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color;
  8957. }
  8958.  
  8959. &.message-cell--main
  8960. {
  8961. padding-left: @xf-messagePadding;
  8962. }
  8963. }
  8964. }
  8965.  
  8966. .message--simple:not(.message--forceColumns),
  8967. .message--quickReply:not(.message--forceColumns)
  8968. {
  8969. .message-cell.message-cell--user
  8970. {
  8971. display: none;
  8972. }
  8973. }
  8974. }
  8975.  
  8976. // ######################## USER COLUMN #########################
  8977.  
  8978. .message-userArrow
  8979. {
  8980. position: absolute;
  8981. top: (@xf-messagePadding) * 2;
  8982. right: -1px;
  8983.  
  8984. .m-triangleLeft(xf-default(@xf-messageUserBlock--border-color, transparent), @xf-messagePadding);
  8985.  
  8986. &:after
  8987. {
  8988. position: absolute;
  8989. top: -(@xf-messagePadding - 1px);
  8990. right: -@xf-messagePadding;
  8991. content: "";
  8992.  
  8993. .m-triangleLeft(@xf-contentBg, @xf-messagePadding - 1px);
  8994. }
  8995. }
  8996.  
  8997. .message-avatar
  8998. {
  8999. text-align: center;
  9000. margin-bottom: 3px;
  9001.  
  9002. .avatar
  9003. {
  9004. vertical-align: bottom;
  9005. }
  9006. }
  9007.  
  9008. .message-avatar-wrapper
  9009. {
  9010. position: relative;
  9011. display: inline-block;
  9012. vertical-align: bottom;
  9013.  
  9014. .message-avatar-online
  9015. {
  9016. position: absolute;
  9017. top: -1px;
  9018. left: -1px;
  9019.  
  9020. border: 7px solid transparent;
  9021. border-left-color: rgb(127, 185, 0);
  9022. border-top-color: rgb(127, 185, 0);
  9023. border-radius: (@xf-avatarBorderRadius + 1) max(0px, @xf-avatarBorderRadius - 1px) 0 max(0px, @xf-avatarBorderRadius - 1);
  9024. }
  9025. }
  9026.  
  9027. .message-name
  9028. {
  9029. font-weight: @xf-fontWeightHeavy;
  9030. font-size: inherit;
  9031. text-align: center;
  9032. margin: 0;
  9033. }
  9034.  
  9035. .message-userTitle
  9036. {
  9037. font-size: @xf-fontSizeSmaller;
  9038. font-weight: normal;
  9039. text-align: center;
  9040. margin: 0;
  9041. }
  9042.  
  9043. .message-userBanner.userBanner
  9044. {
  9045. display: block;
  9046. margin-top: 3px;
  9047. }
  9048.  
  9049. .message-userExtras
  9050. {
  9051. margin-top: 3px;
  9052. font-size: @xf-fontSizeSmaller;
  9053. }
  9054.  
  9055. .message--deleted
  9056. {
  9057. .message-userDetails
  9058. {
  9059. display: none;
  9060. }
  9061.  
  9062. .message-avatar .avatar
  9063. {
  9064. .m-avatarSize(@avatar-s);
  9065. }
  9066. }
  9067.  
  9068. .message-cell--user
  9069. {
  9070. .message-date,
  9071. .message-permalink
  9072. {
  9073. display: none;
  9074. }
  9075. }
  9076.  
  9077. @media (max-width: @xf-messageSingleColumnWidth)
  9078. {
  9079. .message:not(.message--forceColumns)
  9080. {
  9081. .message-userArrow
  9082. {
  9083. top: auto;
  9084. right: auto;
  9085. bottom: -1px;
  9086. left: ((@avatar-s) / 2);
  9087.  
  9088. border: none;
  9089. .m-triangleUp(xf-default(@xf-messageUserBlock--border-color, transparent), @xf-messagePadding);
  9090.  
  9091. &:after
  9092. {
  9093. top: auto;
  9094. right: auto;
  9095. left: -(@xf-messagePadding - 1px);
  9096. bottom: -@xf-messagePadding;
  9097.  
  9098. border: none;
  9099. .m-triangleUp(@xf-contentBg, @xf-messagePadding - 1px);
  9100. }
  9101. }
  9102.  
  9103. &.is-mod-selected
  9104. {
  9105. .message-userArrow:after
  9106. {
  9107. border-color: transparent;
  9108. border-bottom-color: @xf-inlineModHighlightColor;
  9109. }
  9110. }
  9111.  
  9112. .message-user
  9113. {
  9114. display: flex;
  9115.  
  9116. .has-no-flexbox &
  9117. {
  9118. display: table;
  9119. width: 100%;
  9120. }
  9121. }
  9122.  
  9123. .message-avatar
  9124. {
  9125. margin-bottom: 0;
  9126.  
  9127. .has-no-flexbox &
  9128. {
  9129. display: table-cell;
  9130. width: 1%;
  9131. }
  9132.  
  9133. .avatar
  9134. {
  9135. .m-avatarSize(@avatar-s);
  9136. }
  9137. }
  9138.  
  9139. .message-userDetails
  9140. {
  9141. flex: 1;
  9142. min-width: 0;
  9143. padding-left: @xf-messagePadding;
  9144.  
  9145. .has-no-flexbox &
  9146. {
  9147. display: table-cell;
  9148. }
  9149. }
  9150.  
  9151. .message-name
  9152. {
  9153. text-align: left;
  9154. }
  9155.  
  9156. .message-userTitle,
  9157. .message-userBanner.userBanner
  9158. {
  9159. display: inline-block;
  9160. text-align: left;
  9161. margin: 0;
  9162. }
  9163.  
  9164. .message-userExtras
  9165. {
  9166. display: none;
  9167. }
  9168.  
  9169. .message--deleted
  9170. {
  9171. .message-userDetails
  9172. {
  9173. display: block;
  9174. }
  9175. }
  9176. }
  9177. }
  9178.  
  9179. // ####################### MAIN COLUMN ####################
  9180.  
  9181. .message-content
  9182. {
  9183. position: relative;
  9184.  
  9185. .js-selectToQuoteEnd
  9186. {
  9187. height: 0;
  9188. font-size: 0;
  9189. overflow: hidden;
  9190. }
  9191.  
  9192. .message--multiQuoteList &
  9193. {
  9194. min-height: 80px;
  9195. max-height: 120px;
  9196. overflow: hidden;
  9197.  
  9198. .message-body
  9199. {
  9200. pointer-events: none;
  9201. }
  9202. }
  9203. }
  9204.  
  9205. .message-attribution
  9206. {
  9207. color: @xf-textColorMuted;
  9208. font-size: @xf-fontSizeSmaller;
  9209. padding-bottom: 3px;
  9210. border-bottom: @xf-borderSize solid @xf-borderColorFaint;
  9211. .m-clearFix();
  9212.  
  9213. &.message-attribution--plain
  9214. {
  9215. border-bottom: none;
  9216. font-size: inherit;
  9217. padding-bottom: 0;
  9218. }
  9219. }
  9220.  
  9221. .message-attribution-main { float: left; }
  9222. .message-attribution-opposite { float: right; }
  9223.  
  9224. .message-attribution-source
  9225. {
  9226. font-size: @xf-fontSizeSmaller;
  9227. margin-bottom: @xf-paddingSmall;
  9228. }
  9229.  
  9230. .message-attribution-user
  9231. {
  9232. font-weight: @xf-fontWeightHeavy;
  9233.  
  9234. .avatar
  9235. {
  9236. display: none;
  9237. }
  9238.  
  9239. .attribution
  9240. {
  9241. display: inline;
  9242. font-size: inherit;
  9243. font-weight: inherit;
  9244. margin: 0;
  9245. }
  9246. }
  9247.  
  9248. .message-newIndicator
  9249. {
  9250. .xf-messageNewIndicator();
  9251. }
  9252.  
  9253. .message-minorHighlight
  9254. {
  9255. font-size: @xf-fontSizeSmall;
  9256. color: @xf-textColorFeature;
  9257. }
  9258.  
  9259. .message-fields
  9260. {
  9261. margin: @xf-messagePadding 0;
  9262. }
  9263.  
  9264. .message-body
  9265. {
  9266. margin: @xf-messagePadding 0;
  9267. font-family: @xf-fontFamilyBody;
  9268.  
  9269. .message--simple &
  9270. {
  9271. margin-top: @xf-messagePaddingSmall;
  9272. margin-bottom: @xf-messagePaddingSmall;
  9273. }
  9274.  
  9275. &:last-child
  9276. {
  9277. margin-bottom: 0;
  9278. }
  9279. }
  9280.  
  9281. .message-attachments
  9282. {
  9283. margin: .5em 0;
  9284. }
  9285.  
  9286. .message-attachments-list
  9287. {
  9288. .m-listPlain();
  9289. }
  9290.  
  9291. .message-lastEdit
  9292. {
  9293. margin-top: .5em;
  9294. color: @xf-textColorMuted;
  9295. font-size: @xf-fontSizeSmallest;
  9296. text-align: right;
  9297. }
  9298.  
  9299. .message-signature
  9300. {
  9301. margin-top: @xf-messagePadding;
  9302. .xf-messageSignature();
  9303. }
  9304.  
  9305. .message-actionBar .actionBar-set
  9306. {
  9307. margin-top: @xf-messagePadding;
  9308. font-size: @xf-fontSizeSmall;
  9309.  
  9310. .message--simple &
  9311. {
  9312. margin-top: @xf-messagePaddingSmall;
  9313. }
  9314. }
  9315.  
  9316. .message .likesBar
  9317. {
  9318. margin-top: @xf-messagePadding;
  9319. padding: @xf-messagePaddingSmall;
  9320. }
  9321.  
  9322. .message-historyTarget
  9323. {
  9324. margin-top: @xf-messagePadding;
  9325. }
  9326.  
  9327. .message-gradient
  9328. {
  9329. position: absolute;
  9330. bottom: 0;
  9331. left: 0;
  9332. right: 0;
  9333. height: 60px;
  9334.  
  9335. .m-gradient(fade(@xf-contentBg, 0%), @xf-contentBg, @xf-contentBg, 0%, 90%);
  9336. }
  9337.  
  9338. .message-responses
  9339. {
  9340. margin-top: @xf-messagePaddingSmall;
  9341. font-size: @xf-fontSizeSmall;
  9342. }
  9343.  
  9344. .message-responseRow
  9345. {
  9346. margin-top: -@xf-minorBlockContent--border-width;
  9347. padding: @xf-messagePaddingSmall;
  9348.  
  9349. // note that border radiuses are very difficult to do here due to a lot of dynamic showing/hiding
  9350.  
  9351. &.message-responseRow--likes
  9352. {
  9353. .m-transitionFadeDown();
  9354. }
  9355. }
  9356.  
  9357. @media (max-width: @xf-messageSingleColumnWidth)
  9358. {
  9359. .message:not(.message--forceColumns)
  9360. {
  9361. .message-attribution-user .avatar
  9362. {
  9363. display: inline-block;
  9364. .m-avatarSize((@xf-fontSizeNormal) * (@xf-lineHeightDefault));
  9365. }
  9366.  
  9367. .message-content
  9368. {
  9369. // this is 1px to workaround an IE11 issue - see #139187
  9370. min-height: 1px;
  9371. }
  9372. }
  9373. }
  9374.  
  9375. @media (max-width: @xf-responsiveNarrow)
  9376. {
  9377. .message-signature
  9378. {
  9379. display: none;
  9380. }
  9381. }
  9382.  
  9383. // MESSAGE MENU
  9384.  
  9385. .message-menuGroup
  9386. {
  9387. display: inline-block;
  9388. }
  9389.  
  9390. .message-menuTrigger
  9391. {
  9392. display: inline-block;
  9393.  
  9394. &:after
  9395. {
  9396. .m-faBase();
  9397. .m-faContent(@fa-var-caret-down, 1em);
  9398. //font-size: 120%;
  9399. text-align: right;
  9400. }
  9401.  
  9402. &:hover:after
  9403. {
  9404. color: black;
  9405. }
  9406. }
  9407.  
  9408. .message-menu-section
  9409. {
  9410. &--editDelete
  9411. {
  9412. .menu-linkRow
  9413. {
  9414. font-weight: @xf-fontWeightHeavy;
  9415. font-size: @xf-fontSizeNormal;
  9416. }
  9417. }
  9418. }
  9419.  
  9420. .message-menu-link
  9421. {
  9422. &--delete i:after
  9423. {
  9424. .m-faContent(@fa-var-trash-o);
  9425. }
  9426. &--edit i:after
  9427. {
  9428. .m-faContent(@fa-var-edit);
  9429. }
  9430. &--report i:after
  9431. {
  9432. .m-faContent(@fa-var-frown-o);
  9433. }
  9434. &--warn i:after
  9435. {
  9436. .m-faContent(@fa-var-warning);
  9437. }
  9438. &--spam i:after
  9439. {
  9440. .m-faContent(@fa-var-ban);
  9441. }
  9442. &--ip i:after
  9443. {
  9444. .m-faContent(@fa-var-sitemap);
  9445. }
  9446. &--history i:after
  9447. {
  9448. .m-faContent(@fa-var-history);
  9449. }
  9450. &--follow i:after
  9451. {
  9452. .m-faContent(@fa-var-user-plus);
  9453. }
  9454. &--ignore i:after
  9455. {
  9456. .m-faContent(@fa-var-user-times);
  9457. }
  9458. &--share i:after
  9459. {
  9460. .m-faContent(@fa-var-share-alt);
  9461. }
  9462. }
  9463.  
  9464. // ############################# COMMENTS ###############
  9465.  
  9466. .comment
  9467. {
  9468. }
  9469.  
  9470. .comment-inner
  9471. {
  9472. display: table;
  9473. table-layout: fixed;
  9474. width: 100%;
  9475. }
  9476.  
  9477. .comment-avatar
  9478. {
  9479. display: table-cell;
  9480. width: 24px;
  9481. vertical-align: top;
  9482.  
  9483. .avatar,
  9484. img
  9485. {
  9486. vertical-align: bottom;
  9487. }
  9488. }
  9489.  
  9490. .comment-main
  9491. {
  9492. display: table-cell;
  9493. padding-left: @xf-messagePadding;
  9494. vertical-align: top;
  9495. }
  9496.  
  9497. .comment-contentWrapper
  9498. {
  9499. margin-bottom: @xf-messagePaddingSmall;
  9500. }
  9501.  
  9502. .comment-user
  9503. {
  9504. font-weight: @xf-fontWeightHeavy;
  9505. }
  9506.  
  9507. .comment-body
  9508. {
  9509. display: inline;
  9510. }
  9511.  
  9512. .comment-input
  9513. {
  9514. display: block;
  9515. height: 2.34em;
  9516. margin-bottom: @xf-messagePaddingSmall;
  9517. }
  9518.  
  9519. .comment-actionBar .actionBar-set
  9520. {
  9521. margin-top: @xf-messagePaddingSmall;
  9522. color: @xf-textColorMuted;
  9523. }
  9524.  
  9525. .comment-likes
  9526. {
  9527. .m-transitionFadeDown();
  9528.  
  9529. margin-top: @xf-messagePaddingSmall;
  9530. font-size: @xf-fontSizeSmaller;
  9531. }
  9532.  
  9533. // ################################## MESSAGE QUICK REPLY ADDITIONS #############
  9534.  
  9535. .formSubmitRow.formSubmitRow--messageQr
  9536. {
  9537. .formSubmitRow-controls
  9538. {
  9539. text-align: center;
  9540. padding-left: 0;
  9541. padding-right: 0;
  9542. margin-left: @xf-messagePadding;
  9543. margin-right: @xf-messagePadding;
  9544.  
  9545. @media (max-width: @xf-formResponsive)
  9546. {
  9547. text-align: right;
  9548. }
  9549. }
  9550. }
  9551.  
  9552. // ################################## MESSAGE NOTICES #############################
  9553.  
  9554. .messageNotice
  9555. {
  9556. margin: @xf-messagePaddingSmall 0;
  9557. padding: @xf-messagePaddingSmall @xf-messagePadding;
  9558. .xf-contentAccentBase();
  9559. font-size: @xf-fontSizeSmaller;
  9560. border-left: @xf-borderSizeMinorFeature solid @xf-borderColorAttention;
  9561.  
  9562. a,
  9563. a:hover
  9564. {
  9565. .xf-contentAccentLink();
  9566. }
  9567.  
  9568. &:first-child
  9569. {
  9570. margin-top: 0;
  9571. }
  9572.  
  9573. &:before
  9574. {
  9575. display: inline-block;
  9576. .m-faBase();
  9577. padding-right: .2em;
  9578. font-size: 125%;
  9579. color: @xf-textColorAttention;
  9580. }
  9581.  
  9582. &.messageNotice--deleted:before { .m-faContent(@fa-var-trash, .79em); }
  9583. &.messageNotice--moderated:before { .m-faContent(@fa-var-shield, .72em); }
  9584. &.messageNotice--warning:before { .m-faContent(@fa-var-warning, 1em); }
  9585. &.messageNotice--ignored:before { .m-faContent(@fa-var-microphone-slash, .79em); }
  9586. }
  9587.  
  9588. // ##################### MESSAGE VARIANTS/RESPONSIVE ##################
  9589.  
  9590. @media (min-width: @xf-responsiveEdgeSpacerRemoval)
  9591. {
  9592. .block:not(.block--messages)
  9593. {
  9594. @{block-noStripSel} > .block-body:first-child > .message:first-child,
  9595. .block-topRadiusContent.message,
  9596. .block-topRadiusContent > .message:first-child
  9597. {
  9598. .message-cell:first-child { border-top-left-radius: @block-borderRadius-inner; }
  9599. .message-cell:last-child { border-top-right-radius: @block-borderRadius-inner; }
  9600. }
  9601.  
  9602. @{block-noStripSel} > .block-body:last-child > .message:last-child,
  9603. .block-bottomRadiusContent.message,
  9604. .block-bottomRadiusContent > .message:last-child
  9605. {
  9606. .message-cell:first-child { border-bottom-left-radius: @block-borderRadius-inner; }
  9607. .message-cell:last-child { border-bottom-right-radius: @block-borderRadius-inner; }
  9608. }
  9609. }
  9610. }
  9611.  
  9612. .block--messages
  9613. {
  9614. .block-container
  9615. {
  9616. background: none;
  9617. border: none;
  9618. }
  9619.  
  9620. .message,
  9621. .block-row
  9622. {
  9623.  
  9624. border-radius: @xf-blockBorderRadius;
  9625.  
  9626. + .message,
  9627. + .block-row
  9628. {
  9629. margin-top: @xf-blockPaddingV;
  9630. }
  9631. }
  9632.  
  9633. .message-cell
  9634. {
  9635. &:first-child
  9636. {
  9637. border-radius: 0;
  9638. border-top-left-radius: @block-borderRadius-inner;
  9639. border-bottom-left-radius: @block-borderRadius-inner;
  9640. }
  9641.  
  9642. &:last-child
  9643. {
  9644. border-radius: 0;
  9645. border-top-right-radius: @block-borderRadius-inner;
  9646. border-bottom-right-radius: @block-borderRadius-inner;
  9647. }
  9648.  
  9649. &:first-child:last-child
  9650. {
  9651. border-radius: @block-borderRadius-inner;
  9652. }
  9653. }
  9654.  
  9655. @media (max-width: @xf-messageSingleColumnWidth)
  9656. {
  9657. .message:not(.message--forceColumns)
  9658. {
  9659. .message-cell
  9660. {
  9661. &:first-child
  9662. {
  9663. border-radius: 0;
  9664. border-top-left-radius: @block-borderRadius-inner;
  9665. border-top-right-radius: @block-borderRadius-inner;
  9666. }
  9667.  
  9668. &:last-child
  9669. {
  9670. border-radius: 0;
  9671. border-bottom-left-radius: @block-borderRadius-inner;
  9672. border-bottom-right-radius: @block-borderRadius-inner;
  9673. }
  9674.  
  9675. &:first-child:last-child
  9676. {
  9677. border-radius: @block-borderRadius-inner;
  9678. }
  9679. }
  9680. }
  9681.  
  9682. .message--simple:not(.message--forceColumns) .message-cell--user + .message-cell
  9683. {
  9684. border-radius: 0;
  9685. border-top-left-radius: @block-borderRadius-inner;
  9686. border-top-right-radius: @block-borderRadius-inner;
  9687. }
  9688. }
  9689.  
  9690. @media (max-width: @xf-responsiveEdgeSpacerRemoval)
  9691. {
  9692. .message,
  9693. .block-row
  9694. {
  9695. border-left: none;
  9696. border-right: none;
  9697. border-radius: 0;
  9698. }
  9699.  
  9700. .message-cell
  9701. {
  9702. border-radius: 0;
  9703.  
  9704. &:first-child,
  9705. &:last-child
  9706. {
  9707. border-radius: 0;
  9708. }
  9709. }
  9710.  
  9711. .message--simple .message-cell--user + .message-cell
  9712. {
  9713. border-radius: 0;
  9714. }
  9715. }
  9716. }]]></template>
  9717. <template title="message_macros" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[<xf:macro name="user_info"
  9718. arg-user="!"
  9719. arg-fallbackName=""
  9720. arg-dateHtml=""
  9721. arg-linkHtml="">
  9722.  
  9723. <section itemscope itemtype="https://schema.org/Person" class="message-user"><div class="message-avatar {{ ($xf.options.showMessageOnlineStatus && $user && $user.isOnline()) ? 'message-avatar--online' : '' }}">
  9724. <div class="message-avatar-wrapper">
  9725. <xf:avatar user="$user" size="m" defaultname="{$fallbackName}" itemprop="image" />
  9726. <xf:if is="$xf.options.showMessageOnlineStatus && $user && $user.isOnline()">
  9727. <span class="message-avatar-online" data-xf-init="tooltip" title="{{ phrase('online_now')|for_attr }}"></span>
  9728. </xf:if>
  9729. </div>
  9730. </div>
  9731. <div class="message-userDetails">
  9732. <h4 class="message-name"><xf:username user="$user" rich="true" defaultname="{$fallbackName}" itemprop="name" /></h4>
  9733. <xf:usertitle user="$user" tag="h5" class="message-userTitle" banner="true" itemprop="jobTitle" />
  9734. <xf:userbanners user="$user" tag="div" class="message-userBanner" itemprop="jobTitle" />
  9735. <xf:if is="{$dateHtml}"><div class="message-date">{$dateHtml}</div></xf:if>
  9736. </div>
  9737. <xf:if is="{$linkHtml}"><div class="message-permalink">{$linkHtml}</div></xf:if>
  9738. <xf:if is="$user.user_id">
  9739. <xf:set var="$extras" value="{{ property('messageUserElements') }}" />
  9740. <xf:if contentcheck="true">
  9741. <div class="message-userExtras">
  9742. <xf:contentcheck>
  9743. <xf:if is="$extras.register_date">
  9744. <dl class="pairs pairs--justified">
  9745. <dt>{{ phrase('joined') }}</dt>
  9746. <dd>{{ date($user.register_date) }}</dd>
  9747. </dl>
  9748. </xf:if>
  9749. <xf:if is="$extras.message_count">
  9750. <dl class="pairs pairs--justified">
  9751. <dt>{{ phrase('messages') }}</dt>
  9752. <dd>{$user.message_count|number}</dd>
  9753. </dl>
  9754. </xf:if>
  9755. <xf:if is="$extras.like_count">
  9756. <dl class="pairs pairs--justified">
  9757. <dt>{{ phrase('likes') }}</dt>
  9758. <dd>{$user.like_count|number}</dd>
  9759. </dl>
  9760. </xf:if>
  9761. <xf:if is="$extras.trophy_points && $xf.options.enableTrophies">
  9762. <dl class="pairs pairs--justified">
  9763. <dt>{{ phrase('points') }}</dt>
  9764. <dd>{$user.trophy_points|number}</dd>
  9765. </dl>
  9766. </xf:if>
  9767. <xf:if is="$extras.age && $user.Profile.age">
  9768. <dl class="pairs pairs--justified">
  9769. <dt>{{ phrase('age') }}</dt>
  9770. <dd>{$user.Profile.age}</dd>
  9771. </dl>
  9772. </xf:if>
  9773. <xf:if is="$extras.location && $user.Profile.location">
  9774. <dl class="pairs pairs--justified">
  9775. <dt>{{ phrase('location') }}</dt>
  9776. <dd>
  9777. <xf:if is="$xf.options.geoLocationUrl">
  9778. <a href="{{ link('misc/location-info', '', {'location': $user.Profile.location}) }}" rel="nofollow noreferrer" target="_blank" class="u-concealed">{$user.Profile.location}</a>
  9779. <xf:else />
  9780. {$user.Profile.location}
  9781. </xf:if>
  9782. </dd>
  9783. </dl>
  9784. </xf:if>
  9785. <xf:if is="$extras.website && $user.Profile.website">
  9786. <dl class="pairs pairs--justified">
  9787. <dt>{{ phrase('website') }}</dt>
  9788. <dd><a href="{$user.Profile.website}" rel="nofollow" target="_blank">{$user.Profile.website|url('host', phrase('visit_site'))}</a></dd>
  9789. </dl>
  9790. </xf:if>
  9791. <xf:if is="$extras.custom_fields">
  9792. <xf:macro template="custom_fields_macros" name="custom_fields_values"
  9793. arg-type="users"
  9794. arg-group="personal"
  9795. arg-set="{$user.Profile.custom_fields}"
  9796. arg-additionalFilters="{{ ['message'] }}"
  9797. arg-valueClass="pairs pairs--justified" />
  9798. <xf:if is="$user.canViewIdentities()">
  9799. <xf:macro template="custom_fields_macros" name="custom_fields_view"
  9800. arg-type="users"
  9801. arg-group="contact"
  9802. arg-set="{$user.Profile.custom_fields}"
  9803. arg-additionalFilters="{{ ['message'] }}"
  9804. arg-valueClass="pairs pairs--justified" />
  9805. </xf:if>
  9806. </xf:if>
  9807. </xf:contentcheck>
  9808. </div>
  9809. </xf:if>
  9810. </xf:if>
  9811. <span class="message-userArrow"></span>
  9812. </section>
  9813. </xf:macro>
  9814.  
  9815. <xf:macro name="user_info_simple" arg-user="!" arg-fallbackName="">
  9816. <header itemscope itemtype="https://schema.org/Person" class="message-user">
  9817. <meta itemprop="name" content="{{ $user.username ?: $fallbackName }}">
  9818. <div class="message-avatar">
  9819. <div class="message-avatar-wrapper">
  9820. <xf:avatar user="$user" size="s" defaultname="{$fallbackName}" itemprop="image" />
  9821. </div>
  9822. </div>
  9823. <span class="message-userArrow"></span>
  9824. </header>
  9825. </xf:macro>
  9826.  
  9827. <xf:macro name="attachments" arg-attachments="!" arg-message="!" arg-canView="!">
  9828. <xf:if contentcheck="true">
  9829. <xf:css src="attachments.less" />
  9830. <section class="message-attachments">
  9831. <h4 class="block-textHeader">{{ phrase('attachments') }}:</h4>
  9832. <ul class="attachmentList">
  9833. <xf:contentcheck>
  9834. <xf:foreach loop="$attachments" value="$attachment" if="!$message.isAttachmentEmbedded($attachment)">
  9835. <xf:macro template="attachment_macros" name="attachment_list_item"
  9836. arg-attachment="{$attachment}"
  9837. arg-canView="{$canView}" />
  9838. </xf:foreach>
  9839. </xf:contentcheck>
  9840. </ul>
  9841. </section>
  9842. </xf:if>
  9843. </xf:macro>
  9844.  
  9845. <xf:macro name="signature" arg-user="!">
  9846. <xf:if is="$xf.visitor.Option.content_show_signature AND $user.Profile.signature">
  9847. <xf:if contentcheck="true">
  9848. <aside class="message-signature">
  9849. <xf:contentcheck>
  9850. {{ bb_code($user.Profile.signature, 'user:signature', $user) }}
  9851. </xf:contentcheck>
  9852. </aside>
  9853. </xf:if>
  9854. </xf:if>
  9855. </xf:macro>]]></template>
  9856. <template title="mixins.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[.brv--image{
  9857. background-image: url("{{ base_url() }}styles/brivium/nickel/extra/brivium-images.png");
  9858. }
  9859. .cloud--image{
  9860. background-image: url("{{ base_url() }}styles/brivium/nickel/extra/cloud.png");
  9861. }
  9862. .node--sprite{
  9863. background-image: url("{{ base_url() }}styles/brivium/nickel/extra/node.png");
  9864. }
  9865. .node--read{
  9866. background-image: url("{{ base_url() }}styles/brivium/nickel/extra/noderead.png");
  9867. }
  9868. .node--page{
  9869. background-image: url("{{ base_url() }}styles/brivium/nickel/extra/page.png");
  9870. }
  9871. .node--link{
  9872. background-image: url("{{ base_url() }}styles/brivium/nickel/extra/link.png");
  9873. }]]></template>
  9874. <template title="node_list.less" type="public" addon_id="XF" version_id="2000370" version_string="2.0.3"><![CDATA[@_nodeList-statsCellBreakpoint: 1000px;
  9875.  
  9876. .node
  9877. {
  9878. & + .node
  9879. {
  9880. border-top: @xf-borderSize solid @xf-borderColor;
  9881. }
  9882. }
  9883.  
  9884. .node-body
  9885. {
  9886. display: table;
  9887. table-layout: fixed;
  9888. width: 100%;
  9889. }
  9890.  
  9891. .node-icon
  9892. {
  9893. display: table-cell;
  9894. vertical-align: middle;
  9895. text-align: center;
  9896. width: 46px;
  9897. padding: @xf-paddingLarge 0 @xf-paddingLarge @xf-paddingLarge;
  9898.  
  9899. i
  9900. {
  9901. display: block;
  9902. line-height: 1.125;
  9903. font-size: 32px;
  9904.  
  9905. &:before
  9906. {
  9907. .m-faBase();
  9908.  
  9909. color: @xf-nodeIconReadColor;
  9910. text-shadow: 1px 1px 0.5px fade(xf-intensify(@xf-nodeIconReadColor, 50%), 50%);
  9911.  
  9912. .node--unread &
  9913. {
  9914. opacity: 1;
  9915. color: @xf-nodeIconUnreadColor;
  9916. text-shadow: 1px 1px 0.5px fade(xf-intensify(@xf-nodeIconUnreadColor, 50%), 50%);
  9917. }
  9918. }
  9919.  
  9920. .node--forum &:before,
  9921. .node--category &:before
  9922. {
  9923. .m-faContent(@fa-var-comments, 1em);
  9924. }
  9925.  
  9926. .node--page &:before
  9927. {
  9928. .m-faContent(@fa-var-file-text, .86em);
  9929. }
  9930.  
  9931. .node--link &:before
  9932. {
  9933. .m-faContent(@fa-var-link, .93em);
  9934. }
  9935. }
  9936. }
  9937.  
  9938. .node-main
  9939. {
  9940. display: table-cell;
  9941. vertical-align: middle;
  9942. padding: @xf-paddingLarge;
  9943. }
  9944.  
  9945. .node-stats
  9946. {
  9947. display: table-cell;
  9948. width: 170px;
  9949. vertical-align: middle;
  9950. text-align: center;
  9951. padding: @xf-paddingLarge 0;
  9952.  
  9953. > dl.pairs.pairs--rows
  9954. {
  9955. width: 50%;
  9956. float: left;
  9957. margin: 0;
  9958. padding: 0 @xf-paddingMedium/2;
  9959.  
  9960. &:first-child
  9961. {
  9962. padding-left: 0;
  9963. }
  9964.  
  9965. &:last-child
  9966. {
  9967. padding-right: 0;
  9968. }
  9969. }
  9970.  
  9971. &.node-stats--single
  9972. {
  9973. width: 100px;
  9974.  
  9975. > dl.pairs.pairs--rows
  9976. {
  9977. width: 100%;
  9978. float: none;
  9979. }
  9980. }
  9981.  
  9982. &.node-stats--triple
  9983. {
  9984. width: 240px;
  9985.  
  9986. > dl.pairs.pairs--rows
  9987. {
  9988. width: 33.333%;
  9989. }
  9990. }
  9991.  
  9992. @media (max-width: @_nodeList-statsCellBreakpoint)
  9993. {
  9994. display: none;
  9995. }
  9996. }
  9997.  
  9998. .node-extra
  9999. {
  10000. display: table-cell;
  10001. vertical-align: middle;
  10002. width: 230px;
  10003. padding: @xf-paddingLarge;
  10004.  
  10005. font-size: @xf-fontSizeSmall;
  10006. }
  10007.  
  10008. .node-extra-row
  10009. {
  10010. .m-overflowEllipsis();
  10011. color: @xf-textColorMuted;
  10012. }
  10013.  
  10014. .node-extra-placeholder
  10015. {
  10016. font-style: italic;
  10017. }
  10018.  
  10019. .node-title
  10020. {
  10021. margin: 0;
  10022. padding: 0;
  10023. font-size: @xf-fontSizeLarge;
  10024. font-weight: @xf-fontWeightNormal;
  10025.  
  10026. .node--unread &
  10027. {
  10028. font-weight: @xf-fontWeightHeavy;
  10029. }
  10030. }
  10031.  
  10032. .node-description
  10033. {
  10034. font-size: @xf-fontSizeSmall;
  10035. color: @xf-textColorDimmed;
  10036.  
  10037. &.node-description--tooltip
  10038. {
  10039. .has-js.has-no-touchevents &
  10040. {
  10041. display: none;
  10042. }
  10043. }
  10044. }
  10045.  
  10046. .node-meta
  10047. {
  10048. font-size: @xf-fontSizeSmall;
  10049. }
  10050.  
  10051. .node-statsMeta
  10052. {
  10053. display: none;
  10054.  
  10055. @media (max-width: @_nodeList-statsCellBreakpoint)
  10056. {
  10057. display: inline;
  10058. }
  10059. }
  10060.  
  10061. .node-bonus
  10062. {
  10063. font-size: @xf-fontSizeSmall;
  10064. color: @xf-textColorMuted;
  10065. text-align: right;
  10066. }
  10067.  
  10068. .node-subNodesFlat
  10069. {
  10070. font-size: @xf-fontSizeSmall;
  10071. margin-top: .3em;
  10072.  
  10073. .node-subNodesLabel
  10074. {
  10075. display: none;
  10076. }
  10077. }
  10078.  
  10079. .node-subNodeMenu
  10080. {
  10081. display: inline;
  10082.  
  10083. .menuTrigger
  10084. {
  10085. color: @xf-textColorMuted;
  10086. }
  10087. }
  10088.  
  10089. @media (max-width: @xf-responsiveMedium)
  10090. {
  10091. .node-main
  10092. {
  10093. display: block;
  10094. width: auto;
  10095. }
  10096.  
  10097. .node-extra
  10098. {
  10099. display: block;
  10100. width: auto;
  10101. // this gives an equivalent of medium padding between main and extra, with main still having large
  10102. margin-top: (@xf-paddingMedium - @xf-paddingLarge);
  10103. padding-top: 0;
  10104. }
  10105.  
  10106. .node-extra-row
  10107. {
  10108. display: inline-block;
  10109. vertical-align: top;
  10110. max-width: 100%;
  10111. }
  10112.  
  10113. .node-description,
  10114. .node-stats,
  10115. .node-subNodesFlat
  10116. {
  10117. display: none;
  10118. }
  10119. }
  10120.  
  10121. @media (max-width: @xf-responsiveNarrow)
  10122. {
  10123. .node-subNodeMenu
  10124. {
  10125. display: none;
  10126. }
  10127. }
  10128.  
  10129. .subNodeLink
  10130. {
  10131. &:before
  10132. {
  10133. display: inline-block;
  10134. .m-faBase();
  10135. width: 1em;
  10136. padding-right: .3em;
  10137. text-decoration: none;
  10138.  
  10139. color: @xf-nodeIconReadColor;
  10140. text-shadow: 1px 1px 0 fade(xf-intensify(@xf-nodeIconReadColor, 50%), 50%);
  10141. }
  10142.  
  10143. &:hover:before
  10144. {
  10145. text-decoration: none;
  10146. }
  10147.  
  10148. &.subNodeLink--unread
  10149. {
  10150. font-weight: @xf-fontWeightHeavy;
  10151.  
  10152. &:before
  10153. {
  10154. color: @xf-nodeIconUnreadColor;
  10155. text-shadow: 1px 1px 0 fade(xf-intensify(@xf-nodeIconUnreadColor, 50%), 50%);
  10156. }
  10157. }
  10158.  
  10159. &.subNodeLink--forum:before,
  10160. &.subNodeLink--category:before
  10161. {
  10162. .m-faContent(@fa-var-comments);
  10163. }
  10164.  
  10165. &.subNodeLink--page:before
  10166. {
  10167. .m-faContent(@fa-var-file-text);
  10168. }
  10169.  
  10170. &.subNodeLink--link:before
  10171. {
  10172. .m-faContent(@fa-var-link);
  10173. }
  10174. }
  10175.  
  10176. .node-subNodeFlatList
  10177. {
  10178. .m-listPlain();
  10179. .m-clearFix();
  10180.  
  10181. > li
  10182. {
  10183. display: inline-block;
  10184. margin-right: 1em;
  10185.  
  10186. &:last-child
  10187. {
  10188. margin-right: 0;
  10189. }
  10190. }
  10191.  
  10192. ol,
  10193. ul,
  10194. .node-subNodes
  10195. {
  10196. display: none;
  10197. }
  10198. }
  10199.  
  10200. .subNodeMenu
  10201. {
  10202. .m-listPlain();
  10203.  
  10204. ol,
  10205. ul
  10206. {
  10207. .m-listPlain();
  10208. }
  10209.  
  10210. .subNodeLink
  10211. {
  10212. display: block;
  10213. padding: @xf-blockPaddingV @xf-blockPaddingH;
  10214. text-decoration: none;
  10215. cursor: pointer;
  10216.  
  10217. &:hover
  10218. {
  10219. text-decoration: none;
  10220. background: @xf-contentHighlightBg;
  10221. }
  10222. }
  10223.  
  10224. li li .subNodeLink { padding-left: 1.5em; }
  10225. li li li .subNodeLink { padding-left: 3em; }
  10226. li li li li .subNodeLink { padding-left: 4.5em; }
  10227. li li li li li .subNodeLink { padding-left: 6em; }
  10228. li li li li li li .subNodeLink { padding-left: 7.5em; }
  10229. }]]></template>
  10230. <template title="node_list_category" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[<xf:macro name="depth1" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
  10231. <div class="block block--category block--category{$node.node_id}">
  10232. <span class="u-anchorTarget" id="{$node.Data.getCategoryAnchor()}"></span>
  10233. <div class="block-container">
  10234. <h2 class="block-header">
  10235. <a href="{{ link('categories', $node) }}">{$node.title}</a>
  10236. <xf:if is="{$node.description}"><xf:if is="property('TooltipCategories')"><span class="block-desc show-tooltip">{$node.description|raw}</span><xf:else/><span class="block-desc">{$node.description|raw}</span></xf:if></xf:if>
  10237. </h2>
  10238. <div class="block-body">
  10239. <xf:macro template="forum_list" name="node_list"
  10240. arg-children="{$children}"
  10241. arg-extras="{$childExtras}"
  10242. arg-depth="{{ $depth + 1 }}" />
  10243. </div>
  10244. </div>
  10245. </div>
  10246. </xf:macro>
  10247.  
  10248. <xf:macro name="depth2" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
  10249. <div class="node node--id{$node.node_id} node--depth{$depth} node--category {{ $extras.hasNew ? 'node--unread' : 'node--read' }}">
  10250. <div class="node-body">
  10251. <span class="node-icon" aria-hidden="true"><i></i></span>
  10252. <div class="node-main js-nodeMain">
  10253. <xf:set var="$descriptionDisplay" value="{{ property('nodeListDescriptionDisplay') }}" />
  10254. <h3 class="node-title">
  10255. <a href="{{ link('categories', $node) }}" data-xf-init="{{ $descriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description">{$node.title}</a>
  10256. </h3>
  10257. <xf:if is="$descriptionDisplay != 'none' && $node.description">
  10258. <div class="node-description {{ $descriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}">{$node.description|raw}</div>
  10259. </xf:if>
  10260.  
  10261. <xf:if is="!{$extras.privateInfo}">
  10262. <div class="node-stats">
  10263. <dl class="pairs pairs--rows">
  10264. <dt>{{ phrase('threads') }}</dt>
  10265. <dd>{$extras.discussion_count|number}</dd>
  10266. </dl>
  10267. <dl class="pairs pairs--rows">
  10268. <dt>{{ phrase('messages') }}</dt>
  10269. <dd>{$extras.message_count|number}</dd>
  10270. </dl>
  10271. </div>
  10272. </xf:if>
  10273.  
  10274. <div class="node-meta">
  10275. <xf:if is="!{$extras.privateInfo}">
  10276. <div class="node-statsMeta">
  10277. <dl class="pairs pairs--inline">
  10278. <dt>{{ phrase('threads') }}</dt>
  10279. <dd>{$extras.discussion_count|number}</dd>
  10280. </dl>
  10281. <dl class="pairs pairs--inline">
  10282. <dt>{{ phrase('messages') }}</dt>
  10283. <dd>{$extras.message_count|number}</dd>
  10284. </dl>
  10285. </div>
  10286. </xf:if>
  10287.  
  10288. <xf:if is="$depth == 2 AND property('nodeListSubDisplay') == 'menu'">
  10289. <xf:macro template="forum_list" name="sub_nodes_menu"
  10290. arg-children="{$children}"
  10291. arg-childExtras="{$childExtras}"
  10292. arg-depth="{{ $depth + 1 }}" />
  10293. </xf:if>
  10294. </div>
  10295.  
  10296. <xf:if is="$depth == 2 AND property('nodeListSubDisplay') == 'flat'">
  10297. <xf:macro template="forum_list" name="sub_nodes_flat"
  10298. arg-children="{$children}"
  10299. arg-childExtras="{$childExtras}"
  10300. arg-depth="{{ $depth + 1 }}" />
  10301. </xf:if>
  10302. </div>
  10303.  
  10304.  
  10305.  
  10306. <div class="node-extra">
  10307. <xf:if is="{$extras.privateInfo}">
  10308. <span class="node-extra-placeholder">{{ phrase('private') }}</span>
  10309. <xf:elseif is="{$extras.last_post_date}" />
  10310. <div class="node-extra-row"><span class="lastThreadTitle">{{ phrase('threads') }}:</span><a href="{{ link('posts', {'post_id': $extras.last_post_id}) }}" class="node-extra-title" title="{$extras.last_thread_title}">{$extras.last_thread_title}</a></div>
  10311. <div class="node-extra-row">
  10312. <ul class="listInline listInline--bullet">
  10313. <li class="node-extra-date"><xf:date time="{$extras.last_post_date}" /></li>
  10314. <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)">
  10315. <li class="node-extra-user">{{ phrase('ignored_member') }}</li>
  10316. <xf:else />
  10317. <li class="node-extra-user"><xf:username user="{{ {'user_id': $extras.last_post_user_id, 'username': $extras.last_post_username} }}" /></li>
  10318. </xf:if>
  10319. </ul>
  10320. </div>
  10321. <xf:else />
  10322. <span class="node-extra-placeholder">{{ phrase('none') }}</span>
  10323. </xf:if>
  10324. </div>
  10325. </div>
  10326. </div>
  10327. </xf:macro>
  10328.  
  10329. <xf:macro name="depthN" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
  10330. <li>
  10331. <a href="{{ link('categories', $node) }}" class="subNodeLink subNodeLink--category {{ $extras.hasNew ? 'subNodeLink--unread' : '' }}">{$node.title}</a>
  10332. <xf:macro template="forum_list" name="sub_node_list"
  10333. arg-children="{$children}"
  10334. arg-childExtras="{$childExtras}"
  10335. arg-depth="{{ $depth + 1 }}" />
  10336. </li>
  10337. </xf:macro>]]></template>
  10338. <template title="node_list_forum" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[<xf:macro name="depth1" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
  10339. <div class="block">
  10340. <div class="block-container">
  10341. <div class="block-body">
  10342. <xf:macro name="forum"
  10343. arg-node="{$node}"
  10344. arg-extras="{$extras}"
  10345. arg-children="{$children}"
  10346. arg-childExtras="{$childExtras}"
  10347. arg-depth="{$depth}" />
  10348. </div>
  10349. </div>
  10350. </div>
  10351. </xf:macro>
  10352.  
  10353. <xf:macro name="depth2" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
  10354. <xf:macro name="forum"
  10355. arg-node="{$node}"
  10356. arg-extras="{$extras}"
  10357. arg-children="{$children}"
  10358. arg-childExtras="{$childExtras}"
  10359. arg-depth="{$depth}" />
  10360. </xf:macro>
  10361.  
  10362. <xf:macro name="depthN" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
  10363. <li>
  10364. <a href="{{ link('forums', $node) }}" class="subNodeLink subNodeLink--forum {{ $extras.hasNew ? 'subNodeLink--unread' : '' }}">{$node.title}</a>
  10365. <xf:macro template="forum_list" name="sub_node_list"
  10366. arg-children="{$children}"
  10367. arg-childExtras="{$childExtras}"
  10368. arg-depth="{{ $depth + 1 }}" />
  10369. </li>
  10370. </xf:macro>
  10371.  
  10372. <xf:macro name="forum"
  10373. arg-node="!"
  10374. arg-extras="!"
  10375. arg-children="!"
  10376. arg-childExtras="!"
  10377. arg-depth="!"
  10378. arg-chooseName=""
  10379. arg-bonusInfo="">
  10380.  
  10381. <div class="node node--id{$node.node_id} node--depth{$depth} node--forum {{ $extras.hasNew ? 'node--unread' : 'node--read' }}">
  10382. <div class="node-body">
  10383. <span class="node-icon" aria-hidden="true"><i></i></span>
  10384. <div class="node-main js-nodeMain">
  10385. <xf:if is="$chooseName">
  10386. <xf:checkbox standalone="true">
  10387. <xf:option labelclass="u-pullRight" class="js-chooseItem" name="{$chooseName}[]" value="{$node.node_id}" />
  10388. </xf:checkbox>
  10389. </xf:if>
  10390.  
  10391. <xf:set var="$descriptionDisplay" value="{{ property('nodeListDescriptionDisplay') }}" />
  10392. <h3 class="node-title">
  10393. <a href="{{ link('forums', $node) }}" data-xf-init="{{ $descriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description">{$node.title}</a>
  10394. </h3>
  10395. <xf:if is="$descriptionDisplay != 'none' && $node.description">
  10396. <div class="node-description {{ $descriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}">{$node.description|raw}</div>
  10397. </xf:if>
  10398.  
  10399. <div class="node-meta">
  10400. <xf:if is="!{$extras.privateInfo}">
  10401. <div class="node-statsMeta">
  10402. <dl class="pairs pairs--inline">
  10403. <dt>{{ phrase('threads') }}</dt>
  10404. <dd>{$extras.discussion_count|number}</dd>
  10405. </dl>
  10406. <dl class="pairs pairs--inline">
  10407. <dt>{{ phrase('messages') }}</dt>
  10408. <dd>{$extras.message_count|number}</dd>
  10409. </dl>
  10410. </div>
  10411. </xf:if>
  10412.  
  10413. <xf:if is="$depth == 2 AND property('nodeListSubDisplay') == 'menu'">
  10414. <xf:macro template="forum_list" name="sub_nodes_menu"
  10415. arg-children="{$children}"
  10416. arg-childExtras="{$childExtras}"
  10417. arg-depth="{{ $depth + 1 }}" />
  10418. </xf:if>
  10419. </div>
  10420.  
  10421. <xf:if is="$depth == 2 AND property('nodeListSubDisplay') == 'flat'">
  10422. <xf:macro template="forum_list" name="sub_nodes_flat"
  10423. arg-children="{$children}"
  10424. arg-childExtras="{$childExtras}"
  10425. arg-depth="{{ $depth + 1 }}" />
  10426. </xf:if>
  10427.  
  10428. <xf:if is="$bonusInfo is not empty">
  10429. <div class="node-bonus">{$bonusInfo}</div>
  10430. </xf:if>
  10431. </div>
  10432.  
  10433. <xf:if is="!{$extras.privateInfo}">
  10434. <div class="node-stats">
  10435. <dl class="pairs pairs--rows">
  10436. <dt>{{ phrase('threads') }}:</dt>
  10437. <dd>{$extras.discussion_count|number}</dd>
  10438. </dl>
  10439. <dl class="pairs pairs--rows">
  10440. <dt>{{ phrase('messages') }}:</dt>
  10441. <dd>{$extras.message_count|number}</dd>
  10442. </dl>
  10443. </div>
  10444. </xf:if>
  10445.  
  10446.  
  10447. <div class="node-extra">
  10448. <xf:if is="{$extras.privateInfo}">
  10449. <span class="node-extra-placeholder">{{ phrase('private') }}</span>
  10450. <xf:elseif is="{$extras.last_post_date}" />
  10451. <div class="node-extra-row"><span class="lastThreadTitle">{{ phrase('threads') }}:</span><a href="{{ link('posts', {'post_id': $extras.last_post_id}) }}" class="node-extra-title" title="{$extras.last_thread_title}">{$extras.last_thread_title}</a></div>
  10452. <div class="node-extra-row">
  10453. <ul class="listInline listInline--bullet">
  10454. <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)">
  10455. <li class="node-extra-user">{{ phrase('ignored_member') }}</li>
  10456. <xf:else />
  10457. <li class="node-extra-user"><xf:username user="{{ {'user_id': $extras.last_post_user_id, 'username': $extras.last_post_username} }}" /></li>
  10458. </xf:if>
  10459. <li><xf:date time="{$extras.last_post_date}" class="node-extra-date" />
  10460. </ul>
  10461. </div>
  10462. <xf:else />
  10463. <span class="node-extra-placeholder">{{ phrase('none') }}</span>
  10464. </xf:if>
  10465. </div>
  10466. </div>
  10467. </div>
  10468.  
  10469. <xf:if is="{$depth} == 1">
  10470. <xf:macro template="forum_list" name="node_list"
  10471. arg-children="{$children}"
  10472. arg-extras="{$childExtras}"
  10473. arg-depth="{{ $depth + 1 }}" />
  10474. </xf:if>
  10475. </xf:macro>]]></template>
  10476. <template title="notices.less" type="public" addon_id="XF" version_id="2000670" version_string="2.0.6"><![CDATA[@_notice-darkBg: rgb(20, 20, 20);
  10477. @_notice-lightBg: #fefefe;
  10478. @_notice-floatingFade: 80%;
  10479. @_notice-imageSize: 48px;
  10480. @_notice-padding: @xf-paddingLarge;
  10481.  
  10482. .notices
  10483. {
  10484. .m-listPlain();
  10485.  
  10486. &.notices--block
  10487. {
  10488. .notice
  10489. {
  10490. margin-bottom: ((@xf-elementSpacer) / 2);
  10491. }
  10492. }
  10493.  
  10494. &.notices--floating
  10495. {
  10496. // assumed to be within u-bottomFixer
  10497. margin: 0 20px 0 auto;
  10498. width: 300px;
  10499. max-width: 100%;
  10500. z-index: @zIndex-8;
  10501.  
  10502. @media (max-width: 340px)
  10503. {
  10504. margin-right: 10px;
  10505. }
  10506.  
  10507. .notice
  10508. {
  10509. margin-bottom: 20px;
  10510. }
  10511. }
  10512.  
  10513. &.notices--scrolling
  10514. {
  10515. display: flex;
  10516. align-items: stretch;
  10517. overflow: hidden;
  10518. .xf-blockBorder();
  10519. margin-bottom: ((@xf-elementSpacer) / 2);
  10520.  
  10521. &.notices--isMulti
  10522. {
  10523. margin-bottom: ((@xf-elementSpacer) / 2) + 20px;
  10524. }
  10525.  
  10526. .notice
  10527. {
  10528. width: 100%;
  10529. flex-grow: 0;
  10530. flex-shrink: 0;
  10531. border: none;
  10532. }
  10533.  
  10534. .has-no-flexbox &
  10535. {
  10536. display: block;
  10537. white-space: nowrap;
  10538. word-wrap: normal;
  10539.  
  10540. .notice
  10541. {
  10542. display: inline-block;
  10543. vertical-align: top;
  10544. }
  10545. }
  10546. }
  10547. }
  10548.  
  10549. .noticeScrollContainer
  10550. {
  10551. margin-bottom: ((@xf-elementSpacer) / 2);
  10552. border-radius: 5px;
  10553. .notices.notices--scrolling
  10554. {
  10555. border: none;
  10556. margin-bottom: 0;
  10557. }
  10558. }
  10559.  
  10560. .notice
  10561. {
  10562. .m-clearFix();
  10563. position: relative;
  10564.  
  10565. .xf-blockBorder();
  10566.  
  10567. &.notice--primary
  10568. {
  10569.  
  10570. }
  10571.  
  10572. &.notice--accent
  10573. {
  10574. .xf-contentAccentBase();
  10575.  
  10576. a:not(.button--notice)
  10577. {
  10578. .xf-contentAccentLink();
  10579. }
  10580. }
  10581.  
  10582. &.notice--dark
  10583. {
  10584. color: #fefefe;
  10585. border: none;
  10586. background: @_notice-darkBg;
  10587.  
  10588. a:not(.button--notice)
  10589. {
  10590. color: rgb(180, 180, 180);
  10591. }
  10592. }
  10593.  
  10594. &.notice--light
  10595. {
  10596. color: rgb(20, 20, 20);
  10597. background: @_notice-lightBg;
  10598.  
  10599. a:not(.button--notice)
  10600. {
  10601. color: rgb(130, 130, 130);
  10602. }
  10603. }
  10604.  
  10605. &.notice--cookie
  10606. {
  10607. @media (max-width: @xf-responsiveWide)
  10608. {
  10609. .notice-content
  10610. {
  10611. padding: @xf-paddingSmall @xf-paddingSmall @xf-paddingLarge;
  10612. font-size: @xf-fontSizeSmaller;
  10613.  
  10614. .button--notice
  10615. {
  10616. font-size: @xf-fontSizeSmaller;
  10617. padding: @xf-paddingSmall @xf-paddingMedium;
  10618.  
  10619. .button-text
  10620. {
  10621. font-size: @xf-fontSizeSmaller;
  10622. }
  10623. }
  10624. }
  10625. }
  10626. }
  10627.  
  10628. .notices--block &
  10629. {
  10630. font-size: @xf-fontSizeNormal;
  10631. border-radius: @xf-blockBorderRadius;
  10632. }
  10633.  
  10634. .notices--floating &
  10635. {
  10636. font-size: @xf-fontSizeSmallest;
  10637. border-radius: @xf-borderRadiusMedium;
  10638. box-shadow: 1px 1px 3px rgba(0,0,0, 0.25);
  10639.  
  10640. &.notice--primary
  10641. {
  10642. background-color: fade(@xf-contentHighlightBase--background-color, @_notice-floatingFade);
  10643. }
  10644.  
  10645. &.notice--accent
  10646. {
  10647. background-color: fade(@xf-contentAccentBase--background-color, @_notice-floatingFade);
  10648. }
  10649.  
  10650. &.notice--dark
  10651. {
  10652. background-color: fade(@_notice-darkBg, @_notice-floatingFade);
  10653. }
  10654.  
  10655. &.notice--light
  10656. {
  10657. background-color: fade(@_notice-lightBg, @_notice-floatingFade);
  10658. }
  10659.  
  10660. .has-no-js &
  10661. {
  10662. display: none;
  10663. }
  10664. }
  10665.  
  10666. &.notice--hasImage
  10667. {
  10668. .notice-content
  10669. {
  10670. margin-left: ((@_notice-imageSize) + (@_notice-padding) * 2);
  10671. min-height: ((@_notice-imageSize) + (@_notice-padding) * 2);
  10672. }
  10673. }
  10674.  
  10675. @media (max-width: @xf-responsiveWide)
  10676. {
  10677. &.notice--hidewide:not(.is-vis-processed)
  10678. {
  10679. display: none;
  10680. }
  10681. }
  10682. @media (max-width: @xf-responsiveMedium)
  10683. {
  10684. &.notice--hidemedium:not(.is-vis-processed)
  10685. {
  10686. display: none;
  10687. }
  10688. }
  10689. @media (max-width: @xf-responsiveNarrow)
  10690. {
  10691. &.notice--hidenarrow:not(.is-vis-processed)
  10692. {
  10693. display: none;
  10694. }
  10695. }
  10696. }
  10697.  
  10698. .notice-image
  10699. {
  10700. float: left;
  10701. padding: @_notice-padding 0 @_notice-padding @_notice-padding;
  10702.  
  10703. img
  10704. {
  10705. max-width: @_notice-imageSize;
  10706. max-height: @_notice-imageSize;
  10707. }
  10708. }
  10709.  
  10710. .notice-content
  10711. {
  10712. padding: @_notice-padding;
  10713. background: #fff;
  10714. border-radius: 5px;
  10715. color: rgb(20,20,20);
  10716. a.notice-dismiss
  10717. {
  10718. &:before
  10719. {
  10720. .m-faBase();
  10721.  
  10722. .m-faContent(@fa-var-remove, .79em);
  10723. }
  10724.  
  10725. float: right;
  10726.  
  10727. color: inherit;
  10728. font-size: 16px;
  10729. line-height: 1;
  10730. height: 1em;
  10731. box-sizing: content-box;
  10732. padding: 0 0 5px 5px;
  10733.  
  10734. opacity: .5;
  10735. .m-transition(opacity);
  10736.  
  10737. cursor: pointer;
  10738.  
  10739. &:hover
  10740. {
  10741. text-decoration: none;
  10742. opacity: 1;
  10743. }
  10744.  
  10745. .notices--floating &
  10746. {
  10747. font-size: 14px;
  10748. }
  10749. }
  10750. }]]></template>
  10751. <template title="page_nav" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[<nav class="pageNavWrapper pageNavWrapper--{{ property('pageNavStyle') }} {$variantClass}">
  10752.  
  10753. <xf:set var="$hasSkipStart" value="{{ $startInner > 2 }}" />
  10754. <xf:set var="$hasSkipEnd" value="{{ $endInner + 1 < $totalPages }}" />
  10755. <div class="pageNav {{ $hasSkipStart ? 'pageNav--skipStart' : '' }} {{ $hasSkipEnd ? 'pageNav--skipEnd' : '' }}">
  10756. <span class="text-page">{{ phrase('Page') }}</span>
  10757. <a class="pageNavSimple-el pageNavSimple-el--current"
  10758. data-xf-init="tooltip" title="{{ phrase('go_to_page')|for_attr }}"
  10759. data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">
  10760. {{ phrase('x_of_y', {'current': $current, 'total': $totalPages}) }}
  10761. </a>
  10762. <xf:if is="$prev">
  10763. <a href="{$prev}" class="pageNav-jump pageNav-jump--prev">{{ phrase('prev') }}</a>
  10764. </xf:if>
  10765.  
  10766. <ul class="pageNav-main">
  10767. <xf:macro name="page_link"
  10768. arg-page="1"
  10769. arg-current="{$current}"
  10770. arg-link="{$link}"
  10771. arg-data="{$data}"
  10772. arg-params="{$params}"
  10773. arg-pageParam="{$pageParam}" />
  10774.  
  10775. <xf:if is="$hasSkipStart">
  10776. <xf:if is="$startInner == 3">
  10777. <xf:macro name="page_link"
  10778. arg-page="2"
  10779. arg-current="{$current}"
  10780. arg-link="{$link}"
  10781. arg-data="{$data}"
  10782. arg-params="{$params}"
  10783. arg-pageParam="{$pageParam}"
  10784. arg-pageClass="pageNav-page--earlier" />
  10785. <xf:else />
  10786. <li class="pageNav-page pageNav-page--skip pageNav-page--skipStart">
  10787. <a data-xf-init="tooltip" title="{{ phrase('go_to_page')|for_attr }}"
  10788. data-xf-click="menu"
  10789. role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{$xf.language.ellipsis}</a>
  10790. <xf:macro name="page_jump_menu"
  10791. arg-page="{{ $startInner - 1 }}"
  10792. arg-totalPages="{$totalPages}"
  10793. arg-link="{$link}"
  10794. arg-data="{$data}"
  10795. arg-params="{$params}"
  10796. arg-pageParam="{$pageParam}" />
  10797. </li>
  10798. </xf:if>
  10799. </xf:if>
  10800.  
  10801. <xf:foreach loop="$innerPages" value="$page">
  10802. <xf:macro name="page_link"
  10803. arg-page="{$page}"
  10804. arg-current="{$current}"
  10805. arg-link="{$link}"
  10806. arg-data="{$data}"
  10807. arg-params="{$params}"
  10808. arg-pageParam="{$pageParam}"
  10809. arg-pageClass="{{ $page < $current ? 'pageNav-page--earlier' : ($page > $current ? 'pageNav-page--later' : '' ) }}" />
  10810. </xf:foreach>
  10811.  
  10812. <xf:if is="$hasSkipEnd">
  10813. <xf:if is="$endInner + 2 == $totalPages">
  10814. <xf:macro name="page_link"
  10815. arg-page="{{ $totalPages - 1 }}"
  10816. arg-current="{$current}"
  10817. arg-link="{$link}"
  10818. arg-data="{$data}"
  10819. arg-params="{$params}"
  10820. arg-pageParam="{$pageParam}"
  10821. arg-pageClass="pageNav-page--later" />
  10822. <xf:else />
  10823. <li class="pageNav-page pageNav-page--skip pageNav-page--skipEnd">
  10824. <a data-xf-init="tooltip" title="{{ phrase('go_to_page')|for_attr }}"
  10825. data-xf-click="menu"
  10826. role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{$xf.language.ellipsis}</a>
  10827. <xf:macro name="page_jump_menu"
  10828. arg-page="{{ $endInner + 1 }}"
  10829. arg-totalPages="{$totalPages}"
  10830. arg-link="{$link}"
  10831. arg-data="{$data}"
  10832. arg-params="{$params}"
  10833. arg-pageParam="{$pageParam}" />
  10834. </li>
  10835. </xf:if>
  10836. </xf:if>
  10837.  
  10838. <xf:macro name="page_link"
  10839. arg-page="{$totalPages}"
  10840. arg-current="{$current}"
  10841. arg-link="{$link}"
  10842. arg-data="{$data}"
  10843. arg-params="{$params}"
  10844. arg-pageParam="{$pageParam}" />
  10845. </ul>
  10846.  
  10847. <xf:if is="$next">
  10848. <a href="{$next}" class="pageNav-jump pageNav-jump--next">{{ phrase('next') }}</a>
  10849. </xf:if>
  10850. </div>
  10851.  
  10852. <div class="pageNavSimple">
  10853. <xf:if is="$current > 1">
  10854. <a href="{{ link($link, $data, $params + {($pageParam): 1}) }}"
  10855. class="pageNavSimple-el pageNavSimple-el--first"
  10856. data-xf-init="tooltip" title="{{ phrase('first')|for_attr }}">
  10857. <i aria-hidden="true"></i> <span class="u-srOnly">{{ phrase('first') }}</span>
  10858. </a>
  10859. <a href="{{ link($link, $data, $params + {($pageParam): $current - 1}) }}" class="pageNavSimple-el pageNavSimple-el--prev">
  10860. <i aria-hidden="true"></i> {{ phrase('prev') }}
  10861. </a>
  10862. </xf:if>
  10863.  
  10864. <a class="pageNavSimple-el pageNavSimple-el--current"
  10865. data-xf-init="tooltip" title="{{ phrase('go_to_page')|for_attr }}"
  10866. data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">
  10867. {{ phrase('x_of_y', {'current': $current, 'total': $totalPages}) }}
  10868. </a>
  10869. <xf:macro name="page_jump_menu"
  10870. arg-page="{$current}"
  10871. arg-totalPages="{$totalPages}"
  10872. arg-link="{$link}"
  10873. arg-data="{$data}"
  10874. arg-params="{$params}"
  10875. arg-pageParam="{$pageParam}" />
  10876.  
  10877. <xf:if is="$current < $totalPages">
  10878. <a href="{{ link($link, $data, $params + {($pageParam): $current + 1}) }}" class="pageNavSimple-el pageNavSimple-el--next">
  10879. {{ phrase('next') }} <i aria-hidden="true"></i>
  10880. </a>
  10881. <a href="{{ link($link, $data, $params + {($pageParam): $totalPages}) }}"
  10882. class="pageNavSimple-el pageNavSimple-el--last"
  10883. data-xf-init="tooltip" title="{{ phrase('last')|for_attr }}">
  10884. <i aria-hidden="true"></i> <span class="u-srOnly">{{ phrase('last') }}</span>
  10885. </a>
  10886. </xf:if>
  10887. </div>
  10888.  
  10889. </nav>
  10890.  
  10891. <xf:macro name="page_link"
  10892. arg-page="!"
  10893. arg-current="!"
  10894. arg-link="!"
  10895. arg-data="!"
  10896. arg-params="!"
  10897. arg-pageParam="!"
  10898. arg-pageClass="">
  10899.  
  10900. <xf:if is="$page == $current">
  10901. <li class="pageNav-page pageNav-page--current {$pageClass}"><a href="{{ link($link, $data, $params + {($pageParam): ($page > 1 ? $page : null)}) }}">{$page}</a></li>
  10902. <xf:else />
  10903. <li class="pageNav-page {$pageClass}"><a href="{{ link($link, $data, $params + {($pageParam): ($page > 1 ? $page : null)}) }}">{$page}</a></li>
  10904. </xf:if>
  10905. </xf:macro>
  10906.  
  10907. <xf:macro name="page_jump_menu"
  10908. arg-page="!"
  10909. arg-totalPages="!"
  10910. arg-link="!"
  10911. arg-data="!"
  10912. arg-params="!"
  10913. arg-pageParam="!">
  10914.  
  10915. <div class="menu menu--pageJump" data-menu="menu" aria-hidden="true">
  10916. <div class="menu-content">
  10917. <h4 class="menu-header">{{ phrase('go_to_page') }}</h4>
  10918. <div class="menu-row" data-xf-init="page-jump" data-page-url="{{ link($link, $data, $params + {($pageParam): '%page%'}) }}">
  10919. <div class="inputGroup inputGroup--numbers">
  10920. <xf:numberbox class="input input--numberNarrow js-pageJumpPage" value="{$page}" min="1" max="{$totalPages}" data-menu-autofocus="true" />
  10921. <span class="inputGroup-text"><xf:button class="js-pageJumpGo">{{ phrase('go') }}</xf:button></span>
  10922. </div>
  10923. </div>
  10924. </div>
  10925. </div>
  10926. </xf:macro>]]></template>
  10927. <template title="post_macros" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[<xf:macro name="post" arg-post="!" arg-thread="!">
  10928. <xf:css src="message.less" />
  10929. <xf:set var="$isIgnored" value="{{ $post.isIgnored() }}" />
  10930. <article class="message message--post js-post js-inlineModContainer {{ $isIgnored ? 'is-ignored' : '' }} {{ $post.isUnread() ? ' is-unread' : '' }}"
  10931. data-author="{{ $post.User.username ?: $post.username }}"
  10932. data-content="post-{$post.post_id}"
  10933. id="js-post-{$post.post_id}">
  10934.  
  10935. <span class="u-anchorTarget" id="post-{$post.post_id}"></span>
  10936.  
  10937. <div class="message-inner">
  10938. <div class="message-cell message-cell--user">
  10939. <xf:set var="$dateHtml"><a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="u-concealed" rel="nofollow"><xf:date time="{$post.post_date}" /></a></xf:set>
  10940. <xf:set var="$linkHtml"><a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="u-concealed" rel="nofollow">#{{ number($post.position + 1) }}</a></xf:set>
  10941. <xf:macro template="message_macros" name="user_info" arg-user="{$post.User}" arg-fallbackName="{$post.username}" arg-dateHtml="{$dateHtml}" arg-linkHtml="{$linkHtml}" />
  10942. </div>
  10943. <div class="message-cell message-cell--main">
  10944. <div class="message-main js-quickEditTarget">
  10945. <div class="message-content js-messageContent">
  10946.  
  10947. <xf:if is="$post.message_state == 'deleted'">
  10948. <div class="messageNotice messageNotice--deleted">
  10949. <xf:macro template="deletion_macros" name="notice" arg-log="{$post.DeletionLog}" />
  10950. </div>
  10951. <xf:elseif is="$post.message_state == 'moderated'" />
  10952. <div class="messageNotice messageNotice--moderated">
  10953. {{ phrase('this_message_is_awaiting_moderator_approval_and_is_invisible_to_normal') }}
  10954. </div>
  10955. </xf:if>
  10956. <xf:if is="$post.warning_message">
  10957. <div class="messageNotice messageNotice--warning">
  10958. {$post.warning_message}
  10959. </div>
  10960. </xf:if>
  10961. <xf:if is="$isIgnored">
  10962. <div class="messageNotice messageNotice--ignored">
  10963. {{ phrase('you_are_ignoring_content_by_this_member') }}
  10964. <xf:showignored />
  10965. </div>
  10966. </xf:if>
  10967.  
  10968. <div class="message-userContent lbContainer js-lbContainer {{ $isIgnored ? 'is-ignored' : '' }}"
  10969. data-lb-id="post-{$post.post_id}"
  10970. data-lb-caption-desc="{{ $post.User ? $post.User.username : $post.username }} &middot; {{ date_time($post.post_date) }}">
  10971.  
  10972. <xf:if is="$post.isFirstPost()">
  10973. <xf:macro template="custom_fields_macros" name="custom_fields_view"
  10974. arg-type="threads"
  10975. arg-group="before"
  10976. arg-onlyInclude="{$thread.Forum.field_cache}"
  10977. arg-set="{$thread.custom_fields}"
  10978. arg-wrapperClass="message-fields message-fields--before" />
  10979. </xf:if>
  10980.  
  10981. <article class="message-body js-selectToQuote">
  10982. <xf:ad position="post_above_content" arg-post="{$post}" />
  10983. {{ bb_code($post.message, 'post', $post) }}
  10984. <div class="js-selectToQuoteEnd">&nbsp;</div>
  10985. <xf:ad position="post_below_content" arg-post="{$post}" />
  10986. </article>
  10987.  
  10988. <xf:if is="$post.isFirstPost()">
  10989. <xf:macro template="custom_fields_macros" name="custom_fields_view"
  10990. arg-type="threads"
  10991. arg-group="after"
  10992. arg-onlyInclude="{$thread.Forum.field_cache}"
  10993. arg-set="{$thread.custom_fields}"
  10994. arg-wrapperClass="message-fields message-fields--after" />
  10995. </xf:if>
  10996.  
  10997. <xf:if is="$post.attach_count">
  10998. <xf:macro template="message_macros" name="attachments"
  10999. arg-attachments="{$post.Attachments}"
  11000. arg-message="{$post}"
  11001. arg-canView="{{ $thread.canViewAttachments() }}" />
  11002. </xf:if>
  11003. </div>
  11004.  
  11005. <xf:if is="$post.last_edit_date">
  11006. <div class="message-lastEdit">
  11007. <xf:if is="$post.user_id == $post.last_edit_user_id">
  11008. {{ phrase('last_edited:') }} <xf:date time="{$post.last_edit_date}" />
  11009. <xf:else />
  11010. {{ phrase('last_edited_by_moderator:') }} <xf:date time="{$post.last_edit_date}" />
  11011. </xf:if>
  11012. </div>
  11013. </xf:if>
  11014.  
  11015. <xf:macro template="message_macros" name="signature" arg-user="{$post.User}" />
  11016. </div>
  11017.  
  11018. <header class="message-attribution" style="display: none;">
  11019. <a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="message-attribution-main u-concealed" rel="nofollow"><xf:date time="{$post.post_date}" /></a>
  11020. <div class="message-attribution-opposite">
  11021. <xf:if is="$post.isUnread()">
  11022. <span class="message-newIndicator">{{ phrase('new') }}</span>
  11023. </xf:if>
  11024. <a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="u-concealed" rel="nofollow">#{{ number($post.position + 1) }}</a>
  11025. </div>
  11026. </header>
  11027.  
  11028. <footer class="message-footer">
  11029. <xf:if contentcheck="true">
  11030. <div class="message-actionBar actionBar">
  11031. <xf:contentcheck>
  11032. <xf:if contentcheck="true">
  11033. <div class="actionBar-set actionBar-set--external">
  11034. <xf:contentcheck>
  11035. <xf:if is="$post.canLike()">
  11036. <a href="{{ link('posts/like', $post) }}" class="actionBar-action actionBar-action--like" data-xf-click="like" data-like-list="< .js-post | .js-likeList"><xf:if is="$post.isLiked()">{{ phrase('unlike') }}<xf:else />{{ phrase('like') }}</xf:if></a>
  11037. </xf:if>
  11038. <xf:if is="$thread.canReply()">
  11039. <xf:set var="$quoteLink">{{ link('threads/reply', $thread, {'quote': $post.post_id}) }}</xf:set>
  11040.  
  11041. <xf:if is="$xf.options.multiQuote">
  11042. <a href="{$quoteLink}"
  11043. class="actionBar-action actionBar-action--mq u-jsOnly js-multiQuote"
  11044. title="{{ phrase('toggle_multi_quote_tooltip')|for_attr }}"
  11045. data-message-id="{$post.post_id}"
  11046. data-mq-action="add">{{ phrase('quote') }}</a>
  11047. </xf:if>
  11048.  
  11049. <a href="{$quoteLink}"
  11050. class="actionBar-action actionBar-action--reply"
  11051. title="{{ phrase('reply_quoting_this_message')|for_attr }}"
  11052. data-xf-click="quote"
  11053. data-quote-href="{{ link('posts/quote', $post) }}">{{ phrase('reply') }}</a>
  11054. </xf:if>
  11055. <div class="message-attribution-opposite">
  11056. <xf:if is="$post.isUnread()">
  11057. <span class="message-newIndicator">{{ phrase('new') }}</span>
  11058. </xf:if>
  11059. <a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="u-concealed" rel="nofollow">#{{ number($post.position + 1) }}</a>
  11060. </div>
  11061. </xf:contentcheck>
  11062. </div>
  11063. </xf:if>
  11064.  
  11065. <xf:if contentcheck="true">
  11066. <div class="actionBar-set actionBar-set--internal">
  11067. <xf:contentcheck>
  11068. <a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="message-attribution-main u-concealed" rel="nofollow"><xf:date time="{$post.post_date}" /></a>
  11069. <xf:if is="$post.canUseInlineModeration()">
  11070. <span class="actionBar-action actionBar-action--inlineMod">
  11071. <xf:checkbox standalone="true">
  11072. <xf:option value="{$post.post_id}" class="js-inlineModToggle"
  11073. data-xf-init="tooltip"
  11074. title="{{ phrase('select_for_moderation') }}"
  11075. label="{{ phrase('select_for_moderation') }}"
  11076. hiddenlabel="true" />
  11077. </xf:checkbox>
  11078. </span>
  11079. </xf:if>
  11080.  
  11081. <xf:if is="$post.canReport()">
  11082. <a href="{{ link('posts/report', $post) }}"
  11083. class="actionBar-action actionBar-action--report"
  11084. data-xf-click="overlay">{{ phrase('report') }}</a>
  11085. </xf:if>
  11086.  
  11087. <xf:set var="$hasActionBarMenu" value="{{ false }}" />
  11088. <xf:if is="$post.canEdit()">
  11089. <xf:js src="xf/message.js" min="1" />
  11090. <a href="{{ link('posts/edit', $post) }}"
  11091. class="actionBar-action actionBar-action--edit actionBar-action--menuItem"
  11092. data-xf-click="quick-edit"
  11093. data-editor-target="#js-post-{$post.post_id} .js-quickEditTarget"
  11094. data-menu-closer="true">{{ phrase('edit') }}</a>
  11095.  
  11096. <xf:set var="$hasActionBarMenu" value="{{ true }}" />
  11097. </xf:if>
  11098. <xf:if is="$post.edit_count && $post.canViewHistory()">
  11099. <a href="{{ link('posts/history', $post) }}"
  11100. class="actionBar-action actionBar-action--history actionBar-action--menuItem"
  11101. data-xf-click="toggle"
  11102. data-target="#js-post-{$post.post_id} .js-historyTarget"
  11103. data-menu-closer="true">{{ phrase('history') }}</a>
  11104.  
  11105. <xf:set var="$hasActionBarMenu" value="{{ true }}" />
  11106. </xf:if>
  11107. <xf:if is="$post.canDelete('soft')">
  11108. <a href="{{ link('posts/delete', $post) }}"
  11109. class="actionBar-action actionBar-action--delete actionBar-action--menuItem"
  11110. data-xf-click="overlay">{{ phrase('delete') }}</a>
  11111.  
  11112. <xf:set var="$hasActionBarMenu" value="{{ true }}" />
  11113. </xf:if>
  11114. <xf:if is="$post.canCleanSpam()">
  11115. <a href="{{ link('spam-cleaner', $post) }}"
  11116. class="actionBar-action actionBar-action--spam actionBar-action--menuItem"
  11117. data-xf-click="overlay">{{ phrase('spam') }}</a>
  11118.  
  11119. <xf:set var="$hasActionBarMenu" value="{{ true }}" />
  11120. </xf:if>
  11121. <xf:if is="$xf.visitor.canViewIps() && $post.ip_id">
  11122. <a href="{{ link('posts/ip', $post) }}"
  11123. class="actionBar-action actionBar-action--ip actionBar-action--menuItem"
  11124. data-xf-click="overlay">{{ phrase('ip') }}</a>
  11125.  
  11126. <xf:set var="$hasActionBarMenu" value="{{ true }}" />
  11127. </xf:if>
  11128. <xf:if is="$post.canWarn()">
  11129.  
  11130. <a href="{{ link('posts/warn', $post) }}"
  11131. class="actionBar-action actionBar-action--warn actionBar-action--menuItem">{{ phrase('warn') }}</a>
  11132.  
  11133. <xf:set var="$hasActionBarMenu" value="{{ true }}" />
  11134. <xf:elseif is="$post.warning_id && $xf.visitor.canViewWarnings()" />
  11135. <a href="{{ link('warnings', {'warning_id': $post.warning_id}) }}"
  11136. class="actionBar-action actionBar-action--warn actionBar-action--menuItem"
  11137. data-xf-click="overlay">{{ phrase('view_warning') }}</a>
  11138. <xf:set var="$hasActionBarMenu" value="{{ true }}" />
  11139. </xf:if>
  11140.  
  11141. <xf:if is="$hasActionBarMenu">
  11142. <a class="actionBar-action actionBar-action--menuTrigger"
  11143. data-xf-click="menu"
  11144. title="{{ phrase('more_options')|for_attr }}"
  11145. role="button"
  11146. tabindex="0"
  11147. aria-expanded="false"
  11148. aria-haspopup="true">&#8226;&#8226;&#8226;</a>
  11149.  
  11150. <div class="menu" data-menu="menu" aria-hidden="true" data-menu-builder="actionBar">
  11151. <div class="menu-content">
  11152. <h4 class="menu-header">{{ phrase('more_options') }}</h4>
  11153. <div class="js-menuBuilderTarget"></div>
  11154. </div>
  11155. </div>
  11156. </xf:if>
  11157. </xf:contentcheck>
  11158. </div>
  11159. </xf:if>
  11160.  
  11161. </xf:contentcheck>
  11162. </div>
  11163. </xf:if>
  11164.  
  11165. <div class="likesBar js-likeList {{ $post.likes ? 'is-active' : '' }}">
  11166. <xf:likes content="{$post}" url="{{ link('posts/likes', $post) }}" />
  11167. </div>
  11168.  
  11169. <div class="js-historyTarget message-historyTarget toggleTarget" data-href="trigger-href"></div>
  11170. </footer>
  11171. </div>
  11172. </div>
  11173. </div>
  11174. </article>
  11175.  
  11176. <xf:ad position="post_below_container" arg-post="{$post}" />
  11177. </xf:macro>
  11178.  
  11179. <xf:macro name="post_deleted" arg-post="!" arg-thread="!">
  11180. <xf:css src="message.less" />
  11181. <div class="message message--deleted message--post{{ $post.isIgnored() ? ' is-ignored' : '' }}{{ $post.isUnread() ? ' is-unread' : '' }} js-post js-inlineModContainer"
  11182. data-author="{{ $post.User.username ?: $post.username }}"
  11183. data-content="post-{$post.post_id}">
  11184.  
  11185. <span class="u-anchorTarget" id="post-{$post.post_id}"></span>
  11186. <div class="message-inner">
  11187. <div class="message-cell message-cell--user">
  11188. <xf:macro template="message_macros" name="user_info" arg-user="{$post.User}" arg-fallbackName="{$post.username}" />
  11189. </div>
  11190. <div class="message-cell message-cell--main">
  11191. <div class="message-attribution">
  11192. <ul class="listInline listInline--bullet message-attribution-main">
  11193. <li><a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="u-concealed" rel="nofollow"><xf:date time="{$post.post_date}" /></a></li>
  11194. <li><xf:username user="{$post.User}" defaultname="{$post.username}" class="u-concealed" /></li>
  11195. </ul>
  11196. </div>
  11197.  
  11198. <div class="messageNotice messageNotice--deleted">
  11199. <xf:macro template="deletion_macros" name="notice" arg-log="{$post.DeletionLog}" />
  11200.  
  11201. <a href="{{ link('posts/show', $post) }}" class="u-jsOnly" data-xf-click="inserter" data-replace="[data-content=post-{$post.post_id}]">{{ phrase('show...') }}</a>
  11202. </div>
  11203. </div>
  11204. </div>
  11205. </div>
  11206.  
  11207. <xf:ad position="post_below_container" arg-post="{$post}" />
  11208. </xf:macro>]]></template>
  11209. <template title="structured_list.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[@_structItem-avatarSize: 36px;
  11210. @_structItem-avatarSizeExpanded: 48px;
  11211. @_structItem-cellPaddingH: ((@xf-paddingMedium) + (@xf-paddingLarge)) / 2; // average
  11212. @_structItem-cellPaddingV: @xf-paddingLarge;
  11213. {{ include('mixins.less') }}
  11214.  
  11215. .structItemContainer
  11216. {
  11217. border-collapse: collapse;
  11218. list-style: none;
  11219. margin: 0;
  11220. padding: 0;
  11221. width: 100%;
  11222. }
  11223.  
  11224. .structItemContainer-group
  11225. {
  11226. }
  11227.  
  11228. .structItemContainer > .structItem:first-child,
  11229. .structItemContainer > .structItemContainer-group:first-child > .structItem:first-child
  11230. {
  11231. border-top: none;
  11232. }
  11233.  
  11234. .structItem
  11235. {
  11236. display: table;
  11237. table-layout: fixed;
  11238. border-collapse: collapse;
  11239. border-top: @xf-borderSize solid @xf-borderColor;
  11240. list-style: none;
  11241. margin: 0;
  11242. padding: 0;
  11243. width: 100%;
  11244.  
  11245. &.is-highlighted,
  11246. &.is-moderated
  11247. {
  11248. background: @xf-contentHighlightBg;
  11249. }
  11250.  
  11251. &.is-deleted
  11252. {
  11253. opacity: .7;
  11254.  
  11255. .structItem-title
  11256. {
  11257. text-decoration: line-through;
  11258. }
  11259. }
  11260.  
  11261. &.is-mod-selected
  11262. {
  11263. background: @xf-inlineModHighlightColor;
  11264. opacity: 1;
  11265. }
  11266. }
  11267.  
  11268. .structItem-cell
  11269. {
  11270. display: table-cell;
  11271. vertical-align: top;
  11272. padding: @_structItem-cellPaddingV @_structItem-cellPaddingH;
  11273.  
  11274. .structItem--middle &
  11275. {
  11276. vertical-align: middle;
  11277. }
  11278.  
  11279. &.structItem-cell--icon
  11280. {
  11281. width: ((@_structItem-avatarSize) + (@_structItem-cellPaddingH) * 2);
  11282. position: relative;
  11283.  
  11284. &.structItem-cell--iconExpanded
  11285. {
  11286. width: ((@_structItem-avatarSizeExpanded) + (@_structItem-cellPaddingH) * 2);
  11287. }
  11288.  
  11289. &.structItem-cell--iconFixedSmall
  11290. {
  11291. width: (60px + (@_structItem-cellPaddingH) * 2);
  11292. }
  11293. }
  11294.  
  11295. &.structItem-cell--meta
  11296. {
  11297. width: 150px;
  11298. }
  11299.  
  11300. &.structItem-cell--latest
  11301. {
  11302. width: 190px;
  11303. text-align: right;
  11304. }
  11305. }
  11306.  
  11307. .structItem-iconContainer
  11308. {
  11309. position: relative;
  11310.  
  11311. img
  11312. {
  11313. display: block;
  11314. width: 100%;
  11315. }
  11316.  
  11317. .avatar
  11318. {
  11319. .m-avatarSize(@_structItem-avatarSize);
  11320. }
  11321.  
  11322. .structItem-secondaryIcon
  11323. {
  11324. position: absolute;
  11325. right: -5px;
  11326. bottom: -5px;
  11327.  
  11328. .m-avatarSize(@_structItem-avatarSize / 2 + 2px);
  11329. }
  11330.  
  11331. .structItem-cell--iconExpanded &
  11332. {
  11333. .avatar
  11334. {
  11335. .m-avatarSize(@_structItem-avatarSizeExpanded);
  11336. }
  11337.  
  11338. .structItem-secondaryIcon
  11339. {
  11340. .m-avatarSize(@_structItem-avatarSizeExpanded / 2 - 2px);
  11341. }
  11342. }
  11343. }
  11344.  
  11345. .structItem-title
  11346. {
  11347. font-size: @xf-fontSizeLarge;
  11348. font-weight: @xf-fontWeightNormal;
  11349. margin: 0;
  11350. padding: 0;
  11351.  
  11352. .label
  11353. {
  11354. font-weight: @xf-fontWeightNormal;
  11355. }
  11356.  
  11357. .is-unread &
  11358. {
  11359. font-weight: @xf-fontWeightHeavy;
  11360. }
  11361. }
  11362.  
  11363. .structItem-minor
  11364. {
  11365. font-size: @xf-fontSizeSmaller;
  11366. color: @xf-textColorMuted;
  11367.  
  11368. .m-hiddenLinks();
  11369. }
  11370.  
  11371. .structItem-parts
  11372. {
  11373. .m-listPlain();
  11374. display: inline;
  11375.  
  11376. > li
  11377. {
  11378. display: inline;
  11379. margin: 0;
  11380. padding: 0;
  11381.  
  11382. &:nth-child(even)
  11383. {
  11384. color: @xf-textColorDimmed;
  11385. }
  11386.  
  11387. &:before
  11388. {
  11389. content: "\00B7\20";
  11390. }
  11391.  
  11392. &:first-child:before
  11393. {
  11394. content: "";
  11395. display: none;
  11396. }
  11397. }
  11398. }
  11399.  
  11400. .structItem-pageJump
  11401. {
  11402. margin-left: 8px;
  11403. font-size: @xf-fontSizeSmallest;
  11404.  
  11405. a
  11406. {
  11407. .xf-chip();
  11408. text-decoration: none;
  11409. border-radius: @xf-borderRadiusSmall;
  11410. padding: 0 3px;
  11411. opacity: .5;
  11412. .m-transition();
  11413.  
  11414. .structItem:hover &,
  11415. .has-touchevents &
  11416. {
  11417. opacity: 1;
  11418. }
  11419.  
  11420. &:hover
  11421. {
  11422. text-decoration: none;
  11423. .xf-chipHover();
  11424. }
  11425. }
  11426. }
  11427.  
  11428. .structItem-statuses,
  11429. .structItem-extraInfo
  11430. {
  11431. .m-listPlain();
  11432. float: right;
  11433.  
  11434. > li
  11435. {
  11436. float: left;
  11437. margin-left: 8px;
  11438. }
  11439.  
  11440. input[type=checkbox]
  11441. {
  11442. .m-checkboxAligner();
  11443. }
  11444. }
  11445.  
  11446. .structItem-status
  11447. {
  11448. &::before
  11449. {
  11450. .m-faBase();
  11451. display: inline-block;
  11452. font-size: 90%;
  11453. color: @xf-textColorMuted;
  11454. }
  11455.  
  11456. &--deleted::before { .m-faContent(@fa-var-trash-o, .79em); }
  11457. &--locked::before { .m-faContent(@fa-var-lock, .65em); }
  11458. &--moderated::before { .m-faContent(@fa-var-shield, .72em); color: @xf-textColorAttention; }
  11459. &--redirect::before { .m-faContent(@fa-var-external-link, 1em); }
  11460. &--starred::before { .m-faContent(@fa-var-star, .93em); color: @xf-starFullColor; }
  11461. &--sticky::before { .m-faContent(@fa-var-thumb-tack, .65em); }
  11462. &--watched::before { .m-faContent(@fa-var-eye, 1.04em); color: @xf-textColorFeature; }
  11463. &--poll::before { .m-faContent(@fa-var-bar-chart, 1.15em); }
  11464. &--attention::before { .m-faContent(@fa-var-bullhorn, 1.04em); color: @xf-textColorAttention; }
  11465. }
  11466.  
  11467. .structItem.structItem--note
  11468. {
  11469. .xf-contentHighlightBase();
  11470. color: @xf-textColorFeature;
  11471.  
  11472. .structItem-cell
  11473. {
  11474. padding-top: @_structItem-cellPaddingV / 2;
  11475. padding-bottom: @_structItem-cellPaddingV / 2;
  11476. font-size: @xf-fontSizeSmaller;
  11477. text-align: center;
  11478. }
  11479. }
  11480.  
  11481. {{ include('brv_structured.less') }}
  11482.  
  11483. @media (max-width: @xf-responsiveWide)
  11484. {
  11485. .structItem-cell
  11486. {
  11487. vertical-align: top;
  11488.  
  11489. &.structItem-cell--meta
  11490. {
  11491. width: 120px;
  11492. font-size: @xf-fontSizeSmaller;
  11493. }
  11494.  
  11495. &.structItem-cell--latest
  11496. {
  11497. width: 140px;
  11498. font-size: @xf-fontSizeSmaller;
  11499. }
  11500. }
  11501. }
  11502.  
  11503. @media (max-width: @xf-responsiveMedium)
  11504. {
  11505. .structItem-cell
  11506. {
  11507. //padding: (@_structItem-cellPaddingV) / 2 @_structItem-cellPaddingH;
  11508.  
  11509. &.structItem-cell--main
  11510. {
  11511. display: block;
  11512. padding-bottom: .2em;
  11513. padding-left: 0;
  11514. }
  11515.  
  11516. &.structItem-cell--meta
  11517. {
  11518. display: block;
  11519. width: auto;
  11520. float: left;
  11521. padding-top: 0;
  11522. padding-left: 0;
  11523. padding-right: 0;
  11524. color: @xf-textColorMuted;
  11525.  
  11526. .structItem-minor
  11527. {
  11528. display: none;
  11529. }
  11530.  
  11531. .pairs
  11532. {
  11533. > dt,
  11534. > dd
  11535. {
  11536. display: inline;
  11537. float: none;
  11538. margin: 0;
  11539. }
  11540. }
  11541. }
  11542.  
  11543. &.structItem-cell--latest
  11544. {
  11545. display: block;
  11546. width: auto;
  11547. float: left;
  11548. padding-top: 0;
  11549. padding-left: 0;
  11550.  
  11551. &:before
  11552. {
  11553. content: "\00A0\00B7\20";
  11554. color: @xf-textColorMuted;
  11555. }
  11556.  
  11557. a
  11558. {
  11559. color: @xf-textColorMuted;
  11560. }
  11561.  
  11562. .structItem-minor
  11563. {
  11564. display: none;
  11565. }
  11566. }
  11567. }
  11568.  
  11569. .structItem-pageJump,
  11570. .structItem-extraInfoMinor
  11571. {
  11572. display: none;
  11573. }
  11574.  
  11575. .is-unread .structItem-latestDate
  11576. {
  11577. font-weight: @xf-fontWeightNormal;
  11578. }
  11579. }
  11580.  
  11581. @media (max-width: @xf-responsiveNarrow)
  11582. {
  11583. .structItem-parts
  11584. {
  11585. .structItem-startDate
  11586. {
  11587. display: none;
  11588. }
  11589. }
  11590. }]]></template>
  11591. <template title="thread_list_macros" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[<xf:macro name="item"
  11592. arg-thread="!"
  11593. arg-forum=""
  11594. arg-forceRead="{{ false }}"
  11595. arg-showWatched="{{ true }}"
  11596. arg-allowInlineMod="{{ true }}"
  11597. arg-chooseName=""
  11598. arg-extraInfo=""
  11599. arg-allowEdit="{{ true }}">
  11600.  
  11601. <xf:css src="structured_list.less" />
  11602.  
  11603. <div class="structItem structItem--thread{{ $thread.prefix_id ? ' is-prefix' . $thread.prefix_id : '' }}{{ $thread.isIgnored() ? ' is-ignored' : '' }}{{ ($thread.isUnread() AND !$forceRead) ? ' is-unread' : '' }}{{ $thread.discussion_state == 'moderated' ? ' is-moderated' : '' }}{{ $thread.discussion_state == 'deleted' ? ' is-deleted' : '' }} js-inlineModContainer js-threadListItem-{$thread.thread_id}" data-author="{{ $thread.User.username ?: $thread.username }}">
  11604. <div class="structItem-cell structItem-cell--icon">
  11605. <div class="structItem-iconContainer">
  11606. <xf:avatar user="$thread.User" size="s" defaultname="{$thread.username}" />
  11607. <xf:if is="$thread.getUserPostCount()">
  11608. <xf:if is="property('MiniAvatar')">
  11609. <xf:avatar user="$xf.visitor" size="s"
  11610. href=""
  11611. class="avatar--separated structItem-secondaryIcon"
  11612. title="{{ phrase('you_have_posted_x_messages_in_this_thread', {'count': $thread.getUserPostCount() }) }}" />
  11613. </xf:if>
  11614. </xf:if>
  11615. </div>
  11616. </div>
  11617. <div class="structItem-cell structItem-cell--main" data-xf-init="touch-proxy">
  11618. <xf:if contentcheck="true">
  11619. <ul class="structItem-statuses">
  11620. <xf:contentcheck>
  11621. <xf:if is="$thread.discussion_state == 'moderated'">
  11622. <li>
  11623. <i class="structItem-status structItem-status--moderated" aria-hidden="true" title="{{ phrase('awaiting_approval')|for_attr }}"></i>
  11624. <span class="u-srOnly">{{ phrase('awaiting_approval') }}</span>
  11625. </li>
  11626. </xf:if>
  11627. <xf:if is="$thread.discussion_state == 'deleted'">
  11628. <li>
  11629. <i class="structItem-status structItem-status--deleted" aria-hidden="true" title="{{ phrase('deleted')|for_attr }}"></i>
  11630. <span class="u-srOnly">{{ phrase('deleted') }}</span>
  11631. </li>
  11632. </xf:if>
  11633. <xf:if is="!$thread.discussion_open">
  11634. <li>
  11635. <i class="structItem-status structItem-status--locked" aria-hidden="true" title="{{ phrase('locked')|for_attr }}"></i>
  11636. <span class="u-srOnly">{{ phrase('locked') }}</span>
  11637. </li>
  11638. </xf:if>
  11639. <xf:if is="$thread.discussion_type == 'redirect'">
  11640. <li>
  11641. <i class="structItem-status structItem-status--redirect" aria-hidden="true" title="{{ phrase('redirect')|for_attr }}"></i>
  11642. <span class="u-srOnly">{{ phrase('redirect') }}</span>
  11643. </li>
  11644. <xf:elseif is="$thread.discussion_type == 'poll'" />
  11645. <li>
  11646. <i class="structItem-status structItem-status--poll" aria-hidden="true" title="{{ phrase('poll')|for_attr }}"></i>
  11647. <span class="u-srOnly">{{ phrase('poll') }}</span>
  11648. </li>
  11649. </xf:if>
  11650. <xf:if is="{$showWatched} AND {$xf.visitor.user_id}">
  11651. <xf:if is="{$thread.Watch.{$xf.visitor.user_id}}">
  11652. <li>
  11653. <i class="structItem-status structItem-status--watched" aria-hidden="true" title="{{ phrase('thread_watched')|for_attr }}"></i>
  11654. <span class="u-srOnly">{{ phrase('thread_watched') }}</span>
  11655. </li>
  11656. <xf:elseif is="!$forum AND {$thread.Forum.Watch.{$xf.visitor.user_id}}" />
  11657. <li>
  11658. <i class="structItem-status structItem-status--watched" aria-hidden="true" title="{{ phrase('forum_watched')|for_attr }}"></i>
  11659. <span class="u-srOnly">{{ phrase('forum_watched') }}</span>
  11660. </li>
  11661. </xf:if>
  11662. </xf:if>
  11663. <xf:if is="$thread.sticky">
  11664. <li>
  11665. <i class="structItem-status structItem-status--sticky" aria-hidden="true" title="{{ phrase('sticky')|for_attr }}"></i>
  11666. <span class="u-srOnly">{{ phrase('sticky') }}</span>
  11667. </li>
  11668. </xf:if>
  11669. </xf:contentcheck>
  11670. </ul>
  11671. </xf:if>
  11672.  
  11673. <div class="structItem-title">
  11674. <xf:set var="$canPreview" value="{{ $thread.canPreview() }}" />
  11675. <xf:if is="$thread.prefix_id">
  11676. <xf:if is="$forum">
  11677. <a href="{{ link('forums', $forum, {'prefix_id': $thread.prefix_id}) }}" class="labelLink" rel="nofollow">{{ prefix('thread', $thread, 'html', '') }}</a>
  11678. <xf:else />
  11679. {{ prefix('thread', $thread, 'html', '') }}
  11680. </xf:if>
  11681. </xf:if>
  11682. <a href="{{ link('threads' . (($thread.isUnread() AND !$forceRead) ? '/unread' : ''), $thread) }}" class="" data-tp-primary="on" data-xf-init="{{ $canPreview ? 'preview-tooltip' : '' }}" data-preview-url="{{ $canPreview ? link('threads/preview', $thread) : '' }}">{$thread.title}</a>
  11683. </div>
  11684.  
  11685. <div class="structItem-minor">
  11686. <xf:if contentcheck="true">
  11687. <ul class="structItem-extraInfo">
  11688. <xf:contentcheck>
  11689. <xf:if is="{$extraInfo}">
  11690. <li>{$extraInfo}</li>
  11691. <xf:elseif is="$thread.canEdit() AND $thread.canUseInlineModeration() AND {$allowEdit}" />
  11692. <xf:if is="!$allowInlineMod OR !$forum">
  11693. <xf:set var="$editParams" value="{{ {
  11694. '_xfNoInlineMod': !$allowInlineMod ? 1 : null,
  11695. '_xfForumName': !$forum ? 1 : 0
  11696. } }}" />
  11697. <xf:else />
  11698. <xf:set var="$editParams" value="{{ [] }}" />
  11699. </xf:if>
  11700. <xf:if is="$thread.discussion_type != 'redirect'">
  11701. <li class="structItem-extraInfoMinor">
  11702. <a href="{{ link('threads/edit', $thread) }}" data-xf-click="overlay" data-href="{{ link('threads/edit', $thread, $editParams) }}">
  11703. {{ phrase('edit') }}
  11704. </a>
  11705. </li>
  11706. </xf:if>
  11707. </xf:if>
  11708. <xf:if is="$chooseName">
  11709. <li><xf:checkbox standalone="true">
  11710. <xf:option name="{$chooseName}[]" value="{$thread.thread_id}" class="js-chooseItem" />
  11711. </xf:checkbox></li>
  11712. <xf:elseif is="$allowInlineMod AND $thread.canUseInlineModeration()" />
  11713. <li><xf:checkbox standalone="true">
  11714. <xf:option value="{$thread.thread_id}" class="js-inlineModToggle"
  11715. data-xf-init="tooltip"
  11716. title="{{ phrase('select_for_moderation') }}"
  11717. label="{{ phrase('select_for_moderation') }}"
  11718. hiddenlabel="true"
  11719. />
  11720. </xf:checkbox></li>
  11721. </xf:if>
  11722. </xf:contentcheck>
  11723. </ul>
  11724. </xf:if>
  11725.  
  11726. <xf:if is="$thread.discussion_state == 'deleted'">
  11727. <xf:if is="{$extraInfo}"><span class="structItem-extraInfo">{$extraInfo}</span></xf:if>
  11728.  
  11729. <xf:macro template="deletion_macros" name="notice" arg-log="{$thread.DeletionLog}" />
  11730. <xf:else />
  11731. <ul class="structItem-parts">
  11732. <li><xf:username user="$thread.User" defaultname="{$thread.username}" /></li>
  11733. <li class="structItem-startDate"><a href="{{ link('threads', $thread) }}" rel="nofollow"><xf:date time="{$thread.post_date}" /></a></li>
  11734. <xf:if is="!$forum">
  11735. <li><a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a></li>
  11736. </xf:if>
  11737. </ul>
  11738.  
  11739. <xf:if is="$thread.discussion_type != 'redirect' && $thread.reply_count >= $xf.options.messagesPerPage && $xf.options.lastPageLinks">
  11740. <span class="structItem-pageJump">
  11741. <xf:foreach loop="{{ last_pages($thread.reply_count + 1, $xf.options.messagesPerPage, $xf.options.lastPageLinks) }}" value="$p">
  11742. <a href="{{ link('threads', $thread, {'page': $p}) }}">{$p}</a>
  11743. </xf:foreach>
  11744. </span>
  11745. </xf:if>
  11746. </xf:if>
  11747. </div>
  11748. </div>
  11749. <div class="structItem-cell structItem-cell--meta" title="{{ phrase('first_message_likes:')|for_attr }} {$thread.first_post_likes|number}">
  11750. <dl class="pairs pairs--justified">
  11751. <dt>{{ phrase('replies') }}</dt>
  11752. <dd>{{ $thread.discussion_type == 'redirect' ? '&ndash;' : $thread.reply_count|number }}</dd>
  11753. </dl>
  11754. <dl class="pairs pairs--justified structItem-minor">
  11755. <dt>{{ phrase('views') }}</dt>
  11756. <dd>{{ $thread.discussion_type == 'redirect' ? '&ndash;' : ($thread.view_count > $thread.reply_count ? $thread.view_count|number : number($thread.reply_count+1)) }}</dd>
  11757. </dl>
  11758. </div>
  11759. <div class="structItem-cell structItem-cell--latest">
  11760. <xf:if is="$thread.discussion_type == 'redirect'">
  11761. {{ phrase('n_a') }}
  11762. <xf:else />
  11763. <div class="structItem-minor">
  11764. <xf:if is="$xf.visitor.isIgnoring($thread.last_post_user_id)">
  11765. {{ phrase('ignored_member') }}
  11766. <xf:else />
  11767. <xf:username user="{$thread.last_post_cache}" />
  11768. </xf:if>
  11769. </div>
  11770. <a href="{{ link('threads/latest', $thread) }}" rel="nofollow"><xf:date time="{$thread.last_post_date}" class="structItem-latestDate" /></a>
  11771.  
  11772. </xf:if>
  11773. </div>
  11774. </div>
  11775. </xf:macro>
  11776.  
  11777. <xf:macro name="item_new_posts" arg-thread="!">
  11778. <div class="contentRow">
  11779. <div class="contentRow-figure">
  11780. <xf:avatar user="$thread.LastPoster" size="xxs" defaultname="{$thread.last_post_username}" />
  11781. </div>
  11782. <div class="contentRow-main contentRow-main--close">
  11783. <xf:if is="$thread.isUnread()">
  11784. <a href="{{ link('threads/unread', $thread) }}">{{ prefix('thread', $thread) }}{$thread.title}</a>
  11785. <xf:else />
  11786. <a href="{{ link('threads/post', $thread, {'post_id': $thread.last_post_id}) }}">{{ prefix('thread', $thread) }}{$thread.title}</a>
  11787. </xf:if>
  11788.  
  11789. <div class="contentRow-minor contentRow-minor--hideLinks">
  11790. <ul class="listInline listInline--bullet">
  11791. <li>{{ phrase('latest_x', {'name': $thread.last_post_cache.username}) }}</li>
  11792. <li><xf:date time="{$thread.last_post_date}" /></li>
  11793. </ul>
  11794. </div>
  11795. <div class="contentRow-minor contentRow-minor--hideLinks">
  11796. <a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a>
  11797. </div>
  11798. </div>
  11799. </div>
  11800. </xf:macro>
  11801.  
  11802. <xf:macro name="item_new_threads" arg-thread="!">
  11803. <div class="contentRow">
  11804. <div class="contentRow-figure">
  11805. <xf:avatar user="$thread.User" size="xxs" defaultname="{$thread.username}" />
  11806. </div>
  11807. <div class="contentRow-main contentRow-main--close">
  11808. <a href="{{ link('threads', $thread) }}">{{ prefix('thread', $thread) }}{$thread.title}</a>
  11809.  
  11810. <div class="contentRow-minor contentRow-minor--hideLinks">
  11811. <ul class="listInline listInline--bullet">
  11812. <li>{{ phrase('started_by_x', {'name': $thread.username}) }}</li>
  11813. <li><xf:date time="{$thread.post_date}" /></li>
  11814. <li>{{ phrase('replies:') }} {$thread.reply_count|number}</li>
  11815. </ul>
  11816. </div>
  11817. <div class="contentRow-minor contentRow-minor--hideLinks">
  11818. <a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a>
  11819. </div>
  11820. </div>
  11821. </div>
  11822. </xf:macro>
  11823.  
  11824. <xf:macro name="quick_thread"
  11825. arg-forum="!"
  11826. arg-page="1"
  11827. arg-order="last_post_date"
  11828. arg-direction="desc">
  11829.  
  11830. <xf:css src="structured_list.less" />
  11831.  
  11832. <xf:if is="$forum.canCreateThread()">
  11833.  
  11834. <xf:js src="xf/thread.js" min="1" />
  11835.  
  11836. <xf:set var="$inlineMode" value="{{ ($page == 1 && $order == 'last_post_date' && $direction == 'desc') ? true : false }}" />
  11837.  
  11838. <xf:form action="{{ link('forums/post-thread', $forum, {'inline-mode': $inlineMode}) }}" class="structItem" ajax="true"
  11839. draft="{{ link('forums/draft', $forum) }}"
  11840. data-xf-init="quick-thread"
  11841. data-focus-activate=".js-titleInput"
  11842. data-focus-activate-href="{{ link('forums/post-thread', $forum, {'inline-mode': true}) }}"
  11843. data-focus-activate-target=".js-quickThreadFields"
  11844. data-insert-target=".js-threadList"
  11845. data-replace-target=".js-emptyThreadList">
  11846.  
  11847. <div class="structItem-cell structItem-cell--icon">
  11848. <div class="structItem-iconContainer">
  11849. <xf:avatar user="$xf.visitor" size="s" />
  11850. </div>
  11851. </div>
  11852. <div class="structItem-cell structItem-cell--newThread js-prefixListenContainer">
  11853.  
  11854. <xf:formrow rowtype="noGutter noLabel fullWidth noPadding mergeNext"
  11855. label="{{ phrase('title') }}">
  11856.  
  11857. <xf:prefixinput maxlength="{{ max_length('XF:Thread', 'title') }}"
  11858. placeholder="{$forum.thread_prompt}"
  11859. title="{{ phrase('post_new_thread_in_this_forum') }}"
  11860. prefix-value="{$forum.default_prefix_id}"
  11861. type="thread"
  11862. prefixes="{{ $forum.getUsablePrefixes() }}"
  11863. data-xf-init="tooltip"
  11864. rows="1"/>
  11865. </xf:formrow>
  11866.  
  11867. <div class="js-quickThreadFields inserter-container is-hidden"><!--{{ phrase('loading...') }}--></div>
  11868. </div>
  11869. </xf:form>
  11870. </xf:if>
  11871.  
  11872. </xf:macro>]]></template>
  11873. <template title="widget_forum_statistics" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[<div class="block"{{ widget_data($widget) }}>
  11874. <div class="block-container">
  11875. <h3 class="block-minorHeader block-forum-static"><a>{$title}</a></h3>
  11876. <div class="block-body block-row forum-static-content">
  11877. <dl class="pairs pairs--justified">
  11878. <dt>{{ phrase('threads') }}</dt>
  11879. <dd>{$forumStatistics.threads|number}</dd>
  11880. </dl>
  11881.  
  11882. <dl class="pairs pairs--justified">
  11883. <dt>{{ phrase('messages') }}</dt>
  11884. <dd>{$forumStatistics.messages|number}</dd>
  11885. </dl>
  11886.  
  11887. <dl class="pairs pairs--justified">
  11888. <dt>{{ phrase('members') }}</dt>
  11889. <dd>{$forumStatistics.users|number}</dd>
  11890. </dl>
  11891.  
  11892. <dl class="pairs pairs--justified">
  11893. <dt>{{ phrase('latest_member') }}</dt>
  11894. <dd><xf:username user="{$forumStatistics.latestUser}" /></dd>
  11895. </dl>
  11896. </div>
  11897. </div>
  11898. </div>]]></template>
  11899. <template title="widget_members_online" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[<xf:if is="$options.staffOnline">
  11900. <xf:if contentcheck="true">
  11901. <div class="block" data-widget-section="staffMembers"{{ widget_data($widget) }}>
  11902. <div class="block-container">
  11903. <h3 class="block-minorHeader block-staff"><a href="{{ link('members', null, {'key': 'staff_members'}) }}">{{ phrase('staff_online') }}</a></h3>
  11904. <ul class="block-body staff-content">
  11905. <xf:contentcheck>
  11906. <xf:foreach loop="$online.users" value="$user">
  11907. <xf:if is="$user.is_staff">
  11908. <li class="block-row">
  11909. <div class="contentRow">
  11910. <div class="contentRow-figure">
  11911. <xf:avatar user="$user" size="xs" />
  11912. </div>
  11913. <div class="contentRow-main contentRow-main--close">
  11914. <xf:username user="$user" rich="true" />
  11915. <div class="contentRow-minor">
  11916. <xf:usertitle user="$user" />
  11917. </div>
  11918. </div>
  11919. </div>
  11920. </li>
  11921. </xf:if>
  11922. </xf:foreach>
  11923. </xf:contentcheck>
  11924. </ul>
  11925. </div>
  11926. </div>
  11927. </xf:if>
  11928. </xf:if>
  11929.  
  11930. <div class="block" data-widget-section="onlineNow"{{ widget_data($widget) }}>
  11931. <div class="block-container">
  11932. <h3 class="block-minorHeader block-member"><a href="{{ link('online') }}">{$title}</a></h3>
  11933. <div class="block-body member-content">
  11934. <xf:if contentcheck="true">
  11935. <div class="block-row block-row--minor">
  11936. <h4 class="block-textHeader block-textHeader--scaled">
  11937. {{ phrase('people_you_follow') }}
  11938. </h4>
  11939. <ul class="listHeap">
  11940. <xf:contentcheck>
  11941. <xf:if is="$options.followedOnline">
  11942. <xf:foreach loop="$online.users" value="$user">
  11943. <xf:if is="in_array($user.user_id, $xf.visitor.Profile.following)">
  11944. <li>
  11945. <xf:avatar user="$user" size="xxs" img="true" />
  11946. </li>
  11947. </xf:if>
  11948. </xf:foreach>
  11949. </xf:if>
  11950. </xf:contentcheck>
  11951. </ul>
  11952. </div>
  11953.  
  11954. <div class="block-row block-row--minor">
  11955. <h4 class="block-textHeader block-textHeader--scaled">
  11956. {{ phrase('members') }}
  11957. </h4>
  11958. <xf:else />
  11959. <div class="block-row block-row--minor">
  11960. </xf:if>
  11961.  
  11962. <xf:if is="$online.users is not empty">
  11963. <ul class="listInline listInline--comma">
  11964. <xf:foreach loop="$online.users" value="$user"><xf:trim>
  11965. <li><xf:username user="$user" rich="true" class="{{ !$user.visible ? 'username--invisible' : '' }}" /></li>
  11966. </xf:trim></xf:foreach>
  11967. </ul>
  11968. <xf:if is="$online.counts.unseen">
  11969. <a href="{{ link('online') }}">{{ phrase('ellipsis_and_x_more', {'count': $online.counts.unseen}) }}</a>
  11970. </xf:if>
  11971. <xf:else />
  11972. {{ phrase('no_members_online_now') }}
  11973. </xf:if>
  11974. </div>
  11975. </div>
  11976. <div class="block-footer">
  11977. <span class="block-footer-counter">{{ phrase('online_now_x_members_y_guests_z',{
  11978. 'total': number($online.counts.total),
  11979. 'members': number($online.counts.members),
  11980. 'guests': number($online.counts.guests)})
  11981. }}</span>
  11982. </div>
  11983. </div>
  11984. </div>]]></template>
  11985. <template title="widget_new_posts" type="public" addon_id="XF" version_id="2000038" version_string="2.0.0 Beta 8"><![CDATA[<xf:if is="$threads is not empty OR ($threads is empty AND $filter != 'latest')">
  11986. <div class="block"{{ widget_data($widget) }}>
  11987. <div class="block-container">
  11988. <xf:if is="$style == 'full'">
  11989. <h3 class="block-header">
  11990. <a href="{$link}" rel="nofollow">{$title}</a>
  11991. </h3>
  11992. <div class="block-body">
  11993. <div class="structItemContainer">
  11994. <xf:if is="$threads is not empty">
  11995. <xf:foreach loop="$threads" value="$thread">
  11996. <xf:macro template="thread_list_macros" name="item"
  11997. arg-allowInlineMod="{{ false }}"
  11998. arg-thread="{$thread}" />
  11999. </xf:foreach>
  12000. <xf:elseif is="$filter == 'unread'" />
  12001. <div class="block-row">
  12002. {{ phrase('no_unread_posts_view_latest', {'link': link('whats-new/posts', null, {'skip': 1})}) }}
  12003. </div>
  12004. <xf:else />
  12005. <div class="block-row">
  12006. {{ phrase('no_results_found') }}
  12007. </div>
  12008. </xf:if>
  12009. </div>
  12010. </div>
  12011. <xf:if is="$hasMore">
  12012. <div class="block-footer">
  12013. <span class="block-footer-controls">
  12014. <xf:button href="{$link}" rel="nofollow">{{ phrase('view_more...') }}</xf:button>
  12015. </span>
  12016. </div>
  12017. </xf:if>
  12018. <xf:else />
  12019. <h3 class="block-minorHeader block-post">
  12020. <a href="{$link}" rel="nofollow">{$title}</a>
  12021. </h3>
  12022. <ul class="block-body post-content">
  12023. <xf:if is="$threads is not empty">
  12024. <xf:foreach loop="$threads" value="$thread">
  12025. <li class="block-row">
  12026. <xf:macro template="thread_list_macros" name="item_new_posts"
  12027. arg-thread="{$thread}" />
  12028. </li>
  12029. </xf:foreach>
  12030. <xf:elseif is="$filter == 'unread'" />
  12031. <li class="block-row block-row--minor">
  12032. {{ phrase('no_unread_posts_view_latest', {'link': link('whats-new/posts', null, {'skip': 1})}) }}
  12033. </li>
  12034. <xf:else />
  12035. <li class="block-row block-row--minor">
  12036. {{ phrase('no_results_found') }}
  12037. </li>
  12038. </xf:if>
  12039. </ul>
  12040. </xf:if>
  12041. </div>
  12042. </div>
  12043. </xf:if>]]></template>
  12044. <template title="widget_online_statistics" type="public" addon_id="XF" version_id="2000038" version_string="2.0.0 Beta 8"><![CDATA[<div class="block"{{ widget_data($widget) }}>
  12045. <div class="block-container">
  12046. <h3 class="block-minorHeader block-static">{$title}</h3>
  12047. <div class="block-body block-row">
  12048. <dl class="pairs pairs--justified">
  12049. <dt>{{ phrase('members_online') }}</dt>
  12050. <dd>{$counts.members|number}</dd>
  12051. </dl>
  12052.  
  12053. <dl class="pairs pairs--justified">
  12054. <dt>{{ phrase('guests_online') }}</dt>
  12055. <dd>{$counts.guests|number}</dd>
  12056. </dl>
  12057.  
  12058. <dl class="pairs pairs--justified">
  12059. <dt>{{ phrase('total_visitors') }}</dt>
  12060. <dd>{$counts.total|number}</dd>
  12061. </dl>
  12062. </div>
  12063. <div class="block-footer">
  12064. {{ phrase('totals_may_include_hidden_visitors') }}
  12065. </div>
  12066. </div>
  12067. </div>]]></template>
  12068. <template title="widget_share_page" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[<xf:if contentcheck="true">
  12069. <div class="block"{{ widget_data($widget) }}>
  12070. <div class="block-container">
  12071. <h3 class="block-minorHeader block-share"><a>{$title}</a></h3>
  12072. <div class="block-body block-row">
  12073. <xf:contentcheck>
  12074. <xf:macro template="share_page_macros" name="buttons" arg-iconic="{$options.iconic}" />
  12075. </xf:contentcheck>
  12076. </div>
  12077. </div>
  12078. </div>
  12079. </xf:if>]]></template>
  12080. <template title="widget_visitor_panel" type="public" addon_id="XF" version_id="2000038" version_string="2.0.0 Beta 8"><![CDATA[<xf:if is="$xf.visitor.user_id">
  12081. <div class="block member-visitor"{{ widget_data($widget) }}>
  12082. <xf:macro template="account_visitor_sidebar" name="visitor_panel_row_sidebar" />
  12083. </div>
  12084. </xf:if>]]></template>
  12085. </templates>
  12086. <properties>
  12087. <group group_name="BriviumSettings" title="[Brivium] Settings" description="" display_order="0" addon_id=""/>
  12088. <group group_name="brivium_footer" title="[Brivium] Footer" description="" display_order="1" addon_id=""/>
  12089. <property property_name="BrvColor1" group_name="BriviumSettings" title="Brv Color 1" description="" property_type="value" value_type="color" depends_on="" value_group="" display_order="0" addon_id="">
  12090. <value>"#ffffff"</value>
  12091. </property>
  12092. <property property_name="BrvColor2" group_name="BriviumSettings" title="Brv Color 2" description="" property_type="value" value_type="color" depends_on="" value_group="" display_order="10" addon_id="">
  12093. <value>"#4f3043"</value>
  12094. </property>
  12095. <property property_name="BrvColor3" group_name="BriviumSettings" title="Brv Color 3" description="" property_type="value" value_type="color" depends_on="" value_group="" display_order="20" addon_id="">
  12096. <value>"#242027"</value>
  12097. </property>
  12098. <property property_name="BrvColor4" group_name="BriviumSettings" title="Brv Color 4" description="" property_type="value" value_type="color" depends_on="" value_group="" display_order="30" addon_id="">
  12099. <value>"#140e0e"</value>
  12100. </property>
  12101. <property property_name="FooterBottom" group_name="footer" title="Footer Bottom" description="Footer Bottom background color." property_type="value" value_type="color" depends_on="" value_group="" display_order="20200" addon_id="">
  12102. <value>"#242027"</value>
  12103. </property>
  12104. <property property_name="FooterColumn1" group_name="brivium_footer" title="Footer Column 1" description="" property_type="value" value_type="string" depends_on="" value_group="" display_order="0" addon_id="">
  12105. <value>"&lt;div class=\"footer-title\"&gt; &lt;h3&gt;About Us&lt;/h3&gt; &lt;/div&gt; &lt;div class=\"content-inner\"&gt; &lt;p&gt;Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur. Lorem Ipsum is simply dummy text of the printing and typesetting industry.&lt;/p&gt; &lt;/div&gt; &lt;div class=\"footer-social\"&gt; &lt;a class=\"facebook\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-facebook\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"twitter\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-twitter\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"google\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-google-plus\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"linkedin\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-linkedin\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"youtube\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-youtube-play\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"dribbble\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-dribbble\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"flickr\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-flickr\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"pinterest\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-pinterest-p\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"vimeo\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-vimeo\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"rss\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-rss\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"deviantart\" href=\"#\"&gt;&lt;span&gt;&lt;i class=\"fa fa-deviantart\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;a class=\"email\" href=\"mailto:youremail@gmail.com\"&gt;&lt;span&gt;&lt;i class=\"fa fa-envelope-o\"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt; &lt;/div&gt;"</value>
  12106. </property>
  12107. <property property_name="FooterColumn2" group_name="brivium_footer" title="Footer Column 2" description="" property_type="value" value_type="string" depends_on="" value_group="" display_order="0" addon_id="">
  12108. <value>"&lt;div class=\"footer-title\"&gt; &lt;h3&gt;Related link&lt;/h3&gt; &lt;/div&gt; &lt;div class=\"content-inner\"&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=\"#\"&gt;Related link 01&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=\"#\"&gt;Related link 02&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=\"#\"&gt;Related link 03&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=\"#\"&gt;Related link 04&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=\"#\"&gt;Related link 05&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt;"</value>
  12109. </property>
  12110. <property property_name="FooterColumn3" group_name="brivium_footer" title="Footer Column 3" description="" property_type="value" value_type="string" depends_on="" value_group="" display_order="0" addon_id="">
  12111. <value>"&lt;div class=\"footer-title\"&gt; &lt;h3&gt;Related link&lt;/h3&gt; &lt;/div&gt; &lt;div class=\"content-inner\"&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=\"#\"&gt;Related link 01&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=\"#\"&gt;Related link 02&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=\"#\"&gt;Related link 03&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=\"#\"&gt;Related link 04&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=\"#\"&gt;Related link 05&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt;"</value>
  12112. </property>
  12113. <property property_name="FooterColumn4" group_name="brivium_footer" title="Footer Column 4" description="" property_type="value" value_type="string" depends_on="" value_group="" display_order="0" addon_id="">
  12114. <value>"&lt;div class=\"footer-title\"&gt; &lt;h3&gt;Contact us&lt;/h3&gt; &lt;/div&gt; &lt;div class=\"content-inner contact-info\"&gt; &lt;div class=\"item address\"&gt;15 Str., 4844, Ipsum, State, UK&lt;/div&gt; &lt;div class=\"item phone\"&gt;+30-2106019311&lt;/div&gt; &lt;div class=\"item email\"&gt;&lt;a href=\"mailto:solium@gmail.com\"&gt;solium@gmail.com&lt;/a&gt;&lt;/div&gt; &lt;div class=\"item public\"&gt;&lt;a href=\"http://www.nickel.com\"&gt;nickel.com&lt;/a&gt;&lt;/div&gt; &lt;/div&gt;"</value>
  12115. </property>
  12116. <property property_name="MiniAvatar" group_name="BriviumSettings" title="Mini Avatar" description="Show / Hide mini avatar in thread list." property_type="value" value_type="boolean" depends_on="1" value_group="" display_order="500" addon_id="">
  12117. <value>1</value>
  12118. </property>
  12119. <property property_name="TooltipCategories" group_name="BriviumSettings" title="Tooltip Categories" description="Show categories description is tooltip." property_type="value" value_type="boolean" depends_on="1" value_group="" display_order="510" addon_id="">
  12120. <value>1</value>
  12121. </property>
  12122. <property property_name="bbCodeBlock" group_name="bbCode" title="BB code blocks" description="All BB code blocks within messages make use of these styling rules" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,border,border_radius,extra" addon_id="XF">
  12123. <value>{
  12124. "background-color": "#ffffff",
  12125. "extra": "border-radius: 2px;"
  12126. }</value>
  12127. </property>
  12128. <property property_name="bbCodeBlockTitle" group_name="bbCode" title="BB code blocks - title" description="Styles the title section of BB code blocks within messages" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,border,extra" addon_id="XF">
  12129. <value>{
  12130. "font-size": "@xf-fontSizeSmall",
  12131. "color": "@xf-linkColor",
  12132. "background-color": "#ffffff",
  12133. "border-bottom-width": "1px",
  12134. "border-bottom-color": "@xf-borderColor",
  12135. "extra": "text-transform: uppercase;\npadding: 10px;"
  12136. }</value>
  12137. </property>
  12138. <property property_name="blockFilterBar" group_name="block" title="Block filter bar" description="When the content of a block can be filtered, the controls to do so are styled here" property_type="css" value_type="" depends_on="" value_group="" display_order="20800" css_components="text,background,border,extra" addon_id="XF">
  12139. <value>{
  12140. "font-size": "@xf-fontSizeSmall",
  12141. "color": "@xf-paletteColor3",
  12142. "background-color": "#ffffff",
  12143. "extra": "padding: 10px;"
  12144. }</value>
  12145. </property>
  12146. <property property_name="blockFooter" group_name="block" title="Block footer" description="When information needs to be conveyed in a footer element for a block, its style is controlled here" property_type="css" value_type="" depends_on="" value_group="" display_order="21200" css_components="text,background,border,extra" addon_id="XF">
  12147. <value>{
  12148. "font-size": "@xf-fontSizeSmaller",
  12149. "color": "@xf-paletteColor3",
  12150. "background-color": "#ffffff",
  12151. "border-top-width": "@xf-borderSize",
  12152. "border-top-color": "@xf-borderColorLight"
  12153. }</value>
  12154. </property>
  12155. <property property_name="blockHeader" group_name="block" title="Block header" description="Blocks often have title bars at their tops, which are styled here" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,border,extra" addon_id="XF">
  12156. <value>{
  12157. "font-size": "14px",
  12158. "color": "@xf-paletteColor3",
  12159. "background-color": "#ffffff",
  12160. "extra": "padding: 15px;"
  12161. }</value>
  12162. </property>
  12163. <property property_name="blockMinorHeader" group_name="block" title="Block minor header" description="Sub-headings in blocks use these settings" property_type="css" value_type="" depends_on="" value_group="" display_order="20400" css_components="text,background,border,extra" addon_id="XF">
  12164. <value>{
  12165. "font-size": "14px",
  12166. "color": "@xf-paletteColor3",
  12167. "background-color": "#ffffff",
  12168. "extra": "padding: 10px;\ntext-transform: uppercase;"
  12169. }</value>
  12170. </property>
  12171. <property property_name="blockTabHeader" group_name="block" title="Block tab header" description="Occasionally, blocks will have multi-part, tab headers, styled with these settings" property_type="css" value_type="" depends_on="" value_group="" display_order="20200" css_components="text,background,border,extra" addon_id="XF">
  12172. <value>{
  12173. "font-size": "@xf-fontSizeNormal",
  12174. "color": "#ffffff",
  12175. "background-color": "#242027",
  12176. "border-bottom-width": "@xf-borderSize",
  12177. "border-bottom-color": "@xf-borderColor"
  12178. }</value>
  12179. </property>
  12180. <property property_name="blockTabHeaderSelected" group_name="block" title="Block tab header - selected tab" description="The selected tab in multi-part headers takes additional styling from here" property_type="css" value_type="" depends_on="" value_group="" display_order="20300" css_components="text,background,border_color_simple,extra" addon_id="XF">
  12181. <value>{
  12182. "color": "@xf-paletteColor3"
  12183. }</value>
  12184. </property>
  12185. <property property_name="blockTextHeader" group_name="block" title="Block text header" description="Text headers are used for subtle identification of content areas, without changing the background style or color" property_type="css" value_type="" depends_on="" value_group="" display_order="20700" css_components="text,background,border,extra" addon_id="XF">
  12186. <value>{
  12187. "font-size": "@xf-fontSizeLarge",
  12188. "color": "@xf-paletteColor3",
  12189. "background-color": "#fffff",
  12190. "extra": "padding: 10px;"
  12191. }</value>
  12192. </property>
  12193. <property property_name="borderColor" group_name="color" title="Border color" description="Structural borders around blocks of content generally use this color" property_type="value" value_type="color" depends_on="" value_group="borderBasic" display_order="4000" addon_id="XF">
  12194. <value>"#f3f3f3"</value>
  12195. </property>
  12196. <property property_name="buttonBase" group_name="button" title="Button base" description="Defines the styling for the basic elements that are common to all text-based buttons" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,border_radius,padding,extra" addon_id="XF">
  12197. <value>{
  12198. "font-size": "@xf-fontSizeSmall",
  12199. "border-radius": "2px",
  12200. "padding-top": "6px",
  12201. "padding-right": "10px",
  12202. "padding-bottom": "6px",
  12203. "padding-left": "10px",
  12204. "extra": "text-align: center;"
  12205. }</value>
  12206. </property>
  12207. <property property_name="buttonCta" group_name="button" title="Button - call to action" description="Call to action buttons sit alone and invite the user to do something, like post a new thread" property_type="css" value_type="" depends_on="" value_group="" display_order="20300" css_components="text,background,extra" addon_id="XF">
  12208. <value>{
  12209. "color": "#fff",
  12210. "background-color": "@xf-paletteColor3"
  12211. }</value>
  12212. </property>
  12213. <property property_name="buttonDefault" group_name="button" title="Button - default" description="Most buttons use this styling, except for primary form submit buttons" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,extra" addon_id="XF">
  12214. <value>{
  12215. "color": "#fff",
  12216. "background-color": "#222326"
  12217. }</value>
  12218. </property>
  12219. <property property_name="buttonPrimary" group_name="button" title="Button - primary" description="These rules are used mostly for the main submit button for forms" property_type="css" value_type="" depends_on="" value_group="" display_order="20200" css_components="text,background,extra" addon_id="XF">
  12220. <value>{
  12221. "color": "#fff",
  12222. "background-color": "@xf-paletteColor3",
  12223. "extra": "min-width: 80px;"
  12224. }</value>
  12225. </property>
  12226. <property property_name="contentAccentBase" group_name="content" title="Accented content area base" description="When attention needs to be directed to content, this background may be employed" property_type="css" value_type="" depends_on="" value_group="" display_order="20300" css_components="text,background,extra" addon_id="XF">
  12227. <value>{
  12228. "color": "@xf-contentBg",
  12229. "background-color": "#2b2320"
  12230. }</value>
  12231. </property>
  12232. <property property_name="contentBg" group_name="color" title="Content background color" description="Most normal content will sit on this background" property_type="value" value_type="color" depends_on="" value_group="contentBg" display_order="2000" addon_id="XF">
  12233. <value>"transparent"</value>
  12234. </property>
  12235. <property property_name="contentHighlightBase" group_name="content" title="Highlighted content area base" description="If an area of content is selected, for example a row in a table, its normal background will be substituted with this" property_type="css" value_type="" depends_on="" value_group="" display_order="20200" css_components="text,background,extra" addon_id="XF">
  12236. <value>{
  12237. "color": "@xf-textColor",
  12238. "background-color": "@xf-contentBg"
  12239. }</value>
  12240. </property>
  12241. <property property_name="fontFamilyBody" group_name="fonts" title="Body Text Font" description="This font is used for the text of messages etc." property_type="value" value_type="string" depends_on="" value_group="font" display_order="200" addon_id="XF">
  12242. <value>"'Open Sans', sans-serif"</value>
  12243. </property>
  12244. <property property_name="fontFamilyUi" group_name="fonts" title="User Interface Font" description="The font list for your main text" property_type="value" value_type="string" depends_on="" value_group="font" display_order="100" addon_id="XF">
  12245. <value>"'Open Sans', sans-serif"</value>
  12246. </property>
  12247. <property property_name="input" group_name="input" title="Form input" description="Controls the style of most text-input boxes" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,border,border_radius,padding,extra" addon_id="XF">
  12248. <value>{
  12249. "font-size": "12px",
  12250. "color": "#b5b1b9",
  12251. "background-color": "#f5f5f5",
  12252. "border-width": "1px",
  12253. "border-color": "@xf-borderColor",
  12254. "border-radius": "2px",
  12255. "padding": "@xf-paddingMedium"
  12256. }</value>
  12257. </property>
  12258. <property property_name="inputFocus" group_name="input" title="Form input - focused" description="These rules are applied to text boxes when they are selected for input" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,extra" addon_id="XF">
  12259. <value>[]</value>
  12260. </property>
  12261. <property property_name="linkColor" group_name="color" title="Link color" description="Basic hyperlinks on standard background colors will use this style" property_type="value" value_type="color" depends_on="" value_group="link" display_order="1000" addon_id="XF">
  12262. <value>"#372d3b"</value>
  12263. </property>
  12264. <property property_name="linkHoverColor" group_name="color" title="Link hover color" description="Basic hyperlinks will turn this color when hovered" property_type="value" value_type="color" depends_on="" value_group="link" display_order="1100" addon_id="XF">
  12265. <value>"@xf-paletteColor3"</value>
  12266. </property>
  12267. <property property_name="menu" group_name="menu" title="Menu" description="Controls the main block of all popup menus" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,border_width_simple,border_color_simple,extra" addon_id="XF">
  12268. <value>{
  12269. "font-size": "@xf-fontSizeSmall",
  12270. "color": "@xf-textColor",
  12271. "background-color": "#ffffff",
  12272. "extra": "// border: @xf-borderSize solid @xf-borderColor;"
  12273. }</value>
  12274. </property>
  12275. <property property_name="menuFeatureBorderColor" group_name="menu" title="Menu feature border color" description="Popup menus have a thick feature border on their upper edge, the styling of which is controlled here" property_type="value" value_type="color" depends_on="" value_group="" display_order="100" addon_id="XF">
  12276. <value>"@xf-contentBg"</value>
  12277. </property>
  12278. <property property_name="menuFooter" group_name="menu" title="Menu footer" description="When a popup menu has a bottom, footer element, it will use these settings" property_type="css" value_type="" depends_on="" value_group="" display_order="20600" css_components="text,background,border,extra" addon_id="XF">
  12279. <value>{
  12280. "font-size": "@xf-fontSizeSmaller",
  12281. "color": "@xf-textColorDimmed",
  12282. "background-color": "@xf-contentAltBg",
  12283. "border-top-width": "@xf-borderSize",
  12284. "border-top-color": "@xf-borderColorLight",
  12285. "extra": "background: linear-gradient(180deg, @xf-contentAltBg, mix(@xf-contentAltBg, @xf-contentBg, 50%));"
  12286. }</value>
  12287. </property>
  12288. <property property_name="menuHeader" group_name="menu" title="Menu header" description="Most menus identify themselves with a header just underneath their top border" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,border,extra" addon_id="XF">
  12289. <value>{
  12290. "font-size": "14px",
  12291. "color": "@xf-paletteColor3",
  12292. "background-color": "#242027",
  12293. "border-bottom-width": "@xf-borderSize",
  12294. "border-bottom-color": "@xf-borderColorLight",
  12295. "extra": "padding: 8px 15px;"
  12296. }</value>
  12297. </property>
  12298. <property property_name="messagePadding" group_name="message" title="Message padding" description="When using the full-size message block, this value defines the size of the padding around the message text" property_type="value" value_type="unit" depends_on="" value_group="padding" display_order="200" addon_id="XF">
  12299. <value>"15px"</value>
  12300. </property>
  12301. <property property_name="messageUserBlock" group_name="message" title="Message user info block" description="Apart from its width, the (left) message user info column is styled here" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,border_width_simple,border_color_simple,extra" addon_id="XF">
  12302. <value>{
  12303. "background-color": "transparent",
  12304. "border-width": "@xf-borderSize",
  12305. "border-color": "@xf-borderColor"
  12306. }</value>
  12307. </property>
  12308. <property property_name="messageUserBlockWidth" group_name="message" title="Message user info block width" description="Controls the width of the (left) user info column on the full size message block" property_type="value" value_type="unit" depends_on="" value_group="user" display_order="500" addon_id="XF">
  12309. <value>"95px"</value>
  12310. </property>
  12311. <property property_name="nodeIconReadColor" group_name="nodeList" title="Read node icon color" description="When the content within a node has been read, its icon will revert to a less attention-grabbing color, defined here" property_type="value" value_type="color" depends_on="" value_group="" display_order="200" addon_id="XF">
  12312. <value>"@xf-paletteColor3"</value>
  12313. </property>
  12314. <property property_name="nodeIconUnreadColor" group_name="nodeList" title="Unread node icon color" description="Node icons give an at-a-glance indication of whether or not the content housed within the node has been read. The unread icon color should stand out from its background for quick identification" property_type="value" value_type="color" depends_on="" value_group="" display_order="100" addon_id="XF">
  12315. <value>"#fb6b5b"</value>
  12316. </property>
  12317. <property property_name="nodeListSubDisplay" group_name="nodeList" title="Sub-forums display style" description="Choose the style in which sub-forums will be displayed within a particular node element, according to the amount of space you want them to occupy" property_type="value" value_type="radio" depends_on="" value_group="" display_order="300" addon_id="XF">
  12318. <value_parameters>menu={{ phrase('popup_menu') }}
  12319. flat={{ phrase('listed_below_node') }}
  12320. none={{ phrase('none') }}</value_parameters>
  12321. <value>"flat"</value>
  12322. </property>
  12323. <property property_name="overlayHeader" group_name="overlay" title="Overlay header" description="Overlays use a header element to identify their contents, styled here" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,border,padding,extra" addon_id="XF">
  12324. <value>{
  12325. "font-size": "14px",
  12326. "color": "@xf-paletteColor3",
  12327. "background-color": "#242027",
  12328. "padding-top": "@xf-paddingMedium",
  12329. "padding-right": "@xf-paddingLarge",
  12330. "padding-bottom": "@xf-paddingMedium",
  12331. "padding-left": "@xf-paddingLarge",
  12332. "extra": "text-align: center;"
  12333. }</value>
  12334. </property>
  12335. <property property_name="overlayMaskColor" group_name="overlay" title="Overlay mask color" description="When an overlay is shown, the page behind is masked by the color defined here. Use RGBA transparency to allow the page to show through" property_type="value" value_type="color" depends_on="" value_group="" display_order="200" addon_id="XF">
  12336. <value>"rgba(0, 0, 0, .3)"</value>
  12337. </property>
  12338. <property property_name="overlayTopMargin" group_name="overlay" title="Overlay top margin" description="This defines the distance between the top of the viewport and the top of the overlay" property_type="value" value_type="unit" depends_on="" value_group="" display_order="100" addon_id="XF">
  12339. <value>"15vh"</value>
  12340. </property>
  12341. <property property_name="pageBackground" group_name="page" title="Page background" description="The page background, behind all block elements, uses the styling rules defined here" property_type="css" value_type="" depends_on="" value_group="" display_order="20200" css_components="background,extra" addon_id="XF">
  12342. <value>{
  12343. "background-color": "#f1f3f4"
  12344. }</value>
  12345. </property>
  12346. <property property_name="paletteAccent1" group_name="palette" title="Accent 1" description="" property_type="value" value_type="color" depends_on="" value_group="accent" display_order="2000" addon_id="XF">
  12347. <value_parameters>hidePalette=true</value_parameters>
  12348. <value>"#e7f8fd"</value>
  12349. </property>
  12350. <property property_name="paletteAccent2" group_name="palette" title="Accent 2" description="" property_type="value" value_type="color" depends_on="" value_group="accent" display_order="2100" addon_id="XF">
  12351. <value_parameters>hidePalette=true</value_parameters>
  12352. <value>"#64d1f4"</value>
  12353. </property>
  12354. <property property_name="paletteAccent3" group_name="palette" title="Accent 3" description="" property_type="value" value_type="color" depends_on="" value_group="accent" display_order="2200" addon_id="XF">
  12355. <value_parameters>hidePalette=true</value_parameters>
  12356. <value>"#0d92bf"</value>
  12357. </property>
  12358. <property property_name="paletteColor1" group_name="palette" title="Color 1" description="" property_type="value" value_type="color" depends_on="" value_group="primary" display_order="1000" addon_id="XF">
  12359. <value_parameters>hidePalette=true</value_parameters>
  12360. <value>"#fce8ea"</value>
  12361. </property>
  12362. <property property_name="paletteColor2" group_name="palette" title="Color 2" description="" property_type="value" value_type="color" depends_on="" value_group="primary" display_order="1100" addon_id="XF">
  12363. <value_parameters>hidePalette=true</value_parameters>
  12364. <value>"#f7bac1"</value>
  12365. </property>
  12366. <property property_name="paletteColor3" group_name="palette" title="Color 3" description="" property_type="value" value_type="color" depends_on="" value_group="primary" display_order="1200" addon_id="XF">
  12367. <value_parameters>hidePalette=true</value_parameters>
  12368. <value>"#ec5566"</value>
  12369. </property>
  12370. <property property_name="paletteColor4" group_name="palette" title="Color 4" description="" property_type="value" value_type="color" depends_on="" value_group="primary" display_order="1300" addon_id="XF">
  12371. <value_parameters>hidePalette=true</value_parameters>
  12372. <value>"#e61931"</value>
  12373. </property>
  12374. <property property_name="paletteColor5" group_name="palette" title="Color 5" description="" property_type="value" value_type="color" depends_on="" value_group="primary" display_order="1400" addon_id="XF">
  12375. <value_parameters>hidePalette=true</value_parameters>
  12376. <value>"#b81427"</value>
  12377. </property>
  12378. <property property_name="publicFooter" group_name="footer" title="Footer" description="The footer is the primary element that sits below the main content on all public pages" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,border,extra" addon_id="XF">
  12379. <value>{
  12380. "font-size": "@xf-fontSizeSmall",
  12381. "color": "#b3b1b4",
  12382. "background-color": "#242027"
  12383. }</value>
  12384. </property>
  12385. <property property_name="publicFooterLink" group_name="footer" title="Footer links" description="Controls styling for individual links within the footer" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,extra" addon_id="XF">
  12386. <value>{
  12387. "color": "#b3b1b4"
  12388. }</value>
  12389. </property>
  12390. <property property_name="publicHeader" group_name="headerNav" title="Header/logo row" description="The header row contains your logo and sits at the top of every public page" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,extra" addon_id="XF">
  12391. <value>{
  12392. "color": "#ffffff",
  12393. "background-color": "@xf-paletteColor3",
  12394. "background-image": "styles/brivium/nickel/extra/bg-header.jpg",
  12395. "extra": "background-size: cover;"
  12396. }</value>
  12397. </property>
  12398. <property property_name="publicLogoUrl" group_name="basic" title="Logo URL" description="The web path from your site's XenForo installation directory to your logo image." property_type="value" value_type="string" depends_on="" value_group="logo" display_order="100" addon_id="XF">
  12399. <value>"styles/brivium/nickel/extra/logo.png"</value>
  12400. </property>
  12401. <property property_name="publicNav" group_name="headerNav" title="Navigation row" description="The navigation row sits below the header and contains the primary site navigation tabs and menus" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,extra" addon_id="XF">
  12402. <value>{
  12403. "color": "#ffffff",
  12404. "background-color": "#242027"
  12405. }</value>
  12406. </property>
  12407. <property property_name="publicNavSelected" group_name="headerNav" title="Navigation row - selected tab" description="Additional styling to apply to navigation tabs when they are selected" property_type="css" value_type="" depends_on="" value_group="" display_order="20300" css_components="text,background,border,border_radius,extra" addon_id="XF">
  12408. <value>{
  12409. "font-size": "14px",
  12410. "color": "@xf-paletteColor3",
  12411. "border-radius": "4px",
  12412. "extra": "border-radius: 0;"
  12413. }</value>
  12414. </property>
  12415. <property property_name="publicNavTab" group_name="headerNav" title="Navigation row - tab" description="Controls the styling of individual tab elements within the navigation row" property_type="css" value_type="" depends_on="" value_group="" display_order="20200" css_components="text,background,extra" addon_id="XF">
  12416. <value>{
  12417. "font-size": "14px",
  12418. "text-decoration": "none"
  12419. }</value>
  12420. </property>
  12421. <property property_name="publicNavTabHover" group_name="headerNav" title="Navigation row - hovered tab" description="Additional styling to apply to navigation tabs when the pointer hovers over them" property_type="css" value_type="" depends_on="" value_group="" display_order="20400" css_components="text,background,extra" addon_id="XF">
  12422. <value>{
  12423. "font-size": "14px",
  12424. "color": "@xf-paletteColor3",
  12425. "text-decoration": "none"
  12426. }</value>
  12427. </property>
  12428. <property property_name="publicNavTabMenuOpen" group_name="headerNav" title="Navigation row - menu open" description="Styling applied when the popup menu for the current tab is visible" property_type="css" value_type="" depends_on="" value_group="" display_order="20450" css_components="text,background,extra" addon_id="XF">
  12429. <value>{
  12430. "color": "@xf-paletteColor3",
  12431. "text-decoration": "none"
  12432. }</value>
  12433. </property>
  12434. <property property_name="publicStaffBar" group_name="headerNav" title="Staff tools bar" description="Visible only to staff, the staff tools bar sits above the header and contains items such as reported content, the moderation queue..." property_type="css" value_type="" depends_on="" value_group="" display_order="20700" css_components="text,background,border,extra" addon_id="XF">
  12435. <value>{
  12436. "font-size": "@xf-fontSizeSmall",
  12437. "color": "#ffffff",
  12438. "background-color": "#1b1b27"
  12439. }</value>
  12440. </property>
  12441. <property property_name="publicSubNav" group_name="headerNav" title="Sub-navigation row" description="Below the main navigation row, this row shows content associated with the selected main navigation tab" property_type="css" value_type="" depends_on="" value_group="" display_order="20500" css_components="text,background,border,extra" addon_id="XF">
  12442. <value>{
  12443. "font-size": "@xf-fontSizeSmall",
  12444. "color": "@xf-paletteColor3",
  12445. "background-color": "#222326"
  12446. }</value>
  12447. </property>
  12448. <property property_name="publicSubNavElHover" group_name="headerNav" title="Sub-navigation row - hovered element" description="Additional styling applied to sub-navigation tabs when the pointer hovers over them" property_type="css" value_type="" depends_on="" value_group="" display_order="20600" css_components="text,extra" addon_id="XF">
  12449. <value>{
  12450. "color": "#ffffff"
  12451. }</value>
  12452. </property>
  12453. <property property_name="publicSubNavElMenuOpen" group_name="headerNav" title="Sub-navigation row - menu-open element" description="Styles sub-navigation elements whose popup menu is currently open" property_type="css" value_type="" depends_on="" value_group="" display_order="20650" css_components="text,background,extra" addon_id="XF">
  12454. <value>{
  12455. "color": "#ffffff",
  12456. "text-decoration": "none"
  12457. }</value>
  12458. </property>
  12459. <property property_name="sidebarSpacer" group_name="page" title="Sidebar and side navigation spacer" description="Distance between the main content and the sidebar" property_type="value" value_type="unit" depends_on="" value_group="sidebar" display_order="1000" addon_id="XF">
  12460. <value>"20px"</value>
  12461. </property>
  12462. <property property_name="sidebarWidth" group_name="page" title="Sidebar and side navigation width" description="Width of any elements that make up the sidebar" property_type="value" value_type="unit" depends_on="" value_group="sidebar" display_order="1100" addon_id="XF">
  12463. <value>"245px"</value>
  12464. </property>
  12465. <property property_name="standaloneTab" group_name="tab" title="Standalone tabs" description="Tabs that are not part of block headers are styled here" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,extra" addon_id="XF">
  12466. <value>{
  12467. "font-size": "@xf-fontSizeNormal",
  12468. "color": "#ffffff",
  12469. "font-weight": "@xf-fontWeightNormal",
  12470. "background-color": "#242027",
  12471. "extra": "border: none;"
  12472. }</value>
  12473. </property>
  12474. <property property_name="standaloneTabSelected" group_name="tab" title="Standalone tabs - selected tab" description="The selected tab in groups that are not part of block headers" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,border_color_simple,extra" addon_id="XF">
  12475. <value>{
  12476. "color": "@xf-paletteColor3",
  12477. "font-weight": "@xf-fontWeightNormal"
  12478. }</value>
  12479. </property>
  12480. <property property_name="textColor" group_name="color" title="Text color" description="Unless otherwise specified, text will be this color" property_type="value" value_type="color" depends_on="" value_group="textBasic" display_order="100" addon_id="XF">
  12481. <value>"#887882"</value>
  12482. </property>
  12483. <property property_name="tooltip" group_name="tooltip" title="Tooltip" description="Certain elements have special floating tooltips, which are controlled here" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,border_radius,padding,extra" addon_id="XF">
  12484. <value>{
  12485. "font-size": "@xf-fontSizeSmaller",
  12486. "color": "#fff",
  12487. "background-color": "@xf-paletteColor3",
  12488. "border-radius": "@xf-borderRadiusMedium",
  12489. "padding-top": "5px",
  12490. "padding-right": "5px",
  12491. "padding-bottom": "5px",
  12492. "padding-left": "5px"
  12493. }</value>
  12494. </property>
  12495. </properties>
  12496. </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement