<style title="Exclusive Dark (Parent-DO-NOT-EDIT)" description="You must place all of your edits inside a child style of this style." user_selectable="1" base_version_id="2010770" export_version="2">
<templates>
<template title="PAGE_CONTAINER" type="public" addon_id="XF" version_id="2010770" version_string="2.1.7">
<![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}" data-csrf="{{ csrf_token()|escape('js') }}" 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, viewport-fit=cover"> <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> <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" /> <!--XenForo_Require:CSS--> <xf:if is="property('xtr_googleFonts')"> <link href='//fonts.googleapis.com/css?family={{ property('xtr_googleFonts') }}' rel='stylesheet' type='text/css'> </xf:if> </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}"> <xf:fa icon="fa-check" /> {{ 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:')|for_attr . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}"> <xf:fa icon="fa-file-alt" /> {{ 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"><xf:fa icon="fa-gavel" /> {{ 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"><xf:fa icon="fa-check fa-fw" /> {{ 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:')|for_attr . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}"><xf:fa icon="fa-file-alt fa-fw" /> {{ 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" target="_blank"><xf:fa icon="fa-lock" /> {{ phrase('admin') }}</a> </xf:if> <xf:if is="property('xtr_visitor_tabs_position') == 'staff'"> </div><xf:macro name="visitortabs" arg-searchConstraints="{$searchConstraints}" arg-navTree="{$navTree}" /><div> </xf:if> </xf:contentcheck> </div> </div> </div> </xf:if> <xf:if is="property('xtr_logo_position') == 'default'"> <header class="p-header" id="header"> <div class="p-header-inner"> <div class="p-header-content"> <div class="p-header-logo p-header-logo--image"> <a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}"> <img src="{{ base_url(property('publicLogoUrl')) }}" alt="{$xf.options.boardTitle}" {{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} /> </a> <xf:if is="property('xtr_visitor_tabs_position') == 'header'"> </div><xf:macro name="visitortabs" arg-searchConstraints="{$searchConstraints}" arg-navTree="{$navTree}" /><div> </xf:if> </div> <xf:ad position="container_header" /> </div> </div> </header> </xf:if> <xf:set var="$navHtml"> <nav class="p-nav{{ (property('xtr_logo_position') == 'insidenav') ? ' xtr-nav-logo' : '' }}"> <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="p-nav-scroller hScroller" data-xf-init="h-scroller" data-auto-scroll=".p-navEl.is-selected"> <div class="hScroller-scroll"> <ul class="p-nav-list js-offCanvasNavSource"> <xf:foreach loop="$navTree" key="$navSection" value="$navEntry" i="$i" if="{{ $navSection != $xf.app.defaultNavigationId }}"> <li> <xf:macro name="nav_entry" arg-navId="{$navSection}" arg-nav="{$navEntry}" arg-selected="{{ $navSection == $pageSection }}" arg-shortcut="{$i}" /> </li> </xf:foreach> </ul> </div> </div> <div class="p-nav-opposite"> <div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}"> <xf:if is="$xf.visitor.user_id"> <xf:if is="$xf.visitor.user_state == 'rejected' OR $xf.visitor.user_state == 'disabled'"> <a href="{{ link('account') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user"> <xf:avatar user="$xf.visitor" size="xxs" href="" /> <span class="p-navgroup-user-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="xxs" href="" /> <span class="p-navgroup-user-linkText">{$xf.visitor.username}</span> </a> <div class="menu menu--structural menu--wide menu--account" data-menu="menu" aria-hidden="true" data-href="{{ link('account/visitor-menu') }}" data-load-target=".js-visitorMenuBody"> <div class="menu-content js-visitorMenuBody"> <div class="menu-row"> {{ phrase('loading...') }} </div> </div> </div> <a href="{{ link('conversations') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--conversations js-badge--conversations badgeContainer{{ $xf.visitor.conversations_unread ? ' badgeContainer--highlighted' : '' }}" data-badge="{$xf.visitor.conversations_unread|number}" data-xf-click="menu" data-xf-key="{{ phrase('shortcut.conversations_menu')|for_attr }}" data-menu-pos-ref="< .p-navgroup" aria-label="{{ phrase('inbox')|for_attr }}" aria-expanded="false" aria-haspopup="true"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('nav_inbox') }}</span> </a> <div class="menu menu--structural menu--medium" 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> <xf:if is="$xf.visitor.canStartConversation()"> <span class="menu-footer-opposite"> <a href="{{ link('conversations/add') }}">{{ phrase('start_new_conversation') }}</a> </span> </xf:if> </div> </div> </div> <a href="{{ link('account/alerts') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--alerts js-badge--alerts badgeContainer{{ $xf.visitor.alerts_unread ? ' badgeContainer--highlighted' : '' }}" data-badge="{$xf.visitor.alerts_unread|number}" data-xf-click="menu" data-xf-key="{{ phrase('shortcut.alerts_menu')|for_attr }}" data-menu-pos-ref="< .p-navgroup" aria-label="{{ phrase('alerts')|for_attr }}" aria-expanded="false" aria-haspopup="true"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('nav_alerts') }}</span> </a> <div class="menu menu--structural menu--medium" 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> </xf:if> <xf:else /> <a href="{{ link('login') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--logIn" data-xf-click="overlay" data-follow-redirects="on"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('log_in') }}</span> </a> <xf:if is="$xf.options.registrationSetup.enabled"> <a href="{{ link('register') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--register" data-xf-click="overlay" data-follow-redirects="on"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('register') }}</span> </a> </xf:if> </xf:if> <xf:if is="{{ property('xtr_message_block_enable') }} == '1' && {{ property('xtr_live_background_picker') }} == '1'"> <a href="#" class="p-navgroup-link bgPicker" data-xf-init="tooltip" title="{{ phrase('xtr_open_background_chooser') }}"><i class="far fa-pen"></i></a> </xf:if> </div> <div class="p-navgroup p-discovery{{ !$xf.visitor.canSearch() ? ' p-discovery--noSearch' : '' }}"> <a href="{{ link('whats-new') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--whatsnew" aria-label="{{ phrase('whats_new')|for_attr }}" title="{{ phrase('whats_new')|for_attr }}"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('whats_new') }}</span> </a> <xf:if is="$xf.visitor.canSearch()"> <a href="{{ link('search') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search" data-xf-click="menu" data-xf-key="{{ phrase('shortcut.search_menu')|for_attr }}" aria-label="{{ phrase('search')|for_attr }}" aria-expanded="false" aria-haspopup="true" title="{{ phrase('search')|for_attr }}"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('search') }}</span> </a> <div class="menu 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"> <h3 class="menu-header">{{ phrase('search') }}</h3> <!--[XF:search_menu:above_input]--> <div class="menu-row"> <xf:if is="$searchConstraints"> <div class="inputGroup inputGroup--joined"> <xf:textbox name="keywords" placeholder="{{ phrase('search...') }}" aria-label="{{ phrase('search') }}" data-menu-autofocus="true" /> <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:else /> <xf:textbox name="keywords" placeholder="{{ phrase('search...') }}" aria-label="{{ phrase('search') }}" data-menu-autofocus="true" /> </xf:if> </div> <!--[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 type="text" 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> <xf:csrf /> </form> </div> </xf:if> </div> </div> </div> </nav> </xf:set> <xf:if is="!property('xtr_disable_subnav')"> <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> <xf:if is="property('publicNavSticky') == 'primary'"> <div class="p-navSticky p-navSticky--primary" data-xf-init="sticky-header"> {$navHtml|raw} </div> {$subNavHtml|raw} <xf:elseif is="property('publicNavSticky') == 'all'" /> <div class="p-navSticky p-navSticky--all" data-xf-init="sticky-header"> {$navHtml|raw} {$subNavHtml|raw} </div> <xf:else /> {$navHtml|raw} {$subNavHtml|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:if is="property('xtr_logo_position') == 'belownav'"> <xf:macro name="header" arg-searchConstraints="{$searchConstraints}" /> </xf:if> <!--XENTR:MESSAGE_BLOCK--> <xf:if is="{{ property('xtr_logo_position') }} == 'insidenav' && {{ property('xtr_message_block_enable') }} == '1'"> <xf:include template="xtr_message_block" /> </xf:if> <div class="p-body"> <div class="p-body-inner"> <!--XF:EXTRA_OUTPUT--> <!--XENTR:LIVE_BACKGROUND_PICKER--> <xf:if is="{{ property('xtr_message_block_enable') }} == '1' && {{ property('xtr_live_background_picker') }} == '1'"> <xf:include template="xtr_liveBgChooser" /> </xf:if> <!--XENTR:QUICK_TOUCH--> <xf:if is="{{ property('xtr_enableQuickTouch') }} && ( ( $template == 'forum_list' && !{{ property('xtr_quickTouchShowAllPages') }}) || {{ property('xtr_quickTouchShowAllPages') }})"> <xf:include template="xtr_quick_touch" /> </xf:if> <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:ad position="container_breadcrumb_top_above" /> <xf:if is="!property('xtr_topBreadcrumb')"> <div class='breadcrumb-content'> <xf:macro name="breadcrumbs" arg-breadcrumbs="{$breadcrumbs}" arg-navTree="{$navTree}" arg-selectedNavEntry="{$selectedNavEntry}" /> </div> </xf:if> <xf:ad position="container_breadcrumb_top_below" /> <xf:macro template="browser_warning_macros" name="javascript" /> <xf:macro template="browser_warning_macros" name="browser" /> <xf:if is="{{ property('xtr_logo_position') }} == 'default' || {{ property('xtr_logo_position') }} == 'belownav' || {{ !property('xtr_message_block_enable') }} == '1'"> <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="!{{ property('xtr_forum_title')}} OR $template != 'forum_list'"> <xf:if is="!$noH1"> <h1 class="p-title-value">{$h1}</h1> </xf:if> </xf:if> <xf:if contentcheck="true"> <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck><xf:if is="$sidebar"><xf:if is="property('xtr_collapsibleSidebar') && !property('xtr_sidebarDisable') && $sidebar"><span id="collapse-side" class="button collapseTrigger collapseTrigger--block {{ !is_toggled('_sidebarCollapse') ? ' is-active' : '' }}" data-xf-click="toggle" data-xf-init="toggle-storage" data-storage-type="cookie" data-target=".p-body-main--withSidebar" data-storage-key="_sidebarCollapse"></span></xf:if></xf:if></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> </xf:if> <xf:if is="{{ property('xtr_logo_position') }} == 'insidenav' && {{ property('xtr_message_block_enable') }} == '1'"> <xf:if is="!$xf.visitor.user_id"> <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="!{{ property('xtr_forum_title')}} OR $template != 'forum_list'"> <xf:if is="!$noH1"> <h1 class="p-title-value">{$h1}</h1> </xf:if> </xf:if> <xf:if contentcheck="true"> <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck><xf:if is="$sidebar"><xf:if is="property('xtr_collapsibleSidebar') && !property('xtr_sidebarDisable') && $sidebar"><span id="collapse-side" class="button collapseTrigger collapseTrigger--block {{ !is_toggled('_sidebarCollapse') ? ' is-active' : '' }}" data-xf-click="toggle" data-xf-init="toggle-storage" data-storage-type="cookie" data-target=".p-body-main--withSidebar" data-storage-key="_sidebarCollapse"></span></xf:if></xf:if></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> </xf:if> </xf:if> <div class="p-body-main {{ $sidebar ? 'p-body-main--withSidebar' : '' }} {{ $sideNav ? 'p-body-main--withSideNav' : '' }}{{ !is_toggled('_sidebarCollapse') ? ' xtr-sidebar-default' : '' }}"> <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:if is="$xf.visitor.user_id AND {{ property('xtr_logo_position') }} == 'insidenav'"> <div class="p-body-decription"> <xf:if is="$description is not empty"> <div class="p-description">{$description}</div> </xf:if> </div> </xf:if> <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> <xf:ad position="container_breadcrumb_bottom_above" /> <xf:if is="!property('xtr_bottomBreadcrumb')"> <div class='breadcrumb-content bottom'> <xf:macro name="breadcrumbs" arg-breadcrumbs="{$breadcrumbs}" arg-navTree="{$navTree}" arg-selectedNavEntry="{$selectedNavEntry}" arg-variant="bottom" /> </div> </xf:if> <xf:ad position="container_breadcrumb_bottom_below" /> </div> </div> <xf:if is="property('xtr_footer_wave')"> <div class="wave"> <div class="divider-shape"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" preserveAspectRatio="none" class="shape-waves"> <path class="shape-fill shape-fill-1" d="M790.5,93.1c-59.3-5.3-116.8-18-192.6-50c-29.6-12.7-76.9-31-100.5-35.9c-23.6-4.9-52.6-7.8-75.5-5.3c-10.2,1.1-22.6,1.4-50.1,7.4c-27.2,6.3-58.2,16.6-79.4,24.7c-41.3,15.9-94.9,21.9-134,22.6C72,58.2,0,25.8,0,25.8V100h1000V65.3c0,0-51.5,19.4-106.2,25.7C839.5,97,814.1,95.2,790.5,93.1z"></path> </svg> </div> </div> </xf:if> <footer class="p-footer" id="footer"> <div class="p-footer-inner"> <div class="p-footer-row"> <xf:if contentcheck="true"> <div class="p-footer-row-main"> <ul class="p-footer-linkList"> <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"> <xf:fa icon="fa-paint-brush" /> {$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"> <xf:fa icon="fa-globe" /> {$xf.language.title}</a></li> </xf:if> </xf:contentcheck> </ul> </div> </xf:if> <div class="p-footer-row-opposite"> <ul class="p-footer-linkList"> <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 class="footer-home" 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"><xf:fa icon="fa-rss" /><span class="u-srOnly">{{ phrase('rss') }}</span></span></a></li> </ul> </div> </div> </div> </footer> <xf:include template="xtr_statistics" /> <xf:if is="{{ property('xtr_enable_extra_footer') }}"> <xf:include template="xtr_extra_footer" /> </xf:if> <footer class="p-footer extra" id="footer"> <div class="p-footer-inner"> <xf:if contentcheck="true"> <div class="p-footer-copyright"> <xf:contentcheck> <xf:copyright /> {{ phrase('extra_copyright') }} </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <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> </xf:if> </div> </footer> <xf:if is="property('xtr_background_shape')"> <div class="xtr_shape"> <div class="shape1"><img src="{{ base_url('styles/xentr/exclusive_dark/images/shape/shape5.png') }}" alt="shape1" /></div> <div class="shape2 rotateme"><img src="{{ base_url('styles/xentr/exclusive_dark/images/shape/shape2.svg') }}" alt="shape2" /></div> <div class="shape3"><img src="{{ base_url('styles/xentr/exclusive_dark/images/shape/shape3.svg') }}" alt="shape3" /></div> <div class="shape5"><img src="{{ base_url('styles/xentr/exclusive_dark/images/shape/shape5.png') }}" alt="shape4" /></div> <div class="shape7"><img src="{{ base_url('styles/xentr/exclusive_dark/images/shape/shape4.svg') }}" alt="shape7" /></div> <div class="shape8 rotateme"><img src="{{ base_url('styles/xentr/exclusive_dark/images/shape/shape2.svg') }}" alt="shape8" /></div> </div> </xf:if> </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"><xf:fa icon="fa-arrow-up" /><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"><xf:fa icon="fa-arrow-down" /><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}" /> <xf:include template="xtr_body_helper" /> <xf:if is="{{ property('xtr_logo_position') }} == 'insidenav' && {{ property('xtr_live_background_picker') }} == '1'"> <xf:js src="{{ base_url('styles/xentr/exclusive_dark/js/bg-chooser/cookie.min.js') }}" /> <xf:js src="{{ base_url('styles/xentr/exclusive_dark/js/bg-chooser/xm_custom.min.js') }}" /> </xf:if> <xf:if is="count($xf.reactionsActive) > 1"> <script type="text/template" id="xfReactTooltipTemplate"> <div class="tooltip-content-inner"> <div class="reactTooltip"> <xf:foreach loop="$xf.reactionsActive" key="$reactionId" value="$reaction"> <xf:reaction id="{$reactionId}" tooltip="true" /> </xf:foreach> </div> </div> </script> </xf:if> {$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" class="p-navEl-splitTrigger" role="button" tabindex="0" aria-label="{{ phrase('toggle_expanded')|for_attr }}" 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" 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"> <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"><xf:fa icon="{$nav.icon}" /> </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 is="property('xtr_social_breadcrumb')"> <xf:include template="xtr_social_icons" /> </xf:if> </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> <xf:macro name="header" arg-searchConstraints="!"> <header class="p-header" id="header"> <div class="p-header-inner"> <div class="p-header-content"> <div class="p-header-logo p-header-logo--image"> <a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}"> <img src="{{ base_url(property('publicLogoUrl')) }}" alt="{$xf.options.boardTitle}" {{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} /> </a> <xf:if is="property('xtr_visitor_tabs_position') == 'header'"> </div><xf:macro name="visitortabs" arg-searchConstraints="{$searchConstraints}" arg-navTree="{$navTree}" /><div> </xf:if> </div> <xf:ad position="container_header" /> </div> </div> </header> </xf:macro> <xf:macro name="visitortabs" arg-searchConstraints="!" arg-navTree="!"> <div class="p-nav-opposite"> <div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}"> <xf:if is="$xf.visitor.user_id"> <xf:if is="$xf.visitor.user_state == 'rejected' OR $xf.visitor.user_state == 'disabled'"> <a href="{{ link('account') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user"> <xf:avatar user="$xf.visitor" size="xxs" href="" /> <span class="p-navgroup-user-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="xxs" href="" /> <span class="p-navgroup-user-linkText">{$xf.visitor.username}</span> </a> <div class="menu menu--structural menu--wide menu--account" data-menu="menu" aria-hidden="true" data-href="{{ link('account/visitor-menu') }}" data-load-target=".js-visitorMenuBody"> <div class="menu-content js-visitorMenuBody"> <div class="menu-row"> {{ phrase('loading...') }} </div> </div> </div> <a href="{{ link('conversations') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--conversations js-badge--conversations badgeContainer{{ $xf.visitor.conversations_unread ? ' badgeContainer--highlighted' : '' }}" data-badge="{$xf.visitor.conversations_unread|number}" data-xf-click="menu" data-xf-key="{{ phrase('shortcut.conversations_menu')|for_attr }}" data-menu-pos-ref="< .p-navgroup" aria-label="{{ phrase('inbox')|for_attr }}" aria-expanded="false" aria-haspopup="true"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('nav_inbox') }}</span> </a> <div class="menu menu--structural menu--medium" 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> <xf:if is="$xf.visitor.canStartConversation()"> <span class="menu-footer-opposite"> <a href="{{ link('conversations/add') }}">{{ phrase('start_new_conversation') }}</a> </span> </xf:if> </div> </div> </div> <a href="{{ link('account/alerts') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--alerts js-badge--alerts badgeContainer{{ $xf.visitor.alerts_unread ? ' badgeContainer--highlighted' : '' }}" data-badge="{$xf.visitor.alerts_unread|number}" data-xf-click="menu" data-xf-key="{{ phrase('shortcut.alerts_menu')|for_attr }}" data-menu-pos-ref="< .p-navgroup" aria-label="{{ phrase('alerts')|for_attr }}" aria-expanded="false" aria-haspopup="true"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('nav_alerts') }}</span> </a> <div class="menu menu--structural menu--medium" 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> <xf:if is="{{ property('xtr_message_block_enable') }} == '1' && {{ property('xtr_live_background_picker') }} == '1'"> <a href="#" class="p-navgroup-link bgPicker" data-xf-init="tooltip" title="{{ phrase('xtr_open_background_chooser') }}"><i class="far fa-pen"></i></a> </xf:if> </xf:if> <xf:else /> <a href="{{ link('login') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--logIn" data-xf-click="overlay" data-follow-redirects="on"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('log_in') }}</span> </a> <xf:if is="$xf.options.registrationSetup.enabled"> <a href="{{ link('register') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--register" data-xf-click="overlay" data-follow-redirects="on"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('register') }}</span> </a> </xf:if> <xf:if is="{{ property('xtr_message_block_enable') }} == '1' && {{ property('xtr_live_background_picker') }} == '1'"> <a href="#" class="p-navgroup-link bgPicker" data-xf-init="tooltip" title="{{ phrase('xtr_open_background_picker') }}"><i class="far fa-pen"></i></a> </xf:if> </xf:if> </div> <div class="p-navgroup p-discovery{{ !$xf.visitor.canSearch() ? ' p-discovery--noSearch' : '' }}"> <a href="{{ link('whats-new') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--whatsnew" aria-label="{{ phrase('whats_new')|for_attr }}" title="{{ phrase('whats_new')|for_attr }}"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('whats_new') }}</span> </a> <xf:if is="$xf.visitor.canSearch()"> <a href="{{ link('search') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search" data-xf-click="menu" data-xf-key="{{ phrase('shortcut.search_menu')|for_attr }}" aria-label="{{ phrase('search')|for_attr }}" aria-expanded="false" aria-haspopup="true" title="{{ phrase('search')|for_attr }}"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('search') }}</span> </a> <div class="menu 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"> <h3 class="menu-header">{{ phrase('search') }}</h3> <!--[XF:search_menu:above_input]--> <div class="menu-row"> <xf:if is="$searchConstraints"> <div class="inputGroup inputGroup--joined"> <xf:textbox name="keywords" placeholder="{{ phrase('search...') }}" aria-label="{{ phrase('search') }}" data-menu-autofocus="true" /> <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:else /> <xf:textbox name="keywords" placeholder="{{ phrase('search...') }}" aria-label="{{ phrase('search') }}" data-menu-autofocus="true" /> </xf:if> </div> <!--[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 type="text" 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> <xf:csrf /> </form> </div> </xf:if> </div> </div> </xf:macro> ]]>
</template>
<template title="app.less" type="public" addon_id="XF" version_id="2010770" version_string="2.1.7">
<![CDATA[ @_nav-elTransitionSpeed: @xf-animationSpeed; @_navAccount-hPadding: @xf-paddingLarge; .m-pageWidth(@min-width: @xf-pageEdgeSpacer) { max-width: @xf-pageWidthMax; padding: 0 @xf-pageEdgeSpacer; margin: 0 auto; } .m-pageInset(@defaultPadding: @xf-pageEdgeSpacer) { padding-left: @defaultPadding; padding-right: @defaultPadding; // iPhone X/Xr/Xs support @supports(padding: max(0px)) { & { padding-left: ~"max(@{defaultPadding}, env(safe-area-inset-left))"; padding-right: ~"max(@{defaultPadding}, env(safe-area-inset-right))"; } } } .u-anchorTarget { .m-stickyHeaderConfig(@xf-publicNavSticky); height: (@_stickyHeader-height + @_stickyHeader-offset); margin-top: -(@_stickyHeader-height + @_stickyHeader-offset); } .p-pageWrapper { position: relative; display: flex; flex-direction: column; min-height: 100vh; .xf-pageBackground(); .is-modalOverlayOpen & { & when (unit(xf-default(@xf-overlayMaskBlur, 0)) > 0) { filter: blur(@xf-overlayMaskBlur); } } } // RESPONSIVE HEADER .p-offCanvasAccountLink { display: none; } @media (max-width: 359px) { .p-offCanvasAccountLink { display: block; } } @media (max-width: 359px) { .p-offCanvasRegisterLink { display: block; } } {{ include('app_staffbar.less') }} {{ include('app_header.less') }} {{ include('app_stickynav.less') }} {{ include('app_nav.less') }} {{ include('app_sectionlinks.less') }} {{ include('app_body.less') }} {{ include('app_breadcrumbs.less') }} {{ include('app_title.less') }} {{ include('app_footer.less') }} {{ include('app_inlinemod.less') }} {{ include('app_ignored.less') }} {{ include('app_username_styles.less') }} {{ include('app_user_banners.less') }} {{ include('xtr_theme.less') }} {{ include('xtr_base.less') }} {{ include('xtr_nodes.less') }} {{ include('xtr_extra.less') }} ]]>
</template>
<template title="category_view" type="public" addon_id="XF" version_id="2010770" version_string="2.1.7">
<![CDATA[ <xf:title>{$category.title}</xf:title> <xf:description>{$category.description|raw}</xf:description> <xf:macro template="metadata_macros" name="canonical_url" arg-canonicalUrl="{{ link('canonical:categories', $category) }}" /> <xf:macro template="category_macros" name="category_page_options" arg-category="{$category}" /> <xf:breadcrumb source="$category.getBreadcrumbs(false)" /> <xf:if is="$nodeTree"> <div class="block <xf:if is="(property('xmNodeLayout') == 'classic')">block--category</xf:if>"> <div class="block-outer"><xf:trim> <xf:if contentcheck="true"> <div class="block-outer-opposite"> <div class="buttonGroup"> <xf:contentcheck> <xf:if is="$xf.visitor.user_id && $hasForumDescendents"> <xf:button href="{{ link('categories/mark-read', $category, {'date': $xf.time}) }}" class="button--link" overlay="true"> {{ phrase('mark_read') }} </xf:button> </xf:if> </xf:contentcheck> </div> </div> </xf:if> </xf:trim></div> <div class="block-container"> <div class="block-body <xf:if is="{{ property('xmNodeLayout') }} == 'classicImage' || {{ property('xmNodeLayout') }} == 'dual'">wrapper</xf:if>"> <xf:macro template="forum_list" name="node_list" arg-children="{$nodeTree}" arg-extras="{$nodeExtras}" arg-depth="2" /> </div> </div> </div> <xf:else /> <div class="blockMessage">{{ phrase('there_is_nothing_to_display') }}</div> </xf:if> <xf:widgetpos id="category_view_sidebar" context-category="{$category}" position="sidebar" /> ]]>
</template>
<template title="conversation_view" type="public" addon_id="XF" version_id="2010770" version_string="2.1.7">
<![CDATA[ <xf:title page="{$page}">{$conversation.title}</xf:title> <xf:description meta="false"> <ul class="listInline listInline--bullet"> <li> <xf:fa icon="fa-users" title="{{ phrase('participants')|for_attr }}" /> <span class="u-srOnly">{{ phrase('participants') }}</span> <ul class="listInline listInline--selfInline listInline--comma"> <li><xf:username user="$conversation.Starter" defaultname="{$conversation.username}" title="{{ phrase('conversation_starter') }}" href="" /></li><xf:trim> </xf:trim><xf:foreach loop="$conversation.recipients" value="$recipient" if="{$recipient.user_id} != {$conversation.user_id} AND $i < 4" i="$i"><xf:trim> <li><xf:username user="{$recipient}" defaultname="{{ phrase('unknown_member') }}" href="" /></li> </xf:trim></xf:foreach> </ul> <xf:if is="$conversation.recipient_count > 5"> {{ phrase('ellipsis_and_x_more', {'count': ($conversation.recipient_count - 5)|number}) }} </xf:if> </li> <li> <xf:fa icon="fa-clock" title="{{ phrase('start_date')|for_attr }}" /> <span class="u-srOnly">{{ phrase('start_date') }}</span> <a href="{{ link('conversations', $conversation) }}" class="u-concealed"><xf:date time="{$conversation.start_date}" /></a> </li> </ul> </xf:description> <xf:breadcrumb href="{{ link('conversations') }}">{{ phrase('conversations') }}</xf:breadcrumb> <xf:sidebar key="conversationInfo"> <div class="block"> <div class="block-container"> <h3 class="block-minorHeader">{{ phrase('conversation_info') }}</h3> <div class="block-body block-row block-row--minor"> <dl class="pairs pairs--justified"><dt>{{ phrase('participants') }}</dt> <dd>{$conversation.recipient_count|number}</dd></dl> <dl class="pairs pairs--justified"><dt>{{ phrase('replies') }}</dt> <dd>{$conversation.reply_count|number}</dd></dl> <dl class="pairs pairs--justified"><dt>{{ phrase('last_reply_date') }}</dt> <dd><xf:date time="$conversation.last_message_date" /></dd></dl> <dl class="pairs pairs--justified"><dt>{{ phrase('last_reply_from') }}</dt> <dd><xf:username user="$conversation.LastMessageUser" /></dd></dl> </div> </div> </div> </xf:sidebar> <xf:sidebar key="conversationParticipants"> <div class="block"> <div class="block-container"> <h3 class="block-minorHeader">{{ phrase('conversation_participants') }}</h3> <ol class="block-body"> <xf:foreach loop="$recipients" value="$recipient"> <li class="block-row"> <div class="contentRow"> <xf:if is="$recipient.User"> <div class="contentRow-figure"> <xf:avatar user="$recipient.User" size="xs" /> </div> <div class="contentRow-main"> <xf:username user="$recipient.User" rich="true" /> <xf:if is="{$recipient.last_read_date} >= {$conversation.last_message_date} && {{ property('xtr_conversation_view') }}"> <xf:fa icon="fa-check" class="likeIcon" data-xf-init="tooltip" title="{{ phrase('xtr_checkmark_conversation_read')|for_attr }}"/> </xf:if> <div class="contentRow-minor"><xf:usertitle user="$recipient.User" /></div> </div> <xf:else /> <div class="contentRow-figure"> <xf:avatar user="{{ null }}" size="xs" /> </div> <div class="contentRow-main"> {{ phrase('unknown_member') }} </div> </xf:if> </div> </li> </xf:foreach> </ol> <xf:if is="$conversation.canInvite()"> <div class="block-footer"> <span class="block-footer-controls"> <a href="{{ link('conversations/invite', $conversation) }}" data-xf-click="overlay">{{ phrase('invite_more') }}</a> </span> </div> </xf:if> </div> </div> </xf:sidebar> <div class="block block--messages"> <div class="block-outer"> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{{ $conversation.reply_count + 1 }}" link="conversations" data="{$conversation}" wrapperclass="block-outer-main" /> <div class="block-outer-opposite"> <div class="buttonGroup"> <xf:if is="$conversation.canEdit()"> <xf:button href="{{ link('conversations/edit', $conversation) }}" class="button--link" icon="edit" overlay="true" /> </xf:if> <xf:button href="{{ link('conversations/star', $conversation) }}" class="button--link" data-xf-click="switch" data-sk-star="{{ phrase('star') }}" data-sk-unstar="{{ phrase('unstar') }}"> {{ {$userConv.is_starred} ? phrase('unstar') : phrase('star') }} </xf:button> <xf:button href="{{ link('conversations/mark-unread', $conversation) }}" class="button--link" data-xf-click="switch" data-sk-read="{{ phrase('mark_read') }}" data-sk-unread="{{ phrase('mark_unread') }}"> {{ {$userConv.is_unread} ? phrase('mark_read') : phrase('mark_unread') }} </xf:button> <xf:button href="{{ link('conversations/leave', $conversation) }}" class="button--link" overlay="true"> {{ phrase('leave') }} </xf:button> </div> </div> </div> <div class="block-container lbContainer" data-xf-init="lightbox{{ $xf.options.selectQuotable ? ' select-to-quote' : '' }}" data-message-selector=".js-message" data-lb-id="conversation-{$conversation.conversation_id}" data-lb-universal="{$xf.options.lightBoxUniversal}"> <div class="block-body js-replyNewMessageContainer"> <xf:foreach loop="$messages" value="$message"> <xf:macro template="conversation_message_macros" name="message" arg-message="{$message}" arg-conversation="{$conversation}" arg-lastRead="{$lastRead}" /> </xf:foreach> </div> </div> <div class="block-outer block-outer--after"> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{{ $conversation.reply_count + 1 }}" link="conversations" data="{$conversation}" wrapperclass="block-outer-main" /> <xf:showignored wrapperclass="block-outer-opposite" /> </div> <xf:if is="!$conversation.conversation_open"> <div class="block-outer block-outer--after"> <dl class="blockStatus"> <dt>{{ phrase('status') }}</dt> <dd class="blockStatus-message blockStatus-message--locked"> {{ phrase('this_conversation_is_closed_for_new_replies') }} </dd> </dl> </div> </xf:if> </div> <xf:if is="$conversation.canReply()"> <xf:form action="{{ link('conversations/add-reply', $conversation) }}" ajax="true" draft="{{ link('conversations/draft', $conversation) }}" class="block js-quickReply" data-xf-init="attachment-manager quick-reply" data-preview-url="{{ link('conversations/reply-preview', $conversation, {'quick_reply': 1}) }}"> <xf:js src="xf/message.js" min="1" /> <xf:set var="$lastMessage" value="{$messages|last}" /> <div class="block-container"> <div class="block-body"> <xf:macro template="quick_reply_macros" name="body" arg-message="{$conversation.draft_reply.message}" arg-attachmentData="{$attachmentData}" arg-forceHash="{$conversation.draft_reply.attachment_hash}" arg-messageSelector=".js-message" arg-supportsMultiQuote="{$xf.options.multiQuote}" arg-multiQuoteHref="{{ link('conversations/multi-quote', $conversation) }}" arg-multiQuoteStorageKey="multiQuoteConversation" arg-lastDate="{$lastMessage.message_date}" /> </div> </div> </xf:form> </xf:if> <xf:widgetpos id="conversation_view_sidebar" context-conversation="{$conversation}" position="sidebar" /> ]]>
</template>
<template title="forum_view" type="public" addon_id="XF" version_id="2010770" version_string="2.1.7">
<![CDATA[ <xf:if is="property('xtr_prefix_filter')"> <xf:if is="$forum.prefix_cache"> <div class="prefix-block-container"> <div class="block-row block-row--minor"> <span class="">{{ phrase('available_prefixes') }}:</span> <a href="{{ link('forums', $forum, {'page': $page}) }}" class="labelLink"> <span class="label label--primary">{{ phrase('show_all') }}</span> </a> <xf:foreach loop="$forum.prefix_cache" value="$PrefixId"> <a class="labelLink" href="?prefix_id={$PrefixId}"> {{ prefix('thread', $PrefixId, 'html', '') }} </a> </xf:foreach> </div> </div> </xf:if> </xf:if> <xf:title page="{$page}">{$forum.Node.title}</xf:title> <xf:description>{$forum.Node.description|raw}</xf:description> <xf:css src="structured_list.less" /> <xf:macro template="metadata_macros" name="canonical_url" arg-canonicalUrl="{{ link('canonical:forums', $forum, $canonicalFilters + {'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 <xf:if is="(property('xmNodeLayout') == 'classic')">block--category</xf:if>"> <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_reaction_score': phrase('first_message_reaction_score') } }}" /> <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}} <xf:fa icon="{{ $filters.direction == 'asc' ? 'fa-angle-up' : 'fa-angle-down' }}" /> <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}" /> <xf:if is="$stickyThreads is not empty OR $threads is not empty"> <xf:if is="$stickyThreads is not empty"> <xf:if is="{{ property('xtr_sticky_threads') }}"><div class="separate_thread_important">{{ property('xtr_sticky_threads_phrase') }}</div></xf:if> <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:if is="{{ property('xtr_sticky_threads') }}"><div class="separate_thread_important">{{ property('xtr_normal_threads_phrase') }}</div></xf:if> <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, {'page': $page, 'no_date_limit': 1} + $filters) }}"> {{ 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:elseif is="$showDateLimitDisabler" /> <div class="structItemContainer-group js-threadList"> <div class="structItem js-emptyThreadList"> <div class="structItem-cell">{{ phrase('there_no_threads_to_display') }}</div> </div> <div class="structItem structItem--note"> <div class="structItem-cell"> <a href="{{ link('forums', $forum, {'page': $page, 'no_date_limit': 1} + $filters) }}"> {{ phrase('show_older_items') }} </a> </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 button--wrap" 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="message_macros" type="public" addon_id="XF" version_id="2010770" version_string="2.1.7">
<![CDATA[ <xf:macro name="user_info" arg-user="!" arg-fallbackName=""> <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" tabindex="0" data-xf-init="tooltip" data-trigger="auto" 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" /> <xf:if is="$user.user_id AND $xf.visitor.canStartConversationWith($user)"> <xf:if is="property('xtr_conversation_button')"> <a href="{{ link('conversations/add', '', {'to': $user.username}) }}" data-xf-click="{{'overlay'}}" class="xm-icon button--link"><i class="fas fa-envelope" aria-hidden="true" data-xf-init="tooltip" title="{{ phrase('start_conversation')}}"></i></a> </xf:if> </xf:if> </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" /> </div> <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.reaction_score"> <dl class="pairs pairs--justified"> <dt>{{ phrase('reaction_score') }}</dt> <dd>{$user.reaction_score|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_category" type="public" addon_id="XF" version_id="2010770" version_string="2.1.7">
<![CDATA[ <xf:macro name="depth1" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1"> <div class="block block--category container-class block--category{$node.node_id}{{ property('xmCollapseNodes') ? ' collapsible-nodes' : '' }}" data-node-id="{$node.node_id}"> <span class="u-anchorTarget" id="{$node.Data.getCategoryAnchor()}"></span> <div class="block-container"> <xf:if is="property('xtr_block_header_image_enable') == '1' && $node.getNodeImage()"> <div class="block-box wrapper" <xf:if is="{{ property('xmNodeLayout') }} == 'classicImage' || (property('xmNodeLayout') == 'dual')">style="background-image: url({{ base_url($node.getNodeImage()) }});</xf:if>"> <h2 class="block-header"> <div class="block-header--left"> <a href="{{ link('categories', $node) }}">{$node.title}</a> <xf:if is="{$node.description}"><span class="block-desc">{$node.description|raw}</span></xf:if> </div> <xf:if is="property('xmCollapseNodes')"> <span id="collapse-{$node.node_id}" class="collapseTrigger collapseTrigger--block {{ !is_toggled('_node-' . $node.node_id) ? ' is-active' : '' }}" data-xf-click="toggle" data-target=".block--category{$node.node_id} .block-body" data-xf-init="toggle-storage" data-storage-type="cookie" data-storage-key="_node-{$node.node_id}"></span> </xf:if> </h2> </div> <xf:else/> <div class="block-box wrapper"> <h2 class="block-header"> <div class="block-header--left"> <a href="{{ link('categories', $node) }}">{$node.title}</a> <xf:if is="{$node.description}"><span class="block-desc">{$node.description|raw}</span></xf:if> </div> <xf:if is="property('xmCollapseNodes')"> <span id="collapse-{$node.node_id}" class="collapseTrigger collapseTrigger--block {{ !is_toggled('_node-' . $node.node_id) ? ' is-active' : '' }}" data-xf-click="toggle" data-target=".block--category{$node.node_id} .block-body" data-xf-init="toggle-storage" data-storage-type="cookie" data-storage-key="_node-{$node.node_id}"></span> </xf:if> </h2> </div> </xf:if> <div class="block-body <xf:if is="{{ property('xmNodeLayout') }} == 'classicImage' || (property('xmNodeLayout') == 'dual')">wrapper</xf:if>{{ property('xmCollapseNodes') ? ' block-body--collapsible' : '' }}{{ !is_toggled('_node-' . $node.node_id) ? ' is-active' : '' }}"> <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> <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_short(1)}</dd> </dl> <dl class="pairs pairs--inline"> <dt>{{ phrase('messages') }}</dt> <dd>{$extras.message_count|number_short(1)}</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> <xf:if is="!{$extras.privateInfo}"> <div class="node-stats"> <dl class="pairs pairs--rows"> <dt>{{ phrase('threads') }}</dt> <dd>{$extras.discussion_count|number_short(1)}</dd> </dl> <dl class="pairs pairs--rows"> <dt>{{ phrase('messages') }}</dt> <dd>{$extras.message_count|number_short(1)}</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.LastThread}" /> <div class="node-extra-icon"> <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)"> <xf:avatar user="{{ null }}" size="xs" /> <xf:else /> <xf:avatar user="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" size="xs" /> </xf:if> </div> <div class="node-extra-row"> <xf:if is="$extras.LastThread.isUnread()"> <a href="{{ link('threads/unread', $extras.LastThread) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a> <xf:else /> <a href="{{ link('threads/post', $extras.LastThread, {'post_id': $extras.last_post_id}) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a> </xf:if> </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="{$extras.LastPostUser}" defaultname="{$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="2010770" version_string="2.1.7">
<![CDATA[ <xf:macro name="depth1" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1"> <div class="block"> <div class="block-container"> <div class="block-body"> <xf:macro name="forum" arg-node="{$node}" arg-extras="{$extras}" arg-children="{$children}" arg-childExtras="{$childExtras}" arg-depth="{$depth}" /> </div> </div> </div> </xf:macro> <xf:macro name="depth2" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1"> <xf:macro name="forum" arg-node="{$node}" arg-extras="{$extras}" arg-children="{$children}" arg-childExtras="{$childExtras}" arg-depth="{$depth}" /> </xf:macro> <xf:macro name="depthN" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1"> <li> <a href="{{ link('forums', $node) }}" class="subNodeLink subNodeLink--forum {{ $extras.hasNew ? 'subNodeLink--unread' : '' }}">{$node.title}</a> <xf:macro template="forum_list" name="sub_node_list" arg-children="{$children}" arg-childExtras="{$childExtras}" arg-depth="{{ $depth + 1 }}" /> </li> </xf:macro> <xf:macro name="forum" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="!" arg-chooseName="" arg-bonusInfo=""> <div class="node node--id{$node.node_id} node--depth{$depth} node--forum {{ $extras.hasNew ? 'node--unread' : 'node--read' }}"> <xf:if is="{{ property('xmNodeLayout') }} == 'default'"> <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_short(1)}</dd> </dl> <dl class="pairs pairs--inline"> <dt>{{ phrase('messages') }}</dt> <dd>{$extras.message_count|number_short(1)}</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_short(1)}</dd> </dl> <dl class="pairs pairs--rows"> <dt>{{ phrase('messages') }}</dt> <dd>{$extras.message_count|number_short(1)}</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.LastThread}" /> <div class="node-extra-icon"> <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)"> <xf:avatar user="{{ null }}" size="xs" /> <xf:else /> <xf:avatar user="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" size="xs" /> </xf:if> </div> <div class="node-extra-row"> <xf:if is="$extras.LastThread.isUnread()"> <a href="{{ link('threads/unread', $extras.LastThread) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a> <xf:else /> <a href="{{ link('threads/post', $extras.LastThread, {'post_id': $extras.last_post_id}) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a> </xf:if> </div> <div class="node-extra-row"> <ul class="listInline listInline--bullet"> <li><xf:date time="{$extras.last_post_date}" class="node-extra-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="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" /></li> </xf:if> </ul> </div> <xf:else /> <span class="node-extra-placeholder">{{ phrase('none') }}</span> </xf:if> </div> </div> </xf:if> <xf:if is="(property('xmNodeLayout') == 'classic')"> <xf:include template="xtr_node_list_classic" /> </xf:if> <xf:if is="(property('xmNodeLayout') == 'classicImage')"> <xf:include template="xtr_node_list_classic_image" /> </xf:if> <xf:if is="(property('xmNodeLayout') == 'dual')"> <xf:include template="xtr_node_list_dual" /> </xf:if> </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="share_controls.less" type="public" addon_id="XF" version_id="2010770" version_string="2.1.7">
<![CDATA[ .shareButtons { .m-clearFix(); } .shareButtons-buttons { .shareButtons--iconic & { display: grid; grid-template-columns: repeat(auto-fill, minmax(35px, 1fr)); } } .shareButtons-label { float: left; margin-right: 3px; color: @xf-textColorMuted; min-height: 35px; line-height: 35px; } .shareButtons-button { float: left; margin-right: 3px; padding: 6px; color: @xf-textColorMuted; font-size: 20px; line-height: 20px; white-space: nowrap; min-width: 35px; border-radius: @xf-borderRadiusSmall; background-color: transparent; .m-transition(); &:last-of-type { margin-right: 0; } &:hover { text-decoration: none; color: white; } > i { display: inline-block; vertical-align: middle; .m-faBase('Pro'); } &.shareButtons-button--brand { > i { .m-faBase('Brands'); } } > span { font-weight: @xf-fontWeightNormal; font-size: @xf-fontSizeNormal; } .shareButtons--iconic & { text-align: center; > i { min-width: 20px; } > span { .m-visuallyHidden(); } } &.shareButtons-button--facebook { &:hover { background-color: #3B5998; } > i:before { .m-faContent(@fa-var-facebook-f); } } &.shareButtons-button--twitter { &:hover { background-color: #1DA1F3; } > i:before { .m-faContent(@fa-var-twitter); } } &.shareButtons-button--youtube { &:hover { background-color: #FF0000; } > i:before { .m-faContent(@fa-var-youtube); } } &.shareButtons-button--linkedin { &:hover { background-color: #0077B5; } > i:before { .m-faContent(@fa-var-linkedin); } } &.shareButtons-button--vimeo { &:hover { background-color: #162221; } > i:before { .m-faContent(@fa-var-vimeo); } } &.shareButtons-button--steam { &:hover { background-color: #000000; } > i:before { .m-faContent(@fa-var-steam); } } &.shareButtons-button--pinterest { &:hover { background-color: #bd081c; } > i:before { .m-faContent(@fa-var-pinterest-p); } } &.shareButtons-button--twitch { &:hover { background-color: #B9A3E3; } > i:before { .m-faContent(@fa-var-twitch); } } &.shareButtons-button--vk { &:hover { background-color: #6441A5; } > i:before { .m-faContent(@fa-var-vk); } } &.shareButtons-button--tumblr { &:hover { background-color: #35465C; } > i:before { .m-faContent(@fa-var-tumblr); } } &.shareButtons-button--instagram { &:hover { background-color: #405DE6; } > i:before { .m-faContent(@fa-var-instagram); } } &.shareButtons-button--reddit { &:hover { background-color: #FF4500; } > i:before { .m-faContent(@fa-var-reddit-alien); } } &.shareButtons-button--github { &:hover { background-color: #4078C0; } > i:before { .m-faContent(@fa-var-github); } } &.shareButtons-button--whatsApp { &:hover { background-color: #25D366; } > i:before { .m-faContent(@fa-var-whatsapp); } } &.shareButtons-button--email { &:hover { background-color: #1289ff; } > i:before { .m-faContent(@fa-var-envelope); } } &.shareButtons-button--rss { &:hover { background-color: #F26522; } > i:before { .m-faContent(@fa-var-rss); } } &.shareButtons-button--instagram { &:hover { background-color: #405DE6; } > i:before { .m-faContent(@fa-var-instagram); } } &.shareButtons-button--link { cursor: pointer; &:hover { background-color: #787878; } > i:before { .m-faContent(@fa-var-link); } } &.is-hidden { display: none; } } .shareInput { margin-bottom: 5px; &:last-child { margin-bottom: 0; } } .shareInput-label { font-size: @xf-fontSizeSmall; .m-appendColon(); } .shareInput-button { color: @xf-linkColor; cursor: pointer; > i { display: inline-block; vertical-align: middle; .m-faBase(); &:before { .m-faContent(@fa-var-copy); } } &.is-hidden { display: none; } } .shareInput-input { font-size: @xf-fontSizeSmall; .m-inputZoomFix(); .shareInput-button.is-hidden + & { border-radius: @xf-borderRadiusMedium; } } ]]>
</template>
<template title="thread_view" type="public" addon_id="XF" version_id="2010770" version_string="2.1.7">
<![CDATA[ <xf:title page="{$page}">{{ prefix('thread', $thread, 'escaped') }}{$thread.title}</xf:title> <xf:h1>{{ prefix('thread', $thread) }}{$thread.title}</xf:h1> <xf:description meta="false"> <ul class="listInline listInline--bullet"> <li> <xf:fa icon="fa-user" title="{{ phrase('thread_starter')|for_attr }}" /> <span class="u-srOnly">{{ phrase('thread_starter') }}</span> <xf:username user="{$thread.User}" defaultname="{$thread.username}" class="u-concealed" /> </li> <li> <xf:fa icon="fa-clock" title="{{ phrase('start_date')|for_attr }}" /> <span class="u-srOnly">{{ phrase('start_date') }}</span> <a href="{{ link('threads', $thread) }}" class="u-concealed"><xf:date time="{$thread.post_date}" /></a> </li> <xf:if is="$xf.options.enableTagging AND ($thread.canEditTags() OR $thread.tags)"> <li> <xf:macro template="tag_macros" name="list" arg-tags="{$thread.tags}" arg-tagList="tagList--thread-{$thread.thread_id}" arg-editLink="{{ $thread.canEditTags() ? link('threads/tags', $thread) : '' }}" /> </li> </xf:if> </ul> </xf:description> <xf:set var="$fpSnippet" value="{{ snippet($firstPost.message, 0, {'stripBbCode': true}) }}" /> <xf:macro template="metadata_macros" name="metadata" arg-description="{$fpSnippet}" arg-shareUrl="{{ link('canonical:threads', $thread) }}" arg-canonicalUrl="{{ link('canonical:threads', $thread, {'page': $page}) }}" /> <xf:page option="ldJsonHtml"> <xf:if is="$thread.User.avatar_highdpi"> <xf:set var="$image">{$thread.User.getAvatarUrl('h', null, true)}</xf:set> <xf:elseif is="$thread.User.avatar_date" /> <xf:set var="$image">{$thread.User.getAvatarUrl('l', null, true)}</xf:set> <xf:elseif is="property('publicMetadataLogoUrl')" /> <xf:set var="$image">{{ base_url(property('publicMetadataLogoUrl'), true) }}</xf:set> </xf:if> <xf:if is="$image AND property('publicMetadataLogoUrl')"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "DiscussionForumPosting", "@id": "{{ link('canonical:threads', $thread)|escape('json') }}", "headline": "{$thread.title|escape('json')}", "articleBody": "{$fpSnippet|escape('json')}", "articleSection": "{$thread.Forum.Node.title|escape('json')}", "author": { "@type": "Person", "name": "{{ ($thread.User ? $thread.User.username : $thread.username)|escape('json') }}" }, "datePublished": "{{ date($thread.post_date, 'Y-m-d')|escape('json') }}", "dateModified": "{{ date($thread.last_post_date, 'Y-m-d')|escape('json') }}", "image": "{$image|escape('json')}", "interactionStatistic": { "@type": "InteractionCounter", "interactionType": "https://schema.org/ReplyAction", "userInteractionCount": {$thread.reply_count} }, "publisher": { "@type": "Organization", "name": "{$xf.options.boardTitle|escape('json')}", "logo": { "@type": "ImageObject", "url": "{{ base_url(property('publicMetadataLogoUrl'), true)|escape('json') }}" } }, "mainEntityOfPage": { "@type": "WebPage", "@id": "{$xf.options.boardUrl}" } } </script> </xf:if> </xf:page> <!--[XF:content_top]--> <xf:if is="$pendingApproval"> <div class="blockMessage blockMessage--important">{{ phrase('content_submitted_displayed_pending_approval') }}</div> </xf:if> <xf:macro template="forum_macros" name="forum_page_options" arg-forum="{$forum}" arg-thread="{$thread}" /> <xf:breadcrumb source="$forum.getBreadcrumbs()" /> <xf:if is="property('xtr_new_post_button')"> <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> <xf:if is="$canInlineMod OR $thread.canUseInlineModeration()"> <xf:js src="xf/inline_mod.js" min="1" /> </xf:if> <xf:macro template="lightbox_macros" name="setup" arg-canViewAttachments="{$thread.canViewAttachments()}" /> <xf:if is="$poll"> <xf:macro template="poll_macros" name="poll_block" arg-poll="{$poll}" /> </xf:if> <xf:ad position="thread_view_above_messages" arg-thread="{$thread}" /> <div class="block block--messages" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="post" data-href="{{ link('inline-mod') }}"> <xf:macro name="thread_status" arg-thread="{$thread}" arg-wrapperClass="block-outer" /> <div class="block-outer"><xf:trim> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{{ $thread.reply_count + 1 }}" link="threads" data="{$thread}" 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="$thread.discussion_state == 'deleted' AND $thread.canUndelete()"> <xf:button href="{{ link('threads/undelete', $thread) }}" class="button--link" overlay="true"> {{ phrase('undelete') }} </xf:button> </xf:if> <xf:if is="$thread.canApproveUnapprove() AND $thread.discussion_state == 'moderated'"> <xf:button href="{{ link('threads/approve', $thread) }}" class="button--link" overlay="true"> {{ phrase('approve') }} </xf:button> </xf:if> <xf:if is="$xf.visitor.user_id AND $thread.isUnread()"> <xf:button href="{{ $firstUnread ? ('#post-' . $firstUnread.post_id) : link('threads/unread', $thread, {'new': 1}) }}" class="button--link" data-xf-click="scroll-to" data-silent="true"> {{ phrase('jump_to_new') }} </xf:button> </xf:if> <xf:if is="$thread.canWatch()"> <xf:button href="{{ link('threads/watch', $thread) }}" class="button--link" data-xf-click="switch-overlay" data-sk-watch="{{ phrase('watch') }}" data-sk-unwatch="{{ phrase('unwatch') }}"> <xf:if is="{$thread.Watch.{$xf.visitor.user_id}}"> {{ phrase('unwatch') }} <xf:else /> {{ phrase('watch') }} </xf:if> </xf:button> </xf:if> <xf:if contentcheck="true"> <div class="buttonGroup-buttonWrapper"> <xf:button class="button--link menuTrigger" data-xf-click="menu" aria-expanded="false" aria-haspopup="true" title="{{ phrase('more_options') }}">•••</xf:button> <div class="menu" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('more_options') }}</h4> <xf:contentcheck> <!--[XF:thread_tools_menu:top]--> <xf:if is="$thread.canEdit()"> <a href="{{ link('threads/edit', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('edit_thread') }}</a> </xf:if> <xf:if is="$thread.canLockUnlock()"> <a href="{{ link('threads/quick-close', $thread) }}" class="menu-linkRow" data-xf-click="switch" data-menu-closer="true"> <xf:if is="$thread.discussion_open"> {{ phrase('lock_thread') }} <xf:else /> {{ phrase('unlock_thread') }} </xf:if> </a> </xf:if> <xf:if is="$thread.canStickUnstick()"> <a href="{{ link('threads/quick-stick', $thread) }}" class="menu-linkRow" data-xf-click="switch" data-menu-closer="true"> <xf:if is="$thread.sticky"> {{ phrase('unstick_thread') }} <xf:else /> {{ phrase('stick_thread') }} </xf:if> </a> </xf:if> <xf:if is="$thread.canCreatePoll()"> <a href="{{ link('threads/poll/create', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('create_poll') }}</a> </xf:if> <xf:if is="$thread.canDelete('soft')"> <a href="{{ link('threads/delete', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('delete_thread') }}</a> </xf:if> <xf:if is="$thread.canMove()"> <a href="{{ link('threads/move', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('move_thread') }}</a> </xf:if> <xf:if is="$thread.canReplyBan()"> <a href="{{ link('threads/reply-bans', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('manage_reply_bans') }}</a> </xf:if> <xf:if is="$thread.canViewModeratorLogs()"> <a href="{{ link('threads/moderator-actions', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('moderator_actions') }}</a> </xf:if> <!--[XF:thread_tools_menu:before_footer]--> <xf:if is="$thread.canUseInlineModeration()"> <div class="menu-footer" data-xf-init="inline-mod" data-type="thread" data-href="{{ link('inline-mod') }}" data-toggle=".js-threadInlineModToggle"> <xf:checkbox> <xf:option class="js-threadInlineModToggle" value="{$thread.thread_id}">{{ phrase('select_for_moderation') }}</xf:option> </xf:checkbox> </div> </xf:if> <!--[XF:thread_tools_menu:bottom]--> </xf:contentcheck> </div> </div> </div> </xf:if> </xf:contentcheck> </div> </div> </xf:if> </xf:trim></div> <div class="block-outer js-threadStatusField"><xf:trim> <xf:if contentcheck="true"> <div class="blockStatus blockStatus--info"> <xf:contentcheck> <xf:macro template="custom_fields_macros" name="custom_fields_view" arg-type="threads" arg-group="thread_status" arg-onlyInclude="{$forum.field_cache}" arg-set="{$thread.custom_fields}" arg-wrapperClass="blockStatus-message" /> </xf:contentcheck> </div> </xf:if> </xf:trim></div> <div class="block-container lbContainer" data-xf-init="lightbox{{ $xf.options.selectQuotable ? ' select-to-quote' : '' }}" data-message-selector=".js-post" data-lb-id="thread-{$thread.thread_id}" data-lb-universal="{$xf.options.lightBoxUniversal}"> <div class="block-body js-replyNewMessageContainer"> <xf:foreach loop="$posts" value="$post"> <xf:if is="$post.message_state == 'deleted'"> <xf:macro template="post_macros" name="post_deleted" arg-post="{$post}" arg-thread="{$thread}" /> <xf:else /> <xf:macro template="post_macros" name="post" arg-post="{$post}" arg-thread="{$thread}" /> </xf:if> </xf:foreach> </div> </div> <xf:if contentcheck="true"> <div class="block-outer block-outer--after"> <xf:contentcheck> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{{ $thread.reply_count + 1 }}" link="threads" data="{$thread}" wrapperclass="block-outer-main" /> <xf:showignored wrapperclass="block-outer-opposite" /> <xf:if is="!$thread.canReply() AND $thread.discussion_state == 'visible' AND $thread.discussion_open"> <div class="block-outer-opposite"> <xf:if is="$xf.visitor.user_id"> <span class="button is-disabled"> {{ phrase('no_permission_to_reply') }} <!-- 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_reply') }} </xf:button> </xf:if> </div> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:macro name="thread_status" arg-thread="{$thread}" arg-wrapperClass="block-outer block-outer--after" /> </div> <xf:ad position="thread_view_below_messages" arg-thread="{$thread}" /> <xf:if is="$thread.canReply()"> <xf:form action="{{ link('threads/add-reply', $thread) }}" ajax="true" draft="{{ link('threads/draft', $thread) }}" class="block js-quickReply" data-xf-init="attachment-manager quick-reply{{ $xf.visitor.isShownCaptcha() ? ' guest-captcha' : '' }}" data-message-container="div[data-type='post'] .js-replyNewMessageContainer" data-preview-url="{{ link('threads/reply-preview', $thread, {'quick_reply': 1}) }}"> <xf:js src="xf/message.js" min="1" /> <xf:set var="$lastPost" value="{$posts|last}" /> <div class="block-container"> <div class="block-body"> <xf:macro template="quick_reply_macros" name="body" arg-message="{$thread.draft_reply.message}" arg-attachmentData="{$attachmentData}" arg-forceHash="{$thread.draft_reply.attachment_hash}" arg-messageSelector=".js-post" arg-multiQuoteHref="{{ link('threads/multi-quote', $thread) }}" arg-multiQuoteStorageKey="multiQuoteThread" arg-lastDate="{$lastPost.post_date}" arg-lastKnownDate="{$thread.last_post_date}" /> </div> </div> </xf:form> </xf:if> <div class="blockMessage blockMessage--none"> <xf:macro template="share_page_macros" name="buttons" arg-iconic="{{ true }}" arg-label="{{ phrase('share:') }}" /> </div> <xf:macro name="thread_status" arg-thread="!" arg-wrapperClass=""> <xf:if contentcheck="true"> <div class="{$wrapperClass}"> <dl class="blockStatus"> <dt>{{ phrase('status') }}</dt> <xf:contentcheck> <xf:if is="$thread.discussion_state == 'deleted'"> <dd class="blockStatus-message blockStatus-message--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$thread.DeletionLog}" /> </dd> <xf:elseif is="$thread.discussion_state == 'moderated'" /> <dd class="blockStatus-message blockStatus-message--moderated"> {{ phrase('awaiting_approval_before_being_displayed_publicly') }} </dd> </xf:if> <xf:if is="!$thread.discussion_open"> <dd class="blockStatus-message blockStatus-message--locked"> {{ phrase('not_open_for_further_replies') }} </dd> </xf:if> </xf:contentcheck> </dl> </div> </xf:if> </xf:macro> <xf:widgetpos id="thread_view_sidebar" context-thread="{$thread}" position="sidebar" /> ]]>
</template>
<template title="xtr_base.less" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ /* ---------------- XENTR.NET STYLES ---------------- */ /* Links Hover Node title links hover Bubble Animations Sub forums Links Hover Navigations Hover Effect Breadcrumbs Breadcrumbs Share Buttons Visitor Menu Icons Sidebar Menu Icons Notable Members Page Icons Account Page Sidenav Icons Shape Styles */ // ################################# LINKS HOVER ##################### <xf:if is="property('xtr_links_hover_effect')"> .block-header a:before, .block-minorHeader a:before, .xentr_stats_text a:before { right: 3px; content: '['; -webkit-transform: translateX(20px); -moz-transform: translateX(20px); transform: translateX(20px); color: inherit; } .block-header a:after, .block-minorHeader a:after, .xentr_stats_text a:after{ left: 3px; content: ']'; -webkit-transform: translateX(-20px); -moz-transform: translateX(-20px); transform: translateX(-20px); color: inherit; } .block-header a:before, .block-header a:after, .block-minorHeader a:before, .block-minorHeader a:after, .xentr_stats_text a:before, .xentr_stats_text a:after { margin: 0 -2px; display: inline-block; opacity: 0; position: relative; -webkit-transition: -webkit-transform .3s, opacity .2s; -moz-transition: -moz-transform .3s, opacity .2s; transition: transform .3s, opacity .2s; color: inherit; } .block-header a:hover:before, .block-header a:hover:after, .block-minorHeader a:hover:before, .block-minorHeader a:hover:after, .xentr_stats_text a:hover:before, .xentr_stats_text a:hover:after { opacity: 1; -webkit-transform: translateX(0px); -moz-transform: translateX(0px); transform: translateX(0px); color: currentColor; color: inherit; } // Node title links hover .node-title { >a { position: relative; color: @xf-xtr_secondary_color; &:hover { color: @xf-linkHoverColor; text-decoration: none; &:after { width: 100%; left: 0; } } &:after { content: ""; width: 0; height: 1px; background: currentColor; position: absolute; left: 50%; bottom: 1px; transition: all 0.4s; } } } // Sub forums Links Hover .node-subNodeFlatList { >li { a { position: relative; color: @xf-xtr_secondary_color; &:hover { color: @xf-linkHoverColor; text-decoration: none; &:after { width: 100%; left: 0; } } &:after { content: ""; width: 0; height: 1px; background: currentColor; position: absolute; left: 50%; bottom: 1px; transition: all 0.4s; } } } } </xf:if> // ################################# NAVIGATION ICONS ##################### // NAVIGATION HOME ICON <xf:if is="{{ property('showNavHomeIcon') }}"> .p-navEl a[data-nav-id='home']:before { .m-faBase(); content: "\f015"; text-indent: 0; position: absolute; left: 50%; width: 20px; text-align: center; margin-left: -10px; font-size: @xf-fontSizeLarge; } [data-nav-id='home'].p-navEl-link { .xf-homeLinkIcon(); } @media (max-width: @xf-responsiveWide) { [data-nav-id='home'].p-navEl-link:before { text-indent: inherit; } } // NAVIGATION HOME ICON BACKGROUND .p-navEl { [data-nav-id="home"] { background: @xf-homeLink; color: @xf-homeLinkColor--color; + .p-navEl-splitTrigger { background: @xf-homeLink; } } &:hover { [data-nav-id="home"]{ background: @xf-homeLinkHover !important; + .p-navEl-splitTrigger { background: @xf-homeLinkHover !important; } } } } </xf:if> // Navigations Hover Effect <xf:if is="property('xtr_button_hover_effect')"> .button { position: relative; overflow: hidden; &:after { content: ''; position: absolute; display: inline-block; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; transition: all 0.5s; opacity: 1; -webkit-transform: translate(-105%, 0); transform: translate(-105%, 0); border-right-width: @xf-borderSize; border-right-style: solid; border-right-color: @xf-borderColorFaint; background-color: rgba(255, 255, 255, 0.25); } &:hover { &:after { opacity: 0; -webkit-transform: translate(0, 0); transform: translate(0, 0); } } } </xf:if> // ################################# BREADCRUMB ##################### // Breadcrumb .breadcrumb-content { display: flex; @media (max-width: @xf-responsiveMedium) { flex-direction: column; align-items: center; } .p-breadcrumbs{ flex: 1 1 auto; width: 100%; } .block-minorHeader { display: none; } .block { display: none; } } .breadcrumb-content .shareButtons { background-color: @xf-xtr_breadcrumb--background-color; border-radius: 3px; border: @xf-borderSize solid @xf-borderColor; display: flex; align-items: center; justify-content: flex-start; flex: 0 0 auto; margin-left: @xf-paddingSmall; margin-bottom: 10px; padding: 0; list-style: none; text-align: center; text-shadow: rgba(0, 0, 0, 0.3) 0px -1px 0px; } <xf:if is="property('xtr_breadcrumbBottomSocialShare')"> .breadcrumb-content.bottom .shareButtons { display: none; } <xf:else /> .breadcrumb-content.bottom .shareButtons { margin-top: @xf-elementSpacer; margin-bottom: 0; } </xf:if> .p-breadcrumbs { .xf-xtr_breadcrumb(); overflow: hidden; line-height: {{ property('xtr_breadcrumbHeight')}}px; margin-bottom: 10px; position: relative; z-index: 0; &::before { display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: @xf-borderSize solid @xf-xtr_breadcrumb--border-color; border-radius: inherit; pointer-events: none; z-index: 2; } > li { margin: 0; font-size: inherit; padding-left: 15px; &:first-child { border-top-left-radius: inherit; border-bottom-left-radius: inherit; span { &:before { .m-faBase(); text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: "\f015"; padding-right: 5px; } } } &::before, &::after{ display: none; } a{ padding: 0 15px; position: relative; z-index: 1; display: block; overflow: visible; max-width: none; text-decoration: none; color: inherit; margin-left: -15px; &:hover{ color: xf-default(@xf-xtr_breadcrumbHover--color, inherit); } &::before, &::after { border-style: solid; border-width: 0; border-right-width: 1px; border-color: @xf-xtr_breadcrumbBorder--border-color; color: rgba(255, 255, 255, 0.38); box-shadow: inset currentColor -1px 0px 0px 0px; content: ''; position: absolute; height: 50%; width: 100%; right: 0; z-index: -1; box-sizing: border-box; transform-origin: 100% 50%; } html[dir='rtl'] &:before, html[dir='rtl'] &:after{ box-shadow: inset currentColor 1px 0px 0px 0px; } &::before { top: 0; transform: skewX(35deg); } &::after { top: 50%; transform: skewX(-35deg); } html[dir='rtl'] &:before{ transform: skewX(-35deg); } html[dir='rtl'] &:after{ transform: skewX(35deg); } /* Hover */ &:hover::before, &:hover::after { background: @xf-xtr_breadcrumbHover--background-color; } /* Active */ &:active::before, &:active::after{ background-color: fade(@xf-xtr_breadcrumbHover--color, 3%); color: rgba(0,0,0,0.05); box-shadow: inset currentColor -2px 1px 1px; } &:active::after{ box-shadow: inset currentColor -2px -1px 1px; } } &:first-of-type a::before, &:first-of-type a::after { width: ~"calc(100% + 20px)"; } } } @media (max-width: @xf-responsiveNarrow) { .p-breadcrumbs { & > li a { padding: 0 22px; &::before, &::after { transform: skewX(-30deg); width: ~"calc(100% + 20px)"; } &::after { transform: skewX(30deg); } } } } // ######################################### ICONS ################################# // Visitor Menu Icons <xf:if is="property('xtr_visitor_menu_icon')"> .menu-content.js-visitorMenuBody a.menu-linkRow { &:before { .m-faBase(); padding-right: 5px; } &[href*="whats-new/news-feed"]:before { .m-faContent(@fa-var-rss); } &[href*="search/member"]:before { .m-faContent(@fa-var-comments); } &[href*="account/reactions"]:before { .m-faContent(@fa-var-thumbs-up); } &[href*="account/alerts"]:before { .m-faContent(@fa-var-bell); } &[href*="account/account-details"]:before { .m-faContent(@fa-var-user-cog); } &[href*="account/security"]:before { .m-faContent(@fa-var-shield-alt); } &[href*="account/privacy"]:before { .m-faContent(@fa-var-lock); } &[href*="account/preferences"]:before { .m-faContent(@fa-var-cogs); } &[href*="account/signature"]:before { .m-faContent(@fa-var-signature); } &[href*="account/upgrades"]:before { .m-faBase('Brands'); .m-faContent(@fa-var-paypal); } &[href*="account/connected-accounts"]:before { .m-faContent(@fa-var-users-class); } &[href*="account/following"]:before { .m-faContent(@fa-var-user-plus); } &[href*="account/ignored"]:before { .m-faContent(@fa-var-user-minus); } &[href*="logout"]:before { .m-faContent(@fa-var-sign-out); } &[href*="/xenforo-license"]:before { .m-faContent(@fa-var-copyright); } &[href*="/members/banned"]:before { .m-faContent(@fa-var-ban); } &[href*="/conversation-view"]:before { .m-faContent(@fa-var-eye); } } </xf:if> /*** Highlight new menu item ***/ .menu-row.menu-row--separated.menu-row--clickable.menu-row--highlighted { &:before { .m-faBase(); .m-faContent(@fa-var-dot-circle); float: right; color: @xf-paletteAccent2; } &:hover:before { .m-faBase('Pro', @faWeight-solid); .m-faContent(@fa-var-dot-circle); } } /**********/ // Sidebar Menu Icons <xf:if is="property('xtr_sidebar_icons')"> .block[data-widget-id], .p-body-sideNav { .block-minorHeader, .block-header { display: flex; align-items: center; } } .block[data-widget-id] .block-minorHeader:before, .block[data-widget-section] .block-minorHeader:before, [data-template="member_notable"] .p-body-sideNav .block-header:before, .xtr-extra-footer .xtr-extra-footer-row .xtr-aboutUs h3 i:before, .xtr-extra-footer .xtr-extra-footer-row .xtr-user-navigation h3 i:before, .xtr-extra-footer .xtr-extra-footer-row .xtr-navigation h3 i:before { .m-faBase(); font-size: @xf-fontSizeLarge !important; padding-right: @xf-paddingMedium; color: inherit; } [data-template="member_notable"] .p-body-sideNav .block-header:before {content:"\f0c0";} .block[data-widget-section="staffMembers"] .block-minorHeader:before {content: "\f21b" !important;} .block[data-widget-definition="members_online"] .block-minorHeader:before {content: "\f0c0";} .block[data-widget-definition="board_totals"] .block-minorHeader:before, .block[data-widget-definition="forum_statistics"] .block-minorHeader:before {content: "\f201";} .block[data-widget-definition="online_statistics"] .block-minorHeader:before {content: "\f080";} .block[data-widget-definition="share_page"] .block-minorHeader:before {content: "\f1e0";} .block[data-widget-definition="most_messages"] .block-minorHeader:before {content: "\f086";} .block[data-widget-definition="find_member"] .block-minorHeader:before {content: "\f4fc";} .block[data-widget-definition="new_threads"] .block-minorHeader:before, .block[data-widget-definition="new_profile_posts"] .block-minorHeader:before, .block[data-widget-definition="new_posts"] .block-minorHeader:before{content: "\f0e7";} .block[data-widget-definition="birthdays"] .block-minorHeader:before{content: "\f1fd";} form[data-xf-init*="poll-block"] .block-minorHeader:before {content: "\f0e6";} .block[data-widget-definition="xfrm_new_resources"] .block-minorHeader:before{content: "\f0ed";} .block[data-widget-definition="newest_members"] .block-minorHeader:before {content:"\f234";} </xf:if> // Icons on Notable members page <xf:if is="property('xtr_notable_member_page_icons')"> [data-template="member_notable"] .p-body-sideNavContent a.blockLink, &[data-template="member_notable"] h3.block-textHeader a { &:before { .m-faBase(); padding-right: 5px; } &[href*="members/"]:before { .m-faContent(@fa-var-ellipsis-h-alt); } &[href*="key=most_messages"]:before { .m-faContent(@fa-var-comments); } &[href*="key=highest_reaction_score"]:before { .m-faContent(@fa-var-thumbs-up); } &[href*="key=most_points"]:before { .m-faContent(@fa-var-dot-circle); } &[href*="key=xfrm_most_resources"]:before { .m-faContent(@fa-var-cog); } &[href*="key=xfmg_most_media_items"]:before { .m-faContent(@fa-var-images); } &[href*="key=xfmg_most_albums"]:before { .m-faContent(@fa-var-image); } &[href*="key=todays_birthdays"]:before { .m-faContent(@fa-var-gift); } &[href*="key=staff_members"]:before { .m-faContent(@fa-var-user-tie); } } </xf:if> // Account Page Sidenav Icons <xf:if is="property('xtr_account_page_icons')"> [data-template="account_alerts"], &[data-template="account_reactions"], &[data-template="account_bookmarks"], &[data-template="account_details"], &[data-template="account_security"], &[data-template="account_privacy"], &[data-template="account_preferences"], &[data-template="account_signature"], &[data-template="account_upgrades"], &[data-template="account_connected"], &[data-template="account_following"], &[data-template="account_ignored"] { .p-body-sideNavContent a.blockLink { &:before { .m-faBase(); padding-right: 5px; } &[href*="members/"]:before { .m-faContent(@fa-var-user); } &[href*="account/alerts"]:before { .m-faContent(@fa-var-bell); } &[href*="account/reactions"]:before { .m-faContent(@fa-var-thumbs-up); } &[href*="account/bookmarks"]:before { .m-faContent(@fa-var-bookmark); } &[href*="account/account-details"]:before { .m-faContent(@fa-var-user-cog); } &[href*="account/security"]:before { .m-faContent(@fa-var-shield-alt); } &[href*="account/privacy"]:before { .m-faContent(@fa-var-lock); } &[href*="account/preferences"]:before { .m-faContent(@fa-var-cogs); } &[href*="account/signature"]:before { .m-faContent(@fa-var-signature); } &[href*="account/upgrades"]:before { .m-faBase('Brands'); .m-faContent(@fa-var-paypal); } &[href*="account/connected-accounts"]:before { .m-faContent(@fa-var-users-class); } &[href*="account/following"]:before { .m-faContent(@fa-var-user-plus); } &[href*="account/ignored"]:before { .m-faContent(@fa-var-user-minus); } &[href*="logout"]:before { .m-faContent(@fa-var-sign-out); } } } </xf:if> // ######################################### FOOTER ICONS ################################# <xf:if is="property('xtr_footer_icons')"> .p-footer-linkList a[href*="/support-tickets"]:before{ .m-faBase(); padding-right: 5px; color: @xf-publicFooterLink--color; content: "\f3ff" } .p-footer-linkList a[href*="/misc/contact"]:before{ .m-faBase(); padding-right: 5px; color: @xf-publicFooterLink--color; content: "\f0e0" } .p-footer-linkList a[href*="help/terms"]:before{.m-faBase(); padding-right: 5px; color: @xf-publicFooterLink--color; content: "\f071" !important;} .p-footer-linkList a[href*="/help/"]:before{ .m-faBase(); padding-right: 5px; color: @xf-publicFooterLink--color; content: "\f059" } .p-footer-linkList a[href*="/help/privacy-policy/"]:before{ .m-faBase(); padding-right: 5px; color: @xf-publicFooterLink--color; content: "\f21b" !important; } .p-footer-linkList a[href*="/index.php?misc/contact"]:before{ .m-faBase(); padding-right: 5px; color: @xf-publicFooterLink--color; content: "\f0e0" } .p-footer-linkList a[href*="/index.php?help/terms"]:before{.m-faBase(); padding-right: 5px; color: @xf-publicFooterLink--color; content: "\f071" !important;} .p-footer-linkList a[href*="/index.php?help/"]:before{ .m-faBase(); padding-right: 5px; color: @xf-publicFooterLink--color; content: "\f059" } .p-footer-linkList a[href*="/index.php?help/privacy-policy/"]:before{ .m-faBase(); padding-right: 5px; color: @xf-publicFooterLink--color; content: "\f21b" !important; } .p-footer-linkList .footer-home:before{ .m-faBase(); padding-right: 5px; color: @xf-publicFooterLink--color; content: "\f015" !important; } </xf:if> // Shape Styles .xtr_shape { position: static; .shape1 { position: absolute; left: 0; top: 30%; z-index: -1; -webkit-animation: 5s linear infinite movebounce; animation: 5s linear infinite movebounce; opacity: .2; } .shape2 { position: absolute; z-index: -1; top: 60%; left: 2%; } .shape3 { position: absolute; left: 3%; bottom: 25%; z-index: -1; -webkit-animation: 15s linear infinite animationFramesOne; animation: 15s linear infinite animationFramesOne; } .shape4 { position: absolute; right: 50%; bottom: 20%; z-index: -1; -webkit-animation: 20s linear infinite animationFramesOne; animation: 20s linear infinite animationFramesOne; } .shape5 { position: absolute; right: 0; top: 60%; z-index: -1; -webkit-animation: 5s linear infinite movebounce; animation: 5s linear infinite movebounce; opacity: .2; } .shape6 { position: absolute; z-index: -1; top: 50%; right: 2%; } .shape7 { position: absolute; left: 2%; top: 17%; z-index: -1; -webkit-animation: 20s linear infinite animationFramesOne; animation: 20s linear infinite animationFramesOne; } .shape8 { position: absolute; z-index: -1; top: 20%; right: 2%; } } .p-pageWrapper { z-index: 1; } @-webkit-keyframes movebounce { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(20px) } } @keyframes movebounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(20px); } } @-webkit-keyframes moveleftbounce { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(20px); } } @keyframes moveleftbounce { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(20px); } } .rotateme { -webkit-animation-name: rotateme; animation-name: rotateme; -webkit-animation-duration: 20s; animation-duration: 20s; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; } @keyframes rotateme { from { transform: rotate(0); } to { transform: rotate(360deg); } } @-webkit-keyframes rotateme { from { -webkit-transform: rotate(0); } to { -webkit-transform: rotate(360deg); } } @-webkit-keyframes rotate3d { 0% { transform: rotateY(0); } 100% { transform: rotateY(360deg); } } @keyframes rotate3d { 0% { transform: rotateY(0); } 100% { transform: rotateY(360deg); } } @keyframes animationFramesOne { 0%, 100% { transform: translate(0, 0) rotate(0); } 20% { transform: translate(73px, -1px) rotate(36deg); } 40% { transform: translate(141px, 72px) rotate(72deg); } 60% { transform: translate(83px, 122px) rotate(108deg); } 80% { transform: translate(-40px, 72px) rotate(144deg); } } @-webkit-keyframes animationFramesOne { 0%, 100% { -webkit-transform: translate(0, 0) rotate(0); } 20% { -webkit-transform: translate(73px, -1px) rotate(36deg); } 40% { -webkit-transform: translate(141px, 72px) rotate(72deg); } 60% { -webkit-transform: translate(83px, 122px) rotate(108deg); } 80% { -webkit-transform: translate(-40px, 72px) rotate(144deg); } } // Style Fix // Style changer exclusive fix .p-staffBar-inner { .p-navgroup-link.link-changer { &:after { display: none; } } } ]]>
</template>
<template title="xtr_body_helper" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ <!--[XENTR:js_global:xtr_gradient_start]--> <xf:if is="{{ property('xtr_logo_position') }} == 'insidenav' && {{ property('xtr_message_block_enable') }} == '1' && {{ property('xtr_gradient_bg_animations') }} == '1'"> <xf:js> function checkGradeient() { //gradient animations var colors = new Array( [62, 35, 255], [60, 255, 60], [255, 35, 98], [45, 175, 230], [255, 0, 255], [255, 128, 0]); var step = 0; //color table indices for: // current color left // next color left // current color right // next color right var colorIndices = [0, 1, 2, 3]; //transition speed var gradientSpeed = 0.002; function updateGradient() { if ($ === undefined) return; var c0_0 = colors[colorIndices[0]]; var c0_1 = colors[colorIndices[1]]; var c1_0 = colors[colorIndices[2]]; var c1_1 = colors[colorIndices[3]]; var istep = 1 - step; var r1 = Math.round(istep * c0_0[0] + step * c0_1[0]); var g1 = Math.round(istep * c0_0[1] + step * c0_1[1]); var b1 = Math.round(istep * c0_0[2] + step * c0_1[2]); var color1 = "rgb(" + r1 + "," + g1 + "," + b1 + ")"; var r2 = Math.round(istep * c1_0[0] + step * c1_1[0]); var g2 = Math.round(istep * c1_0[1] + step * c1_1[1]); var b2 = Math.round(istep * c1_0[2] + step * c1_1[2]); var color2 = "rgb(" + r2 + "," + g2 + "," + b2 + ")"; $('.xtr-overlay').css({ background: "-webkit-gradient(linear, left top, right top, from(" + color1 + "), to(" + color2 + "))" }).css({ background: "-moz-linear-gradient(left, " + color1 + " 0%, " + color2 + " 100%)" }); step += gradientSpeed; if (step >= 1) { step %= 1; colorIndices[0] = colorIndices[1]; colorIndices[2] = colorIndices[3]; //pick two new target color indices //do not pick the same as the current one colorIndices[1] = (colorIndices[1] + Math.floor(1 + Math.random() * (colors.length - 1))) % colors.length; colorIndices[3] = (colorIndices[3] + Math.floor(1 + Math.random() * (colors.length - 1))) % colors.length; } } setInterval(updateGradient, 10); } if ($(".xtr-overlay").length) { checkGradeient() } </xf:js> </xf:if> <xf:if is="{{ property('xtr_right_click') }}"> <xf:js> $(document).bind('contextmenu',function(e){ return false; }); </xf:js> </xf:if> ]]>
</template>
<template title="xtr_extra.less" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ ]]>
</template>
<template title="xtr_extra_footer" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ <xf:css src="xtr_extra_footer.less" /> <div class="xtr-extra-footer"> <div class="p-footer-inner"> <div class="xtr-extra-footer-row"> <xf:if is="{{ property('xtr_enable_extra_footer_column1') }}"> <div class="block box xtr-aboutUs"> <xf:if is="{$blockId} == 'custom'"> <h3 class="block-minorHeader"><i class="{{ property('xtr_extra_footer_column_icon1') }}"></i> {{ property('xtr_extra_footer_column_title1') }}</h3> <ul class="block-body"> {{ property('xtr_extra_footer_column1_content') }} </ul> <xf:else /> <xf:macro name="footerWidgets" arg-block="1" /> </xf:if> </div> </xf:if> <xf:if is="{{ property('xtr_enable_extra_footer_column2') }}"> <div class="block box xtr-navigation"> <xf:if is="{$blockId} == 'custom'"> <h3 class="block-minorHeader"><i class="{{ property('xtr_extra_footer_column_icon2') }}"></i> {{ property('xtr_extra_footer_column_title2') }}</h3> <div class="block-body block-row"> <xf:if is="$xf.options.homePageUrl"> <div class="blockLink"><a class="{$baseClass}" href="{$xf.options.homePageUrl}">{{ phrase('home') }}</a></div> </xf:if> <div class="blockLink"><a class="{$baseClass}" href="{{ link('forums') }}">{{ phrase('forums') }}</a></div> <div class="blockLink"><a class="{$baseClass}" href="{{ link('whats-new/posts') }}">{{ phrase('new_posts') }}</a></div> </div> <xf:else /> <xf:macro name="footerWidgets" arg-block="2" /> </xf:if> </div> </xf:if> <xf:if is="{{ property('xtr_enable_extra_footer_column3') }}"> <div class="block box xtr-user-navigation"> <xf:if is="{$blockId} == 'custom'"> <h3 class="block-minorHeader"><i class="{{ property('xtr_extra_footer_column_icon3') }}"></i> {{ property('xtr_extra_footer_column_title3') }}</h3> <xf:else /> <xf:macro name="footerWidgets" arg-block="3" /> </xf:if> </div> </xf:if> <xf:if is="{{ property('xtr_enable_extra_footer_column4') }}"> <div class="block box xtr-user-navigation"> <xf:if is="{$blockId} == 'custom'"> <h3 class="block-minorHeader"><i class="{{ property('xtr_extra_footer_column_icon4') }}"></i> {{ property('xtr_extra_footer_column_title4') }}</h3> <xf:else /> <xf:macro name="footerWidgets" arg-block="4" /> </xf:if> </div> </xf:if> </div> </div> </div> <xf:macro name="footerWidgets" arg-block="{$block}"> <xf:set var="$blockId" value="{{ property('xtr_extra_footer_column' . $block) }}" /> <xf:if is="{$blockId} == 'custom'"> <div class="block-container"> <div class="block"> <h3 class="block-minorHeader"><i class="{{ property('xtr_extra_footer_column_icon' .$block) }}"></i>{{ property('xtr_extra_footer_column_title' .$block) }}</h3> <div class="block-body block-row"> {{ property('xtr_extra_footer_column_content' .$block) }} </div> </div> </div> <xf:elseif is="{$blockId} == 'socialicons'" /> <div class="block-container"> <xf:include template="xtr_social_icons" /> </div> <xf:elseif is="{$blockId} == 'whatsNewLinks'" /> <xf:macro name="whatsNewLinks" /> <xf:elseif is="{$blockId} == 'ForumStatistics'" /> <xf:widget class="XF:ForumStatistics" /> <xf:elseif is="{$blockId} == 'OnlineStatistics'" /> <xf:widget class="XF:OnlineStatistics" /> <xf:elseif is="{$blockId} == 'sharePage'" /> <xf:widget key="forum_overview_share_page" /> </xf:if> </xf:macro> <xf:macro name="whatsNewLinks"> <div class="block-container"> <div class="block"> <h3 class="block-minorHeader"><i class="{{ property('xtr_extra_footer_column_icon' .$block) }}"></i><i class="fas fa-bolt"></i> {{ phrase('whats_new') }}</h3> <div class="block-body block-row"> <!--[XF:links:start]--> <div class="blockLink"><i class="fas fa-caret-right"></i> <a class="{$baseClass} {{ $pageSelected == 'new_thread' ? {$selectedClass} : '' }}" href="{{ link('whats-new/posts') }}" rel="nofollow">{{ phrase('new_posts') }}</a></div> <!--[XF:links:after_thread]--> <xf:if is="$xf.visitor.canViewProfilePosts()"> <div class="blockLink"><i class="fas fa-caret-right"></i> <a class="{$baseClass} {{ $pageSelected == 'new_profile_post' ? {$selectedClass} : '' }}" href="{{ link('whats-new/profile-posts') }}" rel="nofollow">{{ phrase('new_profile_posts') }}</a></div> </xf:if> <!--[XF:links:after_profile_post]--> <xf:if is="$xf.options.enableNewsFeed"> <xf:if is="$xf.visitor.user_id"> <div class="blockLink"><i class="fas fa-caret-right"></i> <a class="{$baseClass} {{ $pageSelected == 'news_feed' ? {$selectedClass} : '' }}" href="{{ link('whats-new/news-feed') }}" rel="nofollow">{{ phrase('your_news_feed') }}</a></div> </xf:if> <div class="blockLink"><i class="fas fa-caret-right"></i> <a class="{$baseClass} {{ $pageSelected == 'latest_activity' ? {$selectedClass} : '' }}" href="{{ link('whats-new/latest-activity') }}" rel="nofollow">{{ phrase('latest_activity') }}</a></div> </xf:if> </div> </div> </div> </xf:macro> ]]>
</template>
<template title="xtr_extra_footer.less" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ .xtr-extra-footer { .xf-xtr_extra_footer_styles(); .block { margin: 0; } .p-footer-inner { padding-bottom: 0; } .xtr-extra-footer-row { display: flex; flex-wrap: wrap; margin: calc(-@xf-xtr_extra_footer_block_spacing / 2); >.block { flex-basis: {{ property('xtr_extra_footer_block_width')}}px; padding: calc(@xf-xtr_extra_footer_block_spacing / 2); margin: 0; flex-grow: 1; min-width: 0; &:first-child { border-left-width: 0; } .block-container { margin-left: 0; margin-right: 0; background: none; box-shadow: none; border: none; .block-minorHeader { .xf-xtr_extra_footer_minor_header(); } .block-row { .xf-xtr_extra_footer_block_body(); .blockLink { padding: 5px 10px; background: none; border-bottom: @xf-borderSize dotted rgba(255, 255, 255, 0.1); } } .blockLink { a { .xf-xtr_extra_footer_block_links(); &:hover { .xf-xtr_extra_footer_block_links_hover(); } } } .block-footer { background: rgba(0,0,0,0.25); border: none; color: @xf-xtr_extra_footer_block_links--color; border-radius: @xf-borderRadiusMedium; } } } } } .p-footer.extra { background: fade(@xf-publicFooter--background-color, 15%); } // Vave Style .wave { position: relative; overflow: hidden; .divider-shape { width: 100%; svg { display: block; width: calc({{ property('xtr_footer_wave_width')}}% + 1.3px); height: {{ property('xtr_footer_wave_height')}}px; left: 0; transform: rotate3d(0,1,0,{{ property('xtr_footer_wave_transform')}}deg); } } .shape-fill.shape-fill-1 { fill: @xf-xtr_footer_wave_fill_background--background-color; } } ]]>
</template>
<template title="xtr_liveBgChooser" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ <xf:css src="xtr_liveBgChooser.less" /> <div class="bgChooser clearfix"> <ul> <xf:if is="property('xtr_live_background_picker_bg1')"> <li id="bg-1"></li> </xf:if> <xf:if is="property('xtr_live_background_picker_bg2')"> <li id="bg-2"></li> </xf:if> <xf:if is="property('xtr_live_background_picker_bg3')"> <li id="bg-3"></li> </xf:if> <xf:if is="property('xtr_live_background_picker_bg4')"> <li id="bg-4"></li> </xf:if> </ul> <div class="closeBgChooser" data-xf-init="tooltip" data-original-title="{{ phrase('close') }}"><i class="fa fa-window-close" aria-hidden="true"></i></div> </div> ]]>
</template>
<template title="xtr_liveBgChooser.less" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ // ######################################### LIVE BACKGROUND PICKER ################################# .bgPicker { display: inline-block; &:hover { opacity: 1; } } .bgChooser { display: none; position: relative; <xf:if is="property('xtr_mobileQuickTouch')"> margin-bottom: @xf-paddingMedium; </xf:if> ul { display: flex; align-items: center; justify-content: space-between; padding: 0; margin: 0; } li { flex: 1 1 auto; display: block; position: relative; background-size: cover !important; background-position: 50% 50% !important; border-radius: 3px; box-shadow: inset rgba(0,0,0,0.1) 0px 5px 10px, inset rgba(0,0,0,0.25) 0px 1px 2px; color: #fff; font-size: 1.45rem; text-shadow: rgba(0,0,0,0.3) 0px 2px 3px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; margin-bottom: 5px; height: {{ property('xtr_bgSwitcherHeight')}}px; margin: 0 5px; text-align: center; cursor: pointer; &:before { content: ''; background: rgba(0, 0, 0, 0.5); position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: inherit; transition: all 0.2s ease-in-out; opacity: 0; } &:after { display: flex; align-items: center; justify-content: center; content: "\f03e"; .m-faBase(); font-size: 24px; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: absolute; top: 0; left: 0; right: 0; bottom: 0; transform: translateY(20px); transition: all 0.2s ease-in-out; opacity: 0; } } } @media (min-width: @xf-responsiveWide) { .bgChooser { li { &:hover { &:before { opacity: 1; } &:after { transform: translateY(0); opacity: 0.8; } } } } } @media (max-width: @xf-responsiveMedium) { .bgChooser { li { &:before { display: none; } &:after { display: none; } } } } .closeBgChooser { position: absolute; right: -5px; top: -10px; cursor: pointer; z-index: 10; opacity: 0.3; color: #000; display: none; i { padding: 5px; background: #000; position: relative; top: 3px; color: #fff; border-radius: 3px; } &:hover { opacity: 1; } } .bgChooser { ul { li#bg-1 { background: url('{{ property('xtr_switcherBackgroundImage1') }}') no-repeat; } li#bg-2 { background: url('{{ property('xtr_switcherBackgroundImage2') }}') no-repeat; } li#bg-3 { background: url('{{ property('xtr_switcherBackgroundImage3') }}') no-repeat; } li#bg-4 { background: url('{{ property('xtr_switcherBackgroundImage4') }}') no-repeat; } } } <xf:if is="{{ property('xtr_message_block_enable') }} == '1' && {{ property('xtr_live_background_picker') }} == '1'"> body.bg-default .xtr-message-block, body.bg-1 .xtr-message-block, body.bg-2 .xtr-message-block, body.bg-3 .xtr-message-block, body.bg-4 .xtr-message-block { background-size: cover !important; background-position: 50% 50% !important; background-repeat: no-repeat !important; } body.bg-default { .xtr-message-block { background: url('{{ property('xtr_live_bg_picker_default_image') }}') no-repeat; } } body.bg-1 { .xtr-message-block { background-color: {{ property('xtr_switcherBackgroundColor1') }}; background-image: url('{{ property('xtr_switcherBackgroundImage1') }}'); } } body.bg-2 { .xtr-message-block { background-color: {{ property('xtr_switcherBackgroundColor2') }}; background-image: url('{{ property('xtr_switcherBackgroundImage2') }}'); } } body.bg-3 { .xtr-message-block { background-color: {{ property('xtr_switcherBackgroundColor3') }}; background-image: url('{{ property('xtr_switcherBackgroundImage3') }}'); } } body.bg-4 { .xtr-message-block { background-color: {{ property('xtr_switcherBackgroundColor4') }}; background-image: url('{{ property('xtr_switcherBackgroundImage4') }}'); } } </xf:if> // Mobile bg picker disable @media (max-width: @xf-responsiveNarrow) { .xtr-nav-logo .p-nav-opposite .p-navgroup-link.bgPicker, .xtr-nav-logo .p-nav-opposite .p-navgroup-link--language { display: none; } } ]]>
</template>
<template title="xtr_message_block" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ <xf:css src="xtr_message_block.less" /> <div class="xtr-message-block"> <div class="xtr-overlay"></div> <div class="message-body-inner"> <xf:if is="$xf.visitor.user_id"> <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><xf:if is="$sidebar"><xf:if is="property('xtr_collapsibleSidebar') && !property('xtr_sidebarDisable') && $sidebar"><span id="collapse-side" class="button collapseTrigger collapseTrigger--block {{ !is_toggled('_sidebarCollapse') ? ' is-active' : '' }}" data-xf-click="toggle" data-xf-init="toggle-storage" data-storage-type="cookie" data-target=".p-body-main--withSidebar" data-storage-key="_sidebarCollapse"></span></xf:if></xf:if></div> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:else /> <div class="xtr-message-block-text"> <h1>{{ property('xtr_guestMessageBlockHeader') }} {$xf.options.boardTitle}</h1> <h5>{{ property('xtr_guestMessageBlockContent') }}</h5> <div class="message-guest-button button-group-option" data-grouptype="OR"> <xf:button href="{{ link('login') }}" icon="user" data-xf-click="overlay" data-follow-redirects="on">{{ phrase('log_in') }}</xf:button> <xf:if is="$xf.options.registrationSetup.enabled"> <xf:button href="{{ link('register') }}" class="button--cta" icon="add" data-xf-click="overlay" data-follow-redirects="on">{{ phrase('register') }}</xf:button> </xf:if> </div> </div> </xf:if> </div> <xf:if is="property('xtr_message_wave')"> <div class="message-wave"> <div class="divider-shape"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" preserveAspectRatio="none" class="shape-waves"> <path class="shape-fill shape-fill-1" d="M790.5,93.1c-59.3-5.3-116.8-18-192.6-50c-29.6-12.7-76.9-31-100.5-35.9c-23.6-4.9-52.6-7.8-75.5-5.3c-10.2,1.1-22.6,1.4-50.1,7.4c-27.2,6.3-58.2,16.6-79.4,24.7c-41.3,15.9-94.9,21.9-134,22.6C72,58.2,0,25.8,0,25.8V100h1000V65.3c0,0-51.5,19.4-106.2,25.7C839.5,97,814.1,95.2,790.5,93.1z"></path> </svg> </div> </div> </xf:if> <xf:if is="{{ property('xtr_message_block_bubble_animation') }}"> <div class="bubble-animate"> <div class="circle small square1"></div> <div class="circle small square2"></div> <div class="circle small square3"></div> <div class="circle small square4"></div> <div class="circle small square5"></div> <div class="circle medium square1"></div> <div class="circle medium square2"></div> <div class="circle medium square3"></div> <div class="circle medium square4"></div> <div class="circle medium square5"></div> <div class="circle large square1"></div> <div class="circle large square2"></div> <div class="circle large square3"></div> <div class="circle large square4"></div> </div> </xf:if> </div> ]]>
</template>
<template title="xtr_message_block.less" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ /* ---------------- XENTR.NET STYLES ---------------- */ /* Message Block Message Wave Bubble Animations */ // Message Block .xtr-message-block { .xf-xtr_message_block(); position: relative; height: 100%; margin-top: -(@header-navHeight + 1); padding: {{ property('xtr_message_block_height')}}px 0; text-align: center; overflow: hidden; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; .xtr-overlay { <xf:if is="{{ property('xtr_logo_position') }} == 'insidenav' && {{ property('xtr_message_block_enable') }} == '1' && {{ property('xtr_gradient_bg_animations') }} == '1'"> height: 100%; width: 100%; position: absolute; opacity: {{ property('xtr_overlay_gradient_opacity')}}; <xf:else /> position: static; overflow: hidden; &:after { top: 0; left: 0; width: 100%; height: 100%; position: absolute; overflow: hidden; content: ''; .xf-xtr_message_overlay(); opacity: {{ property('xtr_overlay_gradient_opacity')}}; } </xf:if> } .message-body-inner { position: relative; display: flex; flex-direction: column; z-index: 1; width: 100%; .xf-xtr_message_body_inner(); } .p-body-header { margin: 0; position: relative; <xf:if is="!property('xtr_message_wave')"> top: @xf-paddingLargest; </xf:if> .p-description { color: inherit; display: flex; margin: 0; position: absolute; } @media (max-width: {{ property('responsiveWide') + 1 }}px ) { .p-title { display: block; } .p-title-value { font-size: @xf-fontSizeLarger; } .p-description { display: none; } } } .xtr-message-block-text { .xf-xtr_message_block_text(); z-index: 2; h1 { margin: 5px 0; } h5 { font-size: 15px; font-weight: normal; } } } @media (max-width: {{ property('responsiveWide') + 1 }}px ) { .xtr-message-block { margin-top: -(@header-navHeight + @xf-publicNavPaddingV - @xf-publicSubNavPaddingV - 1 ); } } // Message Buttons .button-group-option { position: relative; -webkit-align-items: center; -ms-flex-align: center; align-items: center; overflow: hidden; display: inline-block; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; .button { margin: 3px; padding: 8px 30px; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; -webkit-flex: 1 1 0px; -ms-flex: 1 1 0px; flex: 1 1 0px; font-size: 15px; &:last-child { margin-right: 0; } } } // Message Wave Style .message-wave { position: absolute; overflow: hidden; width: 100%; bottom: 0; z-index: 1; .divider-shape { width: 100%; svg { display: block; width: calc({{ property('xtr_message_wave_width')}}% + 1.3px); height: {{ property('xtr_message_wave_height')}}px; left: 0; transform: rotate3d(0,1,0,{{ property('xtr_message_wave_transform')}}deg); } } .shape-fill.shape-fill-1 { fill: @xf-xtr_wave_fill_background--background-color; } } // Bubble Animations .bubble-animate { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; overflow: hidden; z-index: 0; .circle { .xf-xtr_message_block_bubble_animate(); bottom: 0; position: absolute; &.small { width: 20px; height: 20px; opacity: 0.7; &.square1 { left: 18%; top: 100%; animation-name: smallBubble; animation-duration: 3s; animation-iteration-count: infinite; animation-delay: 1s; animation-timing-function: ease-in; } &.square2 { left: 36%; top: 100%; animation-name: smallBubble; animation-duration: 4s; animation-iteration-count: infinite; animation-delay: 2s; animation-timing-function: ease-in; } &.square3 { left: 54%; top: 100%; animation-name: smallBubble; animation-duration: 5s; animation-iteration-count: infinite; animation-delay: 1s; animation-timing-function: ease-in; } &.square4 { left: 72%; top: 100%; animation-name: smallBubble; animation-duration: 6s; animation-iteration-count: infinite; animation-delay: 4s; animation-timing-function: ease-in; } &.square5 { left: 90%; top: 100%; animation-name: smallBubble; animation-duration: 7s; animation-delay: 5s; animation-timing-function: ease-in; } } &.medium { width: 40px; height: 40px; opacity: 0.35; &.square1 { left: 21%; top: 100%; animation-name: mediumBubble; animation-duration: 5s; animation-iteration-count: infinite; animation-delay: 2s; animation-timing-function: ease-in; } &.square2 { left: 42%; top: 100%; animation-name: mediumBubble; animation-duration: 8s; animation-iteration-count: infinite; animation-delay: 6s; animation-timing-function: ease-in; } &.square3 { left: 63%; top: 100%; animation-name: mediumBubble; animation-duration: 12s; animation-iteration-count: infinite; animation-delay: 12s; animation-timing-function: ease-in; } &.square4 { left: 84%; top: 100%; animation-name: mediumBubble; animation-duration: 4s; animation-iteration-count: infinite; animation-delay: 12s; animation-timing-function: ease-in; } &.square5 { left: 105%; top: 100%; animation-name: mediumBubble; animation-duration: 18s; animation-iteration-count: infinite; animation-delay: 6s; animation-timing-function: ease-in; } } &.large { width: 100px; height: 100px; opacity: 0.15; &.square1 { left: 21%; top: 100%; animation-name: bigBubble; animation-duration: 6s; animation-iteration-count: infinite; animation-delay: 6s; animation-timing-function: ease-in; } &.square2 { left: 42%; top: 100%; animation-name: bigBubble; animation-duration: 6s; animation-iteration-count: infinite; animation-delay: 3s; animation-timing-function: ease-in; } &.square3 { left: 63%; top: 100%; animation-name: bigBubble; animation-duration: 6s; animation-iteration-count: infinite; animation-delay: 13s; animation-timing-function: ease-in; } &.square4 { left: 84%; top: 100%; animation-name: bigBubble; animation-duration: 6s; animation-iteration-count: infinite; animation-delay: 9s; animation-timing-function: ease-in; } &.square5 { left: 105%; top: 100%; animation-name: bigBubble; animation-duration: 6s; animation-iteration-count: infinite; animation-delay: 13s; animation-timing-function: ease-in; } } } } @-webkit-keyframes smallBubble { 0% { top: 100%; margin-left: 10px; } 25% { margin-left: -10px; } 50% { margin-left: 10px; } 75% { margin-left: -10px; } 100% { top: 0%; opacity: 0; margin-left: 0px; } } @keyframes smallBubble { 0% { top: 100%; margin-left: 10px; } 25% { margin-left: -10px; } 50% { margin-left: 10px; } 75% { margin-left: -10px; } 100% { top: 0%; opacity: 0; margin-left: 0px; } } @-webkit-keyframes mediumBubble { 0% { top: 100%; margin-left: 15px; } 25% { margin-left: -15px; } 50% { margin-left: 15px; } 75% { margin-left: -15px; } 100% { top: 0%; opacity: 0; margin-left: 0px; } } @keyframes mediumBubble { 0% { top: 100%; margin-left: 15px; } 25% { margin-left: -15px; } 50% { margin-left: 15px; } 75% { margin-left: -15px; } 100% { top: 0%; opacity: 0; margin-left: 0px; } } @-webkit-keyframes bigBubble { 0% { top: 100%; margin-left: 20px; } 25% { margin-left: -20px; } 50% { margin-left: 20px; } 75% { margin-left: -20px; } 100% { top: 0%; opacity: 0; margin-left: 0px; } } @keyframes bigBubble { 0% { top: 100%; margin-left: 20px; } 25% { margin-left: -20px; } 50% { margin-left: 20px; } 75% { margin-left: -20px; } 100% { top: 0%; opacity: 0; margin-left: 0px; } } ]]>
</template>
<template title="xtr_node_list_classic" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ <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_short(1)}</dd> </dl> <dl class="pairs pairs--inline"> <dt>{{ phrase('messages') }}</dt> <dd>{$extras.message_count|number_short(1)}</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> <div class="node-extra"> <xf:if is="{$extras.privateInfo}"> <span class="node-extra-placeholder">{{ phrase('private') }}</span> <xf:elseif is="{$extras.LastThread}" /> <div class="node-extra-icon"> <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)"> <xf:avatar user="{{ null }}" size="xs" /> <xf:else /> <xf:avatar user="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" size="xs" /> </xf:if> </div> <div class="node-extra-row"> <xf:if is="$extras.LastThread.isUnread()"> <a href="{{ link('threads/unread', $extras.LastThread) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a> <xf:else /> <a href="{{ link('threads/post', $extras.LastThread, {'post_id': $extras.last_post_id}) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a> </xf:if> </div> <div class="node-extra-row"> <ul class="listInline listInline--bullet"> <li><xf:date time="{$extras.last_post_date}" class="node-extra-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="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" /></li> </xf:if> </ul> </div> <xf:else /> <span class="node-extra-placeholder">{{ phrase('none') }}</span> </xf:if> </div> <xf:if is="!{$extras.privateInfo}"> <div class="node-stats"> <div class="node-threads"> <div class="node-stats-bg" data-xf-init="tooltip" title="{{ phrase('threads') }}"> {$extras.discussion_count|number_short(1)} <div class="stats-mark"></div> </div> </div> <div class="node-messages" data-xf-init="tooltip" title="{{ phrase('messages') }}"><i class="fas fa-comment-dots"></i> {$extras.message_count|number_short(1)}</div> </div> </xf:if> </div> ]]>
</template>
<template title="xtr_node_list_classic_image" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ <div class="node-body"> <xf:if is="{{ property('xtr_node_stats_hover') }}"> <div class="forum-node-icon"> <span class="node-icon" aria-hidden="true"><i></i></span> <div class="forum_stats"> <span class="node-icon-count">{$extras.discussion_count|number_short(1)}</span> <span class="node-icon-phrase">{{ phrase('threads') }}</span> </div> </div> <xf:else /> <span class="node-icon" aria-hidden="true"><i></i></span> </xf:if> <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_short(1)}</dd> </dl> <dl class="pairs pairs--inline"> <dt>{{ phrase('messages') }}</dt> <dd>{$extras.message_count|number_short(1)}</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_short(1)}</dd> </dl> <dl class="pairs pairs--rows"> <dt>{{ phrase('messages') }}</dt> <dd>{$extras.message_count|number_short(1)}</dd> </dl> </div> </xf:if> <div class="node_rss"> <a href="{{ link('forums/index.rss', $node) }}" target="_blank" class="node-rssLink" title="{{ phrase('rss')|for_attr }}"><span aria-hidden="true"><xf:fa icon="fa-rss" /><span class="u-srOnly">{{ phrase('rss') }}</span></span></a> </div> <div class="node_more"> <xf:button class="menuTrigger" data-xf-click="menu" aria-expanded="false" aria-haspopup="true"></xf:button> <div class="menu" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <h3 class="menu-header">{{ phrase('quick_set') }}</h3> <xf:if is="$xf.visitor.user_id"> <a href="{{ link('forums/post-thread', $node) }}" class="menu-linkRow"><i class="fal fa-plus"></i> {{ phrase('post_thread...') }}</a> </xf:if> <a href="{{ link('threads/latest', $extras.LastThread) }}" class="menu-linkRow"><i class="fad fa-comments-alt"></i> {{ phrase('last_activity') }}</a> </div> </div> </div> <div class="node-extra"> <xf:if is="{$extras.privateInfo}"> <span class="node-extra-placeholder">{{ phrase('private') }}</span> <xf:elseif is="{$extras.LastThread}" /> <div class="node-extra-icon"> <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)"> <xf:avatar user="{{ null }}" size="xs" /> <xf:else /> <xf:avatar user="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" size="xs" /> </xf:if> </div> <div class="node-extra-row"> <xf:if is="$extras.LastThread.isUnread()"> <a href="{{ link('threads/unread', $extras.LastThread) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a> <xf:else /> <a href="{{ link('threads/post', $extras.LastThread, {'post_id': $extras.last_post_id}) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a> </xf:if> </div> <div class="node-extra-row"> <ul class="listInline listInline--bullet"> <li><xf:date time="{$extras.last_post_date}" class="node-extra-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="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" /></li> </xf:if> </ul> </div> <xf:else /> <span class="node-extra-placeholder">{{ phrase('none') }}</span> </xf:if> </div> </div> ]]>
</template>
<template title="xtr_node_list_dual" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ <div class="node-body"> <xf:if is="{{ property('xtr_node_stats_hover') }}"> <div class="forum-node-icon"> <span class="node-icon" aria-hidden="true"><i></i></span> <div class="forum_stats"> <span class="node-icon-count">{$extras.discussion_count|number_short(1)}</span> <span class="node-icon-phrase">{{ phrase('threads') }}</span> </div> </div> <xf:else /> <span class="node-icon" aria-hidden="true"><i></i></span> </xf:if> <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_short(1)}</dd> </dl> <dl class="pairs pairs--inline"> <dt>{{ phrase('messages') }}</dt> <dd>{$extras.message_count|number_short(1)}</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_short(1)}</dd> </dl> <dl class="pairs pairs--rows"> <dt>{{ phrase('messages') }}</dt> <dd>{$extras.message_count|number_short(1)}</dd> </dl> </div> </xf:if> <div class="node_rss"> <a href="{{ link('forums/index.rss', $node) }}" target="_blank" class="node-rssLink" title="{{ phrase('rss')|for_attr }}"><span aria-hidden="true"><xf:fa icon="fa-rss" /><span class="u-srOnly">{{ phrase('rss') }}</span></span></a> </div> <div class="node_more"> <xf:button class="menuTrigger" data-xf-click="menu" aria-expanded="false" aria-haspopup="true"></xf:button> <div class="menu" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <h3 class="menu-header">{{ phrase('quick_set') }}</h3> <xf:if is="$xf.visitor.user_id"> <a href="{{ link('forums/post-thread', $node) }}" class="menu-linkRow"><i class="fal fa-plus"></i> {{ phrase('post_thread...') }}</a> </xf:if> <a href="{{ link('threads/latest', $extras.LastThread) }}" class="menu-linkRow"><i class="fad fa-comments-alt"></i> {{ phrase('last_activity') }}</a> </div> </div> </div> </div> <div class="node-extra"> <xf:if is="{$extras.privateInfo}"> <span class="node-extra-placeholder">{{ phrase('private') }}</span> <xf:elseif is="{$extras.LastThread}" /> <div class="node-extra-icon"> <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)"> <xf:avatar user="{{ null }}" size="xs" /> <xf:else /> <xf:avatar user="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" size="xs" /> </xf:if> </div> <div class="node-extra-row"> <xf:if is="$extras.LastThread.isUnread()"> <a href="{{ link('threads/unread', $extras.LastThread) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a> <xf:else /> <a href="{{ link('threads/post', $extras.LastThread, {'post_id': $extras.last_post_id}) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a> </xf:if> </div> <div class="node-extra-row"> <ul class="listInline listInline--bullet"> <li><xf:date time="{$extras.last_post_date}" class="node-extra-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="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" /></li> </xf:if> </ul> </div> <xf:else /> <span class="node-extra-placeholder">{{ phrase('none') }}</span> </xf:if> </div> ]]>
</template>
<template title="xtr_nodes.less" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ /* ---------------- XENTR.NET STYLES ---------------- */ /* Prefix filter bar Forum Node Layout Classic Node Stats Node Stats Hover Node layout dual column Sub-Forums Forum Node Icons Collapse Category Category Description */ // ######################################### PREFIX FILTER BAR ################################# // Prefix filter bar #XF .prefix-block-container { background: @xf-contentBg; border-radius: @xf-borderRadiusMedium; border: @xf-borderSize solid @xf-borderColorLight; padding: @xf-paddingSmall; margin-bottom: @xf-paddingSmall; } // Conversation button .xm-icon { margin-left: 5px; } // ######################################### FORUM NODE LAYOUTS ################################# // Forum Node Layout Classic <xf:if is="(property('xmNodeLayout') == 'classic')"> .block--category { border-width: 0px; border-style: solid; margin-bottom: 0; .block-container { border-width: 0; background-color: transparent; box-shadow: none; // Block header .block-header { margin-bottom: @xf-paddingLarge; border-radius: @xf-borderRadiusMedium; -webkit-box-shadow: 0 1px 20px 0 rgba(0,0,0,0.06); box-shadow: 0 1px 20px 0 rgba(0,0,0,0.06); } .node { &:first-child { margin-top: 0; } .xf-xmNodeLayout_classic_node(); <xf:if is="property('xtr_nodes_hover_effect')"> // Hover transform -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; -ms-transition: all .3s ease-in-out; // Hover transform &:hover { z-index: 10; -webkit-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.02); box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.02); -webkit-transform: scale(01); -moz-transform: scale(1.01); -o-transform: scale(1.01); transform: scale(1.01); } </xf:if> .node-extra { border-right: @xf-borderSize solid @xf-borderColorHeavy; } } } } // Node Stats .node-body { .node-icon { width: 60px; padding: 0; border-right: @xf-borderSize solid @xf-borderColorHeavy; } .node-main { border-right: @xf-borderSize solid @xf-borderColorHeavy; } .node-stats { padding: 0; } .node-threads { border-bottom: @xf-borderSize solid @xf-borderColorHeavy; padding: @xf-paddingMedium 0 (@xf-paddingLarge - 3) 0; text-align: center; .node-stats-bg { position: relative; display: inline-block; .xf-xtr_node_layout_classic_stats(); // Stats mark .stats-mark { width: 11px; height: 11px; background-color: @xf-xtr_node_layout_classic_stats--background-color; position: absolute; bottom: 0; left: 40%; margin-bottom: -5px; transform: rotate(45deg); -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); } } } .node-messages { color: @xf-xtr_node_layout_classic_stats--color; text-align: center; line-height: 32px; } } </xf:if> // ######################################### NODE LAYOUT CLASSIC IMAGE & DUAL ################################# <xf:if is="{{ property('xmNodeLayout') }} == 'classicImage' || {{ property('xmNodeLayout') }} == 'dual'"> @_nodeList-statsCellBreakpoint: 1000px; @_nodeListPaddingV: @xf-paddingLargest; @_nodeListPaddingH: @xf-paddingLargest; // Block category .block.block--category { border-radius: 5px; // Block container .block-container { // background: @xf-contentAltBg; border: none; } } // Block box wrapper .block { .block-box.wrapper { max-height: (@xf-paddingLarge * 18); min-height: (@xf-paddingLarge * 13); max-width: 100%; border-top-left-radius: 4px; border-top-right-radius: 4px; <xf:if is="property('xtr_block_header_image_enable')"> background-image: url({{ base_url('@xf-xtr_filesPath/exclusive_dark/images/category-header/cat-bg.jpg') }}); background-size: cover; background-position: 50% 50%; color: #FFF; <xf:else /> .xf-blockHeader(); border-bottom: none; </xf:if> // Block header .block-header { a { color: inherit; text-decoration: none; } // Block header description .block-desc { color: inherit; } } } // Block body wrapper .block-body.wrapper { position: relative; z-index: 1; border-radius: @xf-borderRadiusLarge; margin: -(@xf-paddingLarge * 7 - 5px) auto 0 auto; <xf:if is="{{ property('xmNodeLayout') }} == 'dual'"> width: 100%; <xf:else /> width: ~"calc(100% - 15px)"; </xf:if> display: flex; flex-flow: row wrap; justify-content: space-between; } // Block body node .block-body { .node { background: @xf-contentBg; float: left; <xf:if is="{{ property('xmNodeLayout') }} == 'dual'"> width: ~"calc(50% - 10px)"; <xf:else /> width: 100%; </xf:if> margin: 0 auto @xf-paddingMedium; padding: @xf-paddingMedium; border-radius: @xf-borderRadiusLarge; border: @xf-borderSize solid @xf-borderColorFaint; -webkit-box-shadow: 0 1px 20px 0 rgba(0,0,0,0.06); box-shadow: 0 1px 20px 0 rgba(0,0,0,0.06); <xf:if is="{{ property('xmNodeLayout') }} == 'dual'"> @media (max-width: @_nodeList-statsCellBreakpoint) { width: ~"calc(100% - 10px)"; } </xf:if> <xf:if is="property('xtr_nodes_hover_effect')"> // Hover transform -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; -ms-transition: all .3s ease-in-out; // Hover transform &:hover { z-index: 10; -webkit-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.02); box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.02); -webkit-transform: scale(01); -moz-transform: scale(1.01); -o-transform: scale(1.01); transform: scale(1.01); } </xf:if> .node-body { @media (min-width: {{ property('responsiveMedium') + 1 }}px ) { display: flex; align-items: center; justify-content: space-evenly; } .node-main { flex: 1; } .node-stats, .node-statsMeta { display: none; } .node_rss, .node_more { width: 38px; display: flex; align-items: center; justify-content: flex-end; } .node_rss { a { color: #333; &:hover { color: #FF9800; } } } .node_more { button { background: none; border: none; color: @xf-linkColor; transform: none; &:active { background: none; border: none; color: @xf-linkColor; transform: none; } } .menuTrigger { &:after { content: "\f142"; position: relative; transform: none; background: none; } &:hover { &:after { opacity: 1; transform: none; } } } .button { &:not(.button--splitTrigger) { &:hover { background: none; color: @xf-linkHoverColor; } } } } @media (max-width: {{ property('responsiveMedium') + 1 }}px ) { .node_rss, .node_more { display: none; } .forum-node-icon { width: 46px; } } } &:nth-child(2n+1) { clear: left; } <xf:if is="{{ property('xmNodeLayout') }} == 'dual'"> &:last-child { &:nth-child(2n+1) { width: ~"calc(100% - 10px)"; } } .node-extra { display: block; width: 100%; background-color: @xf-contentAltBg; border-radius: 4px; } </xf:if> } } } // Forum list template block header body[data-template='forum_list'] { .block { .block-box.wrapper { .block-header { border: none; background: transparent; color: inherit; } } } } // Category view template body[data-template='category_view'] { .block { .block-container { border: none; background: transparent; } .block-body.wrapper { margin: 0 auto; width: 100%; } } } // Forum view template body[data-template='forum_view'] { .block { .block-container { border: none; background: transparent; } .structItemContainer { background-color: @xf-contentBg; } } } // Node layout dual column forum view fix <xf:if is="{{ property('xmNodeLayout') }} == 'dual'"> body[data-template='forum_view'] { .block { .block-body { .node { margin: 5px; } } } } </xf:if> // Node Stats Hover <xf:if is="{{ property('xtr_node_stats_hover') }}"> .block { .block-body { .forum-node-icon { display: table-cell; vertical-align: middle; text-align: center; position: relative; width: 56px; } .forum_stats { line-height: 18px; position: absolute; left: 50%; top: 50%; display: block; color: @xf-linkColor; opacity: 0; visibility: hidden; transform: translate(-50%, -50%) scale(0); .node-icon-count { display: block; font-weight: bold; } .node-icon-phrase { display: block; font-size: 13px; } } .node-body { &:hover { .forum_stats { opacity: 1; visibility: visible; z-index: 1; transform: translate(-50%, -50%) scale(1); transition: all .5s; } .node-icon { i { opacity: 0; visibility: hidden; } } } } .node.node--link { .node-body { &:hover { .node-icon { i { opacity: 1; visibility: visible; } } } } } .node.node--page { .node-body { &:hover { .node-icon { i { opacity: 1; visibility: visible; } } } } } } } </xf:if> </xf:if> // ######################################### SUB FORUMS ################################# // Sub-Forums <xf:if is="{{ property('xmNodeLayout') }} == 'classic' || (property('xmNodeLayout') == 'classicImage') || (property('xmNodeLayout') == 'dual')"> .node-subNodeFlatList { >li { float: left; width: 50%; margin-right: 0 !important; padding: (@xf-paddingSmall - 2); overflow: hidden; text-overflow: ellipsis; vertical-align: middle; white-space: nowrap; } } </xf:if> // ######################################### FORUM NODE ICONS ################################# <xf:if is="{{ property('xtr_nodeIcons') }}"> /* Read Icon */ #XF .node--forum { .node-icon { i { &:before { content: "\@xf-nodeIconRead"; } } } } /* Unread Icon */ #XF .node--forum.node--unread { .node-icon { i { &:before { content: "\@xf-nodeIconUnread"; } } } } /* Link Icon */ #XF .node--link { .node-icon { i { &:before { content: "\@xf-nodeLinkIcon"; } } } } /* Page Icon */ #XF .node--page { .node-icon { i { &:before { content: "\@xf-nodePageIcon"; } } } } </xf:if> // ######################################### COLLAPSE CATEGORY ################################# // Collapse Category .block--category { .block-header { position: relative; } .collapseTrigger { position: absolute; top: 50%; right: 18px; font-size: 28px; color: inherit; cursor: pointer; transform: translateY(-50%); &:before { content: {{ property('xtr_categoryCollapsibleOnIcon') }}; width: 100%; font-size: 80%; margin: 0; } &.is-active:before { content: {{ property('xtr_categoryCollapsibleOffIcon') }}; } } } // Category Description <xf:if is="property('xtr_category_description_hover')"> // Block header description hover .block-header { .block-desc { display: inline-block; opacity: 0; margin-left: 4px; .m-transition(all, 0.3s); } } .block--category { .block-container { &:hover { .block-desc { opacity: 1; } } } } </xf:if> ]]>
</template>
<template title="xtr_quick_touch" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ <xf:css src="xtr_quick_touch.less" /> <div id="quick-touch-page-content" class="quick-touch-section"> <div class="p-quick-touch-inner container"> <xf:if is="{{ property('xtr_quickTouchOneColumns') }}"> <div class="quick-touch-block ask"> <div class="quick-touch-body"> <div class="quick-touch-content"> <div class="quick-touch-icon-box-style"> <div class="quick-touch_icon blue"> <span class="quick-touch_crown"> <span class="quick-touch_crown"><i class="{{ property('xtr_quickTouchOneColumnsIcon') }}"></i></span> </span> </div> <div class="icon-box-body"> <h4>{{ property('xtr_quickTouchOneColumnsTitle') }}</h4> <p>{{ property('xtr_quickTouchOneColumnsContent') }}</p> </div> <div class="icon-box-links"> <xf:if is="$xf.visitor.user_id"> <xf:if is="!{{ property('xtr_quickTouchFirstColumnsURL') }}"> <xf:if is="$xf.visitor.canCreateThread()"> <xf:button href="{{ link('forums/create-thread') }}" class="button--blue button" icon="write" overlay="true" data-xf-init="tooltip" title="{{ phrase('post_thread...')|for_attr }}"></xf:button> </xf:if> <xf:else /> <xf:button href="{{ property('xtr_quickTouchFirstColumnsURL') }}" class="button--blue" icon="write" data-xf-init="tooltip" title="{{ property('xtr_quickTouchFirstColumnsButtonName') }}" target="{{ property('xtr_quickTouchSecondColumnsButtonOpen') }}"> </xf:button> </xf:if> <xf:else /> <xf:if is="$xf.options.registrationSetup.enabled"> <xf:button href="{{ link('register') }}" class="button--register button" icon="write" overlay="true" data-xf-click="overlay" data-follow-redirects="on" data-xf-init="tooltip" title="{{ phrase('register')|for_attr }}"> </xf:button> </xf:if> </xf:if> </div> </div> </div> </div> </div> </xf:if> <xf:if is="{{ property('xtr_quickTouchSecondColumns') }}"> <div class="quick-touch-block answer"> <div class="quick-touch-body"> <div class="quick-touch-content"> <div class="quick-touch-icon-box-style"> <div class="quick-touch_icon green"> <span class="quick-touch_crown"><i class="{{ property('xtr_quickTouchSecondColumnsIcon') }}"></i></span> </div> <div class="icon-box-body"> <h4>{{ property('xtr_quickTouchSecondColumnsTitle') }}</h4> <p>{{ property('xtr_quickTouchSecondColumnsContent') }}</p> </div> <div class="icon-box-links"> <xf:if is="!{{ property('xtr_quickTouchSecondColumnsURL') }}"> <xf:button href="{{ link('whats-new/posts') }}" class="button--green button" icon="bolt" data-xf-init="tooltip" title="{{ phrase('new_posts')|for_attr }}"></xf:button> <xf:else /> <xf:button href="{{ property('xtr_quickTouchSecondColumnsURL') }}" class="button--green button" icon="write" data-xf-init="tooltip" title="{{ property('xtr_quickTouchSecondColumnsButtonName') }}" target="{{ property('xtr_quickTouchSecondColumnsButtonOpen') }}"> </xf:button> </xf:if> </div> </div> </div> </div> </div> </xf:if> <xf:if is="{{ property('xtr_quickTouchThirdColumns') }}"> <div class="quick-touch-block expert"> <div class="quick-touch-body"> <div class="quick-touch-content"> <div class="quick-touch-icon-box-style"> <div class="quick-touch_icon red"> <span class="quick-touch_crown"><i class="{{ property('xtr_quickTouchThirdColumnsIcon') }}"></i></span> </div> <div class="icon-box-body"> <h4>{{ property('xtr_quickTouchThirdColumnsTitle') }}</h4> <p>{{ property('xtr_quickTouchThirdColumnsContent') }}</p> </div> <div class="icon-box-links"> <xf:if is="!{{ property('xtr_quickTouchThirdColumnsURL') }}"> <xf:if is="$xf.visitor.canUseContactForm()"> <xf:if is="$xf.contactUrl"> <xf:button href="{$xf.contactUrl}" data-xf-click="{{ ($xf.options.contactUrl.overlay OR $xf.options.contactUrl.type == 'default') ? 'overlay' : '' }}" class="button--red button" icon="reply" data-xf-init="tooltip" title="{{ phrase('contact_us')|for_attr }}"> </xf:button> </xf:if> </xf:if> <xf:else /> <xf:button href="{{ property('xtr_quickTouchThirdColumnsURL') }}" class="button--red button" icon="write" data-xf-init="tooltip" title="{{ property('xtr_quickTouchThirdColumnsButtonName') }}" target="{{ property('xtr_quickTouchThirdColumnsButtonOpen') }}"> </xf:button> </xf:if> </div> </div> </div> </div> </div> </xf:if> </div> </div> ]]>
</template>
<template title="xtr_quick_touch.less" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ @_quick-touchList-tabletCellBreakpoint: @xf-responsiveWide; @_quick-touchList-mobileCellBreakpoint: @xf-responsiveMedium; #quick-touch-page-content { display: flex; flex-flow: row wrap; border: 0; margin: -5px; background: none; padding-bottom: ((@xf-elementSpacer) / 2); .p-quick-touch-inner { display: flex; width: 100%; } .quick-touch-block { .xf-xtr_quick_touchBlock(); margin: ((@xf-paddingMedium) - 3); flex: 1; flex-direction: column; box-shadow: 0 4px 25px 0 rgba(0,0,0,0.1); border-radius: @xf-borderRadiusLarge; .quick-touch-body { .xf-xtr_quick_touchBlockBody(); width: 100%; } } .quick-touch-content { padding: 0; } .quick-touch-icon-box-style { position: relative; } } @media (max-width: @_quick-touchList-tabletCellBreakpoint) { #quick-touch-page-content .p-quick-touch-inner { display: block; } } .quick-touch-block { .quick-touch-icon-box-style { .quick-touch_icon { padding: 35px; border-radius: 3px; position: relative; -webkit-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease; float: left; span { .xf-xtr_quick_touch_block_icon_style(); position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } } .icon-box-body { float: left; width: 100%; text-align: left; } } } .quick-touch-block .quick-touch-icon-box-style .quick-touch_icon + .icon-box-body { width: ~"calc(100% - 100px)"; padding-left: @xf-paddingLarge; } .quick-touch-block .quick-touch-icon-box-style .icon-box-body h4 { margin: 0; -webkit-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease; color: inherit; .xf-xtr_quick_touchBlockTitle(); } .quick-touch-block .quick-touch-icon-box-style .quick-touch_icon.blue { .xf-xtr_quick_touch_block_first_button_color(); } .quick-touch-block .quick-touch-icon-box-style .quick-touch_icon.blue + .icon-box-body h4 { color: @xf-xtr_quick_touch_block_first_button_color--background-color; } .quick-touch-block .quick-touch-icon-box-style .quick-touch_icon.green { .xf-xtr_quick_touch_block_second_button_color(); } .quick-touch-block .quick-touch-icon-box-style .icon-box-links .button--green { .xf-xtr_quick_touch_block_second_button_color(); } .quick-touch-block .quick-touch-icon-box-style .quick-touch_icon.green + .icon-box-body h4 { color: @xf-xtr_quick_touch_block_second_button_color--background-color; } .quick-touch-block .quick-touch-icon-box-style .quick-touch_icon.red { .xf-xtr_quick_touch_block_third_button_color(); } .quick-touch-block .quick-touch-icon-box-style .icon-box-links .button--red { .xf-xtr_quick_touch_block_third_button_color(); } .quick-touch-block .quick-touch-icon-box-style .quick-touch_icon.red + .icon-box-body h4 { color: @xf-xtr_quick_touch_block_third_button_color--background-color; } .quick-touch-block .quick-touch-icon-box-style + .quick-touch-icon-box-style { margin-top: 30px; } .quick-touch-block .quick-touch-icon-box-style .icon-box-body p { .xf-xtr_quick_touch_block_content(); } .quick-touch-block .quick-touch-icon-box-style:after { content: ""; display: table; clear: both; } // quick-touch content button icons #quick-touch-page-content { .quick-touch-icon-box-style { .icon-box-links { .button { position: absolute; right: 0; color: #000; top: 0; padding: 0; border: none; width: 30px; height: 30px; background: none; &:hover { &:after { opacity: 1; } } .button-text { display: none; } &::after { .m-faBase(); font-size: @xf-fontSizeLarge !important; color: inherit; position: relative; transform: none; content: '\f304'; border: none; background: none; } } .button--blue { &:after { content: '\f044'; color: @xf-xtr_quick_touch_block_first_button_color--background-color; font-size: 22px !important; } } .button--register { &:after { content: '\f084'; color: @xf-xtr_quick_touch_block_first_button_color--background-color; font-size: 22px !important; } } .button--green { &:after { content: '\f0e7'; color: @xf-xtr_quick_touch_block_second_button_color--background-color; font-size: 22px !important; } } .button--red { &:after { content: '\f0e0'; color: @xf-xtr_quick_touch_block_third_button_color--background-color; font-size: 22px !important; } } } } } // quick-touch content mobile device <xf:if is="property('xtr_mobileQuickTouch')"> @media (max-width: {{ property('xtr_quickTouchMobileWidth') - 1 }}px ) { #quick-touch-page-content { display: none; } } </xf:if> ]]>
</template>
<template title="xtr_social_icons" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ <xf:if contentcheck="true"> <xf:css src="share_controls.less" /> <xf:if is="$socialtitle is not empty"> <div class="p-socialDescription">{$socialtitle}</div> </xf:if> <xf:if is="{{ property('xtr_enable_extra_footer') }}"> <div class="block"> <h3 class="block-minorHeader"><i class="{{ property('xtr_extra_footer_column_icon' .$block) }}"></i> {{ property('xtr_extra_footer_block_social_title') }}</h3> </div> </xf:if> <div class="shareButtons shareButtons--iconic"> <xf:contentcheck> <xf:if is="property('xtr_facebook')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--facebook" href="{{ property('xtr_facebook') }}" target="_blank"> <i aria-hidden="true"></i> <span>{{ phrase('facebook') }}</span> </a> </xf:if> <xf:if is="property('xtr_twitter')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--twitter" href="{{ property('xtr_twitter') }}" target="_blank"> <i aria-hidden="true"></i> <span>{{ phrase('twitter') }}</span> </a> </xf:if> <xf:if is="property('xtr_youtube')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--youtube" href="{{ property('xtr_youtube') }}" target="_blank"> <i aria-hidden="true"></i> <span>{{ phrase('youtube') }}</span> </a> </xf:if> <xf:if is="property('xtr_discord')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--discord" href="{{ property('xtr_discord') }}" target="_blank"> <i aria-hidden="true"></i> <span>Discord</span> </a> </xf:if> <xf:if is="property('xtr_steam')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--steam" href="{{ property('xtr_steam') }}" target="_blank"> <i aria-hidden="true"></i> <span>Steam</span> </a> </xf:if> <xf:if is="property('xtr_twitch')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--twitch" href="{{ property('xtr_twitch') }}" target="_blank"> <i aria-hidden="true"></i> <span>Twitch</span> </a> </xf:if> <xf:if is="property('xtr_instagram')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--instagram" href="{{ property('xtr_instagram') }}" target="_blank"> <i aria-hidden="true"></i> <span>Instagram</span> </a> </xf:if> <xf:if is="property('xtr_reddit')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--reddit" href="{{ property('xtr_reddit') }}" target="_blank"> <i aria-hidden="true"></i> <span>{{ phrase('reddit') }}</span> </a> </xf:if> <xf:if is="property('xtr_linkedIn')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--linkedin" href="{{ property('xtr_linkedIn') }}" target="_blank"> <i aria-hidden="true"></i> <span>LinkedIn</span> </a> </xf:if> <xf:if is="property('xtr_vimeo')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--vimeo" href="{{ property('xtr_vimeo') }}" target="_blank"> <i aria-hidden="true"></i> <span>Vimeo</span> </a> </xf:if> <xf:if is="property('xtr_pinterest')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--pinterest" href="{{ property('xtr_pinterest') }}" target="_blank"> <i></i> <span>{{ phrase('pinterest') }}</span> </a> </xf:if> <xf:if is="property('xtr_vk')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--vk" href="{{ property('xtr_vk') }}" target="_blank"> <i aria-hidden="true"></i> <span>VK</span> </a> </xf:if> <xf:if is="property('xtr_tumblr')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--tumblr" href="{{ property('xtr_tumblr') }}" target="_blank"> <i></i> <span>{{ phrase('tumblr') }}</span> </a> </xf:if> <xf:if is="property('xtr_gitHub')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--github" href="{{ property('xtr_gitHub') }}" target="_blank"> <i aria-hidden="true"></i> <span>GitHub</span> </a> </xf:if> <xf:if is="property('xtr_whatsapp')"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--whatsApp" href="{{ property('xtr_whatsapp') }}" target="_blank"> <i aria-hidden="true"></i> <span>Whatsapp</span> </a> </xf:if> <xf:if is="property('xtr_contactUs') AND $xf.visitor.canUseContactForm() AND $xf.contactUrl"> <a class="shareButtons-button shareButtons-button--email" href="{$xf.contactUrl}" data-xf-click="{{ ($xf.options.contactUrl.overlay OR $xf.options.contactUrl.type == 'default') ? 'overlay' : '' }}"> <i></i> <span>{{ phrase('contact_us') }}</span> </a> </xf:if> <xf:if is="property('xtr_rss')"> <a class="shareButtons-button shareButtons-button--rss" href="{{ link('forums/index.rss', '-') }}" target="_blank"> <i aria-hidden="true"></i> <span>{{ phrase('rss') }}</span> </a> </xf:if> </xf:contentcheck> </div> </xf:if> ]]>
</template>
<template title="xtr_theme.less" type="public" addon_id="" version_id="0" version_string="">
<![CDATA[ /* ---------------- XENTR.NET STYLES ---------------- */ /* Visitor tabs Header Logo Position Navigation Navigation and Canvas Menu Icons Navigations Hover Effect Forum Title Sidebar Messages Hide avatar reply editor Message Control Icons Message User Info Sticky Pagination */ // ######################################### VISITOR TABS ################################# // Visitor tabs staff <xf:if is="property('xtr_visitor_tabs_position') == 'staff'"> .p-staffBar-inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 0; .hScroller-scroll.is-calculated { vertical-align: middle; margin-right: auto; } .p-navgroup-link { padding: @xf-paddingLarge; font-size: @xf-fontSizeNormal; } .badgeContainer { &:after { left: @xf-paddingSmall; top: @xf-paddingSmall; } } .avatar { vertical-align: text-top; } } @media (max-width: @xf-publicNavCollapseWidth) { .p-staffBar-inner .hScroller-scroll { display: flex; justify-content: space-between; width: 100%; } } </xf:if> // Staff bar height .p-staffBar-link { padding: @xf-paddingMedium; } <xf:if is="{{ property('xtr_visitor_tabs_position') }} == 'default' || {{ property('xtr_visitor_tabs_position') }} == 'header'"> .p-staffBar-inner .hScroller-scroll { display: flex; justify-content: space-between; } </xf:if> // Visitor Tabs Default <xf:if is="property('xtr_visitor_tabs_position') != 'default'"> .p-nav .p-nav-opposite { display: none; } @media (max-width: @xf-publicNavCollapseWidth) { .p-nav-opposite { display: none; } .p-nav .p-nav-opposite { display: block; } } </xf:if> // ######################################### HEADER ################################# // LOGO POSITION <xf:if is="{{ property('xtr_logo_position') }} == 'default' || {{ property('xtr_logo_position') }} == 'belownav' || {{ property('xtr_visitor_tabs_position') }} == 'default'"> .p-header-logo { margin-left: auto; } </xf:if> <xf:if is="{{ property('xtr_logo_position') }} == 'default' || {{ property('xtr_logo_position') }} == 'belownav'"> .p-navgroup { border-radius: 0; } .p-navgroup.p-discovery { margin-left: 0; border-left: 1px solid @xf-publicHeaderAdjustColor; } .p-navgroup-link.bgPicker { display: none; } .p-nav-list .p-navEl { border-left: 1px solid rgba(255,255,255,0.1); border-right: 1px solid rgba(0,0,0,0.2); -webkit-transition: all .2s ease; transition: all .2s ease; } .p-nav-list>li:last-child { border-right: 1px solid rgba(255,255,255,0.1); } @media (max-width: @xf-publicNavCollapseWidth) { .p-nav-smallLogo { max-width: inherit; } } </xf:if> // Inside Logo Style .xtr-nav-logo { .p-nav-smallLogo { display: inline-block; vertical-align: middle; max-width: inherit; max-height: 200px; img { display: block; } } .p-nav-list { // Border radius .p-navEl.is-selected { border-radius: 0; } .p-navEl.is-menuOpen { border-radius: 0; } } } <xf:if is="{{ property('xtr_logo_position') }} == 'insidenav' && {{ property('xtr_disable_subnav') }} == '0'"> .p-sectionLinks { position: absolute; width: 100%; left: 0; right: 0; z-index: 1; top: (@header-navHeight * 2 + @xf-publicSubNavPaddingV + @xf-publicSubNavPaddingH); } </xf:if> // Transparent Header and Navigation <xf:if is="{{ property('xtr_message_block_enable') }} == '1' && {{ property('xtr_logo_position') }} == 'insidenav'"> .p-nav { position: relative; width: 100%; left: 0; right: 0; -webkit-transition: all .5s ease; transition: all .5s ease; z-index: 2; .p-navgroup { background: transparent; } .p-nav-list { .p-navEl.is-selected { background: transparent; color: inherit; } } .p-navgroup-link { border: none; } } .p-nav.xtr-nav-logo { background: transparent; border-bottom: @xf-borderSize solid rgba(255,255,255,0.1); overflow: hidden; } .p-navSticky.is-sticky { z-index: 400; box-shadow: 0 0 8px 3px rgba(0, 0, 0, 0.3); background-color: @xf-publicNav--background-color; } .p-navSticky--primary.is-sticky .p-nav-list .p-navEl.is-selected .p-navEl-splitTrigger:before { border-left: none; } .p-title .u-muted { color: inherit; font-weight: bold; } </xf:if> <xf:if is="{{ property('xtr_logo_position') }} == 'insidenav'"> // Navigation centered .p-nav-scroller { margin-left: auto; } @media (max-width: @xf-responsiveWide) { .has-js .p-nav-scroller { display: none; } .has-js .p-nav .p-nav-menuTrigger { display: inline-block; } } .p-body-decription { margin: 10px 0; } </xf:if> // Navigation menus right position <xf:if is="{{ property('xtr_logo_position') }} == 'insidenav' AND (property('xtr_visitor_tabs_position') == 'staff')"> .p-nav-scroller { margin-left: auto; margin-right: 0; } .p-nav .p-nav-opposite { display: none; } @media (max-width: @xf-responsiveWide) { .p-staffBar-inner { display: block; padding: 0; .hScroller-scroll { display: flex; justify-content: space-between; } } .p-nav-opposite { display: none; } .p-nav .p-nav-opposite { display: block; } } </xf:if> <xf:if is="{{ property('xtr_logo_position') }} == 'insidenav' AND (property('xtr_visitor_tabs_position') == 'header')"> .p-nav .p-nav-opposite { display: block; } </xf:if> // Guest Grup Login and Register Icons .p-navgroup-linkText { display: none; } .p-navgroup-link.p-navgroup-link--logIn { i { &::after { .m-faContent(@fa-var-sign-in, 1em); } } } .p-navgroup-link.p-navgroup-link--register { i { &::after { .m-faContent(@fa-var-user-plus, 1em); } } } .p-navgroup-link.link--search { i { &::after { .m-faContent(@fa-var-search, 1em); } } } @media (max-width: @xf-publicNavCollapseWidth) { .p-navgroup-user-linkText { display: none; } } // ######################################### NAVIGATION ################################# // Sub Navigations <xf:if is="property('xtr_disable_subnav')"> .p-nav-list .p-navEl.is-selected { .p-navEl-splitTrigger { display: inline; position: relative; } .p-navEl-link.p-navEl-link--splitMenu { padding-right: (@xf-paddingMedium - 1); } } </xf:if> //Navigation and Canvas Menu Icons <xf:if is="property('xtr_navigation_icons')"> a[data-nav-id="home"]:before { .m-faContent("\f015"); } a[data-nav-id="forums"]:before { .m-faContent("\f086"); } a[data-nav-id="members"]:before { .m-faContent("\f0c0"); } a[data-nav-id="xfrm"]:before { .m-faContent("\f019"); } a[data-nav-id="whatsNew"]:before { .m-faContent("\f0e7"); } a[data-nav-id="mjstSupportTicket"]:before { .m-faContent("\f3ff"); } a[data-nav-id="EWRrio"]:before { .m-faContent("\f1e8"); } a[data-nav-id="xfmg"]:before { .m-faContent("\f03d"); } a[data-nav-id="addonFlarePubAwards"]:before { .m-faContent("\f559"); } a[data-nav-id="snog_raffles_navtab"]:before { .m-faContent("\f145"); } a[data-nav-id="th_donate"]:before { .m-faContent("\f2b5"); } a[data-nav-id="EWRatendo"]:before { .m-faContent(@fa-var-calendar-alt); } a[data-nav-id="EWRcarta"]:before { .m-faContent(@fa-var-book); } a[data-nav-id="EWRdiscord"]:before { .m-faContent(@fa-var-discord); .m-faBase('Brands'); } a[data-nav-id="EWRmedio"]:before { .m-faContent(@fa-var-video-plus); } a[data-nav-id="EWRporta"]:before { .m-faContent(@fa-var-home); } a[data-nav-id="EWRrio"]:before { .m-faContent(@fa-var-play-circle); } a[data-nav-id="EWRtorneo"]:before { .m-faContent(@fa-var-trophy); } a[data-nav-id='dbtechEcommerce']:before {.m-faContent("@{fa-var-shopping-cart}");} a[data-nav-id="xa_ams"]:before { .m-faContent("\f15c"); } a[data-nav-id="xa_ubs"]:before { .m-faContent("\f303"); } a[data-nav-id="xa_showcase"]:before { .m-faContent("\f00b"); } a[data-nav-id="xa_sportsbook"]:before { .m-faContent("\f091"); } a[data-nav-id="xa_pickem"]:before { .m-faContent("\f51e"); } a[data-nav-id='xr_pm_products']:before {.m-faContent("@{fa-var-shopping-cart}");} a.p-navEl-link:before, a.offCanvasMenu-link:before { .m-faBase(); text-align: center; display: inline-block; margin-right: 5px; } </xf:if> // Navigations Hover Effect <xf:if is="property('xtr_navigation_hover_effect')"> .p-nav-list .p-navEl-link, .p-navgroup-link.p-navgroup-link--user, .has-js .p-nav .p-nav-menuTrigger, .p-navgroup-link--logIn, .p-navgroup-link--register, .p-navgroup-link.bgPicker, .p-navgroup-link--search { position: relative; overflow: hidden; } .p-nav-list .p-navEl-link:after, .p-navgroup-link.p-navgroup-link--user:after, .has-js .p-nav .p-nav-menuTrigger:after, .p-navgroup-link--logIn:after, .p-navgroup-link--register:after, .p-navgroup-link.bgPicker:after, .p-navgroup-link--search:after { content: ''; position: absolute; display: inline-block; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; transition: all 0.5s; opacity: 1; -webkit-transform: translate(-105%, 0); transform: translate(-105%, 0); border-right-width: @xf-borderSize; border-right-style: solid; border-right-color: @xf-borderColorFaint; background-color: rgba(255, 255, 255, 0.25); } .p-nav-list .p-navEl-link:hover:after, .p-navgroup-link.p-navgroup-link--user:hover:after, .has-js .p-nav .p-nav-menuTrigger:hover:after, .p-navgroup-link--logIn:hover:after, .p-navgroup-link--register:hover:after, .p-navgroup-link.bgPicker:hover:after, .p-navgroup-link--search:hover:after { opacity: 0; -webkit-transform: translate(0, 0); transform: translate(0, 0); } </xf:if> // Forum Title <xf:if is="property('xtr_forum_title')"> body[data-template="forum_list"] { .p-title-value { display: none; } .p-title-pageAction { margin-left: auto; } } </xf:if> // ################################# BODY AND CONTENT ##################### @media (min-width: @xf-responsiveWide) { .p-body-main--withSidebar{ display: flex; align-items: flex-start; .p-body-content{ flex: 1 1 auto; // IE fix display: block; width: ~"calc(100% - @xf-sidebarWidth)"; padding-right: @xf-sidebarSpacer; } .p-body-sideNav, .p-body-sidebar{ flex: 0 0 auto; width: @xf-sidebarWidth; // IE fix display: block; } } } // ################################# SIDEBAR ##################### // Sticky sidebar height @sticky-top: @xf-xtr_stickySidebarHeight; // Disable Sidebar <xf:if is="property('xtr_sidebarDisable')"> .p-body-main .p-body-sidebar { display: none; } .p-body-main.p-body-main--withSidebar .p-body-content { width: 100%; max-width: 100%; padding-right: 0; padding-left: 0; } </xf:if> // Sidebar Position <xf:if is="property('xtr_sidebarPosition') == 'left'"> @media (min-width: @xf-responsiveWide) { .p-body-main--withSidebar .p-body-content { order: 2; padding-left: @xf-sidebarSpacer; padding-right: 0 !important } .p-body-main.p-body-main--withSidebar.is-active .p-body-content, .p-body-main.p-body-main--withSideNav.is-active .p-body-content { width: 100%; max-width: 100%; padding-left: 0; } .p-body-sidebar { order: 1; } } </xf:if> // Sticky Sidebar <xf:if is="property('xtr_stickySidebar') && !property('xtr_sidebarDisable')"> @media (min-width: @xf-publicNavCollapseWidth) { .p-body-sidebar { position: -webkit-sticky; position: sticky; <xf:if is="property('publicNavSticky') === 'primary' OR property('publicNavSticky') === 'all'"> top: @sticky-top * 1px + @xf-publicNavPaddingV; <xf:else /> top: 10px; </xf:if> } } </xf:if> // Collapsible Sidebar <xf:if is="property('xtr_collapsibleSidebar') && !property('xtr_sidebarDisable')"> .p-title-pageAction { .collapseTrigger { margin-left: auto; display: inline-flex; &:before { content: "\{{ property('xtr_collapsibleOffIcon') }}"; width: 100%; margin-left: 0; } &.is-active:before { content: "\{{ property('xtr_collapsibleOnIcon') }}"; } } } @media (max-width: @xf-responsiveWide) { .p-title-pageAction .collapseTrigger { display: none; } } @media (min-width: @xf-responsiveWide) { .p-body-main.p-body-main--withSidebar.is-active .p-body-content, .p-body-main.p-body-main--withSideNav.is-active .p-body-content { width: 100%; max-width: 100%; padding-right: 0; } .p-body-main.p-body-main--withSidebar.is-active .p-body-sidebar, .p-body-main.p-body-main--withSideNav.is-active .p-body-sidebar, .p-body-main.p-body-main--withSidebar.is-active .p-body-sideNav, .p-body-main.p-body-main--withSideNav.is-active .p-body-sideNav { width: 0; height: 0; opacity: 0; overflow: hidden; } } </xf:if> // Sidebar border line .p-body-sidebar .block-row:nth-child(n) { border-top: @xf-borderSize solid @xf-borderColorHeavy; } // ######################################### MESSAGES ################################# // Block outer opposite <xf:if is="property('xtr_social_breadcrumb')"> @media (max-width: @xf-responsiveMedium) { .block-outer-opposite { float: none; margin: 0 auto; text-align: center; } } </xf:if> // Horizontal message layout <xf:if is="property('xtr_message_layout') == 'horizontal'"> .block--messages .message:not(.message--simple) { .message-inner { flex-direction: column; } .message-inner .message-cell.message-cell--user, .message-inner .message-cell.message-cell--action { border-right: none; border-bottom: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color; } .message-inner .message-cell.message-cell--user { flex: 0 0 100%; } .message-cell.message-cell--user .message-user { display: flex; align-items: center; .message-userExtras { margin-top: 0; margin-left: auto; } .message-userDetails { margin-left: 20px; } .message-avatar { margin-bottom: 0; } @media (min-width: @xf-messageSingleColumnWidth) { .message-userArrow { position: absolute; bottom: -@xf-messagePadding; left: 50px; top: initial; right: initial; .m-triangleUp(xf-default(@xf-messageUserBlock--border-color, transparent), @xf-messagePadding); &:after { position: absolute; top: 2px; right: -@xf-messagePadding + 1; content: ""; .m-triangleUp(@xf-contentBg, @xf-messagePadding - 1px); } } } } } </xf:if> // Hide avatar reply editor <xf:if is="{{ property('xtr_hide_reply_avatar') }}"> .message--quickReply { .message-cell.message-cell--user { display: none; } } </xf:if> // Message Content #XF .block--messages { .message { .message-content a { .xf-xtr_message_links(); &:hover { .xf-xtr_message_link_hover(); } } } } // Message Control Icons <xf:if is="{{ property('xtr_message_controls_icons') }}"> .actionBar-action { &:before { margin-right: 3px; } } .actionBar-action--like { &:before { content: "\f087"; } } .actionBar-action--bookmarks { &:before { content: "\f02e"; } } .actionBar-action--edit { &:before { content: "\f040"; } } .actionBar-action--report { &:before { content: "\f071"; } } .actionBar-action--warn { &:before { content: "\f12a"; } } .actionBar-action--ip { &:before { content: "\f002"; } } .actionBar-action--deleteSpam { &:before { content: "\f024"; } } .actionBar-action--history { &:before { content: "\f1da"; } } .actionBar-action--delete { &:before { content: "\f00d"; } } </xf:if> // Message User Info Sticky <xf:if is="{{ property('xtr_user_info_block_sticky') }}"> @media (min-width: {{ property('responsiveMedium') + 1 }}px ) { .message-cell.message-cell--user section .message-userArrow, .message-inner .message-userArrow { right: -(@xf-paddingLarge + 1); } .message-user { position: -webkit-sticky; position: sticky; <xf:if is="{{ property('xtr_logo_position') }} == 'insidenav'"> top: (@xf-publicNavPaddingV * 4) + (@xf-messagePadding * 2); <xf:else /> top: (@xf-publicNavPaddingV * 3) + @xf-messagePadding; </xf:if> } } </xf:if> // Separate Thread <xf:if is="{{ property('xtr_sticky_threads') }}"> .separate_thread_important { .xf-stickyThreadsStyle(); height: {{ property('xtr_sticky_threads_height')}}px; line-height: {{ property('xtr_sticky_threads_height')}}px; } </xf:if> // ######################################### PAGINATION ################################# // Pagination @xentr-pagination: true; @pagination-radius: @xf-buttonBase--border-radius; @pagination-active: @xf-paletteColor4; @pagination-minor: @xf-textColorMuted; @pagination-gap: 5px; @pagination-page: @xf-contentBg; @pagination-shadow: rgba(0,0,0,0.12) 0px 1px 1px, rgba(0,0,0,0.05) 0px 1px 2px; @pagination-shadow-active: inset rgba(0,0,0,0.2) 0px 1px 3px; @pagination-page-hover: lighten(@pagination-page, 3%); // Pagination .xentr-pagination(@debug) when (@debug = true) { .pageNav{ display: flex; > *{ flex: 0 0 auto; margin-right: @pagination-gap; } } .pageNav-main{ display: flex; } .pageNav-jump{ padding-left: 12px; padding-right: 12px; } .pageNav-page{ display: block; flex: 0 0 auto; border-radius: inherit; font-weight: bold; &:not(:last-child){ margin-right: @pagination-gap; } > a{ padding-left: 11px; padding-right: 11px; } } // Make border-radius inherit from parent .pageNavWrapper{ border-radius: @pagination-radius; } .pageNav, .pageNav-main, .pageNavSimple, .pageNav-jump, .pageNavSimple-el, #XF .pageNav-page{ border-radius: inherit; } // Style pagination buttons #XF{ .pageNav-jump, .pageNav-page, .pageNavSimple-el{ background: @pagination-page; color: contrast(@pagination-page, @xf-textColor, #fff); border-width: 0px; box-shadow: @pagination-shadow; &:hover, &:active{ background-color: @pagination-page-hover; //color: contrast(@pagination-page, rgba(0,0,0,0.8), #fff); } } // Active page .pageNav-page.pageNav-page--current, .pageNavSimple-el.pageNavSimple-el--current{ background: @pagination-active; color: contrast(@pagination-active, rgba(0,0,0,0.8), #fff); border-width: 0; box-shadow: @pagination-shadow-active; &:hover, &:active{ background-color: xf-intensify(@pagination-active, 3%); } } // First and Last buttons on mobiles .pageNavSimple-el{ padding-left: 10px; padding-right: 10px; } } // Add space around prev/next arrow .pageNavSimple-el--prev i::before, .pageNav-jump.pageNav-jump--prev::before{ margin-right: 3px; width: auto; } .pageNavSimple-el--next i::before, .pageNav-jump.pageNav-jump--next::after{ margin-left: 3px; width: auto; } } .xentr-pagination(@xentr-pagination); // Exclusive Style Fix .offCanvasMenu--nav .offCanvasMenu-content { text-transform: inherit; } // Button cta .button.button--cta, a.button.button--cta { border: none; } // Footer .p-footer { margin-bottom: 0 !important; } ]]>
</template>
</templates>
<properties>
<group group_name="XenTR_settings" title="&#8595;&#9500; XenTR &#9508; Global Settings" description="General options for the theme are listed here." display_order="10" addon_id=""/>
<group group_name="XenTR_userBar" title="&#8595;&#9500; XenTR &#9508; User/Mod Bar" description="Controls the moderator bar and/or the user bar settings and styling." display_order="11" addon_id=""/>
<group group_name="XenTR_header_navigation" title="&#8595;&#9500; XenTR &#9508; Header and Navigation" description="Generic header and navigation specific settings." display_order="12" addon_id=""/>
<group group_name="XenTR_messageBlock" title="&#8595;&#9500; XenTR &#9508;Message Block" description="Create welcome messages for guests and members of your community." display_order="13" addon_id=""/>
<group group_name="XenTR_quickTouch" title="&#8595;&#9500; XenTR &#9508;Quick Touch" description="Controls the block settings you can use for quick solution suggestions on your website." display_order="14" addon_id=""/>
<group group_name="XenTR_breadcrumb" title="&#8595;&#9500; XenTR &#9508; Breadcrumb" description="Settings related to the breadcrumb and its components." display_order="15" addon_id=""/>
<group group_name="XenTR_nodeList" title="&#8595;&#9500; XenTR &#9508; Node/Forum list" description="Controls the display and properties of the categories and other node types." display_order="16" addon_id=""/>
<group group_name="XenTR_sidebar" title="&#8595;&#9500; XenTR &#9508; Sidebar" description="Properties pertaining to the sidebar." display_order="17" addon_id=""/>
<group group_name="XenTR_discussionList" title="&#8595;&#9500; XenTR &#9508;Discussion List" description="Control on the appearance of the list of discussions within a forum." display_order="18" addon_id=""/>
<group group_name="XenTR_messages" title="&#8595;&#9500; XenTR &#9508; Messages" description="Thread list styling, post styles, and post settings." display_order="19" addon_id=""/>
<group group_name="XenTR_footer" title="&#8595;&#9500; XenTR &#9508; Extra Footer" description="Advanced footer options." display_order="20" addon_id=""/>
<group group_name="XenTR_social" title="&#8595;&#9500; XenTR &#9508; XENTR Social" description="Social share buttons settings are available in this section." display_order="21" addon_id=""/>
<property property_name="avatarBorderRadius" group_name="avatar" title="Avatar border radius" description="Controls the size of the rounded corners on avatars - a sufficiently large value will make avatars circular" property_type="value" value_type="unit" depends_on="" value_group="" display_order="200" addon_id="XF">
<value>"@xf-borderRadiusMedium"</value>
</property>
<property property_name="blockFilterBar" group_name="block" title="Block filter bar" description="When the content of a block can be filtered, the controls to do so are styled here" property_type="css" value_type="" depends_on="" value_group="" display_order="20800" css_components="text,background,border,extra" addon_id="XF">
<value>{ "font-size": "@xf-fontSizeSmall", "color": "@xf-majorHeadingTextColor", "background-color": "@xf-majorHeadingBg", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "@xf-borderColorHeavy" }</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": "@xf-fontSizeLarger", "color": "@xf-majorHeadingTextColor", "background-color": "@xf-majorHeadingBg", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "@xf-borderColorLight", "extra": "background: linear-gradient(0deg, @xf-majorHeadingBg, mix(@xf-majorHeadingBg, @xf-contentBg));" }</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": "@xf-fontSizeLarge", "color": "@xf-minorHeadingTextColor", "background-color": "@xf-majorHeadingBg" }</value>
</property>
<property property_name="blockPaddingV" group_name="block" title="Block padding vertical" description="The vertical space between a block's content and its edges" property_type="value" value_type="unit" depends_on="" value_group="padding" display_order="200" addon_id="XF">
<value>"@xf-paddingLarge"</value>
</property>
<property property_name="blockTabHeaderBg" group_name="color" title="Block tab header background color" description="" property_type="value" value_type="color" depends_on="" value_group="blockTabHeader" display_order="6500" addon_id="XF">
<value>"@xf-paletteColor1"</value>
</property>
<property property_name="blockTabHeaderSelected" group_name="block" title="Block tab header - selected tab" description="The selected tab in multi-part headers takes additional styling from here" property_type="css" value_type="" depends_on="" value_group="" display_order="20300" css_components="text,background,border_color_simple,extra" addon_id="XF">
<value>{ "color": "@xf-paletteAccent1", "border-color": "@xf-paletteColor2" }</value>
</property>
<property property_name="blockTabHeaderTextColor" group_name="color" title="Block tab header text color" description="" property_type="value" value_type="color" depends_on="" value_group="blockTabHeader" display_order="6600" addon_id="XF">
<value>"@xf-textColor"</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>"xf-intensify(@xf-paletteNeutral1, 5%)"</value>
</property>
<property property_name="borderColorFaint" group_name="color" title="Faint border color" description="" property_type="value" value_type="color" depends_on="" value_group="borderBasic" display_order="4100" addon_id="XF">
<value>"xf-diminish(@xf-borderColor, 1%)"</value>
</property>
<property property_name="borderColorLight" group_name="color" title="Light border color" description="" property_type="value" value_type="color" depends_on="" value_group="borderBasic" display_order="4200" addon_id="XF">
<value>"xf-intensify(@xf-borderColor, 4%)"</value>
</property>
<property property_name="buttonBase" group_name="button" title="Button base" description="Defines the styling for the basic elements that are common to all text-based buttons" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,border_radius,padding,extra" addon_id="XF">
<value>{ "font-size": "@xf-fontSizeSmall", "border-radius": "@xf-borderRadiusMedium", "padding-top": "8px", "padding-right": "10px", "padding-bottom": "8px", "padding-left": "10px", "extra": "text-align: center;" }</value>
</property>
<property property_name="buttonBg" group_name="color" title="Default button background color" description="" property_type="value" value_type="color" depends_on="" value_group="buttons" display_order="8200" addon_id="XF">
<value>"rgb(34, 185, 255)"</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": "rgb(254, 254, 254)", "background-color": "@xf-buttonCtaBg" }</value>
</property>
<property property_name="buttonCtaBg" group_name="color" title="Call-to-action button background" description="" property_type="value" value_type="color" depends_on="" value_group="buttons" display_order="8400" addon_id="XF">
<value>"rgb(241, 104, 87)"</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": "@xf-buttonTextColor", "background-color": "@xf-buttonBg" }</value>
</property>
<property property_name="buttonPrimaryBg" group_name="color" title="Primary button background color" description="" property_type="value" value_type="color" depends_on="" value_group="buttons" display_order="8300" addon_id="XF">
<value>"@xf-paletteColor3"</value>
</property>
<property property_name="buttonTextColor" group_name="color" title="Default button text color" description="" property_type="value" value_type="color" depends_on="" value_group="buttons" display_order="8100" addon_id="XF">
<value>"rgb(255, 255, 255)"</value>
</property>
<property property_name="contentAccentBg" group_name="color" title="Accented content background color" description="This background color is used for further differentiation from regular content" property_type="value" value_type="color" depends_on="" value_group="contentBackground" display_order="2400" addon_id="XF">
<value>"@xf-paletteColor1"</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-contentHighlightBg", "extra": "box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);" }</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', 'Helvetica Neue', Helvetica, Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid 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', 'Helvetica Neue', Helvetica, Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', sans-serif"</value>
</property>
<property property_name="homeLink" group_name="XenTR_header_navigation" title="Home Link Background Color" description="" property_type="value" value_type="color" depends_on="showNavHomeIcon" value_group="HomeIcon" display_order="60" addon_id="">
<value>"@xf-buttonBg"</value>
</property>
<property property_name="homeLinkColor" group_name="XenTR_header_navigation" title="Home Link Color" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="10" css_components="text,extra" addon_id="">
<value>{ "color": "rgb(255, 255, 255)" }</value>
</property>
<property property_name="homeLinkHover" group_name="XenTR_header_navigation" title="Home Link Hover Background Color" description="" property_type="value" value_type="color" depends_on="showNavHomeIcon" value_group="HomeIcon" display_order="80" addon_id="">
<value>"rgb(31, 171, 235)"</value>
</property>
<property property_name="homeLinkIcon" group_name="XenTR_header_navigation" title="Home Link Icon" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="0" css_components="border,padding,extra" addon_id="">
<value>{ "extra": "text-indent: -9999px;\nposition: relative;\nwidth: 60px;" }</value>
</property>
<property property_name="inlineModBar" group_name="inlineMod" title="Inline moderation bar" description="A bar containing controls appears when content is selected for inline moderation. Its appearance is controlled here" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,border,padding,extra" addon_id="XF">
<value>{ "color": "@xf-textColor", "background-color": "@xf-inlineModHighlightColor", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "xf-intensify(@xf-paletteColor5, 10%)", "padding-top": "@xf-paddingSmall", "padding-bottom": "@xf-paddingSmall" }</value>
</property>
<property property_name="inlineModHighlightColor" group_name="color" title="Inline moderation highlight color" description="When content is selected for inline moderation, its background color will be replaced with this" property_type="value" value_type="color" depends_on="" value_group="contentBackground" display_order="2500" addon_id="XF">
<value>"mix(@xf-paletteAccent1, @xf-contentBg, 20%)"</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="links" display_order="1000" addon_id="XF">
<value>"@xf-paletteNeutral3"</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="links" display_order="1100" addon_id="XF">
<value>"rgb(34, 185, 255)"</value>
</property>
<property property_name="majorHeadingBg" group_name="color" title="Major heading background color" description="" property_type="value" value_type="color" depends_on="" value_group="heading" display_order="6100" addon_id="XF">
<value>"@xf-contentAltBg"</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>"140px"</value>
</property>
<property property_name="messageUserElements" group_name="message" title="Message user info elements" description="The elements selected here will be displayed in the message user info block. It will not be displayed below the single column width." property_type="value" value_type="template" depends_on="" value_group="user" display_order="600" addon_id="XF">
<value_parameters>template=style_property_template_messageUserElements type=array</value_parameters>
<value>{ "register_date": "1", "message_count": "1", "reaction_score": "1", "trophy_points": "1", "age": "1", "location": "1", "website": "1", "custom_fields": "1" }</value>
</property>
<property property_name="nodeIconRead" group_name="XenTR_nodeList" title="Node Icon Read" description="" property_type="value" value_type="string" depends_on="xtr_nodeIcons" value_group="NodeIcons" display_order="90" addon_id="">
<value>"f27a"</value>
</property>
<property property_name="nodeIconUnread" group_name="XenTR_nodeList" title="Node Icon Unread" description="" property_type="value" value_type="string" depends_on="xtr_nodeIcons" value_group="NodeIcons" display_order="100" addon_id="">
<value>"f4a4"</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>"@xf-xtr_secondary_color"</value>
</property>
<property property_name="nodeLinkIcon" group_name="XenTR_nodeList" title="Node Link Icon" description="" property_type="value" value_type="string" depends_on="xtr_nodeIcons" value_group="NodeIcons" display_order="110" addon_id="">
<value>"f0c1"</value>
</property>
<property property_name="nodeListDescriptionDisplay" group_name="nodeList" title="Description display style" description="To save vertical space, it is possible to hide node descriptions until the node title is hovered, at which point they are displayed in a tooltip" property_type="value" value_type="radio" depends_on="" value_group="" display_order="400" addon_id="XF">
<value_parameters>tooltip={{ phrase('tooltip') }} inline={{ phrase('inline') }} none={{ phrase('none') }}</value_parameters>
<value>"inline"</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="nodePageIcon" group_name="XenTR_nodeList" title="Node Page Icon" description="" property_type="value" value_type="string" depends_on="xtr_nodeIcons" value_group="NodeIcons" display_order="120" addon_id="">
<value>"f15c"</value>
</property>
<property property_name="pageBg" group_name="color" title="Page background color" description="The background of the page itself, on which all other content rests" property_type="value" value_type="color" depends_on="" value_group="contentBackground" display_order="2100" addon_id="XF">
<value>"#182139"</value>
</property>
<property property_name="pageWidthMax" group_name="page" title="Maximum page width" description="As the window is resized, it will continue to grow in width until this value, after which it will remain static" property_type="value" value_type="unit" depends_on="" value_group="page" display_order="100" addon_id="XF">
<value>"1300px"</value>
</property>
<property property_name="paletteAccent1" group_name="palette" title="Accent 1" description="" property_type="value" value_type="color" depends_on="" value_group="accent" display_order="2000" addon_id="XF">
<value_parameters>hidePalette=true</value_parameters>
<value>"#eef8ed"</value>
</property>
<property property_name="paletteAccent2" group_name="palette" title="Accent 2" description="" property_type="value" value_type="color" depends_on="" value_group="accent" display_order="2100" addon_id="XF">
<value_parameters>hidePalette=true</value_parameters>
<value>"#63ba5f"</value>
</property>
<property property_name="paletteAccent3" group_name="palette" title="Accent 3" description="" property_type="value" value_type="color" depends_on="" value_group="accent" display_order="2200" addon_id="XF">
<value_parameters>hidePalette=true</value_parameters>
<value>"#49873f"</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>"#3b425c"</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>"#667084"</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>"#919cb0"</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>"#d6d9e0"</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>"#e1e8f8"</value>
</property>
<property property_name="paletteNeutral1" group_name="palette" title="Neutral 1" description="" property_type="value" value_type="color" depends_on="" value_group="neutral" display_order="3000" addon_id="XF">
<value_parameters>hidePalette=true</value_parameters>
<value>"#272e48"</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>"#7c869d"</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>"#dae1f3"</value>
</property>
<property property_name="paletteNeutral4" group_name="palette" title="Neutral 4" description="" property_type="value" value_type="color" depends_on="" value_group="neutral" display_order="3300" addon_id="">
<value_parameters>hidePalette=true</value_parameters>
<value>"@xf-paletteNeutral1"</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": "rgba(255,255,255,0.8)", "background-color": "rgba(39, 46, 72, 0.9)" }</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": "fadein(@xf-publicFooter--color, 50%)" }</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": "@xf-majorHeadingTextColor", "background-color": "@xf-contentBg" }</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>"@xf-xtr_filesPath/exclusive_dark/xenforo/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": "rgb(255, 255, 255)", "background-color": "@xf-paletteNeutral1" }</value>
</property>
<property property_name="publicNavPaddingH" group_name="headerNav" title="Navigation padding horizontal" description="Defines the amount of padding applied horizontally to each main navigational tab in the header" property_type="value" value_type="unit" depends_on="" value_group="navPad" display_order="4100" addon_id="XF">
<value>"20px"</value>
</property>
<property property_name="publicNavPaddingV" group_name="headerNav" title="Navigation padding vertical" description="This value defines the amount of padding applied to the main navigational tabs in the header" property_type="value" value_type="unit" depends_on="" value_group="navPad" display_order="4000" addon_id="XF">
<value>"25px"</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>{ "color": "@xf-chromeBg", "text-decoration": "none" }</value>
</property>
<property property_name="publicNavTabMenuOpen" group_name="headerNav" title="Navigation row - menu open" description="Styling applied when the popup menu for the current tab is visible" property_type="css" value_type="" depends_on="" value_group="" display_order="20450" css_components="text,background,extra" addon_id="XF">
<value>{ "color": "@xf-textColor", "text-decoration": "none", "background-color": "@xf-contentBg" }</value>
</property>
<property property_name="publicPushBadgeUrl" group_name="basic" title="Push notification badge URL" description="If you provide the URL to a single color/alpha channel logo/icon here, this will be used in place of the browser's default icon." property_type="value" value_type="string" depends_on="" value_group="logo" display_order="500" addon_id="XF">
<value>"@xf-xtr_filesPath/exclusive_dark/xenforo/bell.png"</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": "xf-intensify(@xf-chromeBg, 12%)", "background-color": "@xf-paletteColor1", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "xf-intensify(@xf-publicStaffBar--background-color, 4%)" }</value>
</property>
<property property_name="showNavHomeIcon" group_name="XenTR_header_navigation" title="Show Home Tab as Icon" description="Selecting this will replace the text 'Home' with a house icon." property_type="value" value_type="boolean" depends_on="" value_group="HomeIcon" display_order="50" addon_id="">
<value>1</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>"@xf-elementSpacer"</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>"260px"</value>
</property>
<property property_name="stickyThreadsStyle" group_name="XenTR_discussionList" title="Sticky Threads Style" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="0" css_components="text,background,border,border_radius,padding,extra" addon_id="">
<value>{ "font-size": "@xf-fontSizeNormall", "color": "rgb(255, 255, 255)", "background-color": "@xf-inlineModHighlightColor", "border-left-width": "@xf-borderSizeFeature", "border-left-color": "@xf-linkHoverColor", "padding-left": "@xf-paddingLarge", "extra": "margin: 0px;\nbox-shadow: 0 1px rgba(255,255,255,.1), inset 0 1px 2px rgba(80,80,80,0.3);\nbox-sizing: border-box;" }</value>
</property>
<property property_name="styleType" group_name="palette" title="Style type" description="This defines the general type of style in use based on whether the content is placed on a light or dark background. This may change how colors are selected in certain scenarios." property_type="value" value_type="radio" depends_on="" value_group="setup" display_order="100" addon_id="XF">
<value_parameters>light={{ phrase('light') }} dark={{ phrase('dark') }}</value_parameters>
<value>"dark"</value>
</property>
<property property_name="textColorAccentContent" group_name="color" title="Accented content text color" description="" property_type="value" value_type="color" depends_on="" value_group="textOther" display_order="3200" addon_id="XF">
<value>"@xf-paletteNeutral3"</value>
</property>
<property property_name="xmCollapseNodes" group_name="XenTR_nodeList" title="Enable collapsible nodes" description="Shows to nodes with collapsible." property_type="value" value_type="boolean" depends_on="" value_group="NodeCollapse" display_order="30" addon_id="">
<value>1</value>
</property>
<property property_name="xmNodeLayout" group_name="XenTR_nodeList" title="Node layout" description="Here, select the style in which the forums are displayed." property_type="value" value_type="radio" depends_on="" value_group="NodeLayout" display_order="10" addon_id="">
<value_parameters>default=Default classic=Classic classicImage= Classic Image dual=Dual Column</value_parameters>
<value>"classicImage"</value>
</property>
<property property_name="xmNodeLayout_classic_node" group_name="XenTR_nodeList" title="Node layout classic node" description="These styles only apply to classic nodes layouts." property_type="css" value_type="" depends_on="" value_group="" display_order="0" css_components="text,background,border,border_radius,padding,extra" addon_id="">
<value>{ "background-color": "@xf-contentBg", "border-radius": "@xf-borderRadiusMedium", "extra": "margin-bottom: @xf-paddingLarge;\nbox-shadow: 0 1px 20px 0 rgba(0,0,0,0.06);" }</value>
</property>
<property property_name="xtr_account_page_icons" group_name="XenTR_settings" title="Enable account page sidenav icons?" description="The sidebar on the account page adds font-awesome icons in front of the links." property_type="value" value_type="boolean" depends_on="" value_group="ForumIcons" display_order="50" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_background_shape" group_name="XenTR_settings" title="Enable background shapes" description="This feature allows moving shapes to be displayed over the background." property_type="value" value_type="boolean" depends_on="" value_group="BackgroundShapes" display_order="90" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_bgSwitcherHeight" group_name="XenTR_messageBlock" title="Switcher background height" description="Here you can specify the height values for the live preview background changer. Min height: 100px Max height: 300px" property_type="value" value_type="number" depends_on="xtr_live_background_picker" value_group="liveSwitcherHeight" display_order="80" addon_id="">
<value_parameters>min=100 max=250 units={{ phrase('units_pixels') }}</value_parameters>
<value>"100"</value>
</property>
<property property_name="xtr_block_header_image_enable" group_name="XenTR_nodeList" title="Enable category blok header image" description="<div class="blockMessage blockMessage--success" style="margin: 0 2px;">This option enables or disables the category title image system. Only active if <b>Classic Image and Dual Column</b> is selected from the style properties.</div>" property_type="value" value_type="boolean" depends_on="" value_group="NodeBlockHeaderImage" display_order="0" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_bottomBreadcrumb" group_name="XenTR_breadcrumb" title="Disable bottom breadcrumb" description="" property_type="value" value_type="boolean" depends_on="" value_group="" display_order="20" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_breadcrumb" group_name="XenTR_breadcrumb" title="Breadcrumb styles" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="0" css_components="text,background,border_color_simple,border_radius_simple,padding,extra" addon_id="">
<value>{ "font-size": "@xf-fontSizeSmaller", "color": "@xf-linkColor", "background-color": "@xf-contentBg", "border-color": "@xf-borderColorLight", "border-radius": "@xf-borderRadiusMedium" }</value>
</property>
<property property_name="xtr_breadcrumbBorder" group_name="XenTR_breadcrumb" title="Breadcrumb border" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="20" css_components="border" addon_id="">
<value>{ "border-color": "rgba(0, 0, 0, 0.5)" }</value>
</property>
<property property_name="xtr_breadcrumbBottomSocialShare" group_name="XenTR_breadcrumb" title="Enable breadcrumb bottom social share?" description="This feature will make social sharing passive under breadcrumb." property_type="value" value_type="boolean" depends_on="" value_group="breadcrumbBottomSocialShare" display_order="30" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_breadcrumbHeight" group_name="XenTR_breadcrumb" title="Breadcrumb height" description="It allows you to control the breadcrumb height. Min height: 30px Max height: 100px" property_type="value" value_type="number" depends_on="" value_group="" display_order="0" addon_id="">
<value_parameters>min=30 max=100 units={{ phrase('units_pixels') }}</value_parameters>
<value>"40"</value>
</property>
<property property_name="xtr_breadcrumbHover" group_name="XenTR_breadcrumb" title="Breadcrumb hover" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="10" css_components="text,background,extra" addon_id="">
<value>{ "color": "lighten(@xf-xtr_breadcrumb--color, 10%)", "background-color": "rgba(34, 185, 255, 0.42)" }</value>
</property>
<property property_name="xtr_button_hover_effect" group_name="XenTR_settings" title="Enable button hover effect" description="Adds a glowing effect from left to right for all buttons." property_type="value" value_type="boolean" depends_on="" value_group="ButtonsHoverEfeect" display_order="10" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_categoryCollapsibleOffIcon" group_name="XenTR_nodeList" title="Category collapsible off icon" description="" property_type="value" value_type="string" depends_on="xmCollapseNodes" value_group="NodeCollapse" display_order="50" addon_id="">
<value>"\"\\f106\""</value>
</property>
<property property_name="xtr_categoryCollapsibleOnIcon" group_name="XenTR_nodeList" title="Category collapsible on icon" description="" property_type="value" value_type="string" depends_on="xmCollapseNodes" value_group="NodeCollapse" display_order="40" addon_id="">
<value>"\"\\f107\""</value>
</property>
<property property_name="xtr_category_description_hover" group_name="XenTR_nodeList" title="Enable category description hover" description="Sets the category description style with hover." property_type="value" value_type="boolean" depends_on="" value_group="CategoryDescriptionHover" display_order="60" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_collapsibleOffIcon" group_name="XenTR_sidebar" title="Sidebar collapsible off" description="Unicode of the Icon." property_type="value" value_type="string" depends_on="xtr_collapsibleSidebar" value_group="SidebarOptions" display_order="60" addon_id="">
<value>"f053"</value>
</property>
<property property_name="xtr_collapsibleOnIcon" group_name="XenTR_sidebar" title="Sidebar collapsible on" description="Unicode of the Icon." property_type="value" value_type="string" depends_on="xtr_collapsibleSidebar" value_group="SidebarOptions" display_order="50" addon_id="">
<value>"f054"</value>
</property>
<property property_name="xtr_collapsibleSidebar" group_name="XenTR_sidebar" title="Enable collapsible sidebar" description="" property_type="value" value_type="boolean" depends_on="" value_group="SidebarOptions" display_order="40" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_contactUs" group_name="XenTR_social" title="Enable contact us button" description="Displays a link that brings up the contact form." property_type="value" value_type="boolean" depends_on="" value_group="SocialMedia" display_order="160" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_conversation_button" group_name="XenTR_messages" title="Enable conversation button" description="If this options is enabled conversation buttons will be added the user-info." property_type="value" value_type="boolean" depends_on="" value_group="ConversationButton" display_order="40" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_conversation_view" group_name="XenTR_settings" title="Enable conversation read checkmark" description="Add a check mark next to a user's name in a conversation after they've read the last post in a conversation." property_type="value" value_type="boolean" depends_on="" value_group="ConversationView" display_order="100" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_disable_subnav" group_name="XenTR_header_navigation" title="Disable sub-navigation" description="Here you can hide sublinks linked to the main navigation." property_type="value" value_type="boolean" depends_on="" value_group="SubNavigation" display_order="20" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_discord" group_name="XenTR_social" title="Discord URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="50" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_enableQuickTouch" group_name="XenTR_quickTouch" title="Enable quick touch blocks" description="Quick touch blocks are displayed on above the breadcrumb.You can use quick touch blocks for easy access to the right areas that you are targeting." property_type="value" value_type="boolean" depends_on="" value_group="QuickTouch" display_order="0" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_enable_extra_footer" group_name="XenTR_footer" title="Enable extra footer" description="" property_type="value" value_type="boolean" depends_on="" value_group="ExtraFooter" display_order="0" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_enable_extra_footer_column1" group_name="XenTR_footer" title="Enable extra footer first column" description="First, make sure that you've enabled extra footer option. Than you may use first column selection or first content." property_type="value" value_type="boolean" depends_on="xtr_enable_extra_footer" value_group="ExtraFooterFirstColumn" display_order="40" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_enable_extra_footer_column2" group_name="XenTR_footer" title="Enable extra footer second column" description="" property_type="value" value_type="boolean" depends_on="xtr_enable_extra_footer" value_group="ExtraFooterSecondColumn" display_order="90" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_enable_extra_footer_column3" group_name="XenTR_footer" title="Enable extra footer third column" description="" property_type="value" value_type="boolean" depends_on="xtr_enable_extra_footer" value_group="ExtraFooterThirdColumn" display_order="140" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_enable_extra_footer_column4" group_name="XenTR_footer" title="Enable extra footer fourth column" description="" property_type="value" value_type="boolean" depends_on="xtr_enable_extra_footer" value_group="ExtraFooterFourthColumn" display_order="190" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_extra_footer_block_body" group_name="XenTR_footer" title="Extra footer block body" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="30" css_components="text,border,padding,extra" addon_id="">
<value>{ "color": "@xf-paletteAccent1", "padding": "@xf-paddingMedium" }</value>
</property>
<property property_name="xtr_extra_footer_block_links" group_name="XenTR_footer" title="Extra footer block links" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="40" css_components="text,border,padding,extra" addon_id="">
<value>{ "color": "@xf-chromeTextColor", "extra": "background: none;\n-webkit-transition: all .3s ease-in;\n-moz-transition: all .3s ease-in;\n-o-transition: all .3s ease-in;\ntransition: all .3s ease-in;\nmargin-left: 5px;" }</value>
</property>
<property property_name="xtr_extra_footer_block_links_hover" group_name="XenTR_footer" title="Extra footer block links hover" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="50" css_components="text,background,padding,extra" addon_id="">
<value>{ "color": "@xf-linkHoverColor", "padding-left": "@xf-paddingMedium", "extra": "background: none;" }</value>
</property>
<property property_name="xtr_extra_footer_block_social_title" group_name="XenTR_social" title="Social Media Title" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMediaTitle" display_order="0" addon_id="">
<value>"Follow Us On Social Media"</value>
</property>
<property property_name="xtr_extra_footer_block_spacing" group_name="XenTR_footer" title="Extra footer block spacing" description="" property_type="value" value_type="unit" depends_on="xtr_enable_extra_footer" value_group="ExtraFooterBlockWidth" display_order="30" addon_id="">
<value>"@xf-paddingLarge"</value>
</property>
<property property_name="xtr_extra_footer_block_width" group_name="XenTR_footer" title="Extra footer block width" description="Extra footer block preferred width Default width: 280px" property_type="value" value_type="number" depends_on="xtr_enable_extra_footer" value_group="ExtraFooterBlockWidth" display_order="20" addon_id="">
<value_parameters>min=280 units={{ phrase('units_pixels') }}</value_parameters>
<value>"280"</value>
</property>
<property property_name="xtr_extra_footer_column1" group_name="XenTR_footer" title="Optional extra footer column selection" description="If this options will be choosen "Custom Footer" you need to fil up below option (Footer Column 1 Content)" property_type="value" value_type="select" depends_on="xtr_enable_extra_footer_column1" value_group="ExtraFooterFirstColumn" display_order="50" addon_id="">
<value_parameters>ForumStatistics=Forum statistics OnlineStatistics=Online statistics whatsNewLinks=Whats New Links sharePage= Share This Page socialicons=Social Links custom=Custom Footer</value_parameters>
<value>"custom"</value>
</property>
<property property_name="xtr_extra_footer_column2" group_name="XenTR_footer" title="Optional extra footer column selection" description="If this options will be choosen "Custom Footer" you need to fil up below option (Footer Column 2 Content)" property_type="value" value_type="select" depends_on="xtr_enable_extra_footer_column2" value_group="ExtraFooterSecondColumn" display_order="100" addon_id="">
<value_parameters>ForumStatistics=Forum statistics OnlineStatistics=Online statistics whatsNewLinks=Whats New Links sharePage= Share This Page socialicons=Social Links custom=Custom Footer</value_parameters>
<value>"custom"</value>
</property>
<property property_name="xtr_extra_footer_column3" group_name="XenTR_footer" title="Optional extra footer column selection" description="If this options will be choosen "Custom Footer" you need to fil up below option (Footer Column 3 Content)" property_type="value" value_type="select" depends_on="xtr_enable_extra_footer_column3" value_group="ExtraFooterThirdColumn" display_order="150" addon_id="">
<value_parameters>ForumStatistics=Forum statistics OnlineStatistics=Online statistics whatsNewLinks=Whats New Links sharePage= Share This Page socialicons=Social Links custom=Custom Footer</value_parameters>
<value>"socialicons"</value>
</property>
<property property_name="xtr_extra_footer_column4" group_name="XenTR_footer" title="Optional extra footer column selection" description="If this options will be choosen "Custom Footer" you need to fil up below option (Footer Column 4 Content)" property_type="value" value_type="select" depends_on="xtr_enable_extra_footer_column4" value_group="ExtraFooterFourthColumn" display_order="200" addon_id="">
<value_parameters>ForumStatistics=Forum statistics OnlineStatistics=Online statistics whatsNewLinks=Whats New Links sharePage= Share This Page socialicons=Social Links custom=Custom Footer</value_parameters>
<value>"OnlineStatistics"</value>
</property>
<property property_name="xtr_extra_footer_column_content1" group_name="XenTR_footer" title="Extra footer column 1 content" description="Enter the extra footer first column content." property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column1" value_group="ExtraFooterFirstColumn" display_order="80" addon_id="">
<value_parameters>rows=3</value_parameters>
<value>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.<br><br>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."</value>
</property>
<property property_name="xtr_extra_footer_column_content2" group_name="XenTR_footer" title="Extra footer column 2 content" description="Enter the extra footer second column content." property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column2" value_group="ExtraFooterSecondColumn" display_order="130" addon_id="">
<value_parameters>rows=3</value_parameters>
<value>"<div class=\"blockLink\"><i class=\"fas fa-caret-right\"></i> <a href=\"#\"> Custom Link 1</a></div>\n<div class=\"blockLink\"><i class=\"fas fa-caret-right\"></i> <a href=\"#\"> Custom Link 2</a></div>\n<div class=\"blockLink\"><i class=\"fas fa-caret-right\"></i> <a href=\"#\"> Custom Link 3</a></div>\n<div class=\"blockLink\"><i class=\"fas fa-caret-right\"></i> <a href=\"#\"> Custom Link 4</a></div>"</value>
</property>
<property property_name="xtr_extra_footer_column_content3" group_name="XenTR_footer" title="Extra footer column 3 content" description="Enter the extra footer third column content." property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column3" value_group="ExtraFooterThirdColumn" display_order="180" addon_id="">
<value_parameters>rows=3</value_parameters>
<value>""</value>
</property>
<property property_name="xtr_extra_footer_column_content4" group_name="XenTR_footer" title="Extra footer column 4 content" description="Enter the extra footer fourth column content." property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column4" value_group="ExtraFooterFourthColumn" display_order="230" addon_id="">
<value_parameters>rows=3</value_parameters>
<value>""</value>
</property>
<property property_name="xtr_extra_footer_column_icon1" group_name="XenTR_footer" title="Extra footer column 1 icon" description="Here you can enter a icon definition for the first column field. </br>You'll find <a href="https://fontawesome.com/icons?d=gallery" target="_blank"> here </a>. Enter the fontawesome icon definition like this example: <b> fas fa-home </b>" property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column1" value_group="ExtraFooterFirstColumn" display_order="70" addon_id="">
<value>"fas fa-chalkboard-teacher"</value>
</property>
<property property_name="xtr_extra_footer_column_icon2" group_name="XenTR_footer" title="Extra footer column 2 icon" description="Here you can enter a icon definition for the second column field. </br>You'll find <a href="https://fontawesome.com/icons?d=gallery" target="_blank"> here </a>. Enter the fontawesome icon definition like this example: <b> fas fa-home </b>" property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column2" value_group="ExtraFooterSecondColumn" display_order="120" addon_id="">
<value>"fas fa-link"</value>
</property>
<property property_name="xtr_extra_footer_column_icon3" group_name="XenTR_footer" title="Extra footer column 3 icon" description="Here you can enter a icon definition for the third column field. </br>You'll find <a href="https://fontawesome.com/icons?d=gallery" target="_blank"> here </a>. Enter the fontawesome icon definition like this example: <b> fas fa-home </b>" property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column3" value_group="ExtraFooterThirdColumn" display_order="170" addon_id="">
<value>"fas fa-link"</value>
</property>
<property property_name="xtr_extra_footer_column_icon4" group_name="XenTR_footer" title="Extra footer column 4 icon" description="Here you can enter a icon definition for the fourth column field. </br>You'll find <a href="https://fontawesome.com/icons?d=gallery" target="_blank"> here </a>. Enter the fontawesome icon definition like this example: <b> fas fa-home </b>" property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column4" value_group="ExtraFooterFourthColumn" display_order="220" addon_id="">
<value>"fas fa-bolt"</value>
</property>
<property property_name="xtr_extra_footer_column_title1" group_name="XenTR_footer" title="Extra footer column 1 title" description="Enter the extra footer first column title" property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column1" value_group="ExtraFooterFirstColumn" display_order="60" addon_id="">
<value>"About Us"</value>
</property>
<property property_name="xtr_extra_footer_column_title2" group_name="XenTR_footer" title="Extra footer column 2 title" description="Enter the extra footer second column title" property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column2" value_group="ExtraFooterSecondColumn" display_order="110" addon_id="">
<value>"Custom Links 1"</value>
</property>
<property property_name="xtr_extra_footer_column_title3" group_name="XenTR_footer" title="Extra footer column 3 title" description="Enter the extra footer third column title" property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column3" value_group="ExtraFooterThirdColumn" display_order="160" addon_id="">
<value>"Custom Links 2"</value>
</property>
<property property_name="xtr_extra_footer_column_title4" group_name="XenTR_footer" title="Extra footer column 4 title" description="Enter the extra footer fourth column title" property_type="value" value_type="string" depends_on="xtr_enable_extra_footer_column4" value_group="ExtraFooterFourthColumn" display_order="210" addon_id="">
<value>"Terms of Service"</value>
</property>
<property property_name="xtr_extra_footer_minor_header" group_name="XenTR_footer" title="Extra footer minor header" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="20" css_components="text,background,border,border_radius,padding,extra" addon_id="">
<value>{ "color": "@xf-publicFooterLink--color", "border-radius": "@xf-borderRadiusLarge", "border-right-width": "@xf-borderSize", "border-right-color": "rgba(255, 255, 255, 0.1)", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "rgba(255, 255, 255, 0.1)", "padding": "@xf-paddingMedium", "extra": "background: none;" }</value>
</property>
<property property_name="xtr_extra_footer_styles" group_name="XenTR_footer" title="Extra footer" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="10" css_components="text,background,border,padding,extra" addon_id="">
<value>{ "color": "@xf-blockFooterTextColor", "background-color": "@xf-publicFooter--background-color", "extra": "line-height: 1.7;" }</value>
</property>
<property property_name="xtr_facebook" group_name="XenTR_social" title="Facebook URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="20" addon_id="">
<value>"https://facebook.com/"</value>
</property>
<property property_name="xtr_filesPath" group_name="basic" title="Files Path" description="Define the path to your style folder" property_type="value" value_type="string" depends_on="" value_group="FilesPath" display_order="10" addon_id="">
<value>"styles/xentr"</value>
</property>
<property property_name="xtr_footer_icons" group_name="footer" title="Enable footer icons" description="" property_type="value" value_type="boolean" depends_on="" value_group="FooterIcons" display_order="50" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_footer_wave" group_name="footer" title="Enable footer wave" description="This option creates a wave effect on the footer." property_type="value" value_type="boolean" depends_on="" value_group="FooterWave" display_order="10" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_footer_wave_fill_background" group_name="footer" title="Wave fill background" description="This option is generally the footer background color." property_type="css" value_type="" depends_on="" value_group="" display_order="10" css_components="background,extra" addon_id="">
<value>{ "background-color": "@xf-publicFooter--background-color" }</value>
</property>
<property property_name="xtr_footer_wave_height" group_name="footer" title="Footer wave height" description="You can adjust the height of the wave effect. Min height: 30px Max height: 100px" property_type="value" value_type="number" depends_on="xtr_footer_wave" value_group="FooterWave" display_order="20" addon_id="">
<value_parameters>min=30 max=100 units={{ phrase('units_pixels') }}</value_parameters>
<value>"50"</value>
</property>
<property property_name="xtr_footer_wave_transform" group_name="footer" title="Footer wave transform" description="Here you can determine the wave structure." property_type="value" value_type="radio" depends_on="xtr_footer_wave" value_group="FooterWave" display_order="40" addon_id="">
<value_parameters>90=No wave 180=Wave from left 0=Wave from right</value_parameters>
<value>"180"</value>
</property>
<property property_name="xtr_footer_wave_width" group_name="footer" title="Footer wave width" description="Here you can adjust the width of the wave effect. Min 100px Max 300px" property_type="value" value_type="number" depends_on="xtr_footer_wave" value_group="FooterWave" display_order="30" addon_id="">
<value_parameters>min=100 max=300 units={{ phrase('units_pixels') }}</value_parameters>
<value>"135"</value>
</property>
<property property_name="xtr_forum_title" group_name="XenTR_settings" title="Hide page title on forum list" description="This option disables the H1 title on the forum list only. This feature does not work if Inside navigation is selected." property_type="value" value_type="boolean" depends_on="" value_group="ForumListTitle" display_order="60" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_gitHub" group_name="XenTR_social" title="GitHub URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="150" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_googleFonts" group_name="fonts" title="Google fonts" description="Choose the fonts in which to load from Google Fonts API." property_type="value" value_type="string" depends_on="" value_group="googleFonts" display_order="0" addon_id="">
<value>"Open+Sans:300,400,600,700"</value>
</property>
<property property_name="xtr_gradient_bg_animations" group_name="XenTR_messageBlock" title="Enable gradient background animations" description="This option automatically provides gradient color options on background images within the message block area." property_type="value" value_type="boolean" depends_on="xtr_message_block_enable" value_group="GradientAnimations" display_order="220" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_guestMessageBlockContent" group_name="XenTR_messageBlock" title="Guest Message block content" description="Here you can enter a content for guest users." property_type="value" value_type="string" depends_on="xtr_message_block_enable" value_group="GuestGroups" display_order="30" addon_id="">
<value_parameters>rows=5</value_parameters>
<value>"Join us now to get access to all our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, and so, so much more. It's also quick and totally free, so what are you waiting for?"</value>
</property>
<property property_name="xtr_guestMessageBlockHeader" group_name="XenTR_messageBlock" title="Guest Message block title" description="Here you can specify a welcome title for guest users." property_type="value" value_type="string" depends_on="xtr_message_block_enable" value_group="GuestGroups" display_order="20" addon_id="">
<value>"Welcome to"</value>
</property>
<property property_name="xtr_hide_reply_avatar" group_name="XenTR_messages" title="Hide user avatar next quick reply editor" description="Hide or display user avatar on message editor." property_type="value" value_type="boolean" depends_on="" value_group="HideAvatarReplyEditor" display_order="30" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_instagram" group_name="XenTR_social" title="Instagram URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="80" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_linkedIn" group_name="XenTR_social" title="LinkedIn URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="100" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_links_hover_effect" group_name="XenTR_settings" title="Enable links hover effect" description="This feature will apply an effect when hovering over certain links." property_type="value" value_type="boolean" depends_on="" value_group="LinkHoverEffect" display_order="0" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_live_background_picker" group_name="XenTR_messageBlock" title="Enable live background picker?" description="If enabled, your members will be able to select their own background/header image using the live background picker." property_type="value" value_type="boolean" depends_on="xtr_message_block_enable" value_group="LiveBackgroundPicker" display_order="70" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_live_background_picker_bg1" group_name="XenTR_messageBlock" title="Enable Live Background #1?" description="" property_type="value" value_type="boolean" depends_on="xtr_live_background_picker" value_group="SwitcherBackground1" display_order="100" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_live_background_picker_bg2" group_name="XenTR_messageBlock" title="Enable Live Background #2?" description="" property_type="value" value_type="boolean" depends_on="xtr_live_background_picker" value_group="SwitcherBackground2" display_order="130" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_live_background_picker_bg3" group_name="XenTR_messageBlock" title="Enable Live Background #3?" description="" property_type="value" value_type="boolean" depends_on="xtr_live_background_picker" value_group="SwitcherBackground3" display_order="160" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_live_background_picker_bg4" group_name="XenTR_messageBlock" title="Enable Live Background #4?" description="" property_type="value" value_type="boolean" depends_on="xtr_live_background_picker" value_group="SwitcherBackground4" display_order="190" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_live_bg_picker_default_image" group_name="XenTR_messageBlock" title="Choose default image" description="Here you can show a standard background to your users who visit your website when the live background switcher is activated." property_type="value" value_type="string" depends_on="xtr_live_background_picker" value_group="DefaultImage" display_order="90" addon_id="">
<value>"@xf-xtr_filesPath/exclusive_dark/images/bg-chooser/04.jpg"</value>
</property>
<property property_name="xtr_logo_position" group_name="XenTR_header_navigation" title="Select logo position" description="Here you can select the logo position." property_type="value" value_type="radio" depends_on="" value_group="LogoPosition" display_order="10" addon_id="">
<value_parameters>default=Default position belownav=Below navigation insidenav=Inside navigation</value_parameters>
<value>"insidenav"</value>
</property>
<property property_name="xtr_message_block" group_name="XenTR_messageBlock" title="Message block" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="10" css_components="text,padding,extra" addon_id="">
<value>{ "color": "@xf-textColor" }</value>
</property>
<property property_name="xtr_message_block_bubble_animate" group_name="XenTR_messageBlock" title="Bubble animate" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="80" css_components="background,border_radius,extra" addon_id="">
<value>{ "background-color": "rgb(255, 255, 255)", "border-radius": "50%" }</value>
</property>
<property property_name="xtr_message_block_bubble_animation" group_name="XenTR_messageBlock" title="Enable bubble animation" description="Enables us to show animated bubbles within the message block." property_type="value" value_type="boolean" depends_on="xtr_message_block_enable" value_group="BubbleAnimation" display_order="240" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_message_block_enable" group_name="XenTR_messageBlock" title="Enable message block" description="Here you can show a welcome message for users who visit your website. <br>This feature only works if the <b>Inside navigation</b> option in the &#9500; XenTR &#9508; Header and Navigation group is enabled." property_type="value" value_type="boolean" depends_on="" value_group="MessageBlock" display_order="0" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_message_block_height" group_name="XenTR_messageBlock" title="Mesage block height" description="You can adjust the height of the message block area here. Min height: 60px Max height: 300px. Default height: 70px" property_type="value" value_type="number" depends_on="xtr_message_block_enable" value_group="MessageBlockHeight" display_order="10" addon_id="">
<value_parameters>min=70 max=300 units={{ phrase('units_pixels') }}</value_parameters>
<value>"75"</value>
</property>
<property property_name="xtr_message_block_text" group_name="XenTR_messageBlock" title="Message block text" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="40" css_components="text,padding,extra" addon_id="">
<value>{ "color": "@xf-textColor" }</value>
</property>
<property property_name="xtr_message_body_inner" group_name="XenTR_messageBlock" title="Message body inner" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="30" css_components="text,padding,extra" addon_id="">
<value>{ "color": "inherit", "padding-top": "0", "padding-right": "@xf-paddingMedium", "padding-bottom": "0", "padding-left": "@xf-paddingMedium", "extra": "max-width: @xf-pageWidthMax;\ntop: 15px;" }</value>
</property>
<property property_name="xtr_message_controls_icons" group_name="XenTR_messages" title="Enable message control icons" description="Add Font Awesome icons to the message controls." property_type="value" value_type="boolean" depends_on="" value_group="MessageControlIcons" display_order="10" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_message_layout" group_name="XenTR_messages" title="Message layout" description="" property_type="value" value_type="radio" depends_on="" value_group="MessageLayout" display_order="0" addon_id="">
<value_parameters>default=Default horizontal=Horizontal</value_parameters>
<value>"default"</value>
</property>
<property property_name="xtr_message_link_hover" group_name="message" title="Message link hover" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="20030" css_components="text,extra" addon_id="">
<value>{ "color": "@xf-linkHoverColor" }</value>
</property>
<property property_name="xtr_message_links" group_name="message" title="Message links" description="Controls the styling for links inside of messages" property_type="css" value_type="" depends_on="" value_group="" display_order="20020" css_components="text,extra" addon_id="">
<value>{ "color": "mix(@xf-paletteColor3, @xf-contentBg, 95%)" }</value>
</property>
<property property_name="xtr_message_overlay" group_name="XenTR_messageBlock" title="Message overlay" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="20" css_components="background,extra" addon_id="">
<value>{ "background-color": "rgb(196, 24, 60)", "extra": "background-image: -webkit-gradient(linear,left top,right top,from(#c4183c),to(#4f37ac));\nbackground-image: linear-gradient(to right,#c4183c,#4f37ac);" }</value>
</property>
<property property_name="xtr_message_wave" group_name="XenTR_messageBlock" title="Enable message wave" description="This option creates a wave effect within the message area." property_type="value" value_type="boolean" depends_on="xtr_message_block_enable" value_group="MessageWave" display_order="40" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_message_wave_height" group_name="XenTR_messageBlock" title="Message wave height" description="You can adjust the height of the wave effect. Min height: 30px Max height: 100px" property_type="value" value_type="number" depends_on="xtr_message_wave" value_group="MessageWave" display_order="50" addon_id="">
<value_parameters>min=30 max=100 units={{ phrase('units_pixels') }}</value_parameters>
<value>"40"</value>
</property>
<property property_name="xtr_message_wave_transform" group_name="XenTR_messageBlock" title="Message wave transform" description="Here you can determine the wave structure." property_type="value" value_type="radio" depends_on="xtr_message_wave" value_group="MessageWave" display_order="65" addon_id="">
<value_parameters>90=No wave 180=Wave from left 0=Wave from right</value_parameters>
<value>"180"</value>
</property>
<property property_name="xtr_message_wave_width" group_name="XenTR_messageBlock" title="Message wave width" description="Here you can adjust the width of the wave effect. Min 100px Max 300px" property_type="value" value_type="number" depends_on="xtr_message_wave" value_group="MessageWave" display_order="60" addon_id="">
<value_parameters>min=100 max=300 units={{ phrase('units_pixels') }}</value_parameters>
<value>"130"</value>
</property>
<property property_name="xtr_mobileQuickTouch" group_name="XenTR_quickTouch" title="Enable quick touch on mobile devices?" description="When this option is enabled, the quick touch will be closed according to the following width dimensions." property_type="value" value_type="boolean" depends_on="xtr_enableQuickTouch" value_group="mobileQuickTouch" display_order="230" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_navigation_hover_effect" group_name="XenTR_header_navigation" title="Enable navigation links hover effect" description="Adds an effect when hovering over the navigation links." property_type="value" value_type="boolean" depends_on="" value_group="NavigationLinksHoverEffect" display_order="40" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_navigation_icons" group_name="XenTR_header_navigation" title="Enable navigation icons" description="" property_type="value" value_type="boolean" depends_on="" value_group="NavigationIcons" display_order="30" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_new_post_button" group_name="XenTR_discussionList" title="Enable new post button" description="This feature allows you to add a new message button in the subject area." property_type="value" value_type="boolean" depends_on="" value_group="NewPostButton" display_order="50" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_nodeIcons" group_name="XenTR_nodeList" title="Enable Font Awesome Node Icons?" description="This will enable the ability to add font awesome icons for node icons" property_type="value" value_type="boolean" depends_on="" value_group="NodeIcons" display_order="80" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_node_layout_classic_stats" group_name="XenTR_nodeList" title="Node layout classic stats" description="These properties only apply to classic stats in node layouts." property_type="css" value_type="" depends_on="" value_group="" display_order="10" css_components="text,background,border,border_radius,padding,extra" addon_id="">
<value>{ "color": "@xf-majorHeadingTextColor", "background-color": "@xf-contentHighlightBg", "border-radius": "@xf-borderSizeMinorFeature", "padding-top": "@xf-paddingSmall", "padding-right": "@xf-paddingLargest", "padding-bottom": "@xf-paddingSmall", "padding-left": "@xf-paddingLargest" }</value>
</property>
<property property_name="xtr_node_rowBg" group_name="color" title="Node row background color" description="Controls the color of the node row backgrounds." property_type="value" value_type="color" depends_on="" value_group="contentBackground" display_order="2250" addon_id="">
<value>"@xf-paletteNeutral4"</value>
</property>
<property property_name="xtr_node_stats_hover" group_name="XenTR_nodeList" title="Enable node stats hover" description="When the mouse is hovering over the forum icons, the number of forum topics will be displayed instead of the icon." property_type="value" value_type="boolean" depends_on="" value_group="NodeStatsHover" display_order="70" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_nodes_hover_effect" group_name="XenTR_nodeList" title="Hover Effect on Nodes" description="This option enables a hover effect for classic nodes." property_type="value" value_type="boolean" depends_on="" value_group="NodesHoverEffect" display_order="20" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_normal_threads_phrase" group_name="XenTR_discussionList" title="Normal Threads Phrase" description="Please enter a phrase to separate." property_type="value" value_type="string" depends_on="xtr_sticky_threads" value_group="StickyThreads" display_order="20" addon_id="">
<value>"Normal Threads"</value>
</property>
<property property_name="xtr_notable_member_page_icons" group_name="XenTR_settings" title="Enable notable member page icons?" description="This option adds font-awesome icons to the important member page" property_type="value" value_type="boolean" depends_on="" value_group="ForumIcons" display_order="40" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_overlay_gradient_opacity" group_name="XenTR_messageBlock" title="Overlay and gradient opacity" description="You can add a semi-transparent overlay here which may result in better contrast with your text. Enter a value between 0 and 1." property_type="value" value_type="string" depends_on="xtr_message_block_enable" value_group="OvarlayGradientOpacity" display_order="230" addon_id="">
<value>"0.70"</value>
</property>
<property property_name="xtr_pinterest" group_name="XenTR_social" title="Pinterest URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="120" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_prefix_filter" group_name="XenTR_discussionList" title="Enable prefix filter" description="If you want to use prefix filter make sure "Use full friendly URLs" options is enabled on Board Settings." property_type="value" value_type="boolean" depends_on="" value_group="PrefixFilter" display_order="40" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_priceRibbonStyle" group_name="xtr_resource_pages" title="Resource price ribbon" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="10" css_components="text,background,border,border_radius,padding,extra" addon_id="XENTR/ResourcePages">
<value>{ "color": "@xf-buttonTextColor", "background-color": "@xf-buttonCtaBg", "extra": "left: -10px;\ntop: 20px;" }</value>
</property>
<property property_name="xtr_primary_color" group_name="color" title="Primary Color" description="It will be the color used for special accent areas." property_type="value" value_type="color" depends_on="" value_group="CustomColor" display_order="10500" addon_id="">
<value>"rgb(205, 33, 34)"</value>
</property>
<property property_name="xtr_quickTouchFirstColumnsButtonName" group_name="XenTR_quickTouch" title="Quick Touch first column button name" description="" property_type="value" value_type="string" depends_on="xtr_quickTouchOneColumns" value_group="FirstQuickTouchColumn" display_order="70" addon_id="">
<value>"Custom Button 1"</value>
</property>
<property property_name="xtr_quickTouchFirstColumnsURL" group_name="XenTR_quickTouch" title="Quick Touch first column URL" description="Here you can enter a URL for the first column button." property_type="value" value_type="string" depends_on="xtr_quickTouchOneColumns" value_group="FirstQuickTouchColumn" display_order="60" addon_id="">
<value>"https://xentr.net/"</value>
</property>
<property property_name="xtr_quickTouchMobileWidth" group_name="XenTR_quickTouch" title="Quick Touch Mobile Width" description="When this option is enabled, the quick touch will be closed according to the following width dimensions." property_type="value" value_type="radio" depends_on="xtr_mobileQuickTouch" value_group="mobileQuickTouch" display_order="240" addon_id="">
<value_parameters>@xf-responsiveWide=Responsive Wide @xf-responsiveMedium=Responsive Medium @xf-responsiveNarrow=Responsive Narrow</value_parameters>
<value>"@xf-responsiveNarrow"</value>
</property>
<property property_name="xtr_quickTouchOneColumns" group_name="XenTR_quickTouch" title="Enable QuickTouch one th columns." description="" property_type="value" value_type="boolean" depends_on="xtr_enableQuickTouch" value_group="FirstQuickTouchColumn" display_order="20" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_quickTouchOneColumnsButtonOpen" group_name="XenTR_quickTouch" title="Make a link open a new window" description="When your visitors click that link, it will open in a new window or tab (depending on which web browser they are using and how they configured that browser)." property_type="value" value_type="select" depends_on="xtr_quickTouchOneColumns" value_group="FirstQuickTouchColumn" display_order="80" addon_id="">
<value_parameters>_blank=_blank _self=_self _parent=_parent _top=_top</value_parameters>
<value>"_blank"</value>
</property>
<property property_name="xtr_quickTouchOneColumnsContent" group_name="XenTR_quickTouch" title="Quick Touch first column content" description="Here you can enter a content for the first column area." property_type="value" value_type="string" depends_on="xtr_quickTouchOneColumns" value_group="FirstQuickTouchColumn" display_order="40" addon_id="">
<value_parameters>rows=3</value_parameters>
<value>"Ask Questions and Get Answers from Our Community"</value>
</property>
<property property_name="xtr_quickTouchOneColumnsIcon" group_name="XenTR_quickTouch" title="Quick Touch first column icon" description="Here you can enter a icon definition for the first column field. </br>You'll find <a href="https://fontawesome.com/icons?d=gallery" target="_blank"> here </a>. Enter the fontawesome icon definition like this example: <b> fas fa-home </b>" property_type="value" value_type="string" depends_on="xtr_quickTouchOneColumns" value_group="FirstQuickTouchColumn" display_order="50" addon_id="">
<value>"fal fa-question-circle"</value>
</property>
<property property_name="xtr_quickTouchOneColumnsTitle" group_name="XenTR_quickTouch" title="Quick Touch First Column Heading" description="Here you can enter a title for the first column area." property_type="value" value_type="string" depends_on="xtr_quickTouchOneColumns" value_group="FirstQuickTouchColumn" display_order="30" addon_id="">
<value>"Ask question"</value>
</property>
<property property_name="xtr_quickTouchSecondColumns" group_name="XenTR_quickTouch" title="Enable QuickTouch second th columns." description="" property_type="value" value_type="boolean" depends_on="xtr_enableQuickTouch" value_group="SecondQuickTouchColumn" display_order="90" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_quickTouchSecondColumnsButtonName" group_name="XenTR_quickTouch" title="Quick Touch second column button name" description="Here you can enter Quick Touch second column button name." property_type="value" value_type="string" depends_on="xtr_quickTouchSecondColumns" value_group="SecondQuickTouchColumn" display_order="140" addon_id="">
<value>"Test Button"</value>
</property>
<property property_name="xtr_quickTouchSecondColumnsButtonOpen" group_name="XenTR_quickTouch" title="Make a link open a new window" description="When your visitors click that link, it will open in a new window or tab (depending on which web browser they are using and how they configured that browser)." property_type="value" value_type="select" depends_on="xtr_quickTouchSecondColumns" value_group="SecondQuickTouchColumn" display_order="150" addon_id="">
<value_parameters>_blank=_blank _self=_self _parent=_parent _top=_top</value_parameters>
<value>"_blank"</value>
</property>
<property property_name="xtr_quickTouchSecondColumnsContent" group_name="XenTR_quickTouch" title="Quick Touch second column content" description="Here you can enter a content for the second column area." property_type="value" value_type="string" depends_on="xtr_quickTouchSecondColumns" value_group="SecondQuickTouchColumn" display_order="110" addon_id="">
<value_parameters>rows=3</value_parameters>
<value>"Answer Questions and Become an Expert on Your Topic"</value>
</property>
<property property_name="xtr_quickTouchSecondColumnsIcon" group_name="XenTR_quickTouch" title="Quick Touch second column icon" description="Here you can enter a icon definition for the second column field. </br>You'll find <a href="https://fontawesome.com/icons?d=gallery" target="_blank"> here </a>. Enter the fontawesome icon definition like this example: <b> fas fa-home </b>" property_type="value" value_type="string" depends_on="xtr_quickTouchSecondColumns" value_group="SecondQuickTouchColumn" display_order="120" addon_id="">
<value>"fas fa-comment-alt-dots"</value>
</property>
<property property_name="xtr_quickTouchSecondColumnsTitle" group_name="XenTR_quickTouch" title="Quick Touch Second Column Heading" description="Here you can enter a title for the second column area." property_type="value" value_type="string" depends_on="xtr_quickTouchSecondColumns" value_group="SecondQuickTouchColumn" display_order="100" addon_id="">
<value>"Answer"</value>
</property>
<property property_name="xtr_quickTouchSecondColumnsURL" group_name="XenTR_quickTouch" title="Quick Touch second column URL" description="Here you can enter a URL for the second column button." property_type="value" value_type="string" depends_on="xtr_quickTouchSecondColumns" value_group="SecondQuickTouchColumn" display_order="130" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_quickTouchShowAllPages" group_name="XenTR_quickTouch" title="Quick touch Show on all pages." description="If this option is enabled Quick Touch blocks display on all pages. You can disable this option if you want to display the quick touch blocks only on the main page." property_type="value" value_type="boolean" depends_on="xtr_enableQuickTouch" value_group="QuickTouchShowAllPage" display_order="10" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_quickTouchThirdColumns" group_name="XenTR_quickTouch" title="Enable QuickTouch third th columns." description="" property_type="value" value_type="boolean" depends_on="xtr_enableQuickTouch" value_group="ThirdQuickTouchColumn" display_order="160" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_quickTouchThirdColumnsButtonName" group_name="XenTR_quickTouch" title="Quick Touch third column button name" description="Here you can enter Quick Touch third column button name." property_type="value" value_type="string" depends_on="xtr_quickTouchThirdColumns" value_group="ThirdQuickTouchColumn" display_order="210" addon_id="">
<value>"Custom Button 3"</value>
</property>
<property property_name="xtr_quickTouchThirdColumnsButtonOpen" group_name="XenTR_quickTouch" title="Make a link open a new window" description="When your visitors click that link, it will open in a new window or tab (depending on which web browser they are using and how they configured that browser)." property_type="value" value_type="select" depends_on="xtr_quickTouchThirdColumns" value_group="ThirdQuickTouchColumn" display_order="220" addon_id="">
<value_parameters>_blank=_blank _self=_self _parent=_parent _top=_top</value_parameters>
<value>"_blank"</value>
</property>
<property property_name="xtr_quickTouchThirdColumnsContent" group_name="XenTR_quickTouch" title="Quick Touch third column content" description="Here you can enter a content for the third column area." property_type="value" value_type="string" depends_on="xtr_quickTouchThirdColumns" value_group="ThirdQuickTouchColumn" display_order="180" addon_id="">
<value_parameters>rows=3</value_parameters>
<value>"Our Experts are Ready to Answer your Questions"</value>
</property>
<property property_name="xtr_quickTouchThirdColumnsIcon" group_name="XenTR_quickTouch" title="Quick Touch third column icon" description="Here you can enter a icon definition for the third column field. </br>You'll find <a href="https://fontawesome.com/icons?d=gallery" target="_blank"> here </a>. Enter the fontawesome icon definition like this example: <b> fas fa-home </b>" property_type="value" value_type="string" depends_on="xtr_quickTouchThirdColumns" value_group="ThirdQuickTouchColumn" display_order="190" addon_id="">
<value>"fas fa-users-cog"</value>
</property>
<property property_name="xtr_quickTouchThirdColumnsTitle" group_name="XenTR_quickTouch" title="Quick Touch Third Column Heading" description="Here you can enter a title for the third column area." property_type="value" value_type="string" depends_on="xtr_quickTouchThirdColumns" value_group="ThirdQuickTouchColumn" display_order="170" addon_id="">
<value>"Contact Staff"</value>
</property>
<property property_name="xtr_quickTouchThirdColumnsURL" group_name="XenTR_quickTouch" title="Quick Touch third column URL" description="Here you can enter a URL for the third column button." property_type="value" value_type="string" depends_on="xtr_quickTouchThirdColumns" value_group="ThirdQuickTouchColumn" display_order="200" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_quick_touchBlock" group_name="XenTR_quickTouch" title="Quick touch style" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="0" css_components="text,background,border,padding,extra" addon_id="">
<value>{ "background-color": "@xf-contentBg" }</value>
</property>
<property property_name="xtr_quick_touchBlockBody" group_name="XenTR_quickTouch" title="Quick touch block body" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="10" css_components="text,background,padding,extra" addon_id="">
<value>{ "padding": "@xf-paddingLarge" }</value>
</property>
<property property_name="xtr_quick_touchBlockTitle" group_name="XenTR_quickTouch" title="Quick touch block title" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="20" css_components="text,border,border_radius,padding,extra" addon_id="">
<value>[]</value>
</property>
<property property_name="xtr_quick_touch_block_content" group_name="XenTR_quickTouch" title="Quick touch block content" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="30" css_components="text,border,padding,extra" addon_id="">
<value>{ "font-size": "@xf-fontSizeSmall", "padding-top": "@xf-paddingSmall", "padding-right": "0", "padding-bottom": "@xf-paddingSmall", "padding-left": "0", "extra": "margin: 0;" }</value>
</property>
<property property_name="xtr_quick_touch_block_first_button_color" group_name="XenTR_quickTouch" title="First column button color" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="50" css_components="text,background,border,border_radius,extra" addon_id="">
<value>{ "color": "#FFF", "background-color": "@xf-buttonBg", "border-width": "@xf-borderSize", "border-color": "@xf-borderColorFeature" }</value>
</property>
<property property_name="xtr_quick_touch_block_icon_style" group_name="XenTR_quickTouch" title="Quick touch block icon" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="40" css_components="text,background,border,border_radius,padding,extra" addon_id="">
<value>{ "font-size": "24px", "color": "rgb(255, 255, 255)" }</value>
</property>
<property property_name="xtr_quick_touch_block_second_button_color" group_name="XenTR_quickTouch" title="Second column button color" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="60" css_components="text,background,border,border_radius,extra" addon_id="">
<value>{ "color": "#FFF", "background-color": "@xf-successFeatureColor", "border-width": "@xf-borderSize", "border-color": "@xf-borderColorFeature" }</value>
</property>
<property property_name="xtr_quick_touch_block_third_button_color" group_name="XenTR_quickTouch" title="Third column button color" description="" property_type="css" value_type="" depends_on="" value_group="" display_order="70" css_components="text,background,border,border_radius,extra" addon_id="">
<value>{ "color": "#FFF", "background-color": "@xf-errorFeatureColor", "border-width": "@xf-borderSize", "border-color": "@xf-errorColor" }</value>
</property>
<property property_name="xtr_reddit" group_name="XenTR_social" title="Reddit URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="90" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_resourcemetaItem" group_name="xtr_resource_pages" title="Disable resource meta item" description="You can disable rating, download and update information here." property_type="value" value_type="boolean" depends_on="" value_group="ResourceExtraInfo" display_order="100" addon_id="XENTR/ResourcePages">
<value>0</value>
</property>
<property property_name="xtr_right_click" group_name="XenTR_settings" title="Enable Right Click" description="" property_type="value" value_type="boolean" depends_on="" value_group="RightClick" display_order="110" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_rss" group_name="XenTR_social" title="Enable RSS Feed button" description="Displays a link to the main RSS feed" property_type="value" value_type="boolean" depends_on="" value_group="SocialMedia" display_order="170" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_secondary_color" group_name="color" title="Secondary color" description="" property_type="value" value_type="color" depends_on="" value_group="CustomColor" display_order="10510" addon_id="">
<value>"rgb(201, 237, 255)"</value>
</property>
<property property_name="xtr_sidebarDisable" group_name="XenTR_sidebar" title="Disable sidebar" description="Close the sidebar." property_type="value" value_type="boolean" depends_on="" value_group="SidebarOptions" display_order="0" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_sidebarPosition" group_name="XenTR_sidebar" title="Sidebar Position" description="Allows you to change the location of the sidebar." property_type="value" value_type="radio" depends_on="" value_group="SidebarOptions" display_order="10" addon_id="">
<value_parameters>right=Right left=Left</value_parameters>
<value>"right"</value>
</property>
<property property_name="xtr_sidebar_icons" group_name="XenTR_settings" title="Enable sidebar icons?" description="This option is add the font-awesome icons to the sidebar." property_type="value" value_type="boolean" depends_on="" value_group="ForumIcons" display_order="30" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_social_breadcrumb" group_name="XenTR_social" title="Show social icons in breadcrumb" description="Make sure social URL's have been entered." property_type="value" value_type="boolean" depends_on="" value_group="SocialMediaBreadcrumb" display_order="10" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_steam" group_name="XenTR_social" title="Steam Community URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="60" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_stickySidebar" group_name="XenTR_sidebar" title="Enable sticky sidebar" description="" property_type="value" value_type="boolean" depends_on="" value_group="SidebarOptions" display_order="20" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_stickySidebarHeight" group_name="XenTR_sidebar" title="Sticky sidebar height" description="This feature enables the height of the adhesive sidebar to be activated." property_type="value" value_type="number" depends_on="" value_group="SidebarOptions" display_order="30" addon_id="">
<value_parameters>units={{ phrase('units_pixels') }}</value_parameters>
<value>"50"</value>
</property>
<property property_name="xtr_sticky_threads" group_name="XenTR_discussionList" title="Enable Separate sticky threads?" description="Normal and sticky threads are used to separate." property_type="value" value_type="boolean" depends_on="" value_group="StickyThreads" display_order="0" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_sticky_threads_height" group_name="XenTR_discussionList" title="Sticky threads height" description="Please enter a value to stick threads bar height." property_type="value" value_type="number" depends_on="xtr_sticky_threads" value_group="StickyThreads" display_order="30" addon_id="">
<value_parameters>units={{ phrase('units_pixels') }}</value_parameters>
<value>"30"</value>
</property>
<property property_name="xtr_sticky_threads_phrase" group_name="XenTR_discussionList" title="Sticky Threads Phrase" description="Please enter a phrase to separate." property_type="value" value_type="string" depends_on="xtr_sticky_threads" value_group="StickyThreads" display_order="10" addon_id="">
<value>"Sticky Threads"</value>
</property>
<property property_name="xtr_style_changer_icon" group_name="xtr_styleChanger" title="Select the style changer icon" description="Select the font-awwsome icon you want to display here" property_type="value" value_type="select" depends_on="" value_group="styleChangerMode" display_order="30" addon_id="XENTR/StyleChanger">
<value_parameters>fa-sun=Sun fa-adjust=Adjust fa-brush=Brush fa-fill=Fill fa-lightbulb=Lightbulb fa-moon=Moon fa-palette=Palette</value_parameters>
<value>"fa-lightbulb"</value>
</property>
<property property_name="xtr_style_changer_position" group_name="xtr_styleChanger" title="Select style changer position" description="Here you can specify the location for the style changer. Footer is selected by defaul" property_type="value" value_type="radio" depends_on="" value_group="StyleChangerPosition" display_order="20" addon_id="XENTR/StyleChanger">
<value_parameters>footer=Footer navigation=Navigation</value_parameters>
<value>"navigation"</value>
</property>
<property property_name="xtr_style_id" group_name="xtr_styleChanger" title="Style ID" description="Enter the style ID that you want to change here. You can enter <b>"0"</b> to override." property_type="value" value_type="number" depends_on="" value_group="StyleChanger" display_order="10" addon_id="XENTR/StyleChanger">
<value>"11"</value>
</property>
<property property_name="xtr_switcherBackgroundColor1" group_name="XenTR_messageBlock" title="Background color" description="" property_type="value" value_type="color" depends_on="xtr_live_background_picker_bg1" value_group="SwitcherBackground1" display_order="110" addon_id="">
<value>"@xf-paletteColor2"</value>
</property>
<property property_name="xtr_switcherBackgroundColor2" group_name="XenTR_messageBlock" title="Background color" description="" property_type="value" value_type="color" depends_on="xtr_live_background_picker_bg2" value_group="SwitcherBackground2" display_order="140" addon_id="">
<value>"@xf-paletteColor2"</value>
</property>
<property property_name="xtr_switcherBackgroundColor3" group_name="XenTR_messageBlock" title="Background color" description="" property_type="value" value_type="color" depends_on="xtr_live_background_picker_bg3" value_group="SwitcherBackground3" display_order="170" addon_id="">
<value>"@xf-paletteColor2"</value>
</property>
<property property_name="xtr_switcherBackgroundColor4" group_name="XenTR_messageBlock" title="Background color" description="" property_type="value" value_type="color" depends_on="xtr_live_background_picker_bg4" value_group="SwitcherBackground4" display_order="200" addon_id="">
<value>"@xf-paletteColor2"</value>
</property>
<property property_name="xtr_switcherBackgroundImage1" group_name="XenTR_messageBlock" title="Background Image (1)" description="" property_type="value" value_type="string" depends_on="xtr_live_background_picker_bg1" value_group="SwitcherBackground1" display_order="120" addon_id="">
<value>"@xf-xtr_filesPath/exclusive_dark/images/bg-chooser/01.jpg"</value>
</property>
<property property_name="xtr_switcherBackgroundImage2" group_name="XenTR_messageBlock" title="Background Image (2)" description="" property_type="value" value_type="string" depends_on="xtr_live_background_picker_bg2" value_group="SwitcherBackground2" display_order="150" addon_id="">
<value>"@xf-xtr_filesPath/exclusive_dark/images/bg-chooser/02.jpg"</value>
</property>
<property property_name="xtr_switcherBackgroundImage3" group_name="XenTR_messageBlock" title="Background Image (3)" description="" property_type="value" value_type="string" depends_on="xtr_live_background_picker_bg3" value_group="SwitcherBackground3" display_order="180" addon_id="">
<value>"@xf-xtr_filesPath/exclusive_dark/images/bg-chooser/03.jpg"</value>
</property>
<property property_name="xtr_switcherBackgroundImage4" group_name="XenTR_messageBlock" title="Background Image (4)" description="" property_type="value" value_type="string" depends_on="xtr_live_background_picker_bg4" value_group="SwitcherBackground4" display_order="210" addon_id="">
<value>"@xf-xtr_filesPath/exclusive_dark/images/bg-chooser/04.jpg"</value>
</property>
<property property_name="xtr_topBreadcrumb" group_name="XenTR_breadcrumb" title="Disable top breadcrumb" description="" property_type="value" value_type="boolean" depends_on="" value_group="" display_order="10" addon_id="">
<value>0</value>
</property>
<property property_name="xtr_tumblr" group_name="XenTR_social" title="Tumblr URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="140" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_twitch" group_name="XenTR_social" title="Twitch URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="70" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_twitter" group_name="XenTR_social" title="Twitter URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="30" addon_id="">
<value>"https://twitter.com/"</value>
</property>
<property property_name="xtr_user_info_block_sticky" group_name="XenTR_messages" title="Enable message user info block sticky" description="This feature fixes the user block in the message field." property_type="value" value_type="boolean" depends_on="" value_group="StickyUserInfo" display_order="20" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_vimeo" group_name="XenTR_social" title="Vimeo URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="110" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_visitor_menu_icon" group_name="XenTR_settings" title="Enable visitor menu icon?" description="After the user login, it adds font-awesome icons to the links in the menu area." property_type="value" value_type="boolean" depends_on="" value_group="ForumIcons" display_order="20" addon_id="">
<value>1</value>
</property>
<property property_name="xtr_visitor_tabs_position" group_name="XenTR_userBar" title="Visitor tabs location" description="The Header option applies only to the default and below navigation options." property_type="value" value_type="radio" depends_on="" value_group="VisitorTabsPosition" display_order="10" addon_id="">
<value_parameters>default=Default staff=Staff bar header=Header</value_parameters>
<value>"staff"</value>
</property>
<property property_name="xtr_vk" group_name="XenTR_social" title="VK URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="130" addon_id="">
<value>""</value>
</property>
<property property_name="xtr_wave_fill_background" group_name="XenTR_messageBlock" title="Message block wave fill background" description="This option is generally the body background color." property_type="css" value_type="" depends_on="" value_group="" display_order="70" css_components="background,extra" addon_id="">
<value>{ "background-color": "@xf-pageBg" }</value>
</property>
<property property_name="xtr_youtube" group_name="XenTR_social" title="Youtube URL" description="" property_type="value" value_type="string" depends_on="" value_group="SocialMedia" display_order="40" addon_id="">
<value>"https://www.youtube.com/"</value>
</property>
</properties>
</style>