Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <style title="Nickel" description="" user_selectable="1" export_version="2">
- <templates>
- <template title="PAGE_CONTAINER" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[<!DOCTYPE html>
- <html id="XF" lang="{$xf.language.language_code}" dir="{$xf.language.text_direction}"
- data-app="public"
- data-template="{$template}"
- data-container-key="{$containerKey}"
- data-content-key="{$contentKey}"
- data-logged-in="{{ $xf.visitor.user_id ? 'true' : 'false' }}"
- data-cookie-prefix="{$xf.cookie.prefix}"
- class="has-no-js{{ $template ? ' template-' . $template : '' }}"
- {{ $xf.runJobs ? ' data-run-jobs=""' : '' }}>
- <head>
- <meta charset="utf-8" />
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <xf:set var="$siteName" value="{$xf.options.boardTitle}" />
- <xf:set var="$h1"><xf:h1 fallback="{$siteName}" /></xf:set>
- <xf:set var="$description"><xf:description /></xf:set>
- <title><xf:title formatter="%s | %s" fallback="{$xf.options.boardTitle}" page="{$pageNumber}" /></title>
- <xf:foreach loop="$head" value="$headTag">
- {$headTag}
- </xf:foreach>
- <xf:if is="!$head.meta_site_name && $siteName is not empty">
- <xf:macro template="metadata_macros" name="site_name" arg-siteName="{$siteName}" arg-output="{{ true }}" />
- </xf:if>
- <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600,700" rel="stylesheet">
- <xf:if is="!$head.meta_type">
- <xf:macro template="metadata_macros" name="type" arg-type="website" arg-output="{{ true }}" />
- </xf:if>
- <xf:if is="!$head.meta_title">
- <xf:macro template="metadata_macros" name="title" arg-title="{{ page_title() ?: $siteName }}" arg-output="{{ true }}" />
- </xf:if>
- <xf:if is="!$head.meta_description && $description is not empty && $pageDescriptionMeta">
- <xf:macro template="metadata_macros" name="description" arg-description="{$description}" arg-output="{{ true }}" />
- </xf:if>
- <xf:if is="!$head.meta_share_url">
- <xf:macro template="metadata_macros" name="share_url" arg-shareUrl="{$xf.fullUri}" arg-output="{{ true }}" />
- </xf:if>
- <xf:if is="!$head.meta_image_url && property('publicMetadataLogoUrl')">
- <xf:macro template="metadata_macros" name="image_url"
- arg-imageUrl="{{ base_url(property('publicMetadataLogoUrl'), true) }}"
- arg-output="{{ true }}" />
- </xf:if>
- <xf:if is="property('metaThemeColor')">
- <meta name="theme-color" content="{{ parse_less_color(property('metaThemeColor')) }}" />
- </xf:if>
- <xf:macro template="helper_js_global" name="head" arg-app="public" />
- <xf:if is="property('publicFaviconUrl')">
- <link rel="icon" type="image/png" href="{{ base_url(property('publicFaviconUrl'), true) }}" sizes="32x32" />
- </xf:if>
- <xf:if is="property('publicMetadataLogoUrl')">
- <link rel="apple-touch-icon" href="{{ base_url(property('publicMetadataLogoUrl'), true) }}" />
- </xf:if>
- <xf:include template="google_analytics" />
- </head>
- <body data-template="{$template}">
- <div class="p-pageWrapper" id="top">
- <xf:if contentcheck="true">
- <div class="p-staffBar">
- <div class="p-staffBar-inner hScroller" data-xf-init="h-scroller">
- <div class="hScroller-scroll">
- <xf:contentcheck>
- <xf:if is="$xf.visitor.is_moderator && $xf.session.unapprovedCounts.total">
- <a href="{{ link('approval-queue') }}" class="p-staffBar-link badgeContainer badgeContainer--highlighted" data-badge="{$xf.session.unapprovedCounts.total|number}">
- {{ phrase('approval_queue') }}
- </a>
- </xf:if>
- <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId && $xf.session.reportCounts.total">
- <a href="{{ link('reports') }}"
- 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' : '' }}"
- data-badge="{{ $xf.session.reportCounts.assigned ? $xf.session.reportCounts.assigned|number . ' / ' . $xf.session.reportCounts.total|number : $xf.session.reportCounts.total|number }}"
- title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:') . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">
- {{ phrase('reports') }}
- </a>
- </xf:if>
- <xf:if contentcheck="true">
- <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>
- <div class="menu" data-menu="menu" aria-hidden="true">
- <div class="menu-content">
- <h4 class="menu-header">{{ phrase('moderator_tools') }}</h4>
- <xf:contentcheck>
- <!--[XF:mod_tools_menu:top]-->
- <xf:if is="$xf.visitor.is_moderator">
- <a href="{{ link('approval-queue') }}" class="menu-linkRow">{{ phrase('approval_queue') }}</a>
- </xf:if>
- <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId">
- <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>
- </xf:if>
- <!--[XF:mod_tools_menu:bottom]-->
- </xf:contentcheck>
- </div>
- </div>
- </xf:if>
- <xf:if is="$xf.visitor.is_admin">
- <a href="{{ base_url('admin.php') }}" class="p-staffBar-link link-admin" target="_blank">{{ phrase('admin') }}</a>
- </xf:if>
- </xf:contentcheck>
- </div>
- </div>
- </div>
- </xf:if>
- <xf:set var="$navHtml">
- <nav class="p-nav">
- <div class="p-nav-inner">
- <a class="p-nav-menuTrigger" data-xf-click="off-canvas" data-menu=".js-headerOffCanvasMenu" role="button" tabindex="0">
- <i aria-hidden="true"></i>
- <span class="p-nav-menuText">{{ phrase('menu') }}</span>
- </a>
- <div class="p-nav-scroller hScroller" data-xf-init="h-scroller" data-auto-scroll=".p-navEl.is-selected">
- <div class="hScroller-scroll">
- <ul class="p-nav-list js-offCanvasNavSource">
- <xf:foreach loop="$navTree" key="$navSection" value="$navEntry" i="$i" if="{{ $navSection != $xf.app.defaultNavigationId }}">
- <li>
- <xf:macro name="nav_entry"
- arg-navId="{$navSection}"
- arg-nav="{$navEntry}"
- arg-selected="{{ $navSection == $pageSection }}"
- arg-shortcut="{$i}" />
- </li>
- </xf:foreach>
- </ul>
- </div>
- </div>
- <div class="p-nav-opposite">
- <div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}">
- <xf:if is="$xf.visitor.user_id">
- <xf:if is="$xf.visitor.user_state == 'rejected' OR $xf.visitor.user_state == 'disabled'">
- <a href="{{ link('account') }}"
- class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user">
- <xf:avatar user="$xf.visitor" size="xs" href="" />
- <span class="p-navgroup-linkText">{$xf.visitor.username}</span>
- </a>
- <a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="p-navgroup-link">
- <span class="p-navgroup-linkText">{{ phrase('log_out') }}</span>
- </a>
- <xf:else />
- <a href="{{ link('account') }}"
- class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user"
- data-xf-click="menu"
- data-xf-key="{{ phrase('shortcut.visitor_menu')|for_attr }}"
- data-menu-pos-ref="< .p-navgroup"
- aria-expanded="false"
- aria-haspopup="true">
- <i class="fa fa-user show-sm" aria-hidden="true" style="font-size: 22px;"></i>
- <span class="p-navgroup-linkText">{$xf.visitor.username}</span>
- </a>
- <div class="menu menu--structural menu--wide menu--account" data-menu="menu" aria-hidden="true"
- data-href="{{ link('account/visitor-menu') }}"
- data-load-target=".js-visitorMenuBody">
- <div class="menu-content js-visitorMenuBody">
- <div class="menu-row">
- {{ phrase('loading...') }}
- </div>
- </div>
- </div>
- <a href="{{ link('conversations') }}"
- class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--conversations js-badge--conversations badgeContainer{{ $xf.visitor.conversations_unread ? ' badgeContainer--highlighted' : '' }}"
- data-badge="{$xf.visitor.conversations_unread|number}"
- data-xf-click="menu"
- data-xf-key="{{ phrase('shortcut.conversations_menu')|for_attr }}"
- data-menu-pos-ref="< .p-navgroup"
- aria-expanded="false"
- aria-haspopup="true">
- <i aria-hidden="true"></i>
- <span class="p-navgroup-linkText">{{ phrase('inbox') }}</span>
- </a>
- <div class="menu menu--structural menu--medium meu--alertconver" data-menu="menu" aria-hidden="true"
- data-href="{{ link('conversations/popup') }}"
- data-nocache="true"
- data-load-target=".js-convMenuBody">
- <div class="menu-content">
- <h3 class="menu-header">{{ phrase('conversations') }}</h3>
- <div class="js-convMenuBody">
- <div class="menu-row">{{ phrase('loading...') }}</div>
- </div>
- <div class="menu-footer menu-footer--split">
- <span class="menu-footer-main">
- <a href="{{ link('conversations') }}">{{ phrase('show_all...') }}</a>
- </span>
- <span class="menu-footer-opposite">
- <a href="{{ link('conversations/add') }}">{{ phrase('start_new_conversation') }}</a>
- </span>
- </div>
- </div>
- </div>
- <a href="{{ link('account/alerts') }}"
- class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--alerts js-badge--alerts badgeContainer{{ $xf.visitor.alerts_unread ? ' badgeContainer--highlighted' : '' }}"
- data-badge="{$xf.visitor.alerts_unread|number}"
- data-xf-click="menu"
- data-xf-key="{{ phrase('shortcut.alerts_menu')|for_attr }}"
- data-menu-pos-ref="< .p-navgroup"
- aria-expanded="false"
- aria-haspopup="true">
- <i aria-hidden="true"></i>
- <span class="p-navgroup-linkText">{{ phrase('alerts') }}</span>
- </a>
- <div class="menu menu--structural menu--medium meu--alertconver" data-menu="menu" aria-hidden="true"
- data-href="{{ link('account/alerts-popup') }}"
- data-nocache="true"
- data-load-target=".js-alertsMenuBody">
- <div class="menu-content">
- <h3 class="menu-header">{{ phrase('alerts') }}</h3>
- <div class="js-alertsMenuBody">
- <div class="menu-row">{{ phrase('loading...') }}</div>
- </div>
- <div class="menu-footer menu-footer--split">
- <span class="menu-footer-main">
- <a href="{{ link('account/alerts') }}">{{ phrase('show_all...') }}</a>
- </span>
- <span class="menu-footer-opposite">
- <a href="{{ link('account/preferences') }}"><img src="{{ base_url() }}styles/brivium/nickel/extra/pre.png"></a>
- </span>
- </div>
- </div>
- </div>
- </xf:if>
- <xf:else />
- <xf:if is="$xf.options.registrationSetup.enabled">
- <a href="{{ link('register') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--register"
- data-xf-click="overlay" data-follow-redirects="on">
- <span class="p-navgroup-linkText">{{ phrase('register') }}</span>
- </a>
- </xf:if>
- <a href="{{ link('login') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--logIn"
- data-xf-click="overlay" data-follow-redirects="on">
- <span class="p-navgroup-linkText">{{ phrase('log_in') }}</span>
- </a>
- </xf:if>
- </div>
- </div>
- <div class="p-navgroup p-discovery">
- <span class="controlSearch"><img src="{{ base_url() }}styles/brivium/nickel/extra/search.png"></span>
- <xf:if is="$xf.visitor.canSearch()">
- <div class="search-area" aria-hidden="true">
- <form action="{{ link('search/search') }}" method="post"
- class="menu-content"
- data-xf-init="quick-search">
- <!--[XF:search_menu:above_input]-->
- <div class="menu-row search-input">
- <xf:if is="$searchConstraints">
- <div class="inputGroup inputGroup--joined">
- <xf:textbox name="keywords"
- placeholder="{{ phrase('search...') }}"
- aria-label="{{ phrase('search') }}"
- data-menu-autofocus="true" />
- </div>
- <xf:else />
- <xf:textbox name="keywords"
- placeholder="{{ phrase('search...') }}"
- aria-label="{{ phrase('search') }}"
- data-menu-autofocus="true" />
- </xf:if>
- </div>
- <div class="search-option">
- <xf:if is="$searchConstraints">
- <div class="inputGroup inputGroup--joined">
- <xf:select name="constraints"
- class="js-quickSearch-constraint"
- aria-label="{{ phrase('search_within') }}">
- <xf:option value="">{{ phrase('everywhere') }}</xf:option>
- <xf:foreach loop="$searchConstraints" key="$constraintName" value="$constraint">
- <xf:option value="{$constraint|json}">{$constraintName}</xf:option>
- </xf:foreach>
- </xf:select>
- </div>
- </xf:if>
- <!--[XF:search_menu:above_title_only]-->
- <div class="menu-row">
- <xf:checkbox standalone="true"><xf:option name="c[title_only]" label="{{ phrase('search_titles_only') }}" /></xf:checkbox>
- </div>
- <!--[XF:search_menu:above_member]-->
- <div class="menu-row">
- <div class="inputGroup">
- <span class="inputGroup-text" id="ctrl_search_menu_by_member">{{ phrase('by:') }}</span>
- <input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="{{ phrase('member')|for_attr }}" aria-labelledby="ctrl_search_menu_by_member" />
- </div>
- </div>
- <div class="menu-footer">
- <span class="menu-footer-controls">
- <xf:button type="submit" class="button--primary" icon="search" />
- <xf:button href="{{ link('search') }}" rel="nofollow">{{ phrase('advanced_search...') }}</xf:button>
- </span>
- </div>
- </div>
- <xf:csrf />
- </form>
- </div>
- </xf:if>
- </div>
- </div>
- </nav>
- </xf:set>
- <xf:set var="$subNavHtml">
- <xf:if is="$selectedNavChildren is not empty">
- <div class="p-sectionLinks">
- <div class="p-sectionLinks-inner hScroller" data-xf-init="h-scroller">
- <div class="hScroller-scroll">
- <ul class="p-sectionLinks-list">
- <xf:foreach loop="$selectedNavChildren" key="$navId" value="$navEntry" i="$i">
- <li>
- <xf:macro name="nav_entry" arg-navId="{$navId}" arg-nav="{$navEntry}" arg-shortcut="alt+{$i}" />
- </li>
- </xf:foreach>
- </ul>
- </div>
- </div>
- </div>
- <xf:elseif is="{$selectedNavEntry}" />
- <div class="p-sectionLinks p-sectionLinks--empty"></div>
- </xf:if>
- </xf:set>
- <xf:if is="property('publicNavSticky') == 'primary'">
- <div class="p-navSticky p-navSticky--primary" data-xf-init="sticky-header">
- {$navHtml|raw}
- </div>
- <xf:elseif is="property('publicNavSticky') == 'all'" />
- <div class="p-navSticky p-navSticky--all" data-xf-init="sticky-header">
- {$navHtml|raw}
- </div>
- <xf:else />
- {$navHtml|raw}
- </xf:if>
- <header class="p-header" id="header">
- <div class="p-header-inner">
- <div class="p-header-content">
- <div class="p-header-logo p-header-logo--image">
- <a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
- <img src="{{ base_url(property('publicLogoUrl')) }}"
- alt="{$xf.options.boardTitle}"
- {{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} />
- </a>
- </div>
- <xf:ad position="container_header" />
- </div>
- </div>
- </header>
- <!--div class="search--sm show-sm p-discovery"></div-->
- <div class="offCanvasMenu offCanvasMenu--nav js-headerOffCanvasMenu" data-menu="menu" aria-hidden="true" data-ocm-builder="navigation">
- <div class="offCanvasMenu-backdrop" data-menu-close="true"></div>
- <div class="offCanvasMenu-content">
- <div class="offCanvasMenu-header">
- {{ phrase('menu') }}
- <a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="{{ phrase('close')|for_attr }}"></a>
- </div>
- <xf:if is="$xf.visitor.user_id">
- <div class="p-offCanvasAccountLink">
- <div class="offCanvasMenu-linkHolder">
- <a href="{{ link('account') }}" class="offCanvasMenu-link">
- <xf:avatar user="$xf.visitor" size="xxs" href="" />
- {$xf.visitor.username}
- </a>
- </div>
- <hr class="offCanvasMenu-separator" />
- </div>
- <xf:else />
- <div class="p-offCanvasRegisterLink">
- <div class="offCanvasMenu-linkHolder">
- <a href="{{ link('login') }}" class="offCanvasMenu-link" data-xf-click="overlay" data-menu-close="true">
- {{ phrase('log_in') }}
- </a>
- </div>
- <hr class="offCanvasMenu-separator" />
- <xf:if is="$xf.options.registrationSetup.enabled">
- <div class="offCanvasMenu-linkHolder">
- <a href="{{ link('register') }}" class="offCanvasMenu-link" data-xf-click="overlay" data-menu-close="true">
- {{ phrase('register') }}
- </a>
- </div>
- <hr class="offCanvasMenu-separator" />
- </xf:if>
- </div>
- </xf:if>
- <div class="js-offCanvasNavTarget"></div>
- </div>
- </div>
- <xf:ad position="container_breadcrumb_top_above" />
- <div class="brv-breadcrumbs brv-breadcrumbs__top">
- <div class="brv-breadcrumbs-inner">
- <xf:macro name="breadcrumbs"
- arg-breadcrumbs="{$breadcrumbs}"
- arg-navTree="{$navTree}"
- arg-selectedNavEntry="{$selectedNavEntry}" />
- </div>
- </div>
- <xf:ad position="container_breadcrumb_top_below" />
- <div class="p-body">
- <div class="p-body-inner">
- <!--XF:EXTRA_OUTPUT-->
- <xf:if is="$notices.block">
- <xf:macro template="notice_macros" name="notice_list" arg-type="block" arg-notices="{$notices.block}" />
- </xf:if>
- <xf:if is="$notices.scrolling">
- <xf:macro template="notice_macros" name="notice_list" arg-type="scrolling" arg-notices="{$notices.scrolling}" />
- </xf:if>
- <xf:macro template="browser_warning_macros" name="javascript" />
- <xf:macro template="browser_warning_macros" name="browser" />
- <xf:if is="$headerHtml is not empty">
- <div class="p-body-header">
- {$headerHtml|raw}
- </div>
- <xf:elseif contentcheck="true" />
- <div class="p-body-header">
- <xf:contentcheck>
- <xf:if contentcheck="true">
- <div class="p-title {{ $noH1 ? 'p-title--noH1' : '' }}">
- <xf:contentcheck>
- <xf:if is="!$noH1">
- <h1 class="p-title-value">{$h1}</h1>
- </xf:if>
- <xf:if contentcheck="true">
- <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck></div>
- </xf:if>
- </xf:contentcheck>
- </div>
- </xf:if>
- <xf:if is="$description is not empty">
- <div class="p-description">{$description}</div>
- </xf:if>
- </xf:contentcheck>
- </div>
- </xf:if>
- <div class="new_tags_brv"></div>
- <div class="p-body-main {{ $sidebar ? 'p-body-main--withSidebar have--sidebar' : '' }} {{ $sideNav ? 'p-body-main--withSideNav have--sidebar' : '' }}">
- <xf:if is="$sideNav">
- <div class="p-body-sideNav p-have--sidebar">
- <div class="p-body-sideNavTrigger">
- <xf:button class="button--link" data-xf-click="off-canvas" data-menu="#js-SideNavOcm">
- {{ $sideNavTitle ?: phrase('navigation') }}
- </xf:button>
- </div>
- <div class="p-body-sideNavInner" data-ocm-class="offCanvasMenu offCanvasMenu--blocks" id="js-SideNavOcm" data-ocm-builder="sideNav">
- <div data-ocm-class="offCanvasMenu-backdrop" data-menu-close="true"></div>
- <div data-ocm-class="offCanvasMenu-content">
- <div class="p-body-sideNavContent">
- <xf:ad position="container_sidenav_above" />
- <xf:foreach loop="$sideNav" value="$sideNavHtml">
- {$sideNavHtml}
- </xf:foreach>
- <xf:ad position="container_sidenav_below" />
- </div>
- </div>
- </div>
- </div>
- </xf:if>
- <div class="p-body-content">
- <xf:ad position="container_content_above" />
- <div class="p-body-pageContent">{$content|raw}</div>
- <xf:ad position="container_content_below" />
- </div>
- <xf:if is="$sidebar">
- <div class="p-body-sidebar p-have--sidebar">
- <xf:ad position="container_sidebar_above" />
- <xf:foreach loop="$sidebar" value="$sidebarHtml">
- {$sidebarHtml}
- </xf:foreach>
- <xf:ad position="container_sidebar_below" />
- </div>
- </xf:if>
- </div>
- </div>
- </div>
- <xf:ad position="container_breadcrumb_bottom_above" />
- <div class="brv-breadcrumbs brv-breadcrumbs__bottom">
- <div class="brv-breadcrumbs-inner">
- <xf:macro name="breadcrumbs"
- arg-breadcrumbs="{$breadcrumbs}"
- arg-navTree="{$navTree}"
- arg-selectedNavEntry="{$selectedNavEntry}"
- arg-variant="bottom" />
- </div>
- </div>
- <xf:ad position="container_breadcrumb_bottom_below" />
- <footer class="p-footer" id="footer">
- <div class="p-footer-inner">
- <div class="footer-custom">
- <div class="row">
- <div class="footer-column footer-column-1">
- {{ property('FooterColumn1') }}
- </div>
- <div class="footer-column footer-column-2">
- {{ property('FooterColumn2') }}
- </div>
- <div class="footer-column footer-column-3">
- {{ property('FooterColumn3') }}
- </div>
- <div class="footer-column footer-column-4">
- {{ property('FooterColumn4') }}
- </div>
- </div>
- </div>
- </div>
- <div class="footer-bottom">
- <div class="p-footer-inner">
- <xf:if contentcheck="true">
- <div class="p-footer-copyright">
- <xf:contentcheck>
- <xf:copyright />
- {{ phrase('extra_copyright') }}
- </xf:contentcheck>
- </div>
- </xf:if>
- <div class="BRCopyright" style="display: block;">
- <style>@media (max-width:480px){.Responsive #BRCopyright span{display: none;}}</style>
- <div class="content-brcpright">
- <a href="http://brivium.com/xenforo-add-ons" class="item-brcp" title="Brivium XenForo Add-ons">XenForo Add-ons</a>
- <span>&</span>
- <a href="http://brivium.com/xenforo-styles" class="item-brcp" title="Brivium XenForo Styles">XenForo Styles</a>
- <span> ™ © 2012-2017 Brivium LLC.</span>
- </div>
- </div>
- <div class="p-footer-row-opposite">
- <ul class="p-footer-linkList">
- <xf:if contentcheck="true">
- <xf:contentcheck>
- <xf:if is="$xf.visitor.canChangeStyle()">
- <li><a href="{{ link('misc/style') }}" data-xf-click="overlay"
- data-xf-init="tooltip" title="{{ phrase('style_chooser')|for_attr }}" rel="nofollow">
- <i class="fa fa-paint-brush" aria-hidden="true"></i> {$xf.style.title}
- </a></li>
- </xf:if>
- <xf:if is="$xf.visitor.canChangeLanguage()">
- <li><a href="{{ link('misc/language') }}" data-xf-click="overlay"
- data-xf-init="tooltip" title="{{ phrase('language_chooser')|for_attr }}" rel="nofollow">
- <i class="fa fa-globe" aria-hidden="true"></i> {$xf.language.title}</a></li>
- </xf:if>
- </xf:contentcheck>
- </xf:if>
- <xf:if is="$xf.visitor.canUseContactForm()">
- <xf:if is="$xf.contactUrl">
- <li><a href="{$xf.contactUrl}" data-xf-click="{{ ($xf.options.contactUrl.overlay OR $xf.options.contactUrl.type == 'default') ? 'overlay' : '' }}">{{ phrase('contact_us') }}</a></li>
- </xf:if>
- </xf:if>
- <xf:if is="$xf.tosUrl">
- <li><a href="{$xf.tosUrl}">{{ phrase('terms_and_rules') }}</a></li>
- </xf:if>
- <xf:if is="$xf.privacyPolicyUrl">
- <li><a href="{$xf.privacyPolicyUrl}">{{ phrase('privacy_policy') }}</a></li>
- </xf:if>
- <xf:if is="$xf.helpPageCount">
- <li><a href="{{ link('help') }}">{{ phrase('help') }}</a></li>
- </xf:if>
- <xf:if is="$xf.homePageUrl">
- <li><a href="{$xf.homePageUrl}">{{ phrase('home') }}</a></li>
- </xf:if>
- <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>
- </ul>
- </div>
- </div>
- </div>
- <xf:if contentcheck="true">
- <div class="p-footer-inner">
- <div class="p-footer-debug">
- <xf:contentcheck>
- <xf:macro template="debug_macros" name="debug"
- arg-controller="{$controller}"
- arg-action="{$actionMethod}"
- arg-template="{$template}" />
- </xf:contentcheck>
- </div>
- </div>
- </xf:if>
- </footer>
- </div> <!-- closing p-pageWrapper -->
- <div class="u-bottomFixer js-bottomFixTarget">
- <xf:if is="$notices.floating">
- <xf:macro template="notice_macros" name="notice_list" arg-type="floating" arg-notices="{$notices.floating}" />
- </xf:if>
- <xf:if is="$notices.bottom_fixer">
- <xf:macro template="notice_macros" name="notice_list" arg-type="bottom_fixer" arg-notices="{$notices.bottom_fixer}" />
- </xf:if>
- </div>
- <xf:if is="property('scrollJumpButtons')">
- <div class="u-scrollButtons js-scrollButtons" data-trigger-type="{{ property('scrollJumpButtons') }}">
- <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>
- <xf:if is="property('scrollJumpButtons') != 'up'">
- <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>
- </xf:if>
- </div>
- </xf:if>
- <xf:macro template="helper_js_global" name="body" arg-app="public" arg-jsState="{$jsState}" />
- <script src="{{ base_url() }}js/brivium/nickel/function.js"></script>
- {$ldJsonHtml|raw}
- </body>
- </html>
- <xf:macro name="nav_entry" arg-navId="!" arg-nav="!" arg-selected="{{ false }}" arg-shortcut="">
- <div class="p-navEl {{ $selected ? 'is-selected' : '' }}" {{ $nav.children ? 'data-has-children="true"' : '' }}>
- <xf:if is="$nav.href">
- <xf:macro name="nav_link"
- arg-navId="{$navId}"
- arg-nav="{$nav}"
- arg-class="p-navEl-link {{ $nav.children ? 'p-navEl-link--splitMenu' : '' }}"
- arg-shortcut="{{ $nav.children ? false : $shortcut }}" />
- <xf:if is="$nav.children"><a data-xf-key="{$shortcut}"
- data-xf-click="menu"
- data-menu-pos-ref="< .p-navEl"
- data-arrow-pos-ref="< .p-navEl"
- class="p-navEl-splitTrigger"
- role="button"
- tabindex="0"
- aria-label="{{ phrase('toggle_expanded') }}"
- aria-expanded="false"
- aria-haspopup="true"></a></xf:if>
- <xf:elseif is="$nav.children" /><a data-xf-key="{$shortcut}"
- data-xf-click="menu"
- data-menu-pos-ref="< .p-navEl"
- data-arrow-pos-ref="< .p-navEl"
- class="p-navEl-linkHolder"
- role="button"
- tabindex="0"
- aria-expanded="false"
- aria-haspopup="true">
- <xf:macro name="nav_link"
- arg-navId="{$navId}"
- arg-nav="{$nav}"
- arg-class="p-navEl-link p-navEl-link--menuTrigger" />
- </a>
- <xf:else />
- <xf:macro name="nav_link"
- arg-navId="{$navId}"
- arg-nav="{$nav}"
- arg-class="p-navEl-link"
- arg-shortcut="{$shortcut}" />
- </xf:if>
- <xf:if is="$nav.children">
- <div class="menu menu--structural subMenu-level0" data-menu="menu" aria-hidden="true">
- <div class="menu-content">
- <!--<h4 class="menu-header">{$nav.title}</h4>-->
- <xf:foreach loop="$nav.children" key="$childNavId" value="$child">
- <xf:macro name="nav_menu_entry"
- arg-navId="{$childNavId}"
- arg-nav="{$child}" />
- </xf:foreach>
- </div>
- </div>
- </xf:if>
- </div>
- </xf:macro>
- <xf:macro name="nav_link" arg-navId="!" arg-nav="!" arg-class="" arg-titleHtml="" arg-shortcut="{{ false }}">
- <xf:set var="$tag" value="{{ $nav.href ? 'a' : 'span' }}" />
- <{$tag} {{ $nav.href ? 'href="' . $nav.href . '"' : '' }}
- class="{{ trim($class) }} {$nav.attributes.class}"
- {{ attributes($nav.attributes, ['class']) }}
- {{ $shortcut !== false ? 'data-xf-key="' . $shortcut . '"' : '' }}
- 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}>
- </xf:macro>
- <xf:macro name="nav_menu_entry" arg-navId="!" arg-nav="!" arg-depth="0">
- <xf:macro name="nav_link"
- arg-navId="{$navId}"
- arg-nav="{$nav}"
- arg-class="menu-linkRow u-indentDepth{$depth} js-offCanvasCopy" />
- <xf:if is="$nav.children">
- <xf:foreach loop="$nav.children" key="$childNavId" value="$child">
- <xf:macro name="nav_menu_entry"
- arg-navId="{$childNavId}"
- arg-nav="{$child}"
- arg-depth="{{ $depth + 1 }}" />
- </xf:foreach>
- <xf:if is="$depth == 0">
- <hr class="menu-separator" />
- </xf:if>
- </xf:if>
- </xf:macro>
- <xf:macro name="breadcrumbs" arg-breadcrumbs="!" arg-navTree="!" arg-selectedNavEntry="{{ null }}" arg-variant="">
- <xf:if contentcheck="true">
- <ul class="p-breadcrumbs {{ $variant ? 'p-breadcrumbs--' . $variant : '' }}"
- itemscope itemtype="https://schema.org/BreadcrumbList">
- <xf:contentcheck>
- <xf:set var="$position" value="{{ 0 }}" />
- <xf:set var="$rootBreadcrumb" value="{$navTree.{$xf.options.rootBreadcrumb}}" />
- <xf:if is="$rootBreadcrumb AND $rootBreadcrumb.href != $xf.uri">
- <xf:set var="$position" value="{{ $position + 1 }}" />
- <xf:macro name="crumb"
- arg-position="{$position}"
- arg-href="{$rootBreadcrumb.href}"
- arg-value="{$rootBreadcrumb.title}" />
- </xf:if>
- <xf:if is="$selectedNavEntry && $selectedNavEntry.href && $selectedNavEntry.href != $xf.uri && $selectedNavEntry.href != $rootBreadcrumb.href">
- <xf:set var="$position" value="{{ $position + 1 }}" />
- <xf:macro name="crumb"
- arg-position="{$position}"
- arg-href="{$selectedNavEntry.href}"
- arg-value="{$selectedNavEntry.title}" />
- </xf:if>
- <xf:foreach loop="$breadcrumbs" value="$breadcrumb" if="$breadcrumb.href != $xf.uri">
- <xf:set var="$position" value="{{ $position + 1 }}" />
- <xf:macro name="crumb"
- arg-position="{$position}"
- arg-href="{$breadcrumb.href}"
- arg-value="{$breadcrumb.value}" />
- </xf:foreach>
- </xf:contentcheck>
- </ul>
- </xf:if>
- </xf:macro>
- <xf:macro name="crumb" arg-href="!" arg-value="!" arg-position="{{ 0 }}">
- <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
- <a href="{$href}" itemprop="item">
- <span itemprop="name">{$value}</span>
- </a>
- <xf:if is="$position"><meta itemprop="position" content="{$position}" /></xf:if>
- </li>
- </xf:macro>]]></template>
- <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">
- <xf:macro name="visitor_panel_row" />
- </div>
- <xf:macro name="visitor_panel_row">
- <div class="contentRow">
- <div class="contentRow-figure">
- <xf:avatar user="{$xf.visitor}" size="m" href="" notooltip="true" update="{{ link('account/avatar', $xf.visitor) }}" />
- </div>
- <div class="contentRow-main">
- <h3 class="contentRow-header"><xf:username user="$xf.visitor" rich="true" notooltip="true" /></h3>
- <div class="contentRow-lesser">
- <xf:usertitle user="$xf.visitor" />
- </div>
- <div class="contentRow-minor">
- <!--[XF:stats_pairs:above_messages]-->
- <dl class="pairs pairs--justified fauxBlockLink">
- <dt>{{ phrase('messages') }}</dt>
- <dd>
- <a href="{{ link('search/member', null, {'user_id': $xf.visitor.user_id}) }}" class="fauxBlockLink-linkRow u-concealed">
- {$xf.visitor.message_count|number}
- </a>
- </dd>
- </dl>
- <!--[XF:stats_pairs:above_likes]-->
- <dl class="pairs pairs--justified fauxBlockLink">
- <dt>{{ phrase('likes') }}</dt>
- <dd>
- <a href="{{ link('account/likes') }}" class="fauxBlockLink-linkRow u-concealed">
- {$xf.visitor.like_count|number}
- </a>
- </dd>
- </dl>
- <!--[XF:stats_pairs:above_points]-->
- <xf:if is="$xf.options.enableTrophies">
- <dl class="pairs pairs--justified fauxBlockLink">
- <dt>{{ phrase('trophy_points') }}</dt>
- <dd>
- <a href="{{ link('members/trophies', $xf.visitor) }}" data-xf-click="overlay" class="fauxBlockLink-linkRow u-concealed">
- {$xf.visitor.trophy_points|number}
- </a>
- </dd>
- </dl>
- </xf:if>
- </div>
- </div>
- </div>
- </xf:macro>
- <!--[XF:menu_separator:below_visitor_panel]-->
- <hr class="menu-separator menu-separator--hard" />
- <ul class="listPlain listColumns listColumns--narrow listColumns--together">
- <!--[XF:content_links:top]-->
- <xf:if is="$xf.options.enableNewsFeed">
- <li><a href="{{ link('whats-new/news-feed') }}" class="menu-linkRow">{{ phrase('news_feed') }}</a></li>
- </xf:if>
- <li><a href="{{ link('search/member', null, {'user_id': $xf.visitor.user_id}) }}" class="menu-linkRow">{{ phrase('your_content') }}</a></li>
- <li><a href="{{ link('account/likes') }}" class="menu-linkRow">{{ phrase('likes_received') }}</a></li>
- <!--[XF:content_links:bottom]-->
- </ul>
- <!--[XF:menu_separator:below_content_links]-->
- <hr class="menu-separator" />
- <ul class="listPlain listColumns listColumns--narrow listColumns--together">
- <!--[XF:account_links:top]-->
- <li><a href="{{ link('account/account-details') }}" class="menu-linkRow">{{ phrase('account_details') }}</a></li>
- <li><a href="{{ link('account/security') }}" class="menu-linkRow">{{ phrase('password_and_security') }}</a></li>
- <li><a href="{{ link('account/privacy') }}" class="menu-linkRow">{{ phrase('privacy') }}</a></li>
- <li><a href="{{ link('account/preferences') }}" class="menu-linkRow">{{ phrase('preferences') }}</a></li>
- <xf:if is="$xf.visitor.canEditSignature()">
- <li><a href="{{ link('account/signature') }}" class="menu-linkRow">{{ phrase('signature') }}</a></li>
- </xf:if>
- <xf:if is="$xf.app.userUpgradeCount">
- <li><a href="{{ link('account/upgrades') }}" class="menu-linkRow">{{ phrase('account_upgrades') }}</a></li>
- </xf:if>
- <xf:if is="$xf.app.connectedAccountCount">
- <li><a href="{{ link('account/connected-accounts') }}" class="menu-linkRow">{{ phrase('connected_accounts') }}</a></li>
- </xf:if>
- <li><a href="{{ link('account/following') }}" class="menu-linkRow">{{ phrase('following') }}</a></li>
- <li><a href="{{ link('account/ignored') }}" class="menu-linkRow">{{ phrase('ignoring') }}</a></li>
- <!--[XF:account_links:bottom]-->
- </ul>
- <!--[XF:menu_separator:below_account_links]-->
- <hr class="menu-separator" />
- <a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="menu-linkRow">{{ phrase('log_out') }}</a>
- <hr class="menu-separator" />
- <xf:if is="$xf.visitor.canPostOnProfile()">
- <xf:form action="{{ link('members/post', $xf.visitor) }}" ajax="true"
- data-redirect="off"
- data-reset-complete="true"
- data-no-auto-focus="true"
- class="menu-footer">
- <span class="u-srOnly" id="ctrl_message">{{ phrase('update_your_status:') }}</span>
- <xf:textarea name="message" rows="1" autosize="true"
- maxlength="{$xf.options.profilePostMaxLength}"
- placeholder="{{ phrase('update_your_status...') }}"
- data-xf-init="focus-trigger user-mentioner" data-display="< :next" aria-labelledby="ctrl_message" />
- <div class="u-hidden u-hidden--transition u-inputSpacer">
- <xf:button type="submit" class="button--primary">{{ phrase('post_verb') }}</xf:button>
- </div>
- </xf:form>
- </xf:if>]]></template>
- <template title="account_visitor_sidebar" type="public" addon_id="" version_id="0" version_string=""><![CDATA[<div class="menu-row menu-row--highlighted">
- <xf:macro name="visitor_panel_row_sidebar" />
- </div>
- <xf:macro name="visitor_panel_row_sidebar">
- <div class="content-inner">
- <div class="contentRow-figure">
- <div class="member-avarta">
- <xf:avatar user="{$xf.visitor}" size="m" href="" notooltip="true" update="{{ link('account/avatar', $xf.visitor) }}" />
- </div>
- </div>
- <div class="contentRow-main">
- <div class="member-role">
- <h3 class="contentRow-header"><xf:username user="$xf.visitor" rich="true" notooltip="true" /></h3>
- <div class="contentRow-lesser">
- <xf:usertitle user="$xf.visitor" />
- </div>
- </div>
- <div class="contentRow-minor">
- <!--[XF:stats_pairs:above_messages]-->
- <dl class="pairs pairs--justified fauxBlockLink">
- <dt>{{ phrase('messages') }}</dt>
- <dd>
- <a href="{{ link('search/member', null, {'user_id': $xf.visitor.user_id}) }}" class="fauxBlockLink-linkRow u-concealed">
- {$xf.visitor.message_count|number}
- </a>
- </dd>
- </dl>
- <!--[XF:stats_pairs:above_likes]-->
- <dl class="pairs pairs--justified fauxBlockLink">
- <dt>{{ phrase('likes') }}</dt>
- <dd>
- <a href="{{ link('account/likes') }}" class="fauxBlockLink-linkRow u-concealed">
- {$xf.visitor.like_count|number}
- </a>
- </dd>
- </dl>
- <!--[XF:stats_pairs:above_points]-->
- <xf:if is="$xf.options.enableTrophies">
- <dl class="pairs pairs--justified fauxBlockLink">
- <dt>{{ phrase('trophy_points') }}</dt>
- <dd>
- <a href="{{ link('members/trophies', $xf.visitor) }}" data-xf-click="overlay" class="fauxBlockLink-linkRow u-concealed">
- {$xf.visitor.trophy_points|number}
- </a>
- </dd>
- </dl>
- </xf:if>
- </div>
- </div>
- </div>
- </xf:macro>]]></template>
- <template title="app_body.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[// ######################################### MAIN BODY #################################
- {{ include('mixins.less') }}
- .p-body
- {
- display: flex;
- align-items: stretch;
- flex-grow: 1;
- min-height: 1px; // IE11 workaround - related to #139187
- }
- .p-body-inner
- {
- display: flex;
- flex-direction: column;
- width: 100%;
- .m-pageWidth();
- .m-clearFix();
- padding-top: 15px;
- padding-left: 15px;
- padding-right: 15px;
- padding-bottom: @xf-elementSpacer;
- }
- .p-body-header
- {
- margin-bottom: ((@xf-elementSpacer) / 2);
- }
- .p-body-main
- {
- display: table;
- table-layout: fixed;
- width: 100%;
- margin-bottom: auto;
- min-height: 1px; // IE11 workaround - related to #139187
- }
- .p-body-content
- {
- display: table-cell;
- vertical-align: top;
- .p-body-main--withSideNav &
- {
- padding-left: @xf-sidebarSpacer;
- }
- .p-body-main--withSidebar &
- {
- padding-right: @xf-sidebarSpacer;
- }
- }
- .p-body-pageContent
- {
- > .tabs--standalone:first-child
- {
- margin-bottom: (@xf-elementSpacer) / 2;
- }
- }
- .p-body-sideNav
- {
- display: table-cell;
- vertical-align: top;
- width: @xf-sidebarWidth;
- }
- .p-body-sideNavTrigger
- {
- display: none;
- }
- .p-body-sidebar
- {
- display: table-cell;
- vertical-align: top;
- width: @xf-sidebarWidth;
- }
- .p-body-content,
- .p-body-pageContent,
- .p-body-sideNav,
- .p-body-sideNavContent,
- .p-body-sidebar
- {
- > :first-child
- {
- margin-top: 0;
- }
- > :last-child
- {
- margin-bottom: 0;
- }
- }
- {{ include('brv_body.less') }}
- @media (max-width: @xf-responsiveWide)
- {
- .p-body-main,
- .p-body-content
- {
- display: block;
- }
- .p-body-sideNav
- {
- display: block;
- width: auto;
- }
- .p-body-sideNavTrigger
- {
- margin-bottom: ((@xf-elementSpacer) / 2);
- text-align: center;
- .button:before
- {
- .m-faBase();
- font-size: 120%;
- vertical-align: middle;
- display: inline-block;
- margin: -4px 6px -4px 0;
- .m-faContent(@fa-var-bars, .86em);
- }
- .has-js &
- {
- display: block;
- }
- }
- .has-js .p-body-sideNavInner:not(.offCanvasMenu)
- {
- display: none;
- .m-transitionFadeDown();
- }
- .has-no-js .p-body-sideNavInner
- {
- margin-bottom: @xf-elementSpacer;
- }
- .p-body-sidebar
- {
- display: flex;
- flex-wrap: wrap;
- align-items: stretch;
- margin: (@xf-elementSpacer) -((@xf-pageEdgeSpacer) / 2) -(@xf-elementSpacer);
- width: auto;
- > *
- {
- margin: 0 ((@xf-pageEdgeSpacer) / 2) @xf-elementSpacer;
- min-width: @xf-sidebarWidth;
- flex: 1 1 @xf-sidebarWidth;
- &:last-child
- {
- margin-bottom: @xf-elementSpacer;
- }
- }
- // add an invisible block to ensure that the last row has the correct widths
- &:after
- {
- display: block;
- content: '';
- height: 0;
- margin: 0 ((@xf-pageEdgeSpacer) / 2);
- min-width: @xf-sidebarWidth;
- flex: 1 1 @xf-sidebarWidth;
- }
- .block-container
- {
- display: flex;
- flex-direction: column;
- height: 100%;
- .block-footer
- {
- margin-top: auto;
- }
- }
- }
- .p-body-main--withSideNav,
- .p-body-main--withSidebar
- {
- .p-body-content { padding: 0; }
- }
- }
- @media (max-width: @xf-responsiveEdgeSpacerRemoval)
- {
- .p-body-sideNavContent
- {
- // this is likely to contain blocks that overflow the container so account for that
- margin: 0 -@xf-pageEdgeSpacer;
- padding: 0 @xf-pageEdgeSpacer;
- .offCanvasMenu &
- {
- margin: 0;
- padding: 0;
- }
- }
- .p-body-sidebar
- {
- display: block;
- margin-left: 0;
- margin-right: 0;
- > *
- {
- margin-left: 0;
- margin-right: 0;
- min-width: 0;
- }
- }
- }]]></template>
- <template title="app_breadcrumbs.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[{{ include('mixins.less') }}
- .p-breadcrumbs
- {
- .m-listPlain();
- .m-clearFix();
- line-height: 1.5;
- &.p-breadcrumbs--bottom
- {
- margin-bottom: 0;
- }
- > li
- {
- float: left;
- margin-right: .5em;
- font-size: @xf-fontSizeSmall;
- a
- {
- display: inline-block;
- vertical-align: bottom;
- max-width: 300px;
- .m-overflowEllipsis();
- }
- &:after,
- &:before
- {
- .m-faBase();
- font-size: 90%;
- color: @xf-textColorMuted;
- }
- &:last-child
- {
- margin-right: 0;
- a
- {
- font-weight: @xf-fontWeightHeavy;
- }
- }
- }
- }
- {{ include('brv_breadcrumbs.less') }}
- @media (max-width: @xf-responsiveMedium)
- {
- .p-breadcrumbs > li a
- {
- max-width: 200px;
- }
- }
- @media (max-width: @xf-responsiveNarrow)
- {
- .p-breadcrumbs
- {
- > li
- {
- display: none;
- font-size: @xf-fontSizeSmallest;
- &:last-child
- {
- display: block;
- }
- a
- {
- max-width: 90vw;
- }
- &:after
- {
- display: none;
- }
- }
- }
- }]]></template>
- <template title="app_footer.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[{{ include('mixins.less') }}
- .p-footer
- {
- .xf-publicFooter();
- a
- {
- .xf-publicFooterLink();
- }
- }
- .p-footer-inner
- {
- .m-pageWidth();
- padding-top: @xf-paddingMedium;
- padding-bottom: @xf-paddingLarge;
- }
- .p-footer-row
- {
- .m-clearFix();
- margin-bottom: -@xf-paddingLarge;
- }
- .p-footer-row-main
- {
- float: left;
- margin-bottom: @xf-paddingLarge;
- }
- .p-footer-row-opposite
- {
- float: right;
- margin-bottom: @xf-paddingLarge;
- }
- .p-footer-linkList
- {
- .m-listPlain();
- .m-clearFix();
- > li
- {
- float: left;
- margin-right: .5em;
- &:last-child
- {
- margin-right: 0;
- }
- a
- {
- padding: 2px 4px;
- border-radius: @xf-borderRadiusSmall;
- &:hover
- {
- text-decoration: none;
- background-color: fade(@xf-publicFooterLink--color, 10%);
- }
- }
- }
- }
- .p-footer-rssLink
- {
- > span
- {
- position: relative;
- top: -1px;
- display: inline-block;
- width: 1.44em;
- height: 1.44em;
- line-height: 1.44em;
- text-align: center;
- font-size: .8em;
- background-color: #FFA500;
- border-radius: 2px;
- }
- .fa-rss
- {
- color: white;
- }
- }
- .p-footer-copyright
- {
- margin-top: @xf-elementSpacer;
- text-align: center;
- font-size: @xf-fontSizeSmallest;
- }
- .p-footer-debug
- {
- margin-top: @xf-paddingLarge;
- text-align: right;
- font-size: @xf-fontSizeSmallest;
- .pairs > dt { color: inherit; }
- }
- {{ include('brv_footer.less') }}
- @media (max-width: @xf-responsiveMedium)
- {
- #footer{
- .footer-custom{
- .footer-column{
- &.footer-column-1{
- width: 100%;
- }
- &.footer-column-2{
- width: 30%;
- }
- &.footer-column-3{
- width: 30%;
- }
- &.footer-column-4{
- width: 40%;
- }
- }
- }
- }
- .p-footer-row-main,
- .p-footer-row-opposite
- {
- float: none;
- }
- .p-footer-copyright
- {
- text-align: left;
- padding: 0 4px; // aligns with other links
- }
- }]]></template>
- <template title="app_header.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[{{ include('mixins.less') }}
- // MAIN HEADER ROW
- .p-header
- {
- .xf-publicHeader();
- a
- {
- color: inherit;
- }
- }
- .p-header-inner
- {
- .m-pageWidth();
- }
- .p-header-content
- {
- padding: @xf-paddingMedium 0;
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- align-items: center;
- max-width: 100%;
- .has-no-flexbox &
- {
- display: table;
- width: 100%;
- }
- }
- .p-header-logo
- {
- .has-no-flexbox &
- {
- display: table-cell;
- }
- vertical-align: middle;
- margin-right: auto;
- a
- {
- color: inherit;
- text-decoration: none;
- }
- &.p-header-logo--text
- {
- font-size: @xf-fontSizeLargest;
- }
- &.p-header-logo--image
- {
- img
- {
- vertical-align: bottom;
- max-width: 100%;
- max-height: 200px;
- }
- }
- }
- {{ include('brv_header.less') }}
- @media (max-width: @xf-publicNavCollapseWidth)
- {
- }
- @media (max-width: @xf-responsiveNarrow)
- {
- .p-header-logo
- {
- max-width: 100px;
- &.p-header-logo--text
- {
- font-size: @xf-fontSizeLarge;
- font-weight: @xf-fontWeightNormal;
- .m-overflowEllipsis();
- }
- }
- }]]></template>
- <template title="app_nav.less" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[{{ include('mixins.less') }}
- // navEl / Navigation Elements for header navigation
- .m-navElHPadding(@padding)
- {
- .p-navEl-link
- {
- padding: 0 @padding;
- &.p-navEl-link--splitMenu
- {
- padding-right: ((@padding) / 4);
- }
- &.p-navEl-link--menuTrigger
- {
- padding-right: ((@padding) / 3); // equal to splitTrigger padding-right
- &:after
- {
- padding-left: ((@padding) / 4 + (@padding) / 3); // equal to splitMenu padding-right + splitTrigger padding-left
- }
- }
- }
- .p-navEl-splitTrigger
- {
- padding: 0 ((@padding) / 3);
- }
- }
- .p-navEl
- {
- .m-clearFix();
- }
- .p-navEl-linkHolder
- {
- float: left;
- }
- .p-navEl-link
- {
- float: left;
- .m-transition(all, @_nav-elTransitionSpeed);
- .m-transitionProperty(opacity, background;);
- &.p-navEl-link--menuTrigger
- {
- cursor: pointer;
- &:after
- {
- .m-faBase();
- .m-faContent(@fa-var-caret-down, .58em);
- opacity: .5;
- .m-transition(opacity, @_nav-elTransitionSpeed);
- unicode-bidi: isolate; // try to keep this in the right position in RTL with LTR text
- }
- &:hover:after
- {
- opacity: 1;
- }
- }
- }
- .p-navEl-splitTrigger
- {
- float: left;
- opacity: .5;
- cursor: pointer;
- text-decoration: none;
- .m-transition(all, @_nav-elTransitionSpeed);
- &:after
- {
- .m-faBase();
- .m-faContent(@fa-var-caret-down, .58em);
- }
- &:hover
- {
- opacity: 1;
- text-decoration: none;
- }
- }
- // HEADER NAV ROW
- .p-nav
- {
- .xf-publicNav();
- a
- {
- color: inherit;
- }
- .p-navSticky.is-sticky &
- {
- .p-nav-list .p-navEl.is-selected,
- .p-account
- {
- border-radius: 0;
- }
- }
- }
- .p-nav-inner
- {
- .m-pageWidth();
- .m-clearFix();
- display: flex;
- align-items: flex-end;
- padding-left: 15px;
- padding-right: 15px;
- }
- .p-nav .p-nav-menuTrigger
- {
- display: none;
- vertical-align: middle;
- align-self: center;
- margin-left: max(0px, @xf-pageEdgeSpacer - 6px);
- margin-right: 5px;
- padding: @xf-publicNavPaddingV 8px;
- &:hover
- {
- text-decoration: none;
- }
- i:after
- {
- .m-faBase();
- font-size: @xf-fontSizeLargest;
- .m-faContent(@fa-var-navicon, .86em);
- vertical-align: bottom;
- }
- .p-nav-menuText
- {
- display: none;
- }
- }
- .p-nav-smallLogo
- {
- display: none;
- max-width: 100px;
- align-self: center;
- img
- {
- display: block;
- max-height: @header-navHeight;
- }
- }
- .p-nav-scroller
- {
- margin-right: auto;
- max-width: 100%;
- .has-no-flexbox &
- {
- float: left;
- }
- .hScroller-scroll:not(.is-calculated)
- {
- // IE11 seems to want to flash a vertical scrollbar without this here
- }
- .hScroller-action
- {
- .m-hScrollerActionColorVariation(
- xf-default(@xf-publicNav--background-color, transparent),
- @xf-publicNav--color,
- xf-intensify(@xf-publicNav--color, 10%)
- );
- }
- }
- .p-nav-list
- {
- .m-listPlain();
- .m-clearFix();
- font-size: 0;
- // this applies padding that will be contained within the scroller.
- // it needs font-size 0 to not create extra space though
- &:before,
- &:after
- {
- display: inline-block;
- width: @xf-pageEdgeSpacer;
- content: '';
- }
- > li
- {
- display: inline-block;
- vertical-align: bottom;
- font-size: @xf-fontSizeNormal;
- &:first-child
- {
- margin-left: 0;
- }
- }
- .m-navElHPadding(@xf-publicNavPaddingH);
- .p-navEl
- {
- .xf-publicNavTab();
- .m-transition(all, @_nav-elTransitionSpeed);
- &.is-selected
- {
- .xf-publicNavSelected();
- .p-navEl-link
- {
- padding-right: @xf-publicNavPaddingH; // since the split trigger is hidden
- &:hover
- {
- background: none;
- text-decoration: none;
- }
- }
- .p-navEl-splitTrigger
- {
- display: none;
- }
- }
- &:not(.is-selected):not(.is-menuOpen)
- {
- &:hover,
- .p-navEl-link:hover,
- .p-navEl-splitTrigger:hover
- {
- .xf-publicNavTabHover();
- }
- }
- &.is-menuOpen
- {
- .xf-publicNavTabMenuOpen();
- border-top-left-radius: xf-default(@xf-publicNavSelected--border-top-left-radius, 0);
- border-top-right-radius: xf-default(@xf-publicNavSelected--border-top-right-radius, 0);
- .m-dropShadow(0, 5px, 10px, 0, .35);
- a
- {
- text-decoration: none;
- opacity: 1;
- }
- }
- }
- .p-navEl-link,
- .p-navEl-splitTrigger
- {
- padding-top: @xf-publicNavPaddingV;
- padding-bottom: @xf-publicNavPaddingV;
- }
- }
- .p-navSticky--primary.is-sticky
- {
- .p-nav-list
- {
- .p-navEl-link.p-navEl-link--splitMenu
- {
- padding-right: ((@xf-publicNavPaddingH) / 4);
- }
- .p-navEl.is-selected .p-navEl-splitTrigger
- {
- display: inline;
- position: relative;
- &:before
- {
- content: '';
- position: absolute;
- left: 0;
- top: 5px;
- bottom: 5px;
- width: 0;
- border-left: @xf-borderSize solid fade(xf-default(@xf-publicNavSelected--color, transparent), 35%);
- }
- }
- }
- }
- @media (max-width: @xf-publicNavCollapseWidth)
- {
- .has-js
- {
- .p-nav-inner
- {
- min-height: 45px;
- }
- .p-nav .p-nav-menuTrigger
- {
- display: inline-block;
- }
- .p-nav-scroller
- {
- display: none;
- }
- }
- }
- // ACCOUNT/VISITOR/SEARCH SECTION
- .p-nav-opposite
- {
- margin-left: auto;
- margin-right: @xf-pageEdgeSpacer;
- text-align: right;
- flex-shrink: 0;
- .has-no-flexbox &
- {
- float: right;
- }
- }
- .p-navgroup
- {
- float: left;
- .m-clearFix();
- background: @xf-publicHeaderAdjustColor;
- border-top-left-radius: @xf-borderRadiusMedium;
- border-top-right-radius: @xf-borderRadiusMedium;
- &.p-discovery
- {
- margin-left: .5em;
- &.p-discovery--noSearch
- {
- margin-left: 0;
- }
- }
- }
- .p-navgroup-link
- {
- float: left;
- padding: @xf-publicNavPaddingV @_navAccount-hPadding;
- border-left: 1px solid @xf-publicHeaderAdjustColor;
- &:first-of-type
- {
- border-top-left-radius: @xf-borderRadiusMedium;
- border-left: none;
- }
- &:last-of-type
- {
- border-top-right-radius: @xf-borderRadiusMedium;
- }
- &:hover
- {
- text-decoration: none;
- background: xf-intensify(@xf-publicHeaderAdjustColor, 5%);
- }
- &.p-navgroup-link--user
- {
- .m-overflowEllipsis();
- max-width: 150px;
- .avatar
- {
- .m-avatarSize((@xf-fontSizeNormal) * (@xf-lineHeightDefault));
- }
- }
- &.badgeContainer
- {
- opacity: .6;
- position: relative;
- &:after
- {
- position: absolute;
- right: (@_navAccount-hPadding - 6px);
- top: (@xf-publicNavPaddingV );
- padding: 1px 3px;
- margin: 0;
- font-size: 10px;
- line-height: 10px;
- border-radius: 100%;
- }
- &:hover,
- &.badgeContainer--highlighted
- {
- opacity: 1;
- }
- }
- &.is-menuOpen
- {
- .xf-publicNavTabMenuOpen();
- .m-dropShadow(0, 5px, 10px, 0, .35);
- opacity: 1;
- }
- &.p-navgroup-link--iconic
- {
- i:after
- {
- .m-faBase();
- display: inline-block;
- min-width: 1em;
- }
- }
- &.p-navgroup-link--conversations i:after
- {
- .m-faContent(@fa-var-envelope, 1em);
- }
- &.p-navgroup-link--alerts i:after
- {
- .m-faContent(@fa-var-bell, 1em);
- }
- &.p-navgroup-link--whatsnew i:after
- {
- .m-faContent(@fa-var-bolt, .5em);
- }
- &.p-navgroup-link--search i:after
- {
- .m-faContent(@fa-var-search, .93em);
- }
- }
- .p-navgroup-link--whatsnew
- {
- display: none;
- .p-navgroup-link:first-of-type& + .p-navgroup-link
- {
- border-top-left-radius: @xf-borderRadiusMedium;
- border-left: none;
- }
- }
- {{ include('brv_nav.less') }}
- @media (max-width: @xf-responsiveWide)
- {
- .p-navgroup-link
- {
- &.p-navgroup-link--iconic .p-navgroup-linkText,
- &.p-navgroup-link--textual i
- {
- display: none;
- }
- &.p-navgroup-link--textual
- {
- .m-overflowEllipsis();
- max-width: 110px;
- }
- &.p-navgroup-link--iconic i:after
- {
- text-align: center;
- }
- }
- }
- @media (max-width: @xf-publicNavCollapseWidth)
- {
- .p-navgroup-link--whatsnew
- {
- display: block;
- }
- .has-js
- {
- .p-nav-opposite
- {
- align-self: center;
- //margin-right: max(0px, @xf-pageEdgeSpacer - @_navAccount-hPadding);
- .p-navgroup
- {
- background: none;
- margin-left: 0;
- }
- .p-navgroup-link
- {
- border: none;
- border-radius: @xf-borderRadiusMedium;
- &.is-menuOpen
- {
- .m-borderBottomRadius(0);
- }
- }
- }
- }
- }
- @media (max-width: @xf-responsiveNarrow)
- {
- .p-navgroup-link
- {
- .p-navgroup--member &
- {
- margin-left: 5px;
- &:first-of-type
- {
- margin-left: 0;
- }
- }
- }
- }
- @media (max-width: 374px)
- {
- .p-navgroup-link.p-navgroup-link--register
- {
- display: none;
- }
- }]]></template>
- <template title="app_sectionlinks.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// SUB SECTION LINKS
- .p-sectionLinks
- {
- .xf-publicSubNav();
- .hScroller-action
- {
- .m-hScrollerActionColorVariation(
- xf-default(@xf-publicSubNav--background-color, transparent),
- @xf-publicSubNav--color,
- @xf-publicSubNavElHover--color
- );
- }
- &.p-sectionLinks--empty
- {
- height: 10px;
- }
- }
- .p-sectionLinks-inner
- {
- .m-clearFix();
- .m-pageWidth();
- padding-left: max(0px, @xf-pageEdgeSpacer - @xf-publicSubNavPaddingH);
- padding-right: max(0px, @xf-pageEdgeSpacer - @xf-publicSubNavPaddingH);
- }
- .p-sectionLinks-list
- {
- .m-listPlain();
- font-size: 0;
- a
- {
- color: inherit;
- }
- > li
- {
- display: inline-block;
- }
- .m-navElHPadding(@xf-publicSubNavPaddingH);
- .p-navEl
- {
- font-size: @xf-publicSubNav--font-size;
- &:hover
- {
- .xf-publicSubNavElHover();
- a
- {
- text-decoration: @xf-publicSubNavElHover--text-decoration;
- }
- }
- &.is-menuOpen
- {
- .xf-publicSubNavElMenuOpen();
- .m-borderBottomRadius(0);
- .m-dropShadow(0, 5px, 10px, 0, .35);
- }
- }
- .p-navEl-link,
- .p-navEl-splitTrigger
- {
- padding-top: 11px;
- padding-bottom: 11px;
- }
- }
- @media (max-width: @xf-publicNavCollapseWidth)
- {
- .has-js .p-sectionLinks
- {
- display: none;
- }
- }]]></template>
- <template title="app_stickynav.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[{{ include('mixins.less') }}
- .p-navSticky
- {
- z-index: @zIndex-1;
- &.is-sticky
- {
- z-index: @zIndex-4;
- .m-dropShadow(0, 0, 8px, 3px, 0.3);
- }
- }
- @supports (position: sticky) or (position: -webkit-sticky)
- {
- .p-navSticky
- {
- top: 0;
- &.is-sticky-broken,
- &.is-sticky-disabled
- {
- position: static;
- top: auto;
- }
- }
- }
- {{ include('brv_stickynav.less') }}]]></template>
- <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="!">
- <li class="attachment">
- <xf:if is="$attachment.has_thumbnail">
- <xf:macro template="lightbox_macros" name="setup" arg-canViewAttachments="{$canView}" />
- <div class="attachment-icon attachment-icon--img">
- <a href="{{ link('attachments', $attachment) }}" target="_blank" class="{{ $canView ? 'js-lbImage' : '' }}">
- <img src="{$attachment.thumbnail_url}" alt="{$attachment.filename}" />
- </a>
- </div>
- <xf:else />
- <div class="attachment-icon" data-extension="{$attachment.extension}">
- <a href="{{ link('attachments', $attachment) }}" target="_blank"><i aria-hidden="true"></i></a>
- </div>
- </xf:if>
- <div class="attachment-name">
- <a href="{{ link('attachments', $attachment) }}" target="_blank" title="{$attachment.filename}">{$attachment.filename}</a>
- </div>
- <div class="attachment-details">
- <dl class="pairs pairs--justified attachment-details-size">
- <dt>{{ phrase('File size') }}</dt>
- <dd>{$attachment.file_size|file_size}</dd>
- </dl>
- <dl class="pairs pairs--justified attachment-details-views">
- <dt>{{ phrase('views') }}</dt>
- <dd>{$attachment.view_count|number}</dd>
- </dl>
- </div>
- </li>
- </xf:macro>]]></template>
- <template title="bb_code.less" type="public" addon_id="XF" version_id="2000670" version_string="2.0.6"><![CDATA[@_bbCodeBlock-spacing: .75em;
- @_bbCodeBlock-paddingV: @xf-paddingMedium;
- @_bbCodeBlock-paddingH: @xf-paddingLarge;
- @_bbCodeBlock-expandTriggerHeight: (@xf-bbCodeBlockExpandHeight) / 2;
- .bbCodeBlock
- {
- margin: @_bbCodeBlock-spacing 0;
- .xf-bbCodeBlock();
- &.bbCodeBlock--quote
- {
- .bbCodeBlock-content
- {
- font-size: @xf-fontSizeSmall;
- }
- }
- }
- .bbCodeBlock-title
- {
- padding: @_bbCodeBlock-paddingV @_bbCodeBlock-paddingH;
- .xf-bbCodeBlockTitle();
- .m-clearFix();
- }
- a.bbCodeBlock-sourceJump
- {
- color: inherit;
- text-decoration: none;
- &:hover
- {
- text-decoration: underline;
- }
- &:after
- {
- .m-faBase();
- .m-faContent(@fa-var-arrow-circle-up, .86em);
- display: inline-block;
- margin-left: 5px;
- }
- }
- .bbCodeBlock-content
- {
- position: relative;
- padding: @_bbCodeBlock-paddingV @_bbCodeBlock-paddingH;
- }
- .bbCodeBlock-expandLink
- {
- display: none;
- position: absolute;
- top: (@xf-bbCodeBlockExpandHeight) + (@_bbCodeBlock-paddingV * 2) - (@_bbCodeBlock-expandTriggerHeight);
- left: 0;
- right: 0;
- height: @_bbCodeBlock-expandTriggerHeight;
- cursor: pointer;
- .m-gradient(
- fade(@xf-bbCodeBlock--background-color, 0%),
- xf-default(@xf-bbCodeBlock--background-color, transparent),
- transparent,
- 0%,
- 80%
- );
- a
- {
- position: absolute;
- bottom: @_bbCodeBlock-paddingV;
- left: 0;
- right: 0;
- text-align: center;
- font-size: @xf-fontSizeSmall;
- color: @xf-textColorAttention;
- text-decoration: none;
- }
- }
- .bbCodeBlock--screenLimited
- {
- .bbCodeBlock-content
- {
- max-height: 300px;
- max-height: 70vh;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
- }
- }
- .bbCodeBlock--expandable
- {
- overflow: hidden;
- .m-transition();
- .m-transitionProperty(-xf-height, height, padding, margin, border;);
- .bbCodeBlock-content
- {
- overflow: hidden;
- .bbCodeBlock:not(.bbCodeBlock--expandable) .bbCodeBlock-content
- {
- overflow: visible;
- }
- .bbCodeBlock.bbCodeBlock--screenLimited .bbCodeBlock-content
- {
- overflow: auto;
- }
- }
- .bbCodeBlock-expandContent
- {
- max-height: @xf-bbCodeBlockExpandHeight;
- overflow: hidden;
- }
- &.is-expandable
- {
- .bbCodeBlock-expandLink
- {
- display: block;
- }
- }
- &.is-expanded
- {
- .bbCodeBlock-expandContent
- {
- max-height: none;
- }
- .bbCodeBlock-expandLink
- {
- display: none;
- }
- }
- }
- .bbCodeCode
- {
- margin: 0;
- padding: 0;
- font-family: @xf-fontFamilyCode;
- font-size: @xf-fontSizeSmall;
- line-height: @xf-lineHeightDefault;
- -ltr-rtl-text-align: left;
- direction: ltr;
- white-space: pre;
- position: relative;
- .m-tabSize();
- code
- {
- font-family: inherit;
- }
- .prism-token
- {
- &.prism-comment,
- &.prism-prolog,
- &.prism-doctype,
- &.prism-cdata
- {
- color: #a50;
- }
- &.prism-constant
- {
- color: #05a;
- }
- &.prism-tag
- {
- color: #170;
- }
- &.prism-boolean
- {
- color: #219;
- }
- &.prism-symbol,
- &.prism-atrule,
- &.prism-keyword
- {
- color: #708;
- }
- &.prism-selector,
- &.prism-function
- {
- color: #05a;
- }
- &.prism-deleted
- {
- color: #d44;
- }
- &.prism-inserted
- {
- color: #292;
- }
- &.prism-string,
- &.prism-attr-value
- {
- color: #a11;
- }
- &.prism-number
- {
- color: #164;
- }
- &.prism-attr-name,
- &.prism-char,
- &.prism-builtin
- {
- color: #00c;
- }
- &.prism-regex,
- &.prism-important,
- &.prism-variable,
- &.prism-package
- {
- color: #05a;
- }
- &.prism-class-name,
- &.prism-important,
- &.prism-bold
- {
- color: #00f;
- }
- &.prism-bold
- {
- font-weight: bold;
- }
- &.prism-italic,
- &.prism-constant
- {
- color: #05a;
- font-style: italic;
- }
- &.prism-entity
- {
- cursor: help;
- }
- }
- }
- .bbCodeInline
- {
- margin: 0;
- .xf-bbCodeInlineCode();
- font-family: @xf-fontFamilyCode;
- line-height: @xf-lineHeightDefault;
- box-decoration-break: clone;
- -webkit-box-decoration-break: clone;
- }
- .bbCodeSpoiler
- {
- margin: @_bbCodeBlock-spacing 0;
- }
- .bbCodeSpoiler-button
- {
- .has-no-js & { display: none; }
- }
- .bbCodeSpoiler-content
- {
- .m-hiddenEl(true);
- .has-no-js & { display: block !important; }
- > .bbCodeBlock--spoiler
- {
- margin: .2em 0 0;
- }
- }]]></template>
- <template title="brv_body.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[.p-body{
- position: relative;
- &:before{
- content: '';
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 50px;
- background-color: @xf-paletteColor3;
- z-index: -1;
- }
- .p-body-inner{
- border-radius: 5px;
- overflow: hidden;
- .p-body-header{
- margin: 0 0 15px;
- background-color: @xf-BrvColor1;
- color: @xf-linkColor;
- padding: 10px 15px;
- border-radius: 2px;
- .p-title{
- h1{
- font-size: 20px;
- color: @xf-linkColor;
- .label{
- border: none;
- }
- }
- }
- .p-description{
- color: @xf-textColor;
- ul{
- li+li+li{
- display: none;
- }
- }
- }
- }
- .p-body-main{
- .p-body-content{
- transition: all 600ms;
- &.edit-padd{
- transition: all 600ms;
- padding-right: 0;
- display: inline-block;
- }
- .p-body-pageContent{
- .block{
- .block-container{
- .block-header{
- margin-bottom: -10px;
- }
- .block-body{
- background: @xf-BrvColor1;
- padding-bottom: 5px;
- padding-top: 5px;
- .node{
- background: #f3f3f3;
- margin: 5px 10px;
- &+.node{
- border: none !important;
- }
- .node-body{
- .node-icon{
- padding: 9px 0 9px 10px;
- i{
- &:before{
- text-shadow: none;
- }
- }
- }
- .node-main{
- padding: 8px 10px;
- .node-title{
- font-size: 13px;
- line-height: 13px;
- a{
- font-weight: 600;
- line-height: 13px;
- }
- }
- .node-meta{
- font-size: 11px;
- margin-top: 4px;
- display: flex;
- .node-statsMeta{
- display: inline-block;
- dl{
- display: inline-block;
- width: auto;
- &+dl{
- margin-left: 40px;
- }
- dt{
- display: inline-block;
- color: @xf-textColor;
- font-size: 11px;
- }
- dd{
- display: inline-block;
- font-size: 11px;
- color: @xf-linkColor;
- }
- }
- }
- }
- }
- .node-stats{
- display: none;
- }
- .node-subNodesFlat{
- .node-subNodeFlatList{
- li{
- margin: 0;
- a{
- font-size: 11px;
- color: @xf-paletteColor3;
- padding: 7px 15px;
- display: inline-block;
- border-radius: 2px;
- position: relative;
- font-weight: 600;
- &:hover{
- text-decoration: none !important;
- color: @xf-paletteColor3;
- background: @xf-BrvColor1;
- &:before{
- color: @xf-paletteColor3 !important;
- }
- }
- &.subNodeLink{
- &:before{
- content: '\f105';
- font-family: "FontAwesome";
- text-shadow: none;
- font-size: 10px;
- position: absolute;
- left: 6px;
- top: 52%;
- transform: translateY(-50%);
- color: @xf-paletteColor3;
- }
- &.subNodeLink--unread{
- &:before{
- color: @xf-paletteColor3 !important;
- }
- }
- }
- }
- }
- }
- }
- .node-extra{
- .node-extra-row{
- .node-extra-title{
- font-weight: 600;
- position: relative;
- }
- li{
- font-size: 12px;
- time{
- color: @xf-textColor;
- }
- }
- .node-extra-user{
- a{
- color: @xf-textColor;
- font-size: 12px;
- }
- }
- }
- }
- }
- .node-icon{
- i{
- &:before{
- content: '';
- width: 24px;
- height: 26px;
- background-repeat: no-repeat;
- }
- }
- }
- &.node--category,
- &.node--forum{
- &.node--read{
- .node-icon{
- i{
- &:before{
- .node--read;
- }
- }
- }
- }
- &.node--unread{
- .node-icon{
- i{
- &:before{
- .node--sprite;
- }
- }
- }
- }
- }
- &.node--page{
- .node-icon{
- i{
- &:before{
- .node--page;
- }
- }
- }
- }
- &.node--link{
- .node-icon{
- i{
- &:before{
- .node--link;
- }
- }
- }
- }
- }
- }
- .block-filterBar{
- .filterBar{
- .filterBar-menuTrigger{
- font-size: 14px;
- color: @xf-paletteColor3;
- &:hover{
- background-color: transparent;
- text-decoration: underline;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- .p-have--sidebar{
- transition: all 1500ms;
- &.hide{
- transition: all 500ms;
- visibility: hidden;
- transform: translateX(265px);
- display: none;
- }
- .contentRow-faderContent{
- white-space: nowrap;
- word-wrap: normal;
- text-overflow: ellipsis;
- }
- .avatar:not(.structItem-secondaryIcon){
- width: 45px;
- height: 45px;
- line-height: 43px;
- span{
- font-size: 20px;
- line-height: 43px;
- }
- }
- .block-container{
- padding-bottom: 5px;
- .block-minorHeader{
- margin-bottom: -10px;
- }
- }
- .block-row{
- margin: 5px 10px;
- background-color: #f3f3f3;
- }
- .block{
- &.member-visitor{
- display: inline-block;
- width: 100%;
- .content-inner{
- display: flex;
- align-items: center;
- padding: 13px;
- border-radius: 2px;
- background-color: @xf-BrvColor1;
- .contentRow-figure{
- position: relative;
- .member-avarta{
- .avatar{
- width: 72px;
- height: 72px;
- position: relative;
- span{
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- }
- }
- }
- }
- .contentRow-main{
- padding-left: 13px;
- .member-role{
- color: @xf-textColor;
- .contentRow-header{
- font-weight: 600;
- font-size: 14px;
- margin-bottom: 5px;
- }
- .contentRow-lesser{
- font-size: 12px;
- }
- a{
- color: @xf-paletteColor3;
- }
- }
- .contentRow-minor{
- font-size: 12px;
- color: @xf-textColor;
- dl{
- margin: 3px 0;
- dt{
- color: @xf-textColor;
- }
- }
- }
- }
- }
- }
- &[data-widget-definition="new_profile_posts"]{
- .block-body{
- padding: 10px 0;
- .block-row{
- .contentRow{
- .contentRow-main{
- >a{
- font-size: 13px;
- font-weight: 600;
- margin-bottom: 5px;
- display: inline-block;
- }
- .username{
- color: @xf-linkColor;
- }
- .contentRow-minor{
- font-size: 12px;
- a{
- font-size: 11px;
- }
- }
- }
- }
- }
- }
- }
- .block-container{
- box-shadow: 0 2px 2px rgba(0, 0, 0, 0.06);
- border-radius: 2px;
- .block-minorHeader{
- text-align: left;
- position: relative;
- a{
- display: inline-block;
- position: relative;
- }
- }
- .block-footer{
- padding: 10px;
- }
- .block-body{
- font-size: 12px;
- .contentRow-main{
- a{
- font-weight: 600;
- }
- }
- &.staff-content{
- padding: 10px 0;
- li{
- &:last-child{
- .contentRow{
- border-bottom: none;
- padding-bottom: 0;
- }
- }
- .contentRow{
- border-bottom: 1px solid @xf-borderColor;
- padding-bottom: 13px;
- .contentRow-main{
- .username{
- font-size: 13px;
- margin-top: 5px;
- display: inline-block;
- font-weight: 600;
- color: @xf-linkColor;
- }
- .contentRow-minor{
- font-size: 12px;
- margin-top: 3px;
- }
- }
- }
- }
- }
- &.member-content{
- padding: 10px 0;
- }
- &.post-content{
- padding: 10px 0;
- li{
- .contentRow{
- .contentRow-main{
- >a{
- font-size: 13px;
- font-weight: 600;
- margin-bottom: 5px;
- display: inline-block;
- }
- .contentRow-minor{
- font-size: 12px;
- a{
- font-size: 11px;
- }
- }
- }
- }
- }
- }
- &.forum-static-content{
- padding: 10px;
- }
- dl{
- margin: 4px 0;
- color: @xf-linkColor;
- dt{
- color: inherit;
- }
- dd{
- color: @xf-linkColor;
- }
- }
- }
- }
- }
- }
- }
- }
- .p-have--sidebar{
- [data-widget-definition="new_posts"]{
- .structItem{
- .structItem-cell{
- display: block;
- &.structItem-cell--icon{
- width: 29%;
- float: left;
- }
- &.structItem-cell--latest,
- &.structItem-cell--meta{
- width: 50%;
- float: left;
- }
- &.structItem-cell-only-forum-view{
- display: none;
- }
- &.structItem-cell--latest{
- .structItem-minor{
- margin: 4px 0 1px;
- }
- }
- .structItem-minor{
- .structItem-parts{
- li+li+li{
- display: none;
- }
- }
- }
- }
- }
- }
- [data-widget-definition="new_profile_posts"]{
- article{
- border-top: none !important;
- margin-top: 10px;
- }
- .comment-avatar{
- .avatar{
- width: 24px !important;
- height: 24px !important;
- }
- }
- .message-cell--user{
- flex: 0 0 70px;
- .message-avatar{
- text-align: left;
- }
- }
- }
- .block-minorHeader{
- text-align: left;
- }
- .block-body{
- padding-top: 10px;
- }
- }
- [data-template="member_view"]{
- .is-editing{
- form,
- .block-container{
- padding-bottom: 0;
- }
- }
- }
- [data-template="forum_view"]{
- .p-body-inner{
- .block{
- margin-bottom: 15px;
- }
- .block-outer{
- padding-bottom: 15px;
- }
- }
- }]]></template>
- <template title="brv_breadcrumbs.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[.brv-breadcrumbs{
- padding: 0;
- &.brv-breadcrumbs__top{
- margin-top: 15px;
- }
- &.brv-breadcrumbs__bottom{
- margin-bottom: 15px;
- }
- .brv-breadcrumbs-inner{
- max-width: @xf-pageWidthMax;
- margin: 0 auto;
- padding-left: 15px;
- padding-right: 15px;
- position: relative;
- }
- }
- .p-breadcrumbs{
- overflow: hidden;
- background-color: @xf-BrvColor1;
- position: relative;
- border-radius: 2px;
- padding: 3px 15px;
- li{
- padding: 0 13px;
- position: relative;
- z-index: 2;
- &:before{
- content: '';
- position: absolute;
- width: 1px;
- height: 10px;
- top: 50%;
- right: 0;
- transform: translateY(-50%) rotate(15deg);
- background: @xf-textColor;
- }
- &:first-child{
- padding-left: 0;
- a{
- padding-left: 0;
- }
- }
- &:last-child{
- &:before{
- display: none;
- }
- }
- a{
- font-size: 12px;
- padding: 8px 0;
- color: @xf-textColor;
- font-weight: 400 !important;
- z-index: 999;
- &:hover{
- color: @xf-paletteColor3;
- }
- }
- &:after{
- display: none;
- }
- }
- }
- .control-sidebar{
- position: absolute;
- top: 50%;
- cursor: pointer;
- right: 25px;
- transform: translateY(-50%);
- color: @xf-textColor;
- padding: 5px;
- border-radius: 2px;
- //&:before{
- // content: '';
- // display: inline-block;
- // width: 14px;
- // height: 14px;
- // .sidebar-ico;
- //}
- &:hover{
- color: @xf-paletteColor3;
- }
- }]]></template>
- <template title="brv_extra.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[::-webkit-input-placeholder { /* Chrome */
- color: #fff;
- }
- :-ms-input-placeholder { /* IE 10+ */
- color: #fff;
- }
- ::-moz-placeholder { /* Firefox 19+ */
- color: #fff;
- opacity: 1;
- }
- :-moz-placeholder { /* Firefox 4 - 18 */
- color: #fff;
- opacity: 1;
- }
- ::-ms-input-placeholder{
- color: #fff;
- }
- .hidden{
- display: none !important;
- }
- .activeColor{
- color: @xf-paletteColor3;
- }
- .p-navEl-splitTrigger:after{
- content: '\f107';
- }
- .button{
- border: none !important;
- &:active,
- &:visited,
- &:focus,
- &:hover{
- background: #000000 !important;
- color: #ffffff !important;
- border-color: #000000 !important;
- }
- &:not(.button--icon--cancel){
- .button-text{
- &:before{
- display: none !important;
- }
- }
- }
- }
- .message-cell--main.is-editing{
- .block-container{
- padding-top: 0;
- }
- }
- .block-outer{
- background-color: #f3f3f3;
- padding: 0 15px !important;
- border-radius: 2px;
- margin: 15px 0;
- &.block-outer--after{
- margin-bottom: 0;
- }
- > *{
- height: 40px;
- line-height: 38px;
- }
- .block-outer-main{
- float: right;
- }
- .block-outer-opposite{
- float: left;
- }
- .button{
- height: 40px;
- line-height: 40px;
- padding-top: 0 !important;
- padding-bottom: 0 !important;
- color: @xf-paletteColor3 !important;
- &:hover{
- color: @xf-BrvColor1 !important;
- }
- }
- a{
- padding-top: 0 !important;
- padding-bottom: 0 !important;
- }
- }
- .overlay-content{
- .block-header{
- margin-top: 5px;
- border-radius: 0 !important;
- }
- }
- .lastThreadTitle{
- font-weight: 600;
- margin-right: 15px;
- color: @xf-linkColor;
- }
- .ratingStars-star.ratingStars-star--full:before{
- color: #ffcc00 !important;
- }
- .ratingStars-star:before{
- color: rgba(136,120,130,.5) !important;
- }
- .pageNavSimple-el.pageNavSimple-el--current{
- color: @xf-BrvColor1;
- }
- .inlineModButton-count{
- color: inherit;
- }
- .inlineModBar.is-active:first-of-type{
- background: #191212;
- color: @xf-linkColor;
- }
- .js-likeList.is-active,
- .likesBar.is-active{
- border: 1px solid @xf-borderColor;
- background: @xf-BrvColor1;
- a{
- color: #4f3043;
- }
- .likeIcon{
- &:before{
- color: #4f3043;
- }
- }
- }
- a{
- &:hover{
- text-decoration: none !important;
- }
- }
- .messageNotice{
- background: @xf-paletteAccent1 !important;
- color: @xf-linkColor !important;
- }
- .actionBar-action{
- color: @xf-linkColor;
- &:hover{
- color: @xf-paletteColor3;
- }
- }
- .search--sm{
- padding: 0 20px;
- margin-left: 0 !important;
- background-color: @xf-BrvColor3;
- position: static !important;
- .search-area{
- padding: 0;
- width: 100% !important;
- }
- }
- span.actionBar-action,
- label.actionBar-action.iconic--checkbox{
- padding-left: 0;
- }
- .actionBar-set--internal{
- .actionBar-action{
- color: @xf-paletteColor3;
- }
- }
- .actionBar-action{
- padding: 3px 3px 3px 20px;
- position: relative;
- top: -5px;
- display: inline-block;
- color: @xf-textColor;
- &.actionBar-action--menuTrigger{
- display: none;
- }
- &:before{
- content: '';
- font-family: "FontAwesome";
- font-size: 14px;
- position: absolute;
- left: 0;
- top: 50%;
- transform: translateY(-50%);
- }
- &.actionBar-action--inlineMod{
- i{
- &:before{
- color: @xf-textColor;
- }
- }
- }
- &.actionBar-action--approve,
- &.actionBar-action--unapprove{
- &:before{
- content: '\f087';
- }
- }
- &.actionBar-action--reply{
- &:before{
- content: '\f0e5';
- }
- }
- &.actionBar-action--report{
- &:before{
- content: '\f016';
- }
- }
- &.actionBar-action--edit{
- &:before{
- content: '\f040';
- }
- }
- &.actionBar-action--undelete,
- &.actionBar-action--delete{
- &:before{
- content: '\f014';
- }
- }
- &.actionBar-action--spam{
- &:before{
- content: '\f0e9';
- }
- }
- &.actionBar-action--ip{
- &:before{
- content: '\f08d';
- }
- }
- &.actionBar-action--history{
- &:before{
- content: '\f017';
- }
- }
- &.actionBar-action--warn{
- &:before{
- content: '\f071';
- }
- }
- }
- .block-outer{
- .button{
- background: transparent !important;
- border: none !important;
- color: @xf-linkColor;
- &:hover{
- color: @xf-paletteColor3 !important;
- }
- }
- }
- .block-container{
- background: @xf-BrvColor1;
- }
- .subNodeLink.subNodeLink--unread{
- font-weight: 700 !important;
- &:before{
- color: @xf-paletteColor3 !important;
- }
- }
- [data-template="thread_view"] .block-outer.block-outer--after {
- border-top: 1px solid @xf-borderColor;
- border-bottom: 1px solid @xf-borderColor;
- padding: 10px 0;
- }
- .actionBar-action.actionBar-action--like{
- &:before{
- content: '\f08a';
- font-weight: bold;
- }
- }
- .tooltip-content{
- .actionBar-action{
- top: 0;
- }
- }
- .actionBar-action.actionBar-action--mq.is-selected{
- background: transparent;
- border: none;
- color: @xf-paletteColor3;
- text-shadow: 0 0 15px;
- }
- .fr-toolbar{
- background: @xf-BrvColor1;
- padding: 2px 0;
- &.fr-top{
- border: 1px solid @xf-BrvColor1;
- border-bottom-color: @xf-borderColor;
- }
- .fr-separator{
- background: transparent;
- }
- .fr-command.fr-btn{
- color: @xf-linkColor;
- &:hover{
- color: @xf-paletteColor3;
- }
- }
- }
- .fr-wrapper{
- background-color: @xf-BrvColor1 !important;
- border: none !important;
- }
- .overlay-title{
- padding-top: 13px;
- padding-bottom: 13px;
- }
- .dataList-cell.dataList-cell--action.dataList-cell--alt,
- .dataList-cell.dataList-cell--link.dataList-cell--alt,
- .dataList-cell.dataList-cell--action.dataList-cell--action,
- .dataList-cell.dataList-cell--link.dataList-cell--action{
- &:hover{
- background: transparent;
- a{
- color: @xf-paletteColor3;
- }
- }
- }
- .dataList-row:hover:not(.dataList-row--noHover):not(.dataList-row--header),
- .dataList-cell.dataList-cell--alt, .dataList-cell.dataList-cell--action{
- background: transparent;
- }
- .memberOverviewBlock-seeMore {
- padding: 7px;
- }
- .menu{
- margin-top: 3px !important;
- }
- .menu-content{
- border: none;
- }
- .block-tabHeader{
- .tabs-tab{
- padding: 10px;
- }
- }
- body[data-template="member_view"]{
- .block--messages .message .message-inner .message-cell--user .message-user{
- border: none;
- }
- }
- .message-userArrow{
- display: none;
- }
- .memberHeader-name{
- color: @xf-paletteColor3;
- }
- .menu-linkRow.is-selected, .menu-linkRow:hover, .menu-linkRow:focus{
- background: transparent;
- }
- .p-navgroup-link.badgeContainer::after{
- right: 5px;
- top: 5px;
- }
- .attachUploadList{
- background: transparent !important;
- }
- .message.is-mod-selected, .block--messages .message.is-mod-selected{
- background: #e5e5dd;
- }
- .blockLink:hover{
- background: transparent;
- color: @xf-paletteColor3;
- }
- .badge, .badgeContainer:after{
- background: #df4242;
- }
- .meu--alertconver{
- .avatar{
- width: 38px;
- height: 38px;
- font-size: 18px;
- span{
- line-height: 38px;
- }
- }
- time{
- float: right;
- }
- .menu-footer{
- border-top: 1px solid @xf-borderColor;
- }
- }
- .tooltip--preview .tooltip-content,
- .tooltip--member .tooltip-content,
- .inlineModBar.is-active:first-of-type{
- background-color: @xf-BrvColor1;
- }
- .badge.badge--highlighted, .badgeContainer.badgeContainer--highlighted::after{
- background: @xf-paletteColor3 !important;
- border-radius: 2px;
- height: 15px;
- min-width: 11px;
- padding: 0 2px;
- line-height: 15px;
- text-align: center;
- }
- .new_tags_brv {
- padding: 10px 15px;
- margin-bottom: 10px;
- display: none;
- font-size: 13px;
- background-color: @xf-BrvColor1;
- border-radius: 2px;
- color: @xf-paletteColor3;
- .tagItem{
- border: none;
- color: @xf-paletteColor3;
- &:hover{
- color: @xf-BrvColor1;
- }
- }
- }
- body[data-template="thread_view"] .new_tags_brv {
- display: block;
- }
- .formSubmitRow.formSubmitRow--sticky.is-sticky .formSubmitRow-bar{
- background: #fff;
- }
- body[data-template="xfrm_resource_updates"]{
- .message-attribution-opposite{
- a{
- line-height: 45px;
- }
- }
- }
- html[data-logged-in="false"]{
- .title-thread{
- margin-top: 20px;
- }
- }
- .contentRow-main.contentRow-main--close{
- padding-left: 10px;
- }
- .block-tabHeader .hScroller-action.hScroller-action--end{
- background: #000000;
- background: linear-gradient(to right, rgba(37, 119, 177, 0) 0%, #000000 33%);
- }
- .block-tabHeader .hScroller-action.hScroller-action--start{
- background: #000000;
- background: linear-gradient(to right, #000000 66%, rgba(37, 119, 177, 0) 100%);
- }
- .p-sectionLinks .hScroller-action:hover{
- color: @xf-paletteColor3;
- }
- .overlay-titleCloser{
- color: #ffffff;
- opacity: 1;
- }
- //block-header
- .block-minorHeader,
- .block-header{
- position: relative;
- }
- .block-control{
- position: absolute;
- right: 10px;
- top: 50%;
- transform: translateY(-50%);
- font-size: 10px;
- cursor: pointer;
- width: 15px;
- height: 15px;
- text-align: center;
- line-height: 11px;
- border: 2px solid;
- border-radius: 50%;
- color: @xf-textColor;
- }
- //block--category
- .block--category{
- .block-header{
- position: relative;
- &.hover--tooltip{
- &:hover{
- .show-tooltip{
- opacity: 1;
- visibility: visible;
- }
- }
- }
- .show-tooltip{
- position: absolute;
- top: 50%;
- transform: translateY(-50%);
- background: @xf-tooltip--background-color;
- color: #fff;
- padding: 3px 17px;
- line-height: 18px;
- border-radius: 3px;
- opacity: 0;
- transition: all 500ms;
- visibility: hidden;
- &:before{
- content: '';
- position: absolute;
- left: -12px;
- top: 50%;
- transform: translateY(-50%);
- border: 6px solid transparent;
- border-right-color: @xf-tooltip--background-color;
- }
- }
- }
- }
- //profile-posts
- #profile-posts{
- .block--messages{
- .block-body{
- article.message{
- .message-inner{
- .message-cell--main{
- padding: 0 0 0 15px;
- }
- }
- }
- }
- }
- }
- //.blockLink.is-selected
- .blockLink.is-selected{
- padding-left: 10px;
- background: transparent;
- color: @xf-paletteColor3;
- &:hover{
- background: transparent;
- }
- }
- //menu--structural
- .menu--structural{
- &.menu--account{
- .menu-content{
- border-radius: 0;
- border-top: none;
- .menu-row--highlighted{
- background: @xf-BrvColor3;
- padding: 15px;
- .contentRow-figure{
- position: relative;
- .avatar{
- width: 72px;
- height: 72px;
- font-size: 36px;
- span{
- line-height: 72px;
- }
- }
- }
- .contentRow-header{
- a{
- padding: 8px 0;
- font-size: 16px;
- font-weight: 600;
- color: @xf-paletteColor3;
- &:hover{
- background-color: transparent !important;
- color: @xf-BrvColor1 !important;
- }
- }
- }
- }
- ul{
- padding-top: 10px;
- padding-bottom: 5px;
- }
- a{
- border-left: none;
- padding: 7px 15px;
- font-size: 12px;
- color: @xf-linkColor;
- &:hover{
- background: transparent !important;
- color: @xf-paletteColor3 !important;
- }
- }
- form{
- background: transparent !important;
- padding: 15px;
- }
- }
- }
- &.menu--potentialFixed{
- .menu-content{
- border-radius: 0;
- border-top: none;
- a{
- border-left: none;
- &:hover{
- background: transparent;
- color: @xf-paletteColor3;
- }
- }
- }
- }
- }
- //pagination page
- .pageNav{
- .text-page{
- font-size: 13px;
- color: @xf-textColor;
- }
- .pageNavSimple-el{
- border: none;
- border-radius: 0;
- background: transparent;
- color: @xf-textColor;
- &:hover{
- background: transparent;
- }
- }
- .pageNav-main{
- .pageNav-page{
- border: none;
- border-radius: 0;
- padding-right: 10px;
- background-color: transparent;
- background: transparent;
- &.pageNav-page--current{
- a{
- background-color: @xf-textColor;
- color: @xf-BrvColor1;
- }
- }
- a{
- padding: 0 2px;
- min-width: 24px;
- height: 24px;
- text-align: center;
- line-height: 22px;
- background-color: transparent;
- border-radius: 50%;
- color: @xf-textColor;
- &:hover{
- background-color: @xf-textColor;
- color: @xf-BrvColor1;
- }
- }
- }
- }
- .pageNav-jump{
- padding: 3px 8px;
- border: none;
- border-radius: 0;
- background: transparent;
- color: @xf-textColor;
- &:after,&:before{
- display: none;
- }
- &:hover{
- text-decoration: underline;
- color: @xf-paletteColor3;
- }
- }
- }
- //media
- .media{
- .media-container{
- .media-container-image{
- margin-top: 10px;
- }
- }
- }
- .block{
- &.js-mediaInfoBlock{
- .block-outer-middle{
- margin-bottom: 10px;
- }
- .block-container{
- margin-bottom: 15px;
- .block-body{
- padding: 15px 10px;
- .xfmgInfoBlock-title{
- .contentRow-main{
- .contentRow-title{
- font-size: 14px;
- font-weight: 600;
- }
- }
- }
- .actionBar{
- .actionBar-set{
- .actionBar-action{
- padding: 3px 3px 3px 20px;
- position: relative;
- top: -5px;
- &.actionBar-action--menuTrigger{
- display: none;
- }
- &:before{
- content: '';
- font-family: "FontAwesome";
- font-size: 14px;
- position: absolute;
- left: 0;
- top: 50%;
- transform: translateY(-50%);
- }
- &.actionBar-action--report{
- &:before{
- content: '\f016';
- }
- }
- &.actionBar-action--edit{
- &:before{
- content: '\f040';
- }
- }
- &.actionBar-action--delete{
- &:before{
- content: '\f014';
- }
- }
- &.actionBar-action--spam{
- &:before{
- content: '\f0e9';
- }
- }
- &.actionBar-action--ip{
- &:before{
- content: '\f08d';
- }
- }
- &.actionBar-action--history{
- &:before{
- content: '\f017';
- }
- }
- &.actionBar-action--warn{
- &:before{
- content: '\f071';
- }
- }
- }
- }
- }
- }
- }
- }
- }
- .columnContainer{
- .columnContainer-comments{
- form{
- &.js-quickReply{
- .block-container{
- .message--quickReply{
- .message-inner{
- .message-cell{
- &.message-cell--user{
- .message-user{
- .message-avatar{
- .message-avatar-wrapper{
- .avatar{
- width: 48px;
- height: 48px;
- span{
- line-height: 48px;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }]]></template>
- <template title="brv_footer.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[#footer{
- padding-top: 10px;
- .p-footer-inner{
- padding-right: 15px;
- padding-left: 15px;
- a{
- &:hover{
- color: @xf-paletteColor3;
- }
- }
- .footer-custom{
- .row{
- display: inline-block;
- width: 100%;
- .footer-column{
- .footer-title{
- h3{
- font-size: 14px;
- font-weight: 400;
- text-transform: uppercase;
- margin: 15px 0 25px;
- color: @xf-BrvColor1;
- }
- }
- &.footer-column-1{
- //width: 48%;
- display: inline-block;
- float: left;
- .content-inner{
- p{
- font-size: 13px;
- line-height: 18px;
- font-weight: 300;
- max-width: 360px;
- }
- }
- .footer-social{
- margin-top: 25px;
- a{
- position: relative;
- z-index: 1;
- display: inline-block;
- width: 32px;
- height: 32px;
- margin-right: 7px;
- margin-top: 7px;
- span{
- color: @xf-BrvColor1;
- width: 32px;
- height: 32px;
- line-height: 32px;
- background: @xf-paletteColor3;
- border-radius: 3px;
- display: inline-block;
- text-align: center;
- font-size: 16px;
- }
- &:hover{
- color: #fff;
- &:before,
- span{
- background: @xf-paletteColor3 !important;
- color: @xf-BrvColor1 !important;
- }
- }
- &.facebook{
- span{
- background-color: #3b5998;
- }
- }
- &.twitter{
- span{
- background-color: #00acee;
- }
- }
- &.google{
- span{
- background-color: #b63324;
- }
- }
- &.linkedin{
- span{
- background-color: #f7b2a1;
- }
- }
- &.youtube{
- span{
- background-color: #ec3e13;
- }
- }
- &.dribbble{
- span{
- background-color: #0e4b71;
- }
- }
- &.flickr{
- span{
- background-color: #8d8d8d;
- }
- }
- &.pinterest{
- span{
- background-color: #cb2027;
- }
- }
- &.vimeo{
- span{
- background-color: #a52c0d;
- }
- }
- &.rss{
- span{
- background-color: #ffc600;
- }
- }
- &.deviantart{
- span{
- background-color: #1aae88;
- }
- }
- &.email{
- span{
- background-color: #f89a1e;
- }
- }
- }
- }
- }
- &.footer-column-2,&.footer-column-3{
- //width: 15%;
- display: inline-block;
- float: left;
- .content-inner{
- ul{
- list-style: none;
- padding: 0;
- li{
- margin-bottom: 12px;
- a{
- font-size: 13px;
- font-weight: 300;
- padding-left: 0;
- transition: all 300ms;
- &:hover{
- text-decoration: none;
- padding-left: 5px;
- }
- }
- }
- }
- }
- }
- &.footer-column-4{
- //width: 22%;
- display: inline-block;
- float: left;
- .contact-info{
- .item{
- font-size: 13px;
- font-weight: 300;
- margin-bottom: 12px;
- padding-left: 25px;
- position: relative;
- &:before{
- content: '';
- font-family: "FontAwesome";
- position: absolute;
- left: 0;
- top: 50%;
- font-size: 15px;
- transform: translateY(-50%);
- }
- &.address{
- &:before{
- content: '\f015';
- }
- }
- &.phone{
- &:before{
- content: '\f095';
- }
- }
- &.email{
- &:before{
- content: '\f003';
- }
- }
- &.public{
- &:before{
- content: '\f0ac';
- }
- }
- }
- }
- }
- }
- }
- }
- }
- .footer-bottom{
- padding: 3px 0;
- background-color: @xf-FooterBottom;
- .p-footer-inner{
- padding: 10px 15px;
- display: flex;
- align-items: center;
- flex-flow: row wrap;
- .p-footer-copyright{
- margin: 0;
- font-size: 12px;
- text-align: left;
- .BRCopyright{
- .content-brcpright{
- a{
- &:hover{
- color: #fff !important;
- }
- }
- span{
- font-size: 11px;
- }
- }
- }
- }
- .p-footer-row-opposite{
- margin: 0;
- float: none;
- text-align: right;
- .p-footer-linkList{
- li{
- float: none;
- display: inline-block;
- a{
- font-size: 12px;
- padding: 2px !important;
- &:hover{
- background: transparent !important;
- }
- }
- }
- }
- }
- }
- }
- }
- @media (min-width: @xf-responsiveMedium) {
- #footer .footer-bottom {
- .p-footer-inner{
- .p-footer-copyright{
- width: 50%;
- }
- .p-footer-row-opposite{
- width: 50%;
- }
- }
- }
- }
- @media (max-width: @xf-responsiveMedium) {
- #footer .footer-bottom {
- .p-footer-inner{
- .p-footer-copyright{
- width: 100%;
- }
- .p-footer-row-opposite{
- width: 100%;
- }
- }
- }
- }]]></template>
- <template title="brv_header.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[#header{
- .p-header-inner{
- padding: 0 15px;
- .p-header-content{
- padding: 75px 0;
- .p-header-logo{
- display: inline-block;
- z-index: 9;
- margin: 0 auto;
- }
- }
- }
- }
- @media (max-width: @xf-responsiveMedium) {
- #header .p-header-inner .p-header-content{
- padding: 20px 0;
- }
- }]]></template>
- <template title="brv_message.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[[data-template="conversation_view"],
- [data-template="thread_view"]{
- .brv-breadcrumbs__top{
- margin-bottom: 20px;
- }
- .brv-breadcrumbs__bottom{
- margin-top: 20px;
- }
- .p-body-inner{
- padding-top: 0;
- padding-bottom: 0;
- }
- .p-body-header{
- margin: 0 !important;
- }
- .block-outer{
- margin: 0 10px !important;
- border-radius: 0 !important;
- }
- .new_tags_brv{
- margin-bottom: 0;
- border-radius: 0;
- }
- .block--messages{
- background-color: @xf-BrvColor1;
- .block-container{
- .block-body{
- padding-left: 10px;
- padding-right: 10px;
- }
- }
- .message{
- background-color: #f3f3f3;
- padding-right: 0;
- .message-inner{
- padding-left: 10px;
- .message-cell--user{
- .message-user{
- background-color: @xf-BrvColor1;
- .message-avatar{
- .message-avatar-wrapper{
- position: relative;
- border-radius: 3px;
- .avatar{
- border-radius: inherit;
- }
- }
- }
- }
- }
- }
- }
- }
- .js-quickReply{
- margin-top: -20px;
- background-color: @xf-BrvColor1;
- .block-container{
- .block-body{
- padding-left: 10px;
- padding-right: 10px;
- .message{
- background-color: #f3f3f3;
- .message-inner{
- padding-top: 10px;
- }
- }
- }
- }
- }
- }
- .block--messages{
- .message{
- padding-bottom: 20px;
- padding-top: 20px;
- padding-right: 10px;
- border-radius: 0 !important;
- color: @xf-linkColor;
- &:first-child{
- border-top: 1px solid @xf-borderColor;
- padding-top: 20px;
- .message-inner{
- .message-userDetails{
- .userBanner{
- &.userBanner--staff{
- background-color: @xf-textColor !important;
- color: #fff;
- &:before{
- border-right-color: @xf-textColor !important;
- border-bottom-color: @xf-textColor !important;
- }
- &:after{
- border-bottom-color: @xf-textColor !important;
- border-left-color: @xf-textColor !important;
- }
- }
- }
- }
- }
- }
- .message-inner{
- .message-cell--user{
- border: none;
- border-radius: 0;
- padding: 0;
- .message-user{
- padding: 10px;
- border-radius: 2px;
- text-align: center;
- }
- .message-userDetails{
- text-align: center;
- margin: 10px 0;
- .message-name{
- font-size: 14px;
- font-weight: 600;
- margin-bottom: 10px;
- a{
- color: @xf-paletteColor3;
- text-transform: capitalize;
- }
- }
- .userTitle{
- text-align: center;
- margin-top: -5px;
- margin-bottom: 8px;
- color: @xf-textColor;
- }
- .userBanner{
- padding: 7px;
- margin: 0 -11px;
- border-radius: 0;
- border: none;
- position: relative;
- &+.userBanner{
- margin-top: 10px;
- }
- //&:before{
- // content: '';
- // position: absolute;
- // top: -4px;
- // left: 0;
- // border-top: 2px solid transparent;
- // border-right: 2px solid @xf-paletteColor1;
- // border-bottom: 2px solid @xf-paletteColor1;
- // border-left: 2px solid transparent;
- //}
- //&:after{
- // content: '';
- // position: absolute;
- // top: -4px;
- // right: 0;
- // border-top: 2px solid transparent;
- // border-right: 2px solid transparent;
- // border-bottom: 2px solid @xf-paletteColor1;
- // border-left: 2px solid @xf-paletteColor1;
- //}
- //&.userBanner--royalBlue{
- // &:before{
- // border-right: 2px solid #4169e1;
- // border-bottom: 2px solid #4169e1;
- // }
- // &:after{
- // border-bottom: 2px solid #4169e1;
- // border-left: 2px solid #4169e1;
- // }
- //}
- //&.userBanner--red{
- // &:before{
- // border-right: 2px solid #d80000;
- // border-bottom: 2px solid #d80000;
- // }
- // &:after{
- // border-bottom: 2px solid #d80000;
- // border-left: 2px solid #d80000;
- // }
- //}
- //&.userBanner--green{
- // &:before{
- // border-right: 2px solid green;
- // border-bottom: 2px solid green;
- // }
- // &:after{
- // border-bottom: 2px solid green;
- // border-left: 2px solid green;
- // }
- //}
- //&.userBanner--olive{
- // &:before{
- // border-right: 2px solid olive;
- // border-bottom: 2px solid olive;
- // }
- // &:after{
- // border-bottom: 2px solid olive;
- // border-left: 2px solid olive;
- // }
- //}
- //&.userBanner--lightGreen{
- // &:before{
- // border-right: 2px solid #bee8ba;
- // border-bottom: 2px solid #bee8ba;
- // }
- // &:after{
- // border-bottom: 2px solid #bee8ba;
- // border-left: 2px solid #bee8ba;
- // }
- //}
- //&.userBanner--blue{
- // &:before{
- // border-right: 2px solid #0008e3;
- // border-bottom: 2px solid #0008e3;
- // }
- // &:after{
- // border-bottom: 2px solid #0008e3;
- // border-left: 2px solid #0008e3;
- // }
- //}
- //&.userBanner--skyBlue{
- // &:before{
- // border-right: 2px solid #7cc3e0;
- // border-bottom: 2px solid #7cc3e0;
- // }
- // &:after{
- // border-bottom: 2px solid #7cc3e0;
- // border-left: 2px solid #7cc3e0;
- // }
- //}
- //&.userBanner--gray{
- // &:before{
- // border-right: 2px solid gray;
- // border-bottom: 2px solid gray;
- // }
- // &:after{
- // border-bottom: 2px solid gray;
- // border-left: 2px solid gray;
- // }
- //}
- //&.userBanner--silver{
- // &:before{
- // border-right: 2px solid silver;
- // border-bottom: 2px solid silver;
- // }
- // &:after{
- // border-bottom: 2px solid silver;
- // border-left: 2px solid silver;
- // }
- //}
- //&.userBanner--yellow{
- // &:before{
- // border-right: 2px solid #e6e687;
- // border-bottom: 2px solid #e6e687;
- // }
- // &:after{
- // border-bottom: 2px solid #e6e687;
- // border-left: 2px solid #e6e687;
- // }
- //}
- //&.userBanner--orange{
- // &:before{
- // border-right: 2px solid #ffcb00;
- // border-bottom: 2px solid #ffcb00;
- // }
- // &:after{
- // border-bottom: 2px solid #ffcb00;
- // border-left: 2px solid #ffcb00;
- // }
- //}
- &.userBanner--staff{
- background-color: #5b4352;
- color: #fff;
- &:before{
- border-right-color: @xf-paletteColor3;
- border-bottom-color: @xf-paletteColor3;
- }
- &:after{
- border-bottom-color: @xf-paletteColor3;
- border-left-color: @xf-paletteColor3;
- }
- }
- }
- }
- .message-userExtras{
- font-size: 11px;
- dl{
- margin: 2px 0;
- dd{
- font-size: 10px;
- }
- }
- }
- .message-userArrow{
- display: none;
- }
- }
- .message-cell--main{
- .message-main{
- .message-content{
- .message-body{
- .bbCodeBlock{
- .bbCodeBlock-content{
- .bbCodeBlock-expandLink{
- /*top: 95px;*/
- a{
- color: #bababb;
- }
- }
- }
- &.bbCodeBlock--code{
- .bbCodeBlock-content{
- padding: 15px 10px;
- }
- }
- &.bbCodeBlock--quote{
- .bbCodeBlock-title{
- .bbCodeBlock-sourceJump{
- &:after{
- display: none;
- }
- }
- }
- }
- }
- }
- .message-attachments{
- border-radius: 3px;
- background: @xf-BrvColor1;
- .block-textHeader{
- padding: 10px;
- background: @xf-BrvColor1;
- font-size: 14px;
- color: @xf-linkColor;
- font-weight: 400;
- border-bottom: 1px solid @xf-borderColor;
- text-transform: uppercase;
- }
- .attachmentList{
- padding: 15px 10px;
- .attachment{
- position: relative;
- width: 290px;
- height: 90px;
- padding-right: 15px;
- padding-left: 75px;
- border: none;
- border-radius: 3px;
- background-color: #f3f3f3;
- .attachment-icon{
- position: absolute;
- left: 15px;
- top: 50%;
- width: 44px;
- height: 44px;
- background-color: #a0dcf4;
- transform: translateY(-50%);
- border-radius: 3px;
- &.attachment-icon--img{
- background-color: transparent;
- a{
- img{
- border-radius: 3px;
- }
- }
- }
- a{
- i{
- &:before{
- content: '';
- .cloud--image;
- width: 45px;
- height: 40px;
- background-repeat: no-repeat;
- background-position: center;
- }
- }
- }
- }
- .attachment-name{
- margin: 5px 0 3px;
- color: @xf-linkColor;
- a{
- color: @xf-linkColor;
- font-size: 12px;
- font-weight: 600;
- }
- }
- .attachment-details{
- color: @xf-linkColor;
- font-weight: 600;
- dl{
- margin: 3px 0;
- width: 100%;
- dt{
- color: @xf-linkColor;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- .message-footer{
- .message-actionBar{
- margin-bottom: 0px;
- .actionBar-set--external{
- .message-attribution-opposite{
- margin-left: 14px;
- a{
- color: @xf-linkColor !important;
- }
- }
- }
- .actionBar-set--internal{
- .message-attribution-main{
- color: #887882 !important;
- }
- }
- }
- }
- }
- }
- }
- //quick reply
- body[data-template="thread_view"]{
- .p-body-content{
- .message-content{
- margin-top: -20px;
- }
- }
- form .block-container .message--quickReply .message-inner .message-cell--user .message-user .message-avatar .message-avatar-wrapper{
- &:before{
- content: '';
- width: 106px;
- height: 106px;
- position: absolute;
- left: 7px;
- top: 7px;
- border-radius: 100%;
- background-color: rgba(255, 255, 255, 0.1);
- }
- }
- }
- form{
- .block-container{
- border-left: none;
- border-right: none;
- border-radius: 0;
- padding: 15px 0;
- .message--quickReply{
- border-radius: 0;
- .message-inner{
- .message-cell--user{
- border: none;
- .message-user{
- .message-avatar{
- .message-avatar-wrapper{
- margin: -10px;
- padding: 10px;
- border-radius: 2px;
- position: relative;
- background-color: @xf-BrvColor1;
- .avatar{
- border-radius: inherit;
- }
- }
- }
- .message-userArrow{
- display: none;
- }
- }
- }
- .message-cell--main{
- margin-top: -10px;
- .formButtonGroup{
- text-align: center;
- display: inherit;
- margin-top: 15px;
- .formButtonGroup-primary{
- margin: 0;
- display: inline-block;
- }
- .formButtonGroup-extra{
- margin: 0;
- display: inline-block;
- }
- }
- }
- }
- }
- }
- }
- [data-template="thread_view"]{
- .p-body-content{
- .is-editing{
- form,.block-container{
- padding-top: 0;
- }
- }
- }
- }
- [data-xf-init="poll-block ajax-submit"]{
- margin-bottom: -5px;
- }
- @media (min-width: @xf-responsiveMedium) {
- [data-template="thread_view"]{
- .p-body-content{
- .button{
- margin: 0 3px;
- }
- }
- }
- }]]></template>
- <template title="brv_nav.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[html[dir="RTL"]{
- .p-nav .p-nav-inner .p-nav-scroller .hScroller-scroll .p-nav-list li .p-navEl .p-navEl-link:before{
- transform: translateX(50%);
- }
- }
- .p-nav{
- .p-nav-inner{
- align-items: center;
- position: relative;
- .p-nav-scroller{
- padding-left: 15px;
- .hScroller-scroll{
- &.is-calculated{
- overflow-y: hidden;
- }
- .p-nav-list{
- li{
- &:first-child{
- .p-navEl{
- &:hover{
- background-color: transparent;
- }
- .p-navEl-link{
- padding-left: 0;
- margin-left: -10px;
- &:hover{
- background-color: transparent;
- }
- }
- }
- }
- .p-navEl{
- border-radius: 0;
- position: relative;
- &[data-has-children="true"]{
- .p-navEl-link{
- padding-right: 25px;
- }
- }
- &.is-menuOpen{
- box-shadow: none;
- }
- &.is-selected{
- &.is-menuOpen{
- .p-navEl-splitTrigger{
- opacity: 1;
- visibility: visible;
- }
- }
- .p-navEl-splitTrigger{
- display: inline-block;
- }
- }
- .p-navEl-splitTrigger{
- position: absolute;
- bottom: 0;
- right: 5px;
- &:hover{
- background-color: transparent;
- }
- &:after{
- font-size: 18px;
- }
- }
- .p-navEl-link{
- padding: 10px 15px;
- position: relative;
- letter-spacing: 0.5px;
- &:hover{
- background-color: transparent;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- .p-nav-opposite{
- margin-right: 0;
- display: flex;
- align-items: center;
- }
- .p-discovery{
- background-color: transparent;
- margin: 0;
- .controlSearch{
- height: 50px;
- width: 30px;
- line-height: 50px;
- display: inline-block;
- text-align: center;
- cursor: pointer;
- img{
- position: relative;
- top: 3px;
- }
- }
- .search-area{
- position: absolute;
- width: 270px;
- right: 0;
- top: 150%;
- transition: all 500ms;
- opacity: 0;
- visibility: hidden;
- &.active{
- opacity: 1;
- visibility: visible;
- top: 100%;
- }
- form{
- border-radius: 0;
- border: none;
- background-color: transparent;
- .search-input{
- padding: 10px 10px 0;
- background-color: @xf-BrvColor1;
- position: relative;
- input{
- border: 1px solid @xf-borderColor;
- border-radius: 2px;
- color: @xf-linkColor;
- padding-left: 15px;
- line-height: 28px;
- height: 40px;
- &:-ms-input-placeholder{
- color: @xf-linkColor;
- }
- &::-ms-input-placeholder{
- color: @xf-linkColor;
- }
- &::placeholder{
- color: @xf-linkColor;
- }
- }
- }
- .search-option{
- padding: 15px 0;
- background-color: @xf-BrvColor1;
- transition: all 500ms;
- box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.35);
- z-index: 999;
- &.active{
- top: 100%;
- opacity: 1;
- visibility: visible;
- }
- .inputGroup{
- padding: 10px;
- select{
- background-color: @xf-BrvColor1;
- border: 1px solid @xf-borderColor;
- width: 100% !important;
- option{
- color: #000000;
- }
- }
- }
- .menu-footer{
- padding: 10px 15px;
- background: @xf-BrvColor1 !important;
- border: none;
- .menu-footer-controls{
- .button{
- color: #fff;
- }
- }
- }
- }
- }
- }
- }
- .p-navgroup{
- background-color: transparent !important;
- border-radius: 0;
- position: relative;
- .p-navgroup-link{
- border: none;
- opacity: 1;
- padding: 0 15px;
- width: auto;
- height: 50px;
- text-align: center;
- line-height: 50px;
- border-radius: 0;
- font-weight: 400;
- &:hover{
- background-color: transparent;
- color: @xf-paletteColor3;
- }
- &.is-menuOpen{
- box-shadow: none;
- background-color: transparent;
- color: @xf-paletteColor3;
- }
- color: @xf-BrvColor1;
- &.p-navgroup-link--alerts{
- font-size: 20px;
- .p-navgroup-linkText{
- display: none;
- }
- }
- &.p-navgroup-link--conversations{
- font-size: 20px;
- .p-navgroup-linkText{
- display: none;
- }
- i{
- &:after{
- content: '\f075';
- }
- }
- }
- &.p-navgroup-link--logIn{
- position: relative;
- background-color: transparent;
- padding: 0 15px;
- border-radius: 0;
- &:hover{
- text-decoration: underline;
- }
- }
- &.p-navgroup-link--register{
- background-color: transparent;
- padding: 0 15px;
- border-radius: 0;
- &:hover{
- text-decoration: underline;
- }
- }
- }
- .p-navgroup-link--user{
- max-width: none;
- border-radius: 0;
- position: relative;
- &.is-menuOpen{
- box-shadow: none;
- }
- }
- }
- .p-sectionLinks{
- border-top: 2px solid @xf-paletteColor3;
- .p-sectionLinks-inner{
- padding-left: 20px;
- .hScroller-scroll{
- .p-sectionLinks-list{
- li{
- .p-navEl{
- a{
- padding: 11px 10px;
- &:hover{
- text-decoration: none;
- }
- }
- }
- }
- }
- }
- }
- }
- .subMenu-level0{
- .menu-content{
- background-color: #28232d;
- }
- }]]></template>
- <template title="brv_responsive.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[@media (max-width: 1366px){
- .p-body{
- margin-top: -2px;
- }
- }
- @media (max-width: 1200px){
- .p-footer{
- .footer-bottom{
- .p-footer-inner{
- text-align: center;
- .p-footer-row-opposite{
- float: none;
- margin-bottom: 0;
- text-align: center;
- margin-top: 5px;
- .p-footer-linkList{
- li{
- float: none;
- display: inline-block;
- }
- }
- }
- }
- }
- }
- }
- @media (max-width: 991px){
- .hidden-md{
- display: none !important;
- }
- .brv-nav{
- padding-left: 0;
- &:before{
- display: none;
- }
- }
- .p-discovery .search-area{
- width: 250px;
- }
- }
- @media (max-width: @xf-responsiveWide){
- .p-pageWrapper{
- overflow: hidden;
- }
- .brv-nav .brv-nav__control{
- min-width: 150px;
- }
- .brv-nav{
- max-width: 50%;
- }
- .p-nav .p-nav-inner .p-navgroup .p-navgroup-link--user:after{
- display: none;
- }
- #footer{
- .footer-custom{
- .footer-column{
- margin-bottom: 30px;
- &.footer-column-1{
- width: 100% ;
- .content-inner{
- p{
- max-width: none !important;
- }
- }
- }
- &.footer-column-2{
- width: 30%;
- }
- &.footer-column-3{
- width: 30%;
- }
- &.footer-column-4{
- width: 40%;
- }
- }
- }
- }
- }
- @media (max-width: @xf-responsiveMedium){
- .hidden-xs{
- display: none !important;
- }
- .is-sticky{
- box-shadow: none !important;
- }
- .has-js .p-nav .p-nav-menuTrigger{
- margin-right: auto;
- }
- .brv-nav{
- display: none;
- }
- .block--messages .message .message-inner .message-cell--user .message-userDetails{
- margin-top: 0;
- }
- .structItem-cell.structItem-cell--main{
- padding-left: 10px !important;
- }
- .structItem-cell.structItem-cell--meta{
- padding-left: 10px;
- padding-bottom: 0;
- line-height: 12px;
- position: relative;
- top: -3px;
- background-color: transparent !important;
- width: auto !important;
- border: none !important;
- }
- .structItem-cell.structItem-cell--latest{
- width: auto !important;
- }
- .block--messages .message .message-inner .message-cell--user .message-userDetails .userTitle{
- width: 100%;
- }
- .block--messages .message .message-inner .message-cell--user .message-userDetails .userBanner{
- margin: 0 !important;
- }
- .block--messages .message .message-inner .message-cell--user .message-userDetails .userBanner:before,
- .block--messages .message .message-inner .message-cell--user .message-userDetails .userBanner:after{
- display: none;
- }
- .block-footer.block-footer--split .block-footer-controls .input--inline{
- width: 100%;
- }
- .block-footer.block-footer--split .block-footer-controls .button{
- margin: 5px 0;
- }
- #footer .p-footer-inner .footer-custom .row .footer-column.footer-column-1 .footer-social a{
- margin-bottom: 5px;
- }
- #footer{
- .footer-custom{
- .footer-column{
- margin-bottom: 30px;
- &.footer-column-1{
- width: 100% ;
- .content-inner{
- p{
- max-width: none !important;
- }
- }
- }
- &.footer-column-2{
- width: 50%;
- }
- &.footer-column-3{
- width: 50%;
- }
- &.footer-column-4{
- width: 100%;
- }
- }
- }
- .footer-bottom{
- .p-footer-copyright{
- width: 100%;
- text-align: center !important;
- margin: 15px 0 !important;
- }
- .p-footer-row-opposite{
- .p-footer-linkList{
- text-align: center;
- li{
- float: none;
- display: inline-block;
- }
- }
- }
- }
- }
- }
- @media (max-width: @xf-responsiveNarrow){
- .formButtonGroup{
- .button{
- margin-top: 5px;
- }
- }
- .actionBar-action.actionBar-action--menuTrigger{
- display: inline !important;
- }
- #footer{
- .footer-custom{
- .footer-column{
- margin-bottom: 30px;
- &.footer-column-1{
- width: 100% ;
- .content-inner{
- p{
- max-width: none !important;
- }
- }
- }
- &.footer-column-2{
- width: 100%;
- }
- &.footer-column-3{
- width: 100%;
- }
- &.footer-column-4{
- width: 100%;
- }
- }
- }
- }
- }
- @media (max-width: 425px){
- html[dir="RTL"]{
- .p-nav .p-nav-inner .p-nav-opposite .p-navgroup .search-area form .search-option{
- transform: translateX(50%);
- }
- }
- }
- @media (max-width: 375px){
- }
- @media (max-width: 320px){
- }
- //responsive min width
- @media (min-width: @xf-responsiveNarrow){
- }
- @media (min-width: @xf-responsiveMedium){
- .show-xs{
- display: none !important;
- }
- //p-staffBar
- .p-staffBar{
- .hScroller-scroll.is-calculated{
- overflow-y: hidden;
- overflow-x: hidden;
- margin: 0 !important;
- }
- }
- .link-admin{
- float: right;
- }
- }
- @media (min-width: @xf-responsiveWide){
- .show-sm{
- display: none !important;
- }
- #footer{
- .footer-custom{
- .footer-column{
- &.footer-column-1{
- width: 48% ;
- }
- &.footer-column-2{
- width: 15%;
- }
- &.footer-column-3{
- width: 15%;
- }
- &.footer-column-4{
- width: 22%;
- }
- }
- }
- }
- }
- @media (min-width: 991px){
- .show-md{
- display: none !important;
- }
- }
- @media (min-width: 1200px){
- }
- @media (min-width: 1366px){
- }]]></template>
- <template title="brv_stickynav.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[.is-sticky{
- .p-nav{
- .p-nav-inner{
- .p-nav-scroller{
- .hScroller-scroll{
- .p-nav-list{
- li{
- &:first-child{
- margin-left: 12px;
- }
- .p-navEl{
- .p-navEl-link{
- padding: 10px 20px;
- &:before{
- display: none;
- }
- }
- .p-navEl-splitTrigger{
- right: 0;
- bottom: 0;
- &:before{
- display: none;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }]]></template>
- <template title="brv_structured.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[.structItem.is-highlighted, .structItem.is-moderated{
- background: #cccccc !important;
- }
- .structItem.is-mod-selected{
- background: #cccccc !important;
- }
- .structItemContainer{
- background: @xf-BrvColor1;
- padding: 0 10px;
- .structItem{
- border-color: transparent;
- margin: 5px 0;
- background-color: #f3f3f3;
- .structItem-cell--newThread{
- padding-top: 18px;
- .input{
- background-color: @xf-BrvColor1;
- }
- }
- .structItem-cell--icon{
- width: 70px;
- padding-left: 15px;
- padding-right: 10px;
- .structItem-iconContainer{
- .avatar:first-child{
- width: 45px;
- height: 45px;
- font-size: 20px;
- span{
- line-height:43px;
- }
- }
- }
- }
- .structItem-cell--main{
- .structItem-title{
- margin: 5px 0;
- font-size: 14px;
- font-weight: 500;
- .labelLink{
- font-size: 11px;
- line-height: 18px;
- position: relative;
- top: -3px;
- margin-right: 5px;
- .label{
- border: none;
- padding: 3px 8px;
- line-height: 13px;
- border-radius: 2.5px;
- color: #fff;
- font-weight: 600;
- font-size: 90%;
- }
- }
- a{
- color: @xf-linkColor;
- font-weight: 600;
- }
- }
- .structItem-minor{
- .structItem-parts{
- .username{
- color: @xf-textColor;
- font-weight: 600;
- }
- }
- }
- }
- .structItem-cell--meta{
- width: 165px;
- dl{
- margin: 5px 0;
- dt{
- color: @xf-linkColor;
- }
- dd{
- color: @xf-linkColor;
- }
- }
- }
- time{
- color: @xf-textColor;
- }
- .structItem-pageJump{
- display: none;
- }
- .structItem-cell--latest{
- padding-right: 15px;
- .structItem-minor{
- margin: 5px 0;
- a{
- font-size: 14px;
- font-weight: 600;
- color: @xf-linkColor;
- text-transform: capitalize;
- }
- }
- >a{
- font-size: 12px;
- color: @xf-textColor;
- }
- }
- }
- }
- body[data-template="forum_view"]{
- .structItem-cell--latest{
- width: 145px;
- }
- }
- .is-unread .structItem-title{
- font-weight: 700 !important;
- a{
- color: #000000 !important;
- font-weight: 700 !important;
- }
- }
- .title-thread{
- display: table;
- width: 100%;
- position: relative;
- background-color: @xf-BrvColor1;
- &:hover{
- &:after{
- animation-name: flicker;
- animation-duration: 0.4s;
- animation-iteration-count: infinite;
- -webkit-animation-name: flicker;
- -webkit-animation-duration: 0.4s;
- -webkit-animation-iteration-count: infinite;
- }
- }
- .item-title{
- padding: 10px 10px 11px;
- display: table-cell;
- font-size: 14px;
- text-transform: capitalize;
- color: @xf-paletteColor3;
- font-weight: 400;
- position: relative;
- &.cell-title{
- padding-left: 15px;
- }
- &.cell-user{
- width: 130px;
- text-align: right;
- padding-right: 15px;
- }
- &.cell-views,&.cell-reply{
- width: 90px;
- text-align: center;
- }
- }
- }]]></template>
- <template title="core_block.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ################################# BLOCKS ##################
- .blocks
- {
- margin-bottom: @xf-elementSpacer;
- &:last-child
- {
- margin-bottom: 0;
- }
- .block
- {
- margin-bottom: (@xf-elementSpacer / 2);
- &:last-child
- {
- margin-bottom: 0;
- }
- }
- }
- .blocks-header
- {
- font-size: @xf-fontSizeLarger;
- font-weight: @xf-fontWeightNormal;
- color: @xf-textColorMuted;
- margin-bottom: 5px;
- }
- .blocks-textJoiner
- {
- display: table;
- width: 100%;
- margin-bottom: (@xf-elementSpacer / 2);
- padding: 0 @xf-paddingMedium;
- > span
- {
- display: table-cell;
- position: relative;
- &:before
- {
- content: '';
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- border-top: @xf-borderSize solid @xf-borderColor;
- }
- }
- > em
- {
- display: table-cell;
- padding: 0 @xf-paddingLarge;
- width: 1%;
- white-space: nowrap;
- font-size: @xf-fontSizeLargest;
- line-height: 1;
- font-style: normal;
- text-align: center;
- }
- }
- .block
- {
- margin-bottom: @xf-elementSpacer;
- &.block--close
- {
- margin-bottom: 5px;
- }
- &.block--treeEntryChooser
- {
- .block-header
- {
- font-size: @xf-fontSizeLarge;
- .block-desc
- {
- font-size: @xf-fontSizeSmallest;
- }
- }
- .block-row
- {
- padding-top: 6px;
- padding-bottom: 6px;
- }
- .contentRow
- {
- &.is-disabled
- {
- opacity: 0.5;
- }
- }
- .contentRow-title
- {
- font-size: @xf-fontSizeNormal;
- }
- .contentRow-minor
- {
- font-size: @xf-fontSizeSmaller;
- }
- .contentRow-suffix
- {
- font-size: @xf-fontSizeSmall;
- }
- }
- }
- .block-outer
- {
- padding-bottom: 20px;
- .m-clearFix();
- &:empty
- {
- display: none;
- }
- &.block-outer--after
- {
- padding-top: 20px;
- padding-bottom: 0;
- }
- .block-outer-hint
- {
- font-size: @xf-fontSizeSmall;
- color: @xf-textColorMuted;
- }
- }
- .block-outer-main { float: left; }
- .block-outer-opposite { float: right; }
- .block-outer-middle { text-align: center; }
- .block-container
- {
- border-radius: @xf-blockBorderRadius;
- .m-transition(); .m-transitionProperty(border margin); // edgeSpacerRemoval
- }
- @media (min-width: @xf-responsiveEdgeSpacerRemoval)
- {
- @{block-noStripSel} > :first-child,
- .block-topRadiusContent,
- @{block-noStripSel} > .block-body:first-child > .blockLink:first-child
- {
- border-top-left-radius: @block-borderRadius-inner;
- border-top-right-radius: @block-borderRadius-inner;
- }
- @{block-noStripSel} > :last-child,
- .block-bottomRadiusContent,
- @{block-noStripSel} > .block-body:last-child > .blockLink:last-child
- {
- border-bottom-left-radius: @block-borderRadius-inner;
- border-bottom-right-radius: @block-borderRadius-inner;
- }
- @{block-noStripSel} > .block-body:first-child > .dataList:first-child,
- .block-topRadiusContent.dataList,
- .block-topRadiusContent > .dataList:first-child
- {
- tbody:first-child .dataList-row:first-child,
- thead:first-child .dataList-row:first-child
- {
- > .dataList-cell:first-child { border-top-left-radius: @block-borderRadius-inner; }
- > .dataList-cell:last-child { border-top-right-radius: @block-borderRadius-inner; }
- }
- }
- @{block-noStripSel} > .block-body:first-child > .formRow:first-child,
- .block-topRadiusContent.formRow,
- .block-topRadiusContent > .formRow:first-child
- {
- > dt { border-top-left-radius: @block-borderRadius-inner; }
- > dd { border-top-right-radius: @block-borderRadius-inner; }
- }
- @{block-noStripSel} > .block-body:last-child > .dataList:last-child,
- .block-bottomRadiusContent.dataList,
- .block-bottomRadiusContent > .dataList:last-child
- {
- tbody:last-child .dataList-row:last-child
- {
- > .dataList-cell:first-child { border-bottom-left-radius: @block-borderRadius-inner; }
- > .dataList-cell:last-child { border-bottom-right-radius: @block-borderRadius-inner; }
- }
- }
- @{block-noStripSel} > .block-body:last-child > .formRow:last-child,
- .block-bottomRadiusContent.formRow,
- .block-bottomRadiusContent > .formRow:last-child
- {
- > dt { border-bottom-left-radius: @block-borderRadius-inner; }
- > dd { border-bottom-right-radius: @block-borderRadius-inner; }
- }
- @{block-noStripSel} > .block-body:last-child .formSubmitRow:not(.is-sticky),
- @{block-noStripSel} > .formSubmitRow:not(.is-sticky):last-child,
- .block-bottomRadiusContent > .formSubmitRow:not(.is-sticky)
- {
- > dt { border-bottom-left-radius: @block-borderRadius-inner; }
- > dd { border-bottom-right-radius: @block-borderRadius-inner; }
- .formSubmitRow-bar
- {
- border-bottom-left-radius: @block-borderRadius-inner;
- border-bottom-right-radius: @block-borderRadius-inner;
- }
- }
- }
- .block-header
- {
- padding: @xf-blockPaddingV @xf-blockPaddingH;
- margin: 0;
- font-weight: @xf-fontWeightNormal;
- text-decoration: none;
- .xf-blockHeader();
- .m-clearFix();
- .m-hiddenLinks();
- &.block-header--separated
- {
- border-top: @xf-borderSize solid @xf-borderColorLight;
- }
- .block-desc
- {
- color: fade(@xf-blockHeader--color, 70);
- .m-textColoredLinks();
- }
- }
- .block-minorHeader
- {
- padding: @xf-blockPaddingV @xf-blockPaddingH;
- margin: 0;
- font-weight: @xf-fontWeightNormal;
- text-decoration: none;
- .xf-blockMinorHeader();
- .m-clearFix();
- .m-hiddenLinks();
- .block-body + &
- {
- border-top: @xf-borderSize solid @xf-borderColorLight;
- }
- .block-desc
- {
- .m-textColoredLinks();
- }
- &--small
- {
- font-size: @xf-fontSizeSmall;
- }
- }
- .block-tabHeader
- {
- padding: 0;
- margin: 0;
- font-weight: @xf-fontWeightNormal;
- .xf-blockTabHeader();
- .m-tabsTogether(xf-default(@xf-blockTabHeader--font-size, @xf-fontSizeNormal));
- .tabs-tab
- {
- padding: @xf-blockPaddingV @xf-blockPaddingH max(0px, @xf-blockPaddingV - @xf-borderSizeFeature);
- border-bottom: @xf-borderSizeFeature solid transparent;
- &:hover
- {
- color: @xf-blockTabHeaderSelected--color;
- background: fade(@xf-blockTabHeaderSelected--color, 10%);
- }
- &.is-active
- {
- background: none;
- .xf-blockTabHeaderSelected();
- }
- }
- .block-tabHeader-extra
- {
- float: right;
- color: inherit;
- font-size: @xf-blockTabHeader--font-size;
- padding: @xf-blockPaddingV @xf-blockPaddingH;
- }
- .hScroller-action
- {
- .m-hScrollerActionColorVariation(
- xf-default(@xf-blockTabHeader--background-color, transparent),
- @xf-blockTabHeader--color,
- @xf-blockTabHeaderSelected--color
- );
- }
- }
- .block-minorTabHeader
- {
- padding: 0;
- margin: 0;
- font-weight: @xf-fontWeightNormal;
- .xf-blockMinorTabHeader();
- .m-tabsTogether(xf-default(@xf-blockMinorTabHeader--font-size, @xf-fontSizeNormal));
- .tabs-tab
- {
- padding: @xf-blockPaddingV @xf-blockPaddingH max(0px, @xf-blockPaddingV - @xf-borderSizeFeature);
- border-bottom: @xf-borderSizeFeature solid transparent;
- &:hover
- {
- color: @xf-blockMinorTabHeaderSelected--color;
- }
- &.is-active
- {
- background: none;
- .xf-blockMinorTabHeaderSelected();
- }
- }
- .hScroller-action
- {
- .m-hScrollerActionColorVariation(
- xf-default(@xf-blockMinorTabHeader--background-color, transparent),
- @xf-blockMinorTabHeader--color,
- @xf-blockMinorTabHeaderSelected--color
- );
- }
- }
- .block-filterBar
- {
- padding: @xf-blockPaddingV @xf-blockPaddingH;
- .xf-blockFilterBar();
- .filterBar-filterToggle
- {
- background: mix(
- xf-default(@xf-blockFilterBar--color, @xf-linkColor),
- xf-default(@xf-blockFilterBar--background-color, transparent),
- 8%
- );
- }
- .filterBar-filterToggle,
- .filterBar-menuTrigger
- {
- &:hover
- {
- text-decoration: none;
- background: mix(
- xf-default(@xf-blockFilterBar--color, @xf-linkColor),
- xf-default(@xf-blockFilterBar--background-color, transparent),
- 16%
- );
- }
- }
- .filterBar-menuTrigger
- {
- margin-right: -5px;
- }
- }
- .block-textHeader
- {
- margin: @xf-blockPaddingV/2 0;
- padding: 0;
- font-weight: @xf-fontWeightNormal;
- .xf-blockTextHeader();
- .m-clearFix();
- .m-hiddenLinks();
- &.block-textHeader--scaled
- {
- font-size: inherit;
- }
- .block-textHeader-highlight
- {
- color: @xf-textColor;
- }
- .block-desc
- {
- .m-textColoredLinks();
- }
- &:first-child
- {
- margin-top: 0;
- }
- }
- .block-formSectionHeader
- {
- padding: @xf-blockPaddingV @xf-blockPaddingH;
- margin: 0;
- font-weight: @xf-fontWeightNormal;
- text-decoration: none;
- .xf-formSectionHeader();
- .m-clearFix();
- .m-hiddenLinks();
- .block-desc
- {
- .m-textColoredLinks();
- }
- .block-container > &:first-child
- {
- border-top: none;
- }
- .block-formSectionHeader-aligner
- {
- @_blockPaddingShift: (unit(@xf-formLabelWidth) / 100) * (@xf-blockPaddingH);
- display: inline-block;
- text-align: right;
- min-width: @xf-formLabelWidth;
- min-width: ~"calc((@{xf-formLabelWidth}) - (@{_blockPaddingShift}) - (@{xf-formRowPaddingHInner}) - (@{xf-borderSize}))";
- max-width: 100%;
- @media (max-width: @xf-formResponsive)
- {
- display: inline;
- text-align: left;
- min-width: 0;
- padding-left: 0;
- }
- }
- @media (max-width: @xf-formResponsive)
- {
- padding-left: @xf-formRowPaddingHOuter;
- }
- .block-formSectionHeader-multiChecker
- {
- float: right;
- }
- }
- .block-desc
- {
- display: block;
- font-size: @xf-fontSizeSmaller;
- font-weight: @xf-fontWeightNormal;
- }
- .block-body
- {
- .m-listPlain();
- &.block-body--collapsible
- {
- .has-no-js & { display: block; }
- .m-transitionFadeDown();
- }
- &.block-body--contained
- {
- overflow: auto;
- max-height: 300px;
- max-height: 70vh;
- }
- }
- .block-row
- {
- margin: 0;
- padding: @xf-blockPaddingV @xf-blockPaddingH;
- .m-clearFix();
- &.block-row--alt
- {
- .xf-contentAltBase();
- }
- &.block-row--minor
- {
- font-size: @xf-fontSizeSmall;
- }
- &.block-row--separated
- {
- padding-top: (@xf-blockPaddingV) * 2;
- padding-bottom: (@xf-blockPaddingV) * 2;
- + .block-row
- {
- border-top: @xf-borderSize solid @xf-borderColorLight;
- }
- }
- &.block-row--connectAbove
- {
- padding-bottom: (@xf-blockPaddingV) * 2;
- .block-body > &:last-child
- {
- padding-bottom: @xf-blockPaddingV;
- }
- }
- &.block-row--highlighted
- {
- .xf-contentHighlightBase();
- }
- &.block-row--clickable:hover
- {
- .xf-contentHighlightBase();
- }
- &.is-mod-selected
- {
- background: @xf-inlineModHighlightColor;
- }
- > pre
- {
- &:first-child { margin-top: 0; }
- &:last-child { margin-bottom: 0; }
- }
- }
- .block-separator
- {
- margin: 0;
- padding: 0;
- border: none;
- border-top: @xf-borderSize solid @xf-borderColorLight;
- }
- .block-footer
- {
- padding: @xf-blockPaddingV @xf-blockPaddingH;
- .xf-blockFooter();
- .m-clearFix();
- &:first-child
- {
- border: none;
- }
- [data-app=admin] &
- {
- .block-footer-counter,
- .block-footer-select
- {
- line-height: 30px;
- }
- }
- &:not(.block-footer--split)
- {
- .block-footer-counter
- {
- float: left;
- }
- .block-footer-controls
- {
- float: right;
- }
- }
- &.block-footer--split
- {
- display: flex;
- align-items: center;
- .block-footer-main,
- .block-footer-counter
- {
- flex-grow: 1;
- .has-no-flexbox &
- {
- float: left;
- }
- }
- .block-footer-select:not(:last-child)
- {
- margin: 0 1em;
- }
- .block-footer-opposite,
- .block-footer-controls
- {
- margin-left: auto;
- .has-no-flexbox &
- {
- float: right;
- }
- }
- }
- }
- @media (max-width: @xf-responsiveNarrow)
- {
- .block-outer
- {
- text-align: center;
- }
- .block-outer-main,
- .block-outer-opposite
- {
- float: none;
- text-align: center;
- }
- .block-outer-main + .block-outer-opposite
- {
- margin-top: @xf-paddingMedium;
- }
- }]]></template>
- <template title="core_button.less" type="public" addon_id="XF" version_id="2000670" version_string="2.0.6"><![CDATA[// ############################ BUTTONS #################
- .button,
- a.button // needed for specificity over a:link
- {
- .m-buttonBase();
- a
- {
- color: inherit;
- text-decoration: none;
- }
- .xf-buttonDefault();
- .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonDefault--background-color, transparent));
- &.button--primary
- {
- .xf-buttonPrimary();
- .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonPrimary--background-color, transparent));
- }
- &.button--cta
- {
- .xf-buttonCta();
- .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonCta--background-color, transparent));
- }
- &.button--link
- {
- // block colors
- .m-buttonBorderColorVariation(@xf-borderColor);
- border:0;
- &:hover,
- &:active,
- &:focus
- {
- text-decoration: none;
- background: @xf-contentHighlightBg;
- }
- }
- &.button--longText
- {
- white-space: normal;
- text-align: left;
- }
- &.is-disabled
- {
- .xf-buttonDisabled();
- .m-buttonBorderColorVariation(xf-default(@xf-buttonDisabled--background-color, transparent));
- &:hover,
- &:active,
- &:focus
- {
- background: xf-default(@xf-buttonDisabled--background-color, transparent) !important;
- }
- }
- &.button--scroll
- {
- background: fade(xf-default(@xf-buttonDefault--background-color, transparent), 75%);
- padding: 5px 8px;
- .m-dropShadow();
- }
- &.button--small
- {
- font-size: @xf-fontSizeSmaller;
- padding: 3px 6px;
- }
- &.button--fullWidth
- {
- display: block;
- }
- &.button--icon
- {
- > .button-text:before
- {
- .m-faBase();
- font-size: 120%;
- vertical-align: -.1em;
- display: inline-block;
- margin: -.255em 6px -.255em 0;
- }
- &.button--iconOnly > .button-text
- {
- &:before
- {
- margin: 0;
- }
- }
- &--add { .m-buttonIcon(@fa-var-plus-square, .79em); }
- &--confirm { .m-buttonIcon(@fa-var-check, 1em); }
- &--write { .m-buttonIcon(@fa-var-pencil-square-o, 1em); }
- &--import { .m-buttonIcon(@fa-var-upload, .93em); }
- &--export { .m-buttonIcon(@fa-var-download, .93em); }
- &--download { .m-buttonIcon(@fa-var-download, .93em); }
- &--disable { .m-buttonIcon(@fa-var-power-off); }
- &--edit { .m-buttonIcon(@fa-var-pencil, .86em); }
- &--save { .m-buttonIcon(@fa-var-save, .86em); }
- &--reply { .m-buttonIcon(@fa-var-mail-reply, 1em); }
- &--quote { .m-buttonIcon(@fa-var-quote-left, .93em); }
- &--purchase { .m-buttonIcon(@fa-var-credit-card, 1.11em); }
- &--payment { .m-buttonIcon(@fa-var-credit-card, 1.08em); }
- &--convert { .m-buttonIcon(@fa-var-flash, .5em); }
- &--search { .m-buttonIcon(@fa-var-search, .93em); }
- &--sort { .m-buttonIcon(@fa-var-sort, .58em); }
- &--upload { .m-buttonIcon(@fa-var-upload, .93em); }
- &--attach { .m-buttonIcon(@fa-var-paperclip, .79em); }
- &--login { .m-buttonIcon(@fa-var-lock, .65em); }
- &--rate { .m-buttonIcon(@fa-var-star-half-empty, .93em); }
- &--config { .m-buttonIcon(@fa-var-cog, .86em); }
- &--refresh { .m-buttonIcon(@fa-var-refresh, .86em); }
- &--translate { .m-buttonIcon(@fa-var-globe, .86em); }
- &--vote { .m-buttonIcon(@fa-var-check-circle-o, .86em); }
- &--result { .m-buttonIcon(@fa-var-bar-chart-o, 1.15em); }
- &--history { .m-buttonIcon(@fa-var-history, .86em); }
- &--cancel { .m-buttonIcon(@fa-var-remove, .86em); }
- &--preview { .m-buttonIcon(@fa-var-eye, 1em); }
- &--conversation { .m-buttonIcon(@fa-var-comments-o, 1em); }
- &--bolt { .m-buttonIcon(@fa-var-bolt, .5em); }
- &--list { .m-buttonIcon(@fa-var-list, .86em); }
- &--prev { .m-buttonIcon(@fa-var-chevron-left, .71em); }
- &--next { .m-buttonIcon(@fa-var-chevron-right, .71em); }
- &--markRead { .m-buttonIcon(@fa-var-check-square-o, .93em); }
- &--notificationsOn { .m-buttonIcon(@fa-var-bell-o, 1em); }
- &--notificationsOff { .m-buttonIcon(@fa-var-bell-slash-o, 1.15em); }
- // for inline mod confirmations
- &--merge { .m-buttonIcon(@fa-var-compress, .86em); }
- &--move { .m-buttonIcon(@fa-var-share, 1em); }
- &--copy { .m-buttonIcon(@fa-var-clone, 1em); }
- &--approve, &--unapprove { .m-buttonIcon(@fa-var-shield, .72em); }
- &--delete, &--undelete { .m-buttonIcon(@fa-var-trash-o, .79em); }
- &--stick, &--unstick { .m-buttonIcon(@fa-var-thumb-tack, .65em); }
- &--lock { .m-buttonIcon(@fa-var-lock, .65em); }
- &--unlock { .m-buttonIcon(@fa-var-unlock, .93em); }
- //&--login:hover, &--login:active { .m-buttonIcon(@fa-var-unlock-alt, .65em); }
- }
- &.button--provider
- {
- > .button-text:before
- {
- .m-faBase();
- font-size: 120%;
- vertical-align: middle;
- display: inline-block;
- margin: -4px 6px -4px 0;
- }
- &--facebook
- {
- .m-buttonColorVariation(#3B5998, white);
- .m-buttonIcon(@fa-var-facebook, .58em);
- }
- &--twitter
- {
- .m-buttonColorVariation(#1DA1F3, white);
- .m-buttonIcon(@fa-var-twitter, .93em);
- }
- &--google
- {
- .m-buttonColorVariation(#4285F4, white);
- .m-buttonIcon(@fa-var-google, .86em);
- }
- &--github
- {
- .m-buttonColorVariation(#666666, white);
- .m-buttonIcon(@fa-var-github, .86em);
- }
- &--linkedin
- {
- .m-buttonColorVariation(#0077b5, white);
- .m-buttonIcon(@fa-var-linkedin, .86em);
- }
- &--microsoft
- {
- .m-buttonColorVariation(#00bcf2, white);
- .m-buttonIcon(@fa-var-windows, .93em);
- }
- &--yahoo
- {
- .m-buttonColorVariation(#410093, white);
- .m-buttonIcon(@fa-var-yahoo, .86em);
- }
- }
- &.button--splitTrigger
- {
- // button-text and button-menu are always children of button--splitTrigger
- // but are defined here for reasons of specificity, as these border colors
- // are overwritten by .m-buttonBorderColorVariation()
- > .button-text { border-right: @xf-borderSize solid transparent; }
- > .button-menu { border-left: @xf-borderSize solid transparent; }
- .m-clearFix();
- padding: 0;
- font-size: 0;
- button.button-text
- {
- background: transparent;
- border: none;
- border-right: @xf-borderSize solid transparent;
- color: inherit;
- }
- > .button-text,
- > .button-menu
- {
- .xf-buttonBase();
- display: inline-block;
- &:hover
- {
- &:after
- {
- opacity: 1;
- }
- }
- }
- > .button-text
- {
- .m-borderRightRadius(0);
- }
- > .button-menu
- {
- .m-borderLeftRadius(0);
- padding-right: xf-default(@xf-buttonBase--padding-right, 0);// * (2/3);
- padding-left: xf-default(@xf-buttonBase--padding-left, 0);// * (2/3);
- &:after
- {
- .m-faBase();
- .m-faContent(@fa-var-caret-down, .58em);
- unicode-bidi: isolate;
- opacity: .5;
- }
- }
- }
- }
- .buttonGroup
- {
- display: inline-block;
- vertical-align: top;
- .m-clearFix();
- &.buttonGroup--aligned
- {
- vertical-align: middle;
- }
- > .button
- {
- float: left;
- &:not(:first-child)
- {
- border-left: none;
- }
- &:not(:first-child):not(:last-child)
- {
- border-radius: 0;
- }
- &:first-child:not(:last-child)
- {
- .m-borderRightRadius(0);
- }
- &:last-child:not(:first-child)
- {
- .m-borderLeftRadius(0);
- }
- }
- > .buttonGroup-buttonWrapper
- {
- float: left;
- &:not(:first-child) > .button
- {
- border-left: none;
- }
- &:not(:first-child):not(:last-child) > .button
- {
- border-radius: 0;
- }
- &:first-child:not(:last-child) > .button
- {
- .m-borderRightRadius(0);
- }
- &:last-child:not(:first-child) > .button
- {
- .m-borderLeftRadius(0);
- }
- }
- }
- .toggleButton
- {
- > input
- {
- display: none;
- }
- > span
- {
- .xf-buttonDisabled();
- .m-buttonBorderColorVariation(xf-default(@xf-buttonDisabled--background-color, transparent));
- }
- &.toggleButton--small > span
- {
- font-size: @xf-fontSizeSmaller;
- padding: @xf-paddingSmall;
- }
- > input:checked + span
- {
- .xf-buttonDefault();
- .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonDefault--background-color, transparent));
- }
- }
- .u-scrollButtons
- {
- position: fixed;
- bottom: 30px;
- right: (@xf-pageEdgeSpacer) / 2;
- .has-hiddenscroll &
- {
- right: 20px;
- }
- z-index: @zIndex-9;
- .m-transition(opacity, @xf-animationSpeed);
- opacity: 0;
- display: none;
- &.is-transitioning
- {
- display: block;
- }
- &.is-active
- {
- display: block;
- opacity: 1;
- }
- .button
- {
- display: block;
- + .button
- {
- margin-top: (@xf-pageEdgeSpacer) / 2;
- }
- }
- }]]></template>
- <template title="core_formrow.less" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[// ########################################### FORM ROWS #################################
- @_form-labelShiftInput: @xf-paddingMedium + @xf-borderSize; // technically input border-top-width + padding-top
- @_form-labelButtonInput: 5px; // technically button border-top-width + padding-top, adjusted for text size differences
- @_form-elementSpacer: @xf-paddingMedium;
- .m-formRowBlockStyle()
- {
- display: block;
- > dt,
- > dd
- {
- width: auto;
- display: block;
- padding: ((@xf-formRowPaddingV) / 2) @xf-formRowPaddingHOuter @xf-formRowPaddingV;
- }
- > dt
- {
- background: none;
- border: none;
- text-align: left;
- padding-bottom: 0;
- .formRow-hint
- {
- display: inline;
- }
- }
- &.formRow--input,
- &.formRow--button
- {
- > dt
- {
- padding-top: ((@xf-formRowPaddingV) / 2);
- }
- }
- > dd
- {
- padding-top: ((@xf-formRowPaddingV) / 2);
- }
- > dd > .inputChoices:first-child
- {
- padding-top: 0;
- }
- }
- .formRow
- {
- display: table;
- table-layout: fixed;
- width: 100%;
- margin: 0;
- position: relative;
- > dt,
- > dd
- {
- display: table-cell;
- vertical-align: top;
- margin: 0;
- }
- > dt
- {
- border-right: @xf-borderSize solid transparent;
- width: @xf-formLabelWidth;
- padding: @xf-formRowPaddingV @xf-formRowPaddingHInner @xf-formRowPaddingV @xf-formRowPaddingHOuter;
- }
- > dd
- {
- width: (100% - @xf-formLabelWidth);
- padding: @xf-formRowPaddingV @xf-formRowPaddingHOuter @xf-formRowPaddingV @xf-formRowPaddingHInner;
- }
- &.formRow--input > dt
- {
- padding-top: (@xf-formRowPaddingV + @_form-labelShiftInput);
- }
- &.formRow--button > dt
- {
- padding-top: (@xf-formRowPaddingV + @_form-labelButtonInput);
- }
- &.formRow--inputLabelPair > dt
- {
- padding-top: (@xf-formRowPaddingV * 2);
- }
- &.formRow--valueToEdge > dd
- {
- padding-left: 0;
- padding-right: 0;
- }
- &.formRow--limited
- {
- display: none;
- }
- &.formRow--fullWidth
- {
- .m-formRowBlockStyle();
- & + .formRow,
- .formRow + &,
- & + * > .formRow:first-of-type, // allows formRows to be wrapped
- .formRow + * > &:first-of-type // in a single-depth grouping element
- {
- border-top: @xf-borderSize solid @xf-borderColorLight;
- }
- &.formRow--noLabel
- {
- > dt
- {
- display: none;
- }
- > dd
- {
- padding-top: @xf-formRowPaddingV;
- }
- }
- & + .formRow--mergePrev,
- & + * > .formRow:first-of-type.formRow--mergePrev,
- &.formRow--mergeNext + &,
- &.formRow--mergeNext + * > &:first-of-type
- {
- border-top: 0;
- > dt
- {
- padding-top: 0;
- }
- }
- &.formRow--noGutter
- {
- > dt,
- > dd
- {
- padding-left: 0;
- padding-right: 0;
- }
- }
- &.formRow--noPadding
- {
- > dt,
- > dd
- {
- padding: 0;
- }
- }
- &.formRow--noPadding + &,
- &.formRow--noPadding + * > &:first-of-type
- {
- > dt
- {
- padding-top: @xf-formRowPaddingV;
- }
- }
- }
- .formRow-label
- {
- .m-appendColon();
- }
- &.formRow--noColon .formRow-label:after
- {
- content: "";
- }
- .formRow-explain
- {
- margin: @_form-elementSpacer 0 0;
- .m-formElementExplain();
- }
- &.formRow--explainOffset .formRow-explain
- {
- margin-top: (@_form-elementSpacer) * 2;
- }
- .formRow-hint
- {
- display: block;
- font-style: normal;
- .xf-formHint();
- .m-textColoredLinks();
- .formRow-hint-featured
- {
- display: block;
- //font-weight: @xf-fontWeightHeavy;
- color: @xf-textColorFeature;
- }
- }
- + .formInfoRow
- {
- border-top: @xf-borderSize solid @xf-borderColorLight;
- }
- @media (max-width: @xf-formResponsive)
- {
- .m-formRowBlockStyle();
- }
- }
- .formButtonGroup
- {
- display: flex;
- flex-wrap: wrap;
- margin-top: @xf-paddingLarge;
- margin-bottom: -5px;
- .has-no-flexbox
- {
- .m-clearFix();
- }
- }
- .formButtonGroup-primary
- {
- order: 2;
- margin-left: auto;
- margin-bottom: 5px;
- .has-no-flexbox
- {
- float: right;
- }
- }
- .formButtonGroup-extra
- {
- order: 1;
- margin-bottom: 5px;
- .has-no-flexbox
- {
- float: left;
- }
- }
- .formInfoRow
- {
- padding: @xf-formRowPaddingV @xf-formRowPaddingHOuter;
- &.formInfoRow--close
- {
- padding-top: ((@xf-formRowPaddingV) / 2);
- padding-bottom: ((@xf-formRowPaddingV) / 2);
- }
- &.formInfoRow--noPadding
- {
- padding: 0;
- }
- &.formInfoRow--confirm
- {
- text-align: center;
- strong
- {
- display: block;
- margin: .5em 0;
- font-size: @xf-fontSizeLarger;
- &:last-child
- {
- margin-bottom: 0;
- }
- }
- }
- + .formRow
- {
- border-top: @xf-borderSize solid @xf-borderColorLight;
- }
- &.u-hidden:not(.is-active)
- {
- + .formRow
- {
- border-top: none;
- }
- }
- > .blockMessage
- {
- &:first-child { margin-top: 0; }
- &:last-child { margin-bottom: 0; }
- }
- }
- .formSubmitRow
- {
- position: relative;
- > dt
- {
- display: none;
- }
- > dd
- {
- width: 100%;
- padding: 0;
- }
- &.formSubmitRow--sticky.is-sticky
- {
- .formSubmitRow-main
- {
- position: fixed;
- bottom: 0;
- z-index: @zIndex-2;
- }
- .formSubmitRow-bar
- {
- box-shadow: 0px -5px 15px fade(black, 15%);
- }
- }
- &.formSubmitRow--simple
- {
- > dt
- {
- visibility: hidden;
- }
- .formSubmitRow-controls
- {
- text-align: center;
- padding-left: 0;
- margin-left: 0;
- }
- }
- .block-body--collapsible:not(.is-active) + &:not(.formSubmitRow--simple)
- {
- > dt
- {
- visibility: hidden;
- }
- }
- }
- .formSubmitRow-main
- {
- position: relative;
- }
- .formSubmitRow-bar
- {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- }
- .formSubmitRow-controls
- {
- position: relative;
- padding-left: @xf-formLabelWidth;
- padding-top: @xf-paddingMedium;
- padding-bottom: @xf-paddingMedium;
- margin-left: @xf-formRowPaddingHInner;
- margin-right: @xf-formRowPaddingHOuter;
- > .button:first-child:last-child
- {
- min-width: 120px;
- }
- }
- @media (max-width: @xf-formResponsive)
- {
- .formSubmitRow-controls
- {
- padding-left: 0;
- text-align: center;
- }
- }
- .formRowSep
- {
- margin: -1px @xf-formRowPaddingHOuter 0;
- border: none;
- border-top: @xf-borderSize solid @xf-borderColor;
- + .formRowSep,
- &:last-child
- {
- display: none;
- }
- }]]></template>
- <template title="core_hscroller.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ##################################### HORIZONTAL SCROLLER ###################
- .hScroller
- {
- overflow-y: hidden;
- position: relative;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
- -webkit-overflow-scrolling: touch;
- &.hScroller--scrollHidden
- {
- .hScroller-action
- {
- opacity: 0;
- .m-transition();
- }
- .has-no-touchevents &:hover .hScroller-action
- {
- opacity: 1;
- }
- }
- }
- .hScroller-scroll
- {
- display: block;
- white-space: nowrap;
- word-wrap: normal;
- overflow-x: hidden;
- &.is-calculated
- {
- overflow-x: scroll;
- // pushes the scrollbar out of view
- }
- }
- .hScroller-action
- {
- position: absolute;
- top: 0;
- bottom: 0;
- width: 40px;
- padding: 0 5px;
- display: none;
- cursor: pointer;
- &.is-active
- {
- display: block;
- display: flex;
- align-items: center;
- }
- &:after
- {
- .m-faBase();
- font-size: 120%;
- }
- &.hScroller-action--start
- {
- left: 0;
- justify-content: flex-start;
- text-align: left;
- &:after
- {
- .m-faContent(@fa-var-chevron-left, .72em, ltr);
- .m-faContent(@fa-var-chevron-right, .72em, rtl);
- }
- }
- &.hScroller-action--end
- {
- right: 0;
- justify-content: flex-end;
- text-align: right;
- &:after
- {
- .m-faContent(@fa-var-chevron-right, .72em, ltr);
- .m-faContent(@fa-var-chevron-left, .72em, rtl);
- }
- }
- }
- .scrollMeasure
- {
- position: absolute;
- top: -1000px;
- width: 100px;
- height: 100px;
- overflow: scroll;
- visibility: hidden;
- }]]></template>
- <template title="core_list.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ##################################### LISTS ##################
- .pairs
- {
- padding: 0;
- margin: 0;
- overflow: hidden;
- &.pairs--plainLabel
- {
- > dt
- {
- color: inherit;
- }
- }
- &.pairs--spaced + .pairs
- {
- margin-top: @xf-paddingMedium;
- }
- &.pairs--noColon
- {
- > dt
- {
- &:after
- {
- content: "";
- }
- }
- }
- > dt
- {
- padding: 0;
- margin: 0;
- color: @xf-textColor;
- .m-appendColon();
- }
- > dd
- {
- padding: 0;
- margin: 0;
- }
- &.pairs--inline
- {
- display: inline;
- > dt,
- > dd
- {
- display: inline;
- }
- }
- &.pairs--columns
- {
- display: table;
- table-layout: fixed;
- width: 100%;
- > dt,
- > dd
- {
- display: table-cell;
- }
- > dt
- {
- width: 50%;
- padding-right: @xf-paddingMedium;
- }
- &.pairs--fixedSmall > dt
- {
- width: 200px;
- }
- &.pairs--fluidSmall > dt
- {
- width: 25%;
- }
- &.pairs--fluidHuge > dt
- {
- width: 70%;
- }
- @media (max-width: 500px)
- {
- display: block;
- > dt,
- > dd
- {
- display: block;
- }
- &.pairs > dt // the .pairs repetition is to increase specificity to override all fixed/fluid options
- {
- width: auto;
- padding-right: 0;
- }
- & + .pairs
- {
- margin-top: @xf-paddingMedium;
- }
- }
- }
- &.pairs--justified
- {
- .m-clearFix();
- > dt
- {
- float: left;
- max-width: 100%;
- margin-right: @xf-paddingMedium;
- }
- > dd
- {
- float: right;
- text-align: right;
- max-width: 100%;
- }
- }
- &.pairs--rows
- {
- display: inline-table;
- margin-right: @xf-paddingMedium;
- &.pairs--rows--centered
- {
- > dt,
- > dd
- {
- text-align: center;
- }
- }
- &:last-of-type
- {
- margin-right: 0;
- }
- > dt
- {
- display: table-row;
- font-size: 80%;
- &:after
- {
- content: '';
- display: none;
- }
- }
- > dd
- {
- display: table-row;
- }
- }
- }
- .pairJustifier
- {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- margin-right: -5px;
- margin-bottom: -5px;
- .pairs.pairs--rows
- {
- margin-right: 5px;
- margin-bottom: 5px;
- }
- }
- .listPlain
- {
- .m-listPlain();
- }
- .listInline
- {
- .m-listPlain();
- &.listInline--selfInline
- {
- display: inline;
- }
- > li
- {
- display: inline;
- margin: 0;
- padding: 0;
- }
- &.listInline--block
- {
- > li
- {
- display: inline-block;
- }
- }
- &.listInline--comma
- {
- > li:after
- {
- content: "{$xf.language.comma_separator}";
- }
- > li:last-child:after
- {
- content: "";
- display: none;
- }
- }
- &.listInline--bullet
- {
- > li:before
- {
- content: "\00B7\20";
- }
- > li:first-child:before
- {
- content: "";
- display: none;
- }
- }
- }
- .listHeap
- {
- .m-listPlain();
- margin-top: -4px;
- > li
- {
- margin: 0;
- padding: 0;
- display: inline-block;
- margin-right: -1px;
- margin-top: 4px;
- &:last-child
- {
- margin-right: 0;
- }
- }
- }
- .listColumns
- {
- .m-columns(2, @xf-responsiveNarrow);
- > li
- {
- .m-columnBreakAvoid();
- position: relative; // workaround Chrome quirk with hover triggers in visitor menu
- }
- &.listColumns--spaced
- {
- > li
- {
- margin-bottom: .5em;
- }
- }
- &.listColumns--narrow
- {
- .m-columns(2);
- }
- &.listColumns--together
- {
- -moz-column-gap: 0;
- -webkit-column-gap: 0;
- column-gap: 0;
- }
- &.listColumns--collapsed
- {
- display: inline-block;
- }
- }
- .textHighlight
- {
- font-style: normal;
- font-weight: @xf-fontWeightHeavy;
- &.textHighlight--attention
- {
- color: @xf-textColorAttention;
- }
- }]]></template>
- <template title="core_menu.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ###################################### MENUS ######################
- @_menu-arrowSize: 8px;
- @_menu-edgePadding: @xf-pageEdgeSpacer;
- @_menu-paddingV: @xf-paddingMedium;
- @_menu-paddingH: @xf-paddingLargest;
- .menuTrigger
- {
- cursor: pointer;
- &:after
- {
- .m-faBase();
- .m-faContent(" @{fa-var-caret-down}");
- unicode-bidi: isolate; // this is needed to ensure correct positioning in RTL with LTR text
- }
- }
- .menuOutsideClicker
- {
- position: fixed;
- display: none;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 2; // above non set stuff but below anything intentionally set
- &.is-active
- {
- display: block;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
- }
- }
- .menu
- {
- .m-transitionFade();
- position: absolute;
- z-index: @zIndex-2;
- margin: @_menu-arrowSize 0 0;
- min-width: 240px;
- max-width: 320px;
- border-radius: @xf-menuBorderRadius;
- .m-dropShadow(0, 5px, 10px, 0, .35);
- &.menu--structural
- {
- margin-top: 0;
- // when menus nudge up against structure, the joined corner should not be radiused
- &.menu--left
- {
- border-top-left-radius: 0;
- }
- &.menu--right
- {
- border-top-right-radius: 0;
- }
- }
- &.menu--veryWide
- {
- width: 500px;
- max-width: 100%;
- }
- &.menu--wide
- {
- width: 350px;
- max-width: 100%;
- }
- &.menu--medium
- {
- width: 300px;
- max-width: 100%;
- }
- &.menu--potentialFixed
- {
- z-index: @zIndex-4;
- }
- }
- .menu-arrow
- {
- position: absolute;
- width: 0;
- height: 0;
- border: 0 solid transparent;
- top: -@_menu-arrowSize;
- -ltr-rtl-left: 50%;
- -ltr-rtl-margin-left: -@_menu-arrowSize;
- .m-triangleUp(@xf-menuFeatureBorderColor, @_menu-arrowSize);
- .menu--structural &
- {
- top: -@_menu-arrowSize;
- }
- .menu--up &
- {
- display: none;
- }
- }
- .menu-content
- {
- margin: 0;
- padding: 0;
- list-style: none;
- text-align: left;
- .xf-menu();
- border-radius: @xf-menuBorderRadius;
- border-top: @xf-borderSizeFeature solid @xf-menuFeatureBorderColor;
- // when menus nudge up against structure, the joined corner should not be radiused
- .menu--structural.menu--left &
- {
- border-top-left-radius: 0;
- }
- .menu--structural.menu--right &
- {
- border-top-right-radius: 0;
- }
- // potentially fixed menus
- .menu--potentialFixed &
- {
- overflow: auto;
- max-height: 450px;
- max-height: 80vh;
- }
- > :last-child
- {
- border-bottom-left-radius: @xf-menuBorderRadius;
- border-bottom-right-radius: @xf-menuBorderRadius;
- }
- }
- .menu--pageJump
- {
- width: auto;
- min-width: 0;
- }
- .menu-header
- {
- padding: @xf-blockPaddingV @_menu-paddingH;
- margin: 0;
- font-weight: @xf-fontWeightNormal;
- text-decoration: none;
- .xf-menuHeader();
- .m-clearFix();
- .m-hiddenLinks();
- }
- .menu-tabHeader
- {
- padding: 0;
- margin: 0;
- font-weight: @xf-fontWeightNormal;
- text-decoration: none;
- .xf-menuTabHeader();
- .m-tabsTogether(xf-default(@xf-menuTabHeader--font-size, @xf-fontSizeNormal));
- .tabs-tab
- {
- padding: @xf-blockPaddingV @_menu-paddingH max(0px, @xf-blockPaddingV - @xf-borderSizeFeature);
- border-bottom: @xf-borderSizeFeature solid transparent;
- &:hover
- {
- color: @xf-blockMinorTabHeaderSelected--color;
- }
- &.is-active
- {
- .xf-menuTabHeaderSelected();
- }
- }
- .hScroller-action
- {
- .m-hScrollerActionColorVariation(
- xf-default(@xf-menuTabHeader--background-color, transparent),
- @xf-menuTabHeader--color,
- @xf-blockMinorTabHeaderSelected--color
- );
- }
- }
- .menu-scroller
- {
- overflow: auto;
- max-height: 300px;
- max-height: 60vh;
- }
- .menu-row
- {
- margin: 0;
- padding: @_menu-paddingV @_menu-paddingH;
- .m-clearFix();
- &.menu-row--alt
- {
- .xf-contentAltBase();
- }
- &.menu-row--highlighted
- {
- .xf-contentHighlightBase();
- }
- &.menu-row--separated
- {
- + .menu-row
- {
- border-top: @xf-borderSize solid @xf-borderColorLight;
- }
- }
- &.menu-row--clickable:hover
- {
- background: @xf-contentHighlightBg;
- }
- &:empty
- {
- padding: 0;
- }
- }
- .menu-linkRow
- {
- display: block;
- padding: @_menu-paddingV @_menu-paddingH @_menu-paddingV (@_menu-paddingH) - (@xf-borderSizeFeature);
- border-left: @xf-borderSizeFeature solid transparent;
- .xf-menuLinkRow();
- &.menu-linkRow--alt
- {
- .xf-contentAltBase();
- }
- &.is-selected,
- &:hover,
- &:focus
- {
- .xf-menuLinkRowSelected();
- border-left-color: fade(@xf-borderColorFeature, 50%);
- &:focus
- {
- outline: 0;
- }
- &.is-selected
- {
- border-left-color: @xf-borderColorFeature;
- }
- }
- i[aria-hidden=true]
- {
- font-size: @xf-fontSizeSmall;
- display: inline-block;
- width: 23px; // about 1.75em at this font size
- &:after
- {
- .m-faBase();
- color: @xf-textColorMuted;
- left: @xf-blockPaddingH;
- }
- & ~ .menu-linkRow-hint
- {
- padding-left: 23px;
- }
- }
- &:hover i[aria-hidden=true]:after
- {
- color: @xf-linkHoverColor;
- }
- }
- .menu-linkRow-hint
- {
- font-style: inherit;
- font-size: @xf-fontSizeSmallest;
- color: @xf-textColorMuted;
- display: block;
- }
- .menu-separator
- {
- margin: 0 (@_menu-paddingH) / 2;
- padding: 0;
- border: none;
- border-top: @xf-borderSize solid @xf-borderColorLight;
- &.menu-separator--hard
- {
- margin: 0;
- }
- & + .menu-separator,
- &:last-child
- {
- display: none;
- }
- }
- .menu-footer
- {
- padding: @xf-blockPaddingV @_menu-paddingH;
- .m-clearFix();
- &:not(.menu-footer--split)
- {
- .menu-footer-counter
- {
- float: left;
- }
- .menu-footer-controls
- {
- float: right;
- }
- }
- &.menu-footer--split
- {
- display: flex;
- align-items: center;
- .menu-footer-main,
- .menu-footer-counter
- {
- flex-grow: 1;
- .has-no-flexbox &
- {
- float: left;
- }
- }
- .menu-footer-select:not(:last-child)
- {
- margin: 0 1em;
- }
- .menu-footer-opposite,
- .menu-footer-controls
- {
- margin-left: auto;
- .has-no-flexbox &
- {
- float: right;
- }
- }
- }
- }]]></template>
- <template title="core_overlay.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// #################################### OVERLAYS ################################
- .overlay-container
- {
- display: none;
- position: fixed;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- z-index: @zIndex-6;
- background: @xf-overlayMaskColor;
- -webkit-overflow-scrolling: touch;
- opacity: 0;
- .m-transition(opacity);
- &.is-transitioning
- {
- display: block;
- }
- &.is-active
- {
- display: block;
- opacity: 1;
- }
- }
- .overlay
- {
- position: relative;
- margin: 40px auto 10px;
- margin-top: @xf-overlayTopMargin;
- width: 100%;
- max-width: 800px;
- background: #fff;
- color: @xf-textColor;
- border-radius: @xf-blockBorderRadius;
- .m-dropShadow(0, 5px, 15px, 0, .5);
- outline: none;
- > .overlay-title:first-child,
- .overlay-firstChild
- {
- border-top-left-radius: @xf-blockBorderRadius;
- border-top-right-radius: @xf-blockBorderRadius;
- }
- > .overlay-content > *:last-child,
- .overlay-lastChild
- {
- border-bottom-left-radius: @xf-blockBorderRadius;
- border-bottom-right-radius: @xf-blockBorderRadius;
- }
- }
- @media (max-width: 820px)
- {
- .overlay
- {
- max-width: ~"calc(100% - 20px)";
- }
- }
- .overlay-title
- {
- .m-clearFix();
- display: none;
- margin: 0;
- font-weight: @xf-fontWeightNormal;
- .xf-overlayHeader();
- .overlay &
- {
- display: block;
- }
- }
- .overlay-titleCloser
- {
- float: right;
- cursor: pointer;
- margin-left: 5px;
- text-decoration: none;
- opacity: .5;
- .m-transition();
- &:after
- {
- .m-faBase();
- .m-faContent(@fa-var-close, .79em);
- }
- &:hover
- {
- text-decoration: none;
- opacity: 1;
- }
- }
- .overlay-content
- {
- .m-clearFix();
- }
- // when displaying a modal, prevent scrolling on the main content but allow it on the overlay
- body.is-modalOpen
- {
- overflow: hidden !important;
- .overlay-container,
- .offCanvasMenu
- {
- overflow-y: scroll !important;
- }
- }
- @media (max-width: @xf-responsiveNarrow)
- {
- .overlay-title
- {
- font-size: @xf-fontSizeLarger;
- }
- }
- // ############################### OVERLAY/BLOCK NESTING ##############################
- .block-container > .tabPanes > li,
- .block-container > .block-body,
- .block-container > .block-body > .block-row,
- .overlay-content
- {
- > .blocks > .block > .block-container,
- > .block > .block-container,
- > .blockMessage
- {
- margin-left: 0;
- margin-right: 0;
- border-left: none;
- border-right: none;
- }
- > .blocks > .block:first-child,
- > .block:first-child,
- > .blockMessage:first-child
- {
- margin-top: 0;
- .block-outer:not(.block-outer--after)
- {
- border-bottom: @xf-borderSize solid @xf-borderColorLight;
- padding: @xf-blockPaddingV;
- }
- }
- > .blocks > .block:last-child,
- > .block:last-child,
- > .blockMessage:last-child
- {
- margin-bottom: 0;
- .block-outer.block-outer--after
- {
- border-top: @xf-borderSize solid @xf-borderColorLight;
- padding: @xf-blockPaddingV;
- }
- }
- > .blocks > .block:first-child > .block-container,
- > .block:first-child > .block-container,
- > .blockMessage:first-child
- {
- border-top: none;
- }
- > .blocks > .block:last-child > .block-container,
- > .block:last-child > .block-container,
- > .blockMessage:last-child
- {
- border-bottom: none;
- }
- > .blocks > .block:not(:first-child) > .block-container,
- > .block:not(:first-child) > .block-container,
- > .blockMessage:not(:first-child)
- {
- .m-borderTopRadius(0);
- }
- > .blocks > .block:not(:last-child) > .block-container,
- > .block:not(:last-child) > .block-container,
- > .blockMessage:not(:last-child)
- {
- .m-borderBottomRadius(0);
- }
- }]]></template>
- <template title="core_pagenav.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ####################################### PAGE NAVIGATION ########################
- @_page-paddingV: xf-default(@xf-buttonBase--padding-top, 6px);
- @_page-paddingH: 8px;
- @_page-paddingHSimple: 10px;
- .pageNavWrapper {}
- .m-pageNavElCore()
- {
- background: linear-gradient(0deg, @xf-contentHighlightBg, mix(@xf-contentHighlightBg, @xf-contentBg, 25%));
- color: @xf-linkColor;
- .xf-blockBorder();
- font-size: @xf-fontSizeSmall;
- white-space: nowrap;
- &:hover,
- &:active
- {
- background: xf-intensify(@xf-contentHighlightBg, 3%);
- text-decoration: none;
- }
- }
- .pageNav-jump
- {
- display: inline-block;
- .m-pageNavElCore();
- border-radius: @xf-borderRadiusSmall;
- padding: @_page-paddingV @_page-paddingH;
- &.pageNav-jump--prev:before,
- &.pageNav-jump--next:after
- {
- .m-faBase();
- font-size: 80%;
- word-wrap: normal;
- unicode-bidi: isolate; // maintain position in RTL with LTR text
- }
- &.pageNav-jump--prev:before
- {
- .m-faContent("@{fa-var-caret-left}\00a0", .61em, ltr);
- .m-faContent("@{fa-var-caret-right}\00a0", .61em, rtl);
- }
- &.pageNav-jump--next:after
- {
- .m-faContent("\00a0@{fa-var-caret-right}", .61em, ltr);
- .m-faContent("\00a0@{fa-var-caret-left}", .61em, rtl);
- }
- }
- .pageNav-main
- {
- .m-listPlain();
- display: inline-table;
- }
- .pageNav-page
- {
- display: table-cell;
- .m-pageNavElCore();
- &:not(:last-child)
- {
- border-right: none;
- }
- &:not(:first-child)
- {
- border-left-color: @xf-borderColorLight;
- }
- &:first-child
- {
- .m-borderLeftRadius(@xf-borderRadiusSmall);
- }
- &:last-child
- {
- .m-borderRightRadius(@xf-borderRadiusSmall);
- }
- > a
- {
- display: block;
- padding: @_page-paddingV @_page-paddingH;
- text-decoration: none;
- color: inherit;
- }
- &.pageNav-page--current
- {
- background: @xf-contentAccentBg;
- color: @xf-textColorAccentContent;
- border: @xf-borderSize solid @xf-borderColorAccentContent;
- cursor: pointer;
- &:hover,
- &:active
- {
- background: xf-intensify(@xf-contentAccentBg, 3%);
- }
- + .pageNav-page
- {
- border-left: none;
- }
- }
- }
- // Hide relative page numbers on narrow devices when we have a skip entry as we don't necessarily have space.
- @media (max-width: @xf-responsiveNarrow)
- {
- .pageNav--skipStart
- {
- .pageNav-page.pageNav-page--earlier
- {
- display: none;
- }
- }
- .pageNav--skipEnd
- {
- .pageNav-page.pageNav-page--later
- {
- display: none;
- }
- .pageNav-page.pageNav-page--skipEnd
- {
- border-left: none;
- }
- }
- }
- // ########################### SIMPLE PAGE NAV VARIANT ########################
- .pageNavSimple
- {
- display: inline-flex;
- }
- .pageNavSimple-el
- {
- display: inline-block;
- .xf-blockBorder();
- border-radius: @xf-borderRadiusSmall;
- padding: @_page-paddingV @_page-paddingHSimple;
- font-size: @xf-fontSizeSmall;
- text-align: center;
- white-space: nowrap;
- margin-right: 4px;
- &:last-child
- {
- margin-right: 0;
- }
- &.pageNavSimple-el--current
- {
- .xf-contentAccentBase();
- &:hover,
- &:active
- {
- background: xf-intensify(@xf-textColorFeature, 3%);
- text-decoration: none;
- }
- }
- &.pageNavSimple-el--prev,
- &.pageNavSimple-el--next
- {
- background: #7f7f7f;
- color: #fff;
- min-width: 75px;
- @media (max-width: 350px)
- {
- min-width: 0;
- }
- &:hover,
- &:active
- {
- /*background: xf-intensify(@xf-contentHighlightBg, 3%);*/
- text-decoration: none;
- }
- i:before
- {
- .m-faBase();
- }
- }
- &.pageNavSimple-el--prev i:before
- {
- .m-faContent(@fa-var-caret-left, .37em, ltr);
- .m-faContent(@fa-var-caret-right, .37em, rtl);
- }
- &.pageNavSimple-el--next i:before
- {
- .m-faContent(@fa-var-caret-right, .37em, ltr);
- .m-faContent(@fa-var-caret-left, .37em, rtl);
- }
- &.pageNavSimple-el--first,
- &.pageNavSimple-el--last
- {
- border-color: transparent;
- padding-left: (@_page-paddingHSimple / 2);
- padding-right: (@_page-paddingHSimple / 2);
- color: fade(@xf-linkColor, 60%);
- &:hover,
- &:active
- {
- .xf-blockBorder();
- background: xf-intensify(@xf-textColorFeature, 3%);
- color: #fff;
- text-decoration: none;
- }
- i:before
- {
- .m-faBase();
- }
- }
- &.pageNavSimple-el--first i:before
- {
- .m-faContent(@fa-var-backward, .93em, ltr);
- .m-faContent(@fa-var-forward, .93em, rtl);
- }
- &.pageNavSimple-el--last i:before
- {
- .m-faContent(@fa-var-forward, .93em, ltr);
- .m-faContent(@fa-var-backward, .93em, rtl);
- }
- &.is-disabled
- {
- border-color: transparent;
- background: none;
- color: @xf-textColorMuted;
- text-decoration: none;
- pointer-events: none;
- &:hover
- {
- background: none;
- color: @xf-textColorMuted;
- }
- }
- }
- // #################### DISPLAY VARIANTS #########################
- .pageNavWrapper--simple
- {
- .pageNav
- {
- display: none;
- }
- }
- .pageNavWrapper--full
- {
- .pageNavSimple
- {
- display: none;
- }
- }
- .pageNavWrapper--mixed
- {
- .pageNavSimple
- {
- display: none;
- }
- @media (max-width: @xf-responsiveMedium)
- {
- .pageNav
- {
- display: none;
- }
- .pageNavSimple
- {
- display: inline-flex;
- }
- }
- }
- // Hide any block page nav that goes before the block as we will be wasting vertical space.
- @media (max-width: @xf-responsiveNarrow)
- {
- .block-outer:not(.block-outer--after) .pageNavWrapper:not(.pageNavWrapper--forceShow)
- {
- display: none;
- }
- // this is a sanity check in case .block-outer--after is forgotten
- .block-container + .block-outer .pageNavWrapper
- {
- display: block;
- }
- }]]></template>
- <template title="core_tab.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[// ################################## TABS ####################################
- .tabs
- {
- display: flex;
- &.tabs--wrappable
- {
- flex-wrap: wrap;
- }
- }
- .tabs-tab
- {
- display: inline-block;
- cursor: pointer;
- white-space: nowrap;
- color: inherit;
- font-weight: inherit;
- text-decoration: none;
- .m-transition();
- &:hover
- {
- text-decoration: none;
- }
- }
- .tabs-extra
- {
- float: right;
- position: relative;
- margin-left: auto;
- padding: 0 0 0 @xf-paddingMedium;
- align-self: center;
- white-space: nowrap;
- a
- {
- color: inherit;
- text-decoration: none;
- display: block;
- padding: @xf-paddingMedium;
- }
- }
- .tabPanes
- {
- .m-listPlain();
- > li
- {
- display: none;
- &.is-active
- {
- display: block;
- }
- }
- }
- // ################################# OUTER TABS #########################
- .tabs--standalone
- {
- padding: 0;
- margin-bottom: @xf-elementSpacer;
- font-weight: @xf-fontWeightNormal;
- .xf-blockBorder();
- .xf-standaloneTab();
- .m-tabsTogether(xf-default(@xf-standaloneTab--font-size, @xf-fontSizeNormal));
- .tabs-tab
- {
- padding: 10px;
- &:hover
- {
- color: @xf-standaloneTabSelected--color;
- }
- &.is-active
- {
- .xf-standaloneTabSelected();
- }
- }
- .hScroller-action
- {
- .m-hScrollerActionColorVariation(
- xf-default(@xf-standaloneTab--background-color, transparent),
- @xf-standaloneTab--color,
- @xf-standaloneTabSelected--color
- );
- }
- }
- @media (max-width: @xf-responsiveEdgeSpacerRemoval)
- {
- .tabs--standalone
- {
- margin-left: -@xf-pageEdgeSpacer;
- margin-right: -@xf-pageEdgeSpacer;
- border-radius: 0;
- border-left: none;
- border-right: none;
- }
- }]]></template>
- <template title="extra.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[{{ include('mixins.less') }}
- {{ include('brv_extra.less') }}
- {{ include('brv_responsive.less') }}]]></template>
- <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>
- <xf:description>{$forum.Node.description|raw}</xf:description>
- <xf:macro template="metadata_macros" name="canonical_url"
- arg-canonicalUrl="{{ link('canonical:forums', $forum, {'page': $page}) }}" />
- <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>
- <xf:macro template="forum_macros" name="forum_page_options" arg-forum="{$forum}" />
- <xf:breadcrumb source="$forum.getBreadcrumbs(false)" />
- <xf:pageaction if="$forum.canCreateThread()">
- <xf:button href="{{ link('forums/post-thread', $forum) }}" class="button--cta" icon="write">
- {{ phrase('post_thread') }}
- </xf:button>
- </xf:pageaction>
- <xf:if is="$pendingApproval">
- <div class="blockMessage blockMessage--important">{{ phrase('content_submitted_displayed_pending_approval') }}</div>
- </xf:if>
- <xf:if is="$nodeTree">
- <xf:ad position="forum_view_above_node_list" arg-forum="{$forum}" />
- <div class="block">
- <div class="block-container">
- <div class="block-body">
- <xf:macro template="forum_list" name="node_list"
- arg-children="{$nodeTree}"
- arg-extras="{$nodeExtras}"
- arg-depth="2" />
- </div>
- </div>
- </div>
- <xf:ad position="forum_view_below_node_list" arg-forum="{$forum}" />
- </xf:if>
- <xf:if is="$canInlineMod">
- <xf:js src="xf/inline_mod.js" min="1" />
- </xf:if>
- <xf:ad position="forum_view_above_thread_list" arg-forum="{$forum}" />
- <div class="block" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="thread" data-href="{{ link('inline-mod') }}">
- <div class="block-outer"><xf:trim>
- <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$total}"
- link="forums" data="{$forum}" params="{$filters}"
- wrapperclass="block-outer-main" />
- <xf:if contentcheck="true">
- <div class="block-outer-opposite">
- <div class="buttonGroup">
- <xf:contentcheck>
- <xf:if is="$canInlineMod">
- <xf:macro template="inline_mod_macros" name="button" />
- </xf:if>
- <xf:if is="$xf.visitor.user_id">
- <xf:button href="{{ link('forums/mark-read', $forum, {'date': $xf.time}) }}"
- class="button--link" overlay="true">
- {{ phrase('mark_read') }}
- </xf:button>
- </xf:if>
- <xf:if is="$forum.canWatch()">
- <xf:button href="{{ link('forums/watch', $forum) }}" class="button--link"
- data-xf-click="switch-overlay"
- data-sk-watch="{{ phrase('watch') }}"
- data-sk-unwatch="{{ phrase('unwatch') }}">
- <xf:if is="{$forum.Watch.{$xf.visitor.user_id}}">{{ phrase('unwatch') }}<xf:else />{{ phrase('watch') }}</xf:if>
- </xf:button>
- </xf:if>
- </xf:contentcheck>
- </div>
- </div>
- </xf:if>
- </xf:trim></div>
- <xf:set var="$dateLimits" value="{{ {
- '-1': phrase('any_time'),
- '7': phrase('x_days', {'days': '7'}),
- '14': phrase('x_days', {'days': '14'}),
- '30': phrase('x_days', {'days': '30'}),
- '60': phrase('x_months', {'months': '2'}),
- '90': phrase('x_months', {'months': '3'}),
- '182': phrase('x_months', {'months': '6'}),
- '365': phrase('1_year')
- } }}" />
- <xf:set var="$sortOrders" value="{{ {
- 'last_post_date': phrase('last_message'),
- 'post_date': phrase('first_message'),
- 'title': phrase('title'),
- 'reply_count': phrase('replies'),
- 'view_count': phrase('views'),
- 'first_post_likes': phrase('first_message_likes')
- } }}" />
- <div class="block-container">
- <div class="block-filterBar">
- <div class="filterBar">
- <xf:if contentcheck="true">
- <ul class="filterBar-filters">
- <xf:contentcheck>
- <xf:if is="$filters.prefix_id">
- <li><a href="{{ link('forums', $forum, $filters|replace('prefix_id', null)) }}"
- class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
- <span class="filterBar-filterToggle-label">{{ phrase('prefix:') }}</span>
- {{ prefix_title('thread', $filters.prefix_id) }}</a></li>
- </xf:if>
- <xf:if is="$filters.starter_id AND $starterFilter">
- <li><a href="{{ link('forums', $forum, $filters|replace('starter_id', null)) }}"
- class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
- <span class="filterBar-filterToggle-label">{{ phrase('started_by:') }}</span>
- {$starterFilter.username}</a></li>
- </xf:if>
- <xf:if is="$filters.last_days AND {$dateLimits.{$filters.last_days}}">
- <li><a href="{{ link('forums', $forum, $filters|replace('last_days', null)) }}"
- class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}">
- <span class="filterBar-filterToggle-label">{{ phrase('last_updated:') }}</span>
- {$dateLimits.{$filters.last_days}}</a></li>
- </xf:if>
- <xf:if is="$filters.order AND {$sortOrders.{$filters.order}}">
- <li><a href="{{ link('forums', $forum, $filters|replace({'order': null, 'direction': null})) }}"
- class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('return_to_default_order')|for_attr }}">
- <span class="filterBar-filterToggle-label">{{ phrase('sort_by:') }}</span>
- {$sortOrders.{$filters.order}}
- <i class="fa {{ $filters.direction == 'asc' ? 'fa-angle-up' : 'fa-angle-down' }}" aria-hidden="true"></i>
- <span class="u-srOnly"><xf:if is="$filters.direction == 'asc'">{{ phrase('ascending') }}<xf:else />{{ phrase('descending') }}</xf:if></span>
- </a></li>
- </xf:if>
- </xf:contentcheck>
- </ul>
- </xf:if>
- <a class="filterBar-menuTrigger" data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{{ phrase('filters') }}</a>
- <div class="menu menu--wide" data-menu="menu" aria-hidden="true"
- data-href="{{ link('forums/filters', $forum, $filters) }}"
- data-load-target=".js-filterMenuBody">
- <div class="menu-content">
- <h4 class="menu-header">{{ phrase('show_only:') }}</h4>
- <div class="js-filterMenuBody">
- <div class="menu-row">{{ phrase('loading...') }}</div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <xf:set var="$qtPos">{{ ($sortInfo.order == 'last_post_date' && $sortInfo.direction == 'asc') ? 'bottom' : 'top' }}</xf:set>
- <div class="block-body">
- <div class="structItemContainer">
- <xf:macro template="thread_list_macros" name="quick_thread"
- arg-forum="{$forum}"
- arg-page="{$page}"
- arg-order="{$sortInfo.order}"
- arg-direction="{$sortInfo.direction}" />
- <div class="title-thread hidden-xs">
- <div class="item-title cell-title">
- {{ phrase('title') }}
- </div>
- <div class="item-title cell-reply">
- {{ phrase('replies') }}
- </div>
- <div class="item-title cell-views">
- {{ phrase('views') }}
- </div>
- <div class="item-title cell-user">
- {{ phrase('messages') }}
- </div>
- </div>
- <xf:if is="$stickyThreads is not empty OR $threads is not empty">
- <xf:if is="$stickyThreads is not empty">
- <div class="structItemContainer-group structItemContainer-group--sticky">
- <xf:foreach loop="$stickyThreads" value="$thread">
- <xf:macro template="thread_list_macros" name="item" arg-thread="{$thread}" arg-forum="{$forum}" />
- </xf:foreach>
- </div>
- <xf:ad position="forum_view_below_stickies" arg-forum="{$forum}" />
- </xf:if>
- <div class="structItemContainer-group js-threadList">
- <xf:if is="$threads is not empty">
- <xf:foreach loop="$threads" value="$thread">
- <xf:macro template="thread_list_macros" name="item" arg-thread="{$thread}" arg-forum="{$forum}" />
- </xf:foreach>
- <xf:if is="$showDateLimitDisabler">
- <div class="structItem structItem--note">
- <div class="structItem-cell">
- <a href="{{ link('forums', $forum, $filters + {'page': $page, 'no_date_limit': 1}) }}">
- {{ phrase('show_older_items') }}
- </a>
- </div>
- </div>
- </xf:if>
- </xf:if>
- </div>
- <xf:elseif is="$filters" />
- <div class="structItemContainer-group js-threadList">
- <div class="structItem js-emptyThreadList">
- <div class="structItem-cell">{{ phrase('there_no_threads_matching_your_filters') }}</div>
- </div>
- </div>
- <xf:else />
- <div class="structItemContainer-group js-threadList">
- <div class="structItem js-emptyThreadList">
- <div class="structItem-cell">{{ phrase('there_no_threads_in_this_forum') }}</div>
- </div>
- </div>
- </xf:if>
- </div>
- </div>
- </div>
- <div class="block-outer block-outer--after">
- <xf:pagenav
- page="{$page}" perpage="{$perPage}" total="{$total}"
- link="forums" data="{$forum}" params="{$filters}"
- wrapperclass="block-outer-main" />
- <xf:showignored wrapperclass="block-outer-opposite" />
- <xf:if is="!$forum.canCreateThread()">
- <div class="block-outer-opposite">
- <xf:if is="$xf.visitor.user_id">
- <span class="button is-disabled">
- {{ phrase('no_permission_to_post') }}
- <!-- this is not interactive so shouldn't be a button element -->
- </span>
- <xf:else />
- <xf:button href="{{ link('login') }}" class="button--link" overlay="true">
- {{ phrase('log_in_or_register_to_post') }}
- </xf:button>
- </xf:if>
- </div>
- </xf:if>
- </div>
- </div>
- <xf:ad position="forum_view_below_thread_list" arg-forum="{$forum}" />
- <xf:widgetpos id="forum_view_sidebar" context-forum="{$forum}" position="sidebar" />]]></template>
- <template title="member.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[@_memberHeader-padding: @xf-paddingLarge;
- @_memberHeader-avatarSize: @avatar-l;
- @_memberHeader-avatarSizeShrunk: @avatar-m;
- .memberHeader
- {
- .m-clearFix();
- }
- .memberHeader-main
- {
- }
- .memberHeader-avatar
- {
- float: left;
- padding: @_memberHeader-padding;
- img,
- .avatar
- {
- display: block;
- }
- }
- .memberHeader-content
- {
- padding: @_memberHeader-padding;
- padding-left: ((@_memberHeader-padding) * 2 + (@_memberHeader-avatarSize));
- }
- .memberHeader-actionTop
- {
- float: right;
- }
- .memberHeader-name
- {
- margin: 0;
- margin-top: -.15em;
- padding: 0;
- font-weight: @xf-fontWeightNormal;
- .xf-memberHeaderName();
- }
- .memberHeader-banners,
- .memberHeader-blurb
- {
- margin-top: @xf-paddingSmall;
- }
- .memberHeader-separator
- {
- margin: @_memberHeader-padding 0;
- border: none;
- border-top: @xf-borderSize solid @xf-borderColorLight;
- }
- .memberHeader-stats
- {
- font-size: @xf-fontSizeLarge;
- .pairs.pairs--row
- {
- min-width: 100px;
- }
- }
- @media (max-width: @xf-responsiveMedium)
- {
- .memberHeader-avatar .avatar
- {
- .m-avatarSize(@_memberHeader-avatarSizeShrunk);
- }
- .memberHeader-content
- {
- padding-left: ((@_memberHeader-padding) * 2 + (@_memberHeader-avatarSizeShrunk));
- }
- }
- @media (max-width: @xf-responsiveNarrow)
- {
- .memberHeader-avatar
- {
- display: block;
- float: none;
- padding-bottom: 0;
- text-align: center;
- .avatar
- {
- display: inline-block;
- }
- }
- .memberHeader-content
- {
- padding-left: @_memberHeader-padding;
- }
- .memberHeader-main .memberHeader-content
- {
- display: flex;
- flex-direction: column;
- padding-top: 0;
- min-height: 0;
- text-align: center;
- }
- .memberHeader-name
- {
- text-align: center;
- margin-top: 0;
- }
- .memberHeader-actionTop
- {
- float: none;
- order: 2;
- margin-top: @xf-paddingSmall;
- }
- .memberHeader-buttons
- {
- text-align: center;
- }
- .memberHeader-banners,
- .memberHeader-blurb
- {
- text-align: inherit;
- }
- }
- .block-tabHeader.block-tabHeader--memberTabs
- {
- border-bottom: none;
- }
- .memberOverviewBlocks
- {
- .m-listPlain();
- display: flex;
- flex-wrap: wrap;
- align-items: stretch;
- > li
- {
- .has-no-flexbox &
- {
- display: inline-block;
- vertical-align: top;
- }
- width: 33.3%;
- max-width: 100%;
- padding: @xf-blockPaddingV @xf-blockPaddingH;
- @media (max-width: 1150px)
- {
- width: 50%;
- }
- @media (max-width: 580px)
- {
- width: 100%;
- }
- }
- }
- .memberOverviewBlock
- {
- display: flex;
- flex-direction: column;
- }
- .memberOverviewBlock-list
- {
- .m-listPlain();
- > li
- {
- margin: @xf-paddingMedium 0;
- }
- }
- .memberOverviewBlock-seeMore
- {
- .xf-minorBlockContent();
- padding: @xf-paddingSmall;
- text-align: center;
- // pushes this to the bottom with flex box
- margin-top: auto;
- }]]></template>
- <template title="member_tooltip.less" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[@_memberTooltip-padding: @xf-paddingMedium;
- @_memberTooltip-avatarSize: @avatar-s;
- .tooltip-content-inner{
- .username{
- color: @xf-paletteColor3;
- }
- }
- .memberTooltip-header
- {
- display: table;
- table-layout: fixed;
- width: 100%;
- padding: @_memberTooltip-padding;
- }
- .memberTooltip-avatar
- {
- display: table-cell;
- width: ((@_memberTooltip-padding) * 2 + (@_memberTooltip-avatarSize));
- vertical-align: top;
- }
- .memberTooltip-headerInfo
- {
- display: table-cell;
- vertical-align: top;
- }
- .memberTooltip-name
- {
- margin: 0;
- margin-top: -.15em;
- padding: 0;
- font-weight: @xf-fontWeightNormal;
- line-height: .8 * (@xf-lineHeightDefault);
- .xf-memberTooltipName();
- .m-hiddenLinks();
- }
- .memberTooltip-headerAction
- {
- float: right;
- }
- .memberTooltip-banners,
- .memberTooltip-blurb
- {
- margin-top: .25em;
- }
- .memberTooltip-blurb
- {
- font-size: @xf-fontSizeSmall;
- }
- .memberTooltip-stats
- {
- font-size: @xf-fontSizeSmall;
- dl.pairs.pairs--rows > dt
- {
- font-size: @xf-fontSizeSmaller;
- }
- }
- .memberTooltip-info,
- .memberTooltip-actions
- {
- padding: @_memberTooltip-padding;
- }
- .memberTooltip-separator
- {
- margin: -@xf-borderSize @_memberTooltip-padding 0;
- border: none;
- border-top: @xf-borderSize solid @xf-borderColorLight;
- }]]></template>
- <template title="message.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[@_message-actionColumnWidth: 40px;
- @_messageSimple-userColumnWidth: 70px;
- {{ include('mixins.less') }}
- .message
- {
- + .message,
- &.message--bordered
- {
- border-top: @xf-borderSize solid @xf-borderColor;
- }
- }
- .message,
- .block--messages .message
- {
- &.is-mod-selected
- {
- background: @xf-inlineModHighlightColor;
- .message-userArrow:after
- {
- border-right-color: @xf-inlineModHighlightColor;
- }
- }
- }
- .message-inner
- {
- display: flex;
- .has-no-flexbox &
- {
- display: table;
- table-layout: fixed;
- width: 100%;
- }
- }
- .message-cell
- {
- display: block;
- vertical-align: top;
- padding: @xf-messagePadding;
- .has-no-flexbox &
- {
- display: table-cell;
- }
- .message--quickReply &
- {
- //padding-bottom: 35px; // for the submit row
- > .formRow:last-child
- {
- > dd
- {
- padding-bottom: 0;
- }
- }
- }
- &.message-cell--closer
- {
- padding: @xf-messagePaddingSmall;
- &.message-cell--main
- {
- padding-left: ((@xf-messagePaddingSmall) * 1.5);
- }
- &.message-cell--user
- {
- .m-fixedWidthFlex((@xf-messageUserBlockWidth) + 2 * (@xf-messagePaddingSmall));
- .message--simple &
- {
- .m-fixedWidthFlex(@_messageSimple-userColumnWidth + 2 * (@xf-messagePaddingSmall));
- }
- }
- &.message-cell--action
- {
- .m-fixedWidthFlex((@_message-actionColumnWidth) + 2 * (@xf-messagePaddingSmall));
- }
- }
- &.message-cell--user,
- &.message-cell--action
- {
- position: relative;
- .xf-messageUserBlock(no-border);
- border-right: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color;
- min-width: 0;
- }
- &.message-cell--user
- {
- .m-fixedWidthFlex((@xf-messageUserBlockWidth) + 2 * (@xf-messagePadding));
- .message--simple &
- {
- .m-fixedWidthFlex(@_messageSimple-userColumnWidth + 2 * @xf-messagePaddingSmall);
- }
- }
- &.message-cell--action
- {
- .m-fixedWidthFlex((@_message-actionColumnWidth) + 2 * (@xf-messagePadding));
- }
- &.message-cell--main
- {
- padding-left: (@xf-messagePadding * 1.5);
- flex: 1 1 auto;
- width: 100%;
- min-width: 0;
- &.is-editing
- {
- padding: 0;
- }
- // should really only happen when editing
- .block
- {
- margin: 0;
- }
- .block-container
- {
- margin: 0;
- border: none;
- }
- }
- &.message-cell--alert
- {
- font-size: @xf-fontSizeSmall;
- flex: 1 1 auto;
- width: 100%;
- min-width: 0;
- .xf-contentAccentBase();
- a
- {
- .xf-contentAccentLink();
- }
- }
- }
- .message-main
- {
- height: 100%;
- display: flex;
- flex-direction: column;
- }
- .message-content
- {
- flex: 1 1 auto;
- // IE11 flex bug
- min-height: 1px;
- }
- .message-footer
- {
- margin-top: auto;
- }
- {{ include('brv_message.less') }}
- @media (max-width: @xf-messageSingleColumnWidth)
- {
- .message:not(.message--forceColumns)
- {
- .message-inner
- {
- display: block;
- }
- .message-cell
- {
- display: block;
- .m-clearFix();
- &.message-cell--user
- {
- width: auto;
- border-right: none;
- border-bottom: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color;
- }
- &.message-cell--main
- {
- padding-left: @xf-messagePadding;
- }
- }
- }
- .message--simple:not(.message--forceColumns),
- .message--quickReply:not(.message--forceColumns)
- {
- .message-cell.message-cell--user
- {
- display: none;
- }
- }
- }
- // ######################## USER COLUMN #########################
- .message-userArrow
- {
- position: absolute;
- top: (@xf-messagePadding) * 2;
- right: -1px;
- .m-triangleLeft(xf-default(@xf-messageUserBlock--border-color, transparent), @xf-messagePadding);
- &:after
- {
- position: absolute;
- top: -(@xf-messagePadding - 1px);
- right: -@xf-messagePadding;
- content: "";
- .m-triangleLeft(@xf-contentBg, @xf-messagePadding - 1px);
- }
- }
- .message-avatar
- {
- text-align: center;
- margin-bottom: 3px;
- .avatar
- {
- vertical-align: bottom;
- }
- }
- .message-avatar-wrapper
- {
- position: relative;
- display: inline-block;
- vertical-align: bottom;
- .message-avatar-online
- {
- position: absolute;
- top: -1px;
- left: -1px;
- border: 7px solid transparent;
- border-left-color: rgb(127, 185, 0);
- border-top-color: rgb(127, 185, 0);
- border-radius: (@xf-avatarBorderRadius + 1) max(0px, @xf-avatarBorderRadius - 1px) 0 max(0px, @xf-avatarBorderRadius - 1);
- }
- }
- .message-name
- {
- font-weight: @xf-fontWeightHeavy;
- font-size: inherit;
- text-align: center;
- margin: 0;
- }
- .message-userTitle
- {
- font-size: @xf-fontSizeSmaller;
- font-weight: normal;
- text-align: center;
- margin: 0;
- }
- .message-userBanner.userBanner
- {
- display: block;
- margin-top: 3px;
- }
- .message-userExtras
- {
- margin-top: 3px;
- font-size: @xf-fontSizeSmaller;
- }
- .message--deleted
- {
- .message-userDetails
- {
- display: none;
- }
- .message-avatar .avatar
- {
- .m-avatarSize(@avatar-s);
- }
- }
- .message-cell--user
- {
- .message-date,
- .message-permalink
- {
- display: none;
- }
- }
- @media (max-width: @xf-messageSingleColumnWidth)
- {
- .message:not(.message--forceColumns)
- {
- .message-userArrow
- {
- top: auto;
- right: auto;
- bottom: -1px;
- left: ((@avatar-s) / 2);
- border: none;
- .m-triangleUp(xf-default(@xf-messageUserBlock--border-color, transparent), @xf-messagePadding);
- &:after
- {
- top: auto;
- right: auto;
- left: -(@xf-messagePadding - 1px);
- bottom: -@xf-messagePadding;
- border: none;
- .m-triangleUp(@xf-contentBg, @xf-messagePadding - 1px);
- }
- }
- &.is-mod-selected
- {
- .message-userArrow:after
- {
- border-color: transparent;
- border-bottom-color: @xf-inlineModHighlightColor;
- }
- }
- .message-user
- {
- display: flex;
- .has-no-flexbox &
- {
- display: table;
- width: 100%;
- }
- }
- .message-avatar
- {
- margin-bottom: 0;
- .has-no-flexbox &
- {
- display: table-cell;
- width: 1%;
- }
- .avatar
- {
- .m-avatarSize(@avatar-s);
- }
- }
- .message-userDetails
- {
- flex: 1;
- min-width: 0;
- padding-left: @xf-messagePadding;
- .has-no-flexbox &
- {
- display: table-cell;
- }
- }
- .message-name
- {
- text-align: left;
- }
- .message-userTitle,
- .message-userBanner.userBanner
- {
- display: inline-block;
- text-align: left;
- margin: 0;
- }
- .message-userExtras
- {
- display: none;
- }
- .message--deleted
- {
- .message-userDetails
- {
- display: block;
- }
- }
- }
- }
- // ####################### MAIN COLUMN ####################
- .message-content
- {
- position: relative;
- .js-selectToQuoteEnd
- {
- height: 0;
- font-size: 0;
- overflow: hidden;
- }
- .message--multiQuoteList &
- {
- min-height: 80px;
- max-height: 120px;
- overflow: hidden;
- .message-body
- {
- pointer-events: none;
- }
- }
- }
- .message-attribution
- {
- color: @xf-textColorMuted;
- font-size: @xf-fontSizeSmaller;
- padding-bottom: 3px;
- border-bottom: @xf-borderSize solid @xf-borderColorFaint;
- .m-clearFix();
- &.message-attribution--plain
- {
- border-bottom: none;
- font-size: inherit;
- padding-bottom: 0;
- }
- }
- .message-attribution-main { float: left; }
- .message-attribution-opposite { float: right; }
- .message-attribution-source
- {
- font-size: @xf-fontSizeSmaller;
- margin-bottom: @xf-paddingSmall;
- }
- .message-attribution-user
- {
- font-weight: @xf-fontWeightHeavy;
- .avatar
- {
- display: none;
- }
- .attribution
- {
- display: inline;
- font-size: inherit;
- font-weight: inherit;
- margin: 0;
- }
- }
- .message-newIndicator
- {
- .xf-messageNewIndicator();
- }
- .message-minorHighlight
- {
- font-size: @xf-fontSizeSmall;
- color: @xf-textColorFeature;
- }
- .message-fields
- {
- margin: @xf-messagePadding 0;
- }
- .message-body
- {
- margin: @xf-messagePadding 0;
- font-family: @xf-fontFamilyBody;
- .message--simple &
- {
- margin-top: @xf-messagePaddingSmall;
- margin-bottom: @xf-messagePaddingSmall;
- }
- &:last-child
- {
- margin-bottom: 0;
- }
- }
- .message-attachments
- {
- margin: .5em 0;
- }
- .message-attachments-list
- {
- .m-listPlain();
- }
- .message-lastEdit
- {
- margin-top: .5em;
- color: @xf-textColorMuted;
- font-size: @xf-fontSizeSmallest;
- text-align: right;
- }
- .message-signature
- {
- margin-top: @xf-messagePadding;
- .xf-messageSignature();
- }
- .message-actionBar .actionBar-set
- {
- margin-top: @xf-messagePadding;
- font-size: @xf-fontSizeSmall;
- .message--simple &
- {
- margin-top: @xf-messagePaddingSmall;
- }
- }
- .message .likesBar
- {
- margin-top: @xf-messagePadding;
- padding: @xf-messagePaddingSmall;
- }
- .message-historyTarget
- {
- margin-top: @xf-messagePadding;
- }
- .message-gradient
- {
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- height: 60px;
- .m-gradient(fade(@xf-contentBg, 0%), @xf-contentBg, @xf-contentBg, 0%, 90%);
- }
- .message-responses
- {
- margin-top: @xf-messagePaddingSmall;
- font-size: @xf-fontSizeSmall;
- }
- .message-responseRow
- {
- margin-top: -@xf-minorBlockContent--border-width;
- padding: @xf-messagePaddingSmall;
- // note that border radiuses are very difficult to do here due to a lot of dynamic showing/hiding
- &.message-responseRow--likes
- {
- .m-transitionFadeDown();
- }
- }
- @media (max-width: @xf-messageSingleColumnWidth)
- {
- .message:not(.message--forceColumns)
- {
- .message-attribution-user .avatar
- {
- display: inline-block;
- .m-avatarSize((@xf-fontSizeNormal) * (@xf-lineHeightDefault));
- }
- .message-content
- {
- // this is 1px to workaround an IE11 issue - see #139187
- min-height: 1px;
- }
- }
- }
- @media (max-width: @xf-responsiveNarrow)
- {
- .message-signature
- {
- display: none;
- }
- }
- // MESSAGE MENU
- .message-menuGroup
- {
- display: inline-block;
- }
- .message-menuTrigger
- {
- display: inline-block;
- &:after
- {
- .m-faBase();
- .m-faContent(@fa-var-caret-down, 1em);
- //font-size: 120%;
- text-align: right;
- }
- &:hover:after
- {
- color: black;
- }
- }
- .message-menu-section
- {
- &--editDelete
- {
- .menu-linkRow
- {
- font-weight: @xf-fontWeightHeavy;
- font-size: @xf-fontSizeNormal;
- }
- }
- }
- .message-menu-link
- {
- &--delete i:after
- {
- .m-faContent(@fa-var-trash-o);
- }
- &--edit i:after
- {
- .m-faContent(@fa-var-edit);
- }
- &--report i:after
- {
- .m-faContent(@fa-var-frown-o);
- }
- &--warn i:after
- {
- .m-faContent(@fa-var-warning);
- }
- &--spam i:after
- {
- .m-faContent(@fa-var-ban);
- }
- &--ip i:after
- {
- .m-faContent(@fa-var-sitemap);
- }
- &--history i:after
- {
- .m-faContent(@fa-var-history);
- }
- &--follow i:after
- {
- .m-faContent(@fa-var-user-plus);
- }
- &--ignore i:after
- {
- .m-faContent(@fa-var-user-times);
- }
- &--share i:after
- {
- .m-faContent(@fa-var-share-alt);
- }
- }
- // ############################# COMMENTS ###############
- .comment
- {
- }
- .comment-inner
- {
- display: table;
- table-layout: fixed;
- width: 100%;
- }
- .comment-avatar
- {
- display: table-cell;
- width: 24px;
- vertical-align: top;
- .avatar,
- img
- {
- vertical-align: bottom;
- }
- }
- .comment-main
- {
- display: table-cell;
- padding-left: @xf-messagePadding;
- vertical-align: top;
- }
- .comment-contentWrapper
- {
- margin-bottom: @xf-messagePaddingSmall;
- }
- .comment-user
- {
- font-weight: @xf-fontWeightHeavy;
- }
- .comment-body
- {
- display: inline;
- }
- .comment-input
- {
- display: block;
- height: 2.34em;
- margin-bottom: @xf-messagePaddingSmall;
- }
- .comment-actionBar .actionBar-set
- {
- margin-top: @xf-messagePaddingSmall;
- color: @xf-textColorMuted;
- }
- .comment-likes
- {
- .m-transitionFadeDown();
- margin-top: @xf-messagePaddingSmall;
- font-size: @xf-fontSizeSmaller;
- }
- // ################################## MESSAGE QUICK REPLY ADDITIONS #############
- .formSubmitRow.formSubmitRow--messageQr
- {
- .formSubmitRow-controls
- {
- text-align: center;
- padding-left: 0;
- padding-right: 0;
- margin-left: @xf-messagePadding;
- margin-right: @xf-messagePadding;
- @media (max-width: @xf-formResponsive)
- {
- text-align: right;
- }
- }
- }
- // ################################## MESSAGE NOTICES #############################
- .messageNotice
- {
- margin: @xf-messagePaddingSmall 0;
- padding: @xf-messagePaddingSmall @xf-messagePadding;
- .xf-contentAccentBase();
- font-size: @xf-fontSizeSmaller;
- border-left: @xf-borderSizeMinorFeature solid @xf-borderColorAttention;
- a,
- a:hover
- {
- .xf-contentAccentLink();
- }
- &:first-child
- {
- margin-top: 0;
- }
- &:before
- {
- display: inline-block;
- .m-faBase();
- padding-right: .2em;
- font-size: 125%;
- color: @xf-textColorAttention;
- }
- &.messageNotice--deleted:before { .m-faContent(@fa-var-trash, .79em); }
- &.messageNotice--moderated:before { .m-faContent(@fa-var-shield, .72em); }
- &.messageNotice--warning:before { .m-faContent(@fa-var-warning, 1em); }
- &.messageNotice--ignored:before { .m-faContent(@fa-var-microphone-slash, .79em); }
- }
- // ##################### MESSAGE VARIANTS/RESPONSIVE ##################
- @media (min-width: @xf-responsiveEdgeSpacerRemoval)
- {
- .block:not(.block--messages)
- {
- @{block-noStripSel} > .block-body:first-child > .message:first-child,
- .block-topRadiusContent.message,
- .block-topRadiusContent > .message:first-child
- {
- .message-cell:first-child { border-top-left-radius: @block-borderRadius-inner; }
- .message-cell:last-child { border-top-right-radius: @block-borderRadius-inner; }
- }
- @{block-noStripSel} > .block-body:last-child > .message:last-child,
- .block-bottomRadiusContent.message,
- .block-bottomRadiusContent > .message:last-child
- {
- .message-cell:first-child { border-bottom-left-radius: @block-borderRadius-inner; }
- .message-cell:last-child { border-bottom-right-radius: @block-borderRadius-inner; }
- }
- }
- }
- .block--messages
- {
- .block-container
- {
- background: none;
- border: none;
- }
- .message,
- .block-row
- {
- border-radius: @xf-blockBorderRadius;
- + .message,
- + .block-row
- {
- margin-top: @xf-blockPaddingV;
- }
- }
- .message-cell
- {
- &:first-child
- {
- border-radius: 0;
- border-top-left-radius: @block-borderRadius-inner;
- border-bottom-left-radius: @block-borderRadius-inner;
- }
- &:last-child
- {
- border-radius: 0;
- border-top-right-radius: @block-borderRadius-inner;
- border-bottom-right-radius: @block-borderRadius-inner;
- }
- &:first-child:last-child
- {
- border-radius: @block-borderRadius-inner;
- }
- }
- @media (max-width: @xf-messageSingleColumnWidth)
- {
- .message:not(.message--forceColumns)
- {
- .message-cell
- {
- &:first-child
- {
- border-radius: 0;
- border-top-left-radius: @block-borderRadius-inner;
- border-top-right-radius: @block-borderRadius-inner;
- }
- &:last-child
- {
- border-radius: 0;
- border-bottom-left-radius: @block-borderRadius-inner;
- border-bottom-right-radius: @block-borderRadius-inner;
- }
- &:first-child:last-child
- {
- border-radius: @block-borderRadius-inner;
- }
- }
- }
- .message--simple:not(.message--forceColumns) .message-cell--user + .message-cell
- {
- border-radius: 0;
- border-top-left-radius: @block-borderRadius-inner;
- border-top-right-radius: @block-borderRadius-inner;
- }
- }
- @media (max-width: @xf-responsiveEdgeSpacerRemoval)
- {
- .message,
- .block-row
- {
- border-left: none;
- border-right: none;
- border-radius: 0;
- }
- .message-cell
- {
- border-radius: 0;
- &:first-child,
- &:last-child
- {
- border-radius: 0;
- }
- }
- .message--simple .message-cell--user + .message-cell
- {
- border-radius: 0;
- }
- }
- }]]></template>
- <template title="message_macros" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[<xf:macro name="user_info"
- arg-user="!"
- arg-fallbackName=""
- arg-dateHtml=""
- arg-linkHtml="">
- <section itemscope itemtype="https://schema.org/Person" class="message-user"><div class="message-avatar {{ ($xf.options.showMessageOnlineStatus && $user && $user.isOnline()) ? 'message-avatar--online' : '' }}">
- <div class="message-avatar-wrapper">
- <xf:avatar user="$user" size="m" defaultname="{$fallbackName}" itemprop="image" />
- <xf:if is="$xf.options.showMessageOnlineStatus && $user && $user.isOnline()">
- <span class="message-avatar-online" data-xf-init="tooltip" title="{{ phrase('online_now')|for_attr }}"></span>
- </xf:if>
- </div>
- </div>
- <div class="message-userDetails">
- <h4 class="message-name"><xf:username user="$user" rich="true" defaultname="{$fallbackName}" itemprop="name" /></h4>
- <xf:usertitle user="$user" tag="h5" class="message-userTitle" banner="true" itemprop="jobTitle" />
- <xf:userbanners user="$user" tag="div" class="message-userBanner" itemprop="jobTitle" />
- <xf:if is="{$dateHtml}"><div class="message-date">{$dateHtml}</div></xf:if>
- </div>
- <xf:if is="{$linkHtml}"><div class="message-permalink">{$linkHtml}</div></xf:if>
- <xf:if is="$user.user_id">
- <xf:set var="$extras" value="{{ property('messageUserElements') }}" />
- <xf:if contentcheck="true">
- <div class="message-userExtras">
- <xf:contentcheck>
- <xf:if is="$extras.register_date">
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('joined') }}</dt>
- <dd>{{ date($user.register_date) }}</dd>
- </dl>
- </xf:if>
- <xf:if is="$extras.message_count">
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('messages') }}</dt>
- <dd>{$user.message_count|number}</dd>
- </dl>
- </xf:if>
- <xf:if is="$extras.like_count">
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('likes') }}</dt>
- <dd>{$user.like_count|number}</dd>
- </dl>
- </xf:if>
- <xf:if is="$extras.trophy_points && $xf.options.enableTrophies">
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('points') }}</dt>
- <dd>{$user.trophy_points|number}</dd>
- </dl>
- </xf:if>
- <xf:if is="$extras.age && $user.Profile.age">
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('age') }}</dt>
- <dd>{$user.Profile.age}</dd>
- </dl>
- </xf:if>
- <xf:if is="$extras.location && $user.Profile.location">
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('location') }}</dt>
- <dd>
- <xf:if is="$xf.options.geoLocationUrl">
- <a href="{{ link('misc/location-info', '', {'location': $user.Profile.location}) }}" rel="nofollow noreferrer" target="_blank" class="u-concealed">{$user.Profile.location}</a>
- <xf:else />
- {$user.Profile.location}
- </xf:if>
- </dd>
- </dl>
- </xf:if>
- <xf:if is="$extras.website && $user.Profile.website">
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('website') }}</dt>
- <dd><a href="{$user.Profile.website}" rel="nofollow" target="_blank">{$user.Profile.website|url('host', phrase('visit_site'))}</a></dd>
- </dl>
- </xf:if>
- <xf:if is="$extras.custom_fields">
- <xf:macro template="custom_fields_macros" name="custom_fields_values"
- arg-type="users"
- arg-group="personal"
- arg-set="{$user.Profile.custom_fields}"
- arg-additionalFilters="{{ ['message'] }}"
- arg-valueClass="pairs pairs--justified" />
- <xf:if is="$user.canViewIdentities()">
- <xf:macro template="custom_fields_macros" name="custom_fields_view"
- arg-type="users"
- arg-group="contact"
- arg-set="{$user.Profile.custom_fields}"
- arg-additionalFilters="{{ ['message'] }}"
- arg-valueClass="pairs pairs--justified" />
- </xf:if>
- </xf:if>
- </xf:contentcheck>
- </div>
- </xf:if>
- </xf:if>
- <span class="message-userArrow"></span>
- </section>
- </xf:macro>
- <xf:macro name="user_info_simple" arg-user="!" arg-fallbackName="">
- <header itemscope itemtype="https://schema.org/Person" class="message-user">
- <meta itemprop="name" content="{{ $user.username ?: $fallbackName }}">
- <div class="message-avatar">
- <div class="message-avatar-wrapper">
- <xf:avatar user="$user" size="s" defaultname="{$fallbackName}" itemprop="image" />
- </div>
- </div>
- <span class="message-userArrow"></span>
- </header>
- </xf:macro>
- <xf:macro name="attachments" arg-attachments="!" arg-message="!" arg-canView="!">
- <xf:if contentcheck="true">
- <xf:css src="attachments.less" />
- <section class="message-attachments">
- <h4 class="block-textHeader">{{ phrase('attachments') }}:</h4>
- <ul class="attachmentList">
- <xf:contentcheck>
- <xf:foreach loop="$attachments" value="$attachment" if="!$message.isAttachmentEmbedded($attachment)">
- <xf:macro template="attachment_macros" name="attachment_list_item"
- arg-attachment="{$attachment}"
- arg-canView="{$canView}" />
- </xf:foreach>
- </xf:contentcheck>
- </ul>
- </section>
- </xf:if>
- </xf:macro>
- <xf:macro name="signature" arg-user="!">
- <xf:if is="$xf.visitor.Option.content_show_signature AND $user.Profile.signature">
- <xf:if contentcheck="true">
- <aside class="message-signature">
- <xf:contentcheck>
- {{ bb_code($user.Profile.signature, 'user:signature', $user) }}
- </xf:contentcheck>
- </aside>
- </xf:if>
- </xf:if>
- </xf:macro>]]></template>
- <template title="mixins.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[.brv--image{
- background-image: url("{{ base_url() }}styles/brivium/nickel/extra/brivium-images.png");
- }
- .cloud--image{
- background-image: url("{{ base_url() }}styles/brivium/nickel/extra/cloud.png");
- }
- .node--sprite{
- background-image: url("{{ base_url() }}styles/brivium/nickel/extra/node.png");
- }
- .node--read{
- background-image: url("{{ base_url() }}styles/brivium/nickel/extra/noderead.png");
- }
- .node--page{
- background-image: url("{{ base_url() }}styles/brivium/nickel/extra/page.png");
- }
- .node--link{
- background-image: url("{{ base_url() }}styles/brivium/nickel/extra/link.png");
- }]]></template>
- <template title="node_list.less" type="public" addon_id="XF" version_id="2000370" version_string="2.0.3"><![CDATA[@_nodeList-statsCellBreakpoint: 1000px;
- .node
- {
- & + .node
- {
- border-top: @xf-borderSize solid @xf-borderColor;
- }
- }
- .node-body
- {
- display: table;
- table-layout: fixed;
- width: 100%;
- }
- .node-icon
- {
- display: table-cell;
- vertical-align: middle;
- text-align: center;
- width: 46px;
- padding: @xf-paddingLarge 0 @xf-paddingLarge @xf-paddingLarge;
- i
- {
- display: block;
- line-height: 1.125;
- font-size: 32px;
- &:before
- {
- .m-faBase();
- color: @xf-nodeIconReadColor;
- text-shadow: 1px 1px 0.5px fade(xf-intensify(@xf-nodeIconReadColor, 50%), 50%);
- .node--unread &
- {
- opacity: 1;
- color: @xf-nodeIconUnreadColor;
- text-shadow: 1px 1px 0.5px fade(xf-intensify(@xf-nodeIconUnreadColor, 50%), 50%);
- }
- }
- .node--forum &:before,
- .node--category &:before
- {
- .m-faContent(@fa-var-comments, 1em);
- }
- .node--page &:before
- {
- .m-faContent(@fa-var-file-text, .86em);
- }
- .node--link &:before
- {
- .m-faContent(@fa-var-link, .93em);
- }
- }
- }
- .node-main
- {
- display: table-cell;
- vertical-align: middle;
- padding: @xf-paddingLarge;
- }
- .node-stats
- {
- display: table-cell;
- width: 170px;
- vertical-align: middle;
- text-align: center;
- padding: @xf-paddingLarge 0;
- > dl.pairs.pairs--rows
- {
- width: 50%;
- float: left;
- margin: 0;
- padding: 0 @xf-paddingMedium/2;
- &:first-child
- {
- padding-left: 0;
- }
- &:last-child
- {
- padding-right: 0;
- }
- }
- &.node-stats--single
- {
- width: 100px;
- > dl.pairs.pairs--rows
- {
- width: 100%;
- float: none;
- }
- }
- &.node-stats--triple
- {
- width: 240px;
- > dl.pairs.pairs--rows
- {
- width: 33.333%;
- }
- }
- @media (max-width: @_nodeList-statsCellBreakpoint)
- {
- display: none;
- }
- }
- .node-extra
- {
- display: table-cell;
- vertical-align: middle;
- width: 230px;
- padding: @xf-paddingLarge;
- font-size: @xf-fontSizeSmall;
- }
- .node-extra-row
- {
- .m-overflowEllipsis();
- color: @xf-textColorMuted;
- }
- .node-extra-placeholder
- {
- font-style: italic;
- }
- .node-title
- {
- margin: 0;
- padding: 0;
- font-size: @xf-fontSizeLarge;
- font-weight: @xf-fontWeightNormal;
- .node--unread &
- {
- font-weight: @xf-fontWeightHeavy;
- }
- }
- .node-description
- {
- font-size: @xf-fontSizeSmall;
- color: @xf-textColorDimmed;
- &.node-description--tooltip
- {
- .has-js.has-no-touchevents &
- {
- display: none;
- }
- }
- }
- .node-meta
- {
- font-size: @xf-fontSizeSmall;
- }
- .node-statsMeta
- {
- display: none;
- @media (max-width: @_nodeList-statsCellBreakpoint)
- {
- display: inline;
- }
- }
- .node-bonus
- {
- font-size: @xf-fontSizeSmall;
- color: @xf-textColorMuted;
- text-align: right;
- }
- .node-subNodesFlat
- {
- font-size: @xf-fontSizeSmall;
- margin-top: .3em;
- .node-subNodesLabel
- {
- display: none;
- }
- }
- .node-subNodeMenu
- {
- display: inline;
- .menuTrigger
- {
- color: @xf-textColorMuted;
- }
- }
- @media (max-width: @xf-responsiveMedium)
- {
- .node-main
- {
- display: block;
- width: auto;
- }
- .node-extra
- {
- display: block;
- width: auto;
- // this gives an equivalent of medium padding between main and extra, with main still having large
- margin-top: (@xf-paddingMedium - @xf-paddingLarge);
- padding-top: 0;
- }
- .node-extra-row
- {
- display: inline-block;
- vertical-align: top;
- max-width: 100%;
- }
- .node-description,
- .node-stats,
- .node-subNodesFlat
- {
- display: none;
- }
- }
- @media (max-width: @xf-responsiveNarrow)
- {
- .node-subNodeMenu
- {
- display: none;
- }
- }
- .subNodeLink
- {
- &:before
- {
- display: inline-block;
- .m-faBase();
- width: 1em;
- padding-right: .3em;
- text-decoration: none;
- color: @xf-nodeIconReadColor;
- text-shadow: 1px 1px 0 fade(xf-intensify(@xf-nodeIconReadColor, 50%), 50%);
- }
- &:hover:before
- {
- text-decoration: none;
- }
- &.subNodeLink--unread
- {
- font-weight: @xf-fontWeightHeavy;
- &:before
- {
- color: @xf-nodeIconUnreadColor;
- text-shadow: 1px 1px 0 fade(xf-intensify(@xf-nodeIconUnreadColor, 50%), 50%);
- }
- }
- &.subNodeLink--forum:before,
- &.subNodeLink--category:before
- {
- .m-faContent(@fa-var-comments);
- }
- &.subNodeLink--page:before
- {
- .m-faContent(@fa-var-file-text);
- }
- &.subNodeLink--link:before
- {
- .m-faContent(@fa-var-link);
- }
- }
- .node-subNodeFlatList
- {
- .m-listPlain();
- .m-clearFix();
- > li
- {
- display: inline-block;
- margin-right: 1em;
- &:last-child
- {
- margin-right: 0;
- }
- }
- ol,
- ul,
- .node-subNodes
- {
- display: none;
- }
- }
- .subNodeMenu
- {
- .m-listPlain();
- ol,
- ul
- {
- .m-listPlain();
- }
- .subNodeLink
- {
- display: block;
- padding: @xf-blockPaddingV @xf-blockPaddingH;
- text-decoration: none;
- cursor: pointer;
- &:hover
- {
- text-decoration: none;
- background: @xf-contentHighlightBg;
- }
- }
- li li .subNodeLink { padding-left: 1.5em; }
- li li li .subNodeLink { padding-left: 3em; }
- li li li li .subNodeLink { padding-left: 4.5em; }
- li li li li li .subNodeLink { padding-left: 6em; }
- li li li li li li .subNodeLink { padding-left: 7.5em; }
- }]]></template>
- <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">
- <div class="block block--category block--category{$node.node_id}">
- <span class="u-anchorTarget" id="{$node.Data.getCategoryAnchor()}"></span>
- <div class="block-container">
- <h2 class="block-header">
- <a href="{{ link('categories', $node) }}">{$node.title}</a>
- <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>
- </h2>
- <div class="block-body">
- <xf:macro template="forum_list" name="node_list"
- arg-children="{$children}"
- arg-extras="{$childExtras}"
- arg-depth="{{ $depth + 1 }}" />
- </div>
- </div>
- </div>
- </xf:macro>
- <xf:macro name="depth2" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
- <div class="node node--id{$node.node_id} node--depth{$depth} node--category {{ $extras.hasNew ? 'node--unread' : 'node--read' }}">
- <div class="node-body">
- <span class="node-icon" aria-hidden="true"><i></i></span>
- <div class="node-main js-nodeMain">
- <xf:set var="$descriptionDisplay" value="{{ property('nodeListDescriptionDisplay') }}" />
- <h3 class="node-title">
- <a href="{{ link('categories', $node) }}" data-xf-init="{{ $descriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description">{$node.title}</a>
- </h3>
- <xf:if is="$descriptionDisplay != 'none' && $node.description">
- <div class="node-description {{ $descriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}">{$node.description|raw}</div>
- </xf:if>
- <xf:if is="!{$extras.privateInfo}">
- <div class="node-stats">
- <dl class="pairs pairs--rows">
- <dt>{{ phrase('threads') }}</dt>
- <dd>{$extras.discussion_count|number}</dd>
- </dl>
- <dl class="pairs pairs--rows">
- <dt>{{ phrase('messages') }}</dt>
- <dd>{$extras.message_count|number}</dd>
- </dl>
- </div>
- </xf:if>
- <div class="node-meta">
- <xf:if is="!{$extras.privateInfo}">
- <div class="node-statsMeta">
- <dl class="pairs pairs--inline">
- <dt>{{ phrase('threads') }}</dt>
- <dd>{$extras.discussion_count|number}</dd>
- </dl>
- <dl class="pairs pairs--inline">
- <dt>{{ phrase('messages') }}</dt>
- <dd>{$extras.message_count|number}</dd>
- </dl>
- </div>
- </xf:if>
- <xf:if is="$depth == 2 AND property('nodeListSubDisplay') == 'menu'">
- <xf:macro template="forum_list" name="sub_nodes_menu"
- arg-children="{$children}"
- arg-childExtras="{$childExtras}"
- arg-depth="{{ $depth + 1 }}" />
- </xf:if>
- </div>
- <xf:if is="$depth == 2 AND property('nodeListSubDisplay') == 'flat'">
- <xf:macro template="forum_list" name="sub_nodes_flat"
- arg-children="{$children}"
- arg-childExtras="{$childExtras}"
- arg-depth="{{ $depth + 1 }}" />
- </xf:if>
- </div>
- <div class="node-extra">
- <xf:if is="{$extras.privateInfo}">
- <span class="node-extra-placeholder">{{ phrase('private') }}</span>
- <xf:elseif is="{$extras.last_post_date}" />
- <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>
- <div class="node-extra-row">
- <ul class="listInline listInline--bullet">
- <li class="node-extra-date"><xf:date time="{$extras.last_post_date}" /></li>
- <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)">
- <li class="node-extra-user">{{ phrase('ignored_member') }}</li>
- <xf:else />
- <li class="node-extra-user"><xf:username user="{{ {'user_id': $extras.last_post_user_id, 'username': $extras.last_post_username} }}" /></li>
- </xf:if>
- </ul>
- </div>
- <xf:else />
- <span class="node-extra-placeholder">{{ phrase('none') }}</span>
- </xf:if>
- </div>
- </div>
- </div>
- </xf:macro>
- <xf:macro name="depthN" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
- <li>
- <a href="{{ link('categories', $node) }}" class="subNodeLink subNodeLink--category {{ $extras.hasNew ? 'subNodeLink--unread' : '' }}">{$node.title}</a>
- <xf:macro template="forum_list" name="sub_node_list"
- arg-children="{$children}"
- arg-childExtras="{$childExtras}"
- arg-depth="{{ $depth + 1 }}" />
- </li>
- </xf:macro>]]></template>
- <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">
- <div class="block">
- <div class="block-container">
- <div class="block-body">
- <xf:macro name="forum"
- arg-node="{$node}"
- arg-extras="{$extras}"
- arg-children="{$children}"
- arg-childExtras="{$childExtras}"
- arg-depth="{$depth}" />
- </div>
- </div>
- </div>
- </xf:macro>
- <xf:macro name="depth2" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
- <xf:macro name="forum"
- arg-node="{$node}"
- arg-extras="{$extras}"
- arg-children="{$children}"
- arg-childExtras="{$childExtras}"
- arg-depth="{$depth}" />
- </xf:macro>
- <xf:macro name="depthN" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
- <li>
- <a href="{{ link('forums', $node) }}" class="subNodeLink subNodeLink--forum {{ $extras.hasNew ? 'subNodeLink--unread' : '' }}">{$node.title}</a>
- <xf:macro template="forum_list" name="sub_node_list"
- arg-children="{$children}"
- arg-childExtras="{$childExtras}"
- arg-depth="{{ $depth + 1 }}" />
- </li>
- </xf:macro>
- <xf:macro name="forum"
- arg-node="!"
- arg-extras="!"
- arg-children="!"
- arg-childExtras="!"
- arg-depth="!"
- arg-chooseName=""
- arg-bonusInfo="">
- <div class="node node--id{$node.node_id} node--depth{$depth} node--forum {{ $extras.hasNew ? 'node--unread' : 'node--read' }}">
- <div class="node-body">
- <span class="node-icon" aria-hidden="true"><i></i></span>
- <div class="node-main js-nodeMain">
- <xf:if is="$chooseName">
- <xf:checkbox standalone="true">
- <xf:option labelclass="u-pullRight" class="js-chooseItem" name="{$chooseName}[]" value="{$node.node_id}" />
- </xf:checkbox>
- </xf:if>
- <xf:set var="$descriptionDisplay" value="{{ property('nodeListDescriptionDisplay') }}" />
- <h3 class="node-title">
- <a href="{{ link('forums', $node) }}" data-xf-init="{{ $descriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description">{$node.title}</a>
- </h3>
- <xf:if is="$descriptionDisplay != 'none' && $node.description">
- <div class="node-description {{ $descriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}">{$node.description|raw}</div>
- </xf:if>
- <div class="node-meta">
- <xf:if is="!{$extras.privateInfo}">
- <div class="node-statsMeta">
- <dl class="pairs pairs--inline">
- <dt>{{ phrase('threads') }}</dt>
- <dd>{$extras.discussion_count|number}</dd>
- </dl>
- <dl class="pairs pairs--inline">
- <dt>{{ phrase('messages') }}</dt>
- <dd>{$extras.message_count|number}</dd>
- </dl>
- </div>
- </xf:if>
- <xf:if is="$depth == 2 AND property('nodeListSubDisplay') == 'menu'">
- <xf:macro template="forum_list" name="sub_nodes_menu"
- arg-children="{$children}"
- arg-childExtras="{$childExtras}"
- arg-depth="{{ $depth + 1 }}" />
- </xf:if>
- </div>
- <xf:if is="$depth == 2 AND property('nodeListSubDisplay') == 'flat'">
- <xf:macro template="forum_list" name="sub_nodes_flat"
- arg-children="{$children}"
- arg-childExtras="{$childExtras}"
- arg-depth="{{ $depth + 1 }}" />
- </xf:if>
- <xf:if is="$bonusInfo is not empty">
- <div class="node-bonus">{$bonusInfo}</div>
- </xf:if>
- </div>
- <xf:if is="!{$extras.privateInfo}">
- <div class="node-stats">
- <dl class="pairs pairs--rows">
- <dt>{{ phrase('threads') }}:</dt>
- <dd>{$extras.discussion_count|number}</dd>
- </dl>
- <dl class="pairs pairs--rows">
- <dt>{{ phrase('messages') }}:</dt>
- <dd>{$extras.message_count|number}</dd>
- </dl>
- </div>
- </xf:if>
- <div class="node-extra">
- <xf:if is="{$extras.privateInfo}">
- <span class="node-extra-placeholder">{{ phrase('private') }}</span>
- <xf:elseif is="{$extras.last_post_date}" />
- <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>
- <div class="node-extra-row">
- <ul class="listInline listInline--bullet">
- <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)">
- <li class="node-extra-user">{{ phrase('ignored_member') }}</li>
- <xf:else />
- <li class="node-extra-user"><xf:username user="{{ {'user_id': $extras.last_post_user_id, 'username': $extras.last_post_username} }}" /></li>
- </xf:if>
- <li><xf:date time="{$extras.last_post_date}" class="node-extra-date" />
- </ul>
- </div>
- <xf:else />
- <span class="node-extra-placeholder">{{ phrase('none') }}</span>
- </xf:if>
- </div>
- </div>
- </div>
- <xf:if is="{$depth} == 1">
- <xf:macro template="forum_list" name="node_list"
- arg-children="{$children}"
- arg-extras="{$childExtras}"
- arg-depth="{{ $depth + 1 }}" />
- </xf:if>
- </xf:macro>]]></template>
- <template title="notices.less" type="public" addon_id="XF" version_id="2000670" version_string="2.0.6"><![CDATA[@_notice-darkBg: rgb(20, 20, 20);
- @_notice-lightBg: #fefefe;
- @_notice-floatingFade: 80%;
- @_notice-imageSize: 48px;
- @_notice-padding: @xf-paddingLarge;
- .notices
- {
- .m-listPlain();
- &.notices--block
- {
- .notice
- {
- margin-bottom: ((@xf-elementSpacer) / 2);
- }
- }
- &.notices--floating
- {
- // assumed to be within u-bottomFixer
- margin: 0 20px 0 auto;
- width: 300px;
- max-width: 100%;
- z-index: @zIndex-8;
- @media (max-width: 340px)
- {
- margin-right: 10px;
- }
- .notice
- {
- margin-bottom: 20px;
- }
- }
- &.notices--scrolling
- {
- display: flex;
- align-items: stretch;
- overflow: hidden;
- .xf-blockBorder();
- margin-bottom: ((@xf-elementSpacer) / 2);
- &.notices--isMulti
- {
- margin-bottom: ((@xf-elementSpacer) / 2) + 20px;
- }
- .notice
- {
- width: 100%;
- flex-grow: 0;
- flex-shrink: 0;
- border: none;
- }
- .has-no-flexbox &
- {
- display: block;
- white-space: nowrap;
- word-wrap: normal;
- .notice
- {
- display: inline-block;
- vertical-align: top;
- }
- }
- }
- }
- .noticeScrollContainer
- {
- margin-bottom: ((@xf-elementSpacer) / 2);
- border-radius: 5px;
- .notices.notices--scrolling
- {
- border: none;
- margin-bottom: 0;
- }
- }
- .notice
- {
- .m-clearFix();
- position: relative;
- .xf-blockBorder();
- &.notice--primary
- {
- }
- &.notice--accent
- {
- .xf-contentAccentBase();
- a:not(.button--notice)
- {
- .xf-contentAccentLink();
- }
- }
- &.notice--dark
- {
- color: #fefefe;
- border: none;
- background: @_notice-darkBg;
- a:not(.button--notice)
- {
- color: rgb(180, 180, 180);
- }
- }
- &.notice--light
- {
- color: rgb(20, 20, 20);
- background: @_notice-lightBg;
- a:not(.button--notice)
- {
- color: rgb(130, 130, 130);
- }
- }
- &.notice--cookie
- {
- @media (max-width: @xf-responsiveWide)
- {
- .notice-content
- {
- padding: @xf-paddingSmall @xf-paddingSmall @xf-paddingLarge;
- font-size: @xf-fontSizeSmaller;
- .button--notice
- {
- font-size: @xf-fontSizeSmaller;
- padding: @xf-paddingSmall @xf-paddingMedium;
- .button-text
- {
- font-size: @xf-fontSizeSmaller;
- }
- }
- }
- }
- }
- .notices--block &
- {
- font-size: @xf-fontSizeNormal;
- border-radius: @xf-blockBorderRadius;
- }
- .notices--floating &
- {
- font-size: @xf-fontSizeSmallest;
- border-radius: @xf-borderRadiusMedium;
- box-shadow: 1px 1px 3px rgba(0,0,0, 0.25);
- &.notice--primary
- {
- background-color: fade(@xf-contentHighlightBase--background-color, @_notice-floatingFade);
- }
- &.notice--accent
- {
- background-color: fade(@xf-contentAccentBase--background-color, @_notice-floatingFade);
- }
- &.notice--dark
- {
- background-color: fade(@_notice-darkBg, @_notice-floatingFade);
- }
- &.notice--light
- {
- background-color: fade(@_notice-lightBg, @_notice-floatingFade);
- }
- .has-no-js &
- {
- display: none;
- }
- }
- &.notice--hasImage
- {
- .notice-content
- {
- margin-left: ((@_notice-imageSize) + (@_notice-padding) * 2);
- min-height: ((@_notice-imageSize) + (@_notice-padding) * 2);
- }
- }
- @media (max-width: @xf-responsiveWide)
- {
- &.notice--hidewide:not(.is-vis-processed)
- {
- display: none;
- }
- }
- @media (max-width: @xf-responsiveMedium)
- {
- &.notice--hidemedium:not(.is-vis-processed)
- {
- display: none;
- }
- }
- @media (max-width: @xf-responsiveNarrow)
- {
- &.notice--hidenarrow:not(.is-vis-processed)
- {
- display: none;
- }
- }
- }
- .notice-image
- {
- float: left;
- padding: @_notice-padding 0 @_notice-padding @_notice-padding;
- img
- {
- max-width: @_notice-imageSize;
- max-height: @_notice-imageSize;
- }
- }
- .notice-content
- {
- padding: @_notice-padding;
- background: #fff;
- border-radius: 5px;
- color: rgb(20,20,20);
- a.notice-dismiss
- {
- &:before
- {
- .m-faBase();
- .m-faContent(@fa-var-remove, .79em);
- }
- float: right;
- color: inherit;
- font-size: 16px;
- line-height: 1;
- height: 1em;
- box-sizing: content-box;
- padding: 0 0 5px 5px;
- opacity: .5;
- .m-transition(opacity);
- cursor: pointer;
- &:hover
- {
- text-decoration: none;
- opacity: 1;
- }
- .notices--floating &
- {
- font-size: 14px;
- }
- }
- }]]></template>
- <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}">
- <xf:set var="$hasSkipStart" value="{{ $startInner > 2 }}" />
- <xf:set var="$hasSkipEnd" value="{{ $endInner + 1 < $totalPages }}" />
- <div class="pageNav {{ $hasSkipStart ? 'pageNav--skipStart' : '' }} {{ $hasSkipEnd ? 'pageNav--skipEnd' : '' }}">
- <span class="text-page">{{ phrase('Page') }}</span>
- <a class="pageNavSimple-el pageNavSimple-el--current"
- data-xf-init="tooltip" title="{{ phrase('go_to_page')|for_attr }}"
- data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">
- {{ phrase('x_of_y', {'current': $current, 'total': $totalPages}) }}
- </a>
- <xf:if is="$prev">
- <a href="{$prev}" class="pageNav-jump pageNav-jump--prev">{{ phrase('prev') }}</a>
- </xf:if>
- <ul class="pageNav-main">
- <xf:macro name="page_link"
- arg-page="1"
- arg-current="{$current}"
- arg-link="{$link}"
- arg-data="{$data}"
- arg-params="{$params}"
- arg-pageParam="{$pageParam}" />
- <xf:if is="$hasSkipStart">
- <xf:if is="$startInner == 3">
- <xf:macro name="page_link"
- arg-page="2"
- arg-current="{$current}"
- arg-link="{$link}"
- arg-data="{$data}"
- arg-params="{$params}"
- arg-pageParam="{$pageParam}"
- arg-pageClass="pageNav-page--earlier" />
- <xf:else />
- <li class="pageNav-page pageNav-page--skip pageNav-page--skipStart">
- <a data-xf-init="tooltip" title="{{ phrase('go_to_page')|for_attr }}"
- data-xf-click="menu"
- role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{$xf.language.ellipsis}</a>
- <xf:macro name="page_jump_menu"
- arg-page="{{ $startInner - 1 }}"
- arg-totalPages="{$totalPages}"
- arg-link="{$link}"
- arg-data="{$data}"
- arg-params="{$params}"
- arg-pageParam="{$pageParam}" />
- </li>
- </xf:if>
- </xf:if>
- <xf:foreach loop="$innerPages" value="$page">
- <xf:macro name="page_link"
- arg-page="{$page}"
- arg-current="{$current}"
- arg-link="{$link}"
- arg-data="{$data}"
- arg-params="{$params}"
- arg-pageParam="{$pageParam}"
- arg-pageClass="{{ $page < $current ? 'pageNav-page--earlier' : ($page > $current ? 'pageNav-page--later' : '' ) }}" />
- </xf:foreach>
- <xf:if is="$hasSkipEnd">
- <xf:if is="$endInner + 2 == $totalPages">
- <xf:macro name="page_link"
- arg-page="{{ $totalPages - 1 }}"
- arg-current="{$current}"
- arg-link="{$link}"
- arg-data="{$data}"
- arg-params="{$params}"
- arg-pageParam="{$pageParam}"
- arg-pageClass="pageNav-page--later" />
- <xf:else />
- <li class="pageNav-page pageNav-page--skip pageNav-page--skipEnd">
- <a data-xf-init="tooltip" title="{{ phrase('go_to_page')|for_attr }}"
- data-xf-click="menu"
- role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{$xf.language.ellipsis}</a>
- <xf:macro name="page_jump_menu"
- arg-page="{{ $endInner + 1 }}"
- arg-totalPages="{$totalPages}"
- arg-link="{$link}"
- arg-data="{$data}"
- arg-params="{$params}"
- arg-pageParam="{$pageParam}" />
- </li>
- </xf:if>
- </xf:if>
- <xf:macro name="page_link"
- arg-page="{$totalPages}"
- arg-current="{$current}"
- arg-link="{$link}"
- arg-data="{$data}"
- arg-params="{$params}"
- arg-pageParam="{$pageParam}" />
- </ul>
- <xf:if is="$next">
- <a href="{$next}" class="pageNav-jump pageNav-jump--next">{{ phrase('next') }}</a>
- </xf:if>
- </div>
- <div class="pageNavSimple">
- <xf:if is="$current > 1">
- <a href="{{ link($link, $data, $params + {($pageParam): 1}) }}"
- class="pageNavSimple-el pageNavSimple-el--first"
- data-xf-init="tooltip" title="{{ phrase('first')|for_attr }}">
- <i aria-hidden="true"></i> <span class="u-srOnly">{{ phrase('first') }}</span>
- </a>
- <a href="{{ link($link, $data, $params + {($pageParam): $current - 1}) }}" class="pageNavSimple-el pageNavSimple-el--prev">
- <i aria-hidden="true"></i> {{ phrase('prev') }}
- </a>
- </xf:if>
- <a class="pageNavSimple-el pageNavSimple-el--current"
- data-xf-init="tooltip" title="{{ phrase('go_to_page')|for_attr }}"
- data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">
- {{ phrase('x_of_y', {'current': $current, 'total': $totalPages}) }}
- </a>
- <xf:macro name="page_jump_menu"
- arg-page="{$current}"
- arg-totalPages="{$totalPages}"
- arg-link="{$link}"
- arg-data="{$data}"
- arg-params="{$params}"
- arg-pageParam="{$pageParam}" />
- <xf:if is="$current < $totalPages">
- <a href="{{ link($link, $data, $params + {($pageParam): $current + 1}) }}" class="pageNavSimple-el pageNavSimple-el--next">
- {{ phrase('next') }} <i aria-hidden="true"></i>
- </a>
- <a href="{{ link($link, $data, $params + {($pageParam): $totalPages}) }}"
- class="pageNavSimple-el pageNavSimple-el--last"
- data-xf-init="tooltip" title="{{ phrase('last')|for_attr }}">
- <i aria-hidden="true"></i> <span class="u-srOnly">{{ phrase('last') }}</span>
- </a>
- </xf:if>
- </div>
- </nav>
- <xf:macro name="page_link"
- arg-page="!"
- arg-current="!"
- arg-link="!"
- arg-data="!"
- arg-params="!"
- arg-pageParam="!"
- arg-pageClass="">
- <xf:if is="$page == $current">
- <li class="pageNav-page pageNav-page--current {$pageClass}"><a href="{{ link($link, $data, $params + {($pageParam): ($page > 1 ? $page : null)}) }}">{$page}</a></li>
- <xf:else />
- <li class="pageNav-page {$pageClass}"><a href="{{ link($link, $data, $params + {($pageParam): ($page > 1 ? $page : null)}) }}">{$page}</a></li>
- </xf:if>
- </xf:macro>
- <xf:macro name="page_jump_menu"
- arg-page="!"
- arg-totalPages="!"
- arg-link="!"
- arg-data="!"
- arg-params="!"
- arg-pageParam="!">
- <div class="menu menu--pageJump" data-menu="menu" aria-hidden="true">
- <div class="menu-content">
- <h4 class="menu-header">{{ phrase('go_to_page') }}</h4>
- <div class="menu-row" data-xf-init="page-jump" data-page-url="{{ link($link, $data, $params + {($pageParam): '%page%'}) }}">
- <div class="inputGroup inputGroup--numbers">
- <xf:numberbox class="input input--numberNarrow js-pageJumpPage" value="{$page}" min="1" max="{$totalPages}" data-menu-autofocus="true" />
- <span class="inputGroup-text"><xf:button class="js-pageJumpGo">{{ phrase('go') }}</xf:button></span>
- </div>
- </div>
- </div>
- </div>
- </xf:macro>]]></template>
- <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="!">
- <xf:css src="message.less" />
- <xf:set var="$isIgnored" value="{{ $post.isIgnored() }}" />
- <article class="message message--post js-post js-inlineModContainer {{ $isIgnored ? 'is-ignored' : '' }} {{ $post.isUnread() ? ' is-unread' : '' }}"
- data-author="{{ $post.User.username ?: $post.username }}"
- data-content="post-{$post.post_id}"
- id="js-post-{$post.post_id}">
- <span class="u-anchorTarget" id="post-{$post.post_id}"></span>
- <div class="message-inner">
- <div class="message-cell message-cell--user">
- <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>
- <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>
- <xf:macro template="message_macros" name="user_info" arg-user="{$post.User}" arg-fallbackName="{$post.username}" arg-dateHtml="{$dateHtml}" arg-linkHtml="{$linkHtml}" />
- </div>
- <div class="message-cell message-cell--main">
- <div class="message-main js-quickEditTarget">
- <div class="message-content js-messageContent">
- <xf:if is="$post.message_state == 'deleted'">
- <div class="messageNotice messageNotice--deleted">
- <xf:macro template="deletion_macros" name="notice" arg-log="{$post.DeletionLog}" />
- </div>
- <xf:elseif is="$post.message_state == 'moderated'" />
- <div class="messageNotice messageNotice--moderated">
- {{ phrase('this_message_is_awaiting_moderator_approval_and_is_invisible_to_normal') }}
- </div>
- </xf:if>
- <xf:if is="$post.warning_message">
- <div class="messageNotice messageNotice--warning">
- {$post.warning_message}
- </div>
- </xf:if>
- <xf:if is="$isIgnored">
- <div class="messageNotice messageNotice--ignored">
- {{ phrase('you_are_ignoring_content_by_this_member') }}
- <xf:showignored />
- </div>
- </xf:if>
- <div class="message-userContent lbContainer js-lbContainer {{ $isIgnored ? 'is-ignored' : '' }}"
- data-lb-id="post-{$post.post_id}"
- data-lb-caption-desc="{{ $post.User ? $post.User.username : $post.username }} · {{ date_time($post.post_date) }}">
- <xf:if is="$post.isFirstPost()">
- <xf:macro template="custom_fields_macros" name="custom_fields_view"
- arg-type="threads"
- arg-group="before"
- arg-onlyInclude="{$thread.Forum.field_cache}"
- arg-set="{$thread.custom_fields}"
- arg-wrapperClass="message-fields message-fields--before" />
- </xf:if>
- <article class="message-body js-selectToQuote">
- <xf:ad position="post_above_content" arg-post="{$post}" />
- {{ bb_code($post.message, 'post', $post) }}
- <div class="js-selectToQuoteEnd"> </div>
- <xf:ad position="post_below_content" arg-post="{$post}" />
- </article>
- <xf:if is="$post.isFirstPost()">
- <xf:macro template="custom_fields_macros" name="custom_fields_view"
- arg-type="threads"
- arg-group="after"
- arg-onlyInclude="{$thread.Forum.field_cache}"
- arg-set="{$thread.custom_fields}"
- arg-wrapperClass="message-fields message-fields--after" />
- </xf:if>
- <xf:if is="$post.attach_count">
- <xf:macro template="message_macros" name="attachments"
- arg-attachments="{$post.Attachments}"
- arg-message="{$post}"
- arg-canView="{{ $thread.canViewAttachments() }}" />
- </xf:if>
- </div>
- <xf:if is="$post.last_edit_date">
- <div class="message-lastEdit">
- <xf:if is="$post.user_id == $post.last_edit_user_id">
- {{ phrase('last_edited:') }} <xf:date time="{$post.last_edit_date}" />
- <xf:else />
- {{ phrase('last_edited_by_moderator:') }} <xf:date time="{$post.last_edit_date}" />
- </xf:if>
- </div>
- </xf:if>
- <xf:macro template="message_macros" name="signature" arg-user="{$post.User}" />
- </div>
- <header class="message-attribution" style="display: none;">
- <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>
- <div class="message-attribution-opposite">
- <xf:if is="$post.isUnread()">
- <span class="message-newIndicator">{{ phrase('new') }}</span>
- </xf:if>
- <a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="u-concealed" rel="nofollow">#{{ number($post.position + 1) }}</a>
- </div>
- </header>
- <footer class="message-footer">
- <xf:if contentcheck="true">
- <div class="message-actionBar actionBar">
- <xf:contentcheck>
- <xf:if contentcheck="true">
- <div class="actionBar-set actionBar-set--external">
- <xf:contentcheck>
- <xf:if is="$post.canLike()">
- <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>
- </xf:if>
- <xf:if is="$thread.canReply()">
- <xf:set var="$quoteLink">{{ link('threads/reply', $thread, {'quote': $post.post_id}) }}</xf:set>
- <xf:if is="$xf.options.multiQuote">
- <a href="{$quoteLink}"
- class="actionBar-action actionBar-action--mq u-jsOnly js-multiQuote"
- title="{{ phrase('toggle_multi_quote_tooltip')|for_attr }}"
- data-message-id="{$post.post_id}"
- data-mq-action="add">{{ phrase('quote') }}</a>
- </xf:if>
- <a href="{$quoteLink}"
- class="actionBar-action actionBar-action--reply"
- title="{{ phrase('reply_quoting_this_message')|for_attr }}"
- data-xf-click="quote"
- data-quote-href="{{ link('posts/quote', $post) }}">{{ phrase('reply') }}</a>
- </xf:if>
- <div class="message-attribution-opposite">
- <xf:if is="$post.isUnread()">
- <span class="message-newIndicator">{{ phrase('new') }}</span>
- </xf:if>
- <a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="u-concealed" rel="nofollow">#{{ number($post.position + 1) }}</a>
- </div>
- </xf:contentcheck>
- </div>
- </xf:if>
- <xf:if contentcheck="true">
- <div class="actionBar-set actionBar-set--internal">
- <xf:contentcheck>
- <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>
- <xf:if is="$post.canUseInlineModeration()">
- <span class="actionBar-action actionBar-action--inlineMod">
- <xf:checkbox standalone="true">
- <xf:option value="{$post.post_id}" class="js-inlineModToggle"
- data-xf-init="tooltip"
- title="{{ phrase('select_for_moderation') }}"
- label="{{ phrase('select_for_moderation') }}"
- hiddenlabel="true" />
- </xf:checkbox>
- </span>
- </xf:if>
- <xf:if is="$post.canReport()">
- <a href="{{ link('posts/report', $post) }}"
- class="actionBar-action actionBar-action--report"
- data-xf-click="overlay">{{ phrase('report') }}</a>
- </xf:if>
- <xf:set var="$hasActionBarMenu" value="{{ false }}" />
- <xf:if is="$post.canEdit()">
- <xf:js src="xf/message.js" min="1" />
- <a href="{{ link('posts/edit', $post) }}"
- class="actionBar-action actionBar-action--edit actionBar-action--menuItem"
- data-xf-click="quick-edit"
- data-editor-target="#js-post-{$post.post_id} .js-quickEditTarget"
- data-menu-closer="true">{{ phrase('edit') }}</a>
- <xf:set var="$hasActionBarMenu" value="{{ true }}" />
- </xf:if>
- <xf:if is="$post.edit_count && $post.canViewHistory()">
- <a href="{{ link('posts/history', $post) }}"
- class="actionBar-action actionBar-action--history actionBar-action--menuItem"
- data-xf-click="toggle"
- data-target="#js-post-{$post.post_id} .js-historyTarget"
- data-menu-closer="true">{{ phrase('history') }}</a>
- <xf:set var="$hasActionBarMenu" value="{{ true }}" />
- </xf:if>
- <xf:if is="$post.canDelete('soft')">
- <a href="{{ link('posts/delete', $post) }}"
- class="actionBar-action actionBar-action--delete actionBar-action--menuItem"
- data-xf-click="overlay">{{ phrase('delete') }}</a>
- <xf:set var="$hasActionBarMenu" value="{{ true }}" />
- </xf:if>
- <xf:if is="$post.canCleanSpam()">
- <a href="{{ link('spam-cleaner', $post) }}"
- class="actionBar-action actionBar-action--spam actionBar-action--menuItem"
- data-xf-click="overlay">{{ phrase('spam') }}</a>
- <xf:set var="$hasActionBarMenu" value="{{ true }}" />
- </xf:if>
- <xf:if is="$xf.visitor.canViewIps() && $post.ip_id">
- <a href="{{ link('posts/ip', $post) }}"
- class="actionBar-action actionBar-action--ip actionBar-action--menuItem"
- data-xf-click="overlay">{{ phrase('ip') }}</a>
- <xf:set var="$hasActionBarMenu" value="{{ true }}" />
- </xf:if>
- <xf:if is="$post.canWarn()">
- <a href="{{ link('posts/warn', $post) }}"
- class="actionBar-action actionBar-action--warn actionBar-action--menuItem">{{ phrase('warn') }}</a>
- <xf:set var="$hasActionBarMenu" value="{{ true }}" />
- <xf:elseif is="$post.warning_id && $xf.visitor.canViewWarnings()" />
- <a href="{{ link('warnings', {'warning_id': $post.warning_id}) }}"
- class="actionBar-action actionBar-action--warn actionBar-action--menuItem"
- data-xf-click="overlay">{{ phrase('view_warning') }}</a>
- <xf:set var="$hasActionBarMenu" value="{{ true }}" />
- </xf:if>
- <xf:if is="$hasActionBarMenu">
- <a class="actionBar-action actionBar-action--menuTrigger"
- data-xf-click="menu"
- title="{{ phrase('more_options')|for_attr }}"
- role="button"
- tabindex="0"
- aria-expanded="false"
- aria-haspopup="true">•••</a>
- <div class="menu" data-menu="menu" aria-hidden="true" data-menu-builder="actionBar">
- <div class="menu-content">
- <h4 class="menu-header">{{ phrase('more_options') }}</h4>
- <div class="js-menuBuilderTarget"></div>
- </div>
- </div>
- </xf:if>
- </xf:contentcheck>
- </div>
- </xf:if>
- </xf:contentcheck>
- </div>
- </xf:if>
- <div class="likesBar js-likeList {{ $post.likes ? 'is-active' : '' }}">
- <xf:likes content="{$post}" url="{{ link('posts/likes', $post) }}" />
- </div>
- <div class="js-historyTarget message-historyTarget toggleTarget" data-href="trigger-href"></div>
- </footer>
- </div>
- </div>
- </div>
- </article>
- <xf:ad position="post_below_container" arg-post="{$post}" />
- </xf:macro>
- <xf:macro name="post_deleted" arg-post="!" arg-thread="!">
- <xf:css src="message.less" />
- <div class="message message--deleted message--post{{ $post.isIgnored() ? ' is-ignored' : '' }}{{ $post.isUnread() ? ' is-unread' : '' }} js-post js-inlineModContainer"
- data-author="{{ $post.User.username ?: $post.username }}"
- data-content="post-{$post.post_id}">
- <span class="u-anchorTarget" id="post-{$post.post_id}"></span>
- <div class="message-inner">
- <div class="message-cell message-cell--user">
- <xf:macro template="message_macros" name="user_info" arg-user="{$post.User}" arg-fallbackName="{$post.username}" />
- </div>
- <div class="message-cell message-cell--main">
- <div class="message-attribution">
- <ul class="listInline listInline--bullet message-attribution-main">
- <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>
- <li><xf:username user="{$post.User}" defaultname="{$post.username}" class="u-concealed" /></li>
- </ul>
- </div>
- <div class="messageNotice messageNotice--deleted">
- <xf:macro template="deletion_macros" name="notice" arg-log="{$post.DeletionLog}" />
- <a href="{{ link('posts/show', $post) }}" class="u-jsOnly" data-xf-click="inserter" data-replace="[data-content=post-{$post.post_id}]">{{ phrase('show...') }}</a>
- </div>
- </div>
- </div>
- </div>
- <xf:ad position="post_below_container" arg-post="{$post}" />
- </xf:macro>]]></template>
- <template title="structured_list.less" type="public" addon_id="XF" version_id="2000770" version_string="2.0.7"><![CDATA[@_structItem-avatarSize: 36px;
- @_structItem-avatarSizeExpanded: 48px;
- @_structItem-cellPaddingH: ((@xf-paddingMedium) + (@xf-paddingLarge)) / 2; // average
- @_structItem-cellPaddingV: @xf-paddingLarge;
- {{ include('mixins.less') }}
- .structItemContainer
- {
- border-collapse: collapse;
- list-style: none;
- margin: 0;
- padding: 0;
- width: 100%;
- }
- .structItemContainer-group
- {
- }
- .structItemContainer > .structItem:first-child,
- .structItemContainer > .structItemContainer-group:first-child > .structItem:first-child
- {
- border-top: none;
- }
- .structItem
- {
- display: table;
- table-layout: fixed;
- border-collapse: collapse;
- border-top: @xf-borderSize solid @xf-borderColor;
- list-style: none;
- margin: 0;
- padding: 0;
- width: 100%;
- &.is-highlighted,
- &.is-moderated
- {
- background: @xf-contentHighlightBg;
- }
- &.is-deleted
- {
- opacity: .7;
- .structItem-title
- {
- text-decoration: line-through;
- }
- }
- &.is-mod-selected
- {
- background: @xf-inlineModHighlightColor;
- opacity: 1;
- }
- }
- .structItem-cell
- {
- display: table-cell;
- vertical-align: top;
- padding: @_structItem-cellPaddingV @_structItem-cellPaddingH;
- .structItem--middle &
- {
- vertical-align: middle;
- }
- &.structItem-cell--icon
- {
- width: ((@_structItem-avatarSize) + (@_structItem-cellPaddingH) * 2);
- position: relative;
- &.structItem-cell--iconExpanded
- {
- width: ((@_structItem-avatarSizeExpanded) + (@_structItem-cellPaddingH) * 2);
- }
- &.structItem-cell--iconFixedSmall
- {
- width: (60px + (@_structItem-cellPaddingH) * 2);
- }
- }
- &.structItem-cell--meta
- {
- width: 150px;
- }
- &.structItem-cell--latest
- {
- width: 190px;
- text-align: right;
- }
- }
- .structItem-iconContainer
- {
- position: relative;
- img
- {
- display: block;
- width: 100%;
- }
- .avatar
- {
- .m-avatarSize(@_structItem-avatarSize);
- }
- .structItem-secondaryIcon
- {
- position: absolute;
- right: -5px;
- bottom: -5px;
- .m-avatarSize(@_structItem-avatarSize / 2 + 2px);
- }
- .structItem-cell--iconExpanded &
- {
- .avatar
- {
- .m-avatarSize(@_structItem-avatarSizeExpanded);
- }
- .structItem-secondaryIcon
- {
- .m-avatarSize(@_structItem-avatarSizeExpanded / 2 - 2px);
- }
- }
- }
- .structItem-title
- {
- font-size: @xf-fontSizeLarge;
- font-weight: @xf-fontWeightNormal;
- margin: 0;
- padding: 0;
- .label
- {
- font-weight: @xf-fontWeightNormal;
- }
- .is-unread &
- {
- font-weight: @xf-fontWeightHeavy;
- }
- }
- .structItem-minor
- {
- font-size: @xf-fontSizeSmaller;
- color: @xf-textColorMuted;
- .m-hiddenLinks();
- }
- .structItem-parts
- {
- .m-listPlain();
- display: inline;
- > li
- {
- display: inline;
- margin: 0;
- padding: 0;
- &:nth-child(even)
- {
- color: @xf-textColorDimmed;
- }
- &:before
- {
- content: "\00B7\20";
- }
- &:first-child:before
- {
- content: "";
- display: none;
- }
- }
- }
- .structItem-pageJump
- {
- margin-left: 8px;
- font-size: @xf-fontSizeSmallest;
- a
- {
- .xf-chip();
- text-decoration: none;
- border-radius: @xf-borderRadiusSmall;
- padding: 0 3px;
- opacity: .5;
- .m-transition();
- .structItem:hover &,
- .has-touchevents &
- {
- opacity: 1;
- }
- &:hover
- {
- text-decoration: none;
- .xf-chipHover();
- }
- }
- }
- .structItem-statuses,
- .structItem-extraInfo
- {
- .m-listPlain();
- float: right;
- > li
- {
- float: left;
- margin-left: 8px;
- }
- input[type=checkbox]
- {
- .m-checkboxAligner();
- }
- }
- .structItem-status
- {
- &::before
- {
- .m-faBase();
- display: inline-block;
- font-size: 90%;
- color: @xf-textColorMuted;
- }
- &--deleted::before { .m-faContent(@fa-var-trash-o, .79em); }
- &--locked::before { .m-faContent(@fa-var-lock, .65em); }
- &--moderated::before { .m-faContent(@fa-var-shield, .72em); color: @xf-textColorAttention; }
- &--redirect::before { .m-faContent(@fa-var-external-link, 1em); }
- &--starred::before { .m-faContent(@fa-var-star, .93em); color: @xf-starFullColor; }
- &--sticky::before { .m-faContent(@fa-var-thumb-tack, .65em); }
- &--watched::before { .m-faContent(@fa-var-eye, 1.04em); color: @xf-textColorFeature; }
- &--poll::before { .m-faContent(@fa-var-bar-chart, 1.15em); }
- &--attention::before { .m-faContent(@fa-var-bullhorn, 1.04em); color: @xf-textColorAttention; }
- }
- .structItem.structItem--note
- {
- .xf-contentHighlightBase();
- color: @xf-textColorFeature;
- .structItem-cell
- {
- padding-top: @_structItem-cellPaddingV / 2;
- padding-bottom: @_structItem-cellPaddingV / 2;
- font-size: @xf-fontSizeSmaller;
- text-align: center;
- }
- }
- {{ include('brv_structured.less') }}
- @media (max-width: @xf-responsiveWide)
- {
- .structItem-cell
- {
- vertical-align: top;
- &.structItem-cell--meta
- {
- width: 120px;
- font-size: @xf-fontSizeSmaller;
- }
- &.structItem-cell--latest
- {
- width: 140px;
- font-size: @xf-fontSizeSmaller;
- }
- }
- }
- @media (max-width: @xf-responsiveMedium)
- {
- .structItem-cell
- {
- //padding: (@_structItem-cellPaddingV) / 2 @_structItem-cellPaddingH;
- &.structItem-cell--main
- {
- display: block;
- padding-bottom: .2em;
- padding-left: 0;
- }
- &.structItem-cell--meta
- {
- display: block;
- width: auto;
- float: left;
- padding-top: 0;
- padding-left: 0;
- padding-right: 0;
- color: @xf-textColorMuted;
- .structItem-minor
- {
- display: none;
- }
- .pairs
- {
- > dt,
- > dd
- {
- display: inline;
- float: none;
- margin: 0;
- }
- }
- }
- &.structItem-cell--latest
- {
- display: block;
- width: auto;
- float: left;
- padding-top: 0;
- padding-left: 0;
- &:before
- {
- content: "\00A0\00B7\20";
- color: @xf-textColorMuted;
- }
- a
- {
- color: @xf-textColorMuted;
- }
- .structItem-minor
- {
- display: none;
- }
- }
- }
- .structItem-pageJump,
- .structItem-extraInfoMinor
- {
- display: none;
- }
- .is-unread .structItem-latestDate
- {
- font-weight: @xf-fontWeightNormal;
- }
- }
- @media (max-width: @xf-responsiveNarrow)
- {
- .structItem-parts
- {
- .structItem-startDate
- {
- display: none;
- }
- }
- }]]></template>
- <template title="thread_list_macros" type="public" addon_id="XF" version_id="2001070" version_string="2.0.10"><![CDATA[<xf:macro name="item"
- arg-thread="!"
- arg-forum=""
- arg-forceRead="{{ false }}"
- arg-showWatched="{{ true }}"
- arg-allowInlineMod="{{ true }}"
- arg-chooseName=""
- arg-extraInfo=""
- arg-allowEdit="{{ true }}">
- <xf:css src="structured_list.less" />
- <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 }}">
- <div class="structItem-cell structItem-cell--icon">
- <div class="structItem-iconContainer">
- <xf:avatar user="$thread.User" size="s" defaultname="{$thread.username}" />
- <xf:if is="$thread.getUserPostCount()">
- <xf:if is="property('MiniAvatar')">
- <xf:avatar user="$xf.visitor" size="s"
- href=""
- class="avatar--separated structItem-secondaryIcon"
- title="{{ phrase('you_have_posted_x_messages_in_this_thread', {'count': $thread.getUserPostCount() }) }}" />
- </xf:if>
- </xf:if>
- </div>
- </div>
- <div class="structItem-cell structItem-cell--main" data-xf-init="touch-proxy">
- <xf:if contentcheck="true">
- <ul class="structItem-statuses">
- <xf:contentcheck>
- <xf:if is="$thread.discussion_state == 'moderated'">
- <li>
- <i class="structItem-status structItem-status--moderated" aria-hidden="true" title="{{ phrase('awaiting_approval')|for_attr }}"></i>
- <span class="u-srOnly">{{ phrase('awaiting_approval') }}</span>
- </li>
- </xf:if>
- <xf:if is="$thread.discussion_state == 'deleted'">
- <li>
- <i class="structItem-status structItem-status--deleted" aria-hidden="true" title="{{ phrase('deleted')|for_attr }}"></i>
- <span class="u-srOnly">{{ phrase('deleted') }}</span>
- </li>
- </xf:if>
- <xf:if is="!$thread.discussion_open">
- <li>
- <i class="structItem-status structItem-status--locked" aria-hidden="true" title="{{ phrase('locked')|for_attr }}"></i>
- <span class="u-srOnly">{{ phrase('locked') }}</span>
- </li>
- </xf:if>
- <xf:if is="$thread.discussion_type == 'redirect'">
- <li>
- <i class="structItem-status structItem-status--redirect" aria-hidden="true" title="{{ phrase('redirect')|for_attr }}"></i>
- <span class="u-srOnly">{{ phrase('redirect') }}</span>
- </li>
- <xf:elseif is="$thread.discussion_type == 'poll'" />
- <li>
- <i class="structItem-status structItem-status--poll" aria-hidden="true" title="{{ phrase('poll')|for_attr }}"></i>
- <span class="u-srOnly">{{ phrase('poll') }}</span>
- </li>
- </xf:if>
- <xf:if is="{$showWatched} AND {$xf.visitor.user_id}">
- <xf:if is="{$thread.Watch.{$xf.visitor.user_id}}">
- <li>
- <i class="structItem-status structItem-status--watched" aria-hidden="true" title="{{ phrase('thread_watched')|for_attr }}"></i>
- <span class="u-srOnly">{{ phrase('thread_watched') }}</span>
- </li>
- <xf:elseif is="!$forum AND {$thread.Forum.Watch.{$xf.visitor.user_id}}" />
- <li>
- <i class="structItem-status structItem-status--watched" aria-hidden="true" title="{{ phrase('forum_watched')|for_attr }}"></i>
- <span class="u-srOnly">{{ phrase('forum_watched') }}</span>
- </li>
- </xf:if>
- </xf:if>
- <xf:if is="$thread.sticky">
- <li>
- <i class="structItem-status structItem-status--sticky" aria-hidden="true" title="{{ phrase('sticky')|for_attr }}"></i>
- <span class="u-srOnly">{{ phrase('sticky') }}</span>
- </li>
- </xf:if>
- </xf:contentcheck>
- </ul>
- </xf:if>
- <div class="structItem-title">
- <xf:set var="$canPreview" value="{{ $thread.canPreview() }}" />
- <xf:if is="$thread.prefix_id">
- <xf:if is="$forum">
- <a href="{{ link('forums', $forum, {'prefix_id': $thread.prefix_id}) }}" class="labelLink" rel="nofollow">{{ prefix('thread', $thread, 'html', '') }}</a>
- <xf:else />
- {{ prefix('thread', $thread, 'html', '') }}
- </xf:if>
- </xf:if>
- <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>
- </div>
- <div class="structItem-minor">
- <xf:if contentcheck="true">
- <ul class="structItem-extraInfo">
- <xf:contentcheck>
- <xf:if is="{$extraInfo}">
- <li>{$extraInfo}</li>
- <xf:elseif is="$thread.canEdit() AND $thread.canUseInlineModeration() AND {$allowEdit}" />
- <xf:if is="!$allowInlineMod OR !$forum">
- <xf:set var="$editParams" value="{{ {
- '_xfNoInlineMod': !$allowInlineMod ? 1 : null,
- '_xfForumName': !$forum ? 1 : 0
- } }}" />
- <xf:else />
- <xf:set var="$editParams" value="{{ [] }}" />
- </xf:if>
- <xf:if is="$thread.discussion_type != 'redirect'">
- <li class="structItem-extraInfoMinor">
- <a href="{{ link('threads/edit', $thread) }}" data-xf-click="overlay" data-href="{{ link('threads/edit', $thread, $editParams) }}">
- {{ phrase('edit') }}
- </a>
- </li>
- </xf:if>
- </xf:if>
- <xf:if is="$chooseName">
- <li><xf:checkbox standalone="true">
- <xf:option name="{$chooseName}[]" value="{$thread.thread_id}" class="js-chooseItem" />
- </xf:checkbox></li>
- <xf:elseif is="$allowInlineMod AND $thread.canUseInlineModeration()" />
- <li><xf:checkbox standalone="true">
- <xf:option value="{$thread.thread_id}" class="js-inlineModToggle"
- data-xf-init="tooltip"
- title="{{ phrase('select_for_moderation') }}"
- label="{{ phrase('select_for_moderation') }}"
- hiddenlabel="true"
- />
- </xf:checkbox></li>
- </xf:if>
- </xf:contentcheck>
- </ul>
- </xf:if>
- <xf:if is="$thread.discussion_state == 'deleted'">
- <xf:if is="{$extraInfo}"><span class="structItem-extraInfo">{$extraInfo}</span></xf:if>
- <xf:macro template="deletion_macros" name="notice" arg-log="{$thread.DeletionLog}" />
- <xf:else />
- <ul class="structItem-parts">
- <li><xf:username user="$thread.User" defaultname="{$thread.username}" /></li>
- <li class="structItem-startDate"><a href="{{ link('threads', $thread) }}" rel="nofollow"><xf:date time="{$thread.post_date}" /></a></li>
- <xf:if is="!$forum">
- <li><a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a></li>
- </xf:if>
- </ul>
- <xf:if is="$thread.discussion_type != 'redirect' && $thread.reply_count >= $xf.options.messagesPerPage && $xf.options.lastPageLinks">
- <span class="structItem-pageJump">
- <xf:foreach loop="{{ last_pages($thread.reply_count + 1, $xf.options.messagesPerPage, $xf.options.lastPageLinks) }}" value="$p">
- <a href="{{ link('threads', $thread, {'page': $p}) }}">{$p}</a>
- </xf:foreach>
- </span>
- </xf:if>
- </xf:if>
- </div>
- </div>
- <div class="structItem-cell structItem-cell--meta" title="{{ phrase('first_message_likes:')|for_attr }} {$thread.first_post_likes|number}">
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('replies') }}</dt>
- <dd>{{ $thread.discussion_type == 'redirect' ? '–' : $thread.reply_count|number }}</dd>
- </dl>
- <dl class="pairs pairs--justified structItem-minor">
- <dt>{{ phrase('views') }}</dt>
- <dd>{{ $thread.discussion_type == 'redirect' ? '–' : ($thread.view_count > $thread.reply_count ? $thread.view_count|number : number($thread.reply_count+1)) }}</dd>
- </dl>
- </div>
- <div class="structItem-cell structItem-cell--latest">
- <xf:if is="$thread.discussion_type == 'redirect'">
- {{ phrase('n_a') }}
- <xf:else />
- <div class="structItem-minor">
- <xf:if is="$xf.visitor.isIgnoring($thread.last_post_user_id)">
- {{ phrase('ignored_member') }}
- <xf:else />
- <xf:username user="{$thread.last_post_cache}" />
- </xf:if>
- </div>
- <a href="{{ link('threads/latest', $thread) }}" rel="nofollow"><xf:date time="{$thread.last_post_date}" class="structItem-latestDate" /></a>
- </xf:if>
- </div>
- </div>
- </xf:macro>
- <xf:macro name="item_new_posts" arg-thread="!">
- <div class="contentRow">
- <div class="contentRow-figure">
- <xf:avatar user="$thread.LastPoster" size="xxs" defaultname="{$thread.last_post_username}" />
- </div>
- <div class="contentRow-main contentRow-main--close">
- <xf:if is="$thread.isUnread()">
- <a href="{{ link('threads/unread', $thread) }}">{{ prefix('thread', $thread) }}{$thread.title}</a>
- <xf:else />
- <a href="{{ link('threads/post', $thread, {'post_id': $thread.last_post_id}) }}">{{ prefix('thread', $thread) }}{$thread.title}</a>
- </xf:if>
- <div class="contentRow-minor contentRow-minor--hideLinks">
- <ul class="listInline listInline--bullet">
- <li>{{ phrase('latest_x', {'name': $thread.last_post_cache.username}) }}</li>
- <li><xf:date time="{$thread.last_post_date}" /></li>
- </ul>
- </div>
- <div class="contentRow-minor contentRow-minor--hideLinks">
- <a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a>
- </div>
- </div>
- </div>
- </xf:macro>
- <xf:macro name="item_new_threads" arg-thread="!">
- <div class="contentRow">
- <div class="contentRow-figure">
- <xf:avatar user="$thread.User" size="xxs" defaultname="{$thread.username}" />
- </div>
- <div class="contentRow-main contentRow-main--close">
- <a href="{{ link('threads', $thread) }}">{{ prefix('thread', $thread) }}{$thread.title}</a>
- <div class="contentRow-minor contentRow-minor--hideLinks">
- <ul class="listInline listInline--bullet">
- <li>{{ phrase('started_by_x', {'name': $thread.username}) }}</li>
- <li><xf:date time="{$thread.post_date}" /></li>
- <li>{{ phrase('replies:') }} {$thread.reply_count|number}</li>
- </ul>
- </div>
- <div class="contentRow-minor contentRow-minor--hideLinks">
- <a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a>
- </div>
- </div>
- </div>
- </xf:macro>
- <xf:macro name="quick_thread"
- arg-forum="!"
- arg-page="1"
- arg-order="last_post_date"
- arg-direction="desc">
- <xf:css src="structured_list.less" />
- <xf:if is="$forum.canCreateThread()">
- <xf:js src="xf/thread.js" min="1" />
- <xf:set var="$inlineMode" value="{{ ($page == 1 && $order == 'last_post_date' && $direction == 'desc') ? true : false }}" />
- <xf:form action="{{ link('forums/post-thread', $forum, {'inline-mode': $inlineMode}) }}" class="structItem" ajax="true"
- draft="{{ link('forums/draft', $forum) }}"
- data-xf-init="quick-thread"
- data-focus-activate=".js-titleInput"
- data-focus-activate-href="{{ link('forums/post-thread', $forum, {'inline-mode': true}) }}"
- data-focus-activate-target=".js-quickThreadFields"
- data-insert-target=".js-threadList"
- data-replace-target=".js-emptyThreadList">
- <div class="structItem-cell structItem-cell--icon">
- <div class="structItem-iconContainer">
- <xf:avatar user="$xf.visitor" size="s" />
- </div>
- </div>
- <div class="structItem-cell structItem-cell--newThread js-prefixListenContainer">
- <xf:formrow rowtype="noGutter noLabel fullWidth noPadding mergeNext"
- label="{{ phrase('title') }}">
- <xf:prefixinput maxlength="{{ max_length('XF:Thread', 'title') }}"
- placeholder="{$forum.thread_prompt}"
- title="{{ phrase('post_new_thread_in_this_forum') }}"
- prefix-value="{$forum.default_prefix_id}"
- type="thread"
- prefixes="{{ $forum.getUsablePrefixes() }}"
- data-xf-init="tooltip"
- rows="1"/>
- </xf:formrow>
- <div class="js-quickThreadFields inserter-container is-hidden"><!--{{ phrase('loading...') }}--></div>
- </div>
- </xf:form>
- </xf:if>
- </xf:macro>]]></template>
- <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) }}>
- <div class="block-container">
- <h3 class="block-minorHeader block-forum-static"><a>{$title}</a></h3>
- <div class="block-body block-row forum-static-content">
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('threads') }}</dt>
- <dd>{$forumStatistics.threads|number}</dd>
- </dl>
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('messages') }}</dt>
- <dd>{$forumStatistics.messages|number}</dd>
- </dl>
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('members') }}</dt>
- <dd>{$forumStatistics.users|number}</dd>
- </dl>
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('latest_member') }}</dt>
- <dd><xf:username user="{$forumStatistics.latestUser}" /></dd>
- </dl>
- </div>
- </div>
- </div>]]></template>
- <template title="widget_members_online" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[<xf:if is="$options.staffOnline">
- <xf:if contentcheck="true">
- <div class="block" data-widget-section="staffMembers"{{ widget_data($widget) }}>
- <div class="block-container">
- <h3 class="block-minorHeader block-staff"><a href="{{ link('members', null, {'key': 'staff_members'}) }}">{{ phrase('staff_online') }}</a></h3>
- <ul class="block-body staff-content">
- <xf:contentcheck>
- <xf:foreach loop="$online.users" value="$user">
- <xf:if is="$user.is_staff">
- <li class="block-row">
- <div class="contentRow">
- <div class="contentRow-figure">
- <xf:avatar user="$user" size="xs" />
- </div>
- <div class="contentRow-main contentRow-main--close">
- <xf:username user="$user" rich="true" />
- <div class="contentRow-minor">
- <xf:usertitle user="$user" />
- </div>
- </div>
- </div>
- </li>
- </xf:if>
- </xf:foreach>
- </xf:contentcheck>
- </ul>
- </div>
- </div>
- </xf:if>
- </xf:if>
- <div class="block" data-widget-section="onlineNow"{{ widget_data($widget) }}>
- <div class="block-container">
- <h3 class="block-minorHeader block-member"><a href="{{ link('online') }}">{$title}</a></h3>
- <div class="block-body member-content">
- <xf:if contentcheck="true">
- <div class="block-row block-row--minor">
- <h4 class="block-textHeader block-textHeader--scaled">
- {{ phrase('people_you_follow') }}
- </h4>
- <ul class="listHeap">
- <xf:contentcheck>
- <xf:if is="$options.followedOnline">
- <xf:foreach loop="$online.users" value="$user">
- <xf:if is="in_array($user.user_id, $xf.visitor.Profile.following)">
- <li>
- <xf:avatar user="$user" size="xxs" img="true" />
- </li>
- </xf:if>
- </xf:foreach>
- </xf:if>
- </xf:contentcheck>
- </ul>
- </div>
- <div class="block-row block-row--minor">
- <h4 class="block-textHeader block-textHeader--scaled">
- {{ phrase('members') }}
- </h4>
- <xf:else />
- <div class="block-row block-row--minor">
- </xf:if>
- <xf:if is="$online.users is not empty">
- <ul class="listInline listInline--comma">
- <xf:foreach loop="$online.users" value="$user"><xf:trim>
- <li><xf:username user="$user" rich="true" class="{{ !$user.visible ? 'username--invisible' : '' }}" /></li>
- </xf:trim></xf:foreach>
- </ul>
- <xf:if is="$online.counts.unseen">
- <a href="{{ link('online') }}">{{ phrase('ellipsis_and_x_more', {'count': $online.counts.unseen}) }}</a>
- </xf:if>
- <xf:else />
- {{ phrase('no_members_online_now') }}
- </xf:if>
- </div>
- </div>
- <div class="block-footer">
- <span class="block-footer-counter">{{ phrase('online_now_x_members_y_guests_z',{
- 'total': number($online.counts.total),
- 'members': number($online.counts.members),
- 'guests': number($online.counts.guests)})
- }}</span>
- </div>
- </div>
- </div>]]></template>
- <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')">
- <div class="block"{{ widget_data($widget) }}>
- <div class="block-container">
- <xf:if is="$style == 'full'">
- <h3 class="block-header">
- <a href="{$link}" rel="nofollow">{$title}</a>
- </h3>
- <div class="block-body">
- <div class="structItemContainer">
- <xf:if is="$threads is not empty">
- <xf:foreach loop="$threads" value="$thread">
- <xf:macro template="thread_list_macros" name="item"
- arg-allowInlineMod="{{ false }}"
- arg-thread="{$thread}" />
- </xf:foreach>
- <xf:elseif is="$filter == 'unread'" />
- <div class="block-row">
- {{ phrase('no_unread_posts_view_latest', {'link': link('whats-new/posts', null, {'skip': 1})}) }}
- </div>
- <xf:else />
- <div class="block-row">
- {{ phrase('no_results_found') }}
- </div>
- </xf:if>
- </div>
- </div>
- <xf:if is="$hasMore">
- <div class="block-footer">
- <span class="block-footer-controls">
- <xf:button href="{$link}" rel="nofollow">{{ phrase('view_more...') }}</xf:button>
- </span>
- </div>
- </xf:if>
- <xf:else />
- <h3 class="block-minorHeader block-post">
- <a href="{$link}" rel="nofollow">{$title}</a>
- </h3>
- <ul class="block-body post-content">
- <xf:if is="$threads is not empty">
- <xf:foreach loop="$threads" value="$thread">
- <li class="block-row">
- <xf:macro template="thread_list_macros" name="item_new_posts"
- arg-thread="{$thread}" />
- </li>
- </xf:foreach>
- <xf:elseif is="$filter == 'unread'" />
- <li class="block-row block-row--minor">
- {{ phrase('no_unread_posts_view_latest', {'link': link('whats-new/posts', null, {'skip': 1})}) }}
- </li>
- <xf:else />
- <li class="block-row block-row--minor">
- {{ phrase('no_results_found') }}
- </li>
- </xf:if>
- </ul>
- </xf:if>
- </div>
- </div>
- </xf:if>]]></template>
- <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) }}>
- <div class="block-container">
- <h3 class="block-minorHeader block-static">{$title}</h3>
- <div class="block-body block-row">
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('members_online') }}</dt>
- <dd>{$counts.members|number}</dd>
- </dl>
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('guests_online') }}</dt>
- <dd>{$counts.guests|number}</dd>
- </dl>
- <dl class="pairs pairs--justified">
- <dt>{{ phrase('total_visitors') }}</dt>
- <dd>{$counts.total|number}</dd>
- </dl>
- </div>
- <div class="block-footer">
- {{ phrase('totals_may_include_hidden_visitors') }}
- </div>
- </div>
- </div>]]></template>
- <template title="widget_share_page" type="public" addon_id="XF" version_id="2000270" version_string="2.0.2"><![CDATA[<xf:if contentcheck="true">
- <div class="block"{{ widget_data($widget) }}>
- <div class="block-container">
- <h3 class="block-minorHeader block-share"><a>{$title}</a></h3>
- <div class="block-body block-row">
- <xf:contentcheck>
- <xf:macro template="share_page_macros" name="buttons" arg-iconic="{$options.iconic}" />
- </xf:contentcheck>
- </div>
- </div>
- </div>
- </xf:if>]]></template>
- <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">
- <div class="block member-visitor"{{ widget_data($widget) }}>
- <xf:macro template="account_visitor_sidebar" name="visitor_panel_row_sidebar" />
- </div>
- </xf:if>]]></template>
- </templates>
- <properties>
- <group group_name="BriviumSettings" title="[Brivium] Settings" description="" display_order="0" addon_id=""/>
- <group group_name="brivium_footer" title="[Brivium] Footer" description="" display_order="1" addon_id=""/>
- <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="">
- <value>"#ffffff"</value>
- </property>
- <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="">
- <value>"#4f3043"</value>
- </property>
- <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="">
- <value>"#242027"</value>
- </property>
- <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="">
- <value>"#140e0e"</value>
- </property>
- <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="">
- <value>"#242027"</value>
- </property>
- <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="">
- <value>"<div class=\"footer-title\"> <h3>About Us</h3> </div> <div class=\"content-inner\"> <p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur. Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> </div> <div class=\"footer-social\"> <a class=\"facebook\" href=\"#\"><span><i class=\"fa fa-facebook\"></i></span></a> <a class=\"twitter\" href=\"#\"><span><i class=\"fa fa-twitter\"></i></span></a> <a class=\"google\" href=\"#\"><span><i class=\"fa fa-google-plus\"></i></span></a> <a class=\"linkedin\" href=\"#\"><span><i class=\"fa fa-linkedin\"></i></span></a> <a class=\"youtube\" href=\"#\"><span><i class=\"fa fa-youtube-play\"></i></span></a> <a class=\"dribbble\" href=\"#\"><span><i class=\"fa fa-dribbble\"></i></span></a> <a class=\"flickr\" href=\"#\"><span><i class=\"fa fa-flickr\"></i></span></a> <a class=\"pinterest\" href=\"#\"><span><i class=\"fa fa-pinterest-p\"></i></span></a> <a class=\"vimeo\" href=\"#\"><span><i class=\"fa fa-vimeo\"></i></span></a> <a class=\"rss\" href=\"#\"><span><i class=\"fa fa-rss\"></i></span></a> <a class=\"deviantart\" href=\"#\"><span><i class=\"fa fa-deviantart\"></i></span></a> <a class=\"email\" href=\"mailto:youremail@gmail.com\"><span><i class=\"fa fa-envelope-o\"></i></span></a> </div>"</value>
- </property>
- <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="">
- <value>"<div class=\"footer-title\"> <h3>Related link</h3> </div> <div class=\"content-inner\"> <ul> <li><a href=\"#\">Related link 01</a></li> <li><a href=\"#\">Related link 02</a></li> <li><a href=\"#\">Related link 03</a></li> <li><a href=\"#\">Related link 04</a></li> <li><a href=\"#\">Related link 05</a></li> </ul> </div>"</value>
- </property>
- <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="">
- <value>"<div class=\"footer-title\"> <h3>Related link</h3> </div> <div class=\"content-inner\"> <ul> <li><a href=\"#\">Related link 01</a></li> <li><a href=\"#\">Related link 02</a></li> <li><a href=\"#\">Related link 03</a></li> <li><a href=\"#\">Related link 04</a></li> <li><a href=\"#\">Related link 05</a></li> </ul> </div>"</value>
- </property>
- <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="">
- <value>"<div class=\"footer-title\"> <h3>Contact us</h3> </div> <div class=\"content-inner contact-info\"> <div class=\"item address\">15 Str., 4844, Ipsum, State, UK</div> <div class=\"item phone\">+30-2106019311</div> <div class=\"item email\"><a href=\"mailto:solium@gmail.com\">solium@gmail.com</a></div> <div class=\"item public\"><a href=\"http://www.nickel.com\">nickel.com</a></div> </div>"</value>
- </property>
- <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="">
- <value>1</value>
- </property>
- <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="">
- <value>1</value>
- </property>
- <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">
- <value>{
- "background-color": "#ffffff",
- "extra": "border-radius: 2px;"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeSmall",
- "color": "@xf-linkColor",
- "background-color": "#ffffff",
- "border-bottom-width": "1px",
- "border-bottom-color": "@xf-borderColor",
- "extra": "text-transform: uppercase;\npadding: 10px;"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeSmall",
- "color": "@xf-paletteColor3",
- "background-color": "#ffffff",
- "extra": "padding: 10px;"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeSmaller",
- "color": "@xf-paletteColor3",
- "background-color": "#ffffff",
- "border-top-width": "@xf-borderSize",
- "border-top-color": "@xf-borderColorLight"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "14px",
- "color": "@xf-paletteColor3",
- "background-color": "#ffffff",
- "extra": "padding: 15px;"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "14px",
- "color": "@xf-paletteColor3",
- "background-color": "#ffffff",
- "extra": "padding: 10px;\ntext-transform: uppercase;"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeNormal",
- "color": "#ffffff",
- "background-color": "#242027",
- "border-bottom-width": "@xf-borderSize",
- "border-bottom-color": "@xf-borderColor"
- }</value>
- </property>
- <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">
- <value>{
- "color": "@xf-paletteColor3"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeLarge",
- "color": "@xf-paletteColor3",
- "background-color": "#fffff",
- "extra": "padding: 10px;"
- }</value>
- </property>
- <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">
- <value>"#f3f3f3"</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeSmall",
- "border-radius": "2px",
- "padding-top": "6px",
- "padding-right": "10px",
- "padding-bottom": "6px",
- "padding-left": "10px",
- "extra": "text-align: center;"
- }</value>
- </property>
- <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">
- <value>{
- "color": "#fff",
- "background-color": "@xf-paletteColor3"
- }</value>
- </property>
- <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">
- <value>{
- "color": "#fff",
- "background-color": "#222326"
- }</value>
- </property>
- <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">
- <value>{
- "color": "#fff",
- "background-color": "@xf-paletteColor3",
- "extra": "min-width: 80px;"
- }</value>
- </property>
- <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">
- <value>{
- "color": "@xf-contentBg",
- "background-color": "#2b2320"
- }</value>
- </property>
- <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">
- <value>"transparent"</value>
- </property>
- <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">
- <value>{
- "color": "@xf-textColor",
- "background-color": "@xf-contentBg"
- }</value>
- </property>
- <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">
- <value>"'Open Sans', sans-serif"</value>
- </property>
- <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">
- <value>"'Open Sans', sans-serif"</value>
- </property>
- <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">
- <value>{
- "font-size": "12px",
- "color": "#b5b1b9",
- "background-color": "#f5f5f5",
- "border-width": "1px",
- "border-color": "@xf-borderColor",
- "border-radius": "2px",
- "padding": "@xf-paddingMedium"
- }</value>
- </property>
- <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">
- <value>[]</value>
- </property>
- <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">
- <value>"#372d3b"</value>
- </property>
- <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">
- <value>"@xf-paletteColor3"</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeSmall",
- "color": "@xf-textColor",
- "background-color": "#ffffff",
- "extra": "// border: @xf-borderSize solid @xf-borderColor;"
- }</value>
- </property>
- <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">
- <value>"@xf-contentBg"</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeSmaller",
- "color": "@xf-textColorDimmed",
- "background-color": "@xf-contentAltBg",
- "border-top-width": "@xf-borderSize",
- "border-top-color": "@xf-borderColorLight",
- "extra": "background: linear-gradient(180deg, @xf-contentAltBg, mix(@xf-contentAltBg, @xf-contentBg, 50%));"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "14px",
- "color": "@xf-paletteColor3",
- "background-color": "#242027",
- "border-bottom-width": "@xf-borderSize",
- "border-bottom-color": "@xf-borderColorLight",
- "extra": "padding: 8px 15px;"
- }</value>
- </property>
- <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">
- <value>"15px"</value>
- </property>
- <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">
- <value>{
- "background-color": "transparent",
- "border-width": "@xf-borderSize",
- "border-color": "@xf-borderColor"
- }</value>
- </property>
- <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">
- <value>"95px"</value>
- </property>
- <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">
- <value>"@xf-paletteColor3"</value>
- </property>
- <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">
- <value>"#fb6b5b"</value>
- </property>
- <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">
- <value_parameters>menu={{ phrase('popup_menu') }}
- flat={{ phrase('listed_below_node') }}
- none={{ phrase('none') }}</value_parameters>
- <value>"flat"</value>
- </property>
- <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">
- <value>{
- "font-size": "14px",
- "color": "@xf-paletteColor3",
- "background-color": "#242027",
- "padding-top": "@xf-paddingMedium",
- "padding-right": "@xf-paddingLarge",
- "padding-bottom": "@xf-paddingMedium",
- "padding-left": "@xf-paddingLarge",
- "extra": "text-align: center;"
- }</value>
- </property>
- <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">
- <value>"rgba(0, 0, 0, .3)"</value>
- </property>
- <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">
- <value>"15vh"</value>
- </property>
- <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">
- <value>{
- "background-color": "#f1f3f4"
- }</value>
- </property>
- <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">
- <value_parameters>hidePalette=true</value_parameters>
- <value>"#e7f8fd"</value>
- </property>
- <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">
- <value_parameters>hidePalette=true</value_parameters>
- <value>"#64d1f4"</value>
- </property>
- <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">
- <value_parameters>hidePalette=true</value_parameters>
- <value>"#0d92bf"</value>
- </property>
- <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">
- <value_parameters>hidePalette=true</value_parameters>
- <value>"#fce8ea"</value>
- </property>
- <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">
- <value_parameters>hidePalette=true</value_parameters>
- <value>"#f7bac1"</value>
- </property>
- <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">
- <value_parameters>hidePalette=true</value_parameters>
- <value>"#ec5566"</value>
- </property>
- <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">
- <value_parameters>hidePalette=true</value_parameters>
- <value>"#e61931"</value>
- </property>
- <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">
- <value_parameters>hidePalette=true</value_parameters>
- <value>"#b81427"</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeSmall",
- "color": "#b3b1b4",
- "background-color": "#242027"
- }</value>
- </property>
- <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">
- <value>{
- "color": "#b3b1b4"
- }</value>
- </property>
- <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">
- <value>{
- "color": "#ffffff",
- "background-color": "@xf-paletteColor3",
- "background-image": "styles/brivium/nickel/extra/bg-header.jpg",
- "extra": "background-size: cover;"
- }</value>
- </property>
- <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">
- <value>"styles/brivium/nickel/extra/logo.png"</value>
- </property>
- <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">
- <value>{
- "color": "#ffffff",
- "background-color": "#242027"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "14px",
- "color": "@xf-paletteColor3",
- "border-radius": "4px",
- "extra": "border-radius: 0;"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "14px",
- "text-decoration": "none"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "14px",
- "color": "@xf-paletteColor3",
- "text-decoration": "none"
- }</value>
- </property>
- <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">
- <value>{
- "color": "@xf-paletteColor3",
- "text-decoration": "none"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeSmall",
- "color": "#ffffff",
- "background-color": "#1b1b27"
- }</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeSmall",
- "color": "@xf-paletteColor3",
- "background-color": "#222326"
- }</value>
- </property>
- <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">
- <value>{
- "color": "#ffffff"
- }</value>
- </property>
- <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">
- <value>{
- "color": "#ffffff",
- "text-decoration": "none"
- }</value>
- </property>
- <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">
- <value>"20px"</value>
- </property>
- <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">
- <value>"245px"</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeNormal",
- "color": "#ffffff",
- "font-weight": "@xf-fontWeightNormal",
- "background-color": "#242027",
- "extra": "border: none;"
- }</value>
- </property>
- <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">
- <value>{
- "color": "@xf-paletteColor3",
- "font-weight": "@xf-fontWeightNormal"
- }</value>
- </property>
- <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">
- <value>"#887882"</value>
- </property>
- <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">
- <value>{
- "font-size": "@xf-fontSizeSmaller",
- "color": "#fff",
- "background-color": "@xf-paletteColor3",
- "border-radius": "@xf-borderRadiusMedium",
- "padding-top": "5px",
- "padding-right": "5px",
- "padding-bottom": "5px",
- "padding-left": "5px"
- }</value>
- </property>
- </properties>
- </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement