<?xml version="1.0" encoding="utf-8"?>
<style title="Molybdenum" 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>
<header class="p-header" id="header">
<div class="p-header-inner">
<div class="p-header-content">
<div class="header-left">
<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>
<div class="p-nav-opposite">
<div class="p-navgroup p-discovery">
<xf:if is="$xf.visitor.canSearch()">
<div class="search-area menu--structural menu--wide" data-menu="menu" 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>
<xf:button type="submit" class="button--primary" icon="search" />
</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') }}">{{ phrase('advanced_search...') }}</xf:button>
</span>
</div>
</div>
<xf:csrf />
</form>
</div>
<div class="search--control">
<img src="{{ base_url() }}styles/brivium/molybdenum/extra/search.png">
</div>
</xf:if>
</div>
</div>
</div>
<div class="header-right">
<div class="header-social-share">
{{ property('BlockHeaderShare') }}
</div>
</div>
<xf:ad position="container_header" />
</div>
</div>
</header>
<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-smallLogo">
<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>
<div class="brv-nav">
<div class="brv-nav__control">
<div class="brv-nav--item brv-nav--before">
<i class="fa fa-outdent"></i>
</div>
<div class="brv-nav--item brv-nav--mid">
<a href="#" class="item-menu selected"></a>
</div>
<div class="brv-nav--item brv-nav--after control-menu">
<i class="fa fa-caret-right"></i>
</div>
</div>
<ul class="p-nav-list brv-main-nav 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>
<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>
</div>
<div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}">
<xf:if is="$xf.visitor.user_id">
<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') }}">{{ phrase('preferences') }}</a>
</span>
</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>
</xf:if>
<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">
<xf:avatar user="$xf.visitor" size="xs" href="" />
<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>
</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>
</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>
<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">
<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' : '' }} {{ $sideNav ? 'p-body-main--withSideNav' : '' }}">
<xf:if is="$sideNav">
<div class="p-body-sideNav">
<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">
<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">
<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 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>
</xf:if>
<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/molybdenum/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" 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="2000670" version_string="2.0.6"><![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>
<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 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>
<div class="contentRow-main">
<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="2000370" version_string="2.0.3"><![CDATA[// ######################################### MAIN BODY #################################
//p-body
html[dir="RTL"]{
.p-body .p-body-inner .p-body-sidebar .block.member-visitor .content-inner .contentRow-figure .member-avarta{
transform: translateX(50%);
}
.p-body .p-body-inner .p-body-sidebar .block.member-visitor .content-inner .contentRow-figure .member-avarta .avatar span{
transform: translate(50%, -50%);
}
}
.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 20px;
.p-title{
h1{
font-size: 20px;
color: @xf-linkColor;
font-weight: 600;
.label{
border: none;
}
}
}
.p-description{
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-body{
box-shadow: 0px 1px 3px rgba(0,0,0,0.07);
background: #fff;
.node{
background: #fff;
.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;
.node-statsMeta{
display: block;
dl{
display: inline-block;
width: auto;
margin-right: 10px;
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-paletteColor7;
padding: 7px 15px;
display: inline-block;
border-radius: 3px;
position: relative;
font-weight: 600;
&:hover{
text-decoration: none;
color: #fff;
background: @xf-paletteColor3;
&:before{
color: #fff !important;
}
}
&.subNodeLink{
&:before{
content: '\f111';
font-family: "FontAwesome";
text-shadow: none;
font-size: 5px;
position: absolute;
left: 6px;
top: 52%;
transform: translateY(-50%);
color: @xf-paletteColor7;
}
&.subNodeLink--unread{
&:before{
color: @xf-paletteColor7;
}
}
}
}
}
}
}
.node-extra{
.node-extra-row{
.node-extra-title{
font-weight: 600;
padding-left: 20px;
position: relative;
&:before{
content: '\f02d';
font-family: FontAwesome;
font-size: 14px;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
}
li{
font-size: 12px;
time{
color: @xf-linkColor;
}
}
.node-extra-user{
a{
color: @xf-paletteColor3;
font-size: 12px;
}
}
}
}
}
&.node--forum{
&.node--read{
.node-icon{
i{
&:before{
content: '';
background-image: url("{{ base_url() }}styles/brivium/molybdenum/extra/node-read.png");
width: 31px;
height: 24px;
background-repeat: no-repeat;
background-position: center;
}
}
}
}
&.node--unread{
.node-icon{
i{
&:before{
content: '';
background-image: url("{{ base_url() }}styles/brivium/molybdenum/extra/node-unread.png");
width: 31px;
height: 24px;
background-repeat: no-repeat;
background-position: center;
}
}
}
}
}
&.node--link{
.node-icon{
i{
&:before{
content: '';
background-image: url("{{ base_url() }}styles/brivium/molybdenum/extra/link.png");
width: 32px;
height: 34px;
background-repeat: no-repeat;
background-position: center;
}
}
}
}
&.node--page{
.node-icon{
i{
&:before{
content: '';
background-image: url("{{ base_url() }}styles/brivium/molybdenum/extra/page.png");
width: 25px;
height: 33px;
background-repeat: no-repeat;
background-position: center;
}
}
}
}
&.node--category{
&.node--read{
.node-icon{
i{
&:before{
content: '';
background-image: url("{{ base_url() }}styles/brivium/molybdenum/extra/node-read.png");
width: 31px;
height: 24px;
background-repeat: no-repeat;
background-position: center;
}
}
}
}
.node--unread{
.node-icon{
i{
&:before{
content: '';
background-image: url("{{ base_url() }}styles/brivium/molybdenum/extra/node-unread.png");
width: 31px;
height: 24px;
background-repeat: no-repeat;
background-position: center;
}
}
}
}
}
}
}
.block-filterBar{
.filterBar{
.filterBar-menuTrigger{
font-size: 14px;
color: #fff;
&:hover{
background-color: transparent;
text-decoration: underline;
}
}
}
}
}
}
}
}
}
.p-body-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{
width: 45px;
height: 45px;
&.structItem-secondaryIcon{
width: 20px;
height: 20px;
font-size: 12px;
span{
line-height: 20px;
}
}
span{
font-size: 20px;
line-height: 45px;
}
}
.comment-avatar{
.avatar{
width: 24px;
height: 24px;
span{
line-height: 24px;
}
}
}
.block{
&.member-visitor{
display: inline-block;
width: 100%;
.content-inner{
.contentRow-figure{
text-align: left;
padding: 40px 20px;
border-radius: 3px 3px 0 0;
background-image: url("{{ base_url() }}styles/brivium/molybdenum/extra/staff.png");
background-position: center;
background-size: cover;
background-repeat: no-repeat;
position: relative;
.member-avarta{
position: absolute;
left: 50%;
bottom: -35px;
transform: translateX(-50%);
z-index: 99;
&:before{
content: '';
width: 78px;
height: 78px;
position: absolute;
left: -3px;
top: -3px;
border-radius: 3px;
background-color: rgba(255,255,255,.1);
}
.avatar{
width: 72px;
height: 72px;
position: relative;
span{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
}
.member-role{
position: relative;
top: -15px;
text-align: center;
.contentRow-header{
margin-bottom: 5px;
a{
font-size: 14px;
font-weight: 600;
color: #fff;
}
}
.contentRow-lesser{
color: #fff;
font-size: 12px;
}
}
}
.contentRow-main{
padding: 10px;
border-radius: 0 0 3px 3px;
background-color: @xf-paletteColor3;
.contentRow-minor{
font-size: 12px;
color: #fff;
dl{
margin: 3px 0;
dt{
color: #fff;
}
}
}
}
}
}
&[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;
}
.contentRow-minor{
font-size: 12px;
a{
font-size: 11px;
}
}
}
}
}
}
}
.block-container{
border-color: #ebeff6;
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.06);
.block-minorHeader{
text-transform: uppercase;
text-align: center;
position: relative;
.block-control{
position: absolute;
right: 5px;
top: 50%;
transform: translateY(-50%);
font-size: 18px;
cursor: pointer;
width: 20px;
height: 21px;
text-align: center;
line-height: 20px;
}
a{
padding-left: 25px;
padding-right: 10px;
display: inline-block;
position: relative;
&:before{
position: absolute;
left: 5px;
top: 50%;
transform: translateY(-50%);
content: '\f009';
font-family: "FontAwesome";
font-size: 14px;
}
&:after{
content: "";
position: absolute;
left: 0;
right: 0;
bottom: -10px;
height: 2px;
background: #000;
}
}
&.block-staff{
a{
&:before{
content: '\f0c0';
}
}
}
&.block-member{
a{
&:before{
content: '\f0c0';
}
}
}
&.block-post{
a{
&:before{
content: '\f00b';
}
}
}
&.block-forum-static{
a{
&:before{
content: '\f080';
}
}
}
&.block-share{
a{
&:before{
content: '\f1e0';
}
}
}
}
.block-footer{
padding: 10px;
}
.block-body{
font-size: 12px;
background: #fff;
.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;
}
.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-textColor;
dt{
color: inherit;
}
dd{
color: #1b1b27;
}
}
}
}
}
}
}
}
//end
.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;
}
}
@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="2000270" version_string="2.0.2"><![CDATA[//p-breadcrumbs
html[dir="RTL"]{
.p-breadcrumbs li:before{
transform: rotate(45deg) translate(-30%, -40%);
}
}
.brv-breadcrumbs{
padding: 10px 0;
background: #fff;
.brv-breadcrumbs-inner{
max-width: @xf-pageWidthMax;
margin: 0 auto;
padding-left: 15px;
padding-right: 15px;
}
}
.p-breadcrumbs{
border: 1px solid @xf-borderColor;
overflow: hidden;
position: relative;
border-radius: 2px;
li{
padding: 0 13px;
position: relative;
z-index: 2;
&:before{
content: '';
position: absolute;
width: 40px;
height: 40px;
top: 50%;
right: 0;
z-index: -1;
border-right: 1px solid @xf-borderColor;
border-bottom: 1px solid @xf-borderColor;
transform: rotate(-45deg) translate(30%, -40%);
}
&:first-child{
a{
padding-left: 0;
}
}
a{
font-size: 12px;
padding: 8px;
color: #26211d;
font-weight: 400 !important;
z-index: 999;
}
&:after{
display: none;
}
}
.control-sidebar{
position: absolute;
top: 50%;
cursor: pointer;
right: 15px;
transform: translateY(-50%);
color: #676360;
}
}
//End
.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;
}
}
}
}
@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="2000670" version_string="2.0.6"><![CDATA[//footer
#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: #fff;
}
}
&.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{
color: rgba(255,255,255,.5);
width: 32px;
height: 32px;
line-height: 30px;
margin-right: 5px;
background: #5f5d5b;
border-radius: 100%;
display: inline-block;
text-align: center;
font-size: 16px;
&:hover{
color: #fff;
}
}
}
}
&.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%;
}
}
}
}
//end
.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; }
}
@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="2000270" version_string="2.0.2"><![CDATA[//header
html{
&[data-logged-in="true"]{
#header{
.p-header-inner{
}
}
}
&[data-logged-in="false"]{
#header{
padding: 15px 0;
.header-right{
.p-navgroup--guest{
background: #1d1d26 !important;
border-radius: 2px !important;
a{
color: #fff !important;
}
}
}
}
}
}
#header{
padding: 18px 0;
.p-header-inner{
padding: 0 15px;
.p-header-content{
padding: 0;
.header-left{
.p-header-logo{
display: inline-block;
float: left;
}
.p-nav-opposite{
margin-right: 0;
padding: 5px 0 4px;
padding-left: 30px;
margin-left: 30px;
display: inline-block;
.p-navgroup{
background-color: transparent;
margin: 0;
position: relative;
.search--control{
position: absolute;
right: 0;
top: 0;
width: 60px;
height: 40px;
text-align: center;
line-height: 48px;
background: @xf-paletteColor3;
cursor: pointer;
}
.search-area{
position: relative;
width: 465px;
form{
border-radius: 0;
border: none;
background-color: transparent;
.search-input{
padding: 0;
background-color: transparent;
position: relative;
.button--icon--search{
position: absolute;
right: 0;
top: 0;
height: 40px;
width: 75px;
border-radius: 0 2px 2px 0;
border: none;
.button-text{
display: none;
}
&:before{
content: '';
background-image: url("{{ base_url() }}styles/brivium/molybdenum/extra/search.png");
width: 18px;
height: 18px;
display: inline-block;
vertical-align: middle;
}
}
input{
border: none;
border-radius: 0;
color: #fff;
background-color: transparent;
padding-left: 15px;
line-height: 28px;
background: #26211E;
border-radius: 2px;
height: 40px;
&:-ms-input-placeholder{
color: #b6977d;
}
&::-ms-input-placeholder{
color: #b6977d;
}
&::placeholder{
color: #b6977d;
}
}
}
.search-option{
position: absolute;
width: 320px;
top: 150%;
left: 0;
opacity: 0;
visibility: hidden;
padding: 15px 0;
background-color: #fff;
transition: all 500ms;
box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.35);
&.active{
top: 100%;
opacity: 1;
visibility: visible;
z-index: 999;
}
.inputGroup{
padding: 10px;
select{
background-color: transparent;
border: 1px solid #e5e5e5;
width: 100% !important;
option{
color: #000000;
}
}
}
.menu-footer{
padding: 10px 15px;
background: #fff !important;
border: none;
.menu-footer-controls{
.button{
color: #fff;
}
}
}
}
}
}
}
}
}
.header-right{
.header-social-share{
.text-follow{
text-transform: capitalize;
font-size: 13px;
display: inline-block;
}
.item-share{
display: inline-block;
}
a{
width: 26px;
height: 26px;
text-align: center;
margin-left: 5px;
display: inline-block;
line-height: 24px;
border-radius: 100%;
background: rgba(255,255,255,.3);
&:hover{
background: rgba(255,255,255,.5);
}
i{
font-size: 13px;
}
}
}
}
}
}
}
//end
// 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;
}
}
}
@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[//p-nav
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{
.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;
&.is-menuOpen{
background: rgba(0, 0, 0, 0.2);
box-shadow: none;
}
&.is-selected{
&.is-menuOpen{
.p-navEl-splitTrigger{
opacity: 1;
visibility: visible;
}
}
}
.p-navEl-splitTrigger{
position: absolute;
bottom: 6px;
right: 5px;
&:after{
font-size: 18px;
color: #ffffff;
}
}
.p-navEl-link{
padding: 15px 30px 16px;
position: relative;
letter-spacing: 0.5px;
}
}
}
}
}
}
.p-navgroup{
background-color: transparent;
border-radius: 0;
padding: 0 12px 0 5px;
position: relative;
.p-navgroup-link{
border: none;
opacity: 1;
&:hover{
background-color: transparent;
color: #fff;
}
&.is-menuOpen{
box-shadow: none;
background-color: transparent;
color: #fff;
}
color: rgba(255,255,255,.6);
&.p-navgroup-link--alerts{
padding: 19px 20px;
i{
&:after{
content: '\f0e6';
font-size: 20px;
}
}
.p-navgroup-linkText{
display: none;
}
}
&.p-navgroup-link--conversations{
padding: 18px 20px 19px;
i{
&:after{
content: '\f0ac';
font-size: 20px;
}
}
.p-navgroup-linkText{
display: none;
}
}
&.p-navgroup-link--logIn{
position: relative;
padding: 8px 18px;
margin-right: -12px;
border-left: 1px solid @xf-borderColor;
&:hover{
text-decoration: underline;
}
}
&.p-navgroup-link--register{
padding: 8px 18px;
margin-left: -5px;
&:hover{
text-decoration: underline;
}
}
}
.p-navgroup-link--user{
max-width: none;
border-radius: 0;
position: relative;
padding: 9px 10px 9px 20px;
&.is-menuOpen{
box-shadow: none;
}
&:after{
content: '\f107';
font-family: FontAwesome;
font-size: 16px;
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
}
.avatar{
width: 42px;
height: 42px;
img{
border: 2px solid rgba(255,255,255,.5);
background: transparent;
}
span{
font-size: 20px;
line-height: 42px;
border: 2px solid rgba(255,255,255,.5);
}
}
.p-navgroup-linkText{
line-height: 38px;
margin-right: 15px;
margin-left: 10px;
font-size: 14px;
text-transform: capitalize;
}
}
}
}
}
.brv-nav{
position: relative;
margin-right: auto;
margin-left: 15px;
display: flex;
max-width: 75%;
&:before{
content: '';
position: absolute;
top: 0;
right: 100%;
height: 60px;
width: 2000px;
background: @xf-paletteColor3;
}
.brv-nav__control{
height: 60px;
background: @xf-paletteColor3;
display: inline-block;
min-width: 130px;
.brv-nav--item{
display: inline-block;
padding: 19px 0 20px;
max-width: 80px;
text-overflow: ellipsis;
white-space: nowrap;
&:first-child{
margin-right: 15px;
}
&.brv-nav--mid{
.item-menu{
&:hover{
text-decoration: none;
}
}
}
&.brv-nav--after{
padding-left: 15px;
padding-right: 10px;
cursor: pointer;
width: 30px;
}
}
}
.p-sectionLinks{
display: inline-block;
max-width: 80%;
}
.brv-main-nav{
position: absolute;
top: 110%;
left: 0;
width: 150px;
background: #E4B342;
border-radius: 0 0 2px 2px;
opacity: 0;
visibility: hidden;
transition: all 500ms;
&.active{
top: 100%;
opacity: 1;
visibility: visible;
}
li{
display: block;
.p-navEl{
&.is-selected{
display: none;
}
.p-navEl-splitTrigger{
display: none;
}
}
}
}
}
html[dir="RTL"]{
.brv-nav .brv-nav__control .brv-nav--item.brv-nav--after i{
transform: rotateY(180deg);
}
}
.p-sectionLinks{
.p-sectionLinks-inner{
.hScroller-scroll{
.p-sectionLinks-list{
li{
.p-navEl{
&.is-menuOpen{
a{
color: @xf-paletteColor3;
}
}
&:hover{
a{
color: @xf-paletteColor3;
}
}
a{
padding-right: 10px;
padding-left: 10px;
padding-top: 21px;
padding-bottom: 21px;
&:hover{
text-decoration: none;
color: @xf-paletteColor3;
}
}
}
}
}
}
}
}
//End
// 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: 0;
padding-right: 0;
}
.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;
}
}
@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="2000270" version_string="2.0.2"><![CDATA[// STICKY NAV SETUP
.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;
}
}
}
}
}
}
}
.p-nav-opposite{
padding: 3px 0;
}
}
}
}
//end
.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;
}
}
}]]></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="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="2000670" version_string="2.0.6"><![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;
}
#BRCopyright{
display: none !important;
}
.p-navEl-splitTrigger:after{
content: '\f107';
}
.p-body-sidebar{
[data-widget-definition="new_posts"]{
.structItem{
.structItem-cell{
display: block;
&.structItem-cell--icon{
width: 30%;
float: left;
}
&.structItem-cell--latest,
&.structItem-cell--meta{
width: 50%;
float: left;
}
&.structItem-cell-only-forum-view{
display: none;
}
}
}
}
}
.button{
&:hover{
background: #000000 !important;
color: #ffffff !important;
border-color: #000000 !important;
}
}
.inlineModBar.is-active:first-of-type{
background: #fcfcfc;
}
.js-likeList.is-active,
.likesBar.is-active{
border: 1px solid @xf-borderColor;
background: #fcfcfc;
a{
color: @xf-paletteColor3;
}
}
.actionBar-action{
color: @xf-linkColor;
&:hover{
color: @xf-paletteColor3;
}
}
.block-container{
background: transparent;
}
.subNodeLink.subNodeLink--unread{
font-weight: 700 !important;
}
.actionBar-action.actionBar-action--mq.is-selected{
background: transparent;
border: none;
color: @xf-paletteColor3;
text-shadow: 0 0 15px;
}
.fr-toolbar{
background: #f2f2f2;
padding: 2px 0;
&.fr-top{
border: 1px solid @xf-borderColor;
}
.fr-separator{
background: #d9d9d9;
}
.fr-command.fr-btn{
color: #000000;
}
}
.overlay-title{
padding-top: 13px;
padding-bottom: 13px;
}
.block-textHeader{
padding: 10px;
background: @xf-linkColor;
}
.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{
background: #fff;
border: none;
}
.block-tabHeader{
background: #1d1d27;
.tabs-tab{
padding: 10px;
border: none;
color: #fff;
&.is-active{
color: @xf-paletteColor3;
}
}
}
.p-navgroup--guest{
padding-top: 11px !important;
padding-bottom: 12px !important;
}
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: 10px;
top: 16px;
}
.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;
}
}
.badge.badge--highlighted, .badgeContainer.badgeContainer--highlighted::after{
background: @xf-paletteColor3 !important;
}
.new_tags_brv {
padding: 10px 20px 10px 0;
margin-bottom: 10px;
display: none;
font-size: 13px;
}
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%);
}
body[data-template="thread_view"]{
.p-pageWrapper{
background: #fff !important;
}
.notice-content{
background: @xf-paletteColor1;
}
.block-body{
box-shadow: none !important;
}
}
.p-sectionLinks .hScroller-action:hover{
color: @xf-paletteColor3;
}
.overlay-titleCloser{
color: #ffffff;
opacity: 1;
}
//block-header
.block-header{
position: relative;
.block-control{
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
font-size: 18px;
cursor: pointer;
width: 20px;
height: 21px;
text-align: center;
line-height: 20px;
}
}
//block--category
.block--category{
.block-header{
position: relative;
&: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-arrow{
border-bottom-color: #1d1d26;
}
.menu-content{
border-radius: 0;
border-top: none;
.menu-row--highlighted{
background: transparent;
padding: 15px;
.contentRow-figure{
position: relative;
&:before{
content: '';
width: 78px;
height: 78px;
position: absolute;
left: -3px;
top: -3px;
border-radius: 100%;
background-color: rgba(255, 255, 255, 0.1);
}
.avatar{
width: 72px;
height: 72px;
border-radius: 100%;
font-size: 36px;
span{
line-height: 72px;
}
}
}
.contentRow-header{
a{
padding: 8px 0;
font-size: 16px;
font-weight: 600;
}
}
}
ul{
padding-top: 10px;
padding-bottom: 5px;
}
a{
border-left: none;
padding: 7px 15px;
font-size: 12px;
color: #00091a;
&:hover{
background: transparent;
color: @xf-paletteColor3;
}
}
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-linkColor;
}
.pageNavSimple-el{
border: none;
border-radius: 0;
background: transparent;
color: @xf-linkColor;
&: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-paletteColor3;
}
}
a{
padding: 3px 8px;
background-color: #26211d;
border-radius: 3px;
color: #ffffff;
&:hover{
background-color: @xf-paletteColor3;
}
}
}
}
.pageNav-jump{
padding: 3px 8px;
border: none;
border-radius: 0;
background: transparent;
color: @xf-linkColor;
&:after,&:before{
display: none;
}
&:hover{
text-decoration: underline;
}
}
}
//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;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
//reponsive
@media (min-width: 1366px){
}
@media (max-width: 1366px){
.p-body{
margin-top: -2px;
}
}
@media (min-width: 1200px){
}
@media (max-width: 1200px){
#header .p-header-inner .p-header-content .header-left .p-nav-opposite .p-navgroup .search-area{
width: 375px;
}
.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: 1024px){
.header-right{
display: none;
}
.header-left{
width: 100%;
}
#header .p-header-inner .p-header-content .header-left .p-nav-opposite .p-navgroup .search-area form .search-option{
width: 270px;
left: auto;
right: 0;
}
#header .p-header-inner .p-header-content .header-left .p-nav-opposite{
position: absolute;
right: 20px;
}
}
@media (min-width: @xf-responsiveWide){
#header .p-header-inner .p-header-content .header-left .p-nav-opposite .p-navgroup .search--control{
display: none;
}
#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 (max-width: @xf-responsiveWide){
#header .p-header-inner .p-header-content .header-left .p-nav-opposite .p-navgroup .search-area form .search-input .button--icon--search{
display: none;
}
.p-pageWrapper{
overflow: hidden;
}
#header .p-header-inner .p-header-content .header-left .p-nav-opposite .p-navgroup .search-area{
width: 40px;
transition: all 500ms;
&.show{
width: 300px;
}
}
.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;
}
.header-left{
position: relative;
padding-right: 100px;
}
#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: 900px){
#header .p-header-inner .p-header-content .header-right .p-navgroup .p-navgroup-link--user:after{
display: none;
}
}
@media (min-width: @xf-responsiveMedium){
//p-staffBar
.p-staffBar{
.hScroller-scroll.is-calculated{
overflow-y: hidden;
overflow-x: hidden;
margin: 0 !important;
}
}
.link-admin{
float: right;
}
}
@media (max-width: @xf-responsiveMedium){
.is-sticky{
box-shadow: none !important;
.p-nav{
display: none;
}
}
.has-js .p-nav .p-nav-menuTrigger{
margin-right: auto;
}
.brv-nav{
display: none;
}
#header .p-header-inner .p-header-content .header-left .p-nav-opposite .p-navgroup .search-area{
&.show{
width: 250px;
}
}
#header .p-header-inner .p-header-content .header-right .header-social-share{
position: relative;
.text-follow{
cursor: pointer;
font-size: 14px;
text-transform: uppercase;
color: @xf-paletteColor3;
}
.item-share{
position: absolute;
right: 0;
top: 100%;
width: 90px;
background: #2b2320;
padding: 10px;
z-index: 111;
opacity: 0;
visibility: hidden;
transition: all 500ms;
&.active{
opacity: 1;
visibility: visible;
}
a{
margin-bottom: 5px;
}
}
}
#header .p-header-inner .p-header-content .header-left .p-navgroup{
margin-left: 15px;
}
#header .p-header-inner .p-header-content .header-left .p-navgroup .p-navgroup-link{
padding: 10px;
}
#header .p-header-inner .p-header-content .header-right .p-navgroup .p-navgroup-link--user::after{
display: none;
}
#header .p-header-inner .p-header-content .header-right .p-navgroup .p-navgroup-link--user .avatar{
cursor: pointer;
}
.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;
}
}
}
}
}
#header .p-header-inner .p-header-content .header-right .p-navgroup{
padding: 0 5px 0 5px;
}
}
@media (max-width: @xf-responsiveNarrow){
#header .p-header-inner .p-header-content .header-left .p-header-logo{
padding: 9px 0;
}
.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){
.p-nav .p-nav-inner .p-nav-opposite .p-navgroup .search-area{
width: 190px;
}
html[dir="RTL"]{
.p-nav .p-nav-inner .p-nav-opposite .p-navgroup .search-area form .search-option{
transform: translateX(50%);
}
}
.p-nav .p-nav-inner .p-nav-opposite .p-navgroup .search-area form .search-option{
right: auto;
left: 32.5%;
transform: translateX(-50%);
}
#header .p-header-inner .p-header-content .header-right .p-navgroup .p-navgroup-link--user,
#header .p-header-inner .p-header-content .header-right .p-navgroup .p-navgroup-link--user:hover,
#header .p-header-inner .p-header-content .header-right .p-navgroup .p-navgroup-link--user.is-menuOpen,
#header .p-header-inner:before{
background: transparent !important;
}
#header .p-header-inner .p-header-content .header-right .p-navgroup .p-navgroup-link{
margin: 0;
padding-left: 10px !important;
padding-right: 10px !important;
&.p-navgroup-link--user{
padding-right: 0 !important;
}
}
}
@media (max-width: 375px){
#header .p-header-inner .p-header-content .header-right .p-navgroup .p-navgroup-link.p-navgroup-link--logIn::after{
display: none;
}
}
@media (max-width: 320px){
.p-nav .p-nav-inner .p-nav-opposite .p-navgroup .search-area form .search-option{
right: auto;
left: 23.5%;
transform: translateX(-50%);
}
}]]></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">
<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="2000370" version_string="2.0.3"><![CDATA[@_message-actionColumnWidth: 40px;
@_messageSimple-userColumnWidth: 70px;
//block--messages
body[data-template="thread_view"]{
.block--messages{
.message{
padding-right: 0;
.message-inner{
.message-cell--user{
.message-user{
.message-avatar{
.message-avatar-wrapper{
position: relative;
.avatar{
width: 100px;
height: 100px;
font-size: 40px;
span{
line-height:98px;
}
}
}
}
}
}
}
}
}
}
.block--messages{
.message{
padding-bottom: 20px;
padding-top: 20px;
padding-right: 10px;
border-radius: 0 !important;
&:last-child{
padding-bottom: 0;
}
&:first-child{
border-top: 1px solid @xf-borderColor;
padding-top: 20px;
.message-inner{
.message-userDetails{
.userBanner{
&.userBanner--staff{
background-color: #ff5310 !important;
color: #fff;
&:before{
border-right-color: #ff5310 !important;
border-bottom-color: #ff5310 !important;
}
&:after{
border-bottom-color: #ff5310 !important;
border-left-color: #ff5310 !important;
}
}
}
}
}
}
.message-inner{
.message-cell--user{
border: none;
border-radius: 0;
padding: 0;
.message-user{
padding: 10px;
background: #fff;
border-radius: 2px;
border: 1px solid @xf-borderColor;
}
.message-userDetails{
text-align: left;
margin: 10px 0;
.message-name{
text-align: left;
font-size: 14px;
font-weight: 600;
margin-bottom: 10px;
a{
color: @xf-linkColor;
text-transform: capitalize;
}
}
.userTitle{
text-align: left;
margin-top: -5px;
margin-bottom: 10px;
color: @xf-paletteNeutral2;
}
.userBanner{
padding: 7px;
margin: 0 -15px;
border-radius: 0;
border: none;
position: relative;
margin-bottom: 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: #2e2721;
color: #fff;
&:before{
border-right-color: #2e2721;
border-bottom-color: #2e2721;
}
&:after{
border-bottom-color: #2e2721;
border-left-color: #2e2721;
}
}
}
}
.message-userExtras{
font-size: 11px;
dl{
margin: 2px 0;
dd{
font-size: 10px;
}
}
}
.message-userArrow{
display: none;
}
}
.message-cell--main{
.message-main{
.message-content{
margin-top: -20px;
.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;
}
}
}
.bbCodeBlock-content{
/* margin: 15px 0;*/
background: #f5f5f5;
}
}
}
}
.message-attachments{
border-radius: 3px;
background: #fff;
border: 1px solid @xf-borderColor;
.block-textHeader{
padding: 10px;
background-image: linear-gradient(#FFFFFF, #F2F2F2);
font-size: 14px;
color: @xf-linkColor;
font-weight: 400;
border-bottom: 1px solid @xf-borderColor;
}
.attachmentList{
padding: 15px 10px;
.attachment{
position: relative;
width: 290px;
height: 90px;
padding-right: 15px;
padding-left: 90px;
border: none;
border-radius: 3px;
background-color: #26211d;
.attachment-icon{
position: absolute;
left: 15px;
top: 50%;
width: 60px;
height: 60px;
background-color: @xf-paletteColor3;
transform: translateY(-50%);
border-radius: 3px;
&.attachment-icon--img{
background-color: transparent;
a{
img{
border-radius: 3px;
}
}
}
a{
i{
&:before{
content: '';
background-image: url("{{ base_url() }}styles/brivium/molybdenum/extra/cloud.png");
width: 38px;
height: 33px;
background-repeat: no-repeat;
background-position: center;
}
}
}
}
.attachment-name{
margin: 5px 0 3px;
a{
color: #fff;
font-size: 12px;
}
}
.attachment-details{
color: @xf-paletteColor3;
dl{
margin: 3px 0;
width: 100%;
dt{
color: @xf-paletteColor3;
}
}
}
}
}
}
}
}
}
.message-footer{
.message-actionBar{
margin-bottom: 0px;
.actionBar-set--external{
.message-attribution-opposite{
margin-left: 14px;
a{
color: @xf-paletteColor6 !important;
}
}
}
.actionBar-set--internal{
.message-attribution-main{
color: #989899 !important;
}
.actionBar-action{
padding: 3px 3px 3px 20px;
position: relative;
top: -5px;
display: inline-block;
&.actionBar-action--menuTrigger{
display: none;
}
&:first-child{
padding-left: 3px;
&:before{
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';
}
}
}
}
}
}
}
}
}
//quick reply
body[data-template="thread_view"]{
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: 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;
border: 1px solid @xf-borderColor;
.avatar{
width: 100px;
height: 100px;
font-size: 40px;
span{
line-height:100px;
}
}
}
}
.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;
}
}
}
}
}
}
}
//end
.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;
}
@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="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"><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="2000038" version_string="2.0.0 Beta 8"><![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"><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="2000270" version_string="2.0.2"><![CDATA[@_structItem-avatarSize: 36px;
@_structItem-avatarSizeExpanded: 48px;
@_structItem-cellPaddingH: ((@xf-paddingMedium) + (@xf-paddingLarge)) / 2; // average
@_structItem-cellPaddingV: @xf-paddingLarge;
//structItemContainer
.structItemContainer{
background: #fff;
.structItem{
.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;
}
}
.structItem-minor{
.structItem-parts{
.username{
color: @xf-textColor;
font-weight: 600;
}
}
}
}
.structItem-cell--meta{
background: #f4f3f1;
border-left: 1px solid @xf-borderColor;
border-right: 1px solid @xf-borderColor;
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;
}
}
.title-thread{
display: table;
width: 100%;
position: relative;
background: #26211E;
&: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: #fff;
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;
}
}
}
//end
.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;
}
}
@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="BriviumHeader" title="[Brivium] Header" description="" display_order="0" addon_id=""/>
<group group_name="brivium_footer" title="[Brivium] Footer" description="" display_order="1" addon_id=""/>
<property property_name="BlockHeaderShare" group_name="BriviumHeader" title="Block Header Share" description="" property_type="value" value_type="string" depends_on="" value_group="" display_order="0" addon_id="">
<value>"<span class=\"text-follow\">follow</span> <div class=\"item-share\"> <a href=\"#\"><i class=\"fa fa-facebook\"></i></a> <a href=\"#\"><i class=\"fa fa-twitter\"></i></a> <a href=\"#\"><i class=\"fa fa-google-plus\"></i></a> <a href=\"#\"><i class=\"fa fa-linkedin\"></i></a> <a href=\"#\"><i class=\"fa fa-youtube-play\"></i></a> <a href=\"#\"><i class=\"fa fa-dribbble\"></i></a> </div>"</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>"#1a1613"</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 href=\"#\"><i class=\"fa fa-facebook\"></i></a> <a href=\"#\"><i class=\"fa fa-twitter\"></i></a> <a href=\"#\"><i class=\"fa fa-google-plus\"></i></a> <a href=\"#\"><i class=\"fa fa-linkedin\"></i></a> <a href=\"#\"><i class=\"fa fa-youtube-play\"></i></a> <a href=\"#\"><i class=\"fa fa-dribbble\"></i></a> <a href=\"#\"><i class=\"fa fa-flickr\"></i></a> <a href=\"#\"><i class=\"fa fa-pinterest-p\"></i></a> <a href=\"#\"><i class=\"fa fa-vimeo\"></i></a> <a href=\"#\"><i class=\"fa fa-rss\"></i></a> <a href=\"#\"><i class=\"fa fa-deviantart\"></i></a> <a href=\"mailto:youremail@gmail.com\"><i class=\"fa fa-envelope-o\"></i></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.molybdenum.com\">molybdenum.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="0" 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="0" 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": "#fff",
"extra": "border-radius: 2px;\nborder: 1px solid @xf-borderColor;"
}</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": "#1A1A23",
"border-bottom-width": "1px",
"border-bottom-color": "@xf-borderColor",
"extra": "text-transform: capitalize;\npadding: 10px;\nbackground-image: linear-gradient(#FFFFFF, #F2F2F2);"
}</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": "#fff",
"background-color": "#26211E",
"border-bottom-width": "@xf-borderSize",
"border-bottom-color": "@xf-borderColorHeavy",
"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": "#a7a7aa",
"background-color": "#fff",
"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": "#fff",
"background-color": "#26211E",
"extra": "padding: 10px;"
}</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": "rgb(38, 33, 29)",
"background-color": "#fff",
"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>"#e9e9e8"</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": "#7f7f7f"
}</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": "@xf-paletteColor6"
}</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": "@xf-textColor",
"font-style": "italic",
"background-color": "#fff",
"border-width": "@xf-borderSize",
"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>{
"background-color": "#fff"
}</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>"#2b2320"</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>"#2b2320"</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="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": "@xf-fontSizeLarge",
"color": "#fff",
"background-color": "@xf-paletteColor3",
"border-bottom-width": "@xf-borderSize",
"border-bottom-color": "@xf-borderColorLight"
}</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>"#6ebd53"</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>"#e8bc4f"</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": "#fff",
"background-color": "@xf-paletteColor3",
"padding-top": "@xf-paddingMedium",
"padding-right": "@xf-paddingLarge",
"padding-bottom": "@xf-paddingMedium",
"padding-left": "@xf-paddingLarge"
}</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": "#E5E5DD"
}</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>"#f6e6bb"</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>"#f0d58e"</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>"#e5b235"</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>"#b58817"</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>"#876612"</value>
</property>
<property property_name="paletteColor6" group_name="palette" title="Color 6" description="" property_type="value" value_type="color" depends_on="" value_group="" display_order="1500" addon_id="">
<value>"@xf-linkColor"</value>
</property>
<property property_name="paletteColor7" group_name="palette" title="Color 7" description="" property_type="value" value_type="color" depends_on="" value_group="" display_order="1600" addon_id="">
<value>"#9d4906"</value>
</property>
<property property_name="paletteNeutral2" group_name="palette" title="Neutral 2" description="" property_type="value" value_type="color" depends_on="" value_group="neutral" display_order="3100" addon_id="XF">
<value_parameters>hidePalette=true</value_parameters>
<value>"rgb(150, 150, 150)"</value>
</property>
<property property_name="paletteNeutral3" group_name="palette" title="Neutral 3" description="" property_type="value" value_type="color" depends_on="" value_group="neutral" display_order="3200" addon_id="XF">
<value_parameters>hidePalette=true</value_parameters>
<value>"#313146"</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": "#9a9b9c",
"background-color": "#221d19"
}</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": "#9a9b9c"
}</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": "rgba(255, 255, 255, 0.5)",
"background-color": "transparent",
"background-image": "styles/brivium/molybdenum/extra/bg-header.png"
}</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/molybdenum/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": "#fff",
"background-color": "#26211E"
}</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": "#fff",
"font-weight": "@xf-fontWeightNormal",
"background-color": "#1b1b23",
"border-radius": "4px"
}</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",
"color": "#fff",
"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": "#fff",
"text-decoration": "none",
"background-color": "#1b1b23"
}</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": "#ffffff",
"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": "#26211E"
}</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": "#ffffff",
"background-color": "#26211E"
}</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": "#fff",
"background-color": "#2b2320"
}</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-textColorFeature"
}</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>"#8d8d8d"</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>